Rename PrepackagedCallback to PrepackagedDatabaseCallback

Relnote: "Rename PrepackagedCallback to PrepackagedDatabaseCallback"
Bug: 163460948
Test: Existing tests pass.
Change-Id: I11963bdc4750cc88cffd8adb83257f9ba1c913e4
diff --git a/room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/test/PrepackageTest.java b/room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/test/PrepackageTest.java
index 725df0e..85ec830 100644
--- a/room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/test/PrepackageTest.java
+++ b/room/integration-tests/testapp/src/androidTest/java/androidx/room/integration/testapp/test/PrepackageTest.java
@@ -570,7 +570,7 @@
     public void onCreateFromAsset_calledOnOpenPrepackagedDatabase() {
         Context context = ApplicationProvider.getApplicationContext();
         context.deleteDatabase("products.db");
-        TestPrepackagedCallback callback = new TestPrepackagedCallback();
+        TestPrepackagedDatabaseCallback callback = new TestPrepackagedDatabaseCallback();
         ProductsDatabase database = Room.databaseBuilder(
                 context, ProductsDatabase.class, "products.db")
                 .createFromAsset("databases/products_v1.db", callback)
@@ -594,7 +594,7 @@
         InputStream toCopyInput = context.getAssets().open("databases/products_v1.db");
         copyAsset(toCopyInput, dataDbFile);
 
-        TestPrepackagedCallback callback = new TestPrepackagedCallback();
+        TestPrepackagedDatabaseCallback callback = new TestPrepackagedDatabaseCallback();
         ProductsDatabase database = Room.databaseBuilder(
                 context, ProductsDatabase.class, "products_external.db")
                 .createFromFile(dataDbFile, callback)
@@ -621,7 +621,7 @@
             return zipInputStream;
         };
 
-        TestPrepackagedCallback callback = new TestPrepackagedCallback();
+        TestPrepackagedDatabaseCallback callback = new TestPrepackagedDatabaseCallback();
         ProductsDatabase database = Room.databaseBuilder(
                 context, ProductsDatabase.class, "products.db")
                 .createFromInputStream(inputStreamCallable, callback)
