Search This thread

BrightEyes16

New member
May 19, 2022
4
1
Please check answer in FAQs here

Hi, thanks for reply, but I did already read the FAQ.

Note that Accessibility Service access is given on my phone. I am specifically talking about Background Check in Developer Options, which can be turned off independently of Accessibility Service access.

The FAQ says about Accessibility Service: "The general reason is for better stability of features which are requiring background service." but doesn't say which specific features, and doesn't mention the Background Check option.

It also says "Accessibility service is specially needed for Adaptive Mod on non-adaptive device and for overriding the default minimum hz for adaptive to lower one(s)" but I can see that when I turn Background Check off in developer settings, these features still work.

I have also checked with screen off on adb:

>> adb shell dumpsys content
Data connected: true
Battery saver: true
Background network restriction: whitelisted
Auto sync: u0=false
Storage low: false
Clock valid: true
Accounts: 17
Now: 134717513 (2022-05-21 15:42:06)
Uptime: 1d13h25m17s
Time spent syncing: 2m37s, sync not in progress

That all seems to be working fine too with Background Check off in developer options.

So I'm just left being curious what having Background Check on for Galaxy Max Hz actually does and if it is using unnecessary battery power.

Thanks!
 

Attachments

  • tempFileForShare_20220521-155116.jpg
    tempFileForShare_20220521-155116.jpg
    70.2 KB · Views: 50

tribalfs

Senior Member
Mar 28, 2014
1,824
1,359
Hi, thanks for reply, but I did already read the FAQ.

Note that Accessibility Service access is given on my phone. I am specifically talking about Background Check in Developer Options, which can be turned off independently of Accessibility Service access.

The FAQ says about Accessibility Service: "The general reason is for better stability of features which are requiring background service." but doesn't say which specific features, and doesn't mention the Background Check option.

It also says "Accessibility service is specially needed for Adaptive Mod on non-adaptive device and for overriding the default minimum hz for adaptive to lower one(s)" but I can see that when I turn Background Check off in developer settings, these features still work.

I have also checked with screen off on adb:

>> adb shell dumpsys content
Data connected: true
Battery saver: true
Background network restriction: whitelisted
Auto sync: u0=false
Storage low: false
Clock valid: true
Accounts: 17
Now: 134717513 (2022-05-21 15:42:06)
Uptime: 1d13h25m17s
Time spent syncing: 2m37s, sync not in progress

That all seems to be working fine too with Background Check off in developer options.

So I'm just left being curious what having Background Check on for Galaxy Max Hz actually does and if it is using unnecessary battery power.

Thanks!
Ahh sorry. I misinterpreted your question.
Background check in dev option is the same as the app requesting background activity. When enabled, it's the same as putting it in "unrestricted" in app info > battery options. Disabling it is same as "restricted".
Yes you can do disable it - if the app it runs stable on your phone, then it's good.
Though I recommend putting the app "unrestricted" background activity and let it manage itself.
 

Gymcode

Senior Member
Jan 21, 2019
101
21
May I know if this is supported for Google Pixel 5? I tried Adaptive on Power Saving mode, but it was unsuccessful, and it is stuck at 60Hz
 

20mark

Senior Member
Nov 8, 2010
323
90
OnePlus 6
Hello, i was using this app in the past months, working flawless. now after several weekly updates i completely forgot about it and did a check..well, galaxy max hz is not working anymore for me. im on Xiaomi Mi11Ultra, latest at time of writing 22.5.11 beta, already tried to delete app data, uninstall app and reboot and configure galaxy max hz again with suggested settings, but when i do dumpsys display i always get 120hz.

PRIORITY_MIUI_REFRESH_RATE -> Vote{width=-1, height=-1, minRefreshRate=0.0, maxRefreshRate=120.0, disableRefreshRateSwitching=false, baseModeRefreshRate=0.0}
PRIORITY_USER_SETTING_PEAK_REFRESH_RATE -> Vote{width=-1, height=-1, minRefreshRate=0.0, maxRefreshRate=120.0, disableRefreshRateSwitching=false, baseModeRefreshRate=0.0}
PRIORITY_USER_SETTING_MIN_REFRESH_RATE -> Vote{width=-1, height=-1, minRefreshRate=0.0, maxRefreshRate=Infinity, disableRefreshRateSwitching=false, baseModeRefreshRate=0.0}

