summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authord34d <clark@cyngn.com>2015-03-03 16:19:50 -0800
committerGerrit Code Review <gerrit@cyngn.com>2015-03-11 15:40:20 +0000
commit6fa042774da41d08e58c9cdf5d7076b2006b2836 (patch)
tree675d3310e2308a43a6a2de296a5871eedf043b41 /src/com
parent264109f570c950f6238d525e4477b38dbdf098d6 (diff)
downloadpackages_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.java8
-rw-r--r--src/com/cyngn/theme/chooser/ThemeFragment.java27
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;
}