@@ -644,7 +644,7 @@
         ProductsDatabase db1 = null;
         ProductsDatabase db2 = null;
         try {
-            TestPrepackagedCallback callback = new TestPrepackagedCallback();
+            TestPrepackagedDatabaseCallback callback = new TestPrepackagedDatabaseCallback();
             db1 = Room.databaseBuilder(
                     context, ProductsDatabase.class, "products.db")
                     .createFromAsset("databases/products_v1.db", callback)
@@ -677,14 +677,14 @@
     public void onPrepackagedCallbackException_calledOnPrepackagedCallbackWhenOpenedAgain() {
         Context context = ApplicationProvider.getApplicationContext();
         context.deleteDatabase("products.db");
-        TestPrepackagedCallback throwingCallback = new TestPrepackagedCallback() {
+        TestPrepackagedDatabaseCallback throwingCallback = new TestPrepackagedDatabaseCallback() {
             @Override
             public void onOpenPrepackagedDatabase(@NonNull SupportSQLiteDatabase db) {
                 throw new RuntimeException("Something went wrong!");
             }
         };
 
-        TestPrepackagedCallback callback = new TestPrepackagedCallback();
+        TestPrepackagedDatabaseCallback callback = new TestPrepackagedDatabaseCallback();
 
         ProductsDatabase db1 = null;
         ProductsDatabase db2 = null;
@@ -743,7 +743,8 @@
         }
     }
 
-    public static class TestPrepackagedCallback extends RoomDatabase.PrepackagedCallback {
+    public static class TestPrepackagedDatabaseCallback extends
+            RoomDatabase.PrepackagedDatabaseCallback {
 
         int mOpenPrepackagedDatabaseCount;
 
diff --git a/room/runtime/api/current.txt b/room/runtime/api/current.txt
index 4cc1b07..edb2d67 100644
--- a/room/runtime/api/current.txt
+++ b/room/runtime/api/current.txt
@@ -15,7 +15,7 @@
     field public final androidx.room.RoomDatabase.MigrationContainer migrationContainer;
     field public final boolean multiInstanceInvalidation;
     field public final String? name;
-    field public final androidx.room.RoomDatabase.PrepackagedCallback? prepackagedCallback;
+    field public final androidx.room.RoomDatabase.PrepackagedDatabaseCallback? prepackagedDatabaseCallback;
     field public final java.util.concurrent.Executor queryExecutor;
     field public final boolean requireMigration;
     field public final androidx.sqlite.db.SupportSQLiteOpenHelper.Factory sqliteOpenHelperFactory;
@@ -74,11 +74,11 @@
     method public androidx.room.RoomDatabase.Builder<T!> allowMainThreadQueries();
     method public T build();
     method public androidx.room.RoomDatabase.Builder<T!> createFromAsset(String);
-    method public androidx.room.RoomDatabase.Builder<T!> createFromAsset(String, androidx.room.RoomDatabase.PrepackagedCallback);
+    method public androidx.room.RoomDatabase.Builder<T!> createFromAsset(String, androidx.room.RoomDatabase.PrepackagedDatabaseCallback);
     method public androidx.room.RoomDatabase.Builder<T!> createFromFile(java.io.File);
-    method public androidx.room.RoomDatabase.Builder<T!> createFromFile(java.io.File, androidx.room.RoomDatabase.PrepackagedCallback);
+    method public androidx.room.RoomDatabase.Builder<T!> createFromFile(java.io.File, androidx.room.RoomDatabase.PrepackagedDatabaseCallback);
     method public androidx.room.RoomDatabase.Builder<T!> createFromInputStream(java.util.concurrent.Callable<java.io.InputStream!>);
-    method public androidx.room.RoomDatabase.Builder<T!> createFromInputStream(java.util.concurrent.Callable<java.io.InputStream!>, androidx.room.RoomDatabase.PrepackagedCallback);
+    method public androidx.room.RoomDatabase.Builder<T!> createFromInputStream(java.util.concurrent.Callable<java.io.InputStream!>, androidx.room.RoomDatabase.PrepackagedDatabaseCallback);
     method public androidx.room.RoomDatabase.Builder<T!> enableMultiInstanceInvalidation();
     method public androidx.room.RoomDatabase.Builder<T!> fallbackToDestructiveMigration();
     method public androidx.room.RoomDatabase.Builder<T!> fallbackToDestructiveMigrationFrom(int...);
@@ -108,8 +108,8 @@
     method public java.util.List<androidx.room.migration.Migration!>? findMigrationPath(int, int);
   }
 
-  public abstract static class RoomDatabase.PrepackagedCallback {
-    ctor public RoomDatabase.PrepackagedCallback();
+  public abstract static class RoomDatabase.PrepackagedDatabaseCallback {
+    ctor public RoomDatabase.PrepackagedDatabaseCallback();
     method public void onOpenPrepackagedDatabase(androidx.sqlite.db.SupportSQLiteDatabase);
   }
 
diff --git a/room/runtime/api/public_plus_experimental_current.txt b/room/runtime/api/public_plus_experimental_current.txt
index 4cc1b07..edb2d67 100644
--- a/room/runtime/api/public_plus_experimental_current.txt
+++ b/room/runtime/api/public_plus_experimental_current.txt
@@ -15,7 +15,7 @@
     field public final androidx.room.RoomDatabase.MigrationContainer migrationContainer;
     field public final boolean multiInstanceInvalidation;
     field public final String? name;
-    field public final androidx.room.RoomDatabase.PrepackagedCallback? prepackagedCallback;
+    field public final androidx.room.RoomDatabase.PrepackagedDatabaseCallback? prepackagedDatabaseCallback;
     field public final java.util.concurrent.Executor queryExecutor;
     field public final boolean requireMigration;
     field public final androidx.sqlite.db.SupportSQLiteOpenHelper.Factory sqliteOpenHelperFactory;
@@ -74,11 +74,11 @@
     method public androidx.room.RoomDatabase.Builder<T!> allowMainThreadQueries();
     method public T build();
     method public androidx.room.RoomDatabase.Builder<T!> createFromAsset(String);
-    method public androidx.room.RoomDatabase.Builder<T!> createFromAsset(String, androidx.room.RoomDatabase.PrepackagedCallback);
+    method public androidx.room.RoomDatabase.Builder<T!> createFromAsset(String, androidx.room.RoomDatabase.PrepackagedDatabaseCallback);
     method public androidx.room.RoomDatabase.Builder<T!> createFromFile(java.io.File);
-    method public androidx.room.RoomDatabase.Builder<T!> createFromFile(java.io.File, androidx.room.RoomDatabase.PrepackagedCallback);
+    method public androidx.room.RoomDatabase.Builder<T!> createFromFile(java.io.File, androidx.room.RoomDatabase.PrepackagedDatabaseCallback);
     method public androidx.room.RoomDatabase.Builder<T!> createFromInputStream(java.util.concurrent.Callable<java.io.InputStream!>);
-    method public androidx.room.RoomDatabase.Builder<T!> createFromInputStream(java.util.concurrent.Callable<java.io.InputStream!>, androidx.room.RoomDatabase.PrepackagedCallback);
+    method public androidx.room.RoomDatabase.Builder<T!> createFromInputStream(java.util.concurrent.Callable<java.io.InputStream!>, androidx.room.RoomDatabase.PrepackagedDatabaseCallback);
     method public androidx.room.RoomDatabase.Builder<T!> enableMultiInstanceInvalidation();
     method public androidx.room.RoomDatabase.Builder<T!> fallbackToDestructiveMigration();
     method public androidx.room.RoomDatabase.Builder<T!> fallbackToDestructiveMigrationFrom(int...);
@@ -108,8 +108,8 @@
     method public java.util.List<androidx.room.migration.Migration!>? findMigrationPath(int, int);
   }
 
-  public abstract static class RoomDatabase.PrepackagedCallback {
-    ctor public RoomDatabase.PrepackagedCallback();
+  public abstract static class RoomDatabase.PrepackagedDatabaseCallback {
+    ctor public RoomDatabase.PrepackagedDatabaseCallback();
     method public void onOpenPrepackagedDatabase(androidx.sqlite.db.SupportSQLiteDatabase);
   }
 
diff --git a/room/runtime/api/restricted_current.txt b/room/runtime/api/restricted_current.txt
index 67dc701..99bc46c 100644
--- a/room/runtime/api/restricted_current.txt
+++ b/room/runtime/api/restricted_current.txt
@@ -6,7 +6,7 @@
     ctor @Deprecated @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public DatabaseConfiguration(android.content.Context, String?, androidx.sqlite.db.SupportSQLiteOpenHelper.Factory, androidx.room.RoomDatabase.MigrationContainer, java.util.List<androidx.room.RoomDatabase.Callback!>?, boolean, androidx.room.RoomDatabase.JournalMode!, java.util.concurrent.Executor, java.util.concurrent.Executor, boolean, boolean, boolean, java.util.Set<java.lang.Integer!>?);
     ctor @Deprecated @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public DatabaseConfiguration(android.content.Context, String?, androidx.sqlite.db.SupportSQLiteOpenHelper.Factory, androidx.room.RoomDatabase.MigrationContainer, java.util.List<androidx.room.RoomDatabase.Callback!>?, boolean, androidx.room.RoomDatabase.JournalMode!, java.util.concurrent.Executor, java.util.concurrent.Executor, boolean, boolean, boolean, java.util.Set<java.lang.Integer!>?, String?, java.io.File?);
     ctor @Deprecated @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public DatabaseConfiguration(android.content.Context, String?, androidx.sqlite.db.SupportSQLiteOpenHelper.Factory, androidx.room.RoomDatabase.MigrationContainer, java.util.List<androidx.room.RoomDatabase.Callback!>?, boolean, androidx.room.RoomDatabase.JournalMode, java.util.concurrent.Executor, java.util.concurrent.Executor, boolean, boolean, boolean, java.util.Set<java.lang.Integer!>?, String?, java.io.File?, java.util.concurrent.Callable<java.io.InputStream!>?);
-    ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public DatabaseConfiguration(android.content.Context, String?, androidx.sqlite.db.SupportSQLiteOpenHelper.Factory, androidx.room.RoomDatabase.MigrationContainer, java.util.List<androidx.room.RoomDatabase.Callback!>?, boolean, androidx.room.RoomDatabase.JournalMode, java.util.concurrent.Executor, java.util.concurrent.Executor, boolean, boolean, boolean, java.util.Set<java.lang.Integer!>?, String?, java.io.File?, java.util.concurrent.Callable<java.io.InputStream!>?, androidx.room.RoomDatabase.PrepackagedCallback?);
+    ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public DatabaseConfiguration(android.content.Context, String?, androidx.sqlite.db.SupportSQLiteOpenHelper.Factory, androidx.room.RoomDatabase.MigrationContainer, java.util.List<androidx.room.RoomDatabase.Callback!>?, boolean, androidx.room.RoomDatabase.JournalMode, java.util.concurrent.Executor, java.util.concurrent.Executor, boolean, boolean, boolean, java.util.Set<java.lang.Integer!>?, String?, java.io.File?, java.util.concurrent.Callable<java.io.InputStream!>?, androidx.room.RoomDatabase.PrepackagedDatabaseCallback?);
     method public boolean isMigrationRequired(int, int);
     method @Deprecated public boolean isMigrationRequiredFrom(int);
     field public final boolean allowDestructiveMigrationOnDowngrade;
@@ -20,7 +20,7 @@
     field public final androidx.room.RoomDatabase.MigrationContainer migrationContainer;
     field public final boolean multiInstanceInvalidation;
     field public final String? name;
-    field public final androidx.room.RoomDatabase.PrepackagedCallback? prepackagedCallback;
+    field public final androidx.room.RoomDatabase.PrepackagedDatabaseCallback? prepackagedDatabaseCallback;
     field public final java.util.concurrent.Executor queryExecutor;
     field public final boolean requireMigration;
     field public final androidx.sqlite.db.SupportSQLiteOpenHelper.Factory sqliteOpenHelperFactory;
@@ -115,11 +115,11 @@
     method public androidx.room.RoomDatabase.Builder<T!> allowMainThreadQueries();
     method public T build();
     method public androidx.room.RoomDatabase.Builder<T!> createFromAsset(String);
-    method public androidx.room.RoomDatabase.Builder<T!> createFromAsset(String, androidx.room.RoomDatabase.PrepackagedCallback);
+    method public androidx.room.RoomDatabase.Builder<T!> createFromAsset(String, androidx.room.RoomDatabase.PrepackagedDatabaseCallback);
     method public androidx.room.RoomDatabase.Builder<T!> createFromFile(java.io.File);
-    method public androidx.room.RoomDatabase.Builder<T!> createFromFile(java.io.File, androidx.room.RoomDatabase.PrepackagedCallback);
+    method public androidx.room.RoomDatabase.Builder<T!> createFromFile(java.io.File, androidx.room.RoomDatabase.PrepackagedDatabaseCallback);
     method public androidx.room.RoomDatabase.Builder<T!> createFromInputStream(java.util.concurrent.Callable<java.io.InputStream!>);
-    method public androidx.room.RoomDatabase.Builder<T!> createFromInputStream(java.util.concurrent.Callable<java.io.InputStream!>, androidx.room.RoomDatabase.PrepackagedCallback);
+    method public androidx.room.RoomDatabase.Builder<T!> createFromInputStream(java.util.concurrent.Callable<java.io.InputStream!>, androidx.room.RoomDatabase.PrepackagedDatabaseCallback);
     method public androidx.room.RoomDatabase.Builder<T!> enableMultiInstanceInvalidation();
     method public androidx.room.RoomDatabase.Builder<T!> fallbackToDestructiveMigration();
     method public androidx.room.RoomDatabase.Builder<T!> fallbackToDestructiveMigrationFrom(int...);
@@ -149,8 +149,8 @@
     method public java.util.List<androidx.room.migration.Migration!>? findMigrationPath(int, int);
   }
 
-  public abstract static class RoomDatabase.PrepackagedCallback {
-    ctor public RoomDatabase.PrepackagedCallback();
+  public abstract static class RoomDatabase.PrepackagedDatabaseCallback {
+    ctor public RoomDatabase.PrepackagedDatabaseCallback();
     method public void onOpenPrepackagedDatabase(androidx.sqlite.db.SupportSQLiteDatabase);
   }
 
diff --git a/room/runtime/src/main/java/androidx/room/DatabaseConfiguration.java b/room/runtime/src/main/java/androidx/room/DatabaseConfiguration.java
index 6db36b2d..753ae77 100644
--- a/room/runtime/src/main/java/androidx/room/DatabaseConfiguration.java
+++ b/room/runtime/src/main/java/androidx/room/DatabaseConfiguration.java
@@ -63,7 +63,7 @@
     public final List<RoomDatabase.Callback> callbacks;
 
     @Nullable
-    public final RoomDatabase.PrepackagedCallback prepackagedCallback;
+    public final RoomDatabase.PrepackagedDatabaseCallback prepackagedDatabaseCallback;
 
     /**
      * Whether Room should throw an exception for queries run on the main thread.
@@ -136,7 +136,7 @@
      * @deprecated Use {@link #DatabaseConfiguration(Context, String,
      * SupportSQLiteOpenHelper.Factory, RoomDatabase.MigrationContainer, List, boolean,
      * RoomDatabase.JournalMode, Executor, Executor, boolean, boolean, boolean, Set, String, File,
-     * Callable)}
+     * Callable, RoomDatabase.PrepackagedDatabaseCallback)}
      *
      * @param context The application context.
      * @param name Name of the database, can be null if it is in memory.
@@ -175,7 +175,7 @@
      * @deprecated Use {@link #DatabaseConfiguration(Context, String,
      * SupportSQLiteOpenHelper.Factory, RoomDatabase.MigrationContainer, List, boolean,
      * RoomDatabase.JournalMode, Executor, Executor, boolean, boolean, boolean, Set, String, File,
-     * Callable)}
+     * Callable, RoomDatabase.PrepackagedDatabaseCallback)}
      *
      * @param context The application context.
      * @param name Name of the database, can be null if it is in memory.
@@ -221,7 +221,7 @@
      * @deprecated Use {@link #DatabaseConfiguration(Context, String,
      * SupportSQLiteOpenHelper.Factory, RoomDatabase.MigrationContainer, List, boolean,
      * RoomDatabase.JournalMode, Executor, Executor, boolean, boolean, boolean, Set, String, File,
-     * Callable)}
+     * Callable, RoomDatabase.PrepackagedDatabaseCallback)}
      *
      * @param context The application context.
      * @param name Name of the database, can be null if it is in memory.
@@ -271,7 +271,7 @@
      * @deprecated Use {@link #DatabaseConfiguration(Context, String,
      * SupportSQLiteOpenHelper.Factory, RoomDatabase.MigrationContainer, List, boolean,
      * RoomDatabase.JournalMode, Executor, Executor, boolean, boolean, boolean, Set, String, File,
-     * Callable, RoomDatabase.PrepackagedCallback)}
+     * Callable, RoomDatabase.PrepackagedDatabaseCallback)}
      *
      * @param context The application context.
      * @param name Name of the database, can be null if it is in memory.
@@ -341,7 +341,7 @@
      * @param copyFromFile The pre-packaged database file.
      * @param copyFromInputStream The callable to get the input stream from which a
      *                            pre-package database file will be copied from.
-     * @param prepackagedCallback The pre-packaged callback.
+     * @param prepackagedDatabaseCallback The pre-packaged callback.
      *
      * @hide
      */
@@ -362,7 +362,7 @@
             @Nullable String copyFromAssetPath,
             @Nullable File copyFromFile,
             @Nullable Callable<InputStream> copyFromInputStream,
-            @Nullable RoomDatabase.PrepackagedCallback prepackagedCallback) {
+            @Nullable RoomDatabase.PrepackagedDatabaseCallback prepackagedDatabaseCallback) {
         this.sqliteOpenHelperFactory = sqliteOpenHelperFactory;
         this.context = context;
         this.name = name;
@@ -379,7 +379,7 @@
         this.copyFromAssetPath = copyFromAssetPath;
         this.copyFromFile = copyFromFile;
         this.copyFromInputStream = copyFromInputStream;
-        this.prepackagedCallback = prepackagedCallback;
+        this.prepackagedDatabaseCallback = prepackagedDatabaseCallback;
     }
 
     /**
diff --git a/room/runtime/src/main/java/androidx/room/RoomDatabase.java b/room/runtime/src/main/java/androidx/room/RoomDatabase.java
index 7e0f442..4f7fcfa 100644
--- a/room/runtime/src/main/java/androidx/room/RoomDatabase.java
+++ b/room/runtime/src/main/java/androidx/room/RoomDatabase.java
@@ -541,7 +541,7 @@
         private final String mName;
         private final Context mContext;
         private ArrayList<Callback> mCallbacks;
-        private PrepackagedCallback mPrepackagedCallback;
+        private PrepackagedDatabaseCallback mPrepackagedDatabaseCallback;
 
         /** The Executor used to run database queries. This should be background-threaded. */
         private Executor mQueryExecutor;
@@ -629,8 +629,8 @@
         @SuppressLint("BuilderSetStyle") // To keep naming consistency.
         public Builder<T> createFromAsset(
                 @NonNull String databaseFilePath,
-                @NonNull PrepackagedCallback callback) {
-            mPrepackagedCallback = callback;
+                @NonNull PrepackagedDatabaseCallback callback) {
+            mPrepackagedDatabaseCallback = callback;
             mCopyFromAssetPath = databaseFilePath;
             return this;
         }
@@ -686,8 +686,8 @@
         @SuppressLint({"BuilderSetStyle", "StreamFiles"}) // To keep naming consistency.
         public Builder<T> createFromFile(
                 @NonNull File databaseFile,
-                @NonNull PrepackagedCallback callback) {
-            mPrepackagedCallback = callback;
+                @NonNull PrepackagedDatabaseCallback callback) {
+            mPrepackagedDatabaseCallback = callback;
             mCopyFromFile = databaseFile;
             return this;
         }
@@ -757,8 +757,8 @@
         @SuppressLint({"BuilderSetStyle", "LambdaLast"}) // To keep naming consistency.
         public Builder<T> createFromInputStream(
                 @NonNull Callable<InputStream> inputStreamCallable,
-                @NonNull PrepackagedCallback callback) {
-            mPrepackagedCallback = callback;
+                @NonNull PrepackagedDatabaseCallback callback) {
+            mPrepackagedDatabaseCallback = callback;
             mCopyFromInputStream = inputStreamCallable;
             return this;
         }
@@ -1096,7 +1096,7 @@
                             mCopyFromAssetPath,
                             mCopyFromFile,
                             mCopyFromInputStream,
-                            mPrepackagedCallback);
+                            mPrepackagedDatabaseCallback);
             T db = Room.getGeneratedImplementation(mDatabaseClass, DB_IMPL_SUFFIX);
             db.init(configuration);
             return db;
