mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2024-11-07 03:07:26 +01:00
Add Miscellaneous settings. Rearange settings. Add an option: Respect Subreddit Recommended Comment Sort Type.
This commit is contained in:
parent
1283ad62bb
commit
966f41f3b6
@ -216,6 +216,7 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
|
||||
private boolean mLockFab;
|
||||
private boolean mSwipeUpToHideFab;
|
||||
private boolean mExpandChildren;
|
||||
private boolean mRespectSubredditRecommendedSortType;
|
||||
private int mWindowWidth;
|
||||
private LinearLayoutManager mLinearLayoutManager;
|
||||
private CommentAndPostRecyclerViewAdapter mAdapter;
|
||||
@ -296,6 +297,7 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
|
||||
mLockFab = mSharedPreferences.getBoolean(SharedPreferencesUtils.LOCK_JUMP_TO_NEXT_TOP_LEVEL_COMMENT_BUTTON, false);
|
||||
mSwipeUpToHideFab = mSharedPreferences.getBoolean(SharedPreferencesUtils.SWIPE_UP_TO_HIDE_JUMP_TO_NEXT_TOP_LEVEL_COMMENT_BUTTON, false);
|
||||
mExpandChildren = !mSharedPreferences.getBoolean(SharedPreferencesUtils.SHOW_TOP_LEVEL_COMMENTS_FIRST, false);
|
||||
mRespectSubredditRecommendedSortType = mSharedPreferences.getBoolean(SharedPreferencesUtils.RESPECT_SUBREDDIT_RECOMMENDED_COMMENT_SORT_TYPE, false);
|
||||
|
||||
mGlide = Glide.with(this);
|
||||
Resources resources = getResources();
|
||||
|
@ -68,6 +68,7 @@ import ml.docilealligator.infinityforreddit.Settings.CustomizeMainPageTabsFragme
|
||||
import ml.docilealligator.infinityforreddit.Settings.DownloadLocationPreferenceFragment;
|
||||
import ml.docilealligator.infinityforreddit.Settings.GesturesAndButtonsPreferenceFragment;
|
||||
import ml.docilealligator.infinityforreddit.Settings.MainPreferenceFragment;
|
||||
import ml.docilealligator.infinityforreddit.Settings.MiscellaneousPreferenceFragment;
|
||||
import ml.docilealligator.infinityforreddit.Settings.NotificationPreferenceFragment;
|
||||
import ml.docilealligator.infinityforreddit.Settings.NsfwAndBlurringFragment;
|
||||
import ml.docilealligator.infinityforreddit.Settings.SecurityPreferenceFragment;
|
||||
@ -221,4 +222,6 @@ public interface AppComponent {
|
||||
void inject(TranslationFragment translationFragment);
|
||||
|
||||
void inject(FetchRandomSubredditOrPostActivity fetchRandomSubredditOrPostActivity);
|
||||
|
||||
void inject(MiscellaneousPreferenceFragment miscellaneousPreferenceFragment);
|
||||
}
|
||||
|
@ -10,15 +10,10 @@ import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.biometric.BiometricManager;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
||||
import ml.docilealligator.infinityforreddit.Event.ChangeSavePostFeedScrolledPositionEvent;
|
||||
import ml.docilealligator.infinityforreddit.Event.RecreateActivityEvent;
|
||||
import ml.docilealligator.infinityforreddit.Infinity;
|
||||
import ml.docilealligator.infinityforreddit.R;
|
||||
import ml.docilealligator.infinityforreddit.Utils.SharedPreferencesUtils;
|
||||
@ -31,9 +26,6 @@ public class MainPreferenceFragment extends PreferenceFragmentCompat {
|
||||
@Inject
|
||||
@Named("default")
|
||||
SharedPreferences sharedPreferences;
|
||||
@Inject
|
||||
@Named("post_feed_scrolled_position_cache")
|
||||
SharedPreferences cache;
|
||||
private AppCompatActivity activity;
|
||||
|
||||
@Override
|
||||
@ -42,25 +34,6 @@ public class MainPreferenceFragment extends PreferenceFragmentCompat {
|
||||
((Infinity) activity.getApplication()).getAppComponent().inject(this);
|
||||
|
||||
Preference securityPreference = findPreference(SharedPreferencesUtils.SECURITY);
|
||||
SwitchPreference savePostFeedScrolledPositionSwitch = findPreference(SharedPreferencesUtils.SAVE_FRONT_PAGE_SCROLLED_POSITION);
|
||||
SwitchPreference confirmToExitSwitch = findPreference(SharedPreferencesUtils.CONFIRM_TO_EXIT);
|
||||
|
||||
if (savePostFeedScrolledPositionSwitch != null) {
|
||||
savePostFeedScrolledPositionSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
if (!(Boolean) newValue) {
|
||||
cache.edit().clear().apply();
|
||||
}
|
||||
EventBus.getDefault().post(new ChangeSavePostFeedScrolledPositionEvent((Boolean) newValue));
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
if (confirmToExitSwitch != null) {
|
||||
confirmToExitSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
EventBus.getDefault().post(new RecreateActivityEvent());
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
BiometricManager biometricManager = BiometricManager.from(activity);
|
||||
if (biometricManager.canAuthenticate(BIOMETRIC_STRONG | DEVICE_CREDENTIAL) != BiometricManager.BIOMETRIC_SUCCESS) {
|
||||
|
@ -0,0 +1,67 @@
|
||||
package ml.docilealligator.infinityforreddit.Settings;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
||||
import ml.docilealligator.infinityforreddit.Event.ChangeSavePostFeedScrolledPositionEvent;
|
||||
import ml.docilealligator.infinityforreddit.Event.RecreateActivityEvent;
|
||||
import ml.docilealligator.infinityforreddit.Infinity;
|
||||
import ml.docilealligator.infinityforreddit.R;
|
||||
import ml.docilealligator.infinityforreddit.Utils.SharedPreferencesUtils;
|
||||
|
||||
public class MiscellaneousPreferenceFragment extends PreferenceFragmentCompat {
|
||||
|
||||
@Inject
|
||||
@Named("post_feed_scrolled_position_cache")
|
||||
SharedPreferences cache;
|
||||
private Activity activity;
|
||||
|
||||
public MiscellaneousPreferenceFragment() {
|
||||
// Required empty public constructor
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
setPreferencesFromResource(R.xml.miscellaneous_preferences, rootKey);
|
||||
|
||||
((Infinity) activity.getApplication()).getAppComponent().inject(this);
|
||||
|
||||
SwitchPreference confirmToExitSwitch = findPreference(SharedPreferencesUtils.CONFIRM_TO_EXIT);
|
||||
SwitchPreference savePostFeedScrolledPositionSwitch = findPreference(SharedPreferencesUtils.SAVE_FRONT_PAGE_SCROLLED_POSITION);
|
||||
|
||||
if (confirmToExitSwitch != null) {
|
||||
confirmToExitSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
EventBus.getDefault().post(new RecreateActivityEvent());
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
if (savePostFeedScrolledPositionSwitch != null) {
|
||||
savePostFeedScrolledPositionSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
if (!(Boolean) newValue) {
|
||||
cache.edit().clear().apply();
|
||||
}
|
||||
EventBus.getDefault().post(new ChangeSavePostFeedScrolledPositionEvent((Boolean) newValue));
|
||||
return true;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttach(@NonNull Context context) {
|
||||
super.onAttach(context);
|
||||
activity = (AppCompatActivity) context;
|
||||
}
|
||||
}
|
@ -135,6 +135,7 @@ public class SharedPreferencesUtils {
|
||||
public static final String DATA_SAVING_MODE_ONLY_ON_CELLULAR_DATA = "1";
|
||||
public static final String DATA_SAVING_MODE_ALWAYS = "2";
|
||||
public static final String NATIONAL_FLAGS = "national_flags";
|
||||
public static final String RESPECT_SUBREDDIT_RECOMMENDED_COMMENT_SORT_TYPE = "respect_subreddit_recommended_comment_sort_type";
|
||||
|
||||
public static final String MAIN_PAGE_TABS_SHARED_PREFERENCES_FILE = "ml.docilealligator.infinityforreddit.main_page_tabs";
|
||||
public static final String MAIN_PAGE_TAB_COUNT = "_main_page_tab_count";
|
||||
|
12
app/src/main/res/drawable-night/ic_miscellaneous_24dp.xml
Normal file
12
app/src/main/res/drawable-night/ic_miscellaneous_24dp.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<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="M14.17,13.71l1.4,-2.42c0.09,-0.15 0.05,-0.34 -0.08,-0.45l-1.48,-1.16c0.03,-0.22 0.05,-0.45 0.05,-0.68s-0.02,-0.46 -0.05,-0.69l1.48,-1.16c0.13,-0.11 0.17,-0.3 0.08,-0.45l-1.4,-2.42c-0.09,-0.15 -0.27,-0.21 -0.43,-0.15L12,4.83c-0.36,-0.28 -0.75,-0.51 -1.18,-0.69l-0.26,-1.85C10.53,2.13 10.38,2 10.21,2h-2.8C7.24,2 7.09,2.13 7.06,2.3L6.8,4.15C6.38,4.33 5.98,4.56 5.62,4.84l-1.74,-0.7c-0.16,-0.06 -0.34,0 -0.43,0.15l-1.4,2.42C1.96,6.86 2,7.05 2.13,7.16l1.48,1.16C3.58,8.54 3.56,8.77 3.56,9s0.02,0.46 0.05,0.69l-1.48,1.16C2,10.96 1.96,11.15 2.05,11.3l1.4,2.42c0.09,0.15 0.27,0.21 0.43,0.15l1.74,-0.7c0.36,0.28 0.75,0.51 1.18,0.69l0.26,1.85C7.09,15.87 7.24,16 7.41,16h2.8c0.17,0 0.32,-0.13 0.35,-0.3l0.26,-1.85c0.42,-0.18 0.82,-0.41 1.18,-0.69l1.74,0.7C13.9,13.92 14.08,13.86 14.17,13.71zM8.81,11c-1.1,0 -2,-0.9 -2,-2c0,-1.1 0.9,-2 2,-2s2,0.9 2,2C10.81,10.1 9.91,11 8.81,11z"
|
||||
android:fillColor="#FFFFFF"/>
|
||||
<path
|
||||
android:pathData="M21.92,18.67l-0.96,-0.74c0.02,-0.14 0.04,-0.29 0.04,-0.44c0,-0.15 -0.01,-0.3 -0.04,-0.44l0.95,-0.74c0.08,-0.07 0.11,-0.19 0.05,-0.29l-0.9,-1.55c-0.05,-0.1 -0.17,-0.13 -0.28,-0.1l-1.11,0.45c-0.23,-0.18 -0.48,-0.33 -0.76,-0.44l-0.17,-1.18C18.73,13.08 18.63,13 18.53,13h-1.79c-0.11,0 -0.21,0.08 -0.22,0.19l-0.17,1.18c-0.27,0.12 -0.53,0.26 -0.76,0.44l-1.11,-0.45c-0.1,-0.04 -0.22,0 -0.28,0.1l-0.9,1.55c-0.05,0.1 -0.04,0.22 0.05,0.29l0.95,0.74c-0.02,0.14 -0.03,0.29 -0.03,0.44c0,0.15 0.01,0.3 0.03,0.44l-0.95,0.74c-0.08,0.07 -0.11,0.19 -0.05,0.29l0.9,1.55c0.05,0.1 0.17,0.13 0.28,0.1l1.11,-0.45c0.23,0.18 0.48,0.33 0.76,0.44l0.17,1.18c0.02,0.11 0.11,0.19 0.22,0.19h1.79c0.11,0 0.21,-0.08 0.22,-0.19l0.17,-1.18c0.27,-0.12 0.53,-0.26 0.75,-0.44l1.12,0.45c0.1,0.04 0.22,0 0.28,-0.1l0.9,-1.55C22.03,18.86 22,18.74 21.92,18.67zM17.63,18.83c-0.74,0 -1.35,-0.6 -1.35,-1.35s0.6,-1.35 1.35,-1.35s1.35,0.6 1.35,1.35S18.37,18.83 17.63,18.83z"
|
||||
android:fillColor="#FFFFFF"/>
|
||||
</vector>
|
12
app/src/main/res/drawable/ic_miscellaneous_24dp.xml
Normal file
12
app/src/main/res/drawable/ic_miscellaneous_24dp.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<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="M14.17,13.71l1.4,-2.42c0.09,-0.15 0.05,-0.34 -0.08,-0.45l-1.48,-1.16c0.03,-0.22 0.05,-0.45 0.05,-0.68s-0.02,-0.46 -0.05,-0.69l1.48,-1.16c0.13,-0.11 0.17,-0.3 0.08,-0.45l-1.4,-2.42c-0.09,-0.15 -0.27,-0.21 -0.43,-0.15L12,4.83c-0.36,-0.28 -0.75,-0.51 -1.18,-0.69l-0.26,-1.85C10.53,2.13 10.38,2 10.21,2h-2.8C7.24,2 7.09,2.13 7.06,2.3L6.8,4.15C6.38,4.33 5.98,4.56 5.62,4.84l-1.74,-0.7c-0.16,-0.06 -0.34,0 -0.43,0.15l-1.4,2.42C1.96,6.86 2,7.05 2.13,7.16l1.48,1.16C3.58,8.54 3.56,8.77 3.56,9s0.02,0.46 0.05,0.69l-1.48,1.16C2,10.96 1.96,11.15 2.05,11.3l1.4,2.42c0.09,0.15 0.27,0.21 0.43,0.15l1.74,-0.7c0.36,0.28 0.75,0.51 1.18,0.69l0.26,1.85C7.09,15.87 7.24,16 7.41,16h2.8c0.17,0 0.32,-0.13 0.35,-0.3l0.26,-1.85c0.42,-0.18 0.82,-0.41 1.18,-0.69l1.74,0.7C13.9,13.92 14.08,13.86 14.17,13.71zM8.81,11c-1.1,0 -2,-0.9 -2,-2c0,-1.1 0.9,-2 2,-2s2,0.9 2,2C10.81,10.1 9.91,11 8.81,11z"
|
||||
android:fillColor="#000000"/>
|
||||
<path
|
||||
android:pathData="M21.92,18.67l-0.96,-0.74c0.02,-0.14 0.04,-0.29 0.04,-0.44c0,-0.15 -0.01,-0.3 -0.04,-0.44l0.95,-0.74c0.08,-0.07 0.11,-0.19 0.05,-0.29l-0.9,-1.55c-0.05,-0.1 -0.17,-0.13 -0.28,-0.1l-1.11,0.45c-0.23,-0.18 -0.48,-0.33 -0.76,-0.44l-0.17,-1.18C18.73,13.08 18.63,13 18.53,13h-1.79c-0.11,0 -0.21,0.08 -0.22,0.19l-0.17,1.18c-0.27,0.12 -0.53,0.26 -0.76,0.44l-1.11,-0.45c-0.1,-0.04 -0.22,0 -0.28,0.1l-0.9,1.55c-0.05,0.1 -0.04,0.22 0.05,0.29l0.95,0.74c-0.02,0.14 -0.03,0.29 -0.03,0.44c0,0.15 0.01,0.3 0.03,0.44l-0.95,0.74c-0.08,0.07 -0.11,0.19 -0.05,0.29l0.9,1.55c0.05,0.1 0.17,0.13 0.28,0.1l1.11,-0.45c0.23,0.18 0.48,0.33 0.76,0.44l0.17,1.18c0.02,0.11 0.11,0.19 0.22,0.19h1.79c0.11,0 0.21,-0.08 0.22,-0.19l0.17,-1.18c0.27,-0.12 0.53,-0.26 0.75,-0.44l1.12,0.45c0.1,0.04 0.22,0 0.28,-0.1l0.9,-1.55C22.03,18.86 22,18.74 21.92,18.67zM17.63,18.83c-0.74,0 -1.35,-0.6 -1.35,-1.35s0.6,-1.35 1.35,-1.35s1.35,0.6 1.35,1.35S18.37,18.83 17.63,18.83z"
|
||||
android:fillColor="#000000"/>
|
||||
</vector>
|
@ -494,6 +494,9 @@
|
||||
<string name="settings_translation_summary">Translate this app on POEditor. Thanks to all contributors.</string>
|
||||
<string name="settings_credits_national_flags">National Flags</string>
|
||||
<string name="settings_credits_national_flags_summary">Icon made by Freepik from www.flaticon.com</string>
|
||||
<string name="settings_miscellaneous_title">Miscellaneous</string>
|
||||
<string name="settings_respect_subreddit_recommended_comment_sort_type_title">Respect Subreddit Recommended Comment Sort Type</string>
|
||||
<string name="settings_respect_subreddit_recommended_comment_sort_type_summary">Comment sort type will not be saved</string>
|
||||
|
||||
<string name="no_link_available">Cannot get the link</string>
|
||||
|
||||
|
@ -53,29 +53,16 @@
|
||||
app:icon="@drawable/ic_data_saving_mode_black_24dp"
|
||||
app:fragment="ml.docilealligator.infinityforreddit.Settings.DataSavingModePreferenceFragment" />
|
||||
|
||||
<SwitchPreference
|
||||
app:defaultValue="false"
|
||||
app:key="save_front_page_scrolled_position"
|
||||
app:title="@string/settings_save_front_page_scrolled_position_title"
|
||||
app:summary="@string/settings_save_front_page_scrolled_position_summary" />
|
||||
|
||||
<SwitchPreference
|
||||
app:defaultValue="false"
|
||||
app:icon="@drawable/ic_link"
|
||||
app:key="open_link_in_app"
|
||||
app:title="@string/settings_open_link_in_app_title" />
|
||||
|
||||
<SwitchPreference
|
||||
app:defaultValue="false"
|
||||
app:key="confirm_to_exit"
|
||||
app:icon="@drawable/ic_exit_24dp"
|
||||
app:title="@string/settings_confirm_to_exit" />
|
||||
|
||||
<Preference
|
||||
app:icon="@drawable/ic_nsfw_on_24dp"
|
||||
app:title="@string/settings_nsfw_and_spoiler_title"
|
||||
app:fragment="ml.docilealligator.infinityforreddit.Settings.NsfwAndBlurringFragment"/>
|
||||
|
||||
<Preference
|
||||
app:icon="@drawable/ic_miscellaneous_24dp"
|
||||
app:title="@string/settings_miscellaneous_title"
|
||||
app:fragment="ml.docilealligator.infinityforreddit.Settings.MiscellaneousPreferenceFragment"/>
|
||||
|
||||
<Preference
|
||||
app:title="@string/settings_advanced_master_title"
|
||||
app:fragment="ml.docilealligator.infinityforreddit.Settings.AdvancedPreferenceFragment" />
|
||||
|
28
app/src/main/res/xml/miscellaneous_preferences.xml
Normal file
28
app/src/main/res/xml/miscellaneous_preferences.xml
Normal file
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<SwitchPreference
|
||||
app:defaultValue="false"
|
||||
app:key="save_front_page_scrolled_position"
|
||||
app:title="@string/settings_save_front_page_scrolled_position_title"
|
||||
app:summary="@string/settings_save_front_page_scrolled_position_summary" />
|
||||
|
||||
<SwitchPreference
|
||||
app:defaultValue="false"
|
||||
app:icon="@drawable/ic_link"
|
||||
app:key="open_link_in_app"
|
||||
app:title="@string/settings_open_link_in_app_title" />
|
||||
|
||||
<SwitchPreference
|
||||
app:defaultValue="false"
|
||||
app:key="confirm_to_exit"
|
||||
app:icon="@drawable/ic_exit_24dp"
|
||||
app:title="@string/settings_confirm_to_exit" />
|
||||
|
||||
<SwitchPreference
|
||||
app:defaultValue="false"
|
||||
app:key="respect_subreddit_recommended_comment_sort_type"
|
||||
app:title="@string/settings_respect_subreddit_recommended_comment_sort_type_title"
|
||||
app:summary="@string/settings_respect_subreddit_recommended_comment_sort_type_summary" />
|
||||
|
||||
</PreferenceScreen>
|
Loading…
Reference in New Issue
Block a user