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

Commit 07b5be0a authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Fix endless crash when load Bluetooth database"

parents b8b822bc 8fcffb3b
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
     *