From f40ac25917a17e2d482d9b69edd9a0b14097847b Mon Sep 17 00:00:00 2001 From: Bharadwaj Narasimha Date: Wed, 31 Aug 2016 13:02:56 -0700 Subject: Move actions in theme card to overflow menu Moved the customize,delete and reset in the title card to an overflow menu to free up some space in the title card for the theme and author names. TICKET:CYNGNOS-3279 Change-Id: I0c4defd82369e4840efac420b1629493b280b168 --- res/drawable-hdpi/ic_theme_customize.png | Bin 3373 -> 0 bytes res/drawable-hdpi/ic_theme_delete.png | Bin 2961 -> 0 bytes res/drawable-hdpi/ic_theme_reset.png | Bin 3689 -> 0 bytes res/drawable-mdpi/ic_theme_customize.png | Bin 3123 -> 0 bytes res/drawable-mdpi/ic_theme_delete.png | Bin 2836 -> 0 bytes res/drawable-mdpi/ic_theme_reset.png | Bin 3339 -> 0 bytes res/drawable-xhdpi/ic_theme_customize.png | Bin 3602 -> 0 bytes res/drawable-xhdpi/ic_theme_delete.png | Bin 2988 -> 0 bytes res/drawable-xhdpi/ic_theme_reset.png | Bin 4047 -> 0 bytes res/drawable-xxhdpi/ic_theme_customize.png | Bin 4016 -> 0 bytes res/drawable-xxhdpi/ic_theme_delete.png | Bin 3170 -> 0 bytes res/drawable-xxhdpi/ic_theme_reset.png | Bin 4777 -> 0 bytes res/layout/title_card.xml | 28 ----- res/menu/overflow.xml | 8 +- res/values/strings.xml | 2 +- src/android/support/v4/view/ThemeViewPager.java | 4 +- .../theme/chooser2/MyThemeFragment.java | 13 --- .../cyanogenmod/theme/chooser2/ThemeFragment.java | 115 ++++++--------------- .../cyanogenmod/theme/widget/ThemeTagLayout.java | 4 + 19 files changed, 42 insertions(+), 132 deletions(-) delete mode 100644 res/drawable-hdpi/ic_theme_customize.png delete mode 100644 res/drawable-hdpi/ic_theme_delete.png delete mode 100644 res/drawable-hdpi/ic_theme_reset.png delete mode 100644 res/drawable-mdpi/ic_theme_customize.png delete mode 100644 res/drawable-mdpi/ic_theme_delete.png delete mode 100644 res/drawable-mdpi/ic_theme_reset.png delete mode 100644 res/drawable-xhdpi/ic_theme_customize.png delete mode 100644 res/drawable-xhdpi/ic_theme_delete.png delete mode 100644 res/drawable-xhdpi/ic_theme_reset.png delete mode 100644 res/drawable-xxhdpi/ic_theme_customize.png delete mode 100644 res/drawable-xxhdpi/ic_theme_delete.png delete mode 100644 res/drawable-xxhdpi/ic_theme_reset.png diff --git a/res/drawable-hdpi/ic_theme_customize.png b/res/drawable-hdpi/ic_theme_customize.png deleted file mode 100644 index 2ce535c..0000000 Binary files a/res/drawable-hdpi/ic_theme_customize.png and /dev/null differ diff --git a/res/drawable-hdpi/ic_theme_delete.png b/res/drawable-hdpi/ic_theme_delete.png deleted file mode 100644 index eeefe21..0000000 Binary files a/res/drawable-hdpi/ic_theme_delete.png and /dev/null differ diff --git a/res/drawable-hdpi/ic_theme_reset.png b/res/drawable-hdpi/ic_theme_reset.png deleted file mode 100644 index 8d1ead9..0000000 Binary files a/res/drawable-hdpi/ic_theme_reset.png and /dev/null differ diff --git a/res/drawable-mdpi/ic_theme_customize.png b/res/drawable-mdpi/ic_theme_customize.png deleted file mode 100644 index 56f306e..0000000 Binary files a/res/drawable-mdpi/ic_theme_customize.png and /dev/null differ diff --git a/res/drawable-mdpi/ic_theme_delete.png b/res/drawable-mdpi/ic_theme_delete.png deleted file mode 100644 index 93bb424..0000000 Binary files a/res/drawable-mdpi/ic_theme_delete.png and /dev/null differ diff --git a/res/drawable-mdpi/ic_theme_reset.png b/res/drawable-mdpi/ic_theme_reset.png deleted file mode 100644 index 4d124ab..0000000 Binary files a/res/drawable-mdpi/ic_theme_reset.png and /dev/null differ diff --git a/res/drawable-xhdpi/ic_theme_customize.png b/res/drawable-xhdpi/ic_theme_customize.png deleted file mode 100644 index 8da38ea..0000000 Binary files a/res/drawable-xhdpi/ic_theme_customize.png and /dev/null differ diff --git a/res/drawable-xhdpi/ic_theme_delete.png b/res/drawable-xhdpi/ic_theme_delete.png deleted file mode 100644 index e105869..0000000 Binary files a/res/drawable-xhdpi/ic_theme_delete.png and /dev/null differ diff --git a/res/drawable-xhdpi/ic_theme_reset.png b/res/drawable-xhdpi/ic_theme_reset.png deleted file mode 100644 index 1e35a25..0000000 Binary files a/res/drawable-xhdpi/ic_theme_reset.png and /dev/null differ diff --git a/res/drawable-xxhdpi/ic_theme_customize.png b/res/drawable-xxhdpi/ic_theme_customize.png deleted file mode 100644 index 8e0db4c..0000000 Binary files a/res/drawable-xxhdpi/ic_theme_customize.png and /dev/null differ diff --git a/res/drawable-xxhdpi/ic_theme_delete.png b/res/drawable-xxhdpi/ic_theme_delete.png deleted file mode 100644 index e2eac6e..0000000 Binary files a/res/drawable-xxhdpi/ic_theme_delete.png and /dev/null differ diff --git a/res/drawable-xxhdpi/ic_theme_reset.png b/res/drawable-xxhdpi/ic_theme_reset.png deleted file mode 100644 index e8885df..0000000 Binary files a/res/drawable-xxhdpi/ic_theme_reset.png and /dev/null differ diff --git a/res/layout/title_card.xml b/res/layout/title_card.xml index 61efa88..0529009 100644 --- a/res/layout/title_card.xml +++ b/res/layout/title_card.xml @@ -49,13 +49,6 @@ android:textColor="@color/theme_author_text_color" android:textSize="14dp" /> - - - - + + - + diff --git a/res/values/strings.xml b/res/values/strings.xml index 0850936..ecd0601 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -53,7 +53,7 @@ Ringtone - Author + Customize Delete Reset theme diff --git a/src/android/support/v4/view/ThemeViewPager.java b/src/android/support/v4/view/ThemeViewPager.java index 1cde715..b430f5f 100644 --- a/src/android/support/v4/view/ThemeViewPager.java +++ b/src/android/support/v4/view/ThemeViewPager.java @@ -66,10 +66,8 @@ public class ThemeViewPager extends ViewPager { if (!mExpanded && isEnabled() && !mIsAnimating) { switch (ev.getAction()) { case MotionEvent.ACTION_DOWN: - intercept = getChildCount() > 0 && !isTouching(R.id.customize, ev) + intercept = getChildCount() > 0 && !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/org/cyanogenmod/theme/chooser2/MyThemeFragment.java b/src/org/cyanogenmod/theme/chooser2/MyThemeFragment.java index 490b568..108d91c 100644 --- a/src/org/cyanogenmod/theme/chooser2/MyThemeFragment.java +++ b/src/org/cyanogenmod/theme/chooser2/MyThemeFragment.java @@ -124,7 +124,6 @@ public class MyThemeFragment extends ThemeFragment { if (PreferenceUtils.hasThemeBeenUpdated(getActivity(), mBaseThemePkgName)) { mThemeTagLayout.setUpdatedTagEnabled(true); } - mDelete.setVisibility(View.GONE); setCustomized(isThemeCustomized()); return v; } @@ -162,17 +161,6 @@ public class MyThemeFragment extends ThemeFragment { } } - @Override - protected boolean onPopupMenuItemClick(MenuItem item) { - switch(item.getItemId()) { - case R.id.menu_reset: - resetTheme(); - return true; - } - - return super.onPopupMenuItemClick(item); - } - @Override public void collapse(boolean applyTheme) { super.collapse(applyTheme); @@ -327,7 +315,6 @@ public class MyThemeFragment extends ThemeFragment { }; private void setCustomized(boolean customized) { - mReset.setVisibility(customized ? View.VISIBLE : View.GONE); mThemeTagLayout.setCustomizedTagEnabled(customized); } diff --git a/src/org/cyanogenmod/theme/chooser2/ThemeFragment.java b/src/org/cyanogenmod/theme/chooser2/ThemeFragment.java index 6a73598..e4dd0fc 100644 --- a/src/org/cyanogenmod/theme/chooser2/ThemeFragment.java +++ b/src/org/cyanogenmod/theme/chooser2/ThemeFragment.java @@ -267,10 +267,7 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb protected ViewGroup mTitleLayout; protected TextView mTitle; protected TextView mAuthor; - protected ImageView mCustomize; protected ImageView mOverflow; - protected ImageView mDelete; - protected ImageView mReset; protected ProgressBar mProgress; // Additional Card Views @@ -462,11 +459,31 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb if (CURRENTLY_APPLIED_THEME.equals(mPkgName) || mPkgName.equals(Utils.getDefaultThemePackageName(getActivity())) || mPkgName.equals(ThemeConfig.SYSTEM_DEFAULT)) { - menu.findItem(R.id.menu_delete).setEnabled(false); + menu.findItem(R.id.menu_delete).setVisible(false); + if(mThemeTagLayout.isCustomizedTagEnabled()) { + menu.findItem(R.id.menu_reset).setVisible(true); + menu.findItem(R.id.menu_reset).setEnabled(true); + } + else { + menu.findItem(R.id.menu_reset).setVisible(false); + menu.findItem(R.id.menu_reset).setEnabled(false); + } } - if (!mThemeTagLayout.isCustomizedTagEnabled()) { + if(!mThemeTagLayout.isAppliedTagEnabled()) { + menu.findItem(R.id.menu_delete).setEnabled(true); menu.findItem(R.id.menu_reset).setVisible(false); } + if(mThemeTagLayout.isAppliedTagEnabled()) { + if(mThemeTagLayout.isCustomizedTagEnabled()) { + menu.findItem(R.id.menu_reset).setVisible(true); + menu.findItem(R.id.menu_reset).setEnabled(true); + } + else { + menu.findItem(R.id.menu_reset).setVisible(true); + menu.findItem(R.id.menu_reset).setEnabled(false); + } + + } popupmenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override @@ -477,35 +494,6 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb popupmenu.show(); } }); - mCustomize = (ImageView) v.findViewById(R.id.customize); - mCustomize.setOnClickListener(new View.OnClickListener() { - public void onClick(View v) { - if (!isShowingConfirmCancelOverlay() && !isShowingCustomizeResetLayout()) { - getChooserActivity().expand(); - } - } - }); - - mDelete = (ImageView) v.findViewById(R.id.delete); - mDelete.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - showDeleteThemeOverlay(); - } - }); - if (Utils.getDefaultThemePackageName(getActivity()).equals(mPkgName) || - ThemeConfig.SYSTEM_DEFAULT.equals(mPkgName)) { - mDelete.setVisibility(View.GONE); - } - - 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(); @@ -566,20 +554,8 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb if (isThemeProcessing()) { tm.registerProcessingListener(this); mProcessingThemeLayout.setVisibility(View.VISIBLE); - mCustomize.setVisibility(View.INVISIBLE); - mCustomize.setAlpha(0f); - if (mDelete.getVisibility() != View.GONE) { - mDelete.setVisibility(View.INVISIBLE); - mDelete.setAlpha(0f); - } mProcessingResources = true; } else { - mCustomize.setVisibility(View.VISIBLE); - mCustomize.setAlpha(1f); - if (mDelete.getVisibility() != View.GONE) { - mDelete.setVisibility(View.VISIBLE); - mDelete.setAlpha(1f); - } mProcessingResources = false; } } @@ -770,17 +746,20 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb } protected boolean onPopupMenuItemClick(MenuItem item) { + int id = item.getItemId(); switch(item.getItemId()) { - /* TODO: Add back in once there is UX available for this feature - case R.id.menu_author: - Toast.makeText(getActivity(), - "Not supported", - Toast.LENGTH_LONG).show(); - break; - */ case R.id.menu_delete: showDeleteThemeOverlay(); break; + case R.id.menu_customize: + //showResetThemeOverlay(); + if (!isShowingConfirmCancelOverlay() && !isShowingCustomizeResetLayout()) { + getChooserActivity().expand(); + } + break; + case R.id.menu_reset: + showResetThemeOverlay(); + break; } return true; @@ -911,7 +890,6 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb if (applyTheme) { final boolean customized = isThemeCustomized(); mThemeTagLayout.setCustomizedTagEnabled(customized); - mReset.setVisibility(customized ? View.VISIBLE : View.GONE); } //Move the theme preview so that it is near the center of page per spec @@ -2510,7 +2488,6 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb .setInterpolator(new AccelerateInterpolator()) .start(); mProgress.startAnimation(scaleAnim); - if (mThemeResetting) mReset.setVisibility(View.GONE); } private void animateContentIn() { @@ -2542,18 +2519,6 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb set.start(); } - private void disableActionButtons() { - mCustomize.setEnabled(false); - mDelete.setEnabled(false); - mReset.setEnabled(false); - } - - private void enableActionButtons() { - mCustomize.setEnabled(true); - mDelete.setEnabled(true); - mReset.setEnabled(true); - } - public boolean isShowingConfirmCancelOverlay() { return mConfirmCancelOverlay.getVisibility() == View.VISIBLE; } @@ -2584,8 +2549,6 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb tv.setText(String.format(getString(R.string.per_app_theme_removal_warning), mTitle.getText())); } - - disableActionButtons(); mClickableView.setSoundEffectsEnabled(false); } @@ -2603,7 +2566,6 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb anim.setDuration(ANIMATE_APPLY_LAYOUT_DURATION); anim.alpha(1f).start(); - disableActionButtons(); mClickableView.setSoundEffectsEnabled(false); } @@ -2621,7 +2583,6 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb anim.setDuration(ANIMATE_APPLY_LAYOUT_DURATION); anim.alpha(1f).start(); - disableActionButtons(); mClickableView.setSoundEffectsEnabled(false); } @@ -2660,7 +2621,6 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb } }); - enableActionButtons(); mClickableView.setSoundEffectsEnabled(true); } @@ -2683,7 +2643,6 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb anim.setDuration(ANIMATE_APPLY_LAYOUT_DURATION); anim.alpha(1f).start(); - disableActionButtons(); mClickableView.setSoundEffectsEnabled(false); } @@ -2724,7 +2683,6 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb } }); - enableActionButtons(); mClickableView.setSoundEffectsEnabled(true); } @@ -2745,16 +2703,7 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb mProcessingThemeLayout.setVisibility(View.GONE); } }).setDuration(ANIMATE_APPLY_LAYOUT_DURATION).start(); - mCustomize.setVisibility(View.VISIBLE); - mCustomize.setAlpha(0f); - mCustomize.animate().alpha(1f).setDuration(ANIMATE_APPLY_LAYOUT_DURATION).start(); - if (mDelete.getVisibility() != View.GONE) { - mDelete.setVisibility(View.VISIBLE); - mDelete.setAlpha(0f); - mDelete.animate().alpha(1f).setDuration(ANIMATE_APPLY_LAYOUT_DURATION).start(); - } - enableActionButtons(); mClickableView.setSoundEffectsEnabled(true); } diff --git a/src/org/cyanogenmod/theme/widget/ThemeTagLayout.java b/src/org/cyanogenmod/theme/widget/ThemeTagLayout.java index 701b78b..1f8aebc 100644 --- a/src/org/cyanogenmod/theme/widget/ThemeTagLayout.java +++ b/src/org/cyanogenmod/theme/widget/ThemeTagLayout.java @@ -68,6 +68,10 @@ public class ThemeTagLayout extends LinearLayout { } } + public boolean isAppliedTagEnabled() { + return findViewById(R.id.tag_applied) != null; + } + public void setCustomizedTagEnabled(boolean enabled) { if (enabled) { if (findViewById(R.id.tag_customized) != null) return; -- cgit v1.2.3