diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SQLCipherOpenHelper.java b/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SQLCipherOpenHelper.java index 18c277c33d..51cd6c486b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SQLCipherOpenHelper.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SQLCipherOpenHelper.java @@ -170,8 +170,9 @@ public class SQLCipherOpenHelper extends SQLiteOpenHelper implements SignalDatab private static final int ABOUT = 89; private static final int SPLIT_SYSTEM_NAMES = 90; private static final int PAYMENTS = 91; + private static final int CLEAN_STORAGE_IDS = 92; - private static final int DATABASE_VERSION = 91; + private static final int DATABASE_VERSION = 92; private static final String DATABASE_NAME = "signal.db"; private final Context context; @@ -1291,6 +1292,13 @@ public class SQLCipherOpenHelper extends SQLiteOpenHelper implements SignalDatab db.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS receipt_public_key_index ON payments (receipt_public_key);"); } + if (oldVersion < CLEAN_STORAGE_IDS) { + ContentValues values = new ContentValues(); + values.putNull("storage_service_key"); + int count = db.update("recipient", values, "storage_service_key NOT NULL AND ((phone NOT NULL AND INSTR(phone, '+') = 0) OR (group_id NOT NULL AND (LENGTH(group_id) != 85 and LENGTH(group_id) != 53)))", null); + Log.i(TAG, "There were " + count + " bad rows that had their storageID removed."); + } + db.setTransactionSuccessful(); } finally { db.endTransaction();