diff options
author | Clark Scheff <clark@cyngn.com> | 2014-07-15 11:40:10 -0700 |
---|---|---|
committer | Clark Scheff <clark@cyngn.com> | 2014-07-16 09:47:45 -0700 |
commit | 00e3dddcb33d332ed432ce5e1eba704a91ca58a0 (patch) | |
tree | c0af444212866fc897aec89fe556ecef739891dc /src/org/cyanogenmod | |
parent | c460d99e917188040e3753ed1a1e752d60cbaa29 (diff) | |
download | packages_apps_ThemeChooser-00e3dddcb33d332ed432ce5e1eba704a91ca58a0.zip packages_apps_ThemeChooser-00e3dddcb33d332ed432ce5e1eba704a91ca58a0.tar.gz packages_apps_ThemeChooser-00e3dddcb33d332ed432ce5e1eba704a91ca58a0.tar.bz2 |
Change theme based on component map from current ThemeFragment
Change-Id: Ie6829d27e15942518e15c988fa4b0927519f6b80
Diffstat (limited to 'src/org/cyanogenmod')
-rw-r--r-- | src/org/cyanogenmod/theme/chooserv2/ChooserActivity.java | 8 | ||||
-rw-r--r-- | src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java | 31 |
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) { |