Loading packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyChip.kt +21 −11 Original line number Diff line number Diff line Loading @@ -21,7 +21,9 @@ import android.view.ViewGroup 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 class OngoingPrivacyChip @JvmOverloads constructor( context: Context, Loading Loading @@ -49,6 +51,8 @@ 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) { Loading Loading @@ -90,9 +94,18 @@ 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) { if (builder.app != null && !amISecure()) { text.setText(builder.app?.applicationName) } else { text.text = context.resources.getQuantityString( Loading @@ -100,20 +113,17 @@ class OngoingPrivacyChip @JvmOverloads constructor( builder.appsAndTypes.size, builder.appsAndTypes.size) } } } else { text.visibility = GONE iconsContainer.removeAllViews() } requestLayout() } 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) { if (builder.app != null && !amISecure()) { contentDescription = context.getString(R.string.ongoing_privacy_chip_content_single_app, builder.app?.applicationName, typesText) Loading packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java +2 −5 Original line number Diff line number Diff line Loading @@ -48,7 +48,6 @@ import android.util.Pair; import android.view.DisplayCutout; import android.view.View; import android.view.WindowInsets; import android.view.WindowManager; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; Loading Loading @@ -553,12 +552,10 @@ public class QuickStatusBarHeader extends RelativeLayout implements Handler mUiHandler = new Handler(Looper.getMainLooper()); mUiHandler.post(() -> { Dialog mDialog = new OngoingPrivacyDialog(mContext, builder).createDialog(); mDialog.getWindow().setType( WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG); SystemUIDialog.setShowForAllUsers(mDialog, true); SystemUIDialog.setShowForAllUsers(mDialog, false); SystemUIDialog.registerDismissListener(mDialog); SystemUIDialog.setWindowOnTop(mDialog); mUiHandler.post(() -> mDialog.show()); mActivityStarter.postQSRunnableDismissingKeyguard(() -> mDialog.show()); mHost.collapsePanels(); }); } Loading Loading
packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyChip.kt +21 −11 Original line number Diff line number Diff line Loading @@ -21,7 +21,9 @@ import android.view.ViewGroup 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 class OngoingPrivacyChip @JvmOverloads constructor( context: Context, Loading Loading @@ -49,6 +51,8 @@ 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) { Loading Loading @@ -90,9 +94,18 @@ 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) { if (builder.app != null && !amISecure()) { text.setText(builder.app?.applicationName) } else { text.text = context.resources.getQuantityString( Loading @@ -100,20 +113,17 @@ class OngoingPrivacyChip @JvmOverloads constructor( builder.appsAndTypes.size, builder.appsAndTypes.size) } } } else { text.visibility = GONE iconsContainer.removeAllViews() } requestLayout() } 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) { if (builder.app != null && !amISecure()) { contentDescription = context.getString(R.string.ongoing_privacy_chip_content_single_app, builder.app?.applicationName, typesText) Loading
packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java +2 −5 Original line number Diff line number Diff line Loading @@ -48,7 +48,6 @@ import android.util.Pair; import android.view.DisplayCutout; import android.view.View; import android.view.WindowInsets; import android.view.WindowManager; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; Loading Loading @@ -553,12 +552,10 @@ public class QuickStatusBarHeader extends RelativeLayout implements Handler mUiHandler = new Handler(Looper.getMainLooper()); mUiHandler.post(() -> { Dialog mDialog = new OngoingPrivacyDialog(mContext, builder).createDialog(); mDialog.getWindow().setType( WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG); SystemUIDialog.setShowForAllUsers(mDialog, true); SystemUIDialog.setShowForAllUsers(mDialog, false); SystemUIDialog.registerDismissListener(mDialog); SystemUIDialog.setWindowOnTop(mDialog); mUiHandler.post(() -> mDialog.show()); mActivityStarter.postQSRunnableDismissingKeyguard(() -> mDialog.show()); mHost.collapsePanels(); }); } Loading