diff options
author | d34d <clark@cyngn.com> | 2015-03-03 16:19:50 -0800 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyngn.com> | 2015-03-11 15:40:20 +0000 |
commit | 6fa042774da41d08e58c9cdf5d7076b2006b2836 (patch) | |
tree | 675d3310e2308a43a6a2de296a5871eedf043b41 /src/com | |
parent | 264109f570c950f6238d525e4477b38dbdf098d6 (diff) | |
download | packages_apps_ThemeChooser-6fa042774da41d08e58c9cdf5d7076b2006b2836.tar.gz packages_apps_ThemeChooser-6fa042774da41d08e58c9cdf5d7076b2006b2836.tar.bz2 packages_apps_ThemeChooser-6fa042774da41d08e58c9cdf5d7076b2006b2836.zip |
Use new RequestType when sending ThemeChangeRequests
Change-Id: I3fb272c5614c8c61501eb96bee87eee8b9ad0df0
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/cyngn/theme/chooser/MyThemeFragment.java | 8 | ||||
-rw-r--r-- | src/com/cyngn/theme/chooser/ThemeFragment.java | 27 |
2 files changed, 34 insertions, 1 deletions
diff --git a/src/com/cyngn/theme/chooser/MyThemeFragment.java b/src/com/cyngn/theme/chooser/MyThemeFragment.java index 8f812e8..b8459ac 100644 --- a/src/com/cyngn/theme/chooser/MyThemeFragment.java +++ b/src/com/cyngn/theme/chooser/MyThemeFragment.java @@ -10,6 +10,8 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.pm.ThemeUtils; import android.content.res.Resources; +import android.content.res.ThemeChangeRequest; +import android.content.res.ThemeChangeRequest.RequestType; import android.content.res.ThemeManager; import android.database.Cursor; import android.graphics.Bitmap; @@ -383,6 +385,12 @@ public class MyThemeFragment extends ThemeFragment { } @Override + protected ThemeChangeRequest getThemeChangeRequestForComponents( + Map<String, String> componentMap) { + return getThemeChangeRequestForComponents(componentMap, RequestType.USER_REQUEST_MIXNMATCH); + } + + @Override protected Map<String, String> getComponentsToApply() { Map<String, String> componentsToApply = new HashMap<String, String>(); // Only apply components that actually changed diff --git a/src/com/cyngn/theme/chooser/ThemeFragment.java b/src/com/cyngn/theme/chooser/ThemeFragment.java index d7e39e8..bd69d35 100644 --- a/src/com/cyngn/theme/chooser/ThemeFragment.java +++ b/src/com/cyngn/theme/chooser/ThemeFragment.java @@ -17,6 +17,8 @@ import android.content.pm.ThemeUtils; import android.content.res.AssetManager; import android.content.res.Configuration; import android.content.res.Resources; +import android.content.res.ThemeChangeRequest; +import android.content.res.ThemeChangeRequest.RequestType; import android.content.res.ThemeConfig; import android.content.res.ThemeManager; import android.database.Cursor; @@ -2099,7 +2101,8 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb ThemeManager tm = getThemeManager(); if (tm != null) { tm.addClient(ThemeFragment.this); - tm.requestThemeChange(fullMap); + tm.requestThemeChange(getThemeChangeRequestForComponents(fullMap), + true); } mApplyThemeOnPopulated = false; } else { @@ -2126,6 +2129,28 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb return newMap; } + /** + * This is the method that will be called when applying a theme and the idea is to override + * it in MyThemeFragment and pass in a different RequestType, once we have a type that indicates + * the user is mixing and matching instead of applying an entire theme. + * @param componentMap + * @return + */ + protected ThemeChangeRequest getThemeChangeRequestForComponents( + Map<String, String> componentMap) { + return getThemeChangeRequestForComponents(componentMap, RequestType.USER_REQUEST); + } + + protected ThemeChangeRequest getThemeChangeRequestForComponents( + Map<String, String> componentMap, RequestType requestType) { + ThemeChangeRequest.Builder builder = new ThemeChangeRequest.Builder(); + for (String component : componentMap.keySet()) { + builder.setComponent(component, componentMap.get(component)); + } + builder.setRequestType(requestType); + return builder.build(); + } + protected Map<String, String> getComponentsToApply() { return mSelectedComponentsMap; } |