From 27288381a1e29203cd9b1354ac0b25705e55ac9a Mon Sep 17 00:00:00 2001 From: Mario Bertschler Date: Wed, 24 May 2017 15:35:09 -0700 Subject: Theming on Scrim- and GradientView Change-Id: I3070b54485a9476ffb71e325cdd45c2bd7ef5c9a --- src/com/android/launcher3/Launcher.java | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src/com/android/launcher3/Launcher.java') diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 22aff64ac..3ef5a8746 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -99,6 +99,7 @@ import com.android.launcher3.dragndrop.DragOptions; import com.android.launcher3.dragndrop.DragView; import com.android.launcher3.dragndrop.PinItemDragListener; import com.android.launcher3.dynamicui.ExtractedColors; +import com.android.launcher3.dynamicui.WallpaperColorInfo; import com.android.launcher3.folder.Folder; import com.android.launcher3.folder.FolderIcon; import com.android.launcher3.keyboard.CustomActionsPopup; @@ -149,7 +150,8 @@ import java.util.Set; public class Launcher extends BaseActivity implements LauncherExterns, View.OnClickListener, OnLongClickListener, LauncherModel.Callbacks, View.OnTouchListener, LauncherProviderChangeListener, - AccessibilityManager.AccessibilityStateChangeListener { + AccessibilityManager.AccessibilityStateChangeListener, + WallpaperColorInfo.OnThemeChangeListener { public static final String TAG = "Launcher"; static final boolean LOGD = false; @@ -365,6 +367,10 @@ public class Launcher extends BaseActivity mLauncherCallbacks.preOnCreate(); } + WallpaperColorInfo wallpaperColorInfo = WallpaperColorInfo.getInstance(this); + wallpaperColorInfo.setOnThemeChangeListener(this); + overrideTheme(wallpaperColorInfo.isDark()); + super.onCreate(savedInstanceState); LauncherAppState app = LauncherAppState.getInstance(this); @@ -463,6 +469,17 @@ public class Launcher extends BaseActivity } } + @Override + public void onThemeChanged() { + recreate(); + } + + protected void overrideTheme(boolean isDark) { + if (isDark) { + setTheme(R.style.LauncherThemeDark); + } + } + @Override public View findViewById(int id) { return mLauncherView.findViewById(id); @@ -1859,6 +1876,8 @@ public class Launcher extends BaseActivity ((AccessibilityManager) getSystemService(ACCESSIBILITY_SERVICE)) .removeAccessibilityStateChangeListener(this); + WallpaperColorInfo.getInstance(this).setOnThemeChangeListener(null); + LauncherAnimUtils.onDestroyActivity(); if (mLauncherCallbacks != null) { -- cgit v1.2.3