[ONE Android Development] adlerweb:
com.android.phone FC after updating N2->N9 (possible fix)

I just dirty-flashed from N2 to N9 and ran into the already described FCs regarding com.android.phone and as such no working SIM and baseband. For those searching along: I tried the suggestions posted by athorax, wiped the named applications using the settings menu and also data for Phone using Titanium - but had no success. Logcat showed the following messages:

12-06 16:43:32.820 3708 3708 E AndroidRuntime: FATAL EXCEPTION: main
12-06 16:43:32.820 3708 3708 E AndroidRuntime: Process: com.android.phone, PID: 3708
12-06 16:43:32.820 3708 3708 E AndroidRuntime: java.lang.IllegalArgumentException: column 'user_network_mode' does not exist
12-06 16:43:32.820 3708 3708 E AndroidRuntime: at android.database.AbstractCursor.getColumnIndexOrThrow(AbstractCursor.java:333)
12-06 16:43:32.820 3708 3708 E AndroidRuntime: at android.database.CursorWrapper.getColumnIndexOrThrow(CursorWrapper.java:87)
12-06 16:43:32.820 3708 3708 E AndroidRuntime: at com.android.internal.telephony.SubscriptionController.getSubInfoRecord(SubscriptionController.java:293)
12-06 16:43:32.820 3708 3708 E AndroidRuntime: at com.android.internal.telephony.SubscriptionController.getSubInfoUsingSlotIdWithCheck(SubscriptionController.java:1631)
12-06 16:43:32.820 3708 3708 E AndroidRuntime: at com.android.internal.telephony.SubscriptionInfoUpdater.updateSubscriptionInfoByIccId(SubscriptionInfoUpdater.java:593)
12-06 16:43:32.820 3708 3708 E AndroidRuntime: at com.android.internal.telephony.SubscriptionInfoUpdater.handleSimLoaded(SubscriptionInfoUpdater.java:421)
12-06 16:43:32.820 3708 3708 E AndroidRuntime: at com.android.internal.telephony.SubscriptionInfoUpdater.handleMessage(SubscriptionInfoUpdater.java:338)
12-06 16:43:32.820 3708 3708 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
12-06 16:43:32.820 3708 3708 E AndroidRuntime: at android.os.Looper.loop(Looper.java:154)
12-06 16:43:32.820 3708 3708 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6140)
12-06 16:43:32.820 3708 3708 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
12-06 16:43:32.820 3708 3708 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
12-06 16:43:32.820 3708 3708 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:778)

Thankfully I found a blog post by Daan describing how to reset the database using adb:

adb shell
su -
rm -rf /data/user_de/0/com.android.providers.telephony/databases/telephony.*

For me this did the trick and I got the baseband working without a full wipe. Also I didn't notice any other issues and the fixes work as expected (woho, NFC) - so as for the previous releases: great work.

---snip---

Same goes for SMS - no FC, but I was unable to receive any messages...

12-14 11:07:05.216 3179 5307 W MmsSmsDatabaseHelper: Upgrading database from version 64 to 67.
12-14 11:07:05.216 3179 5307 E SQLiteLog: (1) table sms_restricted already exists
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: table sms_restricted already exists (code 1): , while compiling: CREATE VIEW sms_restricted AS SELECT * FROM sms WHERE type=1 OR type=2;
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: android.database.sqlite.SQLiteException: table sms_restricted already exists (code 1): , while compiling: CREATE VIEW sms_restricted AS SELECT * FROM sms WHERE type=1 OR type=2;
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1677)
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1608)
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: at com.android.providers.telephony.MmsSmsDatabaseHelper.upgradeDatabaseToVersion66(MmsSmsDatabaseHelper.java:1721)
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: at com.android.providers.telephony.MmsSmsDatabaseHelper.onUpgrade(MmsSmsDatabaseHelper.java:1466)
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:256)
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: at com.android.providers.telephony.SmsProvider.query(SmsProvider.java:160)
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: at android.content.ContentProvider.query(ContentProvider.java:1020)
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: at android.content.ContentProvider$Transport.query(ContentProvider.java:239)
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: at android.os.Binder.execTransact(Binder.java:565)
12-14 11:07:05.218 3179 5307 E MmsSmsDatabaseHelper: Destroying all old data.

adb shell
su -
rm -rf /data/user_de/0/com.android.providers.telephony/databases/mmssms.*