// Path: sqlite-android/src/main/java/io/requery/android/database/DatabaseErrorHandler.java
// public interface DatabaseErrorHandler {
// 
//     /**
//      * The method invoked when database corruption is detected.
//      * @param dbObj the {@link SQLiteDatabase} object representing the database on which corruption
//      * is detected.
//      */
//     void onCorruption(SQLiteDatabase dbObj);
// }


import android.content.Context;
import androidx.sqlite.db.SupportSQLiteOpenHelper;
import io.requery.android.database.DatabaseErrorHandler;
import java.util.Collections;
        public void onCreate(SQLiteDatabase db) {
            callback.onCreate(db);
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            callback.onUpgrade(db, oldVersion, newVersion);
        }

        @Override
        public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            callback.onDowngrade(db, oldVersion, newVersion);
        }

        @Override
        public void onOpen(SQLiteDatabase db) {
            callback.onOpen(db);
        }

        @Override protected SQLiteDatabaseConfiguration createConfiguration(String path, int openFlags) {
            SQLiteDatabaseConfiguration config = super.createConfiguration(path, openFlags);

            for (ConfigurationOptions option : configurationOptions) {
                config = option.apply(config);
            }

            return config;
        }
    }

// Path: sqlite-android/src/main/java/io/requery/android/database/DatabaseErrorHandler.java
// public interface DatabaseErrorHandler {
// 
//     /**
//      * The method invoked when database corruption is detected.
//      * @param dbObj the {@link SQLiteDatabase} object representing the database on which corruption
//      * is detected.
//      */
//     void onCorruption(SQLiteDatabase dbObj);
// }


// Path: sqlite-android/src/main/java/io/requery/android/database/sqlite/RequerySQLiteOpenHelperFactory.java
import android.content.Context;
import androidx.sqlite.db.SupportSQLiteOpenHelper;
import io.requery.android.database.DatabaseErrorHandler;
import java.util.Collections;

        public void onCreate(SQLiteDatabase db) {
            callback.onCreate(db);
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            callback.onUpgrade(db, oldVersion, newVersion);
        }

        @Override
        public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            callback.onDowngrade(db, oldVersion, newVersion);
        }

        @Override
        public void onOpen(SQLiteDatabase db) {
            callback.onOpen(db);
        }

        @Override protected SQLiteDatabaseConfiguration createConfiguration(String path, int openFlags) {
            SQLiteDatabaseConfiguration config = super.createConfiguration(path, openFlags);

            for (ConfigurationOptions option : configurationOptions) {
                config = option.apply(config);
            }

            return config;
        }
    }

    private static final class CallbackDatabaseErrorHandler implements DatabaseErrorHandler {