deku-messaging / Deku-SMS-Android

Android SMS app ~ Featuring E2EE, Cloud Forwarding, RMQ integrations
GNU General Public License v3.0
206 stars 14 forks source link

Start without making it the default SMS application #200

Open sphh opened 5 months ago

sphh commented 5 months ago

Would it be possible to make Deku-SMS-Android start even if it is not set to the default SMS application?

Is there a reason, why Deku-SMS-Android must be set to the default SMS application?Some other SMS applications can be started without being the default app, but some insist to be the default SMS application …

It would be great, if you could run Deku-SMS-Android in parallel with other SMS apps.

sherlockwisdom commented 5 months ago

Can I ask what's the use case for not having it as a default SMS app? The app does have a custom database, so it can start without being default but the use cases for that are unknown for now; Deku SMS registers all messages to the default SMS database so the user still has access to all their messages when they switch to other default SMS apps.

The reasons for having as the default SMS app are

  1. Android SMS permissions. Deku SMS can only register incoming messages to the user's SMS database if it's the user's default app. Apps which do not function as the default write SMS messages to a custom app database only.
  2. I cannot have this on the playstore without meeting that requirement. If the user does not make the app the default SMS app, Google playstore would not allow the app given it's requesting sensitive permissions (reading and writing to sms inbox).
  3. The app needs to be able to handle all transmission channels (text and data). It uses data for transmitting encryption details and reads from data to create transmission details. Some other apps may handle that differently from how Deku SMS requires to handle them for end-to-end encryption. This reason also ties strongly with the reason 1 above.

Very willing to continue discussing on this as the use case for that could be very useful features

sphh commented 5 months ago

Thank you for your explanation. I now see, why some SMS apps make themselves the default SMS app.

My primary use case is a simple one: Before deciding to make the final switch to a new SMS app, I want to try it out and play around with it. During that time, I still want to receive and handle my text messages in my trusted SMS app. Maybe the new app does not have all the features I rely on or some other quirks?

There is a possible second use case: Maybe another SMS app is better at handling text messages in some cases. So I would like to use that app which is more suitable for the task at hand. That means, that I should be able to use two SMS apps at the same time.

It is surprising, that Google does not enforce the same policy with a phone/dialer app, where you could apply the same thinking. (Mind you, I don't install these apps from the playstore and the versions there might be different to those on e.g. f-droid.)

sherlockwisdom commented 5 months ago

Thank you, this great feedback

Your primary reasons are valid, technically I will want to do that myself when trying out a new app. This would be very possible if requesting to read SMS messages without making the app the default some something Google didn't punish the developer for doing - I think we can have an F-Droid build seperate from the Google build for this purpose.

If we solve the primary reason above I think we will solve you second issues, though running 2 sms apps could potentially mess up your SMS inbox or reduce the experience for one of the apps (the one not made default - as some features are solely built with the expectation the app is acting as default)

I think the issue for them enforcing this on SMS is because the developers are granted great power with SMS capabilities, you can send a lot of stealth messages that could go undetected by the user (not only will those be costly for the user but could also have malicious intents). I don't know better, but I will guess it might be difficult to make a stealth phone call without the user noticing - please correct if I'm wrong

sphh commented 5 months ago

Thank you for the open discussion and for considering my point of view.

Do I understand you correctly, that only the default SMS app is allowed to send text messages? That somehow sounds strange to me, because there are apps, which can send text messages, e.g. automatisation apps or where-is-my-device apps. But again, they might not be found on the playstore?

If that's not too much effort, making a special F-Droid version might be worth considering.

sherlockwisdom commented 5 months ago

No not only the default SMS app can send SMS messages, any app granted permission can send and receive SMS message. I mean Google may enforce SMS permissions only for default apps to ensure the user is aware of messages being sent; any app with the permission can send and there has been instances of apps on the playstore that sent out messages from user's device without the user's knowledge (they can be sent and deleted)

The F-Droid build is a great alternative, I'd start looking into that