Themes / Apps / Mods Better Internet Tiles - Bring back Wi-Fi and mobile data toggles! (non-root)

Search This thread

jorrik98

Senior Member
google-play-badge.png

Better Internet Tiles

Root not required! Use Shizuku to grant shell access!

About​

This application aims to create a unified internet quick-settings tile, which is actually useful (I'm looking at you, Android 12). Next to this, seperate Wi-Fi and mobile data tiles are also available if you just want to go back to the behaviour of Android 11 or lower.

Tapping the new unified internet tile will simply toggle between Wi-Fi and mobile data, which is exactly what I want it to do most of the time. This reduces the amount of taps needed from 3 (tap tile, disable wifi, enable data) to just 1 quick tap. In situations where you still want more control, long pressing the tile will redirect you to the relevant settings page.

This has been tested and confirmed working on Pixel devices running Android 12 and 13, but other devices will probably work too.

Shell access required

Shell access is required to enable/disable Wi-Fi and mobile data, as well as for reading the SSID of the current Wi-Fi network. This can be granted using regular root, or by using the Shizuku application. Shizuku can be started using either adb or wireless debugging (or root, but then you might as wel use direct root access instead). The Sui and Riru magisk modules can also be used as an alternative to the Shizuku application.

Beware that if you do use Shizuku without root, you will need to start the Shizuku server each time you reboot the device. You can do this without a PC using the wireless debugging method, so it is not that big of an issue, but it is something to keep in mind.

Features

  • An improved unified Internet tile where you can tap to toggle between Wi-Fi and mobile data (visually very similar to the stock Android 12 tile, but more functional)
  • Seperate Wi-Fi and mobile data tiles if you just want to go back to behaviour before Android 12
  • NFC tile which was aparently also removed 🤷
  • Ability to configure access to the tiles while the phone is locked

Pictures​

tiles.png

Screenshot_20211216-213611.png

How to install

  • Download and install the app using either the Google Play Store, the F-Droid app store, or by getting the 'app-release.apk' file from the the latest release in the GitHub repository.
  • Open the app, and click on the 'Request Shizuku access' or 'Request root access' button, depending on which method of Shell access you prefer.
  • Only if you are using Shizuku:
    • You must start the Shizuku server each time the device is booted. Follow the instructions in the Shizuku application.
    • There is a persistent notification to allow a foreground service to start, so Shizuku can detect the process without having to manually open the 'Better Internet Tiles' application. You can just hide this notification without any issue.
  • Edit your quicksettings layout, drag your desired tile to the top and remove the original internet tile. If you can't find the tile, they look like this:
    tiles.png

    If you are on Android 13 or higher, you can also add them using the shortcut buttons within the app.​
  • Enjoy easier switching between mobile data and WiFi with just a single tap!

Open source

If you want to make a contribution or just simply want to check out the source code, you can do so by visiting the GitHub repository
Less tech savvy but also want to contribute? Check out this project on weblate to help out with translations!
287x66-grey.png
 
Last edited:

jorrik98

Senior Member
Nice job OP! Not exactly what I'm looking for but thought I'd test it out.

Works exactly as described but shows T-Mobile 4G when connected to 5G UC. Only issue I found.

Other than that, it works well.
Hmmn I'll have to check that out
What exactly are you looking for? Maybe adding some more configuration options can make this useful for you too :)
 
  • Like
Reactions: Exel

Exel

Senior Member
Dec 31, 2010
3,257
1,475
Southern California
Google Pixel 6 Pro
Hmmn I'll have to check that out
What exactly are you looking for? Maybe adding some more configuration options can make this useful for you too :)

I think I'm looking more for two toggles, if that makes sense.

One for Wifi that when clicked turns Wifi off and when long pressed takes you to wifi settings

Then a separate one fo data when clicked turns data off and when long pressed takes you to data settings.

I feel like it was cleaner that way. :)
 
  • Like
Reactions: vandyman and Nimueh

jorrik98

Senior Member
I think I'm looking more for two toggles, if that makes sense.

One for Wifi that when clicked turns Wifi off and when long pressed takes you to wifi settings

Then a separate one fo data when clicked turns data off and when long pressed takes you to data settings.

I feel like it was cleaner that way. :)

I see, adding 2 separate tiles next to the unified one shouldn't be too hard to implement 🙂

Reason I chose to keep them together is because the tiles are just so damn big now and I have other tiles that I want to see too at first glance 😛
 

jorrik98

Senior Member
I think I'm looking more for two toggles, if that makes sense.

