diff options
author | Roman Birg <roman@cyngn.com> | 2016-01-26 10:05:22 -0800 |
---|---|---|
committer | Roman Birg <roman@cyngn.com> | 2016-01-29 08:59:14 -0800 |
commit | e94af6a423589d6cc4f0813aeb45e2124ea73ea8 (patch) | |
tree | 9cd4168f0f9682dc9e86a93da5134cc4e4024993 /packages/SystemUI/src/com/android/systemui/qs | |
parent | 789d700d94df0f761b6a0cf9f40bb42c8a0cb385 (diff) | |
download | frameworks_base-e94af6a423589d6cc4f0813aeb45e2124ea73ea8.zip frameworks_base-e94af6a423589d6cc4f0813aeb45e2124ea73ea8.tar.gz frameworks_base-e94af6a423589d6cc4f0813aeb45e2124ea73ea8.tar.bz2 |
SystemUI: add better hints when trying to delete edit tile
Add a clearer indication that the edit tile cannot be deleted via an
animation.
Animations by Asher Simonds.
Ref: CYNGNOS-1644
Change-Id: I829faface9268cd2900533f8194bdfe58339420c
Signed-off-by: Roman Birg <roman@cyngn.com>
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/qs')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java | 21 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java | 16 |
2 files changed, 25 insertions, 12 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java index 0c5b71b..732e4d1 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSDragPanel.java @@ -32,6 +32,7 @@ import android.graphics.Color; import android.graphics.Point; import android.graphics.PointF; import android.graphics.PorterDuff; +import android.graphics.drawable.Animatable; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.os.Handler; @@ -143,10 +144,6 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On mQsPanelTop = (QSPanelTopView) LayoutInflater.from(mContext).inflate(R.layout.qs_tile_top, this, false); - // tint trash can to default color - final int color = mContext.getColor(R.color.qs_tile_trash); - DrawableCompat.setTint(mQsPanelTop.getDropTargetIcon().getDrawable(), color); - mBrightnessView = mQsPanelTop.getBrightnessView(); mFooter = new QSFooter(this, mContext); @@ -965,6 +962,7 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On Log.v(TAG, "ACTION_DRAG_STARTED on target view."); } mRestored = false; + mQsPanelTop.setDropIcon(R.drawable.ic_qs_tile_delete_disable, R.color.qs_tile_trash_normal_tint); } break; @@ -981,16 +979,17 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On mMovedByLocation = false; if (v == mQsPanelTop) { - int color; + int icon, color; if (mDraggingRecord.tile instanceof EditTile) { // use a different warning, user can't erase this one - color = mContext.getColor(R.color.qs_tile_trash_delete_tint_warning); + icon = R.drawable.ic_qs_tile_delete_disable_avd; + color = R.color.qs_tile_trash_delete_tint_warning; } else { - color = mContext.getColor(R.color.qs_tile_trash_delete_tint); + icon = R.drawable.ic_qs_tile_delete_disable; + color = R.color.qs_tile_trash_delete_tint; } - DrawableCompat.setTint(mQsPanelTop.getDropTargetIcon().getDrawable(), color); - mQsPanelTop.getDropTargetIcon().invalidate(); + mQsPanelTop.setDropIcon(icon, color); } if (!originatingTileEvent && v != getDropTarget() && targetTile != null) { @@ -1057,9 +1056,7 @@ public class QSDragPanel extends QSPanel implements View.OnDragListener, View.On } if (v == mQsPanelTop) { - final int color = mContext.getColor(R.color.qs_tile_trash); - DrawableCompat.setTint(mQsPanelTop.getDropTargetIcon().getDrawable(), color); - mQsPanelTop.getDropTargetIcon().invalidate(); + mQsPanelTop.setDropIcon(R.drawable.ic_qs_tile_delete_disable, R.color.qs_tile_trash_normal_tint); } if (originatingTileEvent diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java index 35cd929..57c311c 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanelTopView.java @@ -23,8 +23,12 @@ import android.annotation.Nullable; import android.app.ActivityManager; import android.content.ContentResolver; import android.content.Context; +import android.graphics.PorterDuff; +import android.graphics.drawable.Animatable; +import android.graphics.drawable.Drawable; import android.os.Handler; import android.os.UserHandle; +import android.support.v4.graphics.drawable.DrawableCompat; import android.support.v4.view.animation.FastOutSlowInInterpolator; import android.util.AttributeSet; import android.util.Log; @@ -160,6 +164,18 @@ public class QSPanelTopView extends FrameLayout { animateToState(); } + public void setDropIcon(int resourceId, int colorResourceId) { + mDropTargetIcon.setImageResource(resourceId); + final Drawable drawable = mDropTargetIcon.getDrawable(); + + DrawableCompat.setTintMode(drawable, PorterDuff.Mode.SRC_ATOP); + DrawableCompat.setTint(drawable, mContext.getColor(colorResourceId)); + + if (drawable instanceof Animatable) { + ((Animatable) drawable).start(); + } + } + public void toast(int textStrResId) { mDisplayingToast = true; mToastView.setText(textStrResId); |