diff options
author | Clark Scheff <clark@cyngn.com> | 2014-09-23 15:45:26 -0700 |
---|---|---|
committer | Clark Scheff <clark@cyngn.com> | 2014-09-25 21:23:54 +0000 |
commit | 442e4d0846df4566ce2fa9c4c627125f2983ee8c (patch) | |
tree | f720d8a6ca8505fe32ea79e2fe98a862be13abc0 /src | |
parent | 885239ffdcf1538427226e582b0aee80ce920afd (diff) | |
download | packages_apps_ThemeChooser-442e4d0846df4566ce2fa9c4c627125f2983ee8c.zip packages_apps_ThemeChooser-442e4d0846df4566ce2fa9c4c627125f2983ee8c.tar.gz packages_apps_ThemeChooser-442e4d0846df4566ce2fa9c4c627125f2983ee8c.tar.bz2 |
Replace option menu with reset/delete actions
The code and xml for the popup menu are still in place for future
use. The image view for the menu is simply set to View.GONE so it
will not be available to the user at this time.
Change-Id: I7897e1c06532c51d6be82edca3bb76c37acbf9ae
Diffstat (limited to 'src')
-rw-r--r-- | src/android/support/v4/view/ThemeViewPager.java | 2 | ||||
-rw-r--r-- | src/com/cyngn/theme/chooser/MyThemeFragment.java | 2 | ||||
-rw-r--r-- | src/com/cyngn/theme/chooser/ThemeFragment.java | 50 |
3 files changed, 52 insertions, 2 deletions
diff --git a/src/android/support/v4/view/ThemeViewPager.java b/src/android/support/v4/view/ThemeViewPager.java index dadd5fc..2c8f55a 100644 --- a/src/android/support/v4/view/ThemeViewPager.java +++ b/src/android/support/v4/view/ThemeViewPager.java @@ -54,6 +54,8 @@ public class ThemeViewPager extends ViewPager { case MotionEvent.ACTION_DOWN: intercept = getChildCount() > 0 && !isTouching(R.id.customize, ev) && !isTouching(R.id.overflow, ev) + && !isTouching(R.id.reset, ev) + && !isTouching(R.id.delete, ev) && !isTouching(R.id.confirm_cancel_overlay, ev) && !isTouching(R.id.customize_reset_theme_layout, ev); break; diff --git a/src/com/cyngn/theme/chooser/MyThemeFragment.java b/src/com/cyngn/theme/chooser/MyThemeFragment.java index ad387bf..fa9a64e 100644 --- a/src/com/cyngn/theme/chooser/MyThemeFragment.java +++ b/src/com/cyngn/theme/chooser/MyThemeFragment.java @@ -93,6 +93,8 @@ public class MyThemeFragment extends ThemeFragment { mThemeTagLayout.setUpdatedTagEnabled(true); } setCustomizedTagIfCustomized(); + mDelete.setVisibility(View.GONE); + mReset.setVisibility(View.VISIBLE); return v; } diff --git a/src/com/cyngn/theme/chooser/ThemeFragment.java b/src/com/cyngn/theme/chooser/ThemeFragment.java index af08fc0..e767235 100644 --- a/src/com/cyngn/theme/chooser/ThemeFragment.java +++ b/src/com/cyngn/theme/chooser/ThemeFragment.java @@ -208,6 +208,8 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb protected TextView mAuthor; protected ImageView mCustomize; protected ImageView mOverflow; + protected ImageView mDelete; + protected ImageView mReset; protected ProgressBar mProgress; // Additional Card Views @@ -406,6 +408,23 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb } }); + mDelete = (ImageView) v.findViewById(R.id.delete); + mDelete.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + showDeleteThemeOverlay(); + } + }); + + mReset = (ImageView) v.findViewById(R.id.reset); + mReset.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + showResetThemeOverlay(); + } + }); + mReset.setVisibility(View.GONE); + if (!Utils.hasNavigationBar(getActivity())) { adjustScrollViewPaddingTop(); mNavBarCard.setVisibility(View.GONE); @@ -682,8 +701,10 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb int leftRightPadding = (int) r.getDimension(R.dimen.collapsed_theme_page_padding); content.setPadding(leftRightPadding, 0, leftRightPadding, 0); - if (applyTheme && componentsChanged()) { - mThemeTagLayout.setCustomizedTagEnabled(true); + if (applyTheme) { + final boolean changed = componentsChanged(); + mThemeTagLayout.setCustomizedTagEnabled(changed); + mReset.setVisibility(changed ? View.VISIBLE : View.GONE); } //Move the theme preview so that it is near the center of page per spec @@ -1867,6 +1888,15 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb } }; + private ConfirmCancelOverlay.OnOverlayDismissedListener mResetConfirmationListener = + new ConfirmCancelOverlay.OnOverlayDismissedListener() { + @Override + public void onDismissed(boolean accepted) { + if (accepted) resetTheme(); + hideConfirmCancelOverlay(); + } + }; + private View.OnClickListener mCustomizeResetClickListener = new View.OnClickListener() { @Override public void onClick(View v) { @@ -2083,6 +2113,7 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb .setInterpolator(new AccelerateInterpolator()) .start(); mProgress.startAnimation(scaleAnim); + if (mThemeResetting) mReset.setVisibility(View.GONE); } private void animateContentIn() { @@ -2148,6 +2179,21 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb anim.alpha(1f).start(); } + public void showResetThemeOverlay() { + if (mConfirmCancelOverlay.getVisibility() == View.VISIBLE) return; + mConfirmCancelOverlay.setTitle(R.string.reset_theme_overlay_title); + mConfirmCancelOverlay.setBackgroundColor(getActivity().getResources() + .getColor(R.color.apply_overlay_background)); + mConfirmCancelOverlay.setOnOverlayDismissedListener(mResetConfirmationListener); + getChooserActivity().lockPager(); + ViewPropertyAnimator anim = mConfirmCancelOverlay.animate(); + mConfirmCancelOverlay.setVisibility(View.VISIBLE); + mConfirmCancelOverlay.setAlpha(0f); + anim.setListener(null); + anim.setDuration(ANIMATE_APPLY_LAYOUT_DURATION); + anim.alpha(1f).start(); + } + public void hideConfirmCancelOverlay() { hideConfirmCancelOverlay(false); } |