Hello,

I'm running cyanogenmod 10.1 (2014) and it's getting old enough that most of
what's on f-droid is now incompatible.  I wish replicant were available, but
CM was the only reasonably free version of android (4.2.2) that was available
for the galaxy S (SGH T-959).

I run a radicale server where the addressbook, calendar and todo lists reside,
synchronized with the phone with DAVDroid.  That too has been replaced with
DAVx which is no longer compatible.

What is locked in are the text messages and call logs.  I have tried
SMSBackup+ and Slight Backup (from f-droid).  Neither can access the text
messages or call logs.  The former says there is nothing to back up, the
latter creates files with just the settings.  I tried both saving to a file
that I later extracted with adb and saving to my imap server.  That too
didn't work even though I can access the imap server from mutt.

So I went in with adb shell.  The text messages are stored in
/data/data/com.android.providers.telephony/databases/mmssms.db
and can be accessed with sqlite3, after I extracted it to my Debian PC.
This is one text record (select * from sms):

3743|6|+1<ph 
number>||1629601544074|1629601544000|0|1|-1|1|0||<text>|+12063130079|0|0|1

The whole database is a bowl of spaguetti cross-referencing all these tables:

sqlite> .tables
addr                 pdu                  threads            
android_metadata     pending_msgs         words              
attachments          rate                 words_content      
canonical_addresses  raw                  words_segdir       
drm                  sms                  words_segments     
part                 sr_pending         
sqlite>

I'm now reconsidering whether it's worth the effort to manually retrieve the
texts.  Attachements are saved separately in
/data/data/com.android.providers.telephony/app_parts.

And I haven't even found yet where the call history is stored.

Does anyone have any shortcuts? already written code to do this? or an app
that actually works?

I have actually managed to side-load the old DAVDroid on the new phone
(GT I-9152, see post about that phone from a few days ago) and now I have the
contacts, calendar items and todo list loaded via the radicale server and
DAVDroid.

I have actually found a way to substitute the mmssms.db file but it required
multiple steps to bypass the lack of root access on this new phone.  See below
for the details, but even though this new phone also has android 4.2.2 it has
2 additional files in the databases directory: mmssms.db-shm and mmssms.db-wal,
and the mmssms.db-journal is missing.  Still, after replacing mmssms.db with
the old one from the other phone, even after rebooting, the text messages list
is empty.  Obviously, that is not the only relevant file.

Does anyone know what else needs to be done? or is there a simple way to move
text messages and call logs from one phone to another?  Without google of
course, the whole point of this is to avoid google.

Any assistance welcome.  Thanks for reading.

Augustine


Steps to replace files, and even read directories without the phone being
rooted.

Adb cannot be put into root mode (adb root) with this new phone and so pushing
files to certain directories is not possible.  I had to push them to /sdcard,
which is a link to somewhere else but it is writeable, and then I had to
"adb shell" and then type su.  Then I could navigate to unreadable directories
and move the files from /sdcard, chown them, rename them, etc...
_______________________________________________
Replicant mailing list
Replicant@osuosl.org
https://lists.osuosl.org/mailman/listinfo/replicant

Reply via email to