aboutsummaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
authorDocile-Alligator <chineseperson5@gmail.com>2021-11-02 14:39:45 +0000
committerGitHub <noreply@github.com>2021-11-02 14:39:45 +0000
commitef870f93fccc84e1d68dd6e0d4d4918422809b30 (patch)
treeed4b0811d6060eef6c4dae5385109d503c854f66 /app/src/main
parent8716eefb47ebab3a75d184041a92e27aeae0eab2 (diff)
parent0a0e1fa46aa9af83b05d95add3a50ed7ea46f891 (diff)
downloadinfinity-for-reddit-ef870f93fccc84e1d68dd6e0d4d4918422809b30.tar
infinity-for-reddit-ef870f93fccc84e1d68dd6e0d4d4918422809b30.tar.gz
infinity-for-reddit-ef870f93fccc84e1d68dd6e0d4d4918422809b30.tar.bz2
infinity-for-reddit-ef870f93fccc84e1d68dd6e0d4d4918422809b30.tar.lz
infinity-for-reddit-ef870f93fccc84e1d68dd6e0d4d4918422809b30.tar.xz
infinity-for-reddit-ef870f93fccc84e1d68dd6e0d4d4918422809b30.tar.zst
infinity-for-reddit-ef870f93fccc84e1d68dd6e0d4d4918422809b30.zip
Merge pull request #500 from wulkanat/master
feat: "real" Material You implementation
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/utils/MaterialYouUtils.java90
1 files changed, 88 insertions, 2 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/utils/MaterialYouUtils.java b/app/src/main/java/ml/docilealligator/infinityforreddit/utils/MaterialYouUtils.java
index d470e1d0..63c3d9f2 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/utils/MaterialYouUtils.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/utils/MaterialYouUtils.java
@@ -48,7 +48,93 @@ public class MaterialYouUtils {
SharedPreferences amoledThemeSharedPreferences,
@Nullable MaterialYouListener materialYouListener) {
executor.execute(() -> {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
+ CustomTheme lightTheme = CustomThemeWrapper.getIndigo(context);
+ CustomTheme darkTheme = CustomThemeWrapper.getIndigoDark(context);
+ CustomTheme amoledTheme = CustomThemeWrapper.getIndigoAmoled(context);
+
+
+ lightTheme.colorPrimary = context.getColor(android.R.color.system_accent1_300);
+ lightTheme.colorPrimaryDark = context.getColor(android.R.color.system_accent1_500);
+ lightTheme.colorAccent = context.getColor(android.R.color.system_accent3_300);
+ lightTheme.colorPrimaryLightTheme = context.getColor(android.R.color.system_accent1_200);
+ lightTheme.backgroundColor = context.getColor(android.R.color.system_neutral1_10);
+ lightTheme.cardViewBackgroundColor = context.getColor(android.R.color.system_neutral2_50);
+ lightTheme.commentBackgroundColor = context.getColor(android.R.color.system_neutral2_50);
+ lightTheme.awardedCommentBackgroundColor = context.getColor(android.R.color.system_neutral2_100);
+ lightTheme.bottomAppBarBackgroundColor = context.getColor(android.R.color.system_accent2_100);
+ lightTheme.navBarColor = context.getColor(android.R.color.system_neutral2_100);
+ lightTheme.primaryTextColor = context.getColor(android.R.color.system_neutral1_900);
+ lightTheme.secondaryTextColor = context.getColor(android.R.color.system_neutral1_900);
+ lightTheme.bottomAppBarIconColor = context.getColor(android.R.color.system_accent1_400);;
+ lightTheme.primaryIconColor = context.getColor(android.R.color.system_accent1_400);
+ lightTheme.fabIconColor = context.getColor(android.R.color.system_neutral1_10);
+ lightTheme.toolbarPrimaryTextAndIconColor = context.getColor(android.R.color.system_accent1_50);
+ lightTheme.toolbarSecondaryTextColor = context.getColor(android.R.color.system_accent3_50);
+ lightTheme.tabLayoutWithCollapsedCollapsingToolbarTabIndicator = context.getColor(android.R.color.system_accent1_50);
+ lightTheme.tabLayoutWithCollapsedCollapsingToolbarTextColor = context.getColor(android.R.color.system_accent1_50);
+ lightTheme.tabLayoutWithCollapsedCollapsingToolbarTabBackground = context.getColor(android.R.color.system_accent1_50);
+ lightTheme.tabLayoutWithExpandedCollapsingToolbarTabBackground = context.getColor(android.R.color.system_accent1_50);
+ lightTheme.tabLayoutWithExpandedCollapsingToolbarTabIndicator = context.getColor(android.R.color.system_accent1_50);
+ lightTheme.tabLayoutWithExpandedCollapsingToolbarTextColor = context.getColor(android.R.color.system_accent1_50);
+ lightTheme.circularProgressBarBackground = context.getColor(android.R.color.system_accent1_10);
+ lightTheme.dividerColor = context.getColor(android.R.color.system_neutral1_100);
+ lightTheme.isLightStatusBar = false;
+ lightTheme.isChangeStatusBarIconColorAfterToolbarCollapsedInImmersiveInterface = true;
+ lightTheme.name = "Material You";
+
+ darkTheme.colorPrimary = context.getColor(android.R.color.system_accent1_100);
+ darkTheme.colorPrimaryDark = context.getColor(android.R.color.system_accent1_300);
+ darkTheme.colorAccent = context.getColor(android.R.color.system_accent3_100);
+ darkTheme.colorPrimaryLightTheme = context.getColor(android.R.color.system_accent1_100);
+ darkTheme.backgroundColor = context.getColor(android.R.color.system_neutral1_900);
+ darkTheme.cardViewBackgroundColor = context.getColor(android.R.color.system_neutral2_800);
+ darkTheme.commentBackgroundColor = context.getColor(android.R.color.system_neutral2_800);
+ darkTheme.awardedCommentBackgroundColor = context.getColor(android.R.color.system_neutral2_800);
+ darkTheme.bottomAppBarBackgroundColor = context.getColor(android.R.color.system_accent2_800);
+ darkTheme.navBarColor = context.getColor(android.R.color.system_neutral2_800);
+ darkTheme.primaryTextColor = context.getColor(android.R.color.system_neutral1_10);
+ darkTheme.secondaryTextColor = context.getColor(android.R.color.system_neutral1_10);
+ darkTheme.bottomAppBarIconColor = context.getColor(android.R.color.system_accent1_100);;
+ darkTheme.primaryIconColor = context.getColor(android.R.color.system_accent1_100);
+ darkTheme.fabIconColor = context.getColor(android.R.color.system_neutral1_900);
+ darkTheme.toolbarPrimaryTextAndIconColor = context.getColor(android.R.color.system_accent1_900);
+ darkTheme.toolbarSecondaryTextColor = context.getColor(android.R.color.system_accent3_900);
+ darkTheme.tabLayoutWithCollapsedCollapsingToolbarTabIndicator = context.getColor(android.R.color.system_accent1_800);
+ darkTheme.tabLayoutWithCollapsedCollapsingToolbarTextColor = context.getColor(android.R.color.system_accent1_800);
+ darkTheme.tabLayoutWithCollapsedCollapsingToolbarTabBackground = context.getColor(android.R.color.system_accent1_800);
+ darkTheme.tabLayoutWithExpandedCollapsingToolbarTabBackground = context.getColor(android.R.color.system_accent1_800);
+ darkTheme.tabLayoutWithExpandedCollapsingToolbarTabIndicator = context.getColor(android.R.color.system_accent1_800);
+ darkTheme.tabLayoutWithExpandedCollapsingToolbarTextColor = context.getColor(android.R.color.system_accent1_800);
+ darkTheme.circularProgressBarBackground = context.getColor(android.R.color.system_accent1_900);
+ darkTheme.dividerColor = context.getColor(android.R.color.system_neutral1_600);
+ darkTheme.isLightStatusBar = true;
+ darkTheme.isChangeStatusBarIconColorAfterToolbarCollapsedInImmersiveInterface = true;
+ darkTheme.name = "Material You Dark";
+
+ amoledTheme.colorAccent = context.getColor(android.R.color.system_accent1_100);
+ amoledTheme.colorPrimaryLightTheme = context.getColor(android.R.color.system_accent3_100);
+ amoledTheme.name = "Material You Amoled";
+
+ redditDataRoomDatabase.customThemeDao().unsetLightTheme();
+ redditDataRoomDatabase.customThemeDao().unsetDarkTheme();
+ redditDataRoomDatabase.customThemeDao().unsetAmoledTheme();
+
+ redditDataRoomDatabase.customThemeDao().insert(lightTheme);
+ redditDataRoomDatabase.customThemeDao().insert(darkTheme);
+ redditDataRoomDatabase.customThemeDao().insert(amoledTheme);
+
+ CustomThemeSharedPreferencesUtils.insertThemeToSharedPreferences(lightTheme, lightThemeSharedPreferences);
+ CustomThemeSharedPreferencesUtils.insertThemeToSharedPreferences(darkTheme, darkThemeSharedPreferences);
+ CustomThemeSharedPreferencesUtils.insertThemeToSharedPreferences(amoledTheme, amoledThemeSharedPreferences);
+
+ handler.post(() -> {
+ if (materialYouListener != null) {
+ materialYouListener.applied();
+ }
+ EventBus.getDefault().post(new RecreateActivityEvent());
+ });
+ } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
WallpaperManager wallpaperManager = WallpaperManager.getInstance(context);
WallpaperColors wallpaperColors = wallpaperManager.getWallpaperColors(WallpaperManager.FLAG_SYSTEM);
@@ -109,7 +195,7 @@ public class MaterialYouUtils {
redditDataRoomDatabase.customThemeDao().unsetLightTheme();
redditDataRoomDatabase.customThemeDao().unsetDarkTheme();
redditDataRoomDatabase.customThemeDao().unsetAmoledTheme();
-
+
redditDataRoomDatabase.customThemeDao().insert(lightTheme);
redditDataRoomDatabase.customThemeDao().insert(darkTheme);
redditDataRoomDatabase.customThemeDao().insert(amoledTheme);