aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java
diff options
context:
space:
mode:
authorDocile-Alligator <25734209+Docile-Alligator@users.noreply.github.com>2022-08-15 11:10:42 +0000
committerDocile-Alligator <25734209+Docile-Alligator@users.noreply.github.com>2022-08-15 11:10:42 +0000
commit7d8e32320f867504e28429ede1aec419e10c3db2 (patch)
treecf86678c75e53779abd467160d134714d3d8c2e7 /app/src/main/java
parent275063684779a02efe7ec8ef971bb219b1f4fd33 (diff)
downloadinfinity-for-reddit-7d8e32320f867504e28429ede1aec419e10c3db2.tar
infinity-for-reddit-7d8e32320f867504e28429ede1aec419e10c3db2.tar.gz
infinity-for-reddit-7d8e32320f867504e28429ede1aec419e10c3db2.tar.bz2
infinity-for-reddit-7d8e32320f867504e28429ede1aec419e10c3db2.tar.lz
infinity-for-reddit-7d8e32320f867504e28429ede1aec419e10c3db2.tar.xz
infinity-for-reddit-7d8e32320f867504e28429ede1aec419e10c3db2.tar.zst
infinity-for-reddit-7d8e32320f867504e28429ede1aec419e10c3db2.zip
Apply custom theme to settings page.
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/CustomThemeWrapperReceiver.java7
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/BaseActivity.java2
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomizeThemeActivity.java9
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostFilterPreferenceActivity.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostFilterUsageListingActivity.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/adapters/AcknowledgementRecyclerViewAdapter.java9
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CrashReportsRecyclerViewAdapter.java8
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CustomizeThemeRecyclerViewAdapter.java21
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostFilterRecyclerViewAdapter.java14
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostFilterUsageRecyclerViewAdapter.java9
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontEditTextPreference.java33
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontListPreference.java33
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontPreference.java33
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontPreferenceCategory.java23
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontPreferenceFragmentCompat.java17
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontSeekBarPreference.java33
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontSwitchPreference.java33
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/AboutPreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/AcknowledgementFragment.java8
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/AdvancedPreferenceFragment.java7
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/CommentPreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/CrashReportsFragment.java2
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/CreditsPreferenceFragment.java7
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/CustomizeBottomAppBarFragment.java71
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/CustomizeMainPageTabsFragment.java78
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/DataSavingModePreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/DownloadLocationPreferenceFragment.java7
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/FontPreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/FontPreviewFragment.java23
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/GesturesAndButtonsPreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/ImmersiveInterfacePreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/InterfacePreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/MainPreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/MiscellaneousPreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/NavigationDrawerPreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/NotificationPreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/NsfwAndSpoilerFragment.java36
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/NumberOfColumnsInPostFeedPreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/PostDetailsPreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/PostHistoryFragment.java29
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/PostPreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/SecurityPreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/SortTypePreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/SwipeActionPreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/ThemePreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/TimeFormatPreferenceFragment.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/TranslationFragment.java2
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/settings/VideoPreferenceFragment.java4
48 files changed, 478 insertions, 164 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/CustomThemeWrapperReceiver.java b/app/src/main/java/ml/docilealligator/infinityforreddit/CustomThemeWrapperReceiver.java
new file mode 100644
index 00000000..58ac1bd1
--- /dev/null
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/CustomThemeWrapperReceiver.java
@@ -0,0 +1,7 @@
+package ml.docilealligator.infinityforreddit;
+
+import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
+
+public interface CustomThemeWrapperReceiver {
+ void setCustomThemeWrapper(CustomThemeWrapper customThemeWrapper);
+}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/BaseActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/BaseActivity.java
index b0dec874..a839bc1e 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/BaseActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/BaseActivity.java
@@ -62,7 +62,7 @@ public abstract class BaseActivity extends AppCompatActivity implements CustomFo
private boolean isImmersiveInterfaceApplicable = true;
private int systemVisibilityToolbarExpanded = 0;
private int systemVisibilityToolbarCollapsed = 0;
- private CustomThemeWrapper customThemeWrapper;
+ public CustomThemeWrapper customThemeWrapper;
public Typeface typeface;
public Typeface titleTypeface;
public Typeface contentTypeface;
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomizeThemeActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomizeThemeActivity.java
index 58dd009b..ddc0962d 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomizeThemeActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/CustomizeThemeActivity.java
@@ -148,14 +148,14 @@ public class CustomizeThemeActivity extends BaseActivity {
themeName = customTheme.name;
}
- adapter = new CustomizeThemeRecyclerViewAdapter(this, themeName, isPredefinedTheme);
+ adapter = new CustomizeThemeRecyclerViewAdapter(this, customThemeWrapper, themeName);
recyclerView.setAdapter(adapter);
adapter.setCustomThemeSettingsItem(customThemeSettingsItems);
});
} else {
isPredefinedTheme = getIntent().getBooleanExtra(EXTRA_IS_PREDEFIINED_THEME, false);
themeName = getIntent().getStringExtra(EXTRA_THEME_NAME);
- adapter = new CustomizeThemeRecyclerViewAdapter(this, themeName, isPredefinedTheme);
+ adapter = new CustomizeThemeRecyclerViewAdapter(this, customThemeWrapper, themeName);
recyclerView.setAdapter(adapter);
if (isPredefinedTheme) {
customThemeSettingsItems = CustomThemeSettingsItem.convertCustomThemeToSettingsItem(
@@ -163,7 +163,7 @@ public class CustomizeThemeActivity extends BaseActivity {
CustomThemeWrapper.getPredefinedCustomTheme(this, themeName),
androidVersion);
- adapter = new CustomizeThemeRecyclerViewAdapter(this, themeName, isPredefinedTheme);
+ adapter = new CustomizeThemeRecyclerViewAdapter(this, customThemeWrapper, themeName);
recyclerView.setAdapter(adapter);
adapter.setCustomThemeSettingsItem(customThemeSettingsItems);
} else {
@@ -177,7 +177,7 @@ public class CustomizeThemeActivity extends BaseActivity {
}
}
} else {
- adapter = new CustomizeThemeRecyclerViewAdapter(this, themeName, isPredefinedTheme);
+ adapter = new CustomizeThemeRecyclerViewAdapter(this, customThemeWrapper, themeName);
recyclerView.setAdapter(adapter);
adapter.setCustomThemeSettingsItem(customThemeSettingsItems);
}
@@ -257,5 +257,6 @@ public class CustomizeThemeActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
applyAppBarLayoutAndCollapsingToolbarLayoutAndToolbarTheme(appBarLayout, collapsingToolbarLayout, toolbar);
+ coordinatorLayout.setBackgroundColor(customThemeWrapper.getBackgroundColor());
}
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostFilterPreferenceActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostFilterPreferenceActivity.java
index ab96b850..a4a63b1b 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostFilterPreferenceActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostFilterPreferenceActivity.java
@@ -98,7 +98,7 @@ public class PostFilterPreferenceActivity extends BaseActivity {
}
});
- adapter = new PostFilterRecyclerViewAdapter(this, postFilter -> {
+ adapter = new PostFilterRecyclerViewAdapter(this, customThemeWrapper, postFilter -> {
if (post != null) {
showPostFilterOptions(post, postFilter);
} else if (subredditName != null) {
@@ -211,6 +211,8 @@ public class PostFilterPreferenceActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
applyAppBarLayoutAndCollapsingToolbarLayoutAndToolbarTheme(appBarLayout, collapsingToolbarLayout, toolbar);
+ applyFABTheme(fab);
+ coordinatorLayout.setBackgroundColor(customThemeWrapper.getBackgroundColor());
}
@Override
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostFilterUsageListingActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostFilterUsageListingActivity.java
index e24a47b9..4bef4cd7 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostFilterUsageListingActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostFilterUsageListingActivity.java
@@ -94,7 +94,7 @@ public class PostFilterUsageListingActivity extends BaseActivity {
newPostFilterUsageBottomSheetFragment.show(getSupportFragmentManager(), newPostFilterUsageBottomSheetFragment.getTag());
});
- adapter = new PostFilterUsageRecyclerViewAdapter(this, postFilterUsage -> {
+ adapter = new PostFilterUsageRecyclerViewAdapter(this, customThemeWrapper, postFilterUsage -> {
PostFilterUsageOptionsBottomSheetFragment postFilterUsageOptionsBottomSheetFragment = new PostFilterUsageOptionsBottomSheetFragment();
Bundle bundle = new Bundle();
bundle.putParcelable(PostFilterUsageOptionsBottomSheetFragment.EXTRA_POST_FILTER_USAGE, postFilterUsage);
@@ -213,5 +213,7 @@ public class PostFilterUsageListingActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
applyAppBarLayoutAndCollapsingToolbarLayoutAndToolbarTheme(appBarLayout, collapsingToolbarLayout, toolbar);
+ applyFABTheme(fab);
+ coordinatorLayout.setBackgroundColor(customThemeWrapper.getBackgroundColor());
}
} \ No newline at end of file
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/AcknowledgementRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/AcknowledgementRecyclerViewAdapter.java
index 9e53600f..3cc05331 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/AcknowledgementRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/AcknowledgementRecyclerViewAdapter.java
@@ -14,15 +14,15 @@ import java.util.ArrayList;
import butterknife.BindView;
import butterknife.ButterKnife;
import ml.docilealligator.infinityforreddit.R;
-import ml.docilealligator.infinityforreddit.activities.BaseActivity;
import ml.docilealligator.infinityforreddit.activities.LinkResolverActivity;
+import ml.docilealligator.infinityforreddit.activities.SettingsActivity;
import ml.docilealligator.infinityforreddit.settings.Acknowledgement;
public class AcknowledgementRecyclerViewAdapter extends RecyclerView.Adapter<AcknowledgementRecyclerViewAdapter.AcknowledgementViewHolder> {
private ArrayList<Acknowledgement> acknowledgements;
- private BaseActivity activity;
+ private SettingsActivity activity;
- public AcknowledgementRecyclerViewAdapter(BaseActivity activity, ArrayList<Acknowledgement> acknowledgements) {
+ public AcknowledgementRecyclerViewAdapter(SettingsActivity activity, ArrayList<Acknowledgement> acknowledgements) {
this.activity = activity;
this.acknowledgements = acknowledgements;
}
@@ -66,6 +66,9 @@ public class AcknowledgementRecyclerViewAdapter extends RecyclerView.Adapter<Ack
ButterKnife.bind(this, itemView);
this.itemView = itemView;
+ nameTextView.setTextColor(activity.customThemeWrapper.getPrimaryTextColor());
+ introductionTextView.setTextColor(activity.customThemeWrapper.getSecondaryTextColor());
+
if (activity.typeface != null) {
nameTextView.setTypeface(activity.typeface);
introductionTextView.setTypeface(activity.typeface);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CrashReportsRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CrashReportsRecyclerViewAdapter.java
index 810f8648..03fe2f7d 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CrashReportsRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CrashReportsRecyclerViewAdapter.java
@@ -11,13 +11,13 @@ import androidx.recyclerview.widget.RecyclerView;
import java.util.List;
import ml.docilealligator.infinityforreddit.R;
-import ml.docilealligator.infinityforreddit.activities.BaseActivity;
+import ml.docilealligator.infinityforreddit.activities.SettingsActivity;
public class CrashReportsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
- private BaseActivity activity;
+ private SettingsActivity activity;
private List<String> crashReports;
- public CrashReportsRecyclerViewAdapter(BaseActivity activity, List<String> crashReports) {
+ public CrashReportsRecyclerViewAdapter(SettingsActivity activity, List<String> crashReports) {
this.activity = activity;
this.crashReports = crashReports;
}
@@ -44,6 +44,8 @@ public class CrashReportsRecyclerViewAdapter extends RecyclerView.Adapter<Recycl
super(itemView);
crashReportTextView = (TextView) itemView;
+ crashReportTextView.setTextColor(activity.customThemeWrapper.getPrimaryTextColor());
+
if (activity.typeface != null) {
crashReportTextView.setTypeface(activity.typeface);
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CustomizeThemeRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CustomizeThemeRecyclerViewAdapter.java
index 1cf3879c..5c31046b 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CustomizeThemeRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CustomizeThemeRecyclerViewAdapter.java
@@ -22,6 +22,7 @@ import butterknife.ButterKnife;
import ml.docilealligator.infinityforreddit.R;
import ml.docilealligator.infinityforreddit.activities.BaseActivity;
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeSettingsItem;
+import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
import ml.docilealligator.infinityforreddit.customviews.ColorPickerDialog;
public class CustomizeThemeRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
@@ -29,16 +30,16 @@ public class CustomizeThemeRecyclerViewAdapter extends RecyclerView.Adapter<Recy
private static final int VIEW_TYPE_SWITCH = 2;
private static final int VIEW_TYPE_THEME_NAME = 3;
private BaseActivity activity;
+ private CustomThemeWrapper customThemeWrapper;
private ArrayList<CustomThemeSettingsItem> customThemeSettingsItems;
private String themeName;
- private boolean isPredefinedTheme;
- public CustomizeThemeRecyclerViewAdapter(BaseActivity activity, String themeName,
- boolean isPredefinedTheme) {
+ public CustomizeThemeRecyclerViewAdapter(BaseActivity activity, CustomThemeWrapper customThemeWrapper,
+ String themeName) {
this.activity = activity;
+ this.customThemeWrapper = customThemeWrapper;
customThemeSettingsItems = new ArrayList<>();
this.themeName = themeName;
- this.isPredefinedTheme = isPredefinedTheme;
}
@Override
@@ -148,6 +149,10 @@ public class CustomizeThemeRecyclerViewAdapter extends RecyclerView.Adapter<Recy
ThemeColorItemViewHolder(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
+
+ themeItemNameTextView.setTextColor(customThemeWrapper.getPrimaryTextColor());
+ themeItemInfoTextView.setTextColor(customThemeWrapper.getSecondaryTextColor());
+
if (activity.typeface != null) {
themeItemNameTextView.setTypeface(activity.typeface);
themeItemInfoTextView.setTypeface(activity.typeface);
@@ -166,6 +171,10 @@ public class CustomizeThemeRecyclerViewAdapter extends RecyclerView.Adapter<Recy
ThemeSwitchItemViewHolder(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
+
+ themeItemNameTextView.setTextColor(customThemeWrapper.getPrimaryTextColor());
+ themeItemInfoTextView.setTextColor(customThemeWrapper.getSecondaryTextColor());
+
if (activity.typeface != null) {
themeItemNameTextView.setTypeface(activity.typeface);
themeItemInfoTextView.setTypeface(activity.typeface);
@@ -181,6 +190,10 @@ public class CustomizeThemeRecyclerViewAdapter extends RecyclerView.Adapter<Recy
public ThemeNameItemViewHolder(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
+
+ themeNameTextView.setTextColor(customThemeWrapper.getPrimaryTextColor());
+ descriptionTextView.setTextColor(customThemeWrapper.getSecondaryTextColor());
+
if (activity.typeface != null) {
themeNameTextView.setTypeface(activity.typeface);
descriptionTextView.setTypeface(activity.typeface);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostFilterRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostFilterRecyclerViewAdapter.java
index 9b6b2bd5..d2c3eabf 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostFilterRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostFilterRecyclerViewAdapter.java
@@ -12,7 +12,9 @@ import java.util.List;
import ml.docilealligator.infinityforreddit.R;
import ml.docilealligator.infinityforreddit.activities.BaseActivity;
+import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
import ml.docilealligator.infinityforreddit.postfilter.PostFilter;
+import ml.docilealligator.infinityforreddit.utils.Utils;
public class PostFilterRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
@@ -20,6 +22,7 @@ public class PostFilterRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
private static final int VIEW_TYPE_POST_FILTER = 2;
private BaseActivity activity;
+ private CustomThemeWrapper customThemeWrapper;
private final OnItemClickListener onItemClickListener;
private List<PostFilter> postFilterList;
@@ -27,8 +30,10 @@ public class PostFilterRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
void onItemClick(PostFilter postFilter);
}
- public PostFilterRecyclerViewAdapter(BaseActivity activity, OnItemClickListener onItemClickListener) {
+ public PostFilterRecyclerViewAdapter(BaseActivity activity, CustomThemeWrapper customThemeWrapper,
+ OnItemClickListener onItemClickListener) {
this.activity = activity;
+ this.customThemeWrapper = customThemeWrapper;
this.onItemClickListener = onItemClickListener;
}
@@ -74,6 +79,8 @@ public class PostFilterRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
super(itemView);
textView = (TextView) itemView;
+ textView.setTextColor(customThemeWrapper.getPrimaryTextColor());
+
if (activity.typeface != null) {
textView.setTypeface(activity.typeface);
}
@@ -84,10 +91,13 @@ public class PostFilterRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
}
}
- private static class HeaderViewHolder extends RecyclerView.ViewHolder {
+ private class HeaderViewHolder extends RecyclerView.ViewHolder {
public HeaderViewHolder(@NonNull View itemView) {
super(itemView);
+ TextView infoTextView = itemView.findViewById(R.id.info_text_view_item_filter_fragment_header);
+ infoTextView.setTextColor(customThemeWrapper.getSecondaryTextColor());
+ infoTextView.setCompoundDrawablesWithIntrinsicBounds(Utils.getTintedDrawable(activity, R.drawable.ic_info_preference_24dp, activity.customThemeWrapper.getPrimaryIconColor()), null, null, null);
}
}
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostFilterUsageRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostFilterUsageRecyclerViewAdapter.java
index fe0c3002..3f0db0e5 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostFilterUsageRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostFilterUsageRecyclerViewAdapter.java
@@ -12,20 +12,23 @@ import java.util.List;
import ml.docilealligator.infinityforreddit.R;
import ml.docilealligator.infinityforreddit.activities.BaseActivity;
+import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
import ml.docilealligator.infinityforreddit.postfilter.PostFilterUsage;
public class PostFilterUsageRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private List<PostFilterUsage> postFilterUsages;
- private OnItemClickListener onItemClickListener;
private BaseActivity activity;
+ private CustomThemeWrapper customThemeWrapper;
+ private OnItemClickListener onItemClickListener;
public interface OnItemClickListener {
void onClick(PostFilterUsage postFilterUsage);
}
- public PostFilterUsageRecyclerViewAdapter(BaseActivity activity,
+ public PostFilterUsageRecyclerViewAdapter(BaseActivity activity, CustomThemeWrapper customThemeWrapper,
OnItemClickListener onItemClickListener) {
this.activity = activity;
+ this.customThemeWrapper = customThemeWrapper;
this.onItemClickListener = onItemClickListener;
}
@@ -85,6 +88,8 @@ public class PostFilterUsageRecyclerViewAdapter extends RecyclerView.Adapter<Rec
super(itemView);
usageTextView = (TextView) itemView;
+ usageTextView.setTextColor(customThemeWrapper.getPrimaryTextColor());
+
if (activity.typeface != null) {
usageTextView.setTypeface(activity.typeface);
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontEditTextPreference.java b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontEditTextPreference.java
index bbdb1f80..49e8e438 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontEditTextPreference.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontEditTextPreference.java
@@ -4,14 +4,18 @@ import android.content.Context;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.view.View;
+import android.widget.ImageView;
import android.widget.TextView;
import androidx.preference.EditTextPreference;
import androidx.preference.PreferenceViewHolder;
import ml.docilealligator.infinityforreddit.CustomFontReceiver;
+import ml.docilealligator.infinityforreddit.CustomThemeWrapperReceiver;
+import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
-public class CustomFontEditTextPreference extends EditTextPreference implements CustomFontReceiver {
+public class CustomFontEditTextPreference extends EditTextPreference implements CustomFontReceiver, CustomThemeWrapperReceiver {
+ private CustomThemeWrapper customThemeWrapper;
private Typeface typeface;
public CustomFontEditTextPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
@@ -33,12 +37,30 @@ public class CustomFontEditTextPreference extends EditTextPreference implements
@Override
public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
+ View iconImageView = holder.findViewById(android.R.id.icon);
+ View titleTextView = holder.findViewById(android.R.id.title);
+ View summaryTextView = holder.findViewById(android.R.id.summary);
+
+ if (customThemeWrapper != null) {
+ if (iconImageView instanceof ImageView) {
+ if (isEnabled()) {
+ ((ImageView) iconImageView).setColorFilter(customThemeWrapper.getPrimaryIconColor(), android.graphics.PorterDuff.Mode.SRC_IN);
+ } else {
+ ((ImageView) iconImageView).setColorFilter(customThemeWrapper.getSecondaryTextColor(), android.graphics.PorterDuff.Mode.SRC_IN);
+ }
+ }
+ if (titleTextView instanceof TextView) {
+ ((TextView) titleTextView).setTextColor(customThemeWrapper.getPrimaryTextColor());
+ }
+ if (summaryTextView instanceof TextView) {
+ ((TextView) summaryTextView).setTextColor(customThemeWrapper.getSecondaryTextColor());
+ }
+ }
+
if (typeface != null) {
- View titleTextView = holder.findViewById(android.R.id.title);
if (titleTextView instanceof TextView) {
((TextView) titleTextView).setTypeface(typeface);
}
- View summaryTextView = holder.findViewById(android.R.id.summary);
if (summaryTextView instanceof TextView) {
((TextView) summaryTextView).setTypeface(typeface);
}
@@ -49,4 +71,9 @@ public class CustomFontEditTextPreference extends EditTextPreference implements
public void setCustomFont(Typeface typeface, Typeface titleTypeface, Typeface contentTypeface) {
this.typeface = typeface;
}
+
+ @Override
+ public void setCustomThemeWrapper(CustomThemeWrapper customThemeWrapper) {
+ this.customThemeWrapper = customThemeWrapper;
+ }
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontListPreference.java b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontListPreference.java
index ac4b2771..f7159828 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontListPreference.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontListPreference.java
@@ -4,14 +4,18 @@ import android.content.Context;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.view.View;
+import android.widget.ImageView;
import android.widget.TextView;
import androidx.preference.ListPreference;
import androidx.preference.PreferenceViewHolder;
import ml.docilealligator.infinityforreddit.CustomFontReceiver;
+import ml.docilealligator.infinityforreddit.CustomThemeWrapperReceiver;
+import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
-public class CustomFontListPreference extends ListPreference implements CustomFontReceiver {
+public class CustomFontListPreference extends ListPreference implements CustomFontReceiver, CustomThemeWrapperReceiver {
+ private CustomThemeWrapper customThemeWrapper;
private Typeface typeface;
public CustomFontListPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
@@ -33,12 +37,30 @@ public class CustomFontListPreference extends ListPreference implements CustomFo
@Override
public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
+ View iconImageView = holder.findViewById(android.R.id.icon);
+ View titleTextView = holder.findViewById(android.R.id.title);
+ View summaryTextView = holder.findViewById(android.R.id.summary);
+
+ if (customThemeWrapper != null) {
+ if (iconImageView instanceof ImageView) {
+ if (isEnabled()) {
+ ((ImageView) iconImageView).setColorFilter(customThemeWrapper.getPrimaryIconColor(), android.graphics.PorterDuff.Mode.SRC_IN);
+ } else {
+ ((ImageView) iconImageView).setColorFilter(customThemeWrapper.getSecondaryTextColor(), android.graphics.PorterDuff.Mode.SRC_IN);
+ }
+ }
+ if (titleTextView instanceof TextView) {
+ ((TextView) titleTextView).setTextColor(customThemeWrapper.getPrimaryTextColor());
+ }
+ if (summaryTextView instanceof TextView) {
+ ((TextView) summaryTextView).setTextColor(customThemeWrapper.getSecondaryTextColor());
+ }
+ }
+
if (typeface != null) {
- View titleTextView = holder.findViewById(android.R.id.title);
if (titleTextView instanceof TextView) {
((TextView) titleTextView).setTypeface(typeface);
}
- View summaryTextView = holder.findViewById(android.R.id.summary);
if (summaryTextView instanceof TextView) {
((TextView) summaryTextView).setTypeface(typeface);
}
@@ -49,4 +71,9 @@ public class CustomFontListPreference extends ListPreference implements CustomFo
public void setCustomFont(Typeface typeface, Typeface titleTypeface, Typeface contentTypeface) {
this.typeface = typeface;
}
+
+ @Override
+ public void setCustomThemeWrapper(CustomThemeWrapper customThemeWrapper) {
+ this.customThemeWrapper = customThemeWrapper;
+ }
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontPreference.java b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontPreference.java
index e087b181..f08a157f 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontPreference.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontPreference.java
@@ -4,14 +4,18 @@ import android.content.Context;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.view.View;
+import android.widget.ImageView;
import android.widget.TextView;
import androidx.preference.Preference;
import androidx.preference.PreferenceViewHolder;
import ml.docilealligator.infinityforreddit.CustomFontReceiver;
+import ml.docilealligator.infinityforreddit.CustomThemeWrapperReceiver;
+import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
-public class CustomFontPreference extends Preference implements CustomFontReceiver {
+public class CustomFontPreference extends Preference implements CustomFontReceiver, CustomThemeWrapperReceiver {
+ private CustomThemeWrapper customThemeWrapper;
private Typeface typeface;
public CustomFontPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
@@ -33,12 +37,30 @@ public class CustomFontPreference extends Preference implements CustomFontReceiv
@Override
public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
+ View iconImageView = holder.findViewById(android.R.id.icon);
+ View titleTextView = holder.findViewById(android.R.id.title);
+ View summaryTextView = holder.findViewById(android.R.id.summary);
+
+ if (customThemeWrapper != null) {
+ if (iconImageView instanceof ImageView) {
+ if (isEnabled()) {
+ ((ImageView) iconImageView).setColorFilter(customThemeWrapper.getPrimaryIconColor(), android.graphics.PorterDuff.Mode.SRC_IN);
+ } else {
+ ((ImageView) iconImageView).setColorFilter(customThemeWrapper.getSecondaryTextColor(), android.graphics.PorterDuff.Mode.SRC_IN);
+ }
+ }
+ if (titleTextView instanceof TextView) {
+ ((TextView) titleTextView).setTextColor(customThemeWrapper.getPrimaryTextColor());
+ }
+ if (summaryTextView instanceof TextView) {
+ ((TextView) summaryTextView).setTextColor(customThemeWrapper.getSecondaryTextColor());
+ }
+ }
+
if (typeface != null) {
- View titleTextView = holder.findViewById(android.R.id.title);
if (titleTextView instanceof TextView) {
((TextView) titleTextView).setTypeface(typeface);
}
- View summaryTextView = holder.findViewById(android.R.id.summary);
if (summaryTextView instanceof TextView) {
((TextView) summaryTextView).setTypeface(typeface);
}
@@ -49,4 +71,9 @@ public class CustomFontPreference extends Preference implements CustomFontReceiv
public void setCustomFont(Typeface typeface, Typeface titleTypeface, Typeface contentTypeface) {
this.typeface = typeface;
}
+
+ @Override
+ public void setCustomThemeWrapper(CustomThemeWrapper customThemeWrapper) {
+ this.customThemeWrapper = customThemeWrapper;
+ }
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontPreferenceCategory.java b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontPreferenceCategory.java
index 2c7d6740..8514796d 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontPreferenceCategory.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontPreferenceCategory.java
@@ -10,8 +10,11 @@ import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceViewHolder;
import ml.docilealligator.infinityforreddit.CustomFontReceiver;
+import ml.docilealligator.infinityforreddit.CustomThemeWrapperReceiver;
+import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
-public class CustomFontPreferenceCategory extends PreferenceCategory implements CustomFontReceiver {
+public class CustomFontPreferenceCategory extends PreferenceCategory implements CustomFontReceiver, CustomThemeWrapperReceiver {
+ private CustomThemeWrapper customThemeWrapper;
private Typeface typeface;
public CustomFontPreferenceCategory(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
@@ -33,15 +36,18 @@ public class CustomFontPreferenceCategory extends PreferenceCategory implements
@Override
public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
+ View titleTextView = holder.findViewById(android.R.id.title);
+
+ if (customThemeWrapper != null) {
+ if (titleTextView instanceof TextView) {
+ ((TextView) titleTextView).setTextColor(customThemeWrapper.getColorAccent());
+ }
+ }
+
if (typeface != null) {
- View titleTextView = holder.findViewById(android.R.id.title);
if (titleTextView instanceof TextView) {
((TextView) titleTextView).setTypeface(typeface);
}
- View summaryTextView = holder.findViewById(android.R.id.summary);
- if (summaryTextView instanceof TextView) {
- ((TextView) summaryTextView).setTypeface(typeface);
- }
}
}
@@ -49,4 +55,9 @@ public class CustomFontPreferenceCategory extends PreferenceCategory implements
public void setCustomFont(Typeface typeface, Typeface titleTypeface, Typeface contentTypeface) {
this.typeface = typeface;
}
+
+ @Override
+ public void setCustomThemeWrapper(CustomThemeWrapper customThemeWrapper) {
+ this.customThemeWrapper = customThemeWrapper;
+ }
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontPreferenceFragmentCompat.java b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontPreferenceFragmentCompat.java
index 1984bb14..695131cf 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontPreferenceFragmentCompat.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontPreferenceFragmentCompat.java
@@ -1,26 +1,37 @@
package ml.docilealligator.infinityforreddit.customviews;
import android.content.Context;
-import android.graphics.Typeface;
+import android.os.Bundle;
+import android.view.View;
import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import ml.docilealligator.infinityforreddit.CustomFontReceiver;
+import ml.docilealligator.infinityforreddit.CustomThemeWrapperReceiver;
import ml.docilealligator.infinityforreddit.activities.SettingsActivity;
public abstract class CustomFontPreferenceFragmentCompat extends PreferenceFragmentCompat {
protected SettingsActivity activity;
- protected void setFont(Typeface typeface) {
+ @Override
+ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+
int preferenceCount = getPreferenceScreen().getPreferenceCount();
for (int i = 0; i < preferenceCount; i++) {
Preference preference = getPreferenceScreen().getPreference(i);
+ if (preference instanceof CustomThemeWrapperReceiver) {
+ ((CustomThemeWrapperReceiver) preference).setCustomThemeWrapper(activity.customThemeWrapper);
+ }
if (preference instanceof CustomFontReceiver) {
- ((CustomFontReceiver) preference).setCustomFont(typeface, null, null);
+ ((CustomFontReceiver) preference).setCustomFont(activity.typeface, null, null);
}
}
+
+ view.setBackgroundColor(activity.customThemeWrapper.getBackgroundColor());
}
@Override
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontSeekBarPreference.java b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontSeekBarPreference.java
index d7d9454f..08a0477b 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontSeekBarPreference.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontSeekBarPreference.java
@@ -4,14 +4,18 @@ import android.content.Context;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.view.View;
+import android.widget.ImageView;
import android.widget.TextView;
import androidx.preference.PreferenceViewHolder;
import androidx.preference.SeekBarPreference;
import ml.docilealligator.infinityforreddit.CustomFontReceiver;
+import ml.docilealligator.infinityforreddit.CustomThemeWrapperReceiver;
+import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
-public class CustomFontSeekBarPreference extends SeekBarPreference implements CustomFontReceiver {
+public class CustomFontSeekBarPreference extends SeekBarPreference implements CustomFontReceiver, CustomThemeWrapperReceiver {
+ private CustomThemeWrapper customThemeWrapper;
private Typeface typeface;
public CustomFontSeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
@@ -33,12 +37,30 @@ public class CustomFontSeekBarPreference extends SeekBarPreference implements Cu
@Override
public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
+ View iconImageView = holder.findViewById(android.R.id.icon);
+ View titleTextView = holder.findViewById(android.R.id.title);
+ View summaryTextView = holder.findViewById(android.R.id.summary);
+
+ if (customThemeWrapper != null) {
+ if (iconImageView instanceof ImageView) {
+ if (isEnabled()) {
+ ((ImageView) iconImageView).setColorFilter(customThemeWrapper.getPrimaryIconColor(), android.graphics.PorterDuff.Mode.SRC_IN);
+ } else {
+ ((ImageView) iconImageView).setColorFilter(customThemeWrapper.getSecondaryTextColor(), android.graphics.PorterDuff.Mode.SRC_IN);
+ }
+ }
+ if (titleTextView instanceof TextView) {
+ ((TextView) titleTextView).setTextColor(customThemeWrapper.getPrimaryTextColor());
+ }
+ if (summaryTextView instanceof TextView) {
+ ((TextView) summaryTextView).setTextColor(customThemeWrapper.getSecondaryTextColor());
+ }
+ }
+
if (typeface != null) {
- View titleTextView = holder.findViewById(android.R.id.title);
if (titleTextView instanceof TextView) {
((TextView) titleTextView).setTypeface(typeface);
}
- View summaryTextView = holder.findViewById(android.R.id.summary);
if (summaryTextView instanceof TextView) {
((TextView) summaryTextView).setTypeface(typeface);
}
@@ -49,4 +71,9 @@ public class CustomFontSeekBarPreference extends SeekBarPreference implements Cu
public void setCustomFont(Typeface typeface, Typeface titleTypeface, Typeface contentTypeface) {
this.typeface = typeface;
}
+
+ @Override
+ public void setCustomThemeWrapper(CustomThemeWrapper customThemeWrapper) {
+ this.customThemeWrapper = customThemeWrapper;
+ }
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontSwitchPreference.java b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontSwitchPreference.java
index b7c62834..8a4ee1b8 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontSwitchPreference.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/customviews/CustomFontSwitchPreference.java
@@ -4,14 +4,18 @@ import android.content.Context;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.view.View;
+import android.widget.ImageView;
import android.widget.TextView;
import androidx.preference.PreferenceViewHolder;
import androidx.preference.SwitchPreference;
import ml.docilealligator.infinityforreddit.CustomFontReceiver;
+import ml.docilealligator.infinityforreddit.CustomThemeWrapperReceiver;
+import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
-public class CustomFontSwitchPreference extends SwitchPreference implements CustomFontReceiver {
+public class CustomFontSwitchPreference extends SwitchPreference implements CustomFontReceiver, CustomThemeWrapperReceiver {
+ private CustomThemeWrapper customThemeWrapper;
private Typeface typeface;
public CustomFontSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
@@ -33,12 +37,30 @@ public class CustomFontSwitchPreference extends SwitchPreference implements Cust
@Override
public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
+ View iconImageView = holder.findViewById(android.R.id.icon);
+ View titleTextView = holder.findViewById(android.R.id.title);
+ View summaryTextView = holder.findViewById(android.R.id.summary);
+
+ if (customThemeWrapper != null) {
+ if (iconImageView instanceof ImageView) {
+ if (isEnabled()) {
+ ((ImageView) iconImageView).setColorFilter(customThemeWrapper.getPrimaryIconColor(), android.graphics.PorterDuff.Mode.SRC_IN);
+ } else {
+ ((ImageView) iconImageView).setColorFilter(customThemeWrapper.getSecondaryTextColor(), android.graphics.PorterDuff.Mode.SRC_IN);
+ }
+ }
+ if (titleTextView instanceof TextView) {
+ ((TextView) titleTextView).setTextColor(customThemeWrapper.getPrimaryTextColor());
+ }
+ if (summaryTextView instanceof TextView) {
+ ((TextView) summaryTextView).setTextColor(customThemeWrapper.getSecondaryTextColor());
+ }
+ }
+
if (typeface != null) {
- View titleTextView = holder.findViewById(android.R.id.title);
if (titleTextView instanceof TextView) {
((TextView) titleTextView).setTypeface(typeface);
}
- View summaryTextView = holder.findViewById(android.R.id.summary);
if (summaryTextView instanceof TextView) {
((TextView) summaryTextView).setTypeface(typeface);
}
@@ -49,4 +71,9 @@ public class CustomFontSwitchPreference extends SwitchPreference implements Cust
public void setCustomFont(Typeface typeface, Typeface titleTypeface, Typeface contentTypeface) {
this.typeface = typeface;
}
+
+ @Override
+ public void setCustomThemeWrapper(CustomThemeWrapper customThemeWrapper) {
+ this.customThemeWrapper = customThemeWrapper;
+ }
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/AboutPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/AboutPreferenceFragment.java
index f746cf48..05be43a7 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/AboutPreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/AboutPreferenceFragment.java
@@ -25,10 +25,6 @@ public class AboutPreferenceFragment extends CustomFontPreferenceFragmentCompat
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.about_preferences, rootKey);
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
-
Preference openSourcePreference = findPreference(SharedPreferencesUtils.OPEN_SOURCE_KEY);
Preference ratePreference = findPreference(SharedPreferencesUtils.RATE_KEY);
Preference emailPreference = findPreference(SharedPreferencesUtils.EMAIL_KEY);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/AcknowledgementFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/AcknowledgementFragment.java
index 0ea2cbba..89d3fcc6 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/AcknowledgementFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/AcknowledgementFragment.java
@@ -17,7 +17,7 @@ import java.util.ArrayList;
import butterknife.BindView;
import butterknife.ButterKnife;
import ml.docilealligator.infinityforreddit.R;
-import ml.docilealligator.infinityforreddit.activities.BaseActivity;
+import ml.docilealligator.infinityforreddit.activities.SettingsActivity;
import ml.docilealligator.infinityforreddit.adapters.AcknowledgementRecyclerViewAdapter;
import ml.docilealligator.infinityforreddit.customviews.LinearLayoutManagerBugFixed;
@@ -28,7 +28,7 @@ public class AcknowledgementFragment extends Fragment {
@BindView(R.id.recycler_view_acknowledgement_fragment)
RecyclerView recyclerView;
- private BaseActivity activity;
+ private SettingsActivity activity;
public AcknowledgementFragment() {
// Required empty public constructor
@@ -127,12 +127,14 @@ public class AcknowledgementFragment extends Fragment {
recyclerView.setLayoutManager(new LinearLayoutManagerBugFixed(activity));
recyclerView.setAdapter(adapter);
+ rootView.setBackgroundColor(activity.customThemeWrapper.getBackgroundColor());
+
return rootView;
}
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
- activity = (BaseActivity) context;
+ activity = (SettingsActivity) context;
}
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/AdvancedPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/AdvancedPreferenceFragment.java
index 5bc9fd91..359a95ff 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/AdvancedPreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/AdvancedPreferenceFragment.java
@@ -3,7 +3,6 @@ package ml.docilealligator.infinityforreddit.settings;
import static android.app.Activity.RESULT_OK;
import static android.content.Intent.ACTION_OPEN_DOCUMENT_TREE;
-import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
@@ -11,7 +10,6 @@ import android.os.Bundle;
import android.os.Handler;
import android.widget.Toast;
-import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.preference.Preference;
@@ -28,7 +26,6 @@ import javax.inject.Named;
import ml.docilealligator.infinityforreddit.Infinity;
import ml.docilealligator.infinityforreddit.R;
import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase;
-import ml.docilealligator.infinityforreddit.activities.SettingsActivity;
import ml.docilealligator.infinityforreddit.asynctasks.BackupSettings;
import ml.docilealligator.infinityforreddit.asynctasks.DeleteAllPostLayouts;
import ml.docilealligator.infinityforreddit.asynctasks.DeleteAllReadPosts;
@@ -92,10 +89,6 @@ public class AdvancedPreferenceFragment extends CustomFontPreferenceFragmentComp
((Infinity) activity.getApplication()).getAppComponent().inject(this);
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
-
Preference deleteSubredditsPreference = findPreference(SharedPreferencesUtils.DELETE_ALL_SUBREDDITS_DATA_IN_DATABASE);
Preference deleteUsersPreference = findPreference(SharedPreferencesUtils.DELETE_ALL_USERS_DATA_IN_DATABASE);
Preference deleteSortTypePreference = findPreference(SharedPreferencesUtils.DELETE_ALL_SORT_TYPE_DATA_IN_DATABASE);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CommentPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CommentPreferenceFragment.java
index 2baef8f2..f055e422 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CommentPreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CommentPreferenceFragment.java
@@ -26,10 +26,6 @@ public class CommentPreferenceFragment extends CustomFontPreferenceFragmentCompa
((Infinity) activity.getApplication()).getAppComponent().inject(this);
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
-
SeekBarPreference showFewerToolbarOptionsThresholdSeekBarPreference = findPreference(SharedPreferencesUtils.SHOW_FEWER_TOOLBAR_OPTIONS_THRESHOLD);
if (showFewerToolbarOptionsThresholdSeekBarPreference != null) {
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CrashReportsFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CrashReportsFragment.java
index f49113fc..90ba39c5 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CrashReportsFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CrashReportsFragment.java
@@ -51,6 +51,8 @@ public class CrashReportsFragment extends Fragment {
recyclerView.setAdapter(new CrashReportsRecyclerViewAdapter(activity, CrashyReporter.INSTANCE.getLogsAsStrings()));
+ recyclerView.setBackgroundColor(activity.customThemeWrapper.getBackgroundColor());
+
return recyclerView;
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CreditsPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CreditsPreferenceFragment.java
index 81e11eea..f6db3220 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CreditsPreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CreditsPreferenceFragment.java
@@ -1,18 +1,15 @@
package ml.docilealligator.infinityforreddit.settings;
-import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
-import androidx.annotation.NonNull;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import ml.docilealligator.infinityforreddit.R;
import ml.docilealligator.infinityforreddit.activities.LinkResolverActivity;
-import ml.docilealligator.infinityforreddit.activities.SettingsActivity;
import ml.docilealligator.infinityforreddit.customviews.CustomFontPreferenceFragmentCompat;
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
@@ -25,10 +22,6 @@ public class CreditsPreferenceFragment extends CustomFontPreferenceFragmentCompa
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.credits_preferences, rootKey);
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
-
Preference iconForegroundPreference = findPreference(SharedPreferencesUtils.ICON_FOREGROUND_KEY);
Preference iconBackgroundPreference = findPreference(SharedPreferencesUtils.ICON_BACKGROUND_KEY);
Preference errorImagePreference = findPreference(SharedPreferencesUtils.ERROR_IMAGE_KEY);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CustomizeBottomAppBarFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CustomizeBottomAppBarFragment.java
index 4a295880..cf6d9a64 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CustomizeBottomAppBarFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CustomizeBottomAppBarFragment.java
@@ -3,6 +3,7 @@ package ml.docilealligator.infinityforreddit.settings;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Resources;
+import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@@ -25,7 +26,7 @@ import butterknife.BindView;
import butterknife.ButterKnife;
import ml.docilealligator.infinityforreddit.Infinity;
import ml.docilealligator.infinityforreddit.R;
-import ml.docilealligator.infinityforreddit.activities.BaseActivity;
+import ml.docilealligator.infinityforreddit.activities.SettingsActivity;
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
import ml.docilealligator.infinityforreddit.utils.Utils;
@@ -39,26 +40,38 @@ public class CustomizeBottomAppBarFragment extends Fragment {
TextView mainActivityGroupSummaryTextView;
@BindView(R.id.main_activity_option_count_linear_layout_customize_bottom_app_bar_fragment)
LinearLayout mainActivityOptionCountLinearLayout;
+ @BindView(R.id.main_activity_option_count_title_text_view_customize_bottom_app_bar_fragment)
+ TextView mainActivityOptionCountTitleTextView;
@BindView(R.id.main_activity_option_count_text_view_customize_bottom_app_bar_fragment)
TextView mainActivityOptionCountTextView;
@BindView(R.id.main_activity_option_1_linear_layout_customize_bottom_app_bar_fragment)
LinearLayout mainActivityOption1LinearLayout;
+ @BindView(R.id.main_activity_option_1_title_text_view_customize_bottom_app_bar_fragment)
+ TextView mainActivityOption1TitleTextView;
@BindView(R.id.main_activity_option_1_text_view_customize_bottom_app_bar_fragment)
TextView mainActivityOption1TextView;
@BindView(R.id.main_activity_option_2_linear_layout_customize_bottom_app_bar_fragment)
LinearLayout mainActivityOption2LinearLayout;
+ @BindView(R.id.main_activity_option_2_title_text_view_customize_bottom_app_bar_fragment)
+ TextView mainActivityOption2TitleTextView;
@BindView(R.id.main_activity_option_2_text_view_customize_bottom_app_bar_fragment)
TextView mainActivityOption2TextView;
@BindView(R.id.main_activity_option_3_linear_layout_customize_bottom_app_bar_fragment)
LinearLayout mainActivityOption3LinearLayout;
+ @BindView(R.id.main_activity_option_3_title_text_view_customize_bottom_app_bar_fragment)
+ TextView mainActivityOption3TitleTextView;
@BindView(R.id.main_activity_option_3_text_view_customize_bottom_app_bar_fragment)
TextView mainActivityOption3TextView;
@BindView(R.id.main_activity_option_4_linear_layout_customize_bottom_app_bar_fragment)
LinearLayout mainActivityOption4LinearLayout;
+ @BindView(R.id.main_activity_option_4_title_text_view_customize_bottom_app_bar_fragment)
+ TextView mainActivityOption4TitleTextView;
@BindView(R.id.main_activity_option_4_text_view_customize_bottom_app_bar_fragment)
TextView mainActivityOption4TextView;
@BindView(R.id.main_activity_fab_linear_layout_customize_bottom_app_bar_fragment)
LinearLayout mainActivityFABLinearLayout;
+ @BindView(R.id.main_activity_fab_title_text_view_customize_bottom_app_bar_fragment)
+ TextView mainActivityFABTitleTextView;
@BindView(R.id.main_activity_fab_text_view_customize_bottom_app_bar_fragment)
TextView mainActivityFABTextView;
@@ -68,32 +81,44 @@ public class CustomizeBottomAppBarFragment extends Fragment {
TextView otherActivitiesGroupSummaryTextView;
@BindView(R.id.other_activities_option_count_linear_layout_customize_bottom_app_bar_fragment)
LinearLayout otherActivitiesOptionCountLinearLayout;
+ @BindView(R.id.other_activities_option_count_title_text_view_customize_bottom_app_bar_fragment)
+ TextView otherActivitiesOptionCountTitleTextView;
@BindView(R.id.other_activities_option_count_text_view_customize_bottom_app_bar_fragment)
TextView otherActivitiesOptionCountTextView;
@BindView(R.id.other_activities_option_1_linear_layout_customize_bottom_app_bar_fragment)
LinearLayout otherActivitiesOption1LinearLayout;
+ @BindView(R.id.other_activities_option_1_title_text_view_customize_bottom_app_bar_fragment)
+ TextView otherActivitiesOption1TitleTextView;
@BindView(R.id.other_activities_option_1_text_view_customize_bottom_app_bar_fragment)
TextView otherActivitiesOption1TextView;
@BindView(R.id.other_activities_option_2_linear_layout_customize_bottom_app_bar_fragment)
LinearLayout otherActivitiesOption2LinearLayout;
+ @BindView(R.id.other_activities_option_2_title_text_view_customize_bottom_app_bar_fragment)
+ TextView otherActivitiesOption2TitleTextView;
@BindView(R.id.other_activities_option_2_text_view_customize_bottom_app_bar_fragment)
TextView otherActivitiesOption2TextView;
@BindView(R.id.other_activities_option_3_linear_layout_customize_bottom_app_bar_fragment)
LinearLayout otherActivitiesOption3LinearLayout;
+ @BindView(R.id.other_activities_option_3_title_text_view_customize_bottom_app_bar_fragment)
+ TextView otherActivitiesOption3TitleTextView;
@BindView(R.id.other_activities_option_3_text_view_customize_bottom_app_bar_fragment)
TextView otherActivitiesOption3TextView;
@BindView(R.id.other_activities_option_4_linear_layout_customize_bottom_app_bar_fragment)
LinearLayout otherActivitiesOption4LinearLayout;
+ @BindView(R.id.other_activities_option_4_title_text_view_customize_bottom_app_bar_fragment)
+ TextView otherActivitiesOption4TitleTextView;
@BindView(R.id.other_activities_option_4_text_view_customize_bottom_app_bar_fragment)
TextView otherActivitiesOption4TextView;
@BindView(R.id.other_activities_fab_linear_layout_customize_bottom_app_bar_fragment)
LinearLayout otherActivitiesFABLinearLayout;
+ @BindView(R.id.other_activities_fab_title_text_view_customize_bottom_app_bar_fragment)
+ TextView otherActivitiesFABTitleTextView;
@BindView(R.id.other_activities_fab_text_view_customize_bottom_app_bar_fragment)
TextView otherActivitiesFABTextView;
@Inject
@Named("bottom_app_bar")
SharedPreferences sharedPreferences;
- private BaseActivity activity;
+ private SettingsActivity activity;
private int mainActivityOptionCount;
private int mainActivityOption1;
private int mainActivityOption2;
@@ -121,6 +146,10 @@ public class CustomizeBottomAppBarFragment extends Fragment {
ButterKnife.bind(this, rootView);
+ rootView.setBackgroundColor(activity.customThemeWrapper.getBackgroundColor());
+
+ applyCustomTheme();
+
if (activity.typeface != null) {
Utils.setFontToAllTextViews(rootView, activity.typeface);
}
@@ -359,9 +388,45 @@ public class CustomizeBottomAppBarFragment extends Fragment {
return rootView;
}
+ private void applyCustomTheme() {
+ int primaryTextColor = activity.customThemeWrapper.getPrimaryTextColor();
+ int secondaryTextColor = activity.customThemeWrapper.getSecondaryTextColor();
+ int accentColor = activity.customThemeWrapper.getColorAccent();
+ infoTextView.setTextColor(secondaryTextColor);
+ Drawable infoDrawable = Utils.getTintedDrawable(activity, R.drawable.ic_info_preference_24dp, activity.customThemeWrapper.getPrimaryIconColor());
+ infoTextView.setCompoundDrawablesWithIntrinsicBounds(infoDrawable, null, null, null);
+ mainActivityGroupSummaryTextView.setTextColor(accentColor);
+ mainActivityOptionCountTitleTextView.setTextColor(primaryTextColor);
+ mainActivityOptionCountTextView.setTextColor(secondaryTextColor);
+ mainActivityOption1TitleTextView.setTextColor(primaryTextColor);
+ mainActivityOption1TextView.setTextColor(secondaryTextColor);
+ mainActivityOption2TitleTextView.setTextColor(primaryTextColor);
+ mainActivityOption2TextView.setTextColor(secondaryTextColor);
+ mainActivityOption3TitleTextView.setTextColor(primaryTextColor);
+ mainActivityOption3TextView.setTextColor(secondaryTextColor);
+ mainActivityOption4TitleTextView.setTextColor(primaryTextColor);
+ mainActivityOption4TextView.setTextColor(secondaryTextColor);
+ mainActivityFABTitleTextView.setTextColor(primaryTextColor);
+ mainActivityFABTextView.setTextColor(secondaryTextColor);
+
+ otherActivitiesGroupSummaryTextView.setTextColor(accentColor);
+ otherActivitiesOptionCountTitleTextView.setTextColor(primaryTextColor);
+ otherActivitiesOptionCountTextView.setTextColor(secondaryTextColor);
+ otherActivitiesOption1TitleTextView.setTextColor(primaryTextColor);
+ otherActivitiesOption1TextView.setTextColor(secondaryTextColor);
+ otherActivitiesOption2TitleTextView.setTextColor(primaryTextColor);
+ otherActivitiesOption2TextView.setTextColor(secondaryTextColor);
+ otherActivitiesOption3TitleTextView.setTextColor(primaryTextColor);
+ otherActivitiesOption3TextView.setTextColor(secondaryTextColor);
+ otherActivitiesOption4TitleTextView.setTextColor(primaryTextColor);
+ otherActivitiesOption4TextView.setTextColor(secondaryTextColor);
+ otherActivitiesFABTitleTextView.setTextColor(primaryTextColor);
+ otherActivitiesFABTextView.setTextColor(secondaryTextColor);
+ }
+
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
- activity = (BaseActivity) context;
+ activity = (SettingsActivity) context;
}
} \ No newline at end of file
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CustomizeMainPageTabsFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CustomizeMainPageTabsFragment.java
index d593c6ba..1a5cab8a 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CustomizeMainPageTabsFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/CustomizeMainPageTabsFragment.java
@@ -4,6 +4,7 @@ import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
+import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@@ -29,9 +30,9 @@ import butterknife.BindView;
import butterknife.ButterKnife;
import ml.docilealligator.infinityforreddit.Infinity;
import ml.docilealligator.infinityforreddit.R;
-import ml.docilealligator.infinityforreddit.activities.BaseActivity;
import ml.docilealligator.infinityforreddit.activities.MultiredditSelectionActivity;
import ml.docilealligator.infinityforreddit.activities.SearchActivity;
+import ml.docilealligator.infinityforreddit.activities.SettingsActivity;
import ml.docilealligator.infinityforreddit.activities.SubredditSelectionActivity;
import ml.docilealligator.infinityforreddit.multireddit.MultiReddit;
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
@@ -45,10 +46,14 @@ public class CustomizeMainPageTabsFragment extends Fragment {
TextView infoTextView;
@BindView(R.id.tab_count_linear_layout_customize_main_page_tabs_fragment)
LinearLayout tabCountLinearLayout;
+ @BindView(R.id.tab_count_title_text_view_customize_main_page_tabs_fragment)
+ TextView tabCountTitleTextView;
@BindView(R.id.tab_count_text_view_customize_main_page_tabs_fragment)
TextView tabCountTextView;
@BindView(R.id.show_tab_names_linear_layout_customize_main_page_tabs_fragment)
LinearLayout showTabNamesLinearLayout;
+ @BindView(R.id.show_tab_names_title_text_view_customize_main_page_tabs_fragment)
+ TextView showTabNamesTitleTextView;
@BindView(R.id.show_tab_names_switch_material_customize_main_page_tabs_fragment)
SwitchMaterial showTabNamesSwitch;
@BindView(R.id.divider_1_customize_main_page_tabs_fragment)
@@ -57,10 +62,14 @@ public class CustomizeMainPageTabsFragment extends Fragment {
TextView tab1GroupSummaryTextView;
@BindView(R.id.tab_1_title_linear_layout_customize_main_page_tabs_fragment)
LinearLayout tab1TitleLinearLayout;
+ @BindView(R.id.tab_1_title_title_text_view_customize_main_page_tabs_fragment)
+ TextView tab1TitleTitleTextView;
@BindView(R.id.tab_1_title_summary_text_view_customize_main_page_tabs_fragment)
TextView tab1TitleSummaryTextView;
@BindView(R.id.tab_1_type_linear_layout_customize_main_page_tabs_fragment)
LinearLayout tab1TypeLinearLayout;
+ @BindView(R.id.tab_1_type_title_text_view_customize_main_page_tabs_fragment)
+ TextView tab1TypeTitleTextView;
@BindView(R.id.tab_1_type_summary_text_view_customize_main_page_tabs_fragment)
TextView tab1TypeSummaryTextView;
@BindView(R.id.tab_1_name_constraint_layout_customize_main_page_tabs_fragment)
@@ -77,10 +86,14 @@ public class CustomizeMainPageTabsFragment extends Fragment {
TextView tab2GroupSummaryTextView;
@BindView(R.id.tab_2_title_linear_layout_customize_main_page_tabs_fragment)
LinearLayout tab2TitleLinearLayout;
+ @BindView(R.id.tab_2_title_title_text_view_customize_main_page_tabs_fragment)
+ TextView tab2TitleTitleTextView;
@BindView(R.id.tab_2_title_summary_text_view_customize_main_page_tabs_fragment)
TextView tab2TitleSummaryTextView;
@BindView(R.id.tab_2_type_linear_layout_customize_main_page_tabs_fragment)
LinearLayout tab2TypeLinearLayout;
+ @BindView(R.id.tab_2_type_title_text_view_customize_main_page_tabs_fragment)
+ TextView tab2TypeTitleTextView;
@BindView(R.id.tab_2_type_summary_text_view_customize_main_page_tabs_fragment)
TextView tab2TypeSummaryTextView;
@BindView(R.id.tab_2_name_constraint_layout_customize_main_page_tabs_fragment)
@@ -97,10 +110,14 @@ public class CustomizeMainPageTabsFragment extends Fragment {
TextView tab3GroupSummaryTextView;
@BindView(R.id.tab_3_title_linear_layout_customize_main_page_tabs_fragment)
LinearLayout tab3TitleLinearLayout;
+ @BindView(R.id.tab_3_title_title_text_view_customize_main_page_tabs_fragment)
+ TextView tab3TitleTitleTextView;
@BindView(R.id.tab_3_title_summary_text_view_customize_main_page_tabs_fragment)
TextView tab3TitleSummaryTextView;
@BindView(R.id.tab_3_type_linear_layout_customize_main_page_tabs_fragment)
LinearLayout tab3TypeLinearLayout;
+ @BindView(R.id.tab_3_type_title_text_view_customize_main_page_tabs_fragment)
+ TextView tab3TypeTitleTextView;
@BindView(R.id.tab_3_type_summary_text_view_customize_main_page_tabs_fragment)
TextView tab3TypeSummaryTextView;
@BindView(R.id.tab_3_name_constraint_layout_customize_main_page_tabs_fragment)
@@ -119,24 +136,32 @@ public class CustomizeMainPageTabsFragment extends Fragment {
TextView moreTabsInfoTextView;
@BindView(R.id.show_favorite_multireddits_linear_layout_customize_main_page_tabs_fragment)
LinearLayout showFavoriteMultiredditsLinearLayout;
+ @BindView(R.id.show_favorite_multireddits_title_text_view_customize_main_page_tabs_fragment)
+ TextView showFavoriteMultiredditsTitleTextView;
@BindView(R.id.show_favorite_multireddits_switch_material_customize_main_page_tabs_fragment)
SwitchMaterial showFavoriteMultiredditsSwitchMaterial;
@BindView(R.id.show_multireddits_linear_layout_customize_main_page_tabs_fragment)
LinearLayout showMultiredditsLinearLayout;
+ @BindView(R.id.show_multireddits_title_text_view_customize_main_page_tabs_fragment)
+ TextView showMultiredditsTitleTextView;
@BindView(R.id.show_multireddits_switch_material_customize_main_page_tabs_fragment)
SwitchMaterial showMultiredditsSwitchMaterial;
@BindView(R.id.show_subscribed_subreddits_linear_layout_customize_main_page_tabs_fragment)
LinearLayout showSubscribedSubredditsLinearLayout;
+ @BindView(R.id.show_subscribed_subreddits_title_text_view_customize_main_page_tabs_fragment)
+ TextView showSubscribedSubredditsTitleTextView;
@BindView(R.id.show_subscribed_subreddits_switch_material_customize_main_page_tabs_fragment)
SwitchMaterial showSubscribedSubredditsSwitchMaterial;
@BindView(R.id.show_favorite_subscribed_subreddits_linear_layout_customize_main_page_tabs_fragment)
LinearLayout showFavoriteSubscribedSubredditsLinearLayout;
+ @BindView(R.id.show_favorite_subscribed_subreddits_title_text_view_customize_main_page_tabs_fragment)
+ TextView showFavoriteSubscribedSubredditsTitleTextView;
@BindView(R.id.show_favorite_subscribed_subreddits_switch_material_customize_main_page_tabs_fragment)
SwitchMaterial showFavoriteSubscribedSubredditsSwitchMaterial;
@Inject
@Named("main_activity_tabs")
SharedPreferences mainActivityTabsSharedPreferences;
- private BaseActivity activity;
+ private SettingsActivity activity;
private String accountName;
private int tabCount;
private String tab1CurrentTitle;
@@ -163,6 +188,9 @@ public class CustomizeMainPageTabsFragment extends Fragment {
ButterKnife.bind(this, rootView);
+ rootView.setBackgroundColor(activity.customThemeWrapper.getBackgroundColor());
+ applyCustomTheme();
+
if (activity.typeface != null) {
Utils.setFontToAllTextViews(rootView, activity.typeface);
}
@@ -525,6 +553,50 @@ public class CustomizeMainPageTabsFragment extends Fragment {
return rootView;
}
+ private void applyCustomTheme() {
+ int primaryTextColor = activity.customThemeWrapper.getPrimaryTextColor();
+ int secondaryTextColor = activity.customThemeWrapper.getSecondaryTextColor();
+ int colorAccent = activity.customThemeWrapper.getColorAccent();
+ int primaryIconColor = activity.customThemeWrapper.getPrimaryIconColor();
+ infoTextView.setTextColor(secondaryTextColor);
+ Drawable infoDrawable = Utils.getTintedDrawable(activity, R.drawable.ic_info_preference_24dp, secondaryTextColor);
+ infoTextView.setCompoundDrawablesWithIntrinsicBounds(infoDrawable, null, null, null);
+ tabCountTitleTextView.setTextColor(primaryTextColor);
+ tabCountTextView.setTextColor(secondaryTextColor);
+ showTabNamesTitleTextView.setTextColor(primaryTextColor);
+ tab1GroupSummaryTextView.setTextColor(colorAccent);
+ tab1TitleTitleTextView.setTextColor(primaryTextColor);
+ tab1TitleSummaryTextView.setTextColor(secondaryTextColor);
+ tab1TypeTitleTextView.setTextColor(primaryTextColor);
+ tab1TypeSummaryTextView.setTextColor(secondaryTextColor);
+ tab1NameTitleTextView.setTextColor(primaryTextColor);
+ tab1NameSummaryTextView.setTextColor(secondaryTextColor);
+ tab1AddImageView.setColorFilter(primaryIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
+ tab2GroupSummaryTextView.setTextColor(colorAccent);
+ tab2TitleTitleTextView.setTextColor(primaryTextColor);
+ tab2TitleSummaryTextView.setTextColor(secondaryTextColor);
+ tab2TypeTitleTextView.setTextColor(primaryTextColor);
+ tab2TypeSummaryTextView.setTextColor(secondaryTextColor);
+ tab2NameTitleTextView.setTextColor(primaryTextColor);
+ tab2NameSummaryTextView.setTextColor(secondaryTextColor);
+ tab2AddImageView.setColorFilter(primaryIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
+ tab3GroupSummaryTextView.setTextColor(colorAccent);
+ tab3TitleTitleTextView.setTextColor(primaryTextColor);
+ tab3TitleSummaryTextView.setTextColor(secondaryTextColor);
+ tab3TypeTitleTextView.setTextColor(primaryTextColor);
+ tab3TypeSummaryTextView.setTextColor(secondaryTextColor);
+ tab3NameTitleTextView.setTextColor(primaryTextColor);
+ tab3NameSummaryTextView.setTextColor(secondaryTextColor);
+ tab3AddImageView.setColorFilter(primaryIconColor, android.graphics.PorterDuff.Mode.SRC_IN);
+ moreTabsGroupSummaryTextView.setTextColor(colorAccent);
+ moreTabsInfoTextView.setTextColor(secondaryTextColor);
+ moreTabsInfoTextView.setCompoundDrawablesWithIntrinsicBounds(infoDrawable, null, null, null);
+ showFavoriteMultiredditsTitleTextView.setTextColor(primaryTextColor);
+ showMultiredditsTitleTextView.setTextColor(primaryTextColor);
+ showSubscribedSubredditsTitleTextView.setTextColor(primaryTextColor);
+ showFavoriteSubscribedSubredditsTitleTextView.setTextColor(primaryTextColor);
+ }
+
private void applyTab1NameView(ConstraintLayout constraintLayout, TextView titleTextView, int postType) {
switch (postType) {
case SharedPreferencesUtils.MAIN_PAGE_TAB_POST_TYPE_SUBREDDIT:
@@ -713,6 +785,6 @@ public class CustomizeMainPageTabsFragment extends Fragment {
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
- activity = (BaseActivity) context;
+ activity = (SettingsActivity) context;
}
} \ No newline at end of file
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/DataSavingModePreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/DataSavingModePreferenceFragment.java
index 8ab39189..c513587e 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/DataSavingModePreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/DataSavingModePreferenceFragment.java
@@ -20,10 +20,6 @@ public class DataSavingModePreferenceFragment extends CustomFontPreferenceFragme
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.data_saving_mode_preferences, rootKey);
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
-
ListPreference dataSavingModeListPreference = findPreference(SharedPreferencesUtils.DATA_SAVING_MODE);
SwitchPreference disableImagePreviewPreference = findPreference(SharedPreferencesUtils.DISABLE_IMAGE_PREVIEW);
SwitchPreference onlyDisablePreviewInVideoAndGifPostsPreference = findPreference(SharedPreferencesUtils.ONLY_DISABLE_PREVIEW_IN_VIDEO_AND_GIF_POSTS);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/DownloadLocationPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/DownloadLocationPreferenceFragment.java
index e28f721c..8c717c5c 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/DownloadLocationPreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/DownloadLocationPreferenceFragment.java
@@ -3,12 +3,10 @@ package ml.docilealligator.infinityforreddit.settings;
import static android.content.Intent.ACTION_OPEN_DOCUMENT_TREE;
import android.app.Activity;
-import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
-import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.preference.Preference;
@@ -17,7 +15,6 @@ import javax.inject.Named;
import ml.docilealligator.infinityforreddit.Infinity;
import ml.docilealligator.infinityforreddit.R;
-import ml.docilealligator.infinityforreddit.activities.SettingsActivity;
import ml.docilealligator.infinityforreddit.customviews.CustomFontPreferenceFragmentCompat;
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
@@ -40,10 +37,6 @@ public class DownloadLocationPreferenceFragment extends CustomFontPreferenceFrag
((Infinity) activity.getApplication()).getAppComponent().inject(this);
setPreferencesFromResource(R.xml.download_location_preferences, rootKey);
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
-
imageDownloadLocationPreference = findPreference(SharedPreferencesUtils.IMAGE_DOWNLOAD_LOCATION);
gifDownloadLocationPreference = findPreference(SharedPreferencesUtils.GIF_DOWNLOAD_LOCATION);
videoDownloadLocationPreference = findPreference(SharedPreferencesUtils.VIDEO_DOWNLOAD_LOCATION);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/FontPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/FontPreferenceFragment.java
index 42227646..5999df59 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/FontPreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/FontPreferenceFragment.java
@@ -56,10 +56,6 @@ public class FontPreferenceFragment extends CustomFontPreferenceFragmentCompat {
((Infinity) activity.getApplication()).getAppComponent().inject(this);
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
-
ListPreference fontFamilyPreference = findPreference(SharedPreferencesUtils.FONT_FAMILY_KEY);
customFontFamilyPreference = findPreference(SharedPreferencesUtils.CUSTOM_FONT_FAMILY_KEY);
ListPreference titleFontFamilyPreference = findPreference(SharedPreferencesUtils.TITLE_FONT_FAMILY_KEY);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/FontPreviewFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/FontPreviewFragment.java
index c059c737..171f9e33 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/FontPreviewFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/FontPreviewFragment.java
@@ -1,16 +1,23 @@
package ml.docilealligator.infinityforreddit.settings;
+import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import ml.docilealligator.infinityforreddit.R;
+import ml.docilealligator.infinityforreddit.activities.SettingsActivity;
public class FontPreviewFragment extends Fragment {
+ private SettingsActivity activity;
+
public FontPreviewFragment() {
// Required empty public constructor
}
@@ -19,6 +26,22 @@ public class FontPreviewFragment extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_font_preview, container, false);
+
+ rootView.setBackgroundColor(activity.customThemeWrapper.getBackgroundColor());
+ LinearLayout linearLayout = rootView.findViewById(R.id.linear_layout_font_preview_fragment);
+ int primaryTextColor = activity.customThemeWrapper.getPrimaryTextColor();
+ for (int i = 0; i < linearLayout.getChildCount(); i++) {
+ View view = linearLayout.getChildAt(i);
+ if (view instanceof TextView) {
+ ((TextView) view).setTextColor(primaryTextColor);
+ }
+ }
return rootView;
}
+
+ @Override
+ public void onAttach(@NonNull Context context) {
+ super.onAttach(context);
+ this.activity = (SettingsActivity) context;
+ }
} \ No newline at end of file
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/GesturesAndButtonsPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/GesturesAndButtonsPreferenceFragment.java
index e32022c4..ddb45bf9 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/GesturesAndButtonsPreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/GesturesAndButtonsPreferenceFragment.java
@@ -34,10 +34,6 @@ public class GesturesAndButtonsPreferenceFragment extends CustomFontPreferenceFr
setPreferencesFromResource(R.xml.gestures_and_buttons_preferences, rootKey);
((Infinity) activity.getApplication()).getAppComponent().inject(this);
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
-
SwitchPreference lockJumpToNextTopLevelCommentButtonSwitch =
findPreference(SharedPreferencesUtils.LOCK_JUMP_TO_NEXT_TOP_LEVEL_COMMENT_BUTTON);
SwitchPreference lockBottomAppBarSwitch = findPreference(SharedPreferencesUtils.LOCK_BOTTOM_APP_BAR);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/ImmersiveInterfacePreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/ImmersiveInterfacePreferenceFragment.java
index c737e82a..df3d41fc 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/ImmersiveInterfacePreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/ImmersiveInterfacePreferenceFragment.java
@@ -17,10 +17,6 @@ public class ImmersiveInterfacePreferenceFragment extends CustomFontPreferenceFr
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.immersive_interface_preferences, rootKey);
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
-
SwitchPreference immersiveInterfaceSwitch = findPreference(SharedPreferencesUtils.IMMERSIVE_INTERFACE_KEY);
SwitchPreference immersiveInterfaceIgnoreNavBarSwitch = findPreference(SharedPreferencesUtils.IMMERSIVE_INTERFACE_IGNORE_NAV_BAR_KEY);
SwitchPreference disableImmersiveInterfaceInLandscapeModeSwitch = findPreference(SharedPreferencesUtils.DISABLE_IMMERSIVE_INTERFACE_IN_LANDSCAPE_MODE);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/InterfacePreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/InterfacePreferenceFragment.java
index 0ad71c45..dc735462 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/InterfacePreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/InterfacePreferenceFragment.java
@@ -20,10 +20,6 @@ public class InterfacePreferenceFragment extends CustomFontPreferenceFragmentCom
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.interface_preferences, rootKey);
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
-
Preference immersiveInterfaceEntryPreference = findPreference(SharedPreferencesUtils.IMMERSIVE_INTERFACE_ENTRY_KEY);
SwitchPreference bottomAppBarSwitch = findPreference(SharedPreferencesUtils.BOTTOM_APP_BAR_KEY);
SwitchPreference voteButtonsOnTheRightSwitch = findPreference(SharedPreferencesUtils.VOTE_BUTTONS_ON_THE_RIGHT_KEY);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/MainPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/MainPreferenceFragment.java
index 80ff74ab..ef64c33e 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/MainPreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/MainPreferenceFragment.java
@@ -33,10 +33,6 @@ public class MainPreferenceFragment extends CustomFontPreferenceFragmentCompat {
setPreferencesFromResource(R.xml.main_preferences, rootKey);
((Infinity) activity.getApplication()).getAppComponent().inject(this);
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
-
Preference securityPreference = findPreference(SharedPreferencesUtils.SECURITY);
Preference postFilterPreference = findPreference(SharedPreferencesUtils.POST_FILTER);
Preference privacyPolicyPreference = findPreference(SharedPreferencesUtils.PRIVACY_POLICY_KEY);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/MiscellaneousPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/MiscellaneousPreferenceFragment.java
index 9fef58ab..9ce4f4cb 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/MiscellaneousPreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/MiscellaneousPreferenceFragment.java
@@ -37,10 +37,6 @@ public class MiscellaneousPreferenceFragment extends CustomFontPreferenceFragmen
((Infinity) activity.getApplication()).getAppComponent().inject(this);
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
-
ListPreference mainPageBackButtonActionListPreference = findPreference(SharedPreferencesUtils.MAIN_PAGE_BACK_BUTTON_ACTION);
SwitchPreference savePostFeedScrolledPositionSwitch = findPreference(SharedPreferencesUtils.SAVE_FRONT_PAGE_SCROLLED_POSITION);
ListPreference languageListPreference = findPreference(SharedPreferencesUtils.LANGUAGE);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/NavigationDrawerPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/NavigationDrawerPreferenceFragment.java
index 36ebd09b..883f2f80 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/NavigationDrawerPreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/NavigationDrawerPreferenceFragment.java
@@ -20,10 +20,6 @@ public class NavigationDrawerPreferenceFragment extends CustomFontPreferenceFrag
preferenceManager.setSharedPreferencesName(SharedPreferencesUtils.NAVIGATION_DRAWER_SHARED_PREFERENCES_FILE);
setPreferencesFromResource(R.xml.navigation_drawer_preferences, rootKey);
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
-
SwitchPreference showAvatarOnTheRightSwitch = findPreference(SharedPreferencesUtils.SHOW_AVATAR_ON_THE_RIGHT);
if (showAvatarOnTheRightSwitch != null) {
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/NotificationPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/NotificationPreferenceFragment.java
index 6f4c5313..5316a4fc 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/NotificationPreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/NotificationPreferenceFragment.java
@@ -39,10 +39,6 @@ public class NotificationPreferenceFragment extends CustomFontPreferenceFragment
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.notification_preferences, rootKey);
-
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
workManager = WorkManager.getInstance(activity);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/NsfwAndSpoilerFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/NsfwAndSpoilerFragment.java
index 10b81408..b61f4635 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/NsfwAndSpoilerFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/NsfwAndSpoilerFragment.java
@@ -10,7 +10,6 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
-import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
@@ -25,7 +24,7 @@ import butterknife.BindView;
import butterknife.ButterKnife;
import ml.docilealligator.infinityforreddit.Infinity;
import ml.docilealligator.infinityforreddit.R;
-import ml.docilealligator.infinityforreddit.activities.BaseActivity;
+import ml.docilealligator.infinityforreddit.activities.SettingsActivity;
import ml.docilealligator.infinityforreddit.events.ChangeNSFWBlurEvent;
import ml.docilealligator.infinityforreddit.events.ChangeNSFWEvent;
import ml.docilealligator.infinityforreddit.events.ChangeSpoilerBlurEvent;
@@ -38,20 +37,30 @@ public class NsfwAndSpoilerFragment extends Fragment {
@BindView(R.id.enable_nsfw_linear_layout_nsfw_and_spoiler_fragment)
LinearLayout enableNsfwLinearLayout;
+ @BindView(R.id.enable_nsfw_text_view_nsfw_and_spoiler_fragment)
+ TextView enableNsfwTextView;
@BindView(R.id.enable_nsfw_switch_nsfw_and_spoiler_fragment)
SwitchMaterial enableNsfwSwitchMaterial;
@BindView(R.id.blur_nsfw_linear_layout_nsfw_and_spoiler_fragment)
LinearLayout blurNsfwLinearLayout;
+ @BindView(R.id.blur_nsfw_text_view_nsfw_and_spoiler_fragment)
+ TextView blurNsfwTextView;
@BindView(R.id.blur_nsfw_switch_nsfw_and_spoiler_fragment)
SwitchMaterial blurNsfwSwitchMaterial;
@BindView(R.id.do_not_blur_nsfw_in_nsfw_subreddits_linear_layout_nsfw_and_spoiler_fragment)
LinearLayout doNotBlurNsfwInNsfwSubredditsLinearLayout;
+ @BindView(R.id.do_not_blur_nsfw_text_view_nsfw_and_spoiler_fragment)
+ TextView doNotBlurNsfwInNsfwSubredditsTextView;
@BindView(R.id.do_not_blur_nsfw_in_nsfw_subreddits_switch_nsfw_and_spoiler_fragment)
SwitchMaterial doNotBlurNsfwInNsfwSubredditsSwitch;
@BindView(R.id.blur_spoiler_linear_layout_nsfw_and_spoiler_fragment)
LinearLayout blurSpoilerLinearLayout;
+ @BindView(R.id.blur_spoiler_text_view_nsfw_and_spoiler_fragment)
+ TextView blurSpoilerTextView;
@BindView(R.id.blur_spoiler_switch_nsfw_and_spoiler_fragment)
SwitchMaterial blurSpoilerSwitchMaterial;
+ @BindView(R.id.dangerous_text_view_nsfw_and_spoiler_fragment)
+ TextView dangerousTextView;
@BindView(R.id.disable_nsfw_forever_linear_layout_nsfw_and_spoiler_fragment)
LinearLayout disableNsfwForeverLinearLayout;
@BindView(R.id.disable_nsfw_forever_text_view_nsfw_and_spoiler_fragment)
@@ -65,7 +74,7 @@ public class NsfwAndSpoilerFragment extends Fragment {
@Named("nsfw_and_spoiler")
SharedPreferences nsfwAndBlurringSharedPreferences;
- private BaseActivity activity;
+ private SettingsActivity activity;
private boolean blurNsfw;
private boolean doNotBlurNsfwInNsfwSubreddits;
private boolean disableNsfwForever;
@@ -85,6 +94,10 @@ public class NsfwAndSpoilerFragment extends Fragment {
ButterKnife.bind(this, rootView);
+ applyCustomTheme();
+
+ rootView.setBackgroundColor(activity.customThemeWrapper.getBackgroundColor());
+
if (activity.typeface != null) {
Utils.setFontToAllTextViews(rootView, activity.typeface);
}
@@ -109,7 +122,7 @@ public class NsfwAndSpoilerFragment extends Fragment {
disableNsfwForeverSwitchMaterial.setChecked(disableNsfwForever);
disableNsfwForeverSwitchMaterial.setEnabled(!disableNsfwForever);
if (disableNsfwForever) {
- disableNsfwForeverTextView.setTextColor(ContextCompat.getColor(activity, R.color.settingsSubtitleColor));
+ disableNsfwForeverTextView.setTextColor(activity.customThemeWrapper.getSecondaryTextColor());
disableNsfwForeverLinearLayout.setEnabled(false);
}
@@ -162,7 +175,7 @@ public class NsfwAndSpoilerFragment extends Fragment {
disableNsfwForeverSwitchMaterial.setEnabled(false);
disableNsfwForeverLinearLayout.setEnabled(false);
disableNsfwForeverSwitchMaterial.setChecked(true);
- disableNsfwForeverTextView.setTextColor(ContextCompat.getColor(activity, R.color.settingsSubtitleColor));
+ disableNsfwForeverTextView.setTextColor(activity.customThemeWrapper.getSecondaryTextColor());
EventBus.getDefault().post(new ChangeNSFWEvent(false));
})
.setNegativeButton(R.string.no, (dialogInterface, i) -> {
@@ -181,9 +194,20 @@ public class NsfwAndSpoilerFragment extends Fragment {
return rootView;
}
+ private void applyCustomTheme() {
+ int primaryTextColor = activity.customThemeWrapper.getPrimaryTextColor();
+ enableNsfwTextView.setCompoundDrawablesWithIntrinsicBounds(Utils.getTintedDrawable(activity, R.drawable.ic_nsfw_on_24dp, activity.customThemeWrapper.getPrimaryIconColor()), null, null, null);
+ enableNsfwTextView.setTextColor(primaryTextColor);
+ blurNsfwTextView.setTextColor(primaryTextColor);
+ doNotBlurNsfwInNsfwSubredditsTextView.setTextColor(primaryTextColor);
+ blurSpoilerTextView.setTextColor(primaryTextColor);
+ dangerousTextView.setTextColor(primaryTextColor);
+ disableNsfwForeverTextView.setTextColor(primaryTextColor);
+ }
+
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
- this.activity = (BaseActivity) context;
+ this.activity = (SettingsActivity) context;
}
} \ No newline at end of file
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/NumberOfColumnsInPostFeedPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/NumberOfColumnsInPostFeedPreferenceFragment.java
index 2ebb31a1..61a4b205 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/NumberOfColumnsInPostFeedPreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/NumberOfColumnsInPostFeedPreferenceFragment.java
@@ -9,9 +9,5 @@ public class NumberOfColumnsInPostFeedPreferenceFragment extends CustomFontPrefe
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.number_of_columns_in_post_feed_preferences, rootKey);
-
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
}
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/PostDetailsPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/PostDetailsPreferenceFragment.java
index 224fffd5..5fe11360 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/PostDetailsPreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/PostDetailsPreferenceFragment.java
@@ -14,9 +14,5 @@ public class PostDetailsPreferenceFragment extends CustomFontPreferenceFragmentC
PreferenceManager preferenceManager = getPreferenceManager();
preferenceManager.setSharedPreferencesName(SharedPreferencesUtils.POST_DETAILS_SHARED_PREFERENCES_FILE);
setPreferencesFromResource(R.xml.post_details_preferences, rootKey);
-
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
}
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/PostHistoryFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/PostHistoryFragment.java
index 878ead80..0384f050 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/PostHistoryFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/PostHistoryFragment.java
@@ -2,6 +2,7 @@ package ml.docilealligator.infinityforreddit.settings;
import android.content.Context;
import android.content.SharedPreferences;
+import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@@ -21,7 +22,7 @@ import butterknife.BindView;
import butterknife.ButterKnife;
import ml.docilealligator.infinityforreddit.Infinity;
import ml.docilealligator.infinityforreddit.R;
-import ml.docilealligator.infinityforreddit.activities.BaseActivity;
+import ml.docilealligator.infinityforreddit.activities.SettingsActivity;
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
import ml.docilealligator.infinityforreddit.utils.Utils;
@@ -33,24 +34,32 @@ public class PostHistoryFragment extends Fragment {
TextView infoTextView;
@BindView(R.id.mark_posts_as_read_linear_layout_post_history_fragment)
LinearLayout markPostsAsReadLinearLayout;
+ @BindView(R.id.mark_posts_as_read_text_view_post_history_fragment)
+ TextView markPostsAsReadTextView;
@BindView(R.id.mark_posts_as_read_switch_post_history_fragment)
SwitchMaterial markPostsAsReadSwitch;
@BindView(R.id.mark_posts_as_read_after_voting_linear_layout_post_history_fragment)
LinearLayout markPostsAsReadAfterVotingLinearLayout;
+ @BindView(R.id.mark_posts_as_read_after_voting_text_view_post_history_fragment)
+ TextView markPostsAsReadAfterVotingTextView;
@BindView(R.id.mark_posts_as_read_after_voting_switch_post_history_fragment)
SwitchMaterial markPostsAsReadAfterVotingSwitch;
@BindView(R.id.mark_posts_as_read_on_scroll_linear_layout_post_history_fragment)
LinearLayout markPostsAsReadOnScrollLinearLayout;
+ @BindView(R.id.mark_posts_as_read_on_scroll_text_view_post_history_fragment)
+ TextView markPostsAsReadOnScrollTextView;
@BindView(R.id.mark_posts_as_read_on_scroll_switch_post_history_fragment)
SwitchMaterial markPostsAsReadOnScrollSwitch;
@BindView(R.id.hide_read_posts_automatically_linear_layout_post_history_fragment)
LinearLayout hideReadPostsAutomaticallyLinearLayout;
+ @BindView(R.id.hide_read_posts_automatically_text_view_post_history_fragment)
+ TextView hideReadPostsAutomaticallyTextView;
@BindView(R.id.hide_read_posts_automatically_switch_post_history_fragment)
SwitchMaterial hideReadPostsAutomaticallySwitch;
@Inject
@Named("post_history")
SharedPreferences postHistorySharedPreferences;
- private BaseActivity activity;
+ private SettingsActivity activity;
public PostHistoryFragment() {
// Required empty public constructor
@@ -66,6 +75,9 @@ public class PostHistoryFragment extends Fragment {
ButterKnife.bind(this, rootView);
+ rootView.setBackgroundColor(activity.customThemeWrapper.getBackgroundColor());
+ applyCustomTheme();
+
if (activity.typeface != null) {
Utils.setFontToAllTextViews(rootView, activity.typeface);
}
@@ -112,9 +124,20 @@ public class PostHistoryFragment extends Fragment {
return rootView;
}
+ private void applyCustomTheme() {
+ infoTextView.setTextColor(activity.customThemeWrapper.getSecondaryTextColor());
+ Drawable infoDrawable = Utils.getTintedDrawable(activity, R.drawable.ic_info_preference_24dp, activity.customThemeWrapper.getPrimaryIconColor());
+ infoTextView.setCompoundDrawablesWithIntrinsicBounds(infoDrawable, null, null, null);
+ int primaryTextColor = activity.customThemeWrapper.getPrimaryTextColor();
+ markPostsAsReadTextView.setTextColor(primaryTextColor);
+ markPostsAsReadAfterVotingTextView.setTextColor(primaryTextColor);
+ markPostsAsReadOnScrollTextView.setTextColor(primaryTextColor);
+ hideReadPostsAutomaticallyTextView.setTextColor(primaryTextColor);
+ }
+
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
- this.activity = (BaseActivity) context;
+ this.activity = (SettingsActivity) context;
}
} \ No newline at end of file
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/PostPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/PostPreferenceFragment.java
index cacdf83b..7f4fe935 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/PostPreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/PostPreferenceFragment.java
@@ -31,10 +31,6 @@ public class PostPreferenceFragment extends CustomFontPreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.post_preferences, rootKey);
-
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
ListPreference defaultPostLayoutList = findPreference(SharedPreferencesUtils.DEFAULT_POST_LAYOUT_KEY);
ListPreference defaultLinkPostLayoutList = findPreference(SharedPreferencesUtils.DEFAULT_LINK_POST_LAYOUT_KEY);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/SecurityPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/SecurityPreferenceFragment.java
index 7bac9841..a1d49a82 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/SecurityPreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/SecurityPreferenceFragment.java
@@ -42,10 +42,6 @@ public class SecurityPreferenceFragment extends CustomFontPreferenceFragmentComp
((Infinity) activity.getApplication()).getAppComponent().inject(this);
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
-
SwitchPreference requireAuthToAccountSectionSwitch = findPreference(SharedPreferencesUtils.REQUIRE_AUTHENTICATION_TO_GO_TO_ACCOUNT_SECTION_IN_NAVIGATION_DRAWER);
SwitchPreference secureModeSwitch = findPreference(SharedPreferencesUtils.SECURE_MODE);
SwitchPreference appLockSwitch = findPreference(SharedPreferencesUtils.APP_LOCK);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/SortTypePreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/SortTypePreferenceFragment.java
index dbb3f615..e10d9e82 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/SortTypePreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/SortTypePreferenceFragment.java
@@ -10,9 +10,5 @@ public class SortTypePreferenceFragment extends CustomFontPreferenceFragmentComp
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.sort_type_preferences, rootKey);
-
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
}
} \ No newline at end of file
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/SwipeActionPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/SwipeActionPreferenceFragment.java
index a7d03631..56da79d8 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/SwipeActionPreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/SwipeActionPreferenceFragment.java
@@ -22,10 +22,6 @@ public class SwipeActionPreferenceFragment extends CustomFontPreferenceFragmentC
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.swipe_action_preferences, rootKey);
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
-
SwitchPreference enableSwipeActionSwitch = findPreference(SharedPreferencesUtils.ENABLE_SWIPE_ACTION);
ListPreference swipeLeftActionListPreference = findPreference(SharedPreferencesUtils.SWIPE_LEFT_ACTION);
ListPreference swipeRightActionListPreference = findPreference(SharedPreferencesUtils.SWIPE_RIGHT_ACTION);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/ThemePreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/ThemePreferenceFragment.java
index 65bea6ef..f2539426 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/ThemePreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/ThemePreferenceFragment.java
@@ -71,10 +71,6 @@ public class ThemePreferenceFragment extends CustomFontPreferenceFragmentCompat
((Infinity) activity.getApplication()).getAppComponent().inject(this);
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
-
ListPreference themePreference = findPreference(SharedPreferencesUtils.THEME_KEY);
SwitchPreference amoledDarkSwitch = findPreference(SharedPreferencesUtils.AMOLED_DARK_KEY);
Preference customizeLightThemePreference = findPreference(SharedPreferencesUtils.CUSTOMIZE_LIGHT_THEME);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/TimeFormatPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/TimeFormatPreferenceFragment.java
index 21e190aa..b8b3b8cf 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/TimeFormatPreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/TimeFormatPreferenceFragment.java
@@ -18,10 +18,6 @@ public class TimeFormatPreferenceFragment extends CustomFontPreferenceFragmentCo
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.time_format_preferences, rootKey);
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
-
SwitchPreference showElapsedTimeSwitch = findPreference(SharedPreferencesUtils.SHOW_ELAPSED_TIME_KEY);
ListPreference timeFormatList = findPreference(SharedPreferencesUtils.TIME_FORMAT_KEY);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/TranslationFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/TranslationFragment.java
index 576a6af1..41db0168 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/TranslationFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/TranslationFragment.java
@@ -45,6 +45,8 @@ public class TranslationFragment extends Fragment {
TranslationFragmentRecyclerViewAdapter adapter = new TranslationFragmentRecyclerViewAdapter(activity, customThemeWrapper);
recyclerView.setAdapter(adapter);
+ rootView.setBackgroundColor(customThemeWrapper.getBackgroundColor());
+
return rootView;
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/VideoPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/VideoPreferenceFragment.java
index 9802e3cb..e00dce6d 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/settings/VideoPreferenceFragment.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/settings/VideoPreferenceFragment.java
@@ -38,10 +38,6 @@ public class VideoPreferenceFragment extends CustomFontPreferenceFragmentCompat
((Infinity) activity.getApplication()).getAppComponent().inject(this);
- if (activity.typeface != null) {
- setFont(activity.typeface);
- }
-
ListPreference videoAutoplayListPreference = findPreference(SharedPreferencesUtils.VIDEO_AUTOPLAY);
SwitchPreference muteAutoplayingVideosSwitchPreference = findPreference(SharedPreferencesUtils.MUTE_AUTOPLAYING_VIDEOS);
SwitchPreference rememberMutingOptionInPostFeedSwitchPreference = findPreference(SharedPreferencesUtils.REMEMBER_MUTING_OPTION_IN_POST_FEED);