diff options
3 files changed, 33 insertions, 7 deletions
diff --git a/packages/SystemUI/res/layout/ongoing_privacy_dialog_item.xml b/packages/SystemUI/res/layout/ongoing_privacy_dialog_item.xml index ecfbfb434800..c8e0845a9144 100644 --- a/packages/SystemUI/res/layout/ongoing_privacy_dialog_item.xml +++ b/packages/SystemUI/res/layout/ongoing_privacy_dialog_item.xml @@ -25,12 +25,18 @@ android:focusable="true" android:layout_gravity="center_vertical"> - <ImageView - android:id="@+id/app_icon" + <FrameLayout android:layout_height="@dimen/ongoing_appops_dialog_app_icon_size" android:layout_width="@dimen/ongoing_appops_dialog_app_icon_size" - android:layout_gravity="start|center_vertical" - /> + android:layout_gravity="start|center_vertical"> + + <ImageView + android:id="@+id/app_icon" + android:layout_height="@dimen/ongoing_appops_dialog_app_icon_size" + android:layout_width="@dimen/ongoing_appops_dialog_app_icon_size" + android:layout_gravity="center" + /> + </FrameLayout> <TextView android:id="@+id/app_name" diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index ef16bcaf0fd2..5a00b4526c32 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -952,6 +952,8 @@ <dimen name="ongoing_appops_dialog_icon_margin">8dp</dimen> <!-- Height and width of Application icons in Ongoing App Ops dialog --> <dimen name="ongoing_appops_dialog_app_icon_size">32dp</dimen> + <!-- Height and width of Plus sign in Ongoing App Ops dialog --> + <dimen name="ongoing_appops_dialog_app_plus_size">24dp</dimen> <!-- Height of line in Ongoing App Ops dialog--> <dimen name="ongoing_appops_dialog_line_height">48dp</dimen> <!-- Side margin of title in Ongoing App Ops dialog --> diff --git a/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyDialog.kt b/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyDialog.kt index 6ed1ebad8e51..77e25e324915 100644 --- a/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyDialog.kt +++ b/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyDialog.kt @@ -20,6 +20,7 @@ import android.content.Context import android.content.DialogInterface import android.content.Intent import android.content.res.ColorStateList +import android.util.IconDrawableFactory import android.view.Gravity import android.view.LayoutInflater import android.view.View @@ -37,11 +38,22 @@ class OngoingPrivacyDialog constructor( private val iconSize = context.resources.getDimensionPixelSize( R.dimen.ongoing_appops_dialog_icon_size) + private val plusSize = context.resources.getDimensionPixelSize( + R.dimen.ongoing_appops_dialog_app_plus_size) private val iconColor = context.resources.getColor( com.android.internal.R.color.text_color_primary, context.theme) + private val plusColor: Int private val iconMargin = context.resources.getDimensionPixelSize( R.dimen.ongoing_appops_dialog_icon_margin) private val MAX_ITEMS = context.resources.getInteger(R.integer.ongoing_appops_dialog_max_apps) + private val iconFactory = IconDrawableFactory.newInstance(context, true) + + init { + val a = context.theme.obtainStyledAttributes( + intArrayOf(com.android.internal.R.attr.colorAccent)) + plusColor = a.getColor(0, 0) + a.recycle() + } fun createDialog(): Dialog { val builder = AlertDialog.Builder(context).apply { @@ -87,9 +99,15 @@ class OngoingPrivacyDialog constructor( numItems - MAX_ITEMS ) val overflowPlus = overflow.findViewById(R.id.app_icon) as ImageView + val lp = overflowPlus.layoutParams.apply { + height = plusSize + width = plusSize + } + overflowPlus.layoutParams = lp overflowPlus.apply { - imageTintList = ColorStateList.valueOf(iconColor) - setImageDrawable(context.getDrawable(R.drawable.plus)) + val plus = context.getDrawable(R.drawable.plus) + imageTintList = ColorStateList.valueOf(plusColor) + setImageDrawable(plus) } } @@ -114,7 +132,7 @@ class OngoingPrivacyDialog constructor( } app.icon.let { - appIcon.setImageDrawable(it) + appIcon.setImageDrawable(iconFactory.getShadowedIcon(it)) } appName.text = app.applicationName |