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

Commit c69b4028 authored by Fabian Kozynski's avatar Fabian Kozynski
Browse files

Visual changes in OngoingPrivacyChip

* Changed padding and sizes
* Removed text

Test: manual
Fixes: 128354898
Change-Id: Iadd14f43caed562f9490d20ea96b496dc6e98df3
parent 66b5c276
Loading
Loading
Loading
Loading
+3 −20
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@
    android:orientation="horizontal"
    android:focusable="true">

        <LinearLayout
        <FrameLayout
            android:id="@+id/background"
            android:layout_height="@dimen/ongoing_appops_chip_height"
            android:layout_width="wrap_content"
@@ -37,25 +37,8 @@
                    android:id="@+id/icons_container"
                    android:layout_height="match_parent"
                    android:layout_width="wrap_content"
                    android:layout_marginStart="@dimen/ongoing_appops_chip_items_margin"
                    android:layout_gravity="center_vertical"
                    android:gravity="center_vertical"
                    />

                <TextView
                    android:id="@+id/text_container"
                    android:layout_height="match_parent"
                    android:layout_width="wrap_content"
                    android:layout_gravity="center_vertical|end"
                    android:paddingStart="@dimen/ongoing_appops_chip_text_padding"
                    android:paddingEnd="@dimen/ongoing_appops_chip_text_padding"
                    android:layout_gravity="center"
                    android:gravity="center_vertical"
                    android:singleLine="true"
                    android:ellipsize="end"
                    android:lines="1"
                    android:textAppearance="@style/TextAppearance.StatusBar.Clock"
                    android:textSize="@dimen/ongoing_appops_chip_text_size"
                    android:textColor="@color/status_bar_clock_color"
                    />
          </LinearLayout>
          </FrameLayout>
</com.android.systemui.privacy.OngoingPrivacyChip>
 No newline at end of file
+2 −7
Original line number Diff line number Diff line
@@ -999,10 +999,8 @@
    <dimen name="ongoing_appops_chip_margin">0dp</dimen>
    <!-- Height of the Ongoing App Ops chip -->
    <dimen name="ongoing_appops_chip_height">32dp</dimen>
    <!-- Start and End padding for Ongoing App Ops chip -->
    <dimen name="ongoing_appops_chip_text_padding">8dp</dimen>
    <!-- Padding between background of Ongoing App Ops chip and content -->
    <dimen name="ongoing_appops_chip_bg_padding">0dp</dimen>
    <dimen name="ongoing_appops_chip_bg_padding">8dp</dimen>
    <!-- Side padding between background of Ongoing App Ops chip and content -->
    <dimen name="ongoing_appops_chip_side_padding">8dp</dimen>
    <!-- Margin between icons of Ongoing App Ops chip when QQS-->
@@ -1013,10 +1011,7 @@
    <dimen name="ongoing_appops_chip_icon_size">@*android:dimen/status_bar_icon_size</dimen>
    <!-- Radius of Ongoing App Ops chip corners -->
    <dimen name="ongoing_appops_chip_bg_corner_radius">16dp</dimen>
    <!-- Size of text of Ongoing App Ops chip -->
    <dimen name="ongoing_appops_chip_text_size">12sp</dimen>
    <!-- Margin between items in Ongoing App Ops chip -->
    <dimen name="ongoing_appops_chip_items_margin">8dp</dimen>


    <!-- How much a bubble is elevated -->
    <dimen name="bubble_elevation">8dp</dimen>
+0 −14
Original line number Diff line number Diff line
@@ -2318,26 +2318,12 @@
         app for debugging. Will not be seen by users. [CHAR LIMIT=20] -->
    <string name="heap_dump_tile_name">Dump SysUI Heap</string>

    <!-- Text on chip for multiple apps using a single app op [CHAR LIMIT=12] -->
    <plurals name="ongoing_privacy_chip_multiple_apps">
        <item quantity="one"><xliff:g id="num_apps" example="1">%d</xliff:g> app</item>
        <item quantity="few"><xliff:g id="num_apps" example="3">%d</xliff:g> apps</item>
        <item quantity="other"><xliff:g id="num_apps" example="3">%d</xliff:g> apps</item>
    </plurals>

    <!-- Content description for ongoing privacy chip. Use with a single app [CHAR LIMIT=NONE]-->
    <string name="ongoing_privacy_chip_content_single_app"><xliff:g id="app" example="Example App">%1$s</xliff:g> is using your <xliff:g id="types_list" example="camera, location">%2$s</xliff:g>.</string>

    <!-- Content description for ongoing privacy chip. Use with multiple apps [CHAR LIMIT=NONE]-->
    <string name="ongoing_privacy_chip_content_multiple_apps">Applications are using your <xliff:g id="types_list" example="camera, location">%s</xliff:g>.</string>

    <!-- Content description for ongoing privacy chip. Use with multiple apps using same app op[CHAR LIMIT=NONE]-->
    <plurals name="ongoing_privacy_chip_content_multiple_apps_single_op">
        <item quantity="one"><xliff:g id="num_apps" example="1">%1$d</xliff:g> application is using your <xliff:g id="type" example="camera">%2$s</xliff:g>.</item>
        <item quantity="few"><xliff:g id="num_apps" example="3">%1$d</xliff:g> applications are using your <xliff:g id="type" example="camera">%2$s</xliff:g>.</item>
        <item quantity="other"><xliff:g id="num_apps" example="3">%1$d</xliff:g> applications are using your <xliff:g id="type" example="camera">%2$s</xliff:g>.</item>
    </plurals>

    <!-- Action for accepting the Ongoing privacy dialog [CHAR LIMIT=10]-->
    <string name="ongoing_privacy_dialog_ok">Got it</string>

