diff options
4 files changed, 24 insertions, 18 deletions
diff --git a/packages/SystemUI/res/layout/combined_qs_header.xml b/packages/SystemUI/res/layout/combined_qs_header.xml index d68982876448..dffe40b8454a 100644 --- a/packages/SystemUI/res/layout/combined_qs_header.xml +++ b/packages/SystemUI/res/layout/combined_qs_header.xml @@ -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>
\ No newline at end of file diff --git a/packages/SystemUI/res/layout/ongoing_privacy_chip.xml b/packages/SystemUI/res/layout/ongoing_privacy_chip.xml index 245e73541e70..2c7467d726b4 100644 --- a/packages/SystemUI/res/layout/ongoing_privacy_chip.xml +++ b/packages/SystemUI/res/layout/ongoing_privacy_chip.xml @@ -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>
\ No newline at end of file + android:maxWidth="@dimen/ongoing_appops_chip_max_width" /> +</merge>
\ No newline at end of file diff --git a/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyChip.kt b/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyChip.kt index b2910ab6c59b..79167f276576 100644 --- a/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyChip.kt +++ b/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyChip.kt @@ -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() } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/events/StatusEvent.kt b/packages/SystemUI/src/com/android/systemui/statusbar/events/StatusEvent.kt index b9bbee86bc59..fd057a543c55 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/events/StatusEvent.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/events/StatusEvent.kt @@ -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 |