Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59353bd6 authored by Ugo Yu's avatar Ugo Yu Committed by android-build-merger
Browse files

Merge "Fix endless crash when load Bluetooth database"

am: 07b5be0a

Change-Id: I635a5dd2230cb5507e1a523cb3b089496c9a35e8
parents d7835086 07b5be0a
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -89,7 +89,15 @@ public class DatabaseManager {
            switch (msg.what) {
                case MSG_LOAD_DATABASE: {
                    synchronized (mDatabase) {
                        List<Metadata> list = mDatabase.load();
                        List<Metadata> list;
                        try {
                            list = mDatabase.load();
                        } catch (IllegalStateException e) {
                            Log.e(TAG, "Unable to open database: " + e);
                            mDatabase = MetadataDatabase
                                    .createDatabaseWithoutMigration(mAdapterService);
                            list = mDatabase.load();
                        }
                        cacheMetadata(list);
                    }
                    break;
+15 −1
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ public abstract class MetadataDatabase extends RoomDatabase {
    protected abstract MetadataDao mMetadataDao();

    /**
     * Create a {@link MetadataDatabase} database
     * Create a {@link MetadataDatabase} database with migrations
     *
     * @param context the Context to create database
     * @return the created {@link MetadataDatabase}
@@ -51,6 +51,20 @@ public abstract class MetadataDatabase extends RoomDatabase {
                .build();
    }

    /**
     * Create a {@link MetadataDatabase} database without migration, database
     * would be reset if any load failure happens
     *
     * @param context the Context to create database
     * @return the created {@link MetadataDatabase}
     */
    public static MetadataDatabase createDatabaseWithoutMigration(Context context) {
        return Room.databaseBuilder(context,
                MetadataDatabase.class, DATABASE_NAME)
                .fallbackToDestructiveMigration()
                .build();
    }

    /**
     * Insert a {@link Metadata} to database
     *