+6 −34
Original line number Diff line number Diff line
@@ -17,9 +17,9 @@ package com.android.systemui.privacy
import android.content.Context
import android.util.AttributeSet
import android.view.ViewGroup
import android.widget.FrameLayout
import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.TextView
import com.android.systemui.Dependency
import com.android.systemui.R
import com.android.systemui.statusbar.policy.KeyguardMonitor
@@ -42,9 +42,8 @@ class OngoingPrivacyChip @JvmOverloads constructor(
    private val sidePadding =
            context.resources.getDimensionPixelSize(R.dimen.ongoing_appops_chip_side_padding)
    private val backgroundDrawable = context.getDrawable(R.drawable.privacy_chip_bg)
    private lateinit var text: TextView
    private lateinit var iconsContainer: LinearLayout
    private lateinit var back: LinearLayout
    private lateinit var back: FrameLayout
    var expanded = false
        set(value) {
            if (value != field) {
@@ -66,14 +65,14 @@ class OngoingPrivacyChip @JvmOverloads constructor(
        super.onFinishInflate()

        back = findViewById(R.id.background)
        text = findViewById(R.id.text_container)
        iconsContainer = findViewById(R.id.icons_container)
    }

    // Should only be called if the builder icons or app changed
    private fun updateView() {
        back.background = if (expanded) backgroundDrawable else null
        back.setPaddingRelative(0, 0, if (expanded) sidePadding else 0, 0)
        val padding = if (expanded) sidePadding else 0
        back.setPaddingRelative(padding, 0, padding, 0)
        fun setIcons(dialogBuilder: PrivacyDialogBuilder, iconsContainer: ViewGroup) {
            iconsContainer.removeAllViews()
            dialogBuilder.generateIcons().forEachIndexed { i, it ->
@@ -95,44 +94,17 @@ class OngoingPrivacyChip @JvmOverloads constructor(
        if (!privacyList.isEmpty()) {
            generateContentDescription()
            setIcons(builder, iconsContainer)
            setApplicationText()
        } else {
            text.visibility = GONE
            iconsContainer.removeAllViews()
        }
        requestLayout()
    }

    private fun setApplicationText() {
        text.visibility = if (builder.types.size == 1 && expanded) VISIBLE else GONE
        if (builder.types.size == 1 && expanded) {
            if (builder.app != null && !amISecure()) {
                text.setText(builder.app?.applicationName)
            } else {
                text.text = context.resources.getQuantityString(
                        R.plurals.ongoing_privacy_chip_multiple_apps,
                        builder.appsAndTypes.size, builder.appsAndTypes.size)
            }
        }
    }

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

    private fun generateContentDescription() {
        val typesText = builder.joinTypes()
        if (builder.types.size > 1) {
        contentDescription = context.getString(
                R.string.ongoing_privacy_chip_content_multiple_apps, typesText)
        } else {
            if (builder.app != null && !amISecure()) {
                contentDescription =
                        context.getString(R.string.ongoing_privacy_chip_content_single_app,
                                builder.app?.applicationName, typesText)
            } else {
                contentDescription = context.resources.getQuantityString(
                        R.plurals.ongoing_privacy_chip_content_multiple_apps_single_op,
                        builder.appsAndTypes.size, builder.appsAndTypes.size, typesText)
            }
        }
    }
}
 No newline at end of file
+1 −8
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ class PrivacyDialogBuilder(private val context: Context, itemsList: List<Privacy

    val appsAndTypes: List<Pair<PrivacyApplication, List<PrivacyType>>>
    val types: List<PrivacyType>
    val app: PrivacyApplication?
    private val separator = context.getString(R.string.ongoing_privacy_dialog_separator)
    private val lastSeparator = context.getString(R.string.ongoing_privacy_dialog_last_separator)

@@ -32,8 +31,6 @@ class PrivacyDialogBuilder(private val context: Context, itemsList: List<Privacy
                .sortedWith(compareBy({ -it.second.size }, // Sort by number of AppOps
                        { it.second.min() })) // Sort by "smallest" AppOpp (Location is largest)
        types = itemsList.map { it.privacyType }.distinct().sorted()
        val singleApp = appsAndTypes.size == 1
        app = if (singleApp) appsAndTypes[0].first else null
    }

    fun generateIconsForApp(types: List<PrivacyType>): List<Drawable> {
@@ -58,11 +55,7 @@ class PrivacyDialogBuilder(private val context: Context, itemsList: List<Privacy
    }

    fun getDialogTitle(): String {
        if (app != null) {
            return context.getString(R.string.ongoing_privacy_dialog_single_app_title, joinTypes())
        } else {
        return context.getString(R.string.ongoing_privacy_dialog_multiple_apps_title,
                    joinTypes())
    }
}
}