Loading services/core/java/com/android/server/display/feature/DisplayManagerFlags.java +0 −10 Original line number Original line Diff line number Diff line Loading @@ -122,11 +122,6 @@ public class DisplayManagerFlags { Flags.FLAG_ALWAYS_ROTATE_DISPLAY_DEVICE, Flags.FLAG_ALWAYS_ROTATE_DISPLAY_DEVICE, Flags::alwaysRotateDisplayDevice); Flags::alwaysRotateDisplayDevice); private final FlagState mRefreshRateVotingTelemetry = new FlagState( Flags.FLAG_REFRESH_RATE_VOTING_TELEMETRY, Flags::refreshRateVotingTelemetry ); private final FlagState mPixelAnisotropyCorrectionEnabled = new FlagState( private final FlagState mPixelAnisotropyCorrectionEnabled = new FlagState( Flags.FLAG_ENABLE_PIXEL_ANISOTROPY_CORRECTION, Flags.FLAG_ENABLE_PIXEL_ANISOTROPY_CORRECTION, Flags::enablePixelAnisotropyCorrection Flags::enablePixelAnisotropyCorrection Loading Loading @@ -403,10 +398,6 @@ public class DisplayManagerFlags { return mAlwaysRotateDisplayDevice.isEnabled(); return mAlwaysRotateDisplayDevice.isEnabled(); } } public boolean isRefreshRateVotingTelemetryEnabled() { return mRefreshRateVotingTelemetry.isEnabled(); } public boolean isPixelAnisotropyCorrectionInLogicalDisplayEnabled() { public boolean isPixelAnisotropyCorrectionInLogicalDisplayEnabled() { return mPixelAnisotropyCorrectionEnabled.isEnabled(); return mPixelAnisotropyCorrectionEnabled.isEnabled(); } } Loading Loading @@ -626,7 +617,6 @@ public class DisplayManagerFlags { pw.println(" " + mAutoBrightnessModesFlagState); pw.println(" " + mAutoBrightnessModesFlagState); pw.println(" " + mFastHdrTransitions); pw.println(" " + mFastHdrTransitions); pw.println(" " + mAlwaysRotateDisplayDevice); pw.println(" " + mAlwaysRotateDisplayDevice); pw.println(" " + mRefreshRateVotingTelemetry); pw.println(" " + mPixelAnisotropyCorrectionEnabled); pw.println(" " + mPixelAnisotropyCorrectionEnabled); pw.println(" " + mSensorBasedBrightnessThrottling); pw.println(" " + mSensorBasedBrightnessThrottling); pw.println(" " + mIdleScreenRefreshRateTimeout); pw.println(" " + mIdleScreenRefreshRateTimeout); Loading services/core/java/com/android/server/display/feature/display_flags.aconfig +0 −8 Original line number Original line Diff line number Diff line Loading @@ -190,14 +190,6 @@ flag { } } } } flag { name: "refresh_rate_voting_telemetry" namespace: "display_manager" description: "Feature flag for enabling telemetry for refresh rate voting in DisplayManager" bug: "310029108" is_fixed_read_only: true } flag { flag { name: "enable_pixel_anisotropy_correction" name: "enable_pixel_anisotropy_correction" namespace: "display_manager" namespace: "display_manager" Loading services/core/java/com/android/server/display/mode/DisplayModeDirector.java +4 −6 Original line number Original line Diff line number Diff line Loading @@ -229,8 +229,7 @@ public class DisplayModeDirector { mContext = context; mContext = context; mHandler = new DisplayModeDirectorHandler(handler.getLooper()); mHandler = new DisplayModeDirectorHandler(handler.getLooper()); mInjector = injector; mInjector = injector; mVotesStatsReporter = injector.getVotesStatsReporter( mVotesStatsReporter = injector.getVotesStatsReporter(); displayManagerFlags.isRefreshRateVotingTelemetryEnabled()); mSupportedModesByDisplay = new SparseArray<>(); mSupportedModesByDisplay = new SparseArray<>(); mAppSupportedModesByDisplay = new SparseArray<>(); mAppSupportedModesByDisplay = new SparseArray<>(); mDefaultModeByDisplay = new SparseArray<>(); mDefaultModeByDisplay = new SparseArray<>(); Loading Loading @@ -3141,7 +3140,7 @@ public class DisplayModeDirector { SensorManagerInternal getSensorManagerInternal(); SensorManagerInternal getSensorManagerInternal(); @Nullable @Nullable VotesStatsReporter getVotesStatsReporter(boolean refreshRateVotingTelemetryEnabled); VotesStatsReporter getVotesStatsReporter(); } } @VisibleForTesting @VisibleForTesting Loading Loading @@ -3281,10 +3280,9 @@ public class DisplayModeDirector { } } @Override @Override public VotesStatsReporter getVotesStatsReporter(boolean refreshRateVotingTelemetryEnabled) { public VotesStatsReporter getVotesStatsReporter() { // if frame rate override supported, renderRates will be ignored in mode selection // if frame rate override supported, renderRates will be ignored in mode selection return new VotesStatsReporter(supportsFrameRateOverride(), return new VotesStatsReporter(supportsFrameRateOverride()); refreshRateVotingTelemetryEnabled); } } private DisplayManager getDisplayManager() { private DisplayManager getDisplayManager() { Loading services/core/java/com/android/server/display/mode/VotesStatsReporter.java +8 −17 Original line number Original line Diff line number Diff line Loading @@ -36,13 +36,11 @@ class VotesStatsReporter { private static final String TAG = "VotesStatsReporter"; private static final String TAG = "VotesStatsReporter"; private static final int REFRESH_RATE_NOT_LIMITED = 1000; private static final int REFRESH_RATE_NOT_LIMITED = 1000; private final boolean mIgnoredRenderRate; private final boolean mIgnoredRenderRate; private final boolean mFrameworkStatsLogReportingEnabled; private int mLastMinPriorityReported = Vote.MAX_PRIORITY + 1; private int mLastMinPriorityReported = Vote.MAX_PRIORITY + 1; public VotesStatsReporter(boolean ignoreRenderRate, boolean refreshRateVotingTelemetryEnabled) { VotesStatsReporter(boolean ignoreRenderRate) { mIgnoredRenderRate = ignoreRenderRate; mIgnoredRenderRate = ignoreRenderRate; mFrameworkStatsLogReportingEnabled = refreshRateVotingTelemetryEnabled; } } void reportVoteChanged(int displayId, int priority, @Nullable Vote vote) { void reportVoteChanged(int displayId, int priority, @Nullable Vote vote) { Loading @@ -57,29 +55,22 @@ class VotesStatsReporter { int maxRefreshRate = getMaxRefreshRate(vote, mIgnoredRenderRate); int maxRefreshRate = getMaxRefreshRate(vote, mIgnoredRenderRate); Trace.traceCounter(Trace.TRACE_TAG_POWER, Trace.traceCounter(Trace.TRACE_TAG_POWER, TAG + "." + displayId + ":" + Vote.priorityToString(priority), maxRefreshRate); TAG + "." + displayId + ":" + Vote.priorityToString(priority), maxRefreshRate); if (mFrameworkStatsLogReportingEnabled) { FrameworkStatsLog.write( FrameworkStatsLog.write( DISPLAY_MODE_DIRECTOR_VOTE_CHANGED, displayId, priority, DISPLAY_MODE_DIRECTOR_VOTE_CHANGED, displayId, priority, DISPLAY_MODE_DIRECTOR_VOTE_CHANGED__VOTE_STATUS__STATUS_ADDED, DISPLAY_MODE_DIRECTOR_VOTE_CHANGED__VOTE_STATUS__STATUS_ADDED, maxRefreshRate, -1); maxRefreshRate, -1); } } } private void reportVoteRemoved(int displayId, int priority) { private void reportVoteRemoved(int displayId, int priority) { Trace.traceCounter(Trace.TRACE_TAG_POWER, Trace.traceCounter(Trace.TRACE_TAG_POWER, TAG + "." + displayId + ":" + Vote.priorityToString(priority), -1); TAG + "." + displayId + ":" + Vote.priorityToString(priority), -1); if (mFrameworkStatsLogReportingEnabled) { FrameworkStatsLog.write( FrameworkStatsLog.write( DISPLAY_MODE_DIRECTOR_VOTE_CHANGED, displayId, priority, DISPLAY_MODE_DIRECTOR_VOTE_CHANGED, displayId, priority, DISPLAY_MODE_DIRECTOR_VOTE_CHANGED__VOTE_STATUS__STATUS_REMOVED, -1, -1); DISPLAY_MODE_DIRECTOR_VOTE_CHANGED__VOTE_STATUS__STATUS_REMOVED, -1, -1); } } } void reportVotesActivated(int displayId, int minPriority, @Nullable Display.Mode baseMode, void reportVotesActivated(int displayId, int minPriority, @Nullable Display.Mode baseMode, SparseArray<Vote> votes) { SparseArray<Vote> votes) { if (!mFrameworkStatsLogReportingEnabled) { return; } int selectedRefreshRate = baseMode != null ? (int) baseMode.getRefreshRate() : -1; int selectedRefreshRate = baseMode != null ? (int) baseMode.getRefreshRate() : -1; for (int priority = Vote.MIN_PRIORITY; priority <= Vote.MAX_PRIORITY; priority++) { for (int priority = Vote.MIN_PRIORITY; priority <= Vote.MAX_PRIORITY; priority++) { if (priority < mLastMinPriorityReported && priority < minPriority) { if (priority < mLastMinPriorityReported && priority < minPriority) { Loading services/tests/displayservicetests/src/com/android/server/display/mode/DisplayModeDirectorTest.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -3962,7 +3962,7 @@ public class DisplayModeDirectorTest { } } @Override @Override public VotesStatsReporter getVotesStatsReporter(boolean refreshRateVotingTelemetryEnabled) { public VotesStatsReporter getVotesStatsReporter() { return null; return null; } } Loading Loading
services/core/java/com/android/server/display/feature/DisplayManagerFlags.java +0 −10 Original line number Original line Diff line number Diff line Loading @@ -122,11 +122,6 @@ public class DisplayManagerFlags { Flags.FLAG_ALWAYS_ROTATE_DISPLAY_DEVICE, Flags.FLAG_ALWAYS_ROTATE_DISPLAY_DEVICE, Flags::alwaysRotateDisplayDevice); Flags::alwaysRotateDisplayDevice); private final FlagState mRefreshRateVotingTelemetry = new FlagState( Flags.FLAG_REFRESH_RATE_VOTING_TELEMETRY, Flags::refreshRateVotingTelemetry ); private final FlagState mPixelAnisotropyCorrectionEnabled = new FlagState( private final FlagState mPixelAnisotropyCorrectionEnabled = new FlagState( Flags.FLAG_ENABLE_PIXEL_ANISOTROPY_CORRECTION, Flags.FLAG_ENABLE_PIXEL_ANISOTROPY_CORRECTION, Flags::enablePixelAnisotropyCorrection Flags::enablePixelAnisotropyCorrection Loading Loading @@ -403,10 +398,6 @@ public class DisplayManagerFlags { return mAlwaysRotateDisplayDevice.isEnabled(); return mAlwaysRotateDisplayDevice.isEnabled(); } } public boolean isRefreshRateVotingTelemetryEnabled() { return mRefreshRateVotingTelemetry.isEnabled(); } public boolean isPixelAnisotropyCorrectionInLogicalDisplayEnabled() { public boolean isPixelAnisotropyCorrectionInLogicalDisplayEnabled() { return mPixelAnisotropyCorrectionEnabled.isEnabled(); return mPixelAnisotropyCorrectionEnabled.isEnabled(); } } Loading Loading @@ -626,7 +617,6 @@ public class DisplayManagerFlags { pw.println(" " + mAutoBrightnessModesFlagState); pw.println(" " + mAutoBrightnessModesFlagState); pw.println(" " + mFastHdrTransitions); pw.println(" " + mFastHdrTransitions); pw.println(" " + mAlwaysRotateDisplayDevice); pw.println(" " + mAlwaysRotateDisplayDevice); pw.println(" " + mRefreshRateVotingTelemetry); pw.println(" " + mPixelAnisotropyCorrectionEnabled); pw.println(" " + mPixelAnisotropyCorrectionEnabled); pw.println(" " + mSensorBasedBrightnessThrottling); pw.println(" " + mSensorBasedBrightnessThrottling); pw.println(" " + mIdleScreenRefreshRateTimeout); pw.println(" " + mIdleScreenRefreshRateTimeout); Loading
services/core/java/com/android/server/display/feature/display_flags.aconfig +0 −8 Original line number Original line Diff line number Diff line Loading @@ -190,14 +190,6 @@ flag { } } } } flag { name: "refresh_rate_voting_telemetry" namespace: "display_manager" description: "Feature flag for enabling telemetry for refresh rate voting in DisplayManager" bug: "310029108" is_fixed_read_only: true } flag { flag { name: "enable_pixel_anisotropy_correction" name: "enable_pixel_anisotropy_correction" namespace: "display_manager" namespace: "display_manager" Loading
services/core/java/com/android/server/display/mode/DisplayModeDirector.java +4 −6 Original line number Original line Diff line number Diff line Loading @@ -229,8 +229,7 @@ public class DisplayModeDirector { mContext = context; mContext = context; mHandler = new DisplayModeDirectorHandler(handler.getLooper()); mHandler = new DisplayModeDirectorHandler(handler.getLooper()); mInjector = injector; mInjector = injector; mVotesStatsReporter = injector.getVotesStatsReporter( mVotesStatsReporter = injector.getVotesStatsReporter(); displayManagerFlags.isRefreshRateVotingTelemetryEnabled()); mSupportedModesByDisplay = new SparseArray<>(); mSupportedModesByDisplay = new SparseArray<>(); mAppSupportedModesByDisplay = new SparseArray<>(); mAppSupportedModesByDisplay = new SparseArray<>(); mDefaultModeByDisplay = new SparseArray<>(); mDefaultModeByDisplay = new SparseArray<>(); Loading Loading @@ -3141,7 +3140,7 @@ public class DisplayModeDirector { SensorManagerInternal getSensorManagerInternal(); SensorManagerInternal getSensorManagerInternal(); @Nullable @Nullable VotesStatsReporter getVotesStatsReporter(boolean refreshRateVotingTelemetryEnabled); VotesStatsReporter getVotesStatsReporter(); } } @VisibleForTesting @VisibleForTesting Loading Loading @@ -3281,10 +3280,9 @@ public class DisplayModeDirector { } } @Override @Override public VotesStatsReporter getVotesStatsReporter(boolean refreshRateVotingTelemetryEnabled) { public VotesStatsReporter getVotesStatsReporter() { // if frame rate override supported, renderRates will be ignored in mode selection // if frame rate override supported, renderRates will be ignored in mode selection return new VotesStatsReporter(supportsFrameRateOverride(), return new VotesStatsReporter(supportsFrameRateOverride()); refreshRateVotingTelemetryEnabled); } } private DisplayManager getDisplayManager() { private DisplayManager getDisplayManager() { Loading
services/core/java/com/android/server/display/mode/VotesStatsReporter.java +8 −17 Original line number Original line Diff line number Diff line Loading @@ -36,13 +36,11 @@ class VotesStatsReporter { private static final String TAG = "VotesStatsReporter"; private static final String TAG = "VotesStatsReporter"; private static final int REFRESH_RATE_NOT_LIMITED = 1000; private static final int REFRESH_RATE_NOT_LIMITED = 1000; private final boolean mIgnoredRenderRate; private final boolean mIgnoredRenderRate; private final boolean mFrameworkStatsLogReportingEnabled; private int mLastMinPriorityReported = Vote.MAX_PRIORITY + 1; private int mLastMinPriorityReported = Vote.MAX_PRIORITY + 1; public VotesStatsReporter(boolean ignoreRenderRate, boolean refreshRateVotingTelemetryEnabled) { VotesStatsReporter(boolean ignoreRenderRate) { mIgnoredRenderRate = ignoreRenderRate; mIgnoredRenderRate = ignoreRenderRate; mFrameworkStatsLogReportingEnabled = refreshRateVotingTelemetryEnabled; } } void reportVoteChanged(int displayId, int priority, @Nullable Vote vote) { void reportVoteChanged(int displayId, int priority, @Nullable Vote vote) { Loading @@ -57,29 +55,22 @@ class VotesStatsReporter { int maxRefreshRate = getMaxRefreshRate(vote, mIgnoredRenderRate); int maxRefreshRate = getMaxRefreshRate(vote, mIgnoredRenderRate); Trace.traceCounter(Trace.TRACE_TAG_POWER, Trace.traceCounter(Trace.TRACE_TAG_POWER, TAG + "." + displayId + ":" + Vote.priorityToString(priority), maxRefreshRate); TAG + "." + displayId + ":" + Vote.priorityToString(priority), maxRefreshRate); if (mFrameworkStatsLogReportingEnabled) { FrameworkStatsLog.write( FrameworkStatsLog.write( DISPLAY_MODE_DIRECTOR_VOTE_CHANGED, displayId, priority, DISPLAY_MODE_DIRECTOR_VOTE_CHANGED, displayId, priority, DISPLAY_MODE_DIRECTOR_VOTE_CHANGED__VOTE_STATUS__STATUS_ADDED, DISPLAY_MODE_DIRECTOR_VOTE_CHANGED__VOTE_STATUS__STATUS_ADDED, maxRefreshRate, -1); maxRefreshRate, -1); } } } private void reportVoteRemoved(int displayId, int priority) { private void reportVoteRemoved(int displayId, int priority) { Trace.traceCounter(Trace.TRACE_TAG_POWER, Trace.traceCounter(Trace.TRACE_TAG_POWER, TAG + "." + displayId + ":" + Vote.priorityToString(priority), -1); TAG + "." + displayId + ":" + Vote.priorityToString(priority), -1); if (mFrameworkStatsLogReportingEnabled) { FrameworkStatsLog.write( FrameworkStatsLog.write( DISPLAY_MODE_DIRECTOR_VOTE_CHANGED, displayId, priority, DISPLAY_MODE_DIRECTOR_VOTE_CHANGED, displayId, priority, DISPLAY_MODE_DIRECTOR_VOTE_CHANGED__VOTE_STATUS__STATUS_REMOVED, -1, -1); DISPLAY_MODE_DIRECTOR_VOTE_CHANGED__VOTE_STATUS__STATUS_REMOVED, -1, -1); } } } void reportVotesActivated(int displayId, int minPriority, @Nullable Display.Mode baseMode, void reportVotesActivated(int displayId, int minPriority, @Nullable Display.Mode baseMode, SparseArray<Vote> votes) { SparseArray<Vote> votes) { if (!mFrameworkStatsLogReportingEnabled) { return; } int selectedRefreshRate = baseMode != null ? (int) baseMode.getRefreshRate() : -1; int selectedRefreshRate = baseMode != null ? (int) baseMode.getRefreshRate() : -1; for (int priority = Vote.MIN_PRIORITY; priority <= Vote.MAX_PRIORITY; priority++) { for (int priority = Vote.MIN_PRIORITY; priority <= Vote.MAX_PRIORITY; priority++) { if (priority < mLastMinPriorityReported && priority < minPriority) { if (priority < mLastMinPriorityReported && priority < minPriority) { Loading
services/tests/displayservicetests/src/com/android/server/display/mode/DisplayModeDirectorTest.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -3962,7 +3962,7 @@ public class DisplayModeDirectorTest { } } @Override @Override public VotesStatsReporter getVotesStatsReporter(boolean refreshRateVotingTelemetryEnabled) { public VotesStatsReporter getVotesStatsReporter() { return null; return null; } } Loading