Merge "Convert Privacy Types to use PermissionGroup icons" into qt-dev

am: 5a8b95c3c0

Change-Id: I95f354818fb5583ec3ab64895e0867fe037f8958
This commit is contained in:
Fabian Kozynski
2019-04-12 12:13:31 -07:00
committed by android-build-merger
5 changed files with 24 additions and 16 deletions

View File

@@ -3751,4 +3751,9 @@
<!-- For DropBox --> <!-- For DropBox -->
<java-symbol type="integer" name="config_dropboxLowPriorityBroadcastRateLimitPeriod" /> <java-symbol type="integer" name="config_dropboxLowPriorityBroadcastRateLimitPeriod" />
<java-symbol type="array" name="config_dropboxLowPriorityTags" /> <java-symbol type="array" name="config_dropboxLowPriorityTags" />
<!-- For Privacy Type -->
<java-symbol type="drawable" name="perm_group_camera" />
<java-symbol type="drawable" name="perm_group_location" />
<java-symbol type="drawable" name="perm_group_microphone" />
</resources> </resources>

View File

@@ -23,21 +23,20 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_marginLeft="@dimen/ongoing_appops_chip_margin" android:layout_marginLeft="@dimen/ongoing_appops_chip_margin"
android:layout_marginRight="@dimen/ongoing_appops_chip_margin" android:layout_marginRight="@dimen/ongoing_appops_chip_margin"
android:layout_gravity="center_vertical|start" android:layout_gravity="center_vertical|end"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:focusable="true"> android:focusable="true" >
<FrameLayout <FrameLayout
android:id="@+id/background" android:id="@+id/background"
android:layout_height="@dimen/ongoing_appops_chip_height" android:layout_height="@dimen/ongoing_appops_chip_height"
android:layout_width="wrap_content" android:minWidth="48dp"
> android:layout_width="wrap_content" >
<LinearLayout <LinearLayout
android:id="@+id/icons_container" android:id="@+id/icons_container"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_gravity="center"
android:gravity="center_vertical" android:gravity="center_vertical"
/> />
</FrameLayout> </FrameLayout>

View File

@@ -1044,7 +1044,7 @@
<!-- Margin between icons of Ongoing App Ops chip when QS--> <!-- Margin between icons of Ongoing App Ops chip when QS-->
<dimen name="ongoing_appops_chip_icon_margin_expanded">2dp</dimen> <dimen name="ongoing_appops_chip_icon_margin_expanded">2dp</dimen>
<!-- Icon size of Ongoing App Ops chip --> <!-- Icon size of Ongoing App Ops chip -->
<dimen name="ongoing_appops_chip_icon_size">@*android:dimen/status_bar_icon_size</dimen> <dimen name="ongoing_appops_chip_icon_size">@dimen/status_bar_icon_drawing_size</dimen>
<!-- Radius of Ongoing App Ops chip corners --> <!-- Radius of Ongoing App Ops chip corners -->
<dimen name="ongoing_appops_chip_bg_corner_radius">16dp</dimen> <dimen name="ongoing_appops_chip_bg_corner_radius">16dp</dimen>

View File

@@ -16,13 +16,12 @@ package com.android.systemui.privacy
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
import android.view.Gravity
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.FrameLayout import android.widget.FrameLayout
import android.widget.ImageView import android.widget.ImageView
import android.widget.LinearLayout import android.widget.LinearLayout
import com.android.systemui.Dependency
import com.android.systemui.R import com.android.systemui.R
import com.android.systemui.statusbar.policy.KeyguardMonitor
class OngoingPrivacyChip @JvmOverloads constructor( class OngoingPrivacyChip @JvmOverloads constructor(
context: Context, context: Context,
@@ -51,8 +50,7 @@ class OngoingPrivacyChip @JvmOverloads constructor(
updateView() updateView()
} }
} }
@Suppress("DEPRECATION")
private val keyguardMonitor = Dependency.get(KeyguardMonitor::class.java)
var builder = PrivacyDialogBuilder(context, emptyList<PrivacyItem>()) var builder = PrivacyDialogBuilder(context, emptyList<PrivacyItem>())
var privacyList = emptyList<PrivacyItem>() var privacyList = emptyList<PrivacyItem>()
set(value) { set(value) {
@@ -94,14 +92,16 @@ class OngoingPrivacyChip @JvmOverloads constructor(
if (!privacyList.isEmpty()) { if (!privacyList.isEmpty()) {
generateContentDescription() generateContentDescription()
setIcons(builder, iconsContainer) setIcons(builder, iconsContainer)
val lp = iconsContainer.layoutParams as FrameLayout.LayoutParams
lp.gravity = Gravity.CENTER_VERTICAL or
(if (expanded) Gravity.CENTER_HORIZONTAL else Gravity.END)
iconsContainer.layoutParams = lp
} else { } else {
iconsContainer.removeAllViews() iconsContainer.removeAllViews()
} }
requestLayout() requestLayout()
} }
private fun amISecure() = keyguardMonitor.isShowing && keyguardMonitor.isSecure
private fun generateContentDescription() { private fun generateContentDescription() {
val typesText = builder.joinTypes() val typesText = builder.joinTypes()
contentDescription = context.getString( contentDescription = context.getString(

View File

@@ -24,10 +24,14 @@ import com.android.systemui.R
typealias Privacy = PrivacyType typealias Privacy = PrivacyType
enum class PrivacyType(val nameId: Int, val iconId: Int) { enum class PrivacyType(private val nameId: Int, val iconId: Int) {
TYPE_CAMERA(R.string.privacy_type_camera, R.drawable.stat_sys_camera), // This is uses the icons used by the corresponding permission groups in the AndroidManifest
TYPE_MICROPHONE(R.string.privacy_type_microphone, R.drawable.stat_sys_mic_none), TYPE_CAMERA(R.string.privacy_type_camera,
TYPE_LOCATION(R.string.privacy_type_location, R.drawable.stat_sys_location); com.android.internal.R.drawable.perm_group_camera),
TYPE_MICROPHONE(R.string.privacy_type_microphone,
com.android.internal.R.drawable.perm_group_microphone),
TYPE_LOCATION(R.string.privacy_type_location,
com.android.internal.R.drawable.perm_group_location);
fun getName(context: Context) = context.resources.getString(nameId) fun getName(context: Context) = context.resources.getString(nameId)