diff options
-rw-r--r-- | res/drawable-hdpi/ic_theme_delete.png | bin | 0 -> 2961 bytes | |||
-rw-r--r-- | res/drawable-hdpi/ic_theme_reset.png | bin | 0 -> 3689 bytes | |||
-rw-r--r-- | res/drawable-mdpi/ic_theme_delete.png | bin | 0 -> 2836 bytes | |||
-rw-r--r-- | res/drawable-mdpi/ic_theme_reset.png | bin | 0 -> 3339 bytes | |||
-rw-r--r-- | res/drawable-xhdpi/ic_theme_delete.png | bin | 0 -> 2988 bytes | |||
-rw-r--r-- | res/drawable-xhdpi/ic_theme_reset.png | bin | 0 -> 4047 bytes | |||
-rw-r--r-- | res/drawable-xxhdpi/ic_theme_delete.png | bin | 0 -> 3170 bytes | |||
-rw-r--r-- | res/drawable-xxhdpi/ic_theme_reset.png | bin | 0 -> 4777 bytes | |||
-rw-r--r-- | res/layout/fragment_pager_list.xml | 22 | ||||
-rw-r--r-- | res/values/strings.xml | 1 | ||||
-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 |
13 files changed, 74 insertions, 3 deletions
diff --git a/res/drawable-hdpi/ic_theme_delete.png b/res/drawable-hdpi/ic_theme_delete.png Binary files differnew file mode 100644 index 0000000..eeefe21 --- /dev/null +++ b/res/drawable-hdpi/ic_theme_delete.png diff --git a/res/drawable-hdpi/ic_theme_reset.png b/res/drawable-hdpi/ic_theme_reset.png Binary files differnew file mode 100644 index 0000000..8d1ead9 --- /dev/null +++ b/res/drawable-hdpi/ic_theme_reset.png diff --git a/res/drawable-mdpi/ic_theme_delete.png b/res/drawable-mdpi/ic_theme_delete.png Binary files differnew file mode 100644 index 0000000..93bb424 --- /dev/null +++ b/res/drawable-mdpi/ic_theme_delete.png diff --git a/res/drawable-mdpi/ic_theme_reset.png b/res/drawable-mdpi/ic_theme_reset.png Binary files differnew file mode 100644 index 0000000..4d124ab --- /dev/null +++ b/res/drawable-mdpi/ic_theme_reset.png diff --git a/res/drawable-xhdpi/ic_theme_delete.png b/res/drawable-xhdpi/ic_theme_delete.png Binary files differnew file mode 100644 index 0000000..e105869 --- /dev/null +++ b/res/drawable-xhdpi/ic_theme_delete.png diff --git a/res/drawable-xhdpi/ic_theme_reset.png b/res/drawable-xhdpi/ic_theme_reset.png Binary files differnew file mode 100644 index 0000000..1e35a25 --- /dev/null +++ b/res/drawable-xhdpi/ic_theme_reset.png diff --git a/res/drawable-xxhdpi/ic_theme_delete.png b/res/drawable-xxhdpi/ic_theme_delete.png Binary files differnew file mode 100644 index 0000000..e2eac6e --- /dev/null +++ b/res/drawable-xxhdpi/ic_theme_delete.png diff --git a/res/drawable-xxhdpi/ic_theme_reset.png b/res/drawable-xxhdpi/ic_theme_reset.png Binary files differnew file mode 100644 index 0000000..e8885df --- /dev/null +++ b/res/drawable-xxhdpi/ic_theme_reset.png diff --git a/res/layout/fragment_pager_list.xml b/res/layout/fragment_pager_list.xml index 9e9b69c..c562080 100644 --- a/res/layout/fragment_pager_list.xml +++ b/res/layout/fragment_pager_list.xml @@ -110,7 +110,27 @@ android:layout_marginStart="1dp" android:layout_marginEnd="8dp" android:scaleType="center" - android:src="@drawable/ic_overflow_dark"/> + android:src="@drawable/ic_overflow_dark" + android:visibility="gone"/> + + <ImageView + android:id="@+id/delete" + android:layout_width="36dp" + android:layout_height="match_parent" + android:layout_marginStart="1dp" + android:layout_marginEnd="8dp" + android:scaleType="center" + android:src="@drawable/ic_theme_delete"/> + + <ImageView + android:id="@+id/reset" + android:layout_width="36dp" + android:layout_height="match_parent" + android:layout_marginStart="1dp" + android:layout_marginEnd="8dp" + android:scaleType="center" + android:src="@drawable/ic_theme_reset" + android:visibility="gone"/> </LinearLayout> <ProgressBar android:id="@+id/apply_progress" diff --git a/res/values/strings.xml b/res/values/strings.xml index 1589a62..6a0547f 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -54,6 +54,7 @@ <string name="apply_theme_overlay_title">Apply</string> <string name="delete_theme_overlay_title">Delete</string> + <string name="reset_theme_overlay_title">Reset</string> <string name="default_tag_text">Default</string> <string name="customized_tag_text">Customized</string> 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); } |