@@ -1233,13 +1233,13 @@
     /**
      * Callback for {@link Builder#createFromAsset(String)}, {@link Builder#createFromFile(File)}
      * and {@link Builder#createFromInputStream(Callable)}
-     *
+     * <p>
      * This callback will be invoked after the pre-package DB is copied but before Room had
      * a chance to open it and therefore before the {@link RoomDatabase.Callback} methods are
      * invoked. This callback can be useful for updating the pre-package DB schema to satisfy
      * Room's schema validation.
      */
-    public abstract static class PrepackagedCallback {
+    public abstract static class PrepackagedDatabaseCallback {
 
         /**
          * Called when the pre-packaged database has been copied.
diff --git a/room/runtime/src/main/java/androidx/room/SQLiteCopyOpenHelper.java b/room/runtime/src/main/java/androidx/room/SQLiteCopyOpenHelper.java
index 57382d1..dc45973 100644
--- a/room/runtime/src/main/java/androidx/room/SQLiteCopyOpenHelper.java
+++ b/room/runtime/src/main/java/androidx/room/SQLiteCopyOpenHelper.java
@@ -212,8 +212,8 @@
                     + destinationFile.getAbsolutePath());
         }
 
-        // Temporarily open intermediate file database using FrameworkSQLiteOpenHelper and call
-        // open pre-packaged callback. If it fails then intermediate file won't be copied making
+        // Temporarily open intermediate database file using FrameworkSQLiteOpenHelper and dispatch
+        // the open pre-packaged callback. If it fails then intermediate file won't be copied making
         // invoking pre-packaged callback a transactional operation.
         dispatchOnOpenPrepackagedDatabase(intermediateFile, writable);
 
@@ -225,7 +225,8 @@
     }
 
     private void dispatchOnOpenPrepackagedDatabase(File databaseFile, boolean writable) {
-        if (mDatabaseConfiguration.prepackagedCallback == null) {
+        if (mDatabaseConfiguration == null
+                || mDatabaseConfiguration.prepackagedDatabaseCallback == null) {
             return;
         }
 
@@ -233,8 +234,7 @@
         try {
             SupportSQLiteDatabase db = writable ? helper.getWritableDatabase() :
                     helper.getReadableDatabase();
-
-            mDatabaseConfiguration.prepackagedCallback.onOpenPrepackagedDatabase(db);
+            mDatabaseConfiguration.prepackagedDatabaseCallback.onOpenPrepackagedDatabase(db);
         } finally {
             // Close the db and let Room re-open it through a normal path
             helper.close();