summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorClark Scheff <clark@cyngn.com>2014-10-08 10:12:06 -0700
committerClark Scheff <clark@cyngn.com>2014-10-08 10:13:15 -0700
commit549eb7c6f889cf2396ddd0169b606568b4710c61 (patch)
treecc54f13663965e3573834ac63d9f4c6602c1638c /src/com
parentcb25c65268f63176b278d37b36bf412aefd2ddd0 (diff)
downloadpackages_apps_ThemeChooser-549eb7c6f889cf2396ddd0169b606568b4710c61.tar.gz
packages_apps_ThemeChooser-549eb7c6f889cf2396ddd0169b606568b4710c61.tar.bz2
packages_apps_ThemeChooser-549eb7c6f889cf2396ddd0169b606568b4710c61.zip
Only update wallpaper if fragment visible or not applying a theme
Change-Id: I956d3821457e52157bb6f106ab9fcf87cbb51d98 REF: THEMES-377
Diffstat (limited to 'src/com')
-rw-r--r--src/com/cyngn/theme/chooser/MyThemeFragment.java26
1 files changed, 16 insertions, 10 deletions
diff --git a/src/com/cyngn/theme/chooser/MyThemeFragment.java b/src/com/cyngn/theme/chooser/MyThemeFragment.java
index 48c2a22..6d9f695 100644
--- a/src/com/cyngn/theme/chooser/MyThemeFragment.java
+++ b/src/com/cyngn/theme/chooser/MyThemeFragment.java
@@ -10,6 +10,7 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ThemeUtils;
import android.content.res.Resources;
+import android.content.res.ThemeManager;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.Typeface;
@@ -194,17 +195,22 @@ public class MyThemeFragment extends ThemeFragment {
private BroadcastReceiver mWallpaperChangeReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
- final WallpaperManager wm = WallpaperManager.getInstance(context);
- if (wm.getWallpaperInfo() != null) {
- addSurfaceView(mSurfaceView);
- } else {
- removeSurfaceView(mSurfaceView);
- }
+ // only update if we are the current visible fragment or if there is no theme
+ // being applied.
+ ThemeManager tm = (ThemeManager) context.getSystemService(Context.THEME_SERVICE);
+ if (!tm.isThemeApplying() || getUserVisibleHint()) {
+ final WallpaperManager wm = WallpaperManager.getInstance(context);
+ if (wm.getWallpaperInfo() != null) {
+ addSurfaceView(mSurfaceView);
+ } else {
+ removeSurfaceView(mSurfaceView);
+ }
- Drawable wp = context == null ? null : wm.getDrawable();
- if (wp != null) {
- mWallpaper.setImageDrawable(wp);
- mWallpaperCard.setWallpaper(wp);
+ Drawable wp = context == null ? null : wm.getDrawable();
+ if (wp != null) {
+ mWallpaper.setImageDrawable(wp);
+ mWallpaperCard.setWallpaper(wp);
+ }
}
}
};