diff options
| author | 2025-03-18 09:39:59 -0700 | |
|---|---|---|
| committer | 2025-03-18 09:39:59 -0700 | |
| commit | 03d71311058240424e3c71d768623e65e243e86a (patch) | |
| tree | e28f8eb6893f019e3055a4fa071e555bdacc8da3 | |
| parent | 8e1e73d3fdb371c0de51f97b4016160bd4883e7c (diff) | |
| parent | 49d8512da3058ea06617cacec0b5cd2240e95b61 (diff) | |
Merge "Remove refresh rate subscription from ResolutionTracker" into main
| -rw-r--r-- | core/java/com/android/internal/jank/DisplayResolutionTracker.java | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/core/java/com/android/internal/jank/DisplayResolutionTracker.java b/core/java/com/android/internal/jank/DisplayResolutionTracker.java index 5d66b3c10197..74153157df4d 100644 --- a/core/java/com/android/internal/jank/DisplayResolutionTracker.java +++ b/core/java/com/android/internal/jank/DisplayResolutionTracker.java @@ -142,14 +142,23 @@ public class DisplayResolutionTracker { public interface DisplayInterface { /** Reurns an implementation wrapping {@link DisplayManagerGlobal}. */ static DisplayInterface getDefault(@Nullable Handler handler) { + long displayEventsToBeSubscribed; + if (com.android.server.display.feature.flags.Flags + .displayListenerPerformanceImprovements() + && com.android.server.display.feature.flags.Flags + .delayImplicitRrRegistrationUntilRrAccessed()) { + displayEventsToBeSubscribed = DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_ADDED + | DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_BASIC_CHANGED; + } else { + displayEventsToBeSubscribed = DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_ADDED + | DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_BASIC_CHANGED + | DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_REFRESH_RATE; + } DisplayManagerGlobal manager = DisplayManagerGlobal.getInstance(); return new DisplayInterface() { @Override public void registerDisplayListener(DisplayManager.DisplayListener listener) { - manager.registerDisplayListener(listener, handler, - DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_ADDED - | DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_BASIC_CHANGED - | DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_REFRESH_RATE, + manager.registerDisplayListener(listener, handler, displayEventsToBeSubscribed, ActivityThread.currentPackageName()); } |