i've exluded the app from miui optimization, im on root so i gave root perms,still can't figure it out what prevents me to switch from 120hz to 60 when not touching screen.
my list of magisk modules is : magisk bootlop protector, rboard themes, systemless host and zygisk lsposed.
Also tried different galaxy max Hz versions, hoping that going backwards will fix my issue but not getting any luck. Tried reflashing rom again, still no luck. what could be happened that prevents me to switch from 120hz?
 

Thronius

Member
Dec 8, 2015
6
2
Hello, I've been using the app for a couple of days and noticed one issue, for example when using TikTok, I get constant 120-60hz switching as if detection is stuck in loop, it only gets fixed after I open Galaxy Max Hz app. Any log dumps I could provide to help pinpoint the issue?
 

Divyam73g

Senior Member
Jul 19, 2015
138
38
@tribalfs
I traded in my Tab S7+ for the S22 Ultra and i had bought the premium version for my Tab S7+, so how should i transfer the activation code to my S22 Ultra?

Right now it's showing that the activation code is invalid.
 

tribalfs

Senior Member
Mar 28, 2014
1,824
1,359
Hello, I've been using the app for a couple of days and noticed one issue, for example when using TikTok, I get constant 120-60hz switching as if detection is stuck in loop, it only gets fixed after I open Galaxy Max Hz app. Any log dumps I could provide to help pinpoint the issue?
Hi! what device?
 

tribalfs

Senior Member
Mar 28, 2014
1,824
1,359
May I know if this is supported for Google Pixel 5? I tried Adaptive on Power Saving mode, but it was unsuccessful, and it is stuck at 60Hz

Hello, i was using this app in the past months, working flawless. now after several weekly updates i completely forgot about it and did a check..well, galaxy max hz is not working anymore for me. im on Xiaomi Mi11Ultra, latest at time of writing 22.5.11 beta, already tried to delete app data, uninstall app and reboot and configure galaxy max hz again with suggested settings, but when i do dumpsys display i always get 120hz.

PRIORITY_MIUI_REFRESH_RATE -> Vote{width=-1, height=-1, minRefreshRate=0.0, maxRefreshRate=120.0, disableRefreshRateSwitching=false, baseModeRefreshRate=0.0}
PRIORITY_USER_SETTING_PEAK_REFRESH_RATE -> Vote{width=-1, height=-1, minRefreshRate=0.0, maxRefreshRate=120.0, disableRefreshRateSwitching=false, baseModeRefreshRate=0.0}
PRIORITY_USER_SETTING_MIN_REFRESH_RATE -> Vote{width=-1, height=-1, minRefreshRate=0.0, maxRefreshRate=Infinity, disableRefreshRateSwitching=false, baseModeRefreshRate=0.0}

i've exluded the app from miui optimization, im on root so i gave root perms,still can't figure it out what prevents me to switch from 120hz to 60 when not touching screen.
my list of magisk modules is : magisk bootlop protector, rboard themes, systemless host and zygisk lsposed.
Also tried different galaxy max Hz versions, hoping that going backwards will fix my issue but not getting any luck. Tried reflashing rom again, still no luck. what could be happened that prevents me to switch from 120hz?
Hi! GMH doesn't officially support non-samsung but will try to help. Please send me a direct message.
 

mourao

Member
Mar 6, 2013
41
8
Aracaju
First of all, thanks for the app! I bought the premium on the first day of use due to how good it is :)

However, one thing I noticed is that the refresh rate goes down to 10hz even while watching reels on instagram or videos on relay (reddit app), making those videos stutter a lot until I touch the screen. Is that a know issue, or is there some way for me to provide more info?
 

tribalfs

Senior Member
Mar 28, 2014
1,824
1,359
First of all, thanks for the app! I bought the premium on the first day of use due to how good it is :)

However, one thing I noticed is that the refresh rate goes down to 10hz even while watching reels on instagram or videos on relay (reddit app), making those videos stutter a lot until I touch the screen. Is that a know issue, or is there some way for me to provide more info?
Hi! Thank you.What device? Do you have the latest update?
 

Thomasfp

Member
Aug 29, 2018
19
1
Hello
On the Galaxy s22 Exynos Android 12, the application does not work well. Does not refresh the screen smoothly after waking up, there are jerks.
Regards
 

