summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Rupesh Bansal <brup@google.com> 2025-03-18 09:39:59 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2025-03-18 09:39:59 -0700
commit03d71311058240424e3c71d768623e65e243e86a (patch)
treee28f8eb6893f019e3055a4fa071e555bdacc8da3
parent8e1e73d3fdb371c0de51f97b4016160bd4883e7c (diff)
parent49d8512da3058ea06617cacec0b5cd2240e95b61 (diff)
Merge "Remove refresh rate subscription from ResolutionTracker" into main
-rw-r--r--core/java/com/android/internal/jank/DisplayResolutionTracker.java17
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());
}