aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/Settings
diff options
context:
space:
mode:
authorAlex Ning <chineseperson5@gmail.com>2019-09-29 01:49:30 +0000
committerAlex Ning <chineseperson5@gmail.com>2019-09-29 01:49:30 +0000
commit3227e43fc4bc914f8bde1d06017ae16ced3fe278 (patch)
tree4a73e51c771fee9fdb150965990d4400d493f192 /app/src/main/java/Settings
parent47832e1e91db7e355b8122e1b533966c8df5ddba (diff)
downloadinfinity-for-reddit-3227e43fc4bc914f8bde1d06017ae16ced3fe278.tar
infinity-for-reddit-3227e43fc4bc914f8bde1d06017ae16ced3fe278.tar.gz
infinity-for-reddit-3227e43fc4bc914f8bde1d06017ae16ced3fe278.tar.bz2
infinity-for-reddit-3227e43fc4bc914f8bde1d06017ae16ced3fe278.tar.lz
infinity-for-reddit-3227e43fc4bc914f8bde1d06017ae16ced3fe278.tar.xz
infinity-for-reddit-3227e43fc4bc914f8bde1d06017ae16ced3fe278.tar.zst
infinity-for-reddit-3227e43fc4bc914f8bde1d06017ae16ced3fe278.zip
Change project structures.
Diffstat (limited to 'app/src/main/java/Settings')
-rw-r--r--app/src/main/java/Settings/AboutPreferenceFragment.java91
-rw-r--r--app/src/main/java/Settings/Acknowledgement.java27
-rw-r--r--app/src/main/java/Settings/AcknowledgementFragment.java106
-rw-r--r--app/src/main/java/Settings/AcknowledgementRecyclerViewAdapter.java67
-rw-r--r--app/src/main/java/Settings/CreditsPreferenceFragment.java100
-rw-r--r--app/src/main/java/Settings/FontSizePreferenceFragment.java49
-rw-r--r--app/src/main/java/Settings/MainPreferenceFragment.java113
-rw-r--r--app/src/main/java/Settings/NotificationPreferenceFragment.java118
8 files changed, 0 insertions, 671 deletions
diff --git a/app/src/main/java/Settings/AboutPreferenceFragment.java b/app/src/main/java/Settings/AboutPreferenceFragment.java
deleted file mode 100644
index f2ba0518..00000000
--- a/app/src/main/java/Settings/AboutPreferenceFragment.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package Settings;
-
-
-import android.app.Activity;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.widget.Toast;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceFragmentCompat;
-
-import ml.docilealligator.infinityforreddit.LinkResolverActivity;
-import ml.docilealligator.infinityforreddit.R;
-import ml.docilealligator.infinityforreddit.SharedPreferencesUtils;
-
-/**
- * A simple {@link PreferenceFragmentCompat} subclass.
- */
-public class AboutPreferenceFragment extends PreferenceFragmentCompat {
-
- @Override
- public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
- setPreferencesFromResource(R.xml.about_preferences, rootKey);
-
- Preference openSourcePreference = findPreference(SharedPreferencesUtils.OPEN_SOURCE_KEY);
- Preference reviewPreference = findPreference(SharedPreferencesUtils.RATE_KEY);
- Preference emailPreference = findPreference(SharedPreferencesUtils.EMAIL_KEY);
- Preference redditAccountPreference = findPreference(SharedPreferencesUtils.REDDIT_ACCOUNT_KEY);
- Preference subredditPreference = findPreference(SharedPreferencesUtils.SUBREDDIT_KEY);
-
- Activity activity = getActivity();
-
- if(activity != null) {
- if(openSourcePreference != null) {
- openSourcePreference.setOnPreferenceClickListener(preference -> {
- Intent intent = new Intent(activity, LinkResolverActivity.class);
- intent.setData(Uri.parse("https://github.com/Docile-Alligator/Infinity-For-Reddit"));
- startActivity(intent);
- return true;
- });
- }
-
- if(reviewPreference != null) {
- reviewPreference.setOnPreferenceClickListener(preference -> {
- Intent playStoreIntent = new Intent(Intent.ACTION_VIEW);
- playStoreIntent.setData(Uri.parse("market://details?id=ml.docilealligator.infinityforreddit"));
- if(playStoreIntent.resolveActivity(activity.getPackageManager()) != null) {
- activity.startActivity(playStoreIntent);
- } else {
- Intent intent = new Intent(activity, LinkResolverActivity.class);
- intent.setData(Uri.parse("https://play.google.com/store/apps/details?id=ml.docilealligator.infinityforreddit"));
- startActivity(intent);
- }
- return true;
- });
- }
-
- if(emailPreference != null) {
- emailPreference.setOnPreferenceClickListener(preference -> {
- Intent intent = new Intent(Intent.ACTION_SENDTO);
- intent.setData(Uri.parse("mailto:docilealligator.app@gmail.com"));
- if(intent.resolveActivity(activity.getPackageManager()) != null) {
- startActivity(intent);
- } else {
- Toast.makeText(activity, R.string.no_email_client, Toast.LENGTH_SHORT).show();
- }
- return true;
- });
- }
-
- if(redditAccountPreference != null) {
- redditAccountPreference.setOnPreferenceClickListener(preference -> {
- Intent intent = new Intent(activity, LinkResolverActivity.class);
- intent.setData(Uri.parse("https://www.reddit.com/user/Hostilenemy"));
- startActivity(intent);
- return true;
- });
- }
-
- if(subredditPreference != null) {
- subredditPreference.setOnPreferenceClickListener(preference -> {
- Intent intent = new Intent(activity, LinkResolverActivity.class);
- intent.setData(Uri.parse("https://www.reddit.com/r/Infinity_For_Reddit"));
- startActivity(intent);
- return true;
- });
- }
- }
- }
-}
diff --git a/app/src/main/java/Settings/Acknowledgement.java b/app/src/main/java/Settings/Acknowledgement.java
deleted file mode 100644
index 26a5a064..00000000
--- a/app/src/main/java/Settings/Acknowledgement.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package Settings;
-
-import android.net.Uri;
-
-class Acknowledgement {
- private String name;
- private String introduction;
- private Uri link;
-
- Acknowledgement(String name, String introduction, Uri link) {
- this.name = name;
- this.introduction = introduction;
- this.link = link;
- }
-
- public String getName() {
- return name;
- }
-
- public String getIntroduction() {
- return introduction;
- }
-
- public Uri getLink() {
- return link;
- }
-}
diff --git a/app/src/main/java/Settings/AcknowledgementFragment.java b/app/src/main/java/Settings/AcknowledgementFragment.java
deleted file mode 100644
index 7a19a0a5..00000000
--- a/app/src/main/java/Settings/AcknowledgementFragment.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package Settings;
-
-
-import android.app.Activity;
-import android.net.Uri;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import androidx.fragment.app.Fragment;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-
-import java.util.ArrayList;
-
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import ml.docilealligator.infinityforreddit.R;
-
-/**
- * A simple {@link Fragment} subclass.
- */
-public class AcknowledgementFragment extends Fragment {
-
-
- public AcknowledgementFragment() {
- // Required empty public constructor
- }
-
- @BindView(R.id.recycler_view_acknowledgement_fragment) RecyclerView recyclerView;
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View rootView = inflater.inflate(R.layout.fragment_acknowledgement, container, false);
- ButterKnife.bind(this, rootView);
-
- Activity activity = getActivity();
-
- ArrayList<Acknowledgement> acknowledgements = new ArrayList<>();
- acknowledgements.add(new Acknowledgement("ExoPlayer",
- "An application level media player for Android",
- Uri.parse("https://github.com/google/ExoPlayer")));
- acknowledgements.add(new Acknowledgement("GestureViews",
- "ImageView and FrameLayout with gestures control and position animation",
- Uri.parse("https://github.com/alexvasilkov/GestureViews")));
- acknowledgements.add(new Acknowledgement("Glide",
- "A fast and efficient open source media management and image loading framework for Android",
- Uri.parse("https://github.com/bumptech/glide")));
- acknowledgements.add(new Acknowledgement("Swipe",
- "Detects swipe events on Android with listener and RxJava Observable",
- Uri.parse("https://github.com/pwittchen/swipe")));
- acknowledgements.add(new Acknowledgement("RxAndroid",
- "Android specific bindings for RxJava 2",
- Uri.parse("https://github.com/ReactiveX/RxAndroid")));
- acknowledgements.add(new Acknowledgement("RxJava",
- "Reactive extensions for the JVM",
- Uri.parse("https://github.com/ReactiveX/RxJava")));
- acknowledgements.add(new Acknowledgement("Retrofit",
- "Type-safe HTTP client for Android and Java by Square, Inc.",
- Uri.parse("https://github.com/square/retrofit")));
- acknowledgements.add(new Acknowledgement("Dagger",
- "A fast dependency injector for Java and Android.",
- Uri.parse("https://github.com/google/dagger")));
- acknowledgements.add(new Acknowledgement("Butter Knife",
- "Field and method binding for Android views",
- Uri.parse("https://github.com/JakeWharton/butterknife")));
- acknowledgements.add(new Acknowledgement("Aspect Ratio ImageView",
- "A simple imageview which scales the width or height aspect with the given ratio",
- Uri.parse("https://github.com/santalu/aspect-ratio-imageview")));
- acknowledgements.add(new Acknowledgement("MaterialLoadingProgressBar",
- "A styled ProgressBar",
- Uri.parse("https://github.com/lsjwzh/MaterialLoadingProgressBar")));
- acknowledgements.add(new Acknowledgement("Markwon",
- "A markdown library for Android",
- Uri.parse("https://github.com/noties/Markwon")));
- acknowledgements.add(new Acknowledgement("android-gif-drawable",
- "Views and Drawable for animated GIFs in Android.",
- Uri.parse("https://github.com/koral--/android-gif-drawable")));
- acknowledgements.add(new Acknowledgement("SimpleSearchView",
- "A simple SearchView for Android based on Material Design",
- Uri.parse("https://github.com/Ferfalk/SimpleSearchView")));
- acknowledgements.add(new Acknowledgement("EventBus",
- "A publish/subscribe event bus for Android and Java",
- Uri.parse("https://github.com/greenrobot/EventBus")));
- acknowledgements.add(new Acknowledgement("Customized and Expandable TextView",
- "Simple library to change the Textview as rectangle, circle and square shapes",
- Uri.parse("https://github.com/Rajagopalr3/CustomizedTextView")));
- acknowledgements.add(new Acknowledgement("Rounded Bottom Sheet",
- "Bottom sheet with rounded corners",
- Uri.parse("https://github.com/Deishelon/RoundedBottomSheet")));
- acknowledgements.add(new Acknowledgement("Bridge",
- "A library for avoiding TransactionTooLargeException during state saving and restoration",
- Uri.parse("https://github.com/livefront/bridge")));
- acknowledgements.add(new Acknowledgement("Android-State",
- "A utility library for Android to save objects in a Bundle without any boilerplate",
- Uri.parse("https://github.com/evernote/android-state")));
-
- AcknowledgementRecyclerViewAdapter adapter = new AcknowledgementRecyclerViewAdapter(activity, acknowledgements);
- recyclerView.setLayoutManager(new LinearLayoutManager(activity));
- recyclerView.setAdapter(adapter);
-
- return rootView;
- }
-}
diff --git a/app/src/main/java/Settings/AcknowledgementRecyclerViewAdapter.java b/app/src/main/java/Settings/AcknowledgementRecyclerViewAdapter.java
deleted file mode 100644
index 81286903..00000000
--- a/app/src/main/java/Settings/AcknowledgementRecyclerViewAdapter.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package Settings;
-
-import android.content.Context;
-import android.content.Intent;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import java.util.ArrayList;
-
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import ml.docilealligator.infinityforreddit.LinkResolverActivity;
-import ml.docilealligator.infinityforreddit.R;
-
-class AcknowledgementRecyclerViewAdapter extends RecyclerView.Adapter<AcknowledgementRecyclerViewAdapter.AcknowledgementViewHolder> {
- private ArrayList<Acknowledgement> acknowledgements;
- private Context context;
-
- AcknowledgementRecyclerViewAdapter(Context context, ArrayList<Acknowledgement> acknowledgements) {
- this.context = context;
- this.acknowledgements = acknowledgements;
- }
-
- @NonNull
- @Override
- public AcknowledgementViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- return new AcknowledgementViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_acknowledgement, parent, false));
- }
-
- @Override
- public void onBindViewHolder(@NonNull AcknowledgementViewHolder holder, int position) {
- Acknowledgement acknowledgement = acknowledgements.get(holder.getAdapterPosition());
- if(acknowledgement != null) {
- holder.nameTextView.setText(acknowledgement.getName());
- holder.introductionTextView.setText(acknowledgement.getIntroduction());
- holder.itemView.setOnClickListener(view -> {
- if(context != null) {
- Intent intent = new Intent(context, LinkResolverActivity.class);
- intent.setData(acknowledgement.getLink());
- context.startActivity(intent);
- }
- });
- }
- }
-
- @Override
- public int getItemCount() {
- return acknowledgements == null ? 0 : acknowledgements.size();
- }
-
- class AcknowledgementViewHolder extends RecyclerView.ViewHolder {
- View itemView;
- @BindView(R.id.name_text_view_item_acknowledgement) TextView nameTextView;
- @BindView(R.id.introduction_text_view_item_acknowledgement) TextView introductionTextView;
-
- AcknowledgementViewHolder(@NonNull View itemView) {
- super(itemView);
- ButterKnife.bind(this, itemView);
- this.itemView = itemView;
- }
- }
-}
diff --git a/app/src/main/java/Settings/CreditsPreferenceFragment.java b/app/src/main/java/Settings/CreditsPreferenceFragment.java
deleted file mode 100644
index 55fb3363..00000000
--- a/app/src/main/java/Settings/CreditsPreferenceFragment.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package Settings;
-
-
-import android.app.Activity;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceFragmentCompat;
-
-import ml.docilealligator.infinityforreddit.LinkResolverActivity;
-import ml.docilealligator.infinityforreddit.R;
-import ml.docilealligator.infinityforreddit.SharedPreferencesUtils;
-
-/**
- * A simple {@link PreferenceFragmentCompat} subclass.
- */
-public class CreditsPreferenceFragment extends PreferenceFragmentCompat {
-
- @Override
- public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
- setPreferencesFromResource(R.xml.credits_preferences, rootKey);
-
- Preference iconForegroundPreference = findPreference(SharedPreferencesUtils.ICON_FOREGROUND_KEY);
- Preference iconBackgroundPreference = findPreference(SharedPreferencesUtils.ICON_BACKGROUND_KEY);
- Preference errorImagePreference = findPreference(SharedPreferencesUtils.ERROR_IMAGE_KEY);
- Preference gildedIconPreference = findPreference(SharedPreferencesUtils.GILDED_ICON_KEY);
- Preference crosspostIconPreference = findPreference(SharedPreferencesUtils.CROSSPOST_ICON_KEY);
- Preference thumbtackIconPreference = findPreference(SharedPreferencesUtils.THUMBTACK_ICON_KEY);
- Preference materialIconsPreference = findPreference(SharedPreferencesUtils.MATERIAL_ICONS_KEY);
-
- Activity activity = getActivity();
-
- if(activity != null) {
- if(iconForegroundPreference != null) {
- iconForegroundPreference.setOnPreferenceClickListener(preference -> {
- Intent intent = new Intent(activity, LinkResolverActivity.class);
- intent.setData(Uri.parse("https://www.freepik.com/free-photos-vectors/technology"));
- startActivity(intent);
- return true;
- });
- }
-
- if(iconBackgroundPreference != null) {
- iconBackgroundPreference.setOnPreferenceClickListener(preference -> {
- Intent intent = new Intent(activity, LinkResolverActivity.class);
- intent.setData(Uri.parse("https://www.freepik.com/free-photos-vectors/background"));
- startActivity(intent);
- return true;
- });
- }
-
- if(errorImagePreference != null) {
- errorImagePreference.setOnPreferenceClickListener(preference -> {
- Intent intent = new Intent(activity, LinkResolverActivity.class);
- intent.setData(Uri.parse("https://www.freepik.com/free-photos-vectors/technology"));
- startActivity(intent);
- return true;
- });
- }
-
- if(gildedIconPreference != null) {
- gildedIconPreference.setOnPreferenceClickListener(preference -> {
- Intent intent = new Intent(activity, LinkResolverActivity.class);
- intent.setData(Uri.parse("https://br.flaticon.com/icone-gratis/medalha_1007239"));
- startActivity(intent);
- return true;
- });
- }
-
- if(crosspostIconPreference != null) {
- crosspostIconPreference.setOnPreferenceClickListener(preference -> {
- Intent intent = new Intent(activity, LinkResolverActivity.class);
- intent.setData(Uri.parse("https://www.flaticon.com/free-icon/crossed-arrows_2291"));
- startActivity(intent);
- return true;
- });
- }
-
- if(thumbtackIconPreference != null) {
- thumbtackIconPreference.setOnPreferenceClickListener(preference -> {
- Intent intent = new Intent(activity, LinkResolverActivity.class);
- intent.setData(Uri.parse("https://www.flaticon.com/free-icon/tack-save-button_61845#term=thumbtack&page=1&position=3"));
- startActivity(intent);
- return true;
- });
- }
-
- if(materialIconsPreference != null) {
- materialIconsPreference.setOnPreferenceClickListener(preference -> {
- Intent intent = new Intent(activity, LinkResolverActivity.class);
- intent.setData(Uri.parse("https://material.io/resources/icons/"));
- startActivity(intent);
- return true;
- });
- }
- }
- }
-}
diff --git a/app/src/main/java/Settings/FontSizePreferenceFragment.java b/app/src/main/java/Settings/FontSizePreferenceFragment.java
deleted file mode 100644
index 41000a5a..00000000
--- a/app/src/main/java/Settings/FontSizePreferenceFragment.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package Settings;
-
-import android.app.Activity;
-import android.os.Bundle;
-
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceFragmentCompat;
-
-import org.greenrobot.eventbus.EventBus;
-
-import ml.docilealligator.infinityforreddit.ChangeFontSizeEvent;
-import ml.docilealligator.infinityforreddit.R;
-import ml.docilealligator.infinityforreddit.SharedPreferencesUtils;
-
-public class FontSizePreferenceFragment extends PreferenceFragmentCompat {
- @Override
- public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
- setPreferencesFromResource(R.xml.font_size_preferences, rootKey);
-
- Activity activity = getActivity();
- if(activity != null) {
- ListPreference fontSizePreference = findPreference(SharedPreferencesUtils.FONT_SIZE_KEY);
- ListPreference titleFontSizePreference = findPreference(SharedPreferencesUtils.TITLE_FONT_SIZE_KEY);
- ListPreference contentFontSizePreference = findPreference(SharedPreferencesUtils.CONTENT_FONT_SIZE_KEY);
-
- if(fontSizePreference != null) {
- fontSizePreference.setOnPreferenceChangeListener((preference, newValue) -> {
- EventBus.getDefault().post(new ChangeFontSizeEvent());
- activity.recreate();
- return true;
- });
- }
-
- if(titleFontSizePreference != null) {
- titleFontSizePreference.setOnPreferenceChangeListener((preference, newValue) -> {
- EventBus.getDefault().post(new ChangeFontSizeEvent());
- return true;
- });
- }
-
- if(contentFontSizePreference != null) {
- contentFontSizePreference.setOnPreferenceChangeListener((preference, newValue) -> {
- EventBus.getDefault().post(new ChangeFontSizeEvent());
- return true;
- });
- }
- }
- }
-}
diff --git a/app/src/main/java/Settings/MainPreferenceFragment.java b/app/src/main/java/Settings/MainPreferenceFragment.java
deleted file mode 100644
index 8e3b7d99..00000000
--- a/app/src/main/java/Settings/MainPreferenceFragment.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package Settings;
-
-
-import android.app.Activity;
-import android.content.SharedPreferences;
-import android.os.Build;
-import android.os.Bundle;
-
-import androidx.appcompat.app.AppCompatDelegate;
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceFragmentCompat;
-import androidx.preference.SwitchPreference;
-
-import org.greenrobot.eventbus.EventBus;
-
-import javax.inject.Inject;
-
-import ml.docilealligator.infinityforreddit.ChangeNSFWBlurEvent;
-import ml.docilealligator.infinityforreddit.ChangeNSFWEvent;
-import ml.docilealligator.infinityforreddit.ChangeSpoilerBlurEvent;
-import ml.docilealligator.infinityforreddit.Infinity;
-import ml.docilealligator.infinityforreddit.R;
-import ml.docilealligator.infinityforreddit.SharedPreferencesUtils;
-
-import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_AUTO_BATTERY;
-import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM;
-import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_NO;
-import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_YES;
-
-/**
- * A simple {@link PreferenceFragmentCompat} subclass.
- */
-public class MainPreferenceFragment extends PreferenceFragmentCompat {
-
- @Inject
- SharedPreferences sharedPreferences;
-
- @Override
- public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
- setPreferencesFromResource(R.xml.main_preferences, rootKey);
-
- Activity activity = getActivity();
- if(activity != null) {
- ((Infinity) activity.getApplication()).getAppComponent().inject(this);
-
- SwitchPreference nsfwSwitch = findPreference(SharedPreferencesUtils.NSFW_KEY);
- SwitchPreference blurNSFWSwitch = findPreference(SharedPreferencesUtils.BLUR_NSFW_KEY);
- SwitchPreference blurSpoilerSwitch = findPreference(SharedPreferencesUtils.BLUR_SPOILER_KEY);
- ListPreference themePreference = findPreference(SharedPreferencesUtils.THEME_KEY);
-
- if(nsfwSwitch != null) {
- nsfwSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
- EventBus.getDefault().post(new ChangeNSFWEvent((Boolean) newValue));
- if(blurNSFWSwitch != null) {
- blurNSFWSwitch.setVisible((Boolean) newValue);
- }
- return true;
- });
- }
-
- if(blurNSFWSwitch != null) {
- boolean nsfwEnabled = sharedPreferences.getBoolean(SharedPreferencesUtils.NSFW_KEY, false);
-
- if(nsfwEnabled) {
- blurNSFWSwitch.setVisible(true);
- } else {
- blurNSFWSwitch.setVisible(false);
- }
-
- blurNSFWSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
- EventBus.getDefault().post(new ChangeNSFWBlurEvent((Boolean) newValue));
- return true;
- });
- }
-
- if(blurSpoilerSwitch != null) {
- blurSpoilerSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
- EventBus.getDefault().post(new ChangeSpoilerBlurEvent((Boolean) newValue));
- return true;
- });
- }
-
- boolean systemDefault = Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q;
-
- if(themePreference != null) {
- if(systemDefault) {
- themePreference.setEntries(R.array.settings_theme_q);
- } else {
- themePreference.setEntries(R.array.settings_theme);
- }
-
- themePreference.setOnPreferenceChangeListener((preference, newValue) -> {
- int option = Integer.parseInt((String) newValue);
- switch (option) {
- case 0:
- AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_NO);
- break;
- case 1:
- AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_YES);
- break;
- case 2:
- if(systemDefault) {
- AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_FOLLOW_SYSTEM);
- } else {
- AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_AUTO_BATTERY);
- }
- }
- return true;
- });
- }
- }
- }
-}
diff --git a/app/src/main/java/Settings/NotificationPreferenceFragment.java b/app/src/main/java/Settings/NotificationPreferenceFragment.java
deleted file mode 100644
index 4d9051fe..00000000
--- a/app/src/main/java/Settings/NotificationPreferenceFragment.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package Settings;
-
-
-import android.app.Activity;
-import android.content.SharedPreferences;
-import android.os.Bundle;
-
-import androidx.fragment.app.Fragment;
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceFragmentCompat;
-import androidx.preference.SwitchPreference;
-import androidx.work.Constraints;
-import androidx.work.ExistingPeriodicWorkPolicy;
-import androidx.work.NetworkType;
-import androidx.work.PeriodicWorkRequest;
-import androidx.work.WorkManager;
-
-import java.util.concurrent.TimeUnit;
-
-import javax.inject.Inject;
-
-import ml.docilealligator.infinityforreddit.Infinity;
-import ml.docilealligator.infinityforreddit.PullNotificationWorker;
-import ml.docilealligator.infinityforreddit.R;
-import ml.docilealligator.infinityforreddit.SharedPreferencesUtils;
-
-/**
- * A simple {@link Fragment} subclass.
- */
-public class NotificationPreferenceFragment extends PreferenceFragmentCompat {
-
- private boolean enableNotification;
- private long notificationInterval;
-
- private WorkManager workManager;
-
- @Inject
- SharedPreferences sharedPreferences;
-
- @Override
- public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
- setPreferencesFromResource(R.xml.notification_preferences, rootKey);
-
- Activity activity = getActivity();
-
- if(activity != null) {
- workManager = WorkManager.getInstance(activity);
-
- ((Infinity) activity.getApplication()).getAppComponent().inject(this);
-
- SwitchPreference enableNotificationSwitchPreference = findPreference(SharedPreferencesUtils.ENABLE_NOTIFICATION_KEY);
- ListPreference notificationIntervalListPreference = findPreference(SharedPreferencesUtils.NOTIFICATION_INTERVAL_KEY);
-
- enableNotification = sharedPreferences.getBoolean(SharedPreferencesUtils.ENABLE_NOTIFICATION_KEY, true);
- notificationInterval = Long.parseLong(sharedPreferences.getString(SharedPreferencesUtils.NOTIFICATION_INTERVAL_KEY, "1"));
-
- if(enableNotification) {
- if (notificationIntervalListPreference != null) {
- notificationIntervalListPreference.setVisible(true);
- }
- }
-
- if(enableNotificationSwitchPreference != null) {
- enableNotificationSwitchPreference.setOnPreferenceChangeListener((preference, newValue) -> {
- enableNotification = ((Boolean) newValue);
- if(notificationIntervalListPreference != null) {
- notificationIntervalListPreference.setVisible(enableNotification);
- }
-
- if(enableNotification) {
- Constraints constraints = new Constraints.Builder()
- .setRequiredNetworkType(NetworkType.CONNECTED)
- .build();
-
- PeriodicWorkRequest pullNotificationRequest =
- new PeriodicWorkRequest.Builder(PullNotificationWorker.class,
- notificationInterval, TimeUnit.HOURS)
- .setConstraints(constraints)
- .setInitialDelay(notificationInterval, TimeUnit.HOURS)
- .build();
-
- workManager.enqueueUniquePeriodicWork(PullNotificationWorker.WORKER_TAG,
- ExistingPeriodicWorkPolicy.REPLACE, pullNotificationRequest);
- } else {
- workManager.cancelUniqueWork(PullNotificationWorker.WORKER_TAG);
- }
- return true;
- });
- }
-
- if(notificationIntervalListPreference != null) {
- notificationIntervalListPreference.setOnPreferenceChangeListener((preference, newValue) -> {
- notificationInterval = Long.parseLong((String) newValue);
-
- if(enableNotification) {
- Constraints constraints = new Constraints.Builder()
- .setRequiredNetworkType(NetworkType.CONNECTED)
- .build();
-
- PeriodicWorkRequest pullNotificationRequest =
- new PeriodicWorkRequest.Builder(PullNotificationWorker.class,
- notificationInterval, TimeUnit.HOURS)
- .setConstraints(constraints)
- .setInitialDelay(notificationInterval, TimeUnit.HOURS)
- .build();
-
- workManager.enqueueUniquePeriodicWork(PullNotificationWorker.WORKER_TAG,
- ExistingPeriodicWorkPolicy.REPLACE, pullNotificationRequest);
- } else {
- workManager.cancelUniqueWork(PullNotificationWorker.WORKER_TAG);
- }
-
- return true;
- });
- }
- }
- }
-}