diff options
9 files changed, 55 insertions, 43 deletions
diff --git a/packages/SystemUI/res/drawable/privacy_item_circle_camera.xml b/packages/SystemUI/res/drawable/privacy_item_circle_camera.xml index cf6413642c63..5cb6f4626b36 100644 --- a/packages/SystemUI/res/drawable/privacy_item_circle_camera.xml +++ b/packages/SystemUI/res/drawable/privacy_item_circle_camera.xml @@ -21,16 +21,16 @@ > <shape android:shape="oval"> <size - android:height="28dp" - android:width="28dp" + android:height="@dimen/ongoing_appops_dialog_circle_size" + android:width="@dimen/ongoing_appops_dialog_circle_size" /> <solid android:color="@color/privacy_circle_camera" /> </shape> </item> <item android:id="@id/icon" android:gravity="center" - android:width="20dp" - android:height="20dp" + android:width="@dimen/ongoing_appops_dialog_icon_size" + android:height="@dimen/ongoing_appops_dialog_icon_size" android:drawable="@*android:drawable/perm_group_camera" /> </layer-list>
\ No newline at end of file diff --git a/packages/SystemUI/res/drawable/privacy_item_circle_location.xml b/packages/SystemUI/res/drawable/privacy_item_circle_location.xml index 0a6a4a31d0a5..28466c8a29b3 100644 --- a/packages/SystemUI/res/drawable/privacy_item_circle_location.xml +++ b/packages/SystemUI/res/drawable/privacy_item_circle_location.xml @@ -21,16 +21,16 @@ > <shape android:shape="oval"> <size - android:height="28dp" - android:width="28dp" + android:height="@dimen/ongoing_appops_dialog_circle_size" + android:width="@dimen/ongoing_appops_dialog_circle_size" /> <solid android:color="@color/privacy_circle_microphone_location" /> </shape> </item> <item android:id="@id/icon" android:gravity="center" - android:width="20dp" - android:height="20dp" + android:width="@dimen/ongoing_appops_dialog_icon_size" + android:height="@dimen/ongoing_appops_dialog_icon_size" android:drawable="@*android:drawable/perm_group_microphone" /> </layer-list>
\ No newline at end of file diff --git a/packages/SystemUI/res/drawable/privacy_item_circle_microphone.xml b/packages/SystemUI/res/drawable/privacy_item_circle_microphone.xml index 0a6a4a31d0a5..28466c8a29b3 100644 --- a/packages/SystemUI/res/drawable/privacy_item_circle_microphone.xml +++ b/packages/SystemUI/res/drawable/privacy_item_circle_microphone.xml @@ -21,16 +21,16 @@ > <shape android:shape="oval"> <size - android:height="28dp" - android:width="28dp" + android:height="@dimen/ongoing_appops_dialog_circle_size" + android:width="@dimen/ongoing_appops_dialog_circle_size" /> <solid android:color="@color/privacy_circle_microphone_location" /> </shape> </item> <item android:id="@id/icon" android:gravity="center" - android:width="20dp" - android:height="20dp" + android:width="@dimen/ongoing_appops_dialog_icon_size" + android:height="@dimen/ongoing_appops_dialog_icon_size" android:drawable="@*android:drawable/perm_group_microphone" /> </layer-list>
\ No newline at end of file diff --git a/packages/SystemUI/res/layout/privacy_dialog.xml b/packages/SystemUI/res/layout/privacy_dialog.xml index 5db247e25d50..4d77a0d75689 100644 --- a/packages/SystemUI/res/layout/privacy_dialog.xml +++ b/packages/SystemUI/res/layout/privacy_dialog.xml @@ -22,7 +22,13 @@ android:layout_height="wrap_content" android:layout_marginStart="@dimen/ongoing_appops_dialog_side_margins" android:layout_marginEnd="@dimen/ongoing_appops_dialog_side_margins" + android:layout_marginTop="8dp" android:orientation="vertical" - android:padding = "8dp" + android:paddingLeft="@dimen/ongoing_appops_dialog_side_padding" + android:paddingRight="@dimen/ongoing_appops_dialog_side_padding" + android:paddingBottom="12dp" + android:paddingTop="8dp" android:background="@drawable/privacy_dialog_bg" -/>
\ No newline at end of file +/> +<!-- 12dp padding bottom so there's 20dp total under the icon --> +<!-- 8dp padding top, as there's 4dp margin in each row -->
\ No newline at end of file diff --git a/packages/SystemUI/res/layout/privacy_dialog_item.xml b/packages/SystemUI/res/layout/privacy_dialog_item.xml index 882e9680407e..91ffe225fac6 100644 --- a/packages/SystemUI/res/layout/privacy_dialog_item.xml +++ b/packages/SystemUI/res/layout/privacy_dialog_item.xml @@ -16,19 +16,22 @@ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/privacy_item" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="48dp" android:orientation="horizontal" - android:layout_marginTop="8dp" + android:layout_marginTop="4dp" + android:importantForAccessibility="yes" + android:focusable="true" > + <!-- 4dp marginTop makes 20dp minimum between icons --> <ImageView android:id="@+id/icon" - android:layout_width="24dp" - android:layout_height="24dp" + android:layout_width="@dimen/ongoing_appops_dialog_circle_size" + android:layout_height="@dimen/ongoing_appops_dialog_circle_size" android:layout_gravity="center_vertical" - android:layout_marginStart="12dp" - android:layout_marginEnd="12dp" + android:importantForAccessibility="no" /> <TextView @@ -38,25 +41,21 @@ android:layout_width="0dp" android:layout_weight="1" android:layout_gravity="center_vertical" + android:layout_marginStart="16dp" + android:layout_marginEnd="16dp" + android:textDirection="locale" + android:textAlignment="viewStart" android:gravity="start | center_vertical" - android:textAppearance="@style/TextAppearance.QS.TileLabel" + android:textAppearance="@style/TextAppearance.PrivacyDialog" + android:lineHeight="20sp" /> - <FrameLayout - android:id="@+id/link" - android:layout_width="48dp" - android:layout_height="48dp" + <ImageView + android:layout_height="24dp" + android:layout_width="24dp" android:layout_gravity="center_vertical" - android:background="?android:attr/selectableItemBackground" - > - - <ImageView - android:layout_height="24dp" - android:layout_width="24dp" - android:layout_gravity="center" - android:src="@*android:drawable/ic_chevron_end" - android:tint="?android:attr/textColorPrimary" - /> - </FrameLayout> + android:src="@*android:drawable/ic_chevron_end" + android:tint="?android:attr/textColorPrimary" + /> </LinearLayout>
\ No newline at end of file diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index e5109307c4f4..1fac96bb181d 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -1181,6 +1181,12 @@ <dimen name="ongoing_appops_dialog_side_margins">@dimen/notification_shade_content_margin_horizontal</dimen> + <dimen name="ongoing_appops_dialog_circle_size">32dp</dimen> + + <dimen name="ongoing_appops_dialog_icon_size">20dp</dimen> + + <dimen name="ongoing_appops_dialog_side_padding">16dp</dimen> + <!-- Size of the RAT type for CellularTile --> <dimen name="celltile_rat_type_size">10sp</dimen> diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml index db260ce1b7b4..ad4e78e8e507 100644 --- a/packages/SystemUI/res/values/styles.xml +++ b/packages/SystemUI/res/values/styles.xml @@ -745,4 +745,9 @@ * Title: headline, medium 20sp * Message: body, 16 sp --> <style name="Theme.ControlsRequestDialog" parent="@*android:style/Theme.DeviceDefault.Dialog.Alert"/> + + <style name="TextAppearance.PrivacyDialog"> + <item name="android:textSize">14sp</item> + <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item> + </style> </resources> diff --git a/packages/SystemUI/src/com/android/systemui/privacy/PrivacyDialog.kt b/packages/SystemUI/src/com/android/systemui/privacy/PrivacyDialog.kt index 66c535f869f0..c3d6a848202f 100644 --- a/packages/SystemUI/src/com/android/systemui/privacy/PrivacyDialog.kt +++ b/packages/SystemUI/src/com/android/systemui/privacy/PrivacyDialog.kt @@ -24,7 +24,6 @@ import android.view.Gravity import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.view.ViewGroup.LayoutParams.MATCH_PARENT import android.view.ViewGroup.LayoutParams.WRAP_CONTENT import android.view.WindowInsets import android.widget.ImageView @@ -66,9 +65,8 @@ class PrivacyDialog( super.onCreate(savedInstanceState) window?.apply { attributes.fitInsetsTypes = attributes.fitInsetsTypes or WindowInsets.Type.statusBars() - setLayout(MATCH_PARENT, WRAP_CONTENT) + setLayout(context.resources.getDimensionPixelSize(R.dimen.qs_panel_width), WRAP_CONTENT) setGravity(Gravity.TOP or Gravity.CENTER_HORIZONTAL) - setBackgroundDrawable(null) } setContentView(R.layout.privacy_dialog) @@ -130,7 +128,7 @@ class PrivacyDialog( ) } ?: firstLine newView.requireViewById<TextView>(R.id.text).text = finalText - newView.requireViewById<View>(R.id.link).apply { + newView.apply { tag = element.type.permGroupName setOnClickListener(clickListener) } @@ -154,9 +152,7 @@ class PrivacyDialog( } private val clickListener = View.OnClickListener { v -> - if (v.id == R.id.link) { - v.tag?.let { activityStarter(it as String) } - } + v.tag?.let { activityStarter(it as String) } } /** */ diff --git a/packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyDialogTest.kt b/packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyDialogTest.kt index 9762ffffb02e..eb5dd4e6fef6 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyDialogTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyDialogTest.kt @@ -72,7 +72,7 @@ class PrivacyDialogTest : SysuiTestCase() { ) dialog = PrivacyDialog(context, list, starter) dialog.show() - dialog.requireViewById<View>(R.id.link).callOnClick() + dialog.requireViewById<View>(R.id.privacy_item).callOnClick() verify(starter).invoke(PrivacyType.TYPE_MICROPHONE.permGroupName) } |