Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e6e57cff authored by Andy Yu's avatar Andy Yu
Browse files

Add Settings switch to disable Game default frame rate

This patch adds a new toggle under Developer settings. It defaults
to off, meaning game default frame rate is not disabled. Users
can choose to togge it on to disable game default frame rate.

When a user toggles this switch, it calls to GameManagerService
to update the frame rate of games that are currently in the
foreground and coming games.

screenshots:
https://screenshot.googleplex.com/8jTWyNBhJm7zC4x
https://screenshot.googleplex.com/5junmXtuHnRxyL2

Bug: 286084594
Bug: 306266471
Test: m; flash
Test: atest
SettingsRoboTests:GameDefaultFrameRatePReferenceControllerTest
Change-Id: Ide843f61e57e244d6e1fc30f93b2358b2bcb655b
parent accd9ca2
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -139,6 +139,7 @@
    <uses-permission android:name="android.permission.REMAP_MODIFIER_KEYS" />
    <uses-permission android:name="android.permission.ACCESS_GPU_SERVICE" />
    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
    <uses-permission android:name="android.permission.MANAGE_GAME_MODE" />

    <application
            android:name=".SettingsApplication"
+7 −0
Original line number Diff line number Diff line
@@ -5,6 +5,13 @@ package: "com.android.settings.flags"
# NOTE: All Settings flags share the same Flags class, so prefix our
# flags with 'development' to prevent naming collision.

flag {
    name: "development_game_default_frame_rate"
    namespace: "game"
    description: "This flag guards the new behavior with the addition of Game Default Frame Rate feature."
    bug: "286084594"
}

flag {
  name: "development_hdr_sdr_ratio"
  namespace: "core_graphics"
+5 −1
Original line number Diff line number Diff line
@@ -2627,8 +2627,12 @@
    <string name="display_white_balance_summary"></string>
    <!-- Display settings screen, setting option name to change Fold setting -->
    <string name="fold_lock_behavior_title">Continue using apps on fold</string>
    <!-- Display settings screen, game default frame rate settings title [CHAR LIMIT=30] -->
    <string name="disable_game_default_frame_rate_title">Disable default frame rate for games</string>
    <!-- Display settings screen, game default frame rate settings summary [CHAR LIMIT=NONE] -->
    <string name="disable_game_default_frame_rate_summary">Disable limiting the maximum frame rate for games at <xliff:g id="frame_rate" example="60">%1$d</xliff:g> Hz.</string>
    <!-- Display settings screen, peak refresh rate settings title [CHAR LIMIT=30] -->
    <string name="peak_refresh_rate_title">Smooth Display</string>
    <string name="peak_refresh_rate_title">Smooth display</string>
    <!-- Display settings screen, peak refresh rate settings summary [CHAR LIMIT=NONE] -->
    <string name="peak_refresh_rate_summary">Automatically raises the refresh rate up to <xliff:g name="refresh_rate" example="120">%1$d</xliff:g> Hz for some content. Increases battery usage.</string>
    <!-- Display developer settings: Force to the highest refresh rate [CHAR LIMIT=NONE] -->
+5 −0
Original line number Diff line number Diff line
@@ -255,6 +255,11 @@
            android:title="@string/enable_angle_as_system_driver"
            android:summary="@string/enable_angle_as_system_driver_summary" />

        <SwitchPreferenceCompat
            android:key="disable_game_default_frame_rate"
            android:title="@string/disable_game_default_frame_rate_title"
            android:summary="@string/disable_game_default_frame_rate_summary"/>

        <Preference
            android:key="graphics_driver_dashboard"
            android:title="@string/graphics_driver_dashboard_title"
+1 −0
Original line number Diff line number Diff line
@@ -688,6 +688,7 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra
        controllers.add(new HardwareLayersUpdatesPreferenceController(context));
        controllers.add(new DebugGpuOverdrawPreferenceController(context));
        controllers.add(new DebugNonRectClipOperationsPreferenceController(context));
        controllers.add(new GameDefaultFrameRatePreferenceController(context));
        controllers.add(new ForceDarkPreferenceController(context));
        controllers.add(new EnableBlursPreferenceController(context));
        controllers.add(new ForceMSAAPreferenceController(context));
Loading