Compare commits
59 Commits
develop
...
1.1.4+fork
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a4581dc61b | ||
|
|
50d4130b3f | ||
|
|
1147087531 | ||
|
|
4653a22635 | ||
|
|
e79501857f | ||
|
|
a8c05f6a32 | ||
|
|
c1d98cad00 | ||
|
|
fb54948f86 | ||
|
|
ca5f189e70 | ||
|
|
a70bd4f906 | ||
|
|
4adac359e3 | ||
|
|
9adaf12c00 | ||
|
|
8bbfa2e417 | ||
|
|
e1ca97f323 | ||
|
|
677621f2da | ||
|
|
d40138dd99 | ||
|
|
d957e8f2fc | ||
|
|
681c327306 | ||
|
|
80c9afec7b | ||
|
|
eea8041abe | ||
|
|
1309bfe1ee | ||
|
|
70d3ef9984 | ||
|
|
52ac5f16e5 | ||
|
|
ea43070e6d | ||
|
|
14cd23c28b | ||
|
|
793668021e | ||
|
|
f0ea6ef43e | ||
|
|
2b2e4845a1 | ||
|
|
2dccec99cc | ||
|
|
b060894a6c | ||
|
|
92872edb58 | ||
|
|
c5fcf49eda | ||
|
|
d66a4c0920 | ||
|
|
e8a31cf867 | ||
|
|
c1f9a88ef4 | ||
|
|
e6200e186b | ||
|
|
5564502125 | ||
|
|
7947e7689c | ||
|
|
b53ada7ea2 | ||
|
|
584f28534a | ||
|
|
770fde7aac | ||
|
|
3d7f918132 | ||
|
|
29b8cedc7c | ||
|
|
33b65c3bf3 | ||
|
|
34ab1bcd9c | ||
|
|
cfdc88174b | ||
|
|
15123d8924 | ||
|
|
20086d76ce | ||
|
|
1ca4fb5c37 | ||
|
|
009016a835 | ||
|
|
33dfb2a30d | ||
|
|
1604c067fd | ||
|
|
0c7419e2b3 | ||
|
|
7cf30ccb98 | ||
|
|
aa2c8c5624 | ||
|
|
875695c239 | ||
|
|
61049a1302 | ||
|
|
28db90aa82 | ||
|
|
f0e7fc5e3b |
3
.github/FUNDING.yml
vendored
@@ -1,9 +1,8 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||
github: LucasGGamerM
|
||||
patreon: # mastodon
|
||||
open_collective: # Replace with a single Open Collective username e.g., user1
|
||||
ko_fi: xsk22
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
liberapay: # Replace with a single Liberapay username e.g., user1
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
title: Megalodon
|
||||
title: Moshidon
|
||||
layout: default
|
||||
|
||||
@@ -9,8 +9,8 @@ android {
|
||||
applicationId "org.joinmastodon.android.moshinda"
|
||||
minSdk 23
|
||||
targetSdk 33
|
||||
versionCode 72
|
||||
versionName "1.1.4+fork.72.moshinda"
|
||||
versionCode 80
|
||||
versionName "1.1.4+fork.80.moshinda"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
resConfigs "ar-rSA", "be-rBY", "bn-rBD", "bs-rBA", "ca-rES", "cs-rCZ", "de-rDE", "el-rGR", "es-rES", "eu-rES", "fi-rFI", "fil-rPH", "fr-rFR", "ga-rIE", "gd-rGB", "gl-rES", "hi-rIN", "hr-rHR", "hu-rHU", "hy-rAM", "in-rID", "is-rIS", "it-rIT", "iw-rIL", "ja-rJP", "kab", "ko-rKR", "nl-rNL", "oc-rFR", "pl-rPL", "pt-rBR", "pt-rPT", "ro-rRO", "ru-rRU", "si-rLK", "sl-rSI", "sv-rSE", "th-rTH", "tr-rTR", "uk-rUA", "vi-rVN", "zh-rCN", "zh-rTW"
|
||||
}
|
||||
|
||||
@@ -61,6 +61,7 @@ public class GithubSelfUpdaterImpl extends GithubSelfUpdater{
|
||||
info=new UpdateInfo();
|
||||
info.version=prefs.getString("version", null);
|
||||
info.size=prefs.getLong("apkSize", 0);
|
||||
info.changelog=prefs.getString("changelog", null);
|
||||
downloadID=prefs.getLong("downloadID", 0);
|
||||
if(downloadID==0 || !getUpdateApkFile().exists()){
|
||||
state=UpdateState.UPDATE_AVAILABLE;
|
||||
@@ -84,6 +85,7 @@ public class GithubSelfUpdaterImpl extends GithubSelfUpdater{
|
||||
.remove("apkURL")
|
||||
.remove("checkedByBuild")
|
||||
.remove("downloadID")
|
||||
.remove("changelog")
|
||||
.apply();
|
||||
}
|
||||
}
|
||||
@@ -116,6 +118,7 @@ public class GithubSelfUpdaterImpl extends GithubSelfUpdater{
|
||||
Call call=MastodonAPIController.getHttpClient().newCall(req);
|
||||
try(Response resp=call.execute()){
|
||||
JsonObject obj=JsonParser.parseReader(resp.body().charStream()).getAsJsonObject();
|
||||
String changelog=obj.get("body").getAsString();
|
||||
String tag=obj.get("tag_name").getAsString();
|
||||
Pattern pattern=Pattern.compile("v?(\\d+)\\.(\\d+)\\.(\\d+)\\+fork\\.(\\d+)");
|
||||
Matcher matcher=pattern.matcher(tag);
|
||||
@@ -151,6 +154,7 @@ public class GithubSelfUpdaterImpl extends GithubSelfUpdater{
|
||||
UpdateInfo info=new UpdateInfo();
|
||||
info.size=size;
|
||||
info.version=version;
|
||||
info.changelog=changelog;
|
||||
this.info=info;
|
||||
|
||||
getPrefs().edit()
|
||||
@@ -158,6 +162,7 @@ public class GithubSelfUpdaterImpl extends GithubSelfUpdater{
|
||||
.putString("version", version)
|
||||
.putString("apkURL", url)
|
||||
.putInt("checkedByBuild", BuildConfig.VERSION_CODE)
|
||||
.putString("changelog", changelog)
|
||||
.remove("downloadID")
|
||||
.apply();
|
||||
|
||||
|
||||
@@ -26,7 +26,10 @@ public class GlobalUserPreferences{
|
||||
public static boolean alwaysExpandContentWarnings;
|
||||
public static boolean disableMarquee;
|
||||
public static boolean disableSwipe;
|
||||
public static boolean disableDividers;
|
||||
public static boolean voteButtonForSingleChoice;
|
||||
public static boolean showDifferentiatedPushNoticationIcons;
|
||||
public static boolean relocatePublishButton;
|
||||
public static ThemePreference theme;
|
||||
public static ColorPreference color;
|
||||
|
||||
@@ -50,11 +53,14 @@ public class GlobalUserPreferences{
|
||||
showReplies=prefs.getBoolean("showReplies", true);
|
||||
showBoosts=prefs.getBoolean("showBoosts", true);
|
||||
loadNewPosts=prefs.getBoolean("loadNewPosts", true);
|
||||
showDifferentiatedPushNoticationIcons=prefs.getBoolean("showDifferentiatedPushNoticationIcons", false);
|
||||
showFederatedTimeline=prefs.getBoolean("showFederatedTimeline", !BuildConfig.BUILD_TYPE.equals("playRelease"));
|
||||
showInteractionCounts=prefs.getBoolean("showInteractionCounts", false);
|
||||
alwaysExpandContentWarnings=prefs.getBoolean("alwaysExpandContentWarnings", false);
|
||||
disableMarquee=prefs.getBoolean("disableMarquee", false);
|
||||
disableSwipe=prefs.getBoolean("disableSwipe", false);
|
||||
disableDividers=prefs.getBoolean("disableDividers", true);
|
||||
relocatePublishButton=prefs.getBoolean("relocatePublishButton", true);
|
||||
voteButtonForSingleChoice=prefs.getBoolean("voteButtonForSingleChoice", true);
|
||||
theme=ThemePreference.values()[prefs.getInt("theme", 0)];
|
||||
recentLanguages=fromJson(prefs.getString("recentLanguages", "{}"), recentLanguagesType, new HashMap<>());
|
||||
@@ -63,7 +69,7 @@ public class GlobalUserPreferences{
|
||||
if(android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.S){
|
||||
color=ColorPreference.valueOf(prefs.getString("color", ColorPreference.MATERIAL3.name()));
|
||||
}else{
|
||||
color=ColorPreference.PURPLE;
|
||||
color=ColorPreference.valueOf(prefs.getString("color", ColorPreference.PURPLE.name()));
|
||||
}
|
||||
} catch (IllegalArgumentException|ClassCastException ignored) {
|
||||
// invalid color name or color was previously saved as integer
|
||||
@@ -84,6 +90,9 @@ public class GlobalUserPreferences{
|
||||
.putBoolean("alwaysExpandContentWarnings", alwaysExpandContentWarnings)
|
||||
.putBoolean("disableMarquee", disableMarquee)
|
||||
.putBoolean("disableSwipe", disableSwipe)
|
||||
.putBoolean("disableDividers", disableDividers)
|
||||
.putBoolean("relocatePublishButton", relocatePublishButton)
|
||||
.putBoolean("showDifferentiatedPushNoticationIcons", showDifferentiatedPushNoticationIcons)
|
||||
.putInt("theme", theme.ordinal())
|
||||
.putString("color", color.name())
|
||||
.putString("recentLanguages", gson.toJson(recentLanguages))
|
||||
@@ -98,7 +107,8 @@ public class GlobalUserPreferences{
|
||||
BLUE,
|
||||
BROWN,
|
||||
RED,
|
||||
YELLOW
|
||||
YELLOW,
|
||||
NORD
|
||||
}
|
||||
|
||||
public enum ThemePreference{
|
||||
|
||||
@@ -143,14 +143,19 @@ public class PushNotificationReceiver extends BroadcastReceiver{
|
||||
.setCategory(Notification.CATEGORY_SOCIAL)
|
||||
.setAutoCancel(true)
|
||||
.setColor(context.getColor(R.color.shortcut_icon_background));
|
||||
switch (pn.notificationType) {
|
||||
case FAVORITE -> builder.setSmallIcon(R.drawable.ic_fluent_star_24_filled);
|
||||
case REBLOG -> builder.setSmallIcon(R.drawable.ic_fluent_arrow_repeat_all_24_filled);
|
||||
case FOLLOW -> builder.setSmallIcon(R.drawable.ic_fluent_person_add_24_filled);
|
||||
case MENTION -> builder.setSmallIcon(R.drawable.ic_fluent_mention_24_filled);
|
||||
case POLL -> builder.setSmallIcon(R.drawable.ic_fluent_poll_24_filled);
|
||||
default -> builder.setSmallIcon(R.drawable.ic_ntf_logo);
|
||||
if(GlobalUserPreferences.showDifferentiatedPushNoticationIcons){
|
||||
switch (pn.notificationType) {
|
||||
case FAVORITE -> builder.setSmallIcon(R.drawable.ic_fluent_star_24_filled);
|
||||
case REBLOG -> builder.setSmallIcon(R.drawable.ic_fluent_arrow_repeat_all_24_filled);
|
||||
case FOLLOW -> builder.setSmallIcon(R.drawable.ic_fluent_person_add_24_filled);
|
||||
case MENTION -> builder.setSmallIcon(R.drawable.ic_fluent_mention_24_filled);
|
||||
case POLL -> builder.setSmallIcon(R.drawable.ic_fluent_poll_24_filled);
|
||||
default -> builder.setSmallIcon(R.drawable.ic_ntf_logo);
|
||||
}
|
||||
}else{
|
||||
builder.setSmallIcon(R.drawable.ic_ntf_logo);
|
||||
}
|
||||
|
||||
if(avatar!=null){
|
||||
builder.setLargeIcon(UiUtils.getBitmapFromDrawable(avatar));
|
||||
}
|
||||
|
||||
@@ -675,7 +675,7 @@ public abstract class BaseStatusListFragment<T extends DisplayItemsParent> exten
|
||||
private int currentMediaHiddenLayoutsWidth=0;
|
||||
|
||||
{
|
||||
dividerPaint.setColor(UiUtils.getThemeColor(getActivity(), R.attr.colorPollVoted));
|
||||
dividerPaint.setColor(UiUtils.getThemeColor(getActivity(), GlobalUserPreferences.disableDividers ? R.attr.colorWindowBackground : R.attr.colorPollVoted));
|
||||
dividerPaint.setStyle(Paint.Style.STROKE);
|
||||
dividerPaint.setStrokeWidth(V.dp(1));
|
||||
}
|
||||
|
||||
@@ -299,6 +299,13 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
|
||||
sensitiveItem=view.findViewById(R.id.sensitive_item);
|
||||
replyText=view.findViewById(R.id.reply_text);
|
||||
|
||||
if(GlobalUserPreferences.relocatePublishButton){
|
||||
publishButton=view.findViewById(R.id.publish);
|
||||
publishButton.setText(editingStatus==null || redraftStatus ? R.string.publish : R.string.save);
|
||||
publishButton.setOnClickListener(this::onPublishClick);
|
||||
publishButton.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
mediaBtn.setOnClickListener(v->openFilePicker());
|
||||
pollBtn.setOnClickListener(v->togglePoll());
|
||||
emojiBtn.setOnClickListener(v->emojiKeyboard.toggleKeyboardPopup(mainEditText));
|
||||
@@ -632,9 +639,11 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
|
||||
|
||||
@Override
|
||||
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater){
|
||||
publishButton=new Button(getActivity());
|
||||
publishButton.setText(editingStatus==null || redraftStatus ? R.string.publish : R.string.save);
|
||||
publishButton.setOnClickListener(this::onPublishClick);
|
||||
if(!GlobalUserPreferences.relocatePublishButton){
|
||||
publishButton=new Button(getActivity());
|
||||
publishButton.setText(editingStatus==null || redraftStatus ? R.string.publish : R.string.save);
|
||||
publishButton.setOnClickListener(this::onPublishClick);
|
||||
}
|
||||
LinearLayout wrap=new LinearLayout(getActivity());
|
||||
wrap.setOrientation(LinearLayout.HORIZONTAL);
|
||||
|
||||
@@ -657,7 +666,10 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
|
||||
langParams.setMarginEnd(V.dp(8));
|
||||
wrap.addView(buildLanguageSelector(), langParams);
|
||||
|
||||
wrap.addView(publishButton, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
|
||||
if(!GlobalUserPreferences.relocatePublishButton){
|
||||
wrap.addView(publishButton, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
|
||||
}
|
||||
|
||||
wrap.setPadding(V.dp(16), V.dp(4), V.dp(16), V.dp(8));
|
||||
wrap.setClipToPadding(false);
|
||||
MenuItem item=menu.add(editingStatus==null ? R.string.publish : R.string.save);
|
||||
|
||||
@@ -9,6 +9,7 @@ import android.graphics.Canvas;
|
||||
import android.graphics.Rect;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
@@ -50,7 +51,6 @@ import org.joinmastodon.android.ui.utils.UiUtils;
|
||||
import org.joinmastodon.android.updater.GithubSelfUpdater;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import androidx.annotation.DrawableRes;
|
||||
@@ -102,7 +102,25 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
GlobalUserPreferences.disableMarquee=i.checked;
|
||||
GlobalUserPreferences.save();
|
||||
}));
|
||||
items.add(new ColorPicker());
|
||||
items.add(new ButtonItem(R.string.sk_settings_color_palette, R.drawable.ic_fluent_color_24_regular, b->{
|
||||
PopupMenu popupMenu=new PopupMenu(getActivity(), b, Gravity.CENTER_HORIZONTAL);
|
||||
popupMenu.inflate(R.menu.color_palettes);
|
||||
popupMenu.getMenu().findItem(R.id.m3_color).setVisible(Build.VERSION.SDK_INT >= Build.VERSION_CODES.S);
|
||||
popupMenu.setOnMenuItemClickListener(SettingsFragment.this::onColorPreferenceClick);
|
||||
b.setOnTouchListener(popupMenu.getDragToOpenListener());
|
||||
b.setOnClickListener(v->popupMenu.show());
|
||||
b.setText(switch(GlobalUserPreferences.color){
|
||||
case MATERIAL3 -> R.string.sk_color_palette_material3;
|
||||
case PINK -> R.string.sk_color_palette_pink;
|
||||
case PURPLE -> R.string.sk_color_palette_purple;
|
||||
case GREEN -> R.string.sk_color_palette_green;
|
||||
case BLUE -> R.string.sk_color_palette_blue;
|
||||
case BROWN -> R.string.sk_color_palette_brown;
|
||||
case RED -> R.string.sk_color_palette_red;
|
||||
case YELLOW -> R.string.sk_color_palette_yellow;
|
||||
case NORD -> R.string.sk_color_palette_nord;
|
||||
});
|
||||
}));
|
||||
|
||||
items.add(new HeaderItem(R.string.settings_behavior));
|
||||
items.add(new SwitchItem(R.string.settings_gif, R.drawable.ic_fluent_gif_24_regular, GlobalUserPreferences.playGifs, i->{
|
||||
@@ -126,6 +144,16 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
GlobalUserPreferences.save();
|
||||
needAppRestart=true;
|
||||
}));
|
||||
items.add(new SwitchItem(R.string.sk_settings_show_differentiated_notification_icons, R.drawable.ic_fluent_earth_24_regular, GlobalUserPreferences.showDifferentiatedPushNoticationIcons, this::onNotificationStyleChanged));
|
||||
items.add(new SwitchItem(R.string.sk_disable_dividers, R.drawable.ic_fluent_timeline_24_regular, GlobalUserPreferences.disableDividers, i->{
|
||||
GlobalUserPreferences.disableDividers=i.checked;
|
||||
GlobalUserPreferences.save();
|
||||
needAppRestart=true;
|
||||
}));
|
||||
items.add(new SwitchItem(R.string.sk_relocate_publish_button, R.drawable.ic_fluent_arrow_autofit_down_24_regular, GlobalUserPreferences.relocatePublishButton, i->{
|
||||
GlobalUserPreferences.relocatePublishButton=i.checked;
|
||||
GlobalUserPreferences.save();
|
||||
}));
|
||||
|
||||
items.add(new HeaderItem(R.string.home_timeline));
|
||||
items.add(new SwitchItem(R.string.sk_settings_show_replies, R.drawable.ic_fluent_chat_multiple_24_regular, GlobalUserPreferences.showReplies, i->{
|
||||
@@ -166,6 +194,7 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
items.add(checkForUpdateItem);
|
||||
}
|
||||
items.add(new TextItem(R.string.sk_settings_contribute, ()->UiUtils.launchWebBrowser(getActivity(), "https://github.com/LucasGGamerM/moshidon")));
|
||||
items.add(new TextItem(R.string.sk_settings_donate, ()->UiUtils.launchWebBrowser(getActivity(), "https://github.com/sponsors/LucasGGamerM"), R.drawable.ic_fluent_heart_24_regular));
|
||||
items.add(new TextItem(R.string.settings_clear_cache, this::clearImageCache));
|
||||
items.add(new TextItem(R.string.sk_clear_recent_languages, ()->UiUtils.showConfirmationAlert(getActivity(), R.string.sk_clear_recent_languages, R.string.sk_confirm_clear_recent_languages, R.string.clear, ()->{
|
||||
GlobalUserPreferences.recentLanguages.remove(accountID);
|
||||
@@ -248,13 +277,29 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
restartActivityToApplyNewTheme();
|
||||
}
|
||||
|
||||
private void onColorPreferenceClick(GlobalUserPreferences.ColorPreference color){
|
||||
private boolean onColorPreferenceClick(MenuItem item){
|
||||
ColorPreference pref = null;
|
||||
int id = item.getItemId();
|
||||
|
||||
GlobalUserPreferences.color=color;
|
||||
if (id == R.id.m3_color) pref = ColorPreference.MATERIAL3;
|
||||
else if (id == R.id.pink_color) pref = ColorPreference.PINK;
|
||||
else if (id == R.id.purple_color) pref = ColorPreference.PURPLE;
|
||||
else if (id == R.id.green_color) pref = ColorPreference.GREEN;
|
||||
else if (id == R.id.blue_color) pref = ColorPreference.BLUE;
|
||||
else if (id == R.id.brown_color) pref = ColorPreference.BROWN;
|
||||
else if (id == R.id.red_color) pref = ColorPreference.RED;
|
||||
else if (id == R.id.yellow_color) pref = ColorPreference.YELLOW;
|
||||
else if (id == R.id.nord_color) pref = ColorPreference.NORD;
|
||||
|
||||
if (pref == null) return false;
|
||||
|
||||
GlobalUserPreferences.color=pref;
|
||||
GlobalUserPreferences.save();
|
||||
restartActivityToApplyNewTheme();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
private void onTrueBlackThemeChanged(SwitchItem item){
|
||||
GlobalUserPreferences.trueBlackTheme=item.checked;
|
||||
GlobalUserPreferences.save();
|
||||
@@ -319,6 +364,12 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
needUpdateNotificationSettings=true;
|
||||
}
|
||||
|
||||
private void onNotificationStyleChanged(SwitchItem item){
|
||||
GlobalUserPreferences.showDifferentiatedPushNoticationIcons=item.checked;
|
||||
GlobalUserPreferences.save();
|
||||
}
|
||||
|
||||
|
||||
private void onNotificationsPolicyChanged(PushSubscription.Policy policy){
|
||||
PushSubscription subscription=getPushSubscription();
|
||||
PushSubscription.Policy prevPolicy=subscription.policy;
|
||||
@@ -458,6 +509,23 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
}
|
||||
}
|
||||
|
||||
public class ButtonItem extends Item{
|
||||
private int text;
|
||||
private int icon;
|
||||
private Consumer<Button> buttonConsumer;
|
||||
|
||||
public ButtonItem(@StringRes int text, @DrawableRes int icon, Consumer<Button> buttonConsumer) {
|
||||
this.text = text;
|
||||
this.icon = icon;
|
||||
this.buttonConsumer = buttonConsumer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getViewType(){
|
||||
return 8;
|
||||
}
|
||||
}
|
||||
|
||||
public class ColorPicker extends Item{
|
||||
@Override
|
||||
public int getViewType(){
|
||||
@@ -485,15 +553,25 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
private String text;
|
||||
private Runnable onClick;
|
||||
private boolean loading;
|
||||
private int icon;
|
||||
|
||||
public TextItem(@StringRes int text, Runnable onClick) {
|
||||
this(text, onClick, false);
|
||||
this(text, onClick, false, 0);
|
||||
}
|
||||
|
||||
public TextItem(@StringRes int text, Runnable onClick, boolean loading){
|
||||
public TextItem(@StringRes int text, Runnable onClick, boolean loading) {
|
||||
this(text, onClick, loading, 0);
|
||||
}
|
||||
|
||||
public TextItem(@StringRes int text, Runnable onClick, @DrawableRes int icon) {
|
||||
this(text, onClick, false, icon);
|
||||
}
|
||||
|
||||
public TextItem(@StringRes int text, Runnable onClick, boolean loading, @DrawableRes int icon){
|
||||
this.text=getString(text);
|
||||
this.onClick=onClick;
|
||||
this.loading=loading;
|
||||
this.icon=icon;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -549,7 +627,7 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
case 5 -> new HeaderViewHolder(true);
|
||||
case 6 -> new FooterViewHolder();
|
||||
case 7 -> new UpdateViewHolder();
|
||||
case 8 -> new ColorPickerViewHolder();
|
||||
case 8 -> new ButtonViewHolder();
|
||||
default -> throw new IllegalStateException("Unexpected value: "+viewType);
|
||||
};
|
||||
}
|
||||
@@ -678,78 +756,25 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
}
|
||||
}
|
||||
}
|
||||
private class ColorPickerViewHolder extends BindableViewHolder<ColorPicker>{
|
||||
|
||||
private class ButtonViewHolder extends BindableViewHolder<ButtonItem>{
|
||||
private final Button button;
|
||||
private final PopupMenu popupMenu;
|
||||
private final ImageView icon;
|
||||
private final TextView text;
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
public ColorPickerViewHolder(){
|
||||
super(getActivity(), R.layout.item_settings_color_picker, list);
|
||||
public ButtonViewHolder(){
|
||||
super(getActivity(), R.layout.item_settings_button, list);
|
||||
text=findViewById(R.id.text);
|
||||
icon=findViewById(R.id.icon);
|
||||
button=findViewById(R.id.color_picker_button);
|
||||
popupMenu=new PopupMenu(getActivity(), button, Gravity.CENTER_HORIZONTAL);
|
||||
popupMenu.inflate(R.menu.color_picker);
|
||||
popupMenu.setOnMenuItemClickListener(item->{
|
||||
GlobalUserPreferences.ColorPreference pref;
|
||||
int id=item.getItemId();
|
||||
if(id==R.id.pink_color) {
|
||||
pref = GlobalUserPreferences.ColorPreference.PINK;
|
||||
onColorPreferenceClick(pref);
|
||||
}
|
||||
else if(id==R.id.purple_color) {
|
||||
pref = GlobalUserPreferences.ColorPreference.PURPLE;
|
||||
onColorPreferenceClick(pref);
|
||||
}
|
||||
else if(id==R.id.green_color) {
|
||||
pref = GlobalUserPreferences.ColorPreference.GREEN;
|
||||
onColorPreferenceClick(pref);
|
||||
}
|
||||
else if(id==R.id.blue_color) {
|
||||
pref = GlobalUserPreferences.ColorPreference.BLUE;
|
||||
onColorPreferenceClick(pref);
|
||||
}
|
||||
else if(id==R.id.orange_color) {
|
||||
pref = ColorPreference.BROWN;
|
||||
onColorPreferenceClick(pref);
|
||||
}
|
||||
else if(id==R.id.yellow_color) {
|
||||
pref = GlobalUserPreferences.ColorPreference.YELLOW;
|
||||
onColorPreferenceClick(pref);
|
||||
}
|
||||
else if(id==R.id.red_color) {
|
||||
pref = GlobalUserPreferences.ColorPreference.RED;
|
||||
onColorPreferenceClick(pref);
|
||||
}
|
||||
else if(id==R.id.m3_color) {
|
||||
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||
pref = GlobalUserPreferences.ColorPreference.MATERIAL3;
|
||||
onColorPreferenceClick(pref);
|
||||
}
|
||||
}
|
||||
else
|
||||
return false;
|
||||
return true;
|
||||
});
|
||||
// UiUtils.enablePopupMenuIcons(getActivity(), popupMenu);
|
||||
popupMenu.getMenu().findItem(R.id.m3_color).setVisible(Build.VERSION.SDK_INT >= Build.VERSION_CODES.S);
|
||||
button.setOnTouchListener(popupMenu.getDragToOpenListener());
|
||||
button.setOnClickListener(v->popupMenu.show());
|
||||
button=findViewById(R.id.button);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBind(ColorPicker item){
|
||||
icon.setImageResource(R.drawable.ic_fluent_color_24_regular);
|
||||
button.setText(switch(GlobalUserPreferences.color){
|
||||
case PINK -> R.string.sk_color_palette_pink;
|
||||
case PURPLE -> R.string.sk_color_palette_purple;
|
||||
case GREEN -> R.string.sk_color_palette_green;
|
||||
case BLUE -> R.string.sk_color_palette_blue;
|
||||
case BROWN -> R.string.sk_color_palette_brown;
|
||||
case YELLOW -> R.string.sk_color_palette_yellow;
|
||||
case RED -> R.string.sk_color_palette_red;
|
||||
case MATERIAL3 -> R.string.sk_color_palette_material3;
|
||||
});
|
||||
public void onBind(ButtonItem item){
|
||||
text.setText(item.text);
|
||||
icon.setImageResource(item.icon);
|
||||
item.buttonConsumer.accept(button);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -799,17 +824,20 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
private class TextViewHolder extends BindableViewHolder<TextItem> implements UsableRecyclerView.Clickable{
|
||||
private final TextView text;
|
||||
private final ProgressBar progress;
|
||||
private final ImageView icon;
|
||||
|
||||
public TextViewHolder(){
|
||||
super(getActivity(), R.layout.item_settings_text, list);
|
||||
text = itemView.findViewById(R.id.text);
|
||||
progress = itemView.findViewById(R.id.progress);
|
||||
icon = itemView.findViewById(R.id.icon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBind(TextItem item){
|
||||
text.setText(item.text);
|
||||
progress.animate().alpha(item.loading ? 1 : 0);
|
||||
if (item.icon != 0) icon.setImageDrawable(getActivity().getTheme().getDrawable(item.icon));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -833,7 +861,7 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
|
||||
private class UpdateViewHolder extends BindableViewHolder<UpdateItem>{
|
||||
|
||||
private final TextView text;
|
||||
private final TextView text, changelog;
|
||||
private final Button button;
|
||||
private final ImageButton cancelBtn;
|
||||
private final ProgressBar progress;
|
||||
@@ -844,6 +872,7 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
public UpdateViewHolder(){
|
||||
super(getActivity(), R.layout.item_settings_update, list);
|
||||
text=findViewById(R.id.text);
|
||||
changelog=findViewById(R.id.changelog);
|
||||
button=findViewById(R.id.button);
|
||||
cancelBtn=findViewById(R.id.cancel_btn);
|
||||
progress=findViewById(R.id.progress);
|
||||
@@ -887,6 +916,8 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
||||
progress.setVisibility(View.GONE);
|
||||
progress.removeCallbacks(progressUpdater);
|
||||
}
|
||||
changelog.setText(info.changelog);
|
||||
// changelog.setText(getString(R.string.sk_changelog, info.changelog));
|
||||
}
|
||||
|
||||
private void updateProgress(){
|
||||
|
||||
@@ -25,7 +25,8 @@ public class ColorPalette {
|
||||
ColorPreference.BLUE, new ColorPalette(R.style.ColorPalette_Blue),
|
||||
ColorPreference.BROWN, new ColorPalette(R.style.ColorPalette_Brown),
|
||||
ColorPreference.RED, new ColorPalette(R.style.ColorPalette_Red),
|
||||
ColorPreference.YELLOW, new ColorPalette(R.style.ColorPalette_Yellow)
|
||||
ColorPreference.YELLOW, new ColorPalette(R.style.ColorPalette_Yellow),
|
||||
ColorPreference.NORD, new ColorPalette(R.style.ColorPalette_Nord)
|
||||
);
|
||||
|
||||
private @StyleRes int base;
|
||||
|
||||
@@ -50,6 +50,7 @@ public abstract class GithubSelfUpdater{
|
||||
}
|
||||
|
||||
public static class UpdateInfo{
|
||||
public String changelog;
|
||||
public String version;
|
||||
public long size;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="@color/bookmark_selected" android:state_selected="true"/>
|
||||
<item android:color="?bookmark_selected" android:state_selected="true"/>
|
||||
<item android:color="?android:textColorSecondary"/>
|
||||
</selector>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="@color/favorite_selected" android:state_selected="true"/>
|
||||
<item android:color="?favorite_selected" android:state_selected="true"/>
|
||||
<item android:color="?android:textColorSecondary"/>
|
||||
</selector>
|
||||
@@ -0,0 +1,3 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24" android:viewportHeight="24">
|
||||
<path android:pathData="M13.22 17.219c-0.267 0.266-0.29 0.683-0.073 0.976l0.073 0.084 2.367 2.37C15.713 20.859 15.963 21 16.251 21c0.252 0 0.475-0.109 0.611-0.276l0.053-0.075 2.367-2.37 0.073-0.084c0.193-0.26 0.196-0.619 0.007-0.882l-0.08-0.094-0.084-0.073c-0.261-0.193-0.62-0.196-0.883-0.007l-0.094 0.08L17 18.44V3.656l-0.007-0.089C16.943 3.247 16.63 3 16.25 3s-0.694 0.247-0.743 0.567L15.5 3.657V18.44l-1.22-1.221-0.084-0.073c-0.293-0.218-0.71-0.193-0.976 0.073zm-6.97 2.789C5.007 20.008 4 19 4 17.758v-11.5c0-1.243 1.007-2.25 2.25-2.25h6c0.414 0 0.75 0.336 0.75 0.75s-0.336 0.75-0.75 0.75h-6c-0.414 0-0.75 0.336-0.75 0.75v11.5c0 0.414 0.336 0.75 0.75 0.75h4c0.414 0 0.75 0.336 0.75 0.75s-0.336 0.75-0.75 0.75h-4z" android:fillColor="@color/fluent_default_icon_tint"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,3 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24" android:viewportHeight="24">
|
||||
<path android:pathData="M7.47 12.28l0.084 0.073c0.294 0.218 0.71 0.193 0.977-0.073l2.72-2.72v6.69l0.007 0.102C11.308 16.718 11.62 17 12 17l0.101-0.006c0.367-0.05 0.649-0.364 0.649-0.744V9.56l2.72 2.722 0.084 0.072c0.294 0.218 0.71 0.194 0.977-0.072 0.293-0.293 0.293-0.768 0-1.06l-4-4.002-0.084-0.073c-0.294-0.218-0.71-0.194-0.977 0.073l-4 4-0.073 0.085c-0.218 0.293-0.194 0.71 0.072 0.976zM22.001 12c0-5.523-4.477-10-10-10s-10 4.477-10 10 4.477 10 10 10 10-4.477 10-10zm-18.5 0c0-4.694 3.806-8.5 8.5-8.5s8.5 3.806 8.5 8.5-3.806 8.5-8.5 8.5-8.5-3.806-8.5-8.5z" android:fillColor="@color/fluent_default_icon_tint"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,3 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24" android:viewportHeight="24">
|
||||
<path android:pathData="M12.82 5.58l-0.821 0.822-0.823-0.823c-2.1-2.1-5.503-2.1-7.602 0-2.099 2.099-2.099 5.502 0 7.601l7.896 7.896c0.293 0.293 0.767 0.293 1.06 0l7.902-7.897c2.094-2.106 2.098-5.5-0.002-7.6-2.103-2.102-5.507-2.102-7.61 0zm6.548 6.541L12 19.485 4.635 12.12c-1.513-1.514-1.513-3.967 0-5.48 1.513-1.514 3.967-1.514 5.48 0l1.357 1.357c0.298 0.298 0.783 0.292 1.074-0.013L13.88 6.64c1.517-1.517 3.973-1.517 5.49 0 1.513 1.514 1.51 3.96-0.002 5.481z" android:fillColor="@color/fluent_default_icon_tint"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,3 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24" android:viewportHeight="24">
|
||||
<path android:pathData="M15.25 13c0.967 0 1.75 0.784 1.75 1.75v4.5c0 0.966-0.783 1.75-1.75 1.75H3.75C2.785 21 2 20.216 2 19.25v-4.5C2 13.784 2.785 13 3.75 13h11.5zM21 14.899v5.351c0 0.414-0.335 0.75-0.75 0.75-0.38 0-0.693-0.282-0.743-0.648L19.5 20.25v-5.338C19.732 14.969 19.975 15 20.226 15c0.268 0 0.527-0.035 0.775-0.101zM15.25 14.5H3.75c-0.138 0-0.25 0.112-0.25 0.25v4.5c0 0.138 0.112 0.25 0.25 0.25h11.5c0.139 0 0.25-0.112 0.25-0.25v-4.5c0-0.138-0.111-0.25-0.25-0.25zm5-4.408c1.054 0 1.908 0.854 1.908 1.908 0 1.054-0.854 1.908-1.908 1.908-1.053 0-1.908-0.854-1.908-1.908 0-1.054 0.855-1.908 1.908-1.908zM15.246 3c0.967 0 1.75 0.784 1.75 1.75v4.5c0 0.966-0.783 1.75-1.75 1.75h-11.5c-0.966 0-1.75-0.784-1.75-1.75v-4.5c0-0.918 0.707-1.671 1.607-1.744L3.746 3h11.5zm0 1.5h-11.5L3.69 4.507C3.579 4.533 3.496 4.632 3.496 4.75v4.5c0 0.138 0.112 0.25 0.25 0.25h11.5c0.138 0 0.25-0.112 0.25-0.25v-4.5c0-0.138-0.112-0.25-0.25-0.25zM20.25 3c0.38 0 0.694 0.282 0.744 0.648L21 3.75v5.351C20.754 9.035 20.495 9 20.227 9c-0.25 0-0.494 0.03-0.726 0.088V3.75C19.5 3.336 19.836 3 20.25 3z" android:fillColor="@color/fluent_default_icon_tint"/>
|
||||
</vector>
|
||||
@@ -316,6 +316,14 @@
|
||||
android:textColor="?android:textColorSecondary"
|
||||
tools:text="500"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/publish"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</org.joinmastodon.android.ui.views.SizeListenerLinearLayout>
|
||||
46
mastodon/src/main/res/layout/item_settings_button.xml
Normal file
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="48dp"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:gravity="center_vertical"
|
||||
android:layoutDirection="locale">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginEnd="32dp"
|
||||
android:importantForAccessibility="no"
|
||||
android:tint="?android:textColorPrimary"
|
||||
tools:src="@drawable/ic_fluent_color_24_regular"/>
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:gravity="center_vertical"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/bg_inline_button"
|
||||
android:elevation="0dp"
|
||||
android:ellipsize="middle"
|
||||
android:fontFamily="sans-serif-medium"
|
||||
android:singleLine="true"
|
||||
android:stateListAnimator="@null"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="16sp"
|
||||
tools:text="@string/sk_color_palette_pink" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -2,23 +2,22 @@
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="horizontal"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="48dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:layoutDirection="locale">
|
||||
<TextView
|
||||
android:id="@+id/text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="48dp"
|
||||
android:paddingRight="16dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="48dp"
|
||||
android:paddingVertical="8dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:gravity="center_vertical"
|
||||
android:textSize="16sp"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="end"
|
||||
tools:text="Account settings"/>
|
||||
<ProgressBar
|
||||
android:id="@+id/progress"
|
||||
@@ -27,4 +26,8 @@
|
||||
android:layout_gravity="center"
|
||||
android:alpha="0"
|
||||
/>
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
</LinearLayout>
|
||||
@@ -7,69 +7,97 @@
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="64dp"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingStart="16dp"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/bg_settings_update"
|
||||
android:orientation="horizontal">
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_settings_update"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="64dp"
|
||||
android:orientation="horizontal"
|
||||
android:paddingStart="16dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:layout_weight="1"
|
||||
android:textAppearance="@style/m3_body_medium"
|
||||
tools:text="@string/sk_update_available" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<Button
|
||||
android:id="@+id/button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical|end"
|
||||
android:background="?android:selectableItemBackground"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:stateListAnimator="@null"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textSize="14dp"
|
||||
tools:text="@string/install_update" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/cancel_btn"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_gravity="end|center_vertical"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:background="@drawable/bg_update_download_progress"
|
||||
android:contentDescription="@string/cancel"
|
||||
android:src="@drawable/ic_fluent_dismiss_16_filled"
|
||||
android:tint="?colorSearchHint"
|
||||
android:visibility="gone" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progress"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_gravity="end|center_vertical"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:indeterminate="false"
|
||||
android:indeterminateOnly="false"
|
||||
android:max="1000"
|
||||
android:padding="0dp"
|
||||
android:progressDrawable="@drawable/update_progress"
|
||||
android:visibility="gone" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text"
|
||||
android:layout_width="0dp"
|
||||
android:id="@+id/changelog_header"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textStyle="bold"
|
||||
android:textSize="16dp"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:text="@string/sk_changelog" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/changelog"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:textAppearance="@style/m3_body_medium"
|
||||
tools:text="@string/sk_update_available"/>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<Button
|
||||
android:id="@+id/button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical|end"
|
||||
android:background="?android:selectableItemBackground"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textAllCaps="true"
|
||||
android:textSize="14dp"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:stateListAnimator="@null"
|
||||
tools:text="@string/install_update"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/cancel_btn"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_gravity="end|center_vertical"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:background="@drawable/bg_update_download_progress"
|
||||
android:tint="?colorSearchHint"
|
||||
android:contentDescription="@string/cancel"
|
||||
android:visibility="gone"
|
||||
android:src="@drawable/ic_fluent_dismiss_16_filled"/>
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progress"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_gravity="end|center_vertical"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:progressDrawable="@drawable/update_progress"
|
||||
android:max="1000"
|
||||
android:padding="0dp"
|
||||
android:visibility="gone"
|
||||
android:indeterminateOnly="false"
|
||||
android:indeterminate="false"/>
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
android:paddingStart="16dp"
|
||||
android:paddingBottom="16dp"
|
||||
android:text="Changelog" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</FrameLayout>
|
||||
@@ -5,7 +5,8 @@
|
||||
<item android:id="@+id/pink_color" android:title="@string/sk_color_palette_pink"/>
|
||||
<item android:id="@+id/green_color" android:title="@string/sk_color_palette_green"/>
|
||||
<item android:id="@+id/blue_color" android:title="@string/sk_color_palette_blue"/>
|
||||
<item android:id="@+id/orange_color" android:title="@string/sk_color_palette_brown"/>
|
||||
<item android:id="@+id/brown_color" android:title="@string/sk_color_palette_brown"/>
|
||||
<item android:id="@+id/yellow_color" android:title="@string/sk_color_palette_yellow"/>
|
||||
<item android:id="@+id/red_color" android:title="@string/sk_color_palette_red"/>
|
||||
<item android:id="@+id/nord_color" android:title="@string/sk_color_palette_nord"/>
|
||||
</menu>
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="get_started">Loslegen</string>
|
||||
<string name="already_have_account">Ich habe bereits ein Konto</string>
|
||||
<string name="log_in">Anmelden</string>
|
||||
<string name="next">Weiter</string>
|
||||
<string name="loading_instance">Server-Informationen werden abgerufen …</string>
|
||||
@@ -181,6 +182,7 @@
|
||||
<string name="username">Profilname</string>
|
||||
<string name="email">E-Mail</string>
|
||||
<string name="password">Passwort</string>
|
||||
<string name="confirm_password">Passwort bestätigen</string>
|
||||
<string name="password_note">Verwende Großbuchstaben, Sonderzeichen und Zahlen, um deine Passwortstärke zu erhöhen.</string>
|
||||
<string name="category_academia">Bildung</string>
|
||||
<string name="category_activism">Bürgerbeteiligung</string>
|
||||
@@ -197,6 +199,7 @@
|
||||
<string name="category_tech">Technik</string>
|
||||
<string name="confirm_email_title">Eine letzte Sache noch</string>
|
||||
<string name="confirm_email_subtitle">Tippe auf den Link, den wir dir per E-Mail geschickt haben, um dein Konto zu verifizieren.</string>
|
||||
<string name="confirm_email_didnt_get">Keinen Link bekommen?</string>
|
||||
<string name="resend">Erneut abschicken</string>
|
||||
<string name="open_email_app">E-Mail-App öffnen</string>
|
||||
<string name="resent_email">Bestätigung per E-Mail zugeschickt</string>
|
||||
@@ -390,4 +393,25 @@
|
||||
<string name="login_title">Willkommen zurück</string>
|
||||
<string name="login_subtitle">Melde dich mit dem Server an, auf dem du dein Konto erstellt hast.</string>
|
||||
<string name="server_url">Serveradresse</string>
|
||||
<string name="welcome_page1_title">Was ist {logo}?</string>
|
||||
<string name="welcome_page1_text">Stellen Sie sich vor, Sie haben eine E-Mail-Adresse mit der Endung @example.com.\n\nSie können weiterhin E-Mails von jeder Person senden und empfangen, auch wenn deren E-Mail-Adresse auf @gmail.com oder @icloud.com oder @example.com endet.</string>
|
||||
<string name="welcome_page2_title">Mastodon ist genau so.</string>
|
||||
<string name="welcome_page2_text">Ihr Handle könnte @gothgirl654@example.social sein, aber Sie können trotzdem @fallout5ever@example.online folgen, rebloggen und mit ihm chatten.</string>
|
||||
<string name="welcome_page3_title">Wie wählt man einen Server aus?</string>
|
||||
<string name="welcome_page3_text">Verschiedene Leute wählen verschiedene Server aus verschiedenen Gründen. art.example ist ein großartiger Ort für Künstler, während glasgow.example eine gute Wahl für Schotten ist. Sie können mit keinem unserer empfohlenen Server etwas falsch machen, also egal welchen Sie wählen (oder ob Sie Ihren eigenen in die Serversuchleiste eingeben), Sie werden nirgendwo etwas verpassen.</string>
|
||||
<string name="signup_random_server_explain">Wir wählen einen Server auf der Grundlage Ihrer Sprache, wenn Sie fortfahren, ohne eine Auswahl zu treffen.</string>
|
||||
<string name="server_filter_any_language">Beliebige Sprache</string>
|
||||
<string name="server_filter_instant_signup">Instant Sign-up</string>
|
||||
<string name="server_filter_manual_review">Manuelle Überprüfung</string>
|
||||
<string name="server_filter_any_signup_speed">Beliebige Anmeldegeschwindigkeit</string>
|
||||
<string name="server_filter_region_europe">Europa</string>
|
||||
<string name="server_filter_region_north_america">Nord Amerika</string>
|
||||
<string name="server_filter_region_south_america">Süd Amerika</string>
|
||||
<string name="server_filter_region_africa">Afrika</string>
|
||||
<string name="server_filter_region_asia">Asien</string>
|
||||
<string name="server_filter_region_oceania">Ozeanien</string>
|
||||
<string name="not_accepting_new_members">Keine neuen Mitglieder aufnehmen</string>
|
||||
<string name="category_special_interests">Besondere Interessen</string>
|
||||
<string name="signup_passwords_dont_match">Passwörter stimmen nicht überein</string>
|
||||
<string name="loading_fediverse_resource_title">Ich habe im Fediverse nachgeschaut...</string>
|
||||
</resources>
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
<string name="sk_federated_timeline_info_banner">Das sind die neuesten Beiträge von Personen, die in der Föderation deines Servers sind.</string>
|
||||
<string name="sk_update_available">Moshidon %s ist zum Herunterladen bereit.</string>
|
||||
<string name="sk_update_ready">Moshidon %s wurde heruntergeladen und kann jetzt installiert werden.</string>
|
||||
<string name="sk_changelog">Changelog:</string>
|
||||
<string name="sk_check_for_update">Auf Update prüfen</string>
|
||||
<string name="sk_no_update_available">Kein Update verfügbar</string>
|
||||
<string name="sk_list_timelines">Listen</string>
|
||||
@@ -36,31 +37,34 @@
|
||||
<string name="sk_lists_with_user">Listen mit %s</string>
|
||||
<string name="sk_settings_always_reveal_content_warnings">Inhaltswarnungen immer ausklappen</string>
|
||||
<string name="sk_disable_marquee">Laufschrift in Titelleisten deaktivieren</string>
|
||||
<string name="sk_disable_dividers">Tröt Trennung deaktivieren</string>
|
||||
<string name="sk_settings_contribute">Zu Moshidon beitragen</string>
|
||||
<string name="sk_settings_show_federated_timeline">Föderierte Timeline anzeigen</string>
|
||||
<string name="sk_notification_type_status">Beiträge</string>
|
||||
<string name="sk_notify_posts">Beitrags-Benachrichtigungen</string>
|
||||
<string name="sk_settings_color_picker">Farbschema</string>
|
||||
<string name="sk_color_palette_material3">System</string>
|
||||
<string name="sk_color_palette_pink">Pink</string>
|
||||
<string name="sk_color_palette_purple">Violett</string>
|
||||
<string name="sk_color_palette_green">Grün</string>
|
||||
<string name="sk_color_palette_brown">Braun</string>
|
||||
<string name="sk_color_palette_yellow">Gelb</string>
|
||||
<string name="sk_notification_type_status">Beiträge</string>
|
||||
<string name="sk_color_palette_blue">Blau</string>
|
||||
<string name="sk_color_palette_brown">Braun</string>
|
||||
<string name="sk_color_palette_red">Rot</string>
|
||||
<string name="sk_color_palette_yellow">Gelb</string>
|
||||
<string name="sk_color_palette_nord">Nord</string>
|
||||
<string name="sk_poll_allow_multiple">Mehrfachantworten erlauben</string>
|
||||
<string name="sk_translated_using">Übersetzt mit %s</string>
|
||||
<string name="sk_post_language">Sprache: %s</string>
|
||||
<string name="sk_language_name">%s (%s)</string>
|
||||
<string name="sk_confirm_clear_recent_languages">Sicher, dass du die Liste der zuletzt verwendeten Sprachen leeren willst\?</string>
|
||||
<string name="sk_translate_post">Übersetzen</string>
|
||||
<string name="sk_translate_show_original">Original anzeigen</string>
|
||||
<string name="sk_translated_using">Übersetzt mit %s</string>
|
||||
<string name="sk_post_language">Sprache: %s</string>
|
||||
<string name="sk_available_languages">Verfügbare Sprachen</string>
|
||||
<string name="sk_language_name">%s (%s)</string>
|
||||
<string name="sk_clear_recent_languages">Zuletzt verwendete Sprachen leeren</string>
|
||||
<string name="sk_confirm_clear_recent_languages">Sicher, dass du die Liste der zuletzt verwendeten Sprachen leeren willst\?</string>
|
||||
<string name="sk_welcome_title">Willkommen!</string>
|
||||
<string name="sk_example_domain">beispiel.social</string>
|
||||
<string name="sk_welcome_text">Der Hai sagt Hi! Um anzufangen, bitte gib den Domain-Namen deiner Heim-Instanz unten ein.</string>
|
||||
<string name="sk_color_theme_material3">System</string>
|
||||
<string name="sk_color_theme_red">Rot</string>
|
||||
<string name="sk_example_domain">beispiel.social</string>
|
||||
<string name="sk_tabs_disable_swipe">Wischen zwischen Tabs deaktivieren</string>
|
||||
<string name="sk_settings_profile">Profil einrichten</string>
|
||||
<string name="sk_settings_posting">Einstellungen für Beiträge</string>
|
||||
<string name="sk_settings_filters">Filter konfigurieren</string>
|
||||
@@ -68,5 +72,22 @@
|
||||
<string name="sk_settings_rules">Regelwerk</string>
|
||||
<string name="sk_settings_about">Über die App</string>
|
||||
<string name="sk_settings_donate">Spenden</string>
|
||||
<string name="sk_tabs_disable_swipe">Wischen zwischen Tabs deaktivieren</string>
|
||||
<string name="sk_delete_notification">Benachrichtigung löschen</string>
|
||||
<string name="sk_delete_notification_confirm_action">Benachrichtigung löschen</string>
|
||||
<string name="sk_delete_notification_confirm">Sind Sie sicher, dass Sie diese Benachrichtigung löschen möchten?</string>
|
||||
<string name="sk_clear_all_notifications">Alle Benachrichtigungen löschen</string>
|
||||
<string name="sk_clear_all_notifications_confirm_action">Alle löschen</string>
|
||||
<string name="sk_clear_all_notifications_confirm">Sind Sie sicher, dass Sie alle Notifikationen löschen wollen?</string>
|
||||
<string name="sk_enable_delete_notifications">Löschen von Benachrichtigungen aktivieren</string>
|
||||
<string name="sk_settings_show_differentiated_notification_icons">Benutzerdefinierte Icons für Interaktionen</string>
|
||||
<string name="sk_settings_publish_button_text">Text der Schaltfläche Veröffentlichen</string>
|
||||
<string name="sk_settings_publish_button_text_title">Anpassen des Textes der Schaltfläche Veröffentlichen</string>
|
||||
<string name="sk_settings_hide_translate_in_timeline">Schaltfläche Übersetzen in der Zeitleiste ausblenden</string>
|
||||
<string name="sk_settings_translation_availability_note_available">%s unterstützt Übersetzung!</string>
|
||||
<string name="sk_settings_translation_availability_note_unavailable">%s scheint die Übersetzung nicht zu unterstützen.</string>
|
||||
<string name="sk_loading_fediverse_resource_title">Ich habe im Fediverse nachgeschaut...</string>
|
||||
<string name="sk_undo_reblog">Rebloggen rückgängig machen</string>
|
||||
<string name="sk_reblog_with_visibility">Rebloggen mit Sichtbarkeit</string>
|
||||
<string name="sk_quote_post">Beitrag darüber</string>
|
||||
<string name="sk_hashtags_you_follow">Hashtags, denen du folgst</string>
|
||||
</resources>
|
||||
@@ -16,6 +16,8 @@
|
||||
<attr name="colorSearchHint" format="color"/>
|
||||
<attr name="colorTabInactive" format="color"/>
|
||||
<attr name="colorAccentLightest" format="color"/>
|
||||
<attr name="favorite_selected" format="color"/>
|
||||
<attr name="bookmark_selected" format="color"/>
|
||||
<attr name="profileHeaderBackground" format="color"/>
|
||||
<attr name="toolbarBackground" format="color"/>
|
||||
|
||||
|
||||
@@ -292,4 +292,34 @@
|
||||
<color name="red_gray_50t">#ffede6ca</color>
|
||||
<color name="red_gray_50">#ffede6</color>
|
||||
<color name="red_gray_25">#f7f8fa</color>
|
||||
|
||||
<color name="nord_primary_25">#fafaff</color>
|
||||
<color name="nord_primary_50">#eff0ff</color>
|
||||
<color name="nord_primary_100">#eceff4</color>
|
||||
<color name="nord_primary_200">#e5e9f0</color>
|
||||
<color name="nord_primary_300">#d8dee9</color>
|
||||
<color name="nord_primary_400">#88c0d0</color>
|
||||
<color name="nord_primary_500">#4c566a</color>
|
||||
<color name="nord_primary_600">#4c566a</color>
|
||||
<color name="nord_primary_700">#81a1c1</color>
|
||||
<color name="nord_primary_800">#3b4252</color>
|
||||
<color name="nord_primary_900">#2e3440</color>
|
||||
|
||||
<color name="nord_gray_900">#3B4252</color>
|
||||
<color name="nord_gray_800t">#cc2D343F</color>
|
||||
<color name="nord_gray_800">#2D343F</color>
|
||||
<color name="nord_gray_700">#3A4250</color>
|
||||
<color name="nord_gray_600">#404C5C</color>
|
||||
<color name="nord_gray_500">#8C96B4</color>
|
||||
|
||||
<color name="nord_favorite_selected">#ebcb8b</color>
|
||||
<color name="nord_bookmark_selected">#a3be8c</color>
|
||||
|
||||
<color name="nord_gray_400">#8C96B4</color>
|
||||
<color name="nord_gray_300">#c5c6d0</color>
|
||||
<color name="nord_gray_200">#D5DCE6</color>
|
||||
<color name="nord_gray_100">#E2E7EE</color>
|
||||
<color name="nord_gray_50t">#EAEDF2</color>
|
||||
<color name="nord_gray_50">#EAEDF2</color>
|
||||
<color name="nord_gray_25">#f7f8fa</color>
|
||||
</resources>
|
||||
@@ -12,6 +12,8 @@
|
||||
<item name="colorPrimary700">@color/primary_700</item>
|
||||
<item name="colorPrimary800">@color/primary_800</item>
|
||||
<item name="colorPrimary900">@color/primary_900</item>
|
||||
<item name="bookmark_selected">@color/bookmark_selected</item>
|
||||
<item name="favorite_selected">@color/favorite_selected</item>
|
||||
|
||||
<item name="colorGray900">@color/gray_900</item>
|
||||
<item name="colorGray800t">@color/gray_800t</item>
|
||||
@@ -232,4 +234,37 @@
|
||||
<item name="colorGray50">@color/red_gray_50</item>
|
||||
<item name="colorGray25">@color/red_gray_25</item>
|
||||
</style>
|
||||
|
||||
<style name="ColorPalette.Nord">
|
||||
<item name="colorPrimary25">@color/nord_primary_25</item>
|
||||
<item name="colorPrimary50">@color/nord_primary_50</item>
|
||||
<item name="colorPrimary100">@color/nord_primary_100</item>
|
||||
<item name="colorPrimary200">@color/nord_primary_200</item>
|
||||
<item name="colorPrimary300">@color/nord_primary_300</item>
|
||||
<item name="colorPrimary400">@color/nord_primary_400</item>
|
||||
<item name="colorPrimary500">@color/nord_primary_500</item>
|
||||
<item name="colorPrimary600">@color/nord_primary_600</item>
|
||||
<item name="colorPrimary700">@color/nord_primary_700</item>
|
||||
<item name="colorPrimary800">@color/nord_primary_800</item>
|
||||
<item name="colorPrimary900">@color/nord_primary_900</item>
|
||||
|
||||
<item name="bookmark_selected">@color/nord_bookmark_selected</item>
|
||||
<item name="favorite_selected">@color/nord_favorite_selected</item>
|
||||
|
||||
<item name="colorGray900">@color/nord_gray_900</item>
|
||||
<item name="colorGray800t">@color/nord_gray_800t</item>
|
||||
<item name="colorGray800">@color/nord_gray_800</item>
|
||||
<item name="colorGray700">@color/nord_gray_700</item>
|
||||
<item name="colorGray600">@color/nord_gray_600</item>
|
||||
<item name="colorGray500">@color/nord_gray_500</item>
|
||||
|
||||
<item name="colorGray400">@color/nord_gray_400</item>
|
||||
<item name="colorGray300">@color/nord_gray_300</item>
|
||||
<item name="colorGray200">@color/nord_gray_200</item>
|
||||
<item name="colorGray100">@color/nord_gray_100</item>
|
||||
<item name="colorGray50t">@color/nord_gray_50t</item>
|
||||
<item name="colorGray50">@color/nord_gray_50</item>
|
||||
<item name="colorGray25">@color/nord_gray_25</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
@@ -27,6 +27,7 @@
|
||||
<string name="sk_federated_timeline_info_banner">These are the most recent posts by the people in your federation.</string>
|
||||
<string name="sk_update_available">Moshidon %s is ready to download.</string>
|
||||
<string name="sk_update_ready">Moshidon %s is downloaded and ready to install.</string>
|
||||
<string name="sk_changelog">Changelog:</string>
|
||||
<string name="sk_check_for_update">Check for update</string>
|
||||
<string name="sk_no_update_available">No update available</string>
|
||||
<string name="sk_list_timelines">Lists</string>
|
||||
@@ -36,6 +37,8 @@
|
||||
<string name="sk_lists_with_user">Lists with %s</string>
|
||||
<string name="sk_settings_always_reveal_content_warnings">Always reveal content warnings</string>
|
||||
<string name="sk_disable_marquee">Disable scrolling text in title bars</string>
|
||||
<string name="sk_disable_dividers">Disable toot dividers</string>
|
||||
<string name="sk_relocate_publish_button">Relocate publish button</string>
|
||||
<string name="sk_settings_contribute">Contribute to Moshidon</string>
|
||||
<string name="sk_settings_show_federated_timeline">Show federated timeline</string>
|
||||
<string name="sk_notification_type_status">Posts</string>
|
||||
@@ -49,6 +52,7 @@
|
||||
<string name="sk_color_palette_brown">Brown</string>
|
||||
<string name="sk_color_palette_red">Red</string>
|
||||
<string name="sk_color_palette_yellow">Yellow</string>
|
||||
<string name="sk_color_palette_nord">Nord</string>
|
||||
<string name="sk_poll_allow_multiple">Allow multiple choices</string>
|
||||
<string name="sk_translate_post">Translate</string>
|
||||
<string name="sk_translate_show_original">Show original</string>
|
||||
@@ -77,6 +81,7 @@
|
||||
<string name="sk_clear_all_notifications_confirm_action">Delete all</string>
|
||||
<string name="sk_clear_all_notifications_confirm">Are you sure you want to clear all notifications\?</string>
|
||||
<string name="sk_enable_delete_notifications">Enable deleting notifications</string>
|
||||
<string name="sk_settings_show_differentiated_notification_icons">Custom icons for interactions</string>
|
||||
<string name="sk_settings_publish_button_text">Publish button text</string>
|
||||
<string name="sk_settings_publish_button_text_title">Customize Publish button text</string>
|
||||
<string name="sk_settings_hide_translate_in_timeline">Hide translate button in timeline</string>
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
— S'han preparat els fitxers per al llançament a F-Droid
|
||||
— S'ha solucionat l'actualització automàtica
|
||||
— S'han afegit icones monocromàtiques per a les icones del menú d'aplicacions
|
||||
— S'ha canviat la icona de «No llistat» incorrecta al peu de pàgina ampliat
|
||||
@@ -1,6 +0,0 @@
|
||||
— És possible obrir la publicació original mentre respons (fent clic a la línia «En resposta a…»)
|
||||
— Ha combinat els canvis de la font superior i correccions d'errors
|
||||
— S'ha eliminat el codi «Centre d'aplicacions» no utilitzat
|
||||
— S'ha afegit una versió sense línia de temps federada per a la Play Store
|
||||
— S'ha afegit un URI de redirecció personalitzat per a facilitar l'inici de sessió
|
||||
— S'ha canviat l'enllaç de contribució
|
||||
@@ -1,17 +0,0 @@
|
||||
Megalodon és una versió modificada de l'<a href="https://github.com/mastodon/mastodon-android">aplicació oficial de Mastodon per a Android</a> que ha afegit opcions importants que no té la versió oficial, com la línia de temps federada, la publicació sense llistar, marcadors i un visor de la descripció de les imatges.
|
||||
|
||||
<b>Funcionalitats clau</b>
|
||||
|
||||
— <b>Publicació sense llistar</b>: Escriu de manera pública sense que la publicació es mostre en les tendències, etiquetes o línies de temps públiques.
|
||||
— <b>Línia de temps federada</b>: Visualitza totes les publicacions de persones de la resta de barris del Fedivers als quals està connectada la teua instància.
|
||||
— <b>Visor de la descripció de les imatges.</b>: Comprova ràpidament si una imatge o un vídeo té un text alternatiu adjunt.
|
||||
— <b>Fixar publicacions</b>: Fixa les teues publicacions més importants al teu perfil i mira què han fixat altres persones a la pestanya «Fixat».
|
||||
— <b>Marcadors</b>: Desa ràpidament publicacions i cerca-les més tard a la llista de marcadors.
|
||||
— <b>Seguiment d'etiquetes</b>: Visualitza publicacions noves d'etiquetes específiques directament a la línia de temps, seguint aquestes etiquetes.
|
||||
— <b>Respondre les sol·licituds de seguiment</b>: Accepta o rebutja sol·licituds de seguiment des de les notificacions o a la llista de sol·licituds de seguiment dedicada.
|
||||
— <b>Eliminar i tornar a escriure</b>: La característica tan estimada que va fer possible l'edició sense una funció d'edició real.
|
||||
|
||||
<b>Funcionalitats oficials no llançades, disponibles per avançat</b>
|
||||
|
||||
— Edició de publicacions
|
||||
— Actualitzador integrat per als llançaments de GitHub
|
||||
@@ -1 +0,0 @@
|
||||
Mastodon per a Android, però és rosa i té més funcionalitats
|
||||
@@ -1 +0,0 @@
|
||||
Megalodon
|
||||
@@ -1,4 +0,0 @@
|
||||
- Dateien für die Veröffentlichung auf F-Droid vorbereiten
|
||||
- Automatischen Updater reparieren
|
||||
- Monochrome Symbole für Launcher-Icons
|
||||
- Falsches Ungelistet-Symbol ersetzt
|
||||
@@ -1,6 +0,0 @@
|
||||
- Möglichkeit, beim Antworten den Originalpost (durch einen Klick auf „Als Antwort auf…“-Zeile) zu öffnen
|
||||
- Upstream-Änderungen und Fehlerbehebungen mergen
|
||||
- Unverwendeten „App Center“-Code entfernt
|
||||
- Release mit deaktivierter Föderierter Timeline für den Play Store hinzugefügt
|
||||
- Eigene Weiterleitungs-URI für einfacheres Einloggen
|
||||
- „Zu Megalodon beitragen“-Link angepasst
|
||||
@@ -1,4 +0,0 @@
|
||||
- HTML-Tags und Markdown-Formatierung richtig darstellen
|
||||
- <a href="https://translate.codeberg.org/projects/megalodon">Weblate-Übersetzungsprojekt</a> einrichten
|
||||
- Schalter für die Föderierte Timeline
|
||||
- Versionen 52-54 waren kleine Anpassungen für den Google Play-Release
|
||||
@@ -1,5 +0,0 @@
|
||||
- Eigene Farbschemata von @LucasGGamerM
|
||||
- Bessere Emoji-Suche beim Verfassen
|
||||
- Verbesserungen bei Abstimmungen (eigene Stimme wird angezeigt, Abstimmen-Button wird immer angezeigt, lange Antworten werden nicht abgeschnitten)
|
||||
- Push-Notification-Einstellung für Beitrags-Benachrichtigungen
|
||||
- Fehlerbehebungen
|
||||
@@ -1,11 +0,0 @@
|
||||
Megalodon ist eine modifizierte Version der <a href="https://github.com/mastodon/mastodon-android">offiziellen Mastodon-Android-App</a> mit vielen Features, die in der offiziellen App fehlen, z.B. die föderierte Timeline, ungelistete Beiträge posten und die Möglichkeit, Bildbeschreibungen anzuzeigen.
|
||||
|
||||
<b>Die wichtigsten Features</b>
|
||||
|
||||
- <b>Ungelistet posten</b>: Öffentlich posten, ohne dass der Beitrag in Trends, Hashtags oder öffentlichen Timelines angezeigt wird.
|
||||
- <b>Föderierte Timeline</b>: Alle öffentlichen Beiträge aller anderen Fediverse-Nachbarschaften, mit denen deine Heim-Instanz verbunden ist.
|
||||
- <b>Bildbeschreibungen anzeigen</b>: Unkompliziert prüfen, ob Bilder und Videos Alternativ-Texte beinhalten.
|
||||
- <b>Beiträge anpinnen</b>: Pinne deine wichtigsten Beiträge an dein Profil an und sieh im “Angepinnt”-Tab nach, was andere User_innen angepinnt haben.
|
||||
- <b>Hashtags folgen</b>: Bringt neue Beiträge bestimmter Hashtags direkt in deine Home-Timeline.
|
||||
- <b>Folgeanfragen beantworten</b>: Folgeanfragen lassen sich nun direkt über die Benachrichtigungen-Liste oder über die Folgeanfragen-Liste akzeptieren oder ablehnen.
|
||||
- <b>Beiträge löschen und neu erstellen</b>: Das beliebte Feature, das das Bearbeiten von Beiträgen ohne tatsächliche Bearbeit-Funktion möglich gemacht hat.
|
||||
@@ -1 +0,0 @@
|
||||
Mastodon für Android in Pink und mit zusätzlichen Features
|
||||
@@ -1 +0,0 @@
|
||||
Megalodon
|
||||
@@ -1,4 +0,0 @@
|
||||
- Prepare files for release on F-Droid
|
||||
- Fix automatic updater
|
||||
- Add monochromatic icons back into launcher icons
|
||||
- Replace wrong unlisted icon in extended footer
|
||||
@@ -1,6 +0,0 @@
|
||||
- Make it possible to open the original post while replying (by clicking the “In reply to…” line)
|
||||
- Merge upstream changes and bugfixes
|
||||
- Remove unused “App Center” code
|
||||
- Add release without Federated timeline for Play Store
|
||||
- Add custom redirect URI for easier login
|
||||
- Change contribution link
|
||||
@@ -1,4 +0,0 @@
|
||||
- Fix broken rendering of HTML tags and enable rendering Markdown formatting
|
||||
- Initialize <a href="https://translate.codeberg.org/projects/megalodon">Weblate translation project</a>
|
||||
- Add toggle for the Federated timeline
|
||||
- Versions 52-54 were small adjustments for a release on Google Play
|
||||
@@ -1,6 +0,0 @@
|
||||
- Custom color themes by @LucasGGamerM
|
||||
- New "megalodon" text logo submitted by @LucasGGamerM
|
||||
- Better emoji search while composing
|
||||
- Tweaked voting (display own vote, always display vote button, don't cut off long answers)
|
||||
- Add push notification setting for post notifications
|
||||
- Bugfixes
|
||||
1
metadata/en-US/changelogs/78.txt
Normal file
@@ -0,0 +1 @@
|
||||
Removing the toot dividers on the main timeline! Its also configurable.
|
||||
1
metadata/en-US/changelogs/79.txt
Normal file
@@ -0,0 +1 @@
|
||||
Adding a donate button!
|
||||
1
metadata/en-US/changelogs/80.txt
Normal file
@@ -0,0 +1 @@
|
||||
Now adding an optional toggle for bringing the publish button to a more reachable position! It's the default now!
|
||||
@@ -1,7 +1,10 @@
|
||||
Megalodon is a modified version of the <a href="https://github.com/mastodon/mastodon-android">official Mastodon Android app</a> adding important features that are missing in the official app, such as the federated timeline, unlisted posting and an image description viewer.
|
||||
Moshidon is a modified version of the <a href="https://github.com/mastodon/mastodon-android">official Mastodon Android app</a> adding important features that are missing in the official app, such as the federated timeline, unlisted posting and an image description viewer.
|
||||
|
||||
<b>Key features</b>
|
||||
|
||||
- <b>Many colors</b>: Brings material you theme and many colorful options for themes!
|
||||
- <b>Translate button</b>: Brings a translate button!
|
||||
- <b>Toot language picker</b>: Brings in a toot language picker!
|
||||
- <b>Unlisted posting</b>: Post publicly without having your post show up in trends, hashtags or public timelines.
|
||||
- <b>Federated timeline</b>: See all public posts from people on all other Fediverse neighborhoods your home instance is connected to.
|
||||
- <b>Image description viewer</b>: Quickly check whether an image or video has an alt text attached to it.
|
||||
@@ -9,3 +12,4 @@ Megalodon is a modified version of the <a href="https://github.com/mastodon/mast
|
||||
- <b>Follow hashtags</b>: See new posts from specific hashtags directly in your home timeline by following them.
|
||||
- <b>Answering follow requests</b>: Accept or decline follow requests from your notifications or the dedicated Follow requests list.
|
||||
- <b>Delete and re-draft</b>: The much-loved feature that made editing possible without an actual editing function.
|
||||
- <b>Extras</b>: Brings many extra UI features, such as interaction icons on the Notifications and removing many annoyances with the original UI!
|
||||
|
||||
|
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 641 KiB |
BIN
metadata/en-US/images/phoneScreenshots/1.png
Normal file
|
After Width: | Height: | Size: 167 KiB |
|
Before Width: | Height: | Size: 1.3 MiB |
BIN
metadata/en-US/images/phoneScreenshots/2.png
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
|
Before Width: | Height: | Size: 767 KiB |
BIN
metadata/en-US/images/phoneScreenshots/3.png
Normal file
|
After Width: | Height: | Size: 221 KiB |
|
Before Width: | Height: | Size: 414 KiB |
BIN
metadata/en-US/images/phoneScreenshots/4.png
Normal file
|
After Width: | Height: | Size: 159 KiB |
|
Before Width: | Height: | Size: 579 KiB |
|
Before Width: | Height: | Size: 280 KiB |
@@ -1 +1 @@
|
||||
Mastodon for Android but it's pink and has more features
|
||||
Mastodon for Android but it's Material You and has more features
|
||||
@@ -1 +1 @@
|
||||
Megalodon
|
||||
Moshidon
|
||||
@@ -1,4 +0,0 @@
|
||||
— Se han preparado los archivos para el lanzamiento en F-Droid
|
||||
— Se ha solucionado la actualización automática
|
||||
— Se han añadido iconos monocromáticos para los iconos del menú de aplicaciones
|
||||
— Se ha cambiado el icono de «No listado» incorrecto en el pie de página ampliado
|
||||
@@ -1,6 +0,0 @@
|
||||
— Es posible abrir la publicación original mientras respondes (haciendo clic en la línea "En respuesta a…")
|
||||
— Ha combinado los cambios de la fuente superior y correcciones de errores
|
||||
— Se ha eliminado el código "Centro de aplicaciones" no utilizado
|
||||
— Se ha añadido una versión sin línea de tiempo federada para Play Store
|
||||
— Se ha añadido un URI de redirección personalizado para facilitar el inicio de sesión
|
||||
— Se ha cambiado el enlace de las contribuciones
|
||||
@@ -1,4 +0,0 @@
|
||||
- Corrige la representación errónea de etiquetas HTML y activa el formato Markdown
|
||||
- Inicializa el <a href="https://translate.codeberg.org/projects/megalodon">proyecto de traducción vía Weblate</a>
|
||||
- Añade un alternador para la cronología federada
|
||||
- Las versiones 52-54 fueron ajustes menores para una versión para Google Play
|
||||
@@ -1,6 +0,0 @@
|
||||
- Temas personalizados por @LucasGGamerM
|
||||
- Nuevo logotipo del texto "megalodón" enviado por @LucasGGamerM
|
||||
- Mejor búsqueda de emojis
|
||||
- Votación modificada (mostrar el voto propio, mostrar siempre el botón de voto, no cortar las respuestas largas)
|
||||
- Agregar las configuraciones de las notificaciones push
|
||||
- Corrección de errores
|
||||
@@ -1,5 +0,0 @@
|
||||
- Se añadió un selector de idiomas
|
||||
- Se incluye una función para traducir
|
||||
- Mejora la semántica para votar en encuestas (botones de opción y casillas)
|
||||
- Permite votar por varias opciones en las encuestas
|
||||
- Corrige varios defectos
|
||||
@@ -1,11 +0,0 @@
|
||||
Megalodon es una versión modificada de la <a href="https://github.com/mastodon/mastodon-android">aplicación oficial de Mastodon para Android</a> que añade funcionalidades importantes que le faltan a esta, como la cronología federada, la publicación descatalogada y un visor de descripciones de imágenes.
|
||||
|
||||
<b>Funcionalidades importantes</b>
|
||||
|
||||
- <b>Publicación descatalogada</b>: haga envíos públicos sin que estos figuren en tendencias, etiquetas o cronologías públicas.
|
||||
- <b>Cronología federada</b>: vea todos los envíos públicos de las personas en las instalaciones del Fediverso que estén conectadas con su instalación hogar.
|
||||
- <b>Visor de descripciones de imágenes</b>: compruebe con rapidez si una imagen o un vídeo tiene texto alternativo.
|
||||
- <b>Anclaje de publicaciones</b>: ancle sus envíos más importantes a su perfil y vea lo que otros han anclado mediante la pestaña «Ancladas».
|
||||
- <b>Seguir etiquetas</b>: vea envíos etiquetados directamente en su cronología de inicio siguiéndolas.
|
||||
- <b>Respuesta a solicitudes de seguimiento</b>: acepte o rechace solicitudes de seguimiento desde sus notificaciones o desde la lista dedicada.
|
||||
- <b>Eliminar y reescribir</b>: la tan querida función que hizo posible editar los envíos ante la falta de una función Editar propiamente dicha.
|
||||
@@ -1 +0,0 @@
|
||||
Mastodon para Android pero es rosa y tiene más funciones
|
||||
@@ -1 +0,0 @@
|
||||
Megalodon
|
||||
@@ -1,4 +0,0 @@
|
||||
- Préparation des fichiers pour publication sur F-Droid
|
||||
- Correction de la mise à jour automatique
|
||||
- Ajout d'icônes monochromes dans les icônes du lanceur
|
||||
- Remplacement de la mauvaise icône non répertoriée dans le pied de page étendu
|
||||
@@ -1,6 +0,0 @@
|
||||
- Rendre possible l'ouverture du message d'origine lors de la réponse (en cliquant sur la ligne « En réponse à… »)
|
||||
- Fusionner les modifications en amont et les corrections de bugs
|
||||
- Supprimer le code "App Center" inutilisé
|
||||
- Ajouter une version sans timeline fédérée pour le Play Store
|
||||
- Ajouter une URI de redirection personnalisée pour une connexion plus facile
|
||||
- Modifier le lien de contribution
|
||||
@@ -1,4 +0,0 @@
|
||||
- Correction du rendu des balises HTML et activation du formatage Markdown
|
||||
- Initialisation du <a href="https://translate.codeberg.org/projects/megalodon">projet de traduction Weblate</a>
|
||||
- Ajout d'une option pour activer la chronologie fédérée
|
||||
- Les versions 52-54 contenaient de petits ajustements pour une sortie sur Google Play
|
||||
@@ -1,6 +0,0 @@
|
||||
- Thèmes de couleurs personnalisés par @LucasGGamerM
|
||||
- Nouveau logo textuel "megalodon" soumis par @LucasGGamerM
|
||||
- Meilleure recherche d'emoji lors de la composition
|
||||
- Vote amélioré (afficher son propre vote, toujours afficher le bouton de vote, ne pas couper les réponses longues)
|
||||
- Ajout d'un paramètre de notification push pour les notifications de messages
|
||||
- Corrections de bogues
|
||||
@@ -1,5 +0,0 @@
|
||||
- Ajout d'un sélecteur de langue
|
||||
- Ajout d'une fonction de traduction
|
||||
- Amélioration de la sémantique pour voter sur les sondages (boutons radio et cases à cocher)
|
||||
- Ajout d'une option pour permettre de voter pour plusieurs options dans les sondages
|
||||
- Corrections de bogues
|
||||
@@ -1,11 +0,0 @@
|
||||
Megalodon est une version modifiée de <a href="https://github.com/mastodon/mastodon-android">Mastodon officiel pour Android</a> ajoutant des fonctionnalités importantes qui manquent dans l'application officielle, telles que la timeline fédérée, la publication non répertoriée et une visionneuse de description d'image.
|
||||
|
||||
<b>Principales fonctionnalités</b>
|
||||
|
||||
- <b>Publication non répertoriée</b> : Publiez publiquement sans que votre message apparaisse dans les tendances, les hashtags ou les timelines publiques.
|
||||
- <b>Timeline fédérée</b> : Affichez tous les messages publics des personnes de tout le voisinage du Fediverse auxquel votre instance est connectée.
|
||||
- <b>Visionneuse de description d'image</b> : Vérifiez rapidement si une image ou une vidéo est associée à un texte alternatif.
|
||||
- <b>Épingler des publications</b> : Épinglez vos publications les plus importantes à votre profil et voyez ce que les autres ont épinglé en utilisant l'onglet "Épinglé".
|
||||
- <b>Suivez des hashtags</b> : Voir les nouveaux messages avec des hashtags spécifiques directement dans votre timeline d'accueil en les suivant.
|
||||
- <b>Répondre aux demandes de suivi</b> : Acceptez ou refusez les demandes de suivi à partir de vos notifications ou de la liste dédiée aux demandes de suivi.
|
||||
- <b>Supprimer et reformuler</b> : La fonctionnalité la plus appréciée qui rend l'édition possible sans fonction d'édition réelle.
|
||||
@@ -1 +0,0 @@
|
||||
Mastodon pour Android mais en rose et avec plus de fonctionnalités
|
||||
@@ -1 +0,0 @@
|
||||
Megalodon
|
||||
@@ -1,4 +0,0 @@
|
||||
- Siapkan berkas untuk rilis di F-Droid
|
||||
- Perbaiki pembaruan otomatis
|
||||
- Tanbahkan ikon monokromatik kembali dalam ikon peluncur
|
||||
- Ubah ikon tidak terdaftar yang salah dalam footer yang diperluas
|
||||
@@ -1,6 +0,0 @@
|
||||
- Buat pembukaan kiriman asli memungkinkan saat membalas (dengan mengetuk baris “Membalas ke…”)
|
||||
- Gabungkan perubahan upstream dan perbaikan kutu
|
||||
- Hapus kode “Pusat Aplikasi” yang tidak digunakan
|
||||
- Tambahkan rilis tanpa lini masa Federasi untuk Play Store
|
||||
- Tambahkan URI arahan kuston untuk pemasukan yang lebih mudah
|
||||
- Ubah tautan kontribusi
|
||||
@@ -1,4 +0,0 @@
|
||||
- Diperbaiki perenderan tag HTML dan aktifkan perenderan format Markdown
|
||||
- Dimulai <a href="https://translate.codeberg.org/projects/megalodon">proyek terjemahkan Weblate</a>
|
||||
- Ditambahkan saklar untuk lini masa Federasi
|
||||
- Versi 52-54 adalah perubahan kecil untuk sebuah rilis di Google Play
|
||||
@@ -1,6 +0,0 @@
|
||||
- Tema warna kustom oleh @LucasGGamerM
|
||||
- Logo teks "megalodon" baru dikirim oleh @LucasGGamerM
|
||||
- Pencarian emoji lebih baik saat menulis kiriman
|
||||
- Diubah antarmuka pemungutan suara (tampilkan suara sendiri, selalu tampilkan tombol kirim suara, jangan potong jawaban panjang)
|
||||
- Ditambahkan pengaturan notifikasi dorong untuk notifikasi kiriman
|
||||
- Perbaikan kutu
|
||||
@@ -1,6 +0,0 @@
|
||||
- Ditambahkan pemilih bahasa
|
||||
- Ditambahkan kemampuan terjemahan
|
||||
- Ditingkatkan semantik untuk kiriman suara pada pemungutan suara (tombol radio dan kotak centang)
|
||||
- Ditambahkan opsi untuk perbolehkan mengirim suara beberapa opsi pada pemungutan suara
|
||||
- Layar masuk baru
|
||||
- Perbaikan kutu
|
||||
@@ -1,15 +0,0 @@
|
||||
Megalodon adalah versi modifikasi <a href="https://github.com/mastodon/mastodon-android">aplikasi Android Mastodon resmi</a> yang menambahkan fitur penting yang belum ada di aplikasi, seperti lini masa federasi, pengiriman tidak terdaftar, dan penampil deskripsi gambar.
|
||||
|
||||
<b>Fitur unggulan</b>
|
||||
|
||||
- <b>Pengiriman tidak terdaftar</b>: Kirim secara publik tanpa memasukkan kiriman Anda dalam tren, tagar, atau lini masa publik.
|
||||
- <b>Lini masa federasi</b>: Lihat semua kiriman publik dari orang-orang di semua tetangga Fediverse lainnya yang instansi rumah Anda terhubung.
|
||||
- <b>Penampil deskripsi gambar</b>: Periksa secara cepat jika gambar atau video nemiliki deskripsi alternatif.
|
||||
- <b>Menyematkan kiriman</b>: Sematkan kiriman penting Anda ke profil Anda dan lihat apa yang telah disematkan oleh orang lain menggunakan tab “Disematkan”.
|
||||
- <b>Ikuti tagar</b>: Lihat kiriman baru dari tagar spesifik secara langsung dalam lini masa beranda Anda dengan mengikutinya.
|
||||
- <b>Menjawab permintaan pengikut</b>: Tolak atau terima permintaan pengikut dari notifikasi Anda atau daftar permintaan pengikut khusus.
|
||||
- <b>Hapus dan draf ulang</b>: Fitur yang banyak disukai yang membuat penyuntingan memungkinkan tanpa fungsi penyuntingan yang asli.
|
||||
- <b>Pemilih bahasa</b>: Pilih bahasa untuk setiap kiriman tanpa kesulitan supaya saringan dan terjemahan bekerja dengan benar.
|
||||
- <b>Terjemahan</b>: Terjemahkan kiriman dalam Megalodon dengan mudah! Hanya bekerja jika fitur juga tersedia di Mastodon Web Anda.
|
||||
- <b>Indikator keterlihatan kiriman</b>: Ketika membuka atau membalas kiriman, sebuah ikon kecil yang menandakan keterlihatan kiriman akan ditampilkan.
|
||||
- <b>Tema warna</b>: Jika Anda tidak ingin warna Merah Muda bawaan (hiunya diam-diam menghakimimu), tema warna Moshidon akan menyelesaikan masalah itu.
|
||||
@@ -1 +0,0 @@
|
||||
Mastodon untuk Android tetapi bewarna merah muda dan memiliki lebih banyak fitur
|
||||
@@ -1 +0,0 @@
|
||||
Megalodon
|
||||
@@ -1,4 +0,0 @@
|
||||
- F-Droid에 릴리스하기 위한 파일을 준비
|
||||
- 자동 업데이트를 수정
|
||||
- 단색 아이콘을 런처 아이콘에 다시 추가
|
||||
- 게시글 밑의 잘못된 ‘타임라인에 비표시’ 아이콘을 교체
|
||||
@@ -1,6 +0,0 @@
|
||||
- 답글 작성 중에 원본 게시물을 볼 수 있도록 함 (“…님에게 답글”을 클릭하여)
|
||||
- 업스트림의 변경 및 버그 수정 병합
|
||||
- 사용하지 않는 “App Center” 코드 제거
|
||||
- Play Store를 위해 연합 타임라인이 없는 릴리스 추가
|
||||
- 쉬운 로그인을 위해 별도의 redirect URI 추가
|
||||
- 기여 링크 변경
|
||||
@@ -1,4 +0,0 @@
|
||||
- HTML 렌더링 깨짐 수정 및 마크다운 포맷 렌더링 활성화
|
||||
- <a href="https://translate.codeberg.org/projects/megalodon">Weblate 번역 프로젝트</a> 초기 설정
|
||||
- 연합 타임라인 전환 추가
|
||||
- 52~54 버전은 Google Play에 릴리스하기 위한 작은 조정임
|
||||
@@ -1,6 +0,0 @@
|
||||
- @LucasGGamerM 님의 색상 테마 사용자화
|
||||
- @LucasGGamerM 님이 제시한 새로운 "megalodon" 텍스트 로고
|
||||
- 게시물 작성 시 더 나은 에모지 검색
|
||||
- 투표 변경 (소유한 투표 표시, 항상 투표 버튼 표시, 긴 항목을 자르지 않음)
|
||||
- 게시물 알림 설정 추가
|
||||
- 버그 수정
|
||||
@@ -1,6 +0,0 @@
|
||||
- 언어 선택기 추가
|
||||
- 번역 기능 추가
|
||||
- 투표 기능의 보다 명확한 표현 (라디오 버튼 및 체크박스)
|
||||
- 투표 생성 시 다중 선택이 가능하도록 옵션 추가
|
||||
- 새로운 로그인 화면
|
||||
- 버그 수정
|
||||
@@ -1,15 +0,0 @@
|
||||
Megalodon은 <a href="https://github.com/mastodon/mastodon-android">공식 마스토돈 안드로이드 앱</a>의 수정된 버전으로, 공식 앱에서 누락된 연합 타임라인, 타임라인에 비표시하여 게시, 이미지 설명 뷰어와 같은 중요한 기능들을 추가했습니다.
|
||||
|
||||
<b>주요 기능</b>
|
||||
|
||||
- <b>타임라인에 비표시하여 게시</b>: 모두가 볼 수 있지만 트렌드, 해시태그 및 공개된 타임라인에 보이지 않습니다.
|
||||
- <b>연합 타임라인</b>: 사용 중인 인스턴스에 연결된 연합우주의 사람들이 올린 모든 공개된 게시물을 확인하세요.
|
||||
- <b>이미지 설명 뷰어</b>: 이미지나 동영상에 대체 텍스트가 있는지 빠르게 확인하세요.
|
||||
- <b>게시물 고정</b>: 가장 중요한 게시물을 프로필에 고정하고 “고정됨” 탭으로 다른 사용자가 고정한 게시물을 확인하세요.
|
||||
- <b>해시태그 팔로우</b>: 특정 해시태그를 팔로우하고 해시태그가 포함된 새로운 게시물을 홈 타임라인에서 바로 확인하세요.
|
||||
- <b>팔로우 요청에 응답</b>: 알림 또는 전용 팔로우 요청 목록을 통해 팔로우 요청을 허가하거나 거부하세요.
|
||||
- <b>삭제하고 다시 쓰기</b>: 실제 수정 기능 없이도 수정이 가능하도록 해 많은 사랑을 받고 있는 기능입니다.
|
||||
- <b>언어 선택기</b>: 게시물을 작성할 때 불편함 없이 언어를 선택하고 필터와 번역 기능이 제대로 동작할 수 있도록 하세요.
|
||||
- <b>번역</b>: Megaloton에서 바로 게시물을 번역해보세요! 이 기능은 사용하시는 Mastodon 웹에서 지원해야 사용하실 수 있습니다.
|
||||
- <b>게시물 공개 범위 표시기</b>: 게시물을 열거나 답글을 달 때, 게시물의 공개 범위를 편리한 아이콘으로 표시합니다.
|
||||
- <b>색상 테마</b>: 기본 핑크 색상이 마음에 들지 않으신다면(상어가 당신을 넌지시 바라봅니다), Moshidon의 색상 테마가 도움을 줄 것입니다.
|
||||
@@ -1 +0,0 @@
|
||||
분홍색이고 더 많은 기능이 있는 안드로이드용 마스토돈
|
||||
@@ -1 +0,0 @@
|
||||
Megalodon
|
||||
@@ -1 +0,0 @@
|
||||
Mastodon na Android ale jest różowy i ma więcej funkcji
|
||||
@@ -1 +0,0 @@
|
||||
Megalodon
|
||||
@@ -1,4 +0,0 @@
|
||||
- Preparar arquivos para lançamento no F-Droid
|
||||
- Corrigir o atualizador automático
|
||||
- Acrescentar ícones monocromáticos de volta aos ícones do lançador
|
||||
- Substituir o ícone errado não listado no rodapé estendido
|
||||
@@ -1,6 +0,0 @@
|
||||
- Possibilita a abertura da postagem original durante a resposta (clicando na linha “Em resposta a…”)
|
||||
- Mescla alterações upstream e correções de bugs
|
||||
- Remove o código “App Center” não utilizado
|
||||
- Adiciona lançamento sem linha do tempo federada para Play Store
|
||||
- Adicionar URI de redirecionamento personalizado para facilitar o login
|
||||
- Alteração do link de contribuição
|
||||
@@ -1,4 +0,0 @@
|
||||
- Corrigido o problema de renderização de tags HTML e habilitada a formatação Markdown de renderização
|
||||
- Criado o <a href="https://translate.codeberg.org/projects/megalodon">projeto de tradução Weblate</a>
|
||||
- Adicionada a opção de ativar ou desativar a linha do tempo Federada
|
||||
- As versões 52-54 foram pequenos ajustes para o lançamento na Google Play
|
||||
@@ -1,6 +0,0 @@
|
||||
- Temas de cores personalizados por @LucasGGamerM
|
||||
- Novo logotipo de texto "megalodon" enviado por @LucasGGamerM
|
||||
- Melhor pesquisa de emojis durante a composição
|
||||
- Votação aprimorada (exibe o próprio voto, sempre exibe o botão de votação, não corta respostas longas)
|
||||
- Adicionar configuração de notificação push para notificações de postagem
|
||||
- Correções de bugs
|
||||
@@ -1,5 +0,0 @@
|
||||
- Adicionado o seletor de idioma
|
||||
- Adicionada a função de tradução
|
||||
- Melhorada a semântica para votação em enquetes (botões de opção e caixas de seleção)
|
||||
- Adicionada a opção que permite a votação de várias opções nas enquetes
|
||||
- Correções de bugs
|
||||