Incompatibilities with SMS app

For some days I was in contact with some SMS app for Android developers talking about the priority on managing SMS.
Some of them never returned me back (like, GoSMS). I hate lack of support >:(

Others, like MightyText (https://play.google.com/store/apps/details?id=com.texty.sms), always returned me back and I could keep a very good level of conversation. But, after all, they’re not able to reduce the priority:

avast! is not only an antivírus, bit has a antitheft module. The antivírus has no problems but the antitheft is managed by SMS and can't work if MightyText has the highest priority. If the phone is stolen, it should be managed first by avast then from Mightytext. Is it possible to control it with not a highest priority?
This not something that we have a setting for. We don't want to manage the phone the way that Avast works - however, if we lowered the priority of our inbound SMS listener, our app would stop working for most of our user base.
  1. How does the priority work? Binary (on & off) or admit levels?
  2. Is there anything that avast! AntiTheft could do to admit other SMS tools in the chain or we’re on a one shot race here between the SMS tools? Can’t the action be chained between the applications?

Priority is a number with a pretty big range (around 2^31 = more than 2 billion). Apps are ordered by their priority (what happens when the priority is the same is not determined imho, some say the first one installed gets the message, but I tested it and couldn’t confirm this) and the one with highest priority gets the message first. App has around 5s to handle the message (the time is given by the system). What an app can do is to pass the message to the next one with highest priority or to block the message. And that is exactly how AAT works, it looks at the message, identifies if it is meant for AAT and if so, blocks it. If not, passes it to the next one unchanged.

Now what some messaging apps do is they receive a message and block it. In that case AAT doesn’t receive the command at all. Some receive it and pass it further, in that case AAT receives the command, but the message is visible in the messaging application that got the message first.

Filip

So, everybody sets the priority to 2^31… right?
By your explanation, if MightText got a little lower priority, it would be compatible with avast!
But, doing so, it could become incompatible with other SMS tools that do not lower their priority. So, thinking by their side, to make their app working, they always set the priority to the top… This will be a no end fight until you can tell them that avast! Antitheft just require them a (2^31 - 1) priority…
Is it possible?

Exactly, everybody sets the priority to the max value.

Well, you actually need priority 1 to replace the stock messaging application (which has 0) and it will always be broken somehow if you install more than one custom messaging app (since they will all set the priority to the max and then the behavior will be dependent on the actual device).

The priority is there for a reason - it was supposed to enable cooperation of multiple applications receiving SMS. All the developers should decide how high their app should be based on its importance. And the apps should ALWAYS send the message further if the message is not MEANT for it (like AAT commands). If you have a custom messaging application, you should receive all the leftovers that didn’t get intercepted by anyone else so the exact priority you need is 1 to develop such an app.

Filip

So if I’m following correctly…we will only be able to use the stock messenger, i.e., chances are slim that custom app developers will ever reduce priority.

Basically, you are correct. We have actually made an agreements with few creators of such apps and made them work with avast!, but I’m afraid the developers of the biggest ones just won’t listen. Although I have heard there is some option in GoSMS that reduces the priority (something about default messaging app) making it compatible.

Filip

Filip, could you publish a “how-to” manually editing the priority into the xml configuration file of 3rd party tools?

Any chance you know/ remember which smaller apps are compatible with avast?