summaryrefslogtreecommitdiffstats
path: root/src/org
diff options
context:
space:
mode:
authorClark Scheff <clark@cyngn.com>2014-07-15 11:40:10 -0700
committerClark Scheff <clark@cyngn.com>2014-07-16 09:47:45 -0700
commit00e3dddcb33d332ed432ce5e1eba704a91ca58a0 (patch)
treec0af444212866fc897aec89fe556ecef739891dc /src/org
parentc460d99e917188040e3753ed1a1e752d60cbaa29 (diff)
downloadpackages_apps_ThemeChooser-00e3dddcb33d332ed432ce5e1eba704a91ca58a0.tar.gz
packages_apps_ThemeChooser-00e3dddcb33d332ed432ce5e1eba704a91ca58a0.tar.bz2
packages_apps_ThemeChooser-00e3dddcb33d332ed432ce5e1eba704a91ca58a0.zip
Change theme based on component map from current ThemeFragment
Change-Id: Ie6829d27e15942518e15c988fa4b0927519f6b80
Diffstat (limited to 'src/org')
-rw-r--r--src/org/cyanogenmod/theme/chooserv2/ChooserActivity.java8
-rw-r--r--src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java31
2 files changed, 28 insertions, 11 deletions
diff --git a/src/org/cyanogenmod/theme/chooserv2/ChooserActivity.java b/src/org/cyanogenmod/theme/chooserv2/ChooserActivity.java
index 901dbcf..72b936e 100644
--- a/src/org/cyanogenmod/theme/chooserv2/ChooserActivity.java
+++ b/src/org/cyanogenmod/theme/chooserv2/ChooserActivity.java
@@ -46,6 +46,8 @@ import org.cyanogenmod.theme.chooserv2.ComponentSelector.OnOpenCloseListener;
import org.cyanogenmod.theme.util.TypefaceHelperCache;
import org.cyanogenmod.theme.util.Utils;
+import java.util.Map;
+
import static android.provider.ThemesContract.ThemesColumns.MODIFIES_ALARMS;
import static android.provider.ThemesContract.ThemesColumns.MODIFIES_BOOT_ANIM;
import static android.provider.ThemesContract.ThemesColumns.MODIFIES_NOTIFICATIONS;
@@ -201,7 +203,7 @@ public class ChooserActivity extends FragmentActivity
@Override
protected void onResume() {
super.onResume();
- mService.onClientResumed("temp_placeholder", this);
+ mService.onClientResumed(this);
}
@Override
@@ -235,13 +237,13 @@ public class ChooserActivity extends FragmentActivity
@Override
public void onPause() {
super.onPause();
- mService.onClientPaused("temp_placeholder");
+ mService.onClientPaused(this);
}
@Override
public void onDestroy() {
super.onDestroy();
- mService.onClientDestroyed("temp_placeholder");
+ mService.onClientDestroyed(this);
}
@Override
diff --git a/src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java b/src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java
index 752bb2d..85fae45 100644
--- a/src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java
+++ b/src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java
@@ -20,6 +20,7 @@ import android.animation.ValueAnimator;
import android.content.ComponentName;
import android.content.Context;
import android.content.pm.PackageManager;
+import android.content.pm.ThemeUtils;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.ThemeConfig;
@@ -46,7 +47,6 @@ import android.util.SparseArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.view.ViewParent;
import android.view.ViewTreeObserver;
import android.view.animation.DecelerateInterpolator;
import android.widget.FrameLayout;
@@ -189,7 +189,16 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb
mHandler = new Handler();
- mSelectedComponentsMap = new HashMap<String, String>();
+ // populate mSelectedComponentsMap with supported components for this theme
+ if (CURRENTLY_APPLIED_THEME.equals(mPkgName)) {
+ List<String> components = ThemeUtils.getSupportedComponents(getActivity(), mPkgName);
+ mSelectedComponentsMap = new HashMap<String, String>(components.size());
+ for (String component : components) {
+ mSelectedComponentsMap.put(component, mPkgName);
+ }
+ } else {
+ mSelectedComponentsMap = new HashMap<String, String>();
+ }
}
@Override
@@ -231,9 +240,11 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb
public void onClick(View v) {
Context context = getActivity();
if (context != null) {
- ThemeManager mService =
- (ThemeManager) context.getSystemService(Context.THEME_SERVICE);
- mService.requestThemeChange(mPkgName);
+ if (mSelectedComponentsMap != null && mSelectedComponentsMap.size() > 0) {
+ ThemeManager mService =
+ (ThemeManager) context.getSystemService(Context.THEME_SERVICE);
+ mService.requestThemeChange(mSelectedComponentsMap);
+ }
}
}
});
@@ -410,8 +421,10 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb
for (int i = mPreviewContent.getChildCount() - 1; i >= 0; i--) {
final ComponentCardView v = (ComponentCardView) mPreviewContent.getChildAt(i);
- float prevY; float endY;
- float prevHeight; float endHeight;
+ float prevY;
+ float endY;
+ float prevHeight;
+ float endHeight;
if (i >= prevBounds.size()) {
// View is being created
prevY = mPreviewContent.getTop() + mPreviewContent.getHeight();
@@ -835,7 +848,9 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb
CURRENTLY_APPLIED_THEME.equals(pkgName) ? getAppliedFontPackageName() : pkgName);
mTypefaceNormal = helper.getTypeface(Typeface.NORMAL);
mFontPreview.setTypeface(mTypefaceNormal);
- mSelectedComponentsMap.put(MODIFIES_FONTS, pkgName);
+ if (pkgNameIdx > -1) {
+ mSelectedComponentsMap.put(MODIFIES_FONTS, pkgName);
+ }
}
public static ComponentName[] getIconComponents(Context context) {