Refactor OngoingPrivacyChip inflation logic

Bug: 197638244
Test: Separate CL (ag/20982130)
Change-Id: Ia6ba76c0e94397e4b5bda5fe020fed6f5f42b794
This commit is contained in:
Johannes Gallmann
2023-01-16 09:43:39 +01:00
parent feb2df3c3c
commit 6b7afc234e
4 changed files with 24 additions and 18 deletions

View File

@@ -141,11 +141,14 @@
android:layout_width="wrap_content"
android:layout_height="@dimen/large_screen_shade_header_min_height"
android:gravity="center"
app:layout_constraintEnd_toEndOf="@id/end_guide"
app:layout_constraintTop_toTopOf="@id/date"
app:layout_constraintBottom_toBottomOf="@id/date"
>
<include layout="@layout/ongoing_privacy_chip"/>
app:layout_constraintEnd_toEndOf="@id/end_guide"
app:layout_constraintTop_toTopOf="@id/date">
<com.android.systemui.privacy.OngoingPrivacyChip
android:layout_width="wrap_content"
android:layout_height="match_parent" />
</FrameLayout>
</com.android.systemui.util.NoRemeasureMotionLayout>

View File

@@ -16,14 +16,15 @@
-->
<com.android.systemui.privacy.OngoingPrivacyChip
xmlns:android="http://schemas.android.com/apk/res/android"
<merge xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/privacy_chip"
xmlns:tools="http://schemas.android.com/tools"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_gravity="center_vertical|end"
android:clipChildren="false"
android:clipToPadding="false"
tools:parentTag="com.android.systemui.privacy.OngoingPrivacyChip">
>
<LinearLayout
@@ -37,6 +38,5 @@
android:clipToPadding="false"
android:layout_gravity="center"
android:minWidth="@dimen/ongoing_appops_chip_min_width"
android:maxWidth="@dimen/ongoing_appops_chip_max_width"
/>
</com.android.systemui.privacy.OngoingPrivacyChip>
android:maxWidth="@dimen/ongoing_appops_chip_max_width" />
</merge>

View File

@@ -16,7 +16,11 @@ package com.android.systemui.privacy
import android.content.Context
import android.util.AttributeSet
import android.view.Gravity.CENTER_VERTICAL
import android.view.Gravity.END
import android.view.ViewGroup
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
import android.widget.ImageView
import android.widget.LinearLayout
import com.android.settingslib.Utils
@@ -35,7 +39,7 @@ class OngoingPrivacyChip @JvmOverloads constructor(
private var iconSize = 0
private var iconColor = 0
private lateinit var iconsContainer: LinearLayout
private val iconsContainer: LinearLayout
var privacyList = emptyList<PrivacyItem>()
set(value) {
@@ -43,11 +47,13 @@ class OngoingPrivacyChip @JvmOverloads constructor(
updateView(PrivacyChipBuilder(context, field))
}
override fun onFinishInflate() {
super.onFinishInflate()
init {
inflate(context, R.layout.ongoing_privacy_chip, this)
id = R.id.privacy_chip
layoutParams = LayoutParams(WRAP_CONTENT, MATCH_PARENT, CENTER_VERTICAL or END)
clipChildren = true
clipToPadding = true
iconsContainer = requireViewById(R.id.icons_container)
updateResources()
}

View File

@@ -19,10 +19,8 @@ package com.android.systemui.statusbar.events
import android.annotation.IntRange
import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.widget.ImageView
import com.android.systemui.R
import com.android.systemui.privacy.OngoingPrivacyChip
import com.android.systemui.privacy.PrivacyItem
import com.android.systemui.statusbar.BatteryStatusChip
@@ -97,8 +95,7 @@ class PrivacyEvent(override val showAnimation: Boolean = true) : StatusEvent {
private var privacyChip: OngoingPrivacyChip? = null
override val viewCreator: ViewCreator = { context ->
val v = LayoutInflater.from(context)
.inflate(R.layout.ongoing_privacy_chip, null) as OngoingPrivacyChip
val v = OngoingPrivacyChip(context)
v.privacyList = privacyItems
v.contentDescription = contentDescription
privacyChip = v