diff options
author | Docile-Alligator <chineseperson5@gmail.com> | 2021-11-02 14:39:45 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-02 14:39:45 +0000 |
commit | ef870f93fccc84e1d68dd6e0d4d4918422809b30 (patch) | |
tree | ed4b0811d6060eef6c4dae5385109d503c854f66 /app/src/main/java | |
parent | 8716eefb47ebab3a75d184041a92e27aeae0eab2 (diff) | |
parent | 0a0e1fa46aa9af83b05d95add3a50ed7ea46f891 (diff) | |
download | infinity-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/java')
-rw-r--r-- | app/src/main/java/ml/docilealligator/infinityforreddit/utils/MaterialYouUtils.java | 90 |
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); |