ABSTRACT (i.e., TLDR version)
I present a way to integrate Texter; Tasker; a preferred SMS app that also gives popup notifications; and SL4A+Perl such that when using Texter, I can mark incoming SMS as read; clear notifications; clear popups; and re-sleep the phone. Profiles+scripts in the second post.
INTRODUCTION
In a nutshell: I wanted to use Tasker to remove notifications of unread SMS messages while using Texter. This proves difficult because I use an SMS app that has popup notifications. These profiles+scripts exit the popup notification, clear the unread notification, then puts your phone back to sleep.
Texter is an Android app/Google Chrome extension that lets you send SMS messages from your computer with your phone number. Super cool! It's kind of glitchy at times but overall a solid app, and it'll get better with time. It's currently in closed beta but they're adding new people all the time. I'd hop on that ASAP.
Texter clears unread SMS notifications when you hit "Close" or "Reply", but by Android design it cannot clear the notification bar and LED. I keep my phone on my desk when using my computer, so having the unread notification on both my phone and my computer are kind of annoying. So I wanted to use Tasker to clear those notifications. Turns out Tasker cannot mark messages as read itself, so I use SL4A and the Android port of my favorite scripting language, Perl. It's easy to write a script using SL4A and Perl for Android (or your language of choice - but I provide a Perl script, so you may as well use that) to clear unread SMS notifications for you.
OVERVIEW OF PROFILES
This first post will be a discussion of each profile I use; next post will have the profiles/scripts themselves, and possibly a changelog as I mess around with this system.
My system consists of 5 profiles and 1 widget-task:
WIDGET-TASK: USE TEXTY
This task simply sets or clears a variable %TEXTY, to denote if we are at a computer and would prefer to use Texter vs our phones to send SMS messages. It also sets a permanent notification and changes the widget icon to show that you're in Texter-mode vs regular SMS mode.
PROFILE: TEXTY ACTIVE
This is the heart and soul of the profile scheme. When you receive an SMS, if %TEXTY is set it fires the Perl script that clears your SMS notification, then opens your preferred SMS app to clear the notification bar. Bonus: if you use a popup SMS notification (GO SMS, Handcent, Chomp, etc), this will also clear the popup for you!
PROFILE: TEXTY DISPLAY ON/OFF
Naively using %SCREEN to denote if the screen is on/off to enable or disable Texter functionality does not work all the time - I have found that my phone sometimes lags between receiving a text message and actually popping up the notification. So if %SCREEN ~ on, the main profile might not fire the go-back-to-sleep tasks.
Thus we need a way to account for this lag. I created a new variable %TEXTYSCN that denotes when the screen is on/off, accounting for that lag. Basically, I wait 15 seconds after screen on before setting %TEXTYSCN = on; if the screen has been on for that long, it's probably because I wanted to use it.
When I set %TEXTYSCN = off, I wait 15 seconds beforehand IF IT'S ALREADY SET TO OFF. This seems weird at first, but it's kind of like an interrupt handling mechanism - if you receive a text, your screen will turn on. That starts the 15 second count before %TEXTYSCN = on - until those 15 seconds are up, %TEXTYSCN ~ off. Now that the popup notification is cleared, the display shuts off. If we flipped %TEXTYSCN = off right now and we're inside that 15 second timer, %TEXTYSCN will get set back to on - and subsequent popup notifications won't get cleared. Note that I only wait if %TEXTYSCN ~ off. If it's on, that means we're choosing to sleep the phone after we've used it for something.
[NOT SURE IF NEEDED, NEEDS MORE TESTING] PROFILE: PHONE OFFHOOK/IDLE
Not sure if I need these profiles yet - all it does is disable the main profile if we're on a call, and restart it once we hang up. GO SMS doesn't popup notify when I'm in a call, and after a call I can clear the notifications as I please. I'm not entirely sure of using the main profile during calls yet (what happens if I get a text in the middle of a call and my screen was off at the time? It'll run the main profile, GO HOME, then display off. This might be disorienting the next time I look down and I'm at the Home screen rather than the In-Call screen) so I'll just disable the clear-SMS. Maybe in a later iteration I'll disable the go-home part but clear SMS.
ON TO POST #2!
APPS YOU NEED
See post #1 for links to all required apps.
Android 2.2+
Tasker
Texter
SL4A
Perl for Android (or your interpreter of choice, but the script I provide is for Perl)
INSTALLATION <----VERY IMPORTANT! DOES NOT WORK STRAIGHT OUT OF THE BOX.
Download Tasker_Texty_V1.2.zip. Place all files ending with "prf.xml" into /sdcard/Tasker/profiles . Place Texty.tsk.xml into /sdcard/Tasker/tasks . Import all profiles and tasks by opening Tasker; hit Menu; hit Profile Data; "Import One Profile" and "Import One Task". Place markSMSread.pl into /sdcard/SL4A/scripts .
Create the Texty (it's now officially named Texter, but I didn't want to bother changing the words in the profiles, not to mention "Texty" sounds way better to me) widget on your home screen. Check out the Tasker website if you need help on how to do this.
Open up the "Texty Profile" profile. Change "Load App" from "Messaging" to your favorite SMS app (or keep it as default if that's what you prefer.)
Remove the "Type: System Lock" action, and replace it with "Display->System Lock". You will need to give Tasker administrative capabilities.
As necessary, change the "wait" values in the Texty Active; Texty Display On; and Texty Display Off profiles. See below, "Scripts and Profiles", on the rationale for this.
Enjoy the wonderful amalgamation of Texter, Tasker, and Android! Happy texting
ADVANCED: SCRIPTS AND PROFILES
I include this section redundantly so people can see what exactly goes into the setup. This way you can be confident that you're customizing your profiles exactly how you want to, and you can see my rationale for why I used certain numbers, variables, etc.
Tasker cannot clear the unread SMS notification on its own, so I use SL4A to do it. Here is the Perl script I use (you can of course use your own script and programming language if you'd like):
Code:
use strict;
use warnings;
use Android;
# See http://goo.gl/Qw0WK for original code
my $droid = Android->new();
my $msgs = $droid->smsGetMessageIds(1);
my $i = 0;
while ($msgs->{result}[$i]){
$droid->smsMarkMessageRead([$msgs->{result}[$i]], 1);
$i++;
}
I will assume you're familiar with Tasker language. At some point I will just post profiles you can import. If you need help with any steps, just ask! I'll do my best to respond in a timely fashion.
Note before importing/creating profiles: You need to make sure %TEXTY is clear on boot. I don't know if variables are cleared on phone restarts; I took no chances and wrote into my Boot profile to clear %TEXTY. If someone can let me know, that would be appreciated.
WIDGET-TASK: "TEXTY"
Initial Icon: Texty app look
Notes: You may need to write everything without the "Set Widget Icon"; make the widget; then edit the task and re-make the widget. Tasker looks for widgets to change icons, and it can't change the icon of a non-existent widget.
1) If %TEXTY ! Set
2) Notify (title: "Texty Active"; icon: whatever you want; permanent: ON)
3) Set Widget Icon (name: Texty; icon: whatever you want, I use the stock SMS icon)
4) Variable set (%TEXTY to 1)
5) Stop
6) End If
7) If (%TEXTY Is Set)
8) Set Widget Icon (name: Texty, icon: original Texty icon)
9) Notify Cancel (title:"Texty Active")
10) Variable Clear: %TEXTY
11) End If
PROFILE: TEXTY ACTIVE
Condition: Event: Received Text
Notes: Mess around with the wait statements to see if there's a sweet spot. You might find a 2 second wait might open and close your SMS program before the popup notify comes up. I'm still trying to find all the right numbers myself. (I think I've settled on 5, but that could change all willy-nilly like)
1) If %TEXTY is set
2) Wait 5 seconds
3) IF %TEXTYSCN !~ on
4) Load App: your SMS app of choice (to clear the notification bar and/or popup notifies)
5) SL4A: markSMSread.pl
6) Wait 1 second
7) Go Home
8) System Lock
9) End If
10) End If
PROFILE: DISPLAY ON
Condition: Event: Display On
Notes: Adjust the wait: if it's too long, the main profile will clear your popup notify and sleep your phone if you receive a message soon after starting to use your phone; too short and the main profile might not clear your popup notify at all [see the wait statement in the Texty Active profile]
1) If %Texty Is set
2) Wait 10 seconds
3) Variable set: %TEXTYSCN to on
4) END IF
PROFILE: DISPLAY OFF
Condition: Event: Display Off
Notes: Adjust the wait: if it's too long, the main profile won't clear your popup notify if you receive a text shortly after display turns off; too short and %TEXTYSCN might accidentally get flipped to on.
1) If %Texty is set
2) Wait 15 seconds IF %TEXTYSCN ~ off
3) Variable set: %TEXTYSCN to off
4) End if
PROFILE: PHONE OFFHOOK
Condition: Event: Phone Offhook
1) Profile Status: Texty Active -> Off IF %TEXTY is set
PROFILE: PHONE IDLE
Condition: Event: Phone Idle
1) Profile Status: Texty Active -> ON
PROFILE: CLEAR TEXTYSCN
Condition: Event: Variable cleared: %TEXTY
1) Variable Clear: %TEXTYSCN
Conclusion
I hope my work has helped anyone else as obsessive as I am about the meshing of their technology. I am of the school of thought that anything I do on my phone I should be able to do on my computer, and vice versa - I use Chrome to Phone, android2cloud, etc - I don't ever want to be tethered to any single device. These Tasker profiles have gotten me one step closer to realizing that dream.
CREDITS
brandall: for his excellent Tasker work! He was the inspiration for me to write this post up.
Max from the android-scripting Google group: for helping me create the markSMSread.pl script.
The developers of Texty, Tasker, GO SMS, and SL4A. Without them, there wouldn't be us.
TO DO
further testing to find edge cases, etc
CHANGELOG
Code:
v1.2:
-->fixed import bug - because System Lock action requires admin capabilities, Tasker would not import. Now requires user to manually add action.
-->restored markSMSread.pl workaround - Texter only clears SMS when you hit "close" or "reply", but the notification does not go away.
-->added more installation instructions
v1.1:
-->removed markSMSread.pl workaround - Texter now clears SMS notifications on its own.
-->added v1.1 .zip to easily import profiles.
v1.0:
-->initial release
Please hit the Thanks button if I helped you with your Texter experience!
Nice work mate!
Sent from my HTC Desire HD using XDA Premium App
Tasker profiles updated to v1.1! Texter now clears the SMS notification when you hit "Reply" or "Close" in Chrome. So I removed the SL4A workaround to clear SMS notifications for you. I am still testing for edge cases, and might bring back the workaround if the SMS doesn't clear the vast majority (or all) of the time. Also finally added profile .zip so you can just import your tasks instead of fiddling with the UI so much.
The Texty Active profile won't load into Tasker. It gives me an error.
bartimeus said:
The Texty Active profile won't load into Tasker. It gives me an error.
Click to expand...
Click to collapse
What's the error say? Details would be nice to help out on this.
Sorry about that, forgot my manners.
"Error: import of Texty_Active.prf.xml
failed: failed to import profile data."
Thank you for coming up with and supporting these.
bartimeus said:
Sorry about that, forgot my manners.
"Error: import of Texty_Active.prf.xml
failed: failed to import profile data."
Thank you for coming up with and supporting these.
Click to expand...
Click to collapse
Hmm, that's not a very illuminating error message What version of Tasker are you running, and what version of Android? The "Screen Lock" task in this profile requires Tasker to get admin capabilities; maybe Tasker does not allow one to import anything that requires root/admin capability.
Also, do you have the stock Messaging app installed? I use "Load App: Messaging" by default.
I am not at home right now but when I get home I will upload a profile that does not have the "Screen Lock" task. If that imports properly, you will have helped me close a tough bug thanks!
I am running version 1.0.17, Android 2.3(Cyanogenmod 7 Nightly 100) Phone is Inspire 4G.
I have the stock messaging app but use Handcent as my main one.
bartimeus said:
I am running version 1.0.17, Android 2.3(Cyanogenmod 7 Nightly 100) Phone is Inspire 4G.
I have the stock messaging app but use Handcent as my main one.
Click to expand...
Click to collapse
Try to import the attached profile. I removed the "System Lock" task. I have a feeling that'll let you import.
In other news, I think I will add back the markSMSread.pl SMS-clearing workaround. Without it, the popup notify is killed but the unread notification remains. Once you hit close/reply in Texter, it will mark the SMS as read - but that doesn't clear the notification. Once I get verification that the "System Lock" task is what's causing problems, I'll update to v1.2.
Okay, it let me import that file. Now I have all 6 profiles and the task imported. How do I switch the app it uses from Messaging to Handcent?
bartimeus said:
Okay, it let me import that file. Now I have all 6 profiles and the task imported. How do I switch the app it uses from Messaging to Handcent?
Click to expand...
Click to collapse
Great. In the Texty Active profile, hit "Open App" and select Handcent from it.
You'll also need to re-add the System Lock action (hit the plus sign, Display->System Lock) and put it under "Go Home" if you want the screen to dark after it receives a text message.
Thanks for verifying this bug for me. As I said, I will upload v1.2 with the markSMSread.pl workaround as soon as I can. I'll also remove the System Lock action; users will have to add them themselves.
Version 1.2 added to second post. It brings back the Perl workaround - Texter only clears the unread SMS notification when you hit "Reply" or "Close". Even though it clears the unread notification in the system, it does NOT clear the notification bar. (This is especially true if you're not using the stock Messaging app.)
Also, there was a bug (feature?) where Tasker could not import the "Texty Active" profile - this is because the "System Lock" action I use to sleep the phone requires admin capability. You must add this action yourself and allow Tasker admin privileges, if it asks.
Finally, install instructions updated to reflect the use of the Perl script and adding the "System Lock" action.
Thanks to bartimeus for helping debug!
Running into the same error as before when I try to import the Texty: Active profile....
What do we do after we make the widget? Do we have to hit it and activate the task and just leave it running all the time?
I couldn't find anything called "Perl for Android" on the market so I only installed SL4A, do I have to DO anything with this once I have it installed and the script in the correct folder?
Lastly, when I go in and add the the Lock command it asks me for code, what do I need to enter? It says "Error: Code: Please enter text"
bartimeus said:
Running into the same error as before when I try to import the Texty: Active profile....
Click to expand...
Click to collapse
crap. i'll look into what could be causing that. Did you import before installing SL4A? I wonder if the profile can't find SL4A upon import and then fails. In the meantime, I do list the exact steps you need to produce the profile on your own, so you could create the profile yourself. I'm really sorry about that - this is my first time writing profiles and sharing them with other people, so I'm sure there will be issues in the process.
What do we do after we make the widget? Do we have to hit it and activate the task and just leave it running all the time?
Click to expand...
Click to collapse
Hit the widget whenever you want to use Texty at your computer. When you're done, hit it again. I think it would only be useful to turn off the popup notify and kill the new-SMS notification if we're sitting at the computer. So yes, when you're using Texty, you should leave the task running the entire time.
I couldn't find anything called "Perl for Android" on the market so I only installed SL4A, do I have to DO anything with this once I have it installed and the script in the correct folder?
Click to expand...
Click to collapse
Check the link to Perl for Android in the first post. This is absolutely required - SL4A does not provide the script interpreters, just the API to use them
Lastly, when I go in and add the the Lock command it asks me for code, what do I need to enter? It says "Error: Code: Please enter text"
Click to expand...
Click to collapse
Note that there is a difference between "Lock" and "System Lock". You should be using the latter, not the former.
Okay, I figured out that it is a passcode that it wants. I couldn't find something called System Lock under Display but I will look again.
Nevermind. I am dumb. I found System Lock
I guess tasker hadn't updated in forever or something but I have it all working now. Perl Installed and SL4A installed. All seems well enough, just need to wait for a text now =P
Thank you.
bartimeus said:
Nevermind. I am dumb. I found System Lock
I guess tasker hadn't updated in forever or something but I have it all working now. Perl Installed and SL4A installed. All seems well enough, just need to wait for a text now =P
Thank you.
Click to expand...
Click to collapse
Haha, no worries! Non-market Tasker doesn't really remind you to update that often. I guess I should put in the OP that you need the latest version of Tasker; I can't guarantee older versions, as you just found.
I appreciate any feedback about the profile system I set up. I'm always trying to tweak it, and really I find myself playing with the numbers kind of regularly to hit the "sweet spot".
Been looking for something like this...great job....errr, I should say, just set this up, hope it works and if it does, then great job.
Now if only I could get something similar for all the other notifications I take action on on my computer (calendar appts, gchat etc.) Gmail works fine
I know this is wicked old, but the Perl Script does not work anymore... I have a 4.2.2 ROM and it won't mark them as read.
[ROOT] "Say OK Google" permanent in GNL and Hotword Detection in all screens
In the Google Now Launcher, As part of the "training" a message/prompt appears in the search bar that says "Say OK Google".
I know that I and a few other people on XDA and around the web found this feature quite neat and its little animations were quite nice.
However, after saying "OK Google" a few times to activate the Voice Search, the text would disappear as you were now "trained" and knew how to use the Hotword.
I was quite bummed by this obviously and always tried to get it back by clearing Google Search's data, which would reset my launcher settings too. This would reset the "training" and bring back the text but it had a downside and would also clear away all the apps/folders/widgets that I had on my homescreens.
A few days ago, Google Search was updated and a new feature was introduced which would enable you to say the OK Google Hotword on every screen e.g apps, lockscreen (You could only do this on homescreens in GNL previously). Unfortunately, Google decided to not make this feature available on the Moto X and Moto G (Which I currently have).
I found a thread on XDA which showed me how to enable this feature via a ROOT app called Unleash The Google
Basically, the app enables the dogfood/experimental/developer features of Google Search via Google Search Settings
After messing around with the new DogFood Features, I discovered that I could make the "Say OK Google" Text in GNL's Search Bar permanent instead of disappearing after a few uses.
I will tell you how to make the text permanent firstand later explain how to enable Hotword Detection on every screen
------------------------------------------------------------------------------------------------------------------------------------------------------
1. Download Unleash the Google
2. Install the app and open it. After it finishes loading, you should see a screen that tells you to force stop Google Search. Do so by going to Apps and FSing the Google Search app.
3. Now scroll down the Google Now screen, press the 3 dots and click Settings.
4. You should now see a space on the bottom that says Config Flags. Click it.
a) To get the "Say OK Google" Text all the time, press the 6th setting titled "Always_show_hotword..."
b) To enable the "OK Google Hotword on every screen" feature, turn on "Enable_E300" and "E300_Voice_Everywhere". scroll down to "speaker_id_supported_locales" and press it. type in "en-US" (Must be that and Im pretty sure its case sensitive).
5.After doing that, scroll all the way to the bottom and press "Save Config Settings".
6. Press the Home button on your Nav Bar and then press the search box.
You should now see the "Say OK Google" Text on your search bar and/or be able to say the "OK Google" Hotword from every screen by activating it by going back to "Google Search Settings" > Pressing Voice > Enable Audio History > Press OK Google Detection > Enable "From any screen" and/or "From lock screen". You should see a new screen with prompts. Complete Them and every thing should work fine !
Need to mention that I haven't enabled these settings for long so I'm still not 100% sure if the text will stay on forever
Don't forget to hit thanks if this helped you!
not working
I was looking for this for a really long time thank you
But this doesn't work on latest google version on 5.0.2 please man I really need this
[FRP] LG Stylo 3 FRP Bypass - Boost Mobile LS777
This tutorial is based off me freestyling then using the method of crashing the setup wizard i used on the TracFone variant here - https://forum.xda-developers.com/android/general/frp-lg-stylo-3-frp-bypass-tracfone-t3794325 . It works perfect for this model.
I'm hoping you have some experience manually removing FRP already before reading this. I'm trying to keep it short and simple. I did a video but I need to edit it before it get it online. First video! real basic but my future ones will be more professional.
Steps
1. Enable WIFI and enable Talkback then go to help then voice access and click on the title in the YouTube video not the share link. this will open YouTube.. bit different than others where you have the share ability available and you highlight the link.. hit share etc.
2. Go to the top right icon ( i )>settings> history & privacy or about> YouTube Terms Of Service. Next click top right home icon to get to chrome settings next scroll down and click settings scroll down to site settings and click it, click on location, it should say "location access is turned off for this device." click on the text highlighted in blue "turned off for this device." tap yes, click the highlighted text again if nothing pops up. Turn location on, tap agree, goto google location history, tap manage, now you are in google maps, top right click skip next hit the back arrow, now click the top left 3 lines (menu), tap "got it" now select start driving, tap "got it", top right click the microphone and say "settings" now you are in settings. If you don't land in settings but in the search just scroll over to "In Apps" and select "Settings" as it should show below.
3. While in security this first time go to Fingerprints and Security> phone administrators> turn find my device off by clicking deactivate. Now go to apps and disable/force stop then clear data/cache for each of these Guardian Gadget / Setup Wizard (should be 3) / Google Account Manager / Google Play Services.
4. Now goto bluetooth and turn on your bluetooth headset and pair the device. Restart your phone. Press your headset button and say "settings" you should get a message about google play services being disabled. enable it, hit back and go back into settings.
4b. Alternate step without headset: follow all steps above to get back into settings you will get a prompt along the way about google play services being disabled so enable it and get back to settings.
5. Go back to Fingerprints and Security and enable unknown sources. Get to google chrome and download these 3 apps and install / open each. Sidebar / quick shortcut maker / shortcut master lite. Swipe from the left on your phone with two fingers to bring the sidebar into view and add phone, file manager, chrome, google app, settings, quick shortcut maker and lastly shortcut master lite. Not all of these are required but if you want to screw around with finding some other shortcuts places they come in handy. I found a few other ways and also left them so that i could enable USB switch test and run UAT Universal Android Tool / Miracle Box / other boxes i have / apps to disable FRP via ADB. (this I haven't got around to just yet)
5b. Alternate step without headset: After you are in settings go to app> youtube> notifications> click top right icon ( i ), about then click on About Google Privacy Policy. Now you are in the browser.
6. **WARNING** whatever you do do NOT goto your android home via quick shortcut maker as it will throw up a message about FRP and auto reset/erase your phone disabling everything you've done thus far. So do not add it to sidebar or even click it.
7. Now click on settings and goto Apps, tap 3 dots, select show system apps and now you are going to Disable/Force Stop and clear Cache/Data of all these apps. Google App / Google Backup Transport / Google Calender Sync / Google Contacts Sync / Google Drive Promotion / Google One Time Init / Google Partner Setup / Google Play Services / Google Play Store / Google Services Framework / Google Text-To-Speech Engine / Setup Wizard (all 3).
8. Now pull into view the Sidebar and click on Shortcut Master Lite. Click on the top right 3 dots and click search. Type Setup Wizard into the bottom search field and click search. Now click on the first Setup Wizard link that shows. com.android.LGSetupWizard.SetupHomeInit and click launch.
9. You should be back at the setup screen. Forward through until you get to wifi and shut it off.
10. Now comes the last but fun part. We are going to crash the Setup Wizard. Go back to the start screen of the setup wizard and repeadtly go forward and back until the app crashes and do this until you see the home screen (remind you of iphone glitches? ha) it WILL work just have to do it many times. Once you get to the home screen, go into settings and enable developer mode then get into developer mode and enable OEM Unlock next goto Backup and Reset and reset your phone. DONE. Enjoy your phone now.
phonecapone
Sorry admins/mods accidentally posted to the wrong section. Can you move it for me please?
Hi -
How do I set a custom notification tone on an application (specifically, Google Messages)? I haven't found a way to do that yet, and I have pressed just about every button on the screen.
How do I permanently disable 5G connectivity? The battery draining impacts far outweigh the very minimal benefits of 5G, so I don't think we will ever want to use 5G.
Thanks!
For custom notification sounds you have to put them inside a certain folder, in the "My Files" app search for notifications and copy them into that folder. After that, you have to trawl though the app settings menu, usually I long press the app and select the "i" at the top right - using the Discord app as an example - from there go to Notifications > Notification Categories > Direct Messages (as an example) > Sound and select the one you want.
Uploaded 2 screenshots to show it in action.
Settings > Connections > Mobile Networks > Network Mode, set to 4G
Sonic Steven said:
For custom notification sounds you have to put them inside a certain folder, in the "My Files" app search for notifications and copy them into that folder. After that, you have to trawl though the app settings menu, usually I long press the app and select the "i" at the top right - using the Discord app as an example - from there go to Notifications > Notification Categories > Direct Messages (as an example) > Sound and select the one you want.
Uploaded 2 screenshots to show it in action.
Settings > Connections > Mobile Networks > Network Mode, set to 4G
Click to expand...
Click to collapse
Thanks, @Sonic Steven!
That helped. I was able to set the Google Messages "Incoming Message" Notification Category to my custom sound. (BTW ... If there is another "Incoming Message" Notification Category for another application, will it also play my custom sound? Or, is this setting specific to each application?)
For disabling the 5G network, not as much luck. There wasn't any 4G or 5G settings visible in my AT&T Mobile Network settings. I may try removing my SIM card to see if something shows up.
I believe it is per app basis
If there's no option under the connection settings then I assume you would need to use something like the Samsung Band Selection app
Actually, I just found a better route than the Samsung Band Selection App:
This method exposes the hidden preferred Mobile Data Selector that's already in the phone.
Since we already were using Nova Launcher, this solution was a no-brainer (well, after someone else's brain had figured it out).
No additional software required for us.