Settings tweaks
This commit is contained in:
parent
a78b0687f7
commit
315d26ad52
@ -9,7 +9,7 @@ android {
|
|||||||
applicationId "org.joinmastodon.android"
|
applicationId "org.joinmastodon.android"
|
||||||
minSdk 23
|
minSdk 23
|
||||||
targetSdk 33
|
targetSdk 33
|
||||||
versionCode 56
|
versionCode 57
|
||||||
versionName "1.3.0"
|
versionName "1.3.0"
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
resConfigs "ar-rSA", "be-rBY", "bn-rBD", "bs-rBA", "ca-rES", "cs-rCZ", "da-rDK", "de-rDE", "el-rGR", "es-rES", "eu-rES", "fa-rIR", "fi-rFI", "fil-rPH", "fr-rFR", "ga-rIE", "gd-rGB", "gl-rES", "hi-rIN", "hr-rHR", "hu-rHU", "hy-rAM", "ig-rNG", "in-rID", "is-rIS", "it-rIT", "iw-rIL", "ja-rJP", "kab", "ko-rKR", "my-rMM", "nl-rNL", "no-rNO", "oc-rFR", "pl-rPL", "pt-rBR", "pt-rPT", "ro-rRO", "ru-rRU", "si-rLK", "sl-rSI", "sv-rSE", "th-rTH", "tr-rTR", "uk-rUA", "ur-rIN", "vi-rVN", "zh-rCN", "zh-rTW"
|
resConfigs "ar-rSA", "be-rBY", "bn-rBD", "bs-rBA", "ca-rES", "cs-rCZ", "da-rDK", "de-rDE", "el-rGR", "es-rES", "eu-rES", "fa-rIR", "fi-rFI", "fil-rPH", "fr-rFR", "ga-rIE", "gd-rGB", "gl-rES", "hi-rIN", "hr-rHR", "hu-rHU", "hy-rAM", "ig-rNG", "in-rID", "is-rIS", "it-rIT", "iw-rIL", "ja-rJP", "kab", "ko-rKR", "my-rMM", "nl-rNL", "no-rNO", "oc-rFR", "pl-rPL", "pt-rBR", "pt-rPT", "ro-rRO", "ru-rRU", "si-rLK", "sl-rSI", "sv-rSE", "th-rTH", "tr-rTR", "uk-rUA", "ur-rIN", "vi-rVN", "zh-rCN", "zh-rTW"
|
||||||
|
@ -119,7 +119,6 @@ public class EditFilterFragment extends BaseSettingsFragment<Void> implements On
|
|||||||
int[] durationOptions={
|
int[] durationOptions={
|
||||||
1800,
|
1800,
|
||||||
3600,
|
3600,
|
||||||
6*3600,
|
|
||||||
12*3600,
|
12*3600,
|
||||||
24*3600,
|
24*3600,
|
||||||
3*24*3600,
|
3*24*3600,
|
||||||
@ -129,21 +128,24 @@ public class EditFilterFragment extends BaseSettingsFragment<Void> implements On
|
|||||||
options.add(0, getString(R.string.filter_duration_forever));
|
options.add(0, getString(R.string.filter_duration_forever));
|
||||||
options.add(getString(R.string.filter_duration_custom));
|
options.add(getString(R.string.filter_duration_custom));
|
||||||
Instant[] newEnd={null};
|
Instant[] newEnd={null};
|
||||||
|
boolean[] isCustom={false};
|
||||||
AlertDialog alert=new M3AlertDialogBuilder(getActivity())
|
AlertDialog alert=new M3AlertDialogBuilder(getActivity())
|
||||||
.setTitle(R.string.settings_filter_duration_title)
|
.setTitle(R.string.settings_filter_duration_title)
|
||||||
.setSupportingText(endsAt==null ? null : getString(R.string.settings_filter_ends, UiUtils.formatRelativeTimestampAsMinutesAgo(getActivity(), endsAt, false)))
|
.setSupportingText(endsAt==null ? null : getString(R.string.settings_filter_ends, UiUtils.formatRelativeTimestampAsMinutesAgo(getActivity(), endsAt, false)))
|
||||||
.setSingleChoiceItems(options.toArray(new String[0]), -1, (dlg, item)->{
|
.setSingleChoiceItems(options.toArray(new String[0]), -1, (dlg, item)->{
|
||||||
AlertDialog a=(AlertDialog) dlg;
|
AlertDialog a=(AlertDialog) dlg;
|
||||||
if(item==options.size()-1){ // custom
|
if(item==options.size()-1){ // custom
|
||||||
showCustomDurationAlert(date->{
|
showCustomDurationAlert(isCustom[0] ? newEnd[0] : null, date->{
|
||||||
if(date==null){
|
if(date==null){
|
||||||
a.getListView().setItemChecked(item, false);
|
a.getListView().setItemChecked(item, false);
|
||||||
}else{
|
}else{
|
||||||
|
isCustom[0]=true;
|
||||||
newEnd[0]=date;
|
newEnd[0]=date;
|
||||||
a.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(true);
|
a.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}else{
|
}else{
|
||||||
|
isCustom[0]=false;
|
||||||
if(item==0){
|
if(item==0){
|
||||||
newEnd[0]=null;
|
newEnd[0]=null;
|
||||||
}else{
|
}else{
|
||||||
@ -164,9 +166,13 @@ public class EditFilterFragment extends BaseSettingsFragment<Void> implements On
|
|||||||
alert.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
|
alert.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showCustomDurationAlert(Consumer<Instant> callback){
|
private void showCustomDurationAlert(Instant currentValue, Consumer<Instant> callback){
|
||||||
DatePicker picker=new DatePicker(getActivity());
|
DatePicker picker=new DatePicker(getActivity());
|
||||||
picker.setMinDate(LocalDate.now().plusDays(1).atStartOfDay(ZoneId.systemDefault()).toEpochSecond()*1000L);
|
picker.setMinDate(LocalDate.now().plusDays(1).atStartOfDay(ZoneId.systemDefault()).toEpochSecond()*1000L);
|
||||||
|
if(currentValue!=null){
|
||||||
|
ZonedDateTime dt=currentValue.atZone(ZoneId.systemDefault());
|
||||||
|
picker.updateDate(dt.getYear(), dt.getMonthValue()-1, dt.getDayOfMonth());
|
||||||
|
}
|
||||||
AlertDialog alert=new M3AlertDialogBuilder(getActivity())
|
AlertDialog alert=new M3AlertDialogBuilder(getActivity())
|
||||||
.setView(picker)
|
.setView(picker)
|
||||||
.setPositiveButton(R.string.ok, (dlg, item)->{
|
.setPositiveButton(R.string.ok, (dlg, item)->{
|
||||||
|
@ -54,7 +54,6 @@ public class SettingsMainFragment extends BaseSettingsFragment<Void>{
|
|||||||
new ListItem<>(R.string.settings_display, 0, R.drawable.ic_style_24px, this::onDisplayClick),
|
new ListItem<>(R.string.settings_display, 0, R.drawable.ic_style_24px, this::onDisplayClick),
|
||||||
new ListItem<>(R.string.settings_filters, 0, R.drawable.ic_filter_alt_24px, this::onFiltersClick),
|
new ListItem<>(R.string.settings_filters, 0, R.drawable.ic_filter_alt_24px, this::onFiltersClick),
|
||||||
new ListItem<>(R.string.settings_notifications, 0, R.drawable.ic_notifications_24px, this::onNotificationsClick),
|
new ListItem<>(R.string.settings_notifications, 0, R.drawable.ic_notifications_24px, this::onNotificationsClick),
|
||||||
new ListItem<>(R.string.settings_privacy, 0, R.drawable.ic_lock_24px, this::onPrivacyClick, 0, true),
|
|
||||||
new ListItem<>(AccountSessionManager.get(accountID).domain, getString(R.string.settings_server_explanation), R.drawable.ic_dns_24px, this::onServerClick),
|
new ListItem<>(AccountSessionManager.get(accountID).domain, getString(R.string.settings_server_explanation), R.drawable.ic_dns_24px, this::onServerClick),
|
||||||
new ListItem<>(getString(R.string.about_app, getString(R.string.app_name)), null, R.drawable.ic_info_24px, this::onAboutClick, null, 0, true),
|
new ListItem<>(getString(R.string.about_app, getString(R.string.app_name)), null, R.drawable.ic_info_24px, this::onAboutClick, null, 0, true),
|
||||||
new ListItem<>(R.string.log_out, 0, R.drawable.ic_logout_24px, this::onLogOutClick, R.attr.colorM3Error, false)
|
new ListItem<>(R.string.log_out, 0, R.drawable.ic_logout_24px, this::onLogOutClick, R.attr.colorM3Error, false)
|
||||||
@ -142,10 +141,6 @@ public class SettingsMainFragment extends BaseSettingsFragment<Void>{
|
|||||||
Nav.go(getActivity(), SettingsNotificationsFragment.class, makeFragmentArgs());
|
Nav.go(getActivity(), SettingsNotificationsFragment.class, makeFragmentArgs());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onPrivacyClick(){
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void onServerClick(){
|
private void onServerClick(){
|
||||||
Nav.go(getActivity(), SettingsServerFragment.class, makeFragmentArgs());
|
Nav.go(getActivity(), SettingsServerFragment.class, makeFragmentArgs());
|
||||||
}
|
}
|
||||||
|
@ -187,7 +187,6 @@ public class SettingsNotificationsFragment extends BaseSettingsFragment<Void>{
|
|||||||
int[] durationOptions={
|
int[] durationOptions={
|
||||||
1800,
|
1800,
|
||||||
3600,
|
3600,
|
||||||
6*3600,
|
|
||||||
12*3600,
|
12*3600,
|
||||||
24*3600,
|
24*3600,
|
||||||
3*24*3600,
|
3*24*3600,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user