vsnst

Senior Member
Dec 2, 2016
56
7
Samsung Galaxy Note 20 Ultra
20220602_173738.jpg

I manage to get WQHD 2k+120hz adaptive, under some condition.

It's quite useless actually , it never gets above 60hz because of hardware limit.

However, I get 2K + 48~60hz adaptive at least. That's important to me.

Normally, if you set WQHD, it does not give the adaptive options for you. Which means, no 60~48hz adaptive.

It works usually after system update.

It will be dismissed after restart or switch to Normal Mode.

OS, note20ultra, AN12, ONEUI 4.1,Galaxy Max 7.14.4
 

tribalfs

Senior Member
Mar 28, 2014
1,824
1,359

Top Liked Posts

  • 1
    This is a very small request and don't mind if it takes long to implement, but can you put a variable set on tasker where I can set on/off the fps overlay counter? I'll be using it for testing apps. It's ok if it is premium only coz I already bought it. Thanks man.
    Please check latest in-app update v7.14.57 with the option added. Thank you
    1
    Thank you, but the variable code is not showing on the configuration may I know what % to use for activating overlay fps counter? Thanks!
    Try to refresh configuration in tasker's action to update list. But it's %hzm with true or false as valid value
  • 1
    v7.14.55 in-app update
    -Fix for refresh rate sometimes not going up immediately after exiting keyboard
    1
    The lure of this app for me was the ability to have 120 hz during Power Saving mode and 120 hz using CQHD+. But now, both of these are broken with workarounds that don't stick after a reboot. The other one even even makes it difficult to navigate the device after a reboot. Using a Note 20 Ultra 5g. Hope a concrete eorkaround is in the works.
    1
    Hello great Tribalfs! I love this app. I am on s22 ultra. I came from 7.14.53 and updated to 7.14.56. I noticed when I unlocked the phone. The auto sync stayed off. Only happens when I leave the phone screen off 10 mins+
    Hi! Let me check that. Thank you.
    Edit: Found the cause of this intermittent issue.
    Please install v7.14.56_2 in-app update for the fix.
    Thank you.
    1
    How to revert that adb thing we have done for galaxy max app ?
    1
    This is a very small request and don't mind if it takes long to implement, but can you put a variable set on tasker where I can set on/off the fps overlay counter? I'll be using it for testing apps. It's ok if it is premium only coz I already bought it. Thanks man.
  • 104
    GridArt_20220121_203251929x.jpg

    About this app:
    • Refresh Rate Control: Easily control the max refresh rate (Hz) of android devices with multiple refresh rates (e.g. note20 ultra, s20/S20+/S20Ultra, z fold 2, s21/s21+/s21Ultra, tab S7/S7+, z fold 3, z flip 3). This app can limit max refresh rate to 96hz (or any available refresh rate) on supported smartphones - you can save power with negligible difference on smoothness. Use either the in-app toggle or quick settings tile - ADB setup or Root NOT needed.

    • Force High: Option to use High(Fixed) motion smoothness mode on Samsung devices with native Adaptive motion smoothness***. Current Samsung smartphones that natively support adaptive refresh rates include Galaxy Note20 Ultra.

    • Refresh Rate Monitor: Show real-time screen refresh rate as statusbar icon and/or as overlay. Overlay size and location is adjustable. Use either the in-app toggle or quick settings tile

    • Quick Resolution Switcher: Easily switch to any supported resolutions using the included quick setting tile***

    • Quick High/Adaptive on Power Saving Mode: Easily switch to high or adaptive motion smoothness mode (from Standard) even on power saving mode on supported Samsung smartphones.***
      Note: Stopped working out-of-the-box on Note 20 Ultra updated to OneUI4.*.
      Extra steps to bypass restriction on OneUI4.*. After selecting Adaptive or High in GMH while on power saving mode, do either:
      - Do a quick video call to "1" or any number using the stock video call (not google duo)
      OR
      - Connect and disconnect to a wifi display or miracast receiver (e.g. smart tv, chromecast, windows laptops) using the Smart View function (Credits to @albiGib and @rblckmnjr84 for sharing the discovery)

    • Force to Lowest Hz: Force lowest refresh rate on screen-off/AOD. This overrides Samsung's strange stock behavior which sets the refresh rate to the highest on screen off (update: it is now at 60hz since oneui3.0) - to improve standby power consumption a bit - ADB setup or Root NOT needed.

    • Auto apply power saving mode during screen-off (after ~ 10 secs)***

    • Tasker plugin support: Automate GMH settings with Tasker app. Supported actions/variables: max refresh rate, min refresh rate, keep smooth motion on PSM, motion smoothness mode, quick-doze mod, change dispaly resolution, auto sensors off. More info in FAQs below

      Premium Features:

    • Keep High/Adaptive motion smoothness when power saving mode is enabled whether manually or by the system/adaptive power saving***
      Note: Stopped working out-of-the-box on Note 20 Ultra updated to OneUI4.*.
      Extra steps to bypass restriction on OneUI4.*. After selecting Adaptive or High in GMH while on power saving mode, do either:
      - Do a quick video call to "1" or any number using the stock video call (not google duo)
      OR
      - Connect and disconnect to a wifi display or miracast receiver (e.g. smart tv, chromecast, windows laptops) using the Smart View function (Credits to @albiGib and @rblckmnjr84 for sharing the discovery)


    • Adaptive refresh rate mod for devices supporting multiple refresh rates but do not have the stock Adaptive motion smoothness (e.g. S20 series, S20FE, TabS7/S7+) with the ability to set the brightness threshold for its activation***

    • Quick-doze mod: Quickly enter doze mode during screen-off that can not be interrupted by motion ***

    • Set minimum refresh rate for adaptive mode to 60hz or lower (if supported)***

    • Resolution switcher filter: Filter what screen resolutions to include for the resolution switcher QS tile.

    • Auto turn off Autosync: Turn off autosync settings while the screen is off.

    • Auto SENSORS OFF (experimental non-root workaround):
      Device sensors will automatically turn off while screen is off until the device is unlocked. This helps minimize battery-draining motion-triggered wakelocks while device is not being used.

    • Statusbar net speed indicator

    • 7-day Premium Trial is available. Just click "Activate Premium|Trial" button and activate free trial when prompted.

      Note: The premium license is on a per device basis. It will retain after re-install or device reset

    Galaxy Max Hz background service is highly optimized. Background battery consumption of this app is very negligible .

    ***these marked features require a one-time ADB setup (this is not root)

    Info: This app targets older android sdk in order to control refresh rates without ADB setup or root. Just tap OK the dialog that says "This app was built for an older version of Android...." when opened for the first time. If OK button is not visible, just tap the blank space on the lowest portion of the dialog.



    Download
    CAUTION!!! SOMEONE IS TRYING TO TAMPER THIS APP AND FILL IT WITH TROJAN. DON'T DOWNLOAD ELSEWHERE

    Please read FAQs, changelogs and more information in the next post (specially before asking questions or reporting bugs).👇



    Demo video of v5.4. More features have been added in the later versions
    25

    Localization/Translations


    Contributors
    Italian: @Orlaf
    German:devj3ns, drbeat
    Russian: @a43
    Swedish:Steffe2
    Turkish: osmanakar312
    Greek: Nick
    Spanish: @Sebastiansm
    Czech: Chrono Leggionaire
    If you want to contribute on translations, please send me a message.


    FREQUENTLY ASK QUESTIONS (FAQs):


    • Why is it that we can't download this app in play store and how do we know it's safe?

      This app targets older android sdk in order to set refresh rates without root requirement. Unfortunately, play store doesn't anymore allow us to publish app targeting such older sdk. If you doubt if it's safe, you can scan it with any virus scanner like virustotal, metadefender, with Samsung's built-in threat scanner powered by McAfee or Google Play Protect scanner.

    • How to activate premium free trial?

      Click the 'Activate Premium | Trial' button and it will prompt automatically to activate trial if still available on your device. Just click ok.



    • I could not find activation code email in my inbox or I lost my activation code, what should I do?

      If you purchased via Paypal, activation code email is sent immediately after you purchased. If it's not in your inbox, it may went to your spam folder. If you lost it, please send us your paypal email address or paypal receipt to retrieve your activation code.

      If you purchased via Google Play Store donation app, just use the Google Play Order Number sent to you by Google. It's the same as the activation code.




    • What android permissions are being used by the app?
      Why does this app require Accessibility Service permission?
      What data does it access?


      [*]Permissions
      • WRITE_SECURE_SETTINGS. Required primarily for switching and overriding motion smoothness mode. Other features requiring it is provided in the app. This needs to be manually granted using ADB.
      • FOREGROUND_SERVICE. Basic android permission to be able to run background service (needed for most of the features)
      • EXPAND_STATUS_BAR. Needed for auto SENSORS OFF feature
      • INTERNET. Basic android permission to access internet - needed for fetching refresh rate profiles from backend, license validation and app update.
      • ACCESS_NETWORK_STATE. Basic android permission needed to check if device is connected to an internet - needed for Net Speed Indicator.
      • READ_SYNC_SETTINGS/WRITE_SYNC_SETTINGS. Needed to enable/disable autosync settings.
      • REQUEST_IGNORE_BATTERY_OPTIMIZATIONS. To show request to allow app to ignore battery optimization to prevent it from being killed by the system
      • RECEIVE_BOOT_COMPLETED. To initialize some features that needed to be applied or run automatically after the device is booted
      • ACCESSIBILITY_SERVICE. Needed primarily to identify apps that is/are currently opened/operated - needed for adaptive refresh rate mod to properly switch refresh rates (see How the Adaptive refresh rate mod works? section below). This is also needed for better stability of features which are requiring background service. This can be manually toggled in the phone settings or is automatically enabled once WRITE_SECURE_SETTINGS is granted to the app. You can turn off the accessibility service when not using features that require it. You will be notified what those features are when turning off the accessibility service.

      [*]Date usage and collection. No personal data is being collected by the app. Device information being used are only those required for device identification and license validation. When premium license is purchased via paypal, buyer's name and email address is provided by paypal and is solely use for sending activation email and license validation.



    • I am on adaptive or high refresh rate mode, but why my refresh rate stays at 60hz on some apps like google maps, waze, camera and some other apps and games even if I set a higher max refresh rate?

      Some apps are either (1) blacklisted by the android system to not use the high refresh rates due to compatibility reasons, (2) sets its own preferred refresh rate or (2) controlled by Samsung's game optimizing service (game launcher). GMH app can't force these apps to use higher refresh rates.
      However, there are some of these apps that are only affected on ADAPTIVE mode only but not on HIGH mode.


    • How does Quick-Doze Mod work?

      If enabled, the device will quickly enter into doze mode (except when charging) while screen is OFF. This will make a better standby power consumption. Motion detection will not interrupt this doze mod. While in doze, the device periodically enters a maintenance window (MW), during which apps can complete pending work (syncs, jobs, etc.). The device will continue this cycle, doubling the length MW interval each time. The longer the MW interval, the better the battery saving.

      Doze mode may cause notification delays on some apps. It will not affect SMS, High Priority FCM and apps which battery optimizations are disabled.

      Doze mode will deactivate once the device is unlocked.

      Caution: Ensure to disable Doze Mods from other apps (if you have it) when enabling this feature in GMH to avoid conflict or clash .



    • Why certain refresh rate(s) are missing on my device?

      Availability of certain refresh rates is dependent on hardware support and must also be enabled by the manufacturer in the system. The refresh rates show in the Resolutions and Refresh Rate Profiles section of the app are the ones that are enabled.

      In rare circumstances (usually on newly released devices), these values may not be properly read from the device. If you are very certain that it's missing one or more refresh rates, please report it to us so we can override it by using the values from our backend.

    • How does the Adaptive refresh rate mod work?
      Why does my screen flickers when switching refresh rate in low brightness? What's the workaround?


      For those devices that do NOT have the Samsung's stock Adaptive refresh rate mode, GMH's own Adaptive Mod is applied.

      For those devices which support Samsung's stock adaptive refresh rate, the stock adaptive refresh rate is applied 'AS IS' even when the max/peak refresh rate is changed. GMH Adaptive Mod is only applied when overriding the default minimum refresh for adaptive for a lower value.

      GMH Adaptive mod aims to replicate the stock adaptive mode behavior. It does not only detect touches but also the changes on the contents being displayed on screen similar to Samsung's stock adaptive implementation.

      On low brightness conditions, some users may notice some slight flickers on the display when the refresh rate switches. This is a display calibration issue - dependent on how the manufacturer has finely tuned the gamma curves across the different refresh rates. Our eyes are more sensitive to it on darker environment. The level of brightness varies on how finely the manufacturer has calibrated the display.

      This is an issue that GMH can't solve directly. However, you can use GMH brightness threshold for adaptive mod as a workaround which will automatically pause the Adaptive mod when screen brightness falls below the set threshold.


    • In Adaptive refresh rate mod, I set minimum refresh rate to 48Hz but while watching videos, refresh rate only goes down to 60Hz

      On video apps like youtube, the stock default minimum refresh rate is used (usually 60Hz) but it will automatically go down to 48Hz when playing compatible videos (i.e 24fps or 48fps videos) or when available to 24Hz when playing 24fps video.

    • Adaptive mod does not go down on GAMES.

      On games (declared in manifest as CATEGORY_GAME ), the adaptive mod will pause and refresh rate will be fixed to the max refresh rate that you set in the app. This is to preserve input responsiveness and smoothness while playing. If the game is not compatible to the max Hz that you set, it will use the next lower compatible refresh rate. Note: There are few games that do not have the abovementioned manifest declaration. They need to be manually added to the games whitelist - if you found one, please inform us.

      Important Note:
      • When you are using "Priority Mode" in Game Launcher, you should add GMH to the excluded list in order to keep it's background service from being killed when opening a game. Not adding GMH to this list can cause refresh rates to drop to minimum hz and behave abnormally while gaming.

    • Refresh rate monitor in statusbar is split second delayed than the overlay. Is this normal?

      It's due to the limitation by the android system on the frequency of updating the notification content(~2x per second).


    • Can I add the CQHD+(custom QHD) resolution that supports 96hz/120hz for Note20 Ultra or S20 series device?

      Yes, this option is added for free as requested by some users. If it's not shown in the app, just click the "Reload Profile" in the 3-dot menu while connected to the internet to load profiles from my backend containing such resolution. The backend copies of the resolution and refresh profiles have the following additional resolution:
      • Note 20 Ultra: 3087x1439 @ 48/60/96/120 hz
      • S20/S20+/S20Ultra: 3180x1431 @ 60/96/120 hz

        Note: The CQHD+ resolution (as well as the system pre-defined resolutions) is applied by using the hidden android IWindowManager api (equivalent to "adb shell wm size .." command in adb). How the system or applications handle custom resolutions varies and not guaranteed and beyond control of GMH. Apps that strictly observed pre-defined system resolutions (i.e. using display modes) will not benefit on this.

        Caution!! It's highly discourage to use this tweak on OneUI4.*. CQHD causes display to shrink after reboot or long sleep that causes difficulty on entering the lockscreen.


    • I enabled Power Saving Mode on Screen-off and the Always on Display (AOD) stopped working?

      Disable "Turn-off Always on Display" option in your device's Power Saving Mode settings.
      Note: You can use this setting to confirm that PSM on Screen Off is working. AOD turn off after 6-10 seconds.


    • Refresh Rate is stuck after a long idle while using Adaptive Mod

      In rare cases, GMH background process is being destroyed by the system. To avoid this, grant allow background activities or ignore battery optimization to GMH. If you are using Priority Mode in Game Launcher, adding GMH to the excluded list is required.

      If the issue still persists, GMH might be crashing on your device. If this is the case, please provide us the crashlog (refer to Questions and Bug Reports section below on how).


    • How to check if power saving mode and auto disable sync working on screen off?

      You can execute the following command in adb after ~10 secs. of turning off the screen.
      Code:
      adb shell dumpsys content
      This will return a lengthy output, just scroll back to the first few lines.
      You can see like this:
      Data connected: true
      Battery saver: true
      Background network restriction: disabled
      Auto sync: u0=false

      Alternatively, you can confirm power saving using any of the following:
      • Set AOD to show always, and enable turn-off AOD on power saving settings. AOD should be gone after ~10secs. of turning off the screen.
      • Code:
        adb shell settings global get low_power
        The output should be "1".

    • How to setup GMH with Tasker?
      Can I assign different refresh rate or refresh rate mode on per-app basis?


      1. Creating the Tasks (the actions to perform) - Tap the (+) button inside Tasker's TASKS tab and give it a name. Inside the Task Edit window, add GMH Action by clicking (+) button > Plugin > Galaxy Max Hz.

        Inside Action Edit window, expand the configuration section to see the tasker settings/variables used by GMH. Take note of them.

        Go back to Task Edit window and set a value to each of the variable that you want to use by clicking (+) button > Variables >Variable Set > enter the variable name and a corresponding valid value.

        After adding all the variable set actions you need, move the GMH action to the last row (i.e. after all the variable set actions). Tip: Tap, hold and drag to re-order.

        Test the task you created by clicking the ▶️ button at the bottom.

        Repeat above to create additional GMH tasks for different set of configurations/variables.

      2. Create a Profile (what triggers the task) - Tap the (+) button found inside Tasker's PROFILES tab to create a profile. You can select different types of profile including application-opened triggers and event triggers.
        This will not be explained in details here - just explore it.

        Once you created a profile, it will prompt you to link it to the task that you created in step 1.

      3. How to assign different refresh rate or refresh rate mode to different apps.
        If you want to override the default behavior for certain apps, just create an Application-Activity Profile(Trigger) for each of the apps that you want in Tasker's Profile tab

        Following step 1 above, create one or more tasks for each set of GMH configurations that you want to apply including a task for your default set of GMH configuration.

        After creating the needed tasks, go to the PROFILES tab > Tap the (+) button > Application > Select the application(s) that you want to trigger the task (GMH configurations) that you created*** > Select Activity button at the bottom > Hit the back button.

        It will then prompt you to link a task - select the task that you want to apply for the selected application(s). After that, long-pressed the linked task > select Add Exit Task > select the task for your default GMH configuration.

        That's it. Repeat the same procedures for a different app or set of apps that you want to apply different GMH configurations.

        ***You can select multiple apps at the same time if you want to apply the same GMH configuration to all of them

        Examples:
        Screenshot_20220424-002948_Tasker.jpg
        Screenshot_20220424-002953_Tasker.jpg
        Screenshot_20220424-003032_Tasker.jpg
        Screenshot_20220121-195651_Tasker.jpg
        Screenshot_20220121-195737_Tasker.jpg
        Screenshot_20220121-195715_Tasker.jpg

    • If I uninstall the app, will it restore the phone to its stock settings.

      Yes, just set the max hz and min hz back to the default values and disable all screen off mods before uninstalling.


    • I have a rooted device and modified the device model number, will it work?

      It can affect premium features on the device and can cause issue as refresh rate profiles are loaded based on the device model number.


    • Appear on top notification for GMH can not be disabled on OneUI4.*

      I think this a bug on OneUI4.0. Also occurs to other apps. Workaround is to disable appear on top notification for ALL apps (i.e. long-click on the notification and switch off "All Notifications" instead of the app")


    • Why is it that when I enable Auto SENSORS OFF, the notification panels gets expanded very quickly every time I unlock the device ? Can you make Auto SENSORS OFF deactivate when the screen turns on instead of device unlock?

      Since the api behind android's SENSORS OFF feature is highly restricted and inaccessible by 3rd party on stock roms, GMH's Auto SENSORS OFF option is implemented using touch simulations on the Sensors Off tile which require the notification panel to be expanded when switching this tile on and off. Thus, requiring to put the SENSORS OFF tile within the first 4 positions.

      Unfortunately, it is not possible to disable SENSORS OFF while device is locked. This android feature is restricted not to be turned-off with locked screen.
      Code:
      @Override
      public void setIsEnabled(boolean isEnabled) {
        // Don't allow sensors to be reenabled from the lock screen.    if (mIsEnabled && mKeyguardManager.isKeyguardLocked()) {
           return;
        }
      mMetricsFeatureProvider.action(getApplicationContext(), SettingsEnums.QS_SENSOR_PRIVACY, isEnabled);
      mIsEnabled = isEnabled;
      mSensorPrivacyManager.setSensorPrivacy(isEnabled);
      }



    Questions and Bug Reports:


    Feel free to ask questions relevant to this app here but ensure to read the FAQs first before doing so.
    For suspected bugs, you can post it here (or send me a direct message). Ensure to check if the latest version is installed in your device. Include details like stock device model number, android version, stock or custom rom and the issue/bug you are reporting and the steps/scenarios how to reproduce it. Support maybe limited on non-stock roms.

    If possible please include a screen recording* showing the bug/issue or how to reproduce the bug. You can use this screen recording app capable of recording at high refresh rates.

    If GMH crashes on your device, please include the crashlog of your device. Just execute the following adb command When doing this, device must not be rebooted yet after the crash:
    Code:
    adb logcat -b crash > crashlog.txt
    Ctrl+C after 15seconds.
    Then locate crashlog.txt file in your adb installation folder then send it to me. In most cases the culprit can be identified and addressed using this file. Otherwise, I may send a you specially build apk to get the full stacktrace.

    Note: Please post on the dedicated xda forum thread for your device/model. If no such dedicated thread, please send me a direct message instead.


    Warranty:


    The app is provided AS IS with no express warranty. Due to the nature of this app = its usage of hidden, non-sdk and non-public apis to execute most of its features, it is not guaranteed that all of its features are going to work in the future android iterations, should the new or updated iterations block/disable them. Attempts for workaround will still be exerted but will not always be successful.


    Sharing Outside XDA:


    Feel free to share this app anywhere as long as proper credits and reference to this thread are provided. Do not create any alternative download link. This is to ensure that users get the untampered installation file, latest information and latest updates of this app.


    Changelogs:


    Try to clear data of this app if you encounter issues after update. Please report any bug that persist. Thank you.

    Please check here for the latest changelogs

    Previous changelogs (old app)

    v5.40
    - Fixed landscape orientation layout bug and other layout improvements
    - Added support for Note 20 Ultra Non-5G models (all features)

    v5.26
    - Fixed disabled "High/Fixed Motion Smoothness Mode" switcher on Galaxy Z Fold 2. You should be able to use this function now in Z Fold 2.
    - Fixed force close bug on Galaxy Z Fold 2
    -Fixed missing resolution label for Galaxy S20 series
    - Other code clean up

    v5.20
    - Qs tiles for refresh rate control and resolution switcher now have dynamic icons. Better visibility for partially expanded notification panel.
    - Added high/fixed refresh rate mode/option for Galaxy Note20 Ultra and Z Fold2. If enabled, the device will be set to 'High Motion Smoothness' mode and refresh rates will behave like the Galaxy S20 series.

    v5.00
    - Added support for Galaxy S20, S20+, S20 Ultra and S20FE. Resolution switcher is not applicable to S20 FE.
    - Renamed app to Galaxy Max Hz

    v4.00
    -Added 'Resolution - Motion Smoothness Mode' switcher (button and qs tile). Switch resolution and motion smoothness mode anytime even on medium power saving mode. This specific function requires ADB.

    v3.00
    - Changed overlay display FPS to screen refresh rate (Hz)
    - Refresh rate monitor now switches color to red if 60hz or below and to green if above 60hz
    - Added toggle switch for refresh rate monitor on app's home screen

    v2.00
    - The 3-way toggle button and quick settings (qs) tile are now aware if the current Motion Smoothness mode is set to Adaptive or not. If not, they will show 'Standard' and will open the display settings when clicked
    - The switch for the FPS monitor overlay is moved to a new qs tile. You can now turn the FPS monitor ON/OFF anywhere without opening the app.
    - Changed text color of fps monitor from red to green. Green color has the longest lifespan in amoled, so lesser chance of amoled burn.

    v1.00 Initial release



    If you want to get GMH Premium features and/or support GMH development but paypal is not available in your place, you can use Google Play Store.
    Just download GMH Donation app from Google Play Store.

    Note: The price might be slightly higher due to the relatively higher tax imposed on play store.
    17
    Apologies for being inactive in the past weeks due to some medical/family reasons.
    I will still be inactive in the next 1 or 2 weeks.
    Thank you for understanding.
    11
    GMH_v7.14.16 in-app update now available:
    -fixed bug: unable to turn off accessibility when no feature requiring such is enabled
    -experimental workaround for enabling Adaptive/High refresh rate on PSM on OneUi4.0
    -other bug fixes
    10
    v7.12.20 in-app update is now available. :)
    - Fixed intermittent bugs:
    - Power saving mode on screen-off: PSM not turning off back on screen on.
    - Turn-off autosync on screen off: autosync not turning on back on screen on