Loading packages/SystemUI/proguard_common.flags +9 −37 Original line number Diff line number Diff line Loading @@ -2,45 +2,17 @@ # Needed to ensure callback field references are kept in their respective # owning classes when the downstream callback registrars only store weak refs. # TODO(b/264686688): Handle these cases with more targeted annotations. -keepclassmembers,allowaccessmodification class com.android.systemui.**, com.android.keyguard.** { private com.android.keyguard.KeyguardUpdateMonitorCallback *; private com.android.systemui.privacy.PrivacyConfig$Callback *; private com.android.systemui.privacy.PrivacyItemController$Callback *; private com.android.systemui.settings.UserTracker$Callback *; private com.android.systemui.statusbar.phone.StatusBarWindowCallback *; private com.android.systemui.util.service.Observer$Callback *; private com.android.systemui.util.service.ObservableServiceConnection$Callback *; } # Note that these rules are temporary companions to the above rules, required # for cases like Kotlin where fields with anonymous types use the anonymous type # rather than the supertype. -if class * extends com.android.keyguard.KeyguardUpdateMonitorCallback -keepclassmembers,allowaccessmodification class com.android.systemui.**, com.android.keyguard.** { <1> *; } -if class * extends com.android.systemui.privacy.PrivacyConfig$Callback -keepclassmembers,allowaccessmodification class com.android.systemui.**, com.android.keyguard.** { <1> *; } -if class * extends com.android.systemui.privacy.PrivacyItemController$Callback -keepclassmembers,allowaccessmodification class com.android.systemui.**, com.android.keyguard.** { <1> *; } -if class * extends com.android.systemui.settings.UserTracker$Callback -keepclassmembers,allowaccessmodification class com.android.systemui.**, com.android.keyguard.** { <1> *; } -if class * extends com.android.systemui.statusbar.phone.StatusBarWindowCallback -keepclassmembers,allowaccessmodification class com.android.systemui.**, com.android.keyguard.** { <1> *; } -if class * extends com.android.systemui.util.service.Observer$Callback -keepclassmembers,allowaccessmodification class com.android.systemui.**, com.android.keyguard.** { # Note that we restrict this to SysUISingleton classes, as other registering # classes should either *always* unregister or *never* register from their # constructor. We also keep callback class names for easier debugging. -keepnames @com.android.systemui.util.annotations.WeaklyReferencedCallback class * -keepnames class * extends @com.android.systemui.util.annotations.WeaklyReferencedCallback ** -if @com.android.systemui.util.annotations.WeaklyReferencedCallback class * -keepclassmembers,allowaccessmodification @com.android.systemui.dagger.SysUISingleton class * { <1> *; } -if class * extends com.android.systemui.util.service.ObservableServiceConnection$Callback -keepclassmembers,allowaccessmodification class com.android.systemui.**, com.android.keyguard.** { -if class * extends @com.android.systemui.util.annotations.WeaklyReferencedCallback ** -keepclassmembers,allowaccessmodification @com.android.systemui.dagger.SysUISingleton class * { <1> *; } Loading packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java +2 −0 Original line number Diff line number Diff line Loading @@ -25,12 +25,14 @@ import androidx.annotation.Nullable; import com.android.settingslib.fuelgauge.BatteryStatus; import com.android.systemui.plugins.WeatherData; import com.android.systemui.statusbar.KeyguardIndicationController; import com.android.systemui.util.annotations.WeaklyReferencedCallback; import java.util.TimeZone; /** * Callback for general information relevant to lock screen. */ @WeaklyReferencedCallback public class KeyguardUpdateMonitorCallback { /** Loading packages/SystemUI/src/com/android/systemui/media/controls/pipeline/MediaDataFilter.kt +3 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.systemui.media.controls.pipeline import android.content.Context import android.os.SystemProperties import android.util.Log import com.android.internal.annotations.KeepForWeakReference import com.android.internal.annotations.VisibleForTesting import com.android.systemui.broadcast.BroadcastSender import com.android.systemui.dagger.qualifiers.Main Loading Loading @@ -82,6 +83,8 @@ constructor( private var smartspaceMediaData: SmartspaceMediaData = EMPTY_SMARTSPACE_MEDIA_DATA private var reactivatedKey: String? = null // Ensure the field (and associated reference) isn't removed during optimization. @KeepForWeakReference private val userTrackerCallback = object : UserTracker.Callback { override fun onUserChanged(newUser: Int, userContext: Context) { Loading packages/SystemUI/src/com/android/systemui/privacy/PrivacyConfig.kt +2 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager import com.android.systemui.util.DeviceConfigProxy import com.android.systemui.util.asIndenting import com.android.systemui.util.annotations.WeaklyReferencedCallback import com.android.systemui.util.concurrency.DelayableExecutor import com.android.systemui.util.withIncreasedIndent import java.io.PrintWriter Loading Loading @@ -144,6 +145,7 @@ class PrivacyConfig @Inject constructor( ipw.flush() } @WeaklyReferencedCallback interface Callback { fun onFlagMicCameraChanged(flag: Boolean) {} Loading packages/SystemUI/src/com/android/systemui/settings/UserTracker.kt +3 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.systemui.settings import com.android.systemui.util.annotations.WeaklyReferencedCallback import android.content.Context import android.content.pm.UserInfo import android.os.UserHandle Loading Loading @@ -64,6 +66,7 @@ interface UserTracker : UserContentResolverProvider, UserContextProvider { /** * Callback for notifying of changes. */ @WeaklyReferencedCallback interface Callback { /** Loading Loading
packages/SystemUI/proguard_common.flags +9 −37 Original line number Diff line number Diff line Loading @@ -2,45 +2,17 @@ # Needed to ensure callback field references are kept in their respective # owning classes when the downstream callback registrars only store weak refs. # TODO(b/264686688): Handle these cases with more targeted annotations. -keepclassmembers,allowaccessmodification class com.android.systemui.**, com.android.keyguard.** { private com.android.keyguard.KeyguardUpdateMonitorCallback *; private com.android.systemui.privacy.PrivacyConfig$Callback *; private com.android.systemui.privacy.PrivacyItemController$Callback *; private com.android.systemui.settings.UserTracker$Callback *; private com.android.systemui.statusbar.phone.StatusBarWindowCallback *; private com.android.systemui.util.service.Observer$Callback *; private com.android.systemui.util.service.ObservableServiceConnection$Callback *; } # Note that these rules are temporary companions to the above rules, required # for cases like Kotlin where fields with anonymous types use the anonymous type # rather than the supertype. -if class * extends com.android.keyguard.KeyguardUpdateMonitorCallback -keepclassmembers,allowaccessmodification class com.android.systemui.**, com.android.keyguard.** { <1> *; } -if class * extends com.android.systemui.privacy.PrivacyConfig$Callback -keepclassmembers,allowaccessmodification class com.android.systemui.**, com.android.keyguard.** { <1> *; } -if class * extends com.android.systemui.privacy.PrivacyItemController$Callback -keepclassmembers,allowaccessmodification class com.android.systemui.**, com.android.keyguard.** { <1> *; } -if class * extends com.android.systemui.settings.UserTracker$Callback -keepclassmembers,allowaccessmodification class com.android.systemui.**, com.android.keyguard.** { <1> *; } -if class * extends com.android.systemui.statusbar.phone.StatusBarWindowCallback -keepclassmembers,allowaccessmodification class com.android.systemui.**, com.android.keyguard.** { <1> *; } -if class * extends com.android.systemui.util.service.Observer$Callback -keepclassmembers,allowaccessmodification class com.android.systemui.**, com.android.keyguard.** { # Note that we restrict this to SysUISingleton classes, as other registering # classes should either *always* unregister or *never* register from their # constructor. We also keep callback class names for easier debugging. -keepnames @com.android.systemui.util.annotations.WeaklyReferencedCallback class * -keepnames class * extends @com.android.systemui.util.annotations.WeaklyReferencedCallback ** -if @com.android.systemui.util.annotations.WeaklyReferencedCallback class * -keepclassmembers,allowaccessmodification @com.android.systemui.dagger.SysUISingleton class * { <1> *; } -if class * extends com.android.systemui.util.service.ObservableServiceConnection$Callback -keepclassmembers,allowaccessmodification class com.android.systemui.**, com.android.keyguard.** { -if class * extends @com.android.systemui.util.annotations.WeaklyReferencedCallback ** -keepclassmembers,allowaccessmodification @com.android.systemui.dagger.SysUISingleton class * { <1> *; } Loading
packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java +2 −0 Original line number Diff line number Diff line Loading @@ -25,12 +25,14 @@ import androidx.annotation.Nullable; import com.android.settingslib.fuelgauge.BatteryStatus; import com.android.systemui.plugins.WeatherData; import com.android.systemui.statusbar.KeyguardIndicationController; import com.android.systemui.util.annotations.WeaklyReferencedCallback; import java.util.TimeZone; /** * Callback for general information relevant to lock screen. */ @WeaklyReferencedCallback public class KeyguardUpdateMonitorCallback { /** Loading
packages/SystemUI/src/com/android/systemui/media/controls/pipeline/MediaDataFilter.kt +3 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.systemui.media.controls.pipeline import android.content.Context import android.os.SystemProperties import android.util.Log import com.android.internal.annotations.KeepForWeakReference import com.android.internal.annotations.VisibleForTesting import com.android.systemui.broadcast.BroadcastSender import com.android.systemui.dagger.qualifiers.Main Loading Loading @@ -82,6 +83,8 @@ constructor( private var smartspaceMediaData: SmartspaceMediaData = EMPTY_SMARTSPACE_MEDIA_DATA private var reactivatedKey: String? = null // Ensure the field (and associated reference) isn't removed during optimization. @KeepForWeakReference private val userTrackerCallback = object : UserTracker.Callback { override fun onUserChanged(newUser: Int, userContext: Context) { Loading
packages/SystemUI/src/com/android/systemui/privacy/PrivacyConfig.kt +2 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager import com.android.systemui.util.DeviceConfigProxy import com.android.systemui.util.asIndenting import com.android.systemui.util.annotations.WeaklyReferencedCallback import com.android.systemui.util.concurrency.DelayableExecutor import com.android.systemui.util.withIncreasedIndent import java.io.PrintWriter Loading Loading @@ -144,6 +145,7 @@ class PrivacyConfig @Inject constructor( ipw.flush() } @WeaklyReferencedCallback interface Callback { fun onFlagMicCameraChanged(flag: Boolean) {} Loading
packages/SystemUI/src/com/android/systemui/settings/UserTracker.kt +3 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.systemui.settings import com.android.systemui.util.annotations.WeaklyReferencedCallback import android.content.Context import android.content.pm.UserInfo import android.os.UserHandle Loading Loading @@ -64,6 +66,7 @@ interface UserTracker : UserContentResolverProvider, UserContextProvider { /** * Callback for notifying of changes. */ @WeaklyReferencedCallback interface Callback { /** Loading