Compare commits
20 Commits
develop
...
1.1.4+fork
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
584f28534a | ||
|
|
770fde7aac | ||
|
|
3d7f918132 | ||
|
|
29b8cedc7c | ||
|
|
33b65c3bf3 | ||
|
|
34ab1bcd9c | ||
|
|
cfdc88174b | ||
|
|
15123d8924 | ||
|
|
20086d76ce | ||
|
|
1ca4fb5c37 | ||
|
|
009016a835 | ||
|
|
33dfb2a30d | ||
|
|
1604c067fd | ||
|
|
0c7419e2b3 | ||
|
|
7cf30ccb98 | ||
|
|
aa2c8c5624 | ||
|
|
875695c239 | ||
|
|
61049a1302 | ||
|
|
28db90aa82 | ||
|
|
f0e7fc5e3b |
@@ -9,8 +9,8 @@ android {
|
|||||||
applicationId "org.joinmastodon.android.moshinda"
|
applicationId "org.joinmastodon.android.moshinda"
|
||||||
minSdk 23
|
minSdk 23
|
||||||
targetSdk 33
|
targetSdk 33
|
||||||
versionCode 72
|
versionCode 74
|
||||||
versionName "1.1.4+fork.72.moshinda"
|
versionName "1.1.4+fork.74.moshinda"
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
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"
|
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"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ public class GlobalUserPreferences{
|
|||||||
public static boolean disableMarquee;
|
public static boolean disableMarquee;
|
||||||
public static boolean disableSwipe;
|
public static boolean disableSwipe;
|
||||||
public static boolean voteButtonForSingleChoice;
|
public static boolean voteButtonForSingleChoice;
|
||||||
|
public static boolean showDifferentiatedPushNoticationIcons;
|
||||||
public static ThemePreference theme;
|
public static ThemePreference theme;
|
||||||
public static ColorPreference color;
|
public static ColorPreference color;
|
||||||
|
|
||||||
@@ -50,6 +51,7 @@ public class GlobalUserPreferences{
|
|||||||
showReplies=prefs.getBoolean("showReplies", true);
|
showReplies=prefs.getBoolean("showReplies", true);
|
||||||
showBoosts=prefs.getBoolean("showBoosts", true);
|
showBoosts=prefs.getBoolean("showBoosts", true);
|
||||||
loadNewPosts=prefs.getBoolean("loadNewPosts", true);
|
loadNewPosts=prefs.getBoolean("loadNewPosts", true);
|
||||||
|
showDifferentiatedPushNoticationIcons=prefs.getBoolean("showDifferentiatedPushNoticationIcons", false);
|
||||||
showFederatedTimeline=prefs.getBoolean("showFederatedTimeline", !BuildConfig.BUILD_TYPE.equals("playRelease"));
|
showFederatedTimeline=prefs.getBoolean("showFederatedTimeline", !BuildConfig.BUILD_TYPE.equals("playRelease"));
|
||||||
showInteractionCounts=prefs.getBoolean("showInteractionCounts", false);
|
showInteractionCounts=prefs.getBoolean("showInteractionCounts", false);
|
||||||
alwaysExpandContentWarnings=prefs.getBoolean("alwaysExpandContentWarnings", false);
|
alwaysExpandContentWarnings=prefs.getBoolean("alwaysExpandContentWarnings", false);
|
||||||
@@ -84,6 +86,7 @@ public class GlobalUserPreferences{
|
|||||||
.putBoolean("alwaysExpandContentWarnings", alwaysExpandContentWarnings)
|
.putBoolean("alwaysExpandContentWarnings", alwaysExpandContentWarnings)
|
||||||
.putBoolean("disableMarquee", disableMarquee)
|
.putBoolean("disableMarquee", disableMarquee)
|
||||||
.putBoolean("disableSwipe", disableSwipe)
|
.putBoolean("disableSwipe", disableSwipe)
|
||||||
|
.putBoolean("showDifferentiatedPushNoticationIcons", showDifferentiatedPushNoticationIcons)
|
||||||
.putInt("theme", theme.ordinal())
|
.putInt("theme", theme.ordinal())
|
||||||
.putString("color", color.name())
|
.putString("color", color.name())
|
||||||
.putString("recentLanguages", gson.toJson(recentLanguages))
|
.putString("recentLanguages", gson.toJson(recentLanguages))
|
||||||
@@ -98,7 +101,8 @@ public class GlobalUserPreferences{
|
|||||||
BLUE,
|
BLUE,
|
||||||
BROWN,
|
BROWN,
|
||||||
RED,
|
RED,
|
||||||
YELLOW
|
YELLOW,
|
||||||
|
NORD
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum ThemePreference{
|
public enum ThemePreference{
|
||||||
|
|||||||
@@ -143,14 +143,19 @@ public class PushNotificationReceiver extends BroadcastReceiver{
|
|||||||
.setCategory(Notification.CATEGORY_SOCIAL)
|
.setCategory(Notification.CATEGORY_SOCIAL)
|
||||||
.setAutoCancel(true)
|
.setAutoCancel(true)
|
||||||
.setColor(context.getColor(R.color.shortcut_icon_background));
|
.setColor(context.getColor(R.color.shortcut_icon_background));
|
||||||
switch (pn.notificationType) {
|
if(GlobalUserPreferences.showDifferentiatedPushNoticationIcons){
|
||||||
case FAVORITE -> builder.setSmallIcon(R.drawable.ic_fluent_star_24_filled);
|
switch (pn.notificationType) {
|
||||||
case REBLOG -> builder.setSmallIcon(R.drawable.ic_fluent_arrow_repeat_all_24_filled);
|
case FAVORITE -> builder.setSmallIcon(R.drawable.ic_fluent_star_24_filled);
|
||||||
case FOLLOW -> builder.setSmallIcon(R.drawable.ic_fluent_person_add_24_filled);
|
case REBLOG -> builder.setSmallIcon(R.drawable.ic_fluent_arrow_repeat_all_24_filled);
|
||||||
case MENTION -> builder.setSmallIcon(R.drawable.ic_fluent_mention_24_filled);
|
case FOLLOW -> builder.setSmallIcon(R.drawable.ic_fluent_person_add_24_filled);
|
||||||
case POLL -> builder.setSmallIcon(R.drawable.ic_fluent_poll_24_filled);
|
case MENTION -> builder.setSmallIcon(R.drawable.ic_fluent_mention_24_filled);
|
||||||
default -> builder.setSmallIcon(R.drawable.ic_ntf_logo);
|
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){
|
if(avatar!=null){
|
||||||
builder.setLargeIcon(UiUtils.getBitmapFromDrawable(avatar));
|
builder.setLargeIcon(UiUtils.getBitmapFromDrawable(avatar));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import android.graphics.Canvas;
|
|||||||
import android.graphics.Rect;
|
import android.graphics.Rect;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.provider.Settings;
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
@@ -50,7 +51,6 @@ import org.joinmastodon.android.ui.utils.UiUtils;
|
|||||||
import org.joinmastodon.android.updater.GithubSelfUpdater;
|
import org.joinmastodon.android.updater.GithubSelfUpdater;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
import androidx.annotation.DrawableRes;
|
import androidx.annotation.DrawableRes;
|
||||||
@@ -102,7 +102,25 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
|||||||
GlobalUserPreferences.disableMarquee=i.checked;
|
GlobalUserPreferences.disableMarquee=i.checked;
|
||||||
GlobalUserPreferences.save();
|
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 HeaderItem(R.string.settings_behavior));
|
||||||
items.add(new SwitchItem(R.string.settings_gif, R.drawable.ic_fluent_gif_24_regular, GlobalUserPreferences.playGifs, i->{
|
items.add(new SwitchItem(R.string.settings_gif, R.drawable.ic_fluent_gif_24_regular, GlobalUserPreferences.playGifs, i->{
|
||||||
@@ -126,6 +144,8 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
|||||||
GlobalUserPreferences.save();
|
GlobalUserPreferences.save();
|
||||||
needAppRestart=true;
|
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 HeaderItem(R.string.home_timeline));
|
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->{
|
items.add(new SwitchItem(R.string.sk_settings_show_replies, R.drawable.ic_fluent_chat_multiple_24_regular, GlobalUserPreferences.showReplies, i->{
|
||||||
@@ -248,13 +268,29 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
|||||||
restartActivityToApplyNewTheme();
|
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();
|
GlobalUserPreferences.save();
|
||||||
restartActivityToApplyNewTheme();
|
restartActivityToApplyNewTheme();
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void onTrueBlackThemeChanged(SwitchItem item){
|
private void onTrueBlackThemeChanged(SwitchItem item){
|
||||||
GlobalUserPreferences.trueBlackTheme=item.checked;
|
GlobalUserPreferences.trueBlackTheme=item.checked;
|
||||||
GlobalUserPreferences.save();
|
GlobalUserPreferences.save();
|
||||||
@@ -319,6 +355,12 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
|||||||
needUpdateNotificationSettings=true;
|
needUpdateNotificationSettings=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void onNotificationStyleChanged(SwitchItem item){
|
||||||
|
GlobalUserPreferences.showDifferentiatedPushNoticationIcons=item.checked;
|
||||||
|
GlobalUserPreferences.save();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void onNotificationsPolicyChanged(PushSubscription.Policy policy){
|
private void onNotificationsPolicyChanged(PushSubscription.Policy policy){
|
||||||
PushSubscription subscription=getPushSubscription();
|
PushSubscription subscription=getPushSubscription();
|
||||||
PushSubscription.Policy prevPolicy=subscription.policy;
|
PushSubscription.Policy prevPolicy=subscription.policy;
|
||||||
@@ -458,6 +500,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{
|
public class ColorPicker extends Item{
|
||||||
@Override
|
@Override
|
||||||
public int getViewType(){
|
public int getViewType(){
|
||||||
@@ -549,7 +608,7 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
|||||||
case 5 -> new HeaderViewHolder(true);
|
case 5 -> new HeaderViewHolder(true);
|
||||||
case 6 -> new FooterViewHolder();
|
case 6 -> new FooterViewHolder();
|
||||||
case 7 -> new UpdateViewHolder();
|
case 7 -> new UpdateViewHolder();
|
||||||
case 8 -> new ColorPickerViewHolder();
|
case 8 -> new ButtonViewHolder();
|
||||||
default -> throw new IllegalStateException("Unexpected value: "+viewType);
|
default -> throw new IllegalStateException("Unexpected value: "+viewType);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -678,78 +737,25 @@ public class SettingsFragment extends MastodonToolbarFragment{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private class ColorPickerViewHolder extends BindableViewHolder<ColorPicker>{
|
|
||||||
|
private class ButtonViewHolder extends BindableViewHolder<ButtonItem>{
|
||||||
private final Button button;
|
private final Button button;
|
||||||
private final PopupMenu popupMenu;
|
|
||||||
private final ImageView icon;
|
private final ImageView icon;
|
||||||
|
private final TextView text;
|
||||||
|
|
||||||
@SuppressLint("ClickableViewAccessibility")
|
@SuppressLint("ClickableViewAccessibility")
|
||||||
public ColorPickerViewHolder(){
|
public ButtonViewHolder(){
|
||||||
super(getActivity(), R.layout.item_settings_color_picker, list);
|
super(getActivity(), R.layout.item_settings_button, list);
|
||||||
|
text=findViewById(R.id.text);
|
||||||
icon=findViewById(R.id.icon);
|
icon=findViewById(R.id.icon);
|
||||||
button=findViewById(R.id.color_picker_button);
|
button=findViewById(R.id.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());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBind(ColorPicker item){
|
public void onBind(ButtonItem item){
|
||||||
icon.setImageResource(R.drawable.ic_fluent_color_24_regular);
|
text.setText(item.text);
|
||||||
button.setText(switch(GlobalUserPreferences.color){
|
icon.setImageResource(item.icon);
|
||||||
case PINK -> R.string.sk_color_palette_pink;
|
item.buttonConsumer.accept(button);
|
||||||
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;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,8 @@ public class ColorPalette {
|
|||||||
ColorPreference.BLUE, new ColorPalette(R.style.ColorPalette_Blue),
|
ColorPreference.BLUE, new ColorPalette(R.style.ColorPalette_Blue),
|
||||||
ColorPreference.BROWN, new ColorPalette(R.style.ColorPalette_Brown),
|
ColorPreference.BROWN, new ColorPalette(R.style.ColorPalette_Brown),
|
||||||
ColorPreference.RED, new ColorPalette(R.style.ColorPalette_Red),
|
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;
|
private @StyleRes int base;
|
||||||
|
|||||||
46
mastodon/src/main/res/layout/item_settings_button.xml
Normal file
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>
|
||||||
@@ -5,7 +5,8 @@
|
|||||||
<item android:id="@+id/pink_color" android:title="@string/sk_color_palette_pink"/>
|
<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/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/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/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/red_color" android:title="@string/sk_color_palette_red"/>
|
||||||
|
<item android:id="@+id/nord_color" android:title="@string/sk_color_palette_nord"/>
|
||||||
</menu>
|
</menu>
|
||||||
@@ -292,4 +292,31 @@
|
|||||||
<color name="red_gray_50t">#ffede6ca</color>
|
<color name="red_gray_50t">#ffede6ca</color>
|
||||||
<color name="red_gray_50">#ffede6</color>
|
<color name="red_gray_50">#ffede6</color>
|
||||||
<color name="red_gray_25">#f7f8fa</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_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>
|
</resources>
|
||||||
@@ -232,4 +232,34 @@
|
|||||||
<item name="colorGray50">@color/red_gray_50</item>
|
<item name="colorGray50">@color/red_gray_50</item>
|
||||||
<item name="colorGray25">@color/red_gray_25</item>
|
<item name="colorGray25">@color/red_gray_25</item>
|
||||||
</style>
|
</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="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>
|
</resources>
|
||||||
@@ -49,6 +49,7 @@
|
|||||||
<string name="sk_color_palette_brown">Brown</string>
|
<string name="sk_color_palette_brown">Brown</string>
|
||||||
<string name="sk_color_palette_red">Red</string>
|
<string name="sk_color_palette_red">Red</string>
|
||||||
<string name="sk_color_palette_yellow">Yellow</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_poll_allow_multiple">Allow multiple choices</string>
|
||||||
<string name="sk_translate_post">Translate</string>
|
<string name="sk_translate_post">Translate</string>
|
||||||
<string name="sk_translate_show_original">Show original</string>
|
<string name="sk_translate_show_original">Show original</string>
|
||||||
@@ -77,6 +78,7 @@
|
|||||||
<string name="sk_clear_all_notifications_confirm_action">Delete all</string>
|
<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_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_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">Publish button text</string>
|
||||||
<string name="sk_settings_publish_button_text_title">Customize 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>
|
<string name="sk_settings_hide_translate_in_timeline">Hide translate button in timeline</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user