One for Wifi that when clicked turns Wifi off and when long pressed takes you to wifi settings

Then a separate one fo data when clicked turns data off and when long pressed takes you to data settings.

I feel like it was cleaner that way. :)

Okay, I released a new version where the Wi-Fi and mobile data tiles are also available seperately, hopefully that works for you :)

I changed up some things in the check for 5G connectivity, but not sure if that fixed your issue since I can't really test it (I don't have 5G connectivity yet)
 
  • Like
Reactions: Exel

Exel

Senior Member
Dec 31, 2010
3,257
1,475
Southern California
Google Pixel 6 Pro
Okay, I released a new version where the Wi-Fi and mobile data tiles are also available seperately, hopefully that works for you :)

I changed up some things in the check for 5G connectivity, but not sure if that fixed your issue since I can't really test it (I don't have 5G connectivity yet)

That was quick! It works almost perfectly!

They toggle perfectly and it enabled and disabled but there's an issue with the data tile when wifi is enabled.

When you have wifi enabled and toggle data, the tile doesn't show an update unless you close the notification / status drop-down and open it again.


Also it still shows 4G for some reason but I understand you said you can't test this yourself.

Thanks again! :)
 
Last edited:

jorrik98

Senior Member
That was quick! It works almost perfectly!

They toggle perfectly and it enabled and disabled but there's an issue with the data tile when wifi is enabled.

When you have wifi enabled and toggle data, the tile doesn't show an update unless you close the notification / status drop-down and open it again.

Here's a video:


Also it still shows 4G for some reason but I understand you said you can't test this yourself.

Thanks again! :)
Thanks for the video, I was able to reproduce it and I'll see if i can fix it :)
Might want to remove the url to that video since your address is visible in it
 
Last edited:

jorrik98

Senior Member
@Exel
I published a new release (v1.1.1) where I added a workaround for the data tile not updating bug.

Seems like the NetworkCallback for cellular transport type is just not receiving any updates when Wi-Fi is enabled, very weird. Fixed this now by just syncing the tile after it has been pressed, but if mobile data is enabled/disabled via another way (e.g. by typing 'svc data enable' in adb shell), the tile will not automatically update. Unless you have some sort of automation that does this (or another tile that does this), you should not have any issues I think.

I'll see if i can find an actual fix for this problem but for now this new release should work fine
 

Exel

Senior Member
Dec 31, 2010
3,257
1,475
Southern California
Google Pixel 6 Pro
@Exel I released a new version that should now visualize 5G connectivity (should be '5G+' for mmWave or other proprietary connections like yours)

Beautiful! I can confirm it's showing the correct 5G / 5G+ when using 5g connectivity.

Thank you so much for the quick fixes!

I recommend you also post this in the Pixel 6 Pro section (that's the phone I'm using), I'm sure people over there will also find this super useful! :)
 
  • Like
Reactions: jorrik98

jorrik98

Senior Member
Beautiful! I can confirm it's showing the correct 5G / 5G+ when using 5g connectivity.

Thank you so much for the quick fixes!

I recommend you also post this in the Pixel 6 Pro section (that's the phone I'm using), I'm sure people over there will also find this super useful! :)

Glad you find the app useful :)

I still want to look into 'Shizuku' first since this might allow the app to work without being rooted. Also looking to get this published on the Play Store so I can get some insights on how many people are using the app. After I get those things sorted I will probably post it on some more forums
 

jorrik98

Senior Member
I just found your app. I like it so far, is there anyway you can make the mobile data tile if held down go to mobile data settings. Right now, when you hold down the mobile data tile it goes to WiFi settings. Thanks

I have just released version 2.0.0 which fixes this :)

Beware that the app now no longer uses direct root, but Shizuku to get shell access. This means you will have to either
  • Use the Shizuku application which can be granted shell access via adb, wireless debugging or root (I personally use this option)
  • Use Sui and Riru magisk modules
 
  • Like
Reactions: Zilla0617

Exel

Senior Member
Dec 31, 2010
3,257
1,475
Southern California
Google Pixel 6 Pro
I have just released version 2.0.0 which fixes this :)

Beware that the app now no longer uses direct root, but Shizuku to get shell access. This means you will have to either
  • Use the Shizuku application which can be granted shell access via adb, wireless debugging or root (I personally use this option)
  • Use Sui and Riru magisk modules

Won't be able to update. I have zygisk enabled in Magisk.

If Zygisk is enabled, Riru will be disabled.

Not really a fan of having an app rely on another app to run so I'll stick to the latest version before the change. :)
 

jorrik98

