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

Commit 81536f89 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Fix endless crash when load Bluetooth database"

parents e0cbbb89 d09688a4
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
     *