Monday, May 29, 2017

How to Add more Tiles to the Quick Settings Header on Google, OnePlus, and Sony Phones [No Root]

If you pull down on the status bar of your Android phone, you'll likely see a few notifications below a single row of Quick Settings tiles. This row is called the Quick Settings header as it only shows the first few tiles that are available in the full set of QS tiles. By pulling down one more time, you'll see the full list of QS tiles that you've added. Quick Settings were officially added to AOSP starting with Android 5.0 Lollipop (though OEMs such as Samsung have had their own form of notification toggles available for several versions before Lollipop).

Though we've since received the ability to customize QS by re-arranging the icons and add third party tiles to the QS list, there is still no official method to customize how many tiles are displayed (again, Samsung has beaten Google to the punch in this regard). However, through the use of a hidden preference that we can set via ADB, it is possible to add more tiles to the Quick Settings header.

Thanks to Eli Irvin for collecting these screenshots for me!

This modification does not change the number of columns or rows shown in the full QS panel that you see when you swipe down twice on the status bar (or pulling down with 2+ fingers). The only way to do that, as far as I know, is through SystemUI modifications – which obviously requires root or an unlocked bootloader.

Modifying the Quick Settings header does not require root access, though it won't work on all devices. If your device is on Android 7.0+ and the underlying software isn't too heavily modified from AOSP, then this trick should work on your phone. That's because it relies on a settings preference that is defined in the SystemUI package (in AOSP, you can find the preference listed in QuickQSPanel.java).

QuickQSPanel.java

  /**  * Version of QSPanel that only shows N Quick Tiles in the QS Header.  */  public class QuickQSPanel extends QSPanel {  public static final String NUM_QUICK_TILES = "sysui_qqs_count";  

This snippet of code is taken from the AOSP page I linked above. The string NUM_QUICK_TILES defines how many QS tiles are shown in the header. NUM_QUICK_TILES gets its value from the Settings.Secure preference "sysui_qqs_count" which is what we will modify. In order for this modification to work, the software on your phone has to have this preference available.

Google Nexus and Pixel phones can use this modification, as can Sony Xperia and OnePlus phones. Custom ROMs such as LineageOS work, as least it did on my Nextbit Robin. Samsung and Huawei phones won't work with this preference change, though as noted before you can follow my previous tutorial to customize the QS panel size on Samsung phones.


Tutorial

As mentioned previously, you will need ADB access to use this command. Download the latest ADB binary for your machine straight from Google. Make sure that you have the right driver installed for your phone to be recognized by your machine. Go to Settings –> Developer Options and enable USB Debugging. Then open up a command prompt or terminal on your machine, and enter the following command:

  adb devices  

Your machine will attempt to start ADB and see if it recognizes any connected devices. You may see a prompt on your phone to grant ADB access to your machine – accept it. If you now see your device's serial number returned in the command prompt, then you're golden.

Now, you'll need to enter this command to modify the number of tiles shown in the QS header:

  adb shell settings put secure sysui_qqs_count N  

where N is the number of tiles you want shown in the header row. For instance, if I want to have only 3 tiles shown:

  adb shell settings put secure sysui_qqs_count 3  

or if I want to have 7 tiles shown:

  adb shell settings put secure sysui_qqs_count 7  

If you want to return to the default configuration, just enter "5" for N.


Although this is admittedly a fairly minor tweak, it's still nice that, even without root, there are still some ways you can modify the UI. I am not sure why Google left this setting open for us to change, though you wouldn't even know it was available unless you dug around in AOSP as this setting is not listed when you dump the available secure settings on your device. I hope that Google adds a native way to resize the full QS panel like Samsung does, but that will likely remain wishful thinking on my part.

Credits for this tweak go to XDA Senior Member paphonb who posted about this in a buried thread back in December. He's the developer of the Custom Navigation Bar application which allows you to tweak the navigation bar on many Android 7.0+ devices without root. He and I are working on a new application that will incorporate this tweak and many, many more so unrooted users can explore all the hidden tweaks available on their devices.



from xda-developers http://ift.tt/2s6ByjV
via IFTTT

No comments:

Post a Comment