tmo1 / sms-ie

SMS Import / Export is a simple Android app that imports and exports SMS and MMS messages, call logs, and contacts from and to JSON / NDJSON files.
GNU General Public License v3.0
312 stars 38 forks source link

Not Listed In Default SMS App #167

Closed LTR777 closed 4 months ago

LTR777 commented 4 months ago

Hi

I recently factory reset my phone, reinstalled SMS-IE and tried to restore my SMS that i had backed up prior with SMS-IE but for some reason SMS-IE is not listed as an option in "default SMS apps".

If i install other 3rd party SMS apps they do get listed under "default SMS apps" but just not SMS-IE even after restarting Android and uninstalling/reinstalling SMS-IE etc.

I have factory reset other times and both made and restored SMS backups successfully with SMS-IE on this exact same phone and never once experienced this issue before.

My phone is a Google Pixel 7 running Android 14 (GrapheneOS) and SMS-IE 2.3.1 from FDroid.

I had no issues with older versions of SMS-IE and am happy to try prior versions if available.

Please advise.

tmo1 commented 4 months ago

Thanks for reporting this, but I'm afraid that I haven't come across this before, and I have no idea what the problem might be. You can certainly try earlier versions - they're all available here on Github, and at least some are available from F-Droid.

andr5w commented 4 months ago

I am also experiencing this issue on my Pixel 8 running GrapheneOS (Android 14). However, I have a Pixel 5 (the phone I'd like to get my messages off of, also running GrapheneOS) and sms-ie does show up as an option in the "Default SMS app" settings. My Pixel 8 is running the latest build of GrapheneOS that they just pushed based on Android 14 QPR2, and it's not looking like my Pixel 5 will get that update (it's too old).

I'm wondering if something changed in Android 14 QPR2 around how permissions need to be set/requested?

I downloaded the Fossify Messages app and it shows up in the "Default SMS app" settings on my Pixel 8, so I'm wondering if it's an issue related to how sms-ie declares/requests its permissions and/or intents? I've been debugging the code for the past few hours trying different combinations and haven't been able to get it to show up in the default list yet.

@tmo1 if you compare the permissions/intents in the Fossify Messages app do you see anything that stands out to you?

LTR777 commented 4 months ago

@tmo1 I have now tried installing several versions (as far back and including 1.5.5) and none were listed under "Default SMS app" in Android settings. I can guarantee from past experience using these prior versions of SMS-IE previously (only now retesting them) that at least some of these versions worked perfectly fine on this Google Pixel 7 with GrapheneOS (Android 14) previously which means that either a GrapheneOS specific update OR an Android update have likely caused, or at least contributed towards, this issue.

@tmo1 Aside from Android privacy and security enhancements GrapheneOS rapidly pushes out Android updates (especially security updates etc) and if this issue is relating to an Android update specifically the update will almost certainly be rolled out by other manufacturers (Samsung etc) also in due course resulting in a lot more bug reports from other users.

As andr5w highlighted the current version of Fossify Messages available on FDroid doesn't have this issue and it is listed under "Default SMS app" after installation which i assume indicates the two apps take different approaches with their setup processes in Android. I note that the post-install setup process of SMS-IE vs Fossify Messages shows what appears to be different permission prompts with SMS-IE stating "Allow SMS Import / Export to send and view messages" as opposed to Fossify Messages stating "Set Messages as your default SMS app". See attached screenshots below.

@andr5w Did you find anything of particular interest in your review of the source codes of SMS-IE vs Fossify Messages? As you suggested i expect something has changes regarding how permissions have changed. Hopefully this issue will be fixed and you can get the messages off your Pixel 5.

SMS-IE prompt: SMS-IE Prompt

Fossify Messages prompt: Fossify SMS Prompt

andr5w commented 4 months ago

@LTR777 I've got a pull request open (linked above) that fixed this issue for me (tested and confirmed). Ended up being a flipped export setting on one of the activities. I didn't invest too much time looking through the Android 14 QPR2 release notes to see if anything changed, so I'm not sure if it was a base Android change or a GrapheneOS change or what. Regardless, the pull request sets the behavior to an "expected" default I think.

LTR777 commented 4 months ago

@andr5w Thanks for the update. Does that mean an app update will be rolled out hopefully soon which will fix this issue?

tmo1 commented 4 months ago

I didn't invest too much time looking through the Android 14 QPR2 release notes to see if anything changed, so I'm not sure if it was a base Android change or a GrapheneOS change or what.

I did look at the Android release notes and couldn't find anything, but it's certainly possible that I missed something or didn't look in the right place.

Regardless, the pull request sets the behavior to an "expected" default I think.

I agree with this assessment.

Does that mean an app update will be rolled out hopefully soon which will fix this issue?

I plan to push an update with this fix within a day or two.