Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2796f62b authored by Fabian Kozynski's avatar Fabian Kozynski Committed by android-build-merger
Browse files

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

am: 5a8b95c3

Change-Id: I95f354818fb5583ec3ab64895e0867fe037f8958
parents 2a7cef97 5a8b95c3
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -3751,4 +3751,9 @@
  <!-- For DropBox -->
  <java-symbol type="integer" name="config_dropboxLowPriorityBroadcastRateLimitPeriod" />
  <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>
+4 −5
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@
    android:layout_width="wrap_content"
    android:layout_marginLeft="@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:orientation="horizontal"
    android:focusable="true" >
@@ -31,13 +31,12 @@
        <FrameLayout
            android:id="@+id/background"
            android:layout_height="@dimen/ongoing_appops_chip_height"
            android:layout_width="wrap_content"
        >
            android:minWidth="48dp"
            android:layout_width="wrap_content" >
                <LinearLayout
                    android:id="@+id/icons_container"
                    android:layout_height="match_parent"
                    android:layout_width="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center_vertical"
                    />
          </FrameLayout>
+1 −1
Original line number Diff line number Diff line
@@ -1044,7 +1044,7 @@
    <!-- Margin between icons of Ongoing App Ops chip when QS-->
    <dimen name="ongoing_appops_chip_icon_margin_expanded">2dp</dimen>
    <!-- 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 -->
    <dimen name="ongoing_appops_chip_bg_corner_radius">16dp</dimen>

+6 −6
Original line number Diff line number Diff line
@@ -16,13 +16,12 @@ package com.android.systemui.privacy

import android.content.Context
import android.util.AttributeSet
import android.view.Gravity
import android.view.ViewGroup
import android.widget.FrameLayout
import android.widget.ImageView
import android.widget.LinearLayout
import com.android.systemui.Dependency
import com.android.systemui.R
import com.android.systemui.statusbar.policy.KeyguardMonitor

class OngoingPrivacyChip @JvmOverloads constructor(
    context: Context,
@@ -51,8 +50,7 @@ class OngoingPrivacyChip @JvmOverloads constructor(
                updateView()
            }
        }
    @Suppress("DEPRECATION")
    private val keyguardMonitor = Dependency.get(KeyguardMonitor::class.java)

    var builder = PrivacyDialogBuilder(context, emptyList<PrivacyItem>())
    var privacyList = emptyList<PrivacyItem>()
        set(value) {
@@ -94,14 +92,16 @@ class OngoingPrivacyChip @JvmOverloads constructor(
        if (!privacyList.isEmpty()) {
            generateContentDescription()
            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 {
            iconsContainer.removeAllViews()
        }
        requestLayout()
    }

    private fun amISecure() = keyguardMonitor.isShowing && keyguardMonitor.isSecure

    private fun generateContentDescription() {
        val typesText = builder.joinTypes()
        contentDescription = context.getString(
+8 −4
Original line number Diff line number Diff line
@@ -24,10 +24,14 @@ import com.android.systemui.R

typealias Privacy = PrivacyType

enum class PrivacyType(val nameId: Int, val iconId: Int) {
    TYPE_CAMERA(R.string.privacy_type_camera, R.drawable.stat_sys_camera),
    TYPE_MICROPHONE(R.string.privacy_type_microphone, R.drawable.stat_sys_mic_none),
    TYPE_LOCATION(R.string.privacy_type_location, R.drawable.stat_sys_location);
enum class PrivacyType(private val nameId: Int, val iconId: Int) {
    // This is uses the icons used by the corresponding permission groups in the AndroidManifest
    TYPE_CAMERA(R.string.privacy_type_camera,
            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)