diff options
author | Anthony Hugh <ahugh@google.com> | 2015-09-18 17:18:10 -0700 |
---|---|---|
committer | Anthony Hugh <ahugh@google.com> | 2015-09-22 10:56:16 -0700 |
commit | 6161f39f583cf202969125757d78010bdc06457c (patch) | |
tree | 50d06d0df5565e0c7105cfc2e8d4d26971f11511 /src/com/android/packageinstaller/permission/ui | |
parent | 38e80af4a571207b1c8cbe550b8e29479ea086a4 (diff) | |
download | android_packages_apps_PackageInstaller-6161f39f583cf202969125757d78010bdc06457c.tar.gz android_packages_apps_PackageInstaller-6161f39f583cf202969125757d78010bdc06457c.tar.bz2 android_packages_apps_PackageInstaller-6161f39f583cf202969125757d78010bdc06457c.zip |
Update Grant Permissions dialog to redlines
Changes:
- Refactor the ViewHandler a bit to be more generic.
This should help with another upcoming Wear dialog.
- Update assets for buttons
- Add deny asset
- Fix margins and other UI number tweaks
BUG: 24133550
Change-Id: I330bdf3217fa5c554f71d9105a0475106b6f3e12
Diffstat (limited to 'src/com/android/packageinstaller/permission/ui')
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/GrantPermissionsWatchViewHandler.java | 53 | ||||
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/wear/ConfirmationViewHandler.java (renamed from src/com/android/packageinstaller/permission/ui/PermissionConfirmationViewHandler.java) | 88 | ||||
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/wear/settings/PermissionsSettingsAdapter.java | 2 |
3 files changed, 84 insertions, 59 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/GrantPermissionsWatchViewHandler.java b/src/com/android/packageinstaller/permission/ui/GrantPermissionsWatchViewHandler.java index a3d3b805..242d0bce 100644 --- a/src/com/android/packageinstaller/permission/ui/GrantPermissionsWatchViewHandler.java +++ b/src/com/android/packageinstaller/permission/ui/GrantPermissionsWatchViewHandler.java @@ -2,6 +2,7 @@ package com.android.packageinstaller.permission.ui; import android.content.Context; import android.graphics.PixelFormat; +import android.graphics.drawable.Drawable; import android.graphics.drawable.Icon; import android.os.Bundle; import android.util.Log; @@ -9,18 +10,19 @@ import android.view.View; import android.view.WindowManager; import com.android.packageinstaller.R; +import com.android.packageinstaller.permission.ui.wear.ConfirmationViewHandler; /** * Watch-specific view handler for the grant permissions activity. */ -final class GrantPermissionsWatchViewHandler extends PermissionConfirmationViewHandler +final class GrantPermissionsWatchViewHandler extends ConfirmationViewHandler implements GrantPermissionsViewHandler { private static final String TAG = "GrantPermsWatchViewH"; private static final String ARG_GROUP_NAME = "ARG_GROUP_NAME"; private final Context mContext; - + private ResultListener mResultListener; private String mGroupName; @@ -101,56 +103,71 @@ final class GrantPermissionsWatchViewHandler extends PermissionConfirmationViewH } } - @Override // PermissionConfirmationViewHandler - public void onAllow() { + @Override // ConfirmationViewHandler + public void onButton1() { onClick(true /* granted */, false /* doNotAskAgain */); } - @Override // PermissionConfirmationViewHandler - public void onDeny() { + @Override // ConfirmationViewHandler + public void onButton2() { onClick(false /* granted */, false /* doNotAskAgain */); } - @Override // PermissionConfirmationViewHandler - public void onDenyDoNotAskAgain() { + @Override // ConfirmationViewHandler + public void onButton3() { onClick(false /* granted */, true /* doNotAskAgain */); } - @Override // PermissionConfirmationViewHandler + @Override // ConfirmationViewHandler public CharSequence getCurrentPageText() { return mCurrentPageText; } - @Override // PermissionConfirmationViewHandler + @Override // ConfirmationViewHandler public Icon getPermissionIcon() { return mIcon; } - @Override // PermissionConfirmationViewHandler + @Override // ConfirmationViewHandler public CharSequence getMessage() { return mMessage; } - @Override // PermissionConfirmationViewHandler + @Override // ConfirmationViewHandler public int getButtonBarMode() { return mShowDoNotAsk ? MODE_VERTICAL_BUTTONS : MODE_HORIZONTAL_BUTTONS; } - @Override // PermissionConfirmationViewHandler - public CharSequence getVerticalAllowText() { + @Override // ConfirmationViewHandler + public CharSequence getVerticalButton1Text() { return mContext.getString(R.string.grant_dialog_button_allow); } - @Override // PermissionConfirmationViewHandler - public CharSequence getVerticalDenyText() { + @Override // ConfirmationViewHandler + public CharSequence getVerticalButton2Text() { return mContext.getString(R.string.grant_dialog_button_deny); } - @Override // PermissionConfirmationViewHandler - public CharSequence getVerticalDenyDoNotAskAgainText() { + @Override // ConfirmationViewHandler + public CharSequence getVerticalButton3Text() { return mContext.getString(R.string.grant_dialog_button_deny_dont_ask_again); } + @Override // ConfirmationViewHandler + public Drawable getVerticalButton1Icon(){ + return mContext.getDrawable(R.drawable.confirm_button); + } + + @Override // ConfirmationViewHandler + public Drawable getVerticalButton2Icon(){ + return mContext.getDrawable(R.drawable.cancel_button); + } + + @Override // ConfirmationViewHandler + public Drawable getVerticalButton3Icon(){ + return mContext.getDrawable(R.drawable.deny_button); + } + private void onClick(boolean granted, boolean doNotAskAgain) { if (mResultListener != null) { mResultListener.onPermissionGrantResult(mGroupName, granted, doNotAskAgain); diff --git a/src/com/android/packageinstaller/permission/ui/PermissionConfirmationViewHandler.java b/src/com/android/packageinstaller/permission/ui/wear/ConfirmationViewHandler.java index 3e32c7f2..d28866ef 100644 --- a/src/com/android/packageinstaller/permission/ui/PermissionConfirmationViewHandler.java +++ b/src/com/android/packageinstaller/permission/ui/wear/ConfirmationViewHandler.java @@ -1,8 +1,9 @@ -package com.android.packageinstaller.permission.ui; +package com.android.packageinstaller.permission.ui.wear; import android.animation.ObjectAnimator; import android.animation.PropertyValuesHolder; import android.content.Context; +import android.graphics.drawable.Drawable; import android.graphics.drawable.Icon; import android.os.Handler; import android.os.Message; @@ -20,7 +21,7 @@ import android.widget.TextView; import com.android.packageinstaller.R; -public abstract class PermissionConfirmationViewHandler implements +public abstract class ConfirmationViewHandler implements Handler.Callback, View.OnClickListener, ViewTreeObserver.OnScrollChangedListener { @@ -38,9 +39,9 @@ public abstract class PermissionConfirmationViewHandler implements private ViewGroup mContent; private ViewGroup mHorizontalButtonBar; private ViewGroup mVerticalButtonBar; - private Button mVerticalAllow; - private Button mVerticalDeny; - private Button mVerticalDenyDoNotAskAgain; + private Button mVerticalButton1; + private Button mVerticalButton2; + private Button mVerticalButton3; private View mButtonBarContainer; private Context mContext; @@ -53,17 +54,22 @@ public abstract class PermissionConfirmationViewHandler implements private boolean mHiddenBefore; // TODO: Move these into a builder - public abstract void onAllow(); - public abstract void onDeny(); - public abstract void onDenyDoNotAskAgain(); - public abstract CharSequence getVerticalAllowText(); - public abstract CharSequence getVerticalDenyText(); - public abstract CharSequence getVerticalDenyDoNotAskAgainText(); + /** In the 2 button layout, this is allow button */ + public abstract void onButton1(); + /** In the 2 button layout, this is deny button */ + public abstract void onButton2(); + public abstract void onButton3(); + public abstract CharSequence getVerticalButton1Text(); + public abstract CharSequence getVerticalButton2Text(); + public abstract CharSequence getVerticalButton3Text(); + public abstract Drawable getVerticalButton1Icon(); + public abstract Drawable getVerticalButton2Icon(); + public abstract Drawable getVerticalButton3Icon(); public abstract CharSequence getCurrentPageText(); public abstract Icon getPermissionIcon(); public abstract CharSequence getMessage(); - public PermissionConfirmationViewHandler(Context context) { + public ConfirmationViewHandler(Context context) { mContext = context; } @@ -84,13 +90,12 @@ public abstract class PermissionConfirmationViewHandler implements horizontalAllow.setOnClickListener(this); horizontalDeny.setOnClickListener(this); - mVerticalAllow = (Button) mRoot.findViewById(R.id.vertical_allow_button); - mVerticalDeny = (Button) mRoot.findViewById(R.id.vertical_deny_button); - mVerticalDenyDoNotAskAgain = - (Button) mRoot.findViewById(R.id.vertical_deny_do_not_ask_again_button); - mVerticalAllow.setOnClickListener(this); - mVerticalDeny.setOnClickListener(this); - mVerticalDenyDoNotAskAgain.setOnClickListener(this); + mVerticalButton1 = (Button) mRoot.findViewById(R.id.vertical_button1); + mVerticalButton2 = (Button) mRoot.findViewById(R.id.vertical_button2); + mVerticalButton3 = (Button) mRoot.findViewById(R.id.vertical_button3); + mVerticalButton1.setOnClickListener(this); + mVerticalButton2.setOnClickListener(this); + mVerticalButton3.setOnClickListener(this); mInterpolator = AnimationUtils.loadInterpolator(mContext, android.R.interpolator.fast_out_slow_in); @@ -116,7 +121,7 @@ public abstract class PermissionConfirmationViewHandler implements mCurrentPageText.setText(currentPageText); mCurrentPageText.setVisibility(View.VISIBLE); } else { - mCurrentPageText.setVisibility(View.INVISIBLE); + mCurrentPageText.setVisibility(View.GONE); } Icon icon = getPermissionIcon(); @@ -124,7 +129,7 @@ public abstract class PermissionConfirmationViewHandler implements mIcon.setImageIcon(icon); mIcon.setVisibility(View.VISIBLE); } else { - mIcon.setVisibility(View.INVISIBLE); + mIcon.setVisibility(View.GONE); } mMessage.setText(getMessage()); @@ -136,16 +141,16 @@ public abstract class PermissionConfirmationViewHandler implements case MODE_VERTICAL_BUTTONS: mHorizontalButtonBar.setVisibility(View.GONE); mVerticalButtonBar.setVisibility(View.VISIBLE); - mVerticalAllow.setText(getVerticalAllowText()); - mVerticalDeny.setText(getVerticalDenyText()); - mVerticalDenyDoNotAskAgain.setText(getVerticalDenyDoNotAskAgainText()); - - mVerticalAllow.setCompoundDrawablesWithIntrinsicBounds( - mContext.getDrawable(R.drawable.confirm_button), null, null, null); - mVerticalDeny.setCompoundDrawablesWithIntrinsicBounds( - mContext.getDrawable(R.drawable.cancel_button), null, null, null); - mVerticalDenyDoNotAskAgain.setCompoundDrawablesWithIntrinsicBounds( - mContext.getDrawable(R.drawable.cancel_button), null, null, null); + mVerticalButton1.setText(getVerticalButton1Text()); + mVerticalButton2.setText(getVerticalButton2Text()); + mVerticalButton3.setText(getVerticalButton3Text()); + + mVerticalButton1.setCompoundDrawablesWithIntrinsicBounds( + getVerticalButton1Icon(), null, null, null); + mVerticalButton2.setCompoundDrawablesWithIntrinsicBounds( + getVerticalButton2Icon(), null, null, null); + mVerticalButton3.setCompoundDrawablesWithIntrinsicBounds( + getVerticalButton3Icon(), null, null, null); break; } @@ -194,15 +199,15 @@ public abstract class PermissionConfirmationViewHandler implements int id = v.getId(); switch (id) { case R.id.horizontal_allow_button: - case R.id.vertical_allow_button: - onAllow(); + case R.id.vertical_button1: + onButton1(); break; case R.id.horizontal_deny_button: - case R.id.vertical_deny_button: - onDeny(); + case R.id.vertical_button2: + onButton2(); break; - case R.id.vertical_deny_do_not_ask_again_button: - onDenyDoNotAskAgain(); + case R.id.vertical_button3: + onButton3(); break; } } @@ -227,8 +232,11 @@ public abstract class PermissionConfirmationViewHandler implements // get the offset to the top of the button bar int offset = mScrollingContainer.getHeight() + mButtonBarContainer.getHeight() - mContent.getHeight() + Math.max(mScrollingContainer.getScrollY(), 0); - int translationY = offset > 0 ? mButtonBarContainer.getHeight() - offset : - mButtonBarContainer.getHeight(); + // The desired margin space between the button bar and the bottom of the dialog text + int topMargin = mContext.getResources().getDimensionPixelSize( + R.dimen.conf_diag_button_container_top_margin); + int translationY = topMargin + (offset > 0 ? + mButtonBarContainer.getHeight() - offset : mButtonBarContainer.getHeight()); if (!mHiddenBefore || mButtonBarAnimator == null) { // hasn't hidden the bar yet, just hide now to the right height @@ -274,4 +282,4 @@ public abstract class PermissionConfirmationViewHandler implements mButtonBarAnimator.setInterpolator(mInterpolator); mButtonBarAnimator.start(); } -} +}
\ No newline at end of file diff --git a/src/com/android/packageinstaller/permission/ui/wear/settings/PermissionsSettingsAdapter.java b/src/com/android/packageinstaller/permission/ui/wear/settings/PermissionsSettingsAdapter.java index 69629f01..0e0adcbb 100644 --- a/src/com/android/packageinstaller/permission/ui/wear/settings/PermissionsSettingsAdapter.java +++ b/src/com/android/packageinstaller/permission/ui/wear/settings/PermissionsSettingsAdapter.java @@ -77,7 +77,7 @@ public final class PermissionsSettingsAdapter extends SettingsAdapter<AppPermiss private final TextView mState; private final float mCenteredAlpha = 1.0f; private final float mNonCenteredAlpha = 0.5f; - + public PermissionsSettingsItem (Context context) { super(context); mState = (TextView) findViewById(R.id.state); |