summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/drawable-hdpi/ic_theme_delete.pngbin0 -> 2961 bytes
-rw-r--r--res/drawable-hdpi/ic_theme_reset.pngbin0 -> 3689 bytes
-rw-r--r--res/drawable-mdpi/ic_theme_delete.pngbin0 -> 2836 bytes
-rw-r--r--res/drawable-mdpi/ic_theme_reset.pngbin0 -> 3339 bytes
-rw-r--r--res/drawable-xhdpi/ic_theme_delete.pngbin0 -> 2988 bytes
-rw-r--r--res/drawable-xhdpi/ic_theme_reset.pngbin0 -> 4047 bytes
-rw-r--r--res/drawable-xxhdpi/ic_theme_delete.pngbin0 -> 3170 bytes
-rw-r--r--res/drawable-xxhdpi/ic_theme_reset.pngbin0 -> 4777 bytes
-rw-r--r--res/layout/fragment_pager_list.xml22
-rw-r--r--res/values/strings.xml1
-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
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
new file mode 100644
index 0000000..eeefe21
--- /dev/null
+++ b/res/drawable-hdpi/ic_theme_delete.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_theme_reset.png b/res/drawable-hdpi/ic_theme_reset.png
new file mode 100644
index 0000000..8d1ead9
--- /dev/null
+++ b/res/drawable-hdpi/ic_theme_reset.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_theme_delete.png b/res/drawable-mdpi/ic_theme_delete.png
new file mode 100644
index 0000000..93bb424
--- /dev/null
+++ b/res/drawable-mdpi/ic_theme_delete.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_theme_reset.png b/res/drawable-mdpi/ic_theme_reset.png
new file mode 100644
index 0000000..4d124ab
--- /dev/null
+++ b/res/drawable-mdpi/ic_theme_reset.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_theme_delete.png b/res/drawable-xhdpi/ic_theme_delete.png
new file mode 100644
index 0000000..e105869
--- /dev/null
+++ b/res/drawable-xhdpi/ic_theme_delete.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_theme_reset.png b/res/drawable-xhdpi/ic_theme_reset.png
new file mode 100644
index 0000000..1e35a25
--- /dev/null
+++ b/res/drawable-xhdpi/ic_theme_reset.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_theme_delete.png b/res/drawable-xxhdpi/ic_theme_delete.png
new file mode 100644
index 0000000..e2eac6e
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_theme_delete.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_theme_reset.png b/res/drawable-xxhdpi/ic_theme_reset.png
new file mode 100644
index 0000000..e8885df
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_theme_reset.png
Binary files differ
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);
}