Senior Member
@Exel

Version 2.1.0 released, with SU support re-added! Users can choose if they want to use Shuzuku or just root to grant Shell access!

Fixed the bug from my last comment: when using Shizuku there is now a persistent notification, but you can just hide this. It's there to make sure a service starts/stays alive which Shizuku can detect.

Also cleaned up the settings view a bit.


Any issues, just drop a comment!
 
  • Like
Reactions: roirraW "edor" ehT

Top Liked Posts

  • There are no posts matching your filters.
  • 3
    Yes, how do you do it then on your app ?

    I implemeted custom tiles that mimic the old tiles' behaviour as closely as possible
    2
    Now also available on F-Droid!

    2

    Released version 2.5.0

    New​

    • Added Russian and Turkish translations
    • Added link to weblate, our translations platform
    As always: available on GitHub immediately, on Google Play when review passes, and on F-Droid when their build pipeline thing runs again, whenever that is :p
    2
    Nice but can we help to translate ? I want Dutch also bexausr everything is in english, any link for translation ? 🙃

    Although I already added tuch translations (not released yet), you can checkout the translation platform here: https://hosted.weblate.org/projects/better-internet-tiles/translations/
    Feel free to look over the dutch translations and add improvements/corrects (I went over them pretty fast :p)
    2

    Released version 2.4.0

    New​

    • Added dutch and norwegion language support
    • Added basic analytics reporting (language, android version, device brand and model, app version, used tiles, build flavor). This data will be used to get a better view on which features/languages should be focussed on next. Analytics tools is selfhosted using Report Anything, no data is shared.

    Improvements and fixes​

    • Internet tile: changed 'Wi-Fi on' subtitle to 'Not connected'
    • Updated depencies
    • Code and dependency cleanup
    • Use seperate build flavors for PlayStore, GitHub and F-Droid releases. This was needed to exclude closed source Google libraries for releasing on F-Droid, as well as for keeping track for analytics purposes.
    • Automated builds and deployments using GitHub actions for Playstore and GitHub releases
    • Weblate platform is now used for contributing translations, check it out!
    Available on GitHub immediately and on Google Play when review passes. I will also try to get this up on the F-Droid app store.

    Things I want to focus on for version 3.0.0:
    • Provide a better and more intuitive user interface (onboarding steps after installing app: explicit choice between Shizuku and root, material you layout, ...)
    • Offer customization options for tile behaviour and visualisation
    • Using location permission instead of shell commands for reading of Wi-Fi SSID more reliably and synchronously, as opposed to using shell commands, which broke upon Android 13 release and run asynchronously.
    As always, feedback is very welcome!
  • 20
    google-play-badge.png

    Better Internet Tiles

    Root not required! Use Shizuku to grant shell access!

    About​

    This application aims to create a unified internet quick-settings tile, which is actually useful (I'm looking at you, Android 12). Next to this, seperate Wi-Fi and mobile data tiles are also available if you just want to go back to the behaviour of Android 11 or lower.

    Tapping the new unified internet tile will simply toggle between Wi-Fi and mobile data, which is exactly what I want it to do most of the time. This reduces the amount of taps needed from 3 (tap tile, disable wifi, enable data) to just 1 quick tap. In situations where you still want more control, long pressing the tile will redirect you to the relevant settings page.

    This has been tested and confirmed working on Pixel devices running Android 12 and 13, but other devices will probably work too.

    Shell access required

    Shell access is required to enable/disable Wi-Fi and mobile data, as well as for reading the SSID of the current Wi-Fi network. This can be granted using regular root, or by using the Shizuku application. Shizuku can be started using either adb or wireless debugging (or root, but then you might as wel use direct root access instead). The Sui and Riru magisk modules can also be used as an alternative to the Shizuku application.

    Beware that if you do use Shizuku without root, you will need to start the Shizuku server each time you reboot the device. You can do this without a PC using the wireless debugging method, so it is not that big of an issue, but it is something to keep in mind.

    Features

    • An improved unified Internet tile where you can tap to toggle between Wi-Fi and mobile data (visually very similar to the stock Android 12 tile, but more functional)
    • Seperate Wi-Fi and mobile data tiles if you just want to go back to behaviour before Android 12
    • NFC tile which was aparently also removed 🤷
    • Ability to configure access to the tiles while the phone is locked

    Pictures​

    tiles.png

    Screenshot_20211216-213611.png

    How to install

    • Download and install the app using either the Google Play Store, the F-Droid app store, or by getting the 'app-release.apk' file from the the latest release in the GitHub repository.
    • Open the app, and click on the 'Request Shizuku access' or 'Request root access' button, depending on which method of Shell access you prefer.
    • Only if you are using Shizuku:
      • You must start the Shizuku server each time the device is booted. Follow the instructions in the Shizuku application.
      • There is a persistent notification to allow a foreground service to start, so Shizuku can detect the process without having to manually open the 'Better Internet Tiles' application. You can just hide this notification without any issue.
    • Edit your quicksettings layout, drag your desired tile to the top and remove the original internet tile. If you can't find the tile, they look like this:
      tiles.png

      If you are on Android 13 or higher, you can also add them using the shortcut buttons within the app.​
    • Enjoy easier switching between mobile data and WiFi with just a single tap!

    Open source

    If you want to make a contribution or just simply want to check out the source code, you can do so by visiting the GitHub repository
    Less tech savvy but also want to contribute? Check out this project on weblate to help out with translations!
    287x66-grey.png
    5
    Released version 2.2.0

    • Fix Wi-Fi SSID not being shown on Android 13
    • Add shortcut to add tiles to quick settings (Android 13 only)
    • Some dependency updates, code cleanup, ...

    Available on Github and Google Play (when review passes)
    4
    First off, thank you, thank you, thank you for bringing back the individual QS buttons for mobile data and Wi-Fi. This fixed one of the only two things I hate about Android 13.

    I had not used the better internet tile that your app provided initially, primarily just because I didn't even bother reading what it could do and was just looking to get the old style back.

    After having read your recent post, I did set it up and give it a go. Your version of the tile is actually decent and I could see it being useful.

    However, I use Google Fi, and I only pay for the data that I use, which is typically about 0.75 GB per month. It is extremely important to me that I'm never on mobile data when I don't need to be, like when I'm home connected to my Wi-Fi network.

    I have several tasker profiles setup to ensure that mobile data is always off when I'm connected to trusted Wi-Fi networks.

    Given my anxiety about mobile data usage, my main problem with the stock implementation of the internet tile, is that I can't easily tell that mobile data is off. I know that these days the mobile data icon in the status bar has the disabled icon in it, but if I recall correctly that has not always been the case for stock ROMs, and it's been something I've been able to add here and there depending on what custom ROM or mod I may be using. My point being that I haven't been able to use that 100% of the time over the years to be able to tell whether my mobile data is off, so I always look to the quick setting tile to ensure that mobile data is turned off.

    Since I have tasker doing the lifting as far as turning things on and off as needed, I usually have no need for a tile to toggle between mobile data and Wi-Fi. My goal 95% of the time when I look at my quick settings tiles is just to ensure that mobile data is off. I do keep both the Wi-Fi and the mobile data tile in quick settings, and if you're better internet tile showed the status of mobile data even when connected to Wi-Fi, then I would use it as it would free up a quick setting tile space for something else. As it is right now, the tile will show me that I'm connected to my wifi network, but gives me no indication about my mobile status and vice versa. It would be nice if underneath the SSID, you could add some indication as to whether mobile data is on or off. If the tile had this feature, then I would get rid of the two individual ones and use that instead.

    Lastly, IMO, long pressing the tile should take you to whichever network settings are currently displaying on the tile. If I'm connected to Wi-Fi and the tile is showing the SSID then long pressing it should take me to the Wi-Fi specific settings page. If I'm on mobile data and that's what the tile is showing me, then long pressing the tile should take me to the mobile data/sim specific settings. Offering the user a choice as to which behavior they would prefer would be the best option obviously, but I don't know if that's a thing that's possible.

    Sorry for the long post. Thanks again for this great app!
    Very interesting, I've already got some changes in mind now to make the tile more useful for more use-cases like yours.

    On your last point about long press behaviour: I actually had it like that in the previous version but changed it (not sure what went on in my head there :p) . I can't really think of any issues for making the behaviour configurable either so that's probably the next thing I'll be working on (after I get back from vacation).

    Nice but can we help to translate ? I want Dutch also bexausr everything is in english, any link for translation ? 🙃
    Good point! Also something I would like to have for the next version. I will probably do Dutch myself though (I'm from Belgium) and setup some contributing platform for other languages
    3
    Yes, how do you do it then on your app ?

    I implemeted custom tiles that mimic the old tiles' behaviour as closely as possible
    2

    Released version 2.5.0

    New​

    • Added Russian and Turkish translations
    • Added link to weblate, our translations platform
    As always: available on GitHub immediately, on Google Play when review passes, and on F-Droid when their build pipeline thing runs again, whenever that is :p