diff options
author | Andy Mast <andy@cyngn.com> | 2014-11-07 10:51:49 -0800 |
---|---|---|
committer | Andy Mast <andy@cyngn.com> | 2014-11-09 22:24:46 +0000 |
commit | 3eab9ffd19d1db72870f3a79eeabb085b453b99a (patch) | |
tree | 92d9057288f77646e3385aded53325f356242d30 /src/com | |
parent | e395982db698574dec15608781b0b01bad5b273a (diff) | |
download | packages_apps_ThemeChooser-3eab9ffd19d1db72870f3a79eeabb085b453b99a.tar.gz packages_apps_ThemeChooser-3eab9ffd19d1db72870f3a79eeabb085b453b99a.tar.bz2 packages_apps_ThemeChooser-3eab9ffd19d1db72870f3a79eeabb085b453b99a.zip |
Use default if theme is missing a component
Change-Id: Ic3de7c86d1362be02dcba0447c0d0b3ccdd5d0a0
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/cyngn/theme/chooser/ThemeFragment.java | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/com/cyngn/theme/chooser/ThemeFragment.java b/src/com/cyngn/theme/chooser/ThemeFragment.java index 4f93db8..ccf22c5 100644 --- a/src/com/cyngn/theme/chooser/ThemeFragment.java +++ b/src/com/cyngn/theme/chooser/ThemeFragment.java @@ -2056,10 +2056,12 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb @Override public void run() { if (mSelectedComponentsMap != null && mSelectedComponentsMap.size() > 0) { + final HashMap<String, String> fullMap + = fillMissingComponentsWithDefault(mSelectedComponentsMap); ThemeManager tm = getThemeManager(); if (tm != null) { tm.addClient(ThemeFragment.this); - tm.requestThemeChange(mSelectedComponentsMap); + tm.requestThemeChange(fullMap); } } else { onFinish(true); @@ -2070,6 +2072,21 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb } }; + private HashMap<String, String> fillMissingComponentsWithDefault( + Map<String, String> originalMap) { + HashMap newMap = new HashMap<String, String>(); + newMap.putAll(originalMap); + Map<String, String> defaultMap = ThemeUtils.getDefaultComponents(getActivity()); + for(Map.Entry<String, String> entry : defaultMap.entrySet()) { + String component = entry.getKey(); + String defaultPkg = entry.getValue(); + if (!newMap.containsKey(component)) { + newMap.put(component, defaultPkg); + } + } + return newMap; + } + private Runnable mApplyExternalWallpaperRunnable = new Runnable() { @Override public void run() { |