Loading packages/SettingsLib/src/com/android/settingslib/drawable/CircleFramedDrawable.java +15 −11 Original line number Diff line number Diff line Loading @@ -41,7 +41,7 @@ public class CircleFramedDrawable extends Drawable { private final Bitmap mBitmap; private final int mSize; private final Paint mPaint; private Paint mIconPaint; private float mScale; private Rect mSrcRect; Loading Loading @@ -75,18 +75,18 @@ public class CircleFramedDrawable extends Drawable { canvas.drawColor(0, PorterDuff.Mode.CLEAR); // opaque circle matte mPaint = new Paint(); mPaint.setAntiAlias(true); mPaint.setColor(Color.BLACK); mPaint.setStyle(Paint.Style.FILL); canvas.drawPath(fillPath, mPaint); Paint paint = new Paint(); paint.setAntiAlias(true); paint.setColor(Color.BLACK); paint.setStyle(Paint.Style.FILL); canvas.drawPath(fillPath, paint); // mask in the icon where the bitmap is opaque mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); canvas.drawBitmap(icon, cropRect, circleRect, mPaint); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); canvas.drawBitmap(icon, cropRect, circleRect, paint); // prepare paint for frame drawing mPaint.setXfermode(null); paint.setXfermode(null); mScale = 1f; Loading @@ -100,7 +100,7 @@ public class CircleFramedDrawable extends Drawable { final float pad = (mSize - inside) / 2f; mDstRect.set(pad, pad, mSize - pad, mSize - pad); canvas.drawBitmap(mBitmap, mSrcRect, mDstRect, null); canvas.drawBitmap(mBitmap, mSrcRect, mDstRect, mIconPaint); } public void setScale(float scale) { Loading @@ -122,6 +122,10 @@ public class CircleFramedDrawable extends Drawable { @Override public void setColorFilter(ColorFilter cf) { if (mIconPaint == null) { mIconPaint = new Paint(); } mIconPaint.setColorFilter(cf); } @Override Loading packages/SystemUI/src/com/android/systemui/qs/tiles/UserDetailView.java +3 −2 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static com.android.systemui.statusbar.policy.UserSwitcherController.USER_ import android.content.Context; import android.content.Intent; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; import android.util.AttributeSet; Loading @@ -33,6 +32,7 @@ import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.UiEventLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.drawable.CircleFramedDrawable; import com.android.systemui.R; import com.android.systemui.qs.PseudoGridView; import com.android.systemui.qs.QSUserSwitcherEvent; Loading Loading @@ -100,7 +100,8 @@ public class UserDetailView extends PseudoGridView { if (item.picture == null) { v.bind(name, getDrawable(mContext, item).mutate(), item.resolveId()); } else { Drawable drawable = new BitmapDrawable(v.getResources(), item.picture); int avatarSize = (int) v.getResources().getDimension(R.dimen.qs_framed_avatar_size); Drawable drawable = new CircleFramedDrawable(item.picture, avatarSize); drawable.setColorFilter( item.isSwitchToEnabled ? null : getDisabledUserAvatarColorFilter()); v.bind(name, drawable, item.info.id); Loading packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcher.java +3 −2 Original line number Diff line number Diff line Loading @@ -24,7 +24,6 @@ import android.animation.AnimatorListenerAdapter; import android.animation.ObjectAnimator; import android.content.Context; import android.database.DataSetObserver; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; import android.util.AttributeSet; Loading @@ -36,6 +35,7 @@ import android.view.ViewStub; import android.widget.FrameLayout; import com.android.settingslib.animation.AppearAnimationUtils; import com.android.settingslib.drawable.CircleFramedDrawable; import com.android.systemui.Dependency; import com.android.systemui.Interpolators; import com.android.systemui.R; Loading Loading @@ -288,7 +288,8 @@ public class KeyguardUserSwitcher { if (item.picture == null) { v.bind(name, getDrawable(mContext, item).mutate(), item.resolveId()); } else { Drawable drawable = new BitmapDrawable(v.getResources(), item.picture); int avatarSize = (int) v.getResources().getDimension(R.dimen.kg_framed_avatar_size); Drawable drawable = new CircleFramedDrawable(item.picture, avatarSize); drawable.setColorFilter( item.isSwitchToEnabled ? null : getDisabledUserAvatarColorFilter()); v.bind(name, drawable, item.info.id); Loading Loading
packages/SettingsLib/src/com/android/settingslib/drawable/CircleFramedDrawable.java +15 −11 Original line number Diff line number Diff line Loading @@ -41,7 +41,7 @@ public class CircleFramedDrawable extends Drawable { private final Bitmap mBitmap; private final int mSize; private final Paint mPaint; private Paint mIconPaint; private float mScale; private Rect mSrcRect; Loading Loading @@ -75,18 +75,18 @@ public class CircleFramedDrawable extends Drawable { canvas.drawColor(0, PorterDuff.Mode.CLEAR); // opaque circle matte mPaint = new Paint(); mPaint.setAntiAlias(true); mPaint.setColor(Color.BLACK); mPaint.setStyle(Paint.Style.FILL); canvas.drawPath(fillPath, mPaint); Paint paint = new Paint(); paint.setAntiAlias(true); paint.setColor(Color.BLACK); paint.setStyle(Paint.Style.FILL); canvas.drawPath(fillPath, paint); // mask in the icon where the bitmap is opaque mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); canvas.drawBitmap(icon, cropRect, circleRect, mPaint); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); canvas.drawBitmap(icon, cropRect, circleRect, paint); // prepare paint for frame drawing mPaint.setXfermode(null); paint.setXfermode(null); mScale = 1f; Loading @@ -100,7 +100,7 @@ public class CircleFramedDrawable extends Drawable { final float pad = (mSize - inside) / 2f; mDstRect.set(pad, pad, mSize - pad, mSize - pad); canvas.drawBitmap(mBitmap, mSrcRect, mDstRect, null); canvas.drawBitmap(mBitmap, mSrcRect, mDstRect, mIconPaint); } public void setScale(float scale) { Loading @@ -122,6 +122,10 @@ public class CircleFramedDrawable extends Drawable { @Override public void setColorFilter(ColorFilter cf) { if (mIconPaint == null) { mIconPaint = new Paint(); } mIconPaint.setColorFilter(cf); } @Override Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/UserDetailView.java +3 −2 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static com.android.systemui.statusbar.policy.UserSwitcherController.USER_ import android.content.Context; import android.content.Intent; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; import android.util.AttributeSet; Loading @@ -33,6 +32,7 @@ import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.UiEventLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.drawable.CircleFramedDrawable; import com.android.systemui.R; import com.android.systemui.qs.PseudoGridView; import com.android.systemui.qs.QSUserSwitcherEvent; Loading Loading @@ -100,7 +100,8 @@ public class UserDetailView extends PseudoGridView { if (item.picture == null) { v.bind(name, getDrawable(mContext, item).mutate(), item.resolveId()); } else { Drawable drawable = new BitmapDrawable(v.getResources(), item.picture); int avatarSize = (int) v.getResources().getDimension(R.dimen.qs_framed_avatar_size); Drawable drawable = new CircleFramedDrawable(item.picture, avatarSize); drawable.setColorFilter( item.isSwitchToEnabled ? null : getDisabledUserAvatarColorFilter()); v.bind(name, drawable, item.info.id); Loading
packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcher.java +3 −2 Original line number Diff line number Diff line Loading @@ -24,7 +24,6 @@ import android.animation.AnimatorListenerAdapter; import android.animation.ObjectAnimator; import android.content.Context; import android.database.DataSetObserver; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; import android.util.AttributeSet; Loading @@ -36,6 +35,7 @@ import android.view.ViewStub; import android.widget.FrameLayout; import com.android.settingslib.animation.AppearAnimationUtils; import com.android.settingslib.drawable.CircleFramedDrawable; import com.android.systemui.Dependency; import com.android.systemui.Interpolators; import com.android.systemui.R; Loading Loading @@ -288,7 +288,8 @@ public class KeyguardUserSwitcher { if (item.picture == null) { v.bind(name, getDrawable(mContext, item).mutate(), item.resolveId()); } else { Drawable drawable = new BitmapDrawable(v.getResources(), item.picture); int avatarSize = (int) v.getResources().getDimension(R.dimen.kg_framed_avatar_size); Drawable drawable = new CircleFramedDrawable(item.picture, avatarSize); drawable.setColorFilter( item.isSwitchToEnabled ? null : getDisabledUserAvatarColorFilter()); v.bind(name, drawable, item.info.id); Loading