summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorClark Scheff <clark@cyngn.com>2014-09-23 15:45:26 -0700
committerClark Scheff <clark@cyngn.com>2014-09-25 21:23:54 +0000
commit442e4d0846df4566ce2fa9c4c627125f2983ee8c (patch)
treef720d8a6ca8505fe32ea79e2fe98a862be13abc0 /src
parent885239ffdcf1538427226e582b0aee80ce920afd (diff)
downloadpackages_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.java2
-rw-r--r--src/com/cyngn/theme/chooser/MyThemeFragment.java2
-rw-r--r--src/com/cyngn/theme/chooser/ThemeFragment.java50
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);
}