.class public final Landroidx/work/impl/WorkDatabase_Impl; .super Landroidx/work/impl/WorkDatabase; .source "WorkDatabase_Impl.java" # instance fields .field private volatile _dependencyDao:Landroidx/work/impl/model/DependencyDao; .field private volatile _preferenceDao:Landroidx/work/impl/model/PreferenceDao; .field private volatile _rawWorkInfoDao:Landroidx/work/impl/model/RawWorkInfoDao; .field private volatile _systemIdInfoDao:Landroidx/work/impl/model/SystemIdInfoDao; .field private volatile _workNameDao:Landroidx/work/impl/model/WorkNameDao; .field private volatile _workProgressDao:Landroidx/work/impl/model/WorkProgressDao; .field private volatile _workSpecDao:Landroidx/work/impl/model/WorkSpecDao; .field private volatile _workTagDao:Landroidx/work/impl/model/WorkTagDao; # direct methods .method public constructor ()V .locals 0 invoke-direct {p0}, Landroidx/work/impl/WorkDatabase;->()V return-void .end method .method public static synthetic access$000(Landroidx/work/impl/WorkDatabase_Impl;)Ljava/util/List; .locals 0 iget-object p0, p0, Landroidx/room/RoomDatabase;->mCallbacks:Ljava/util/List; return-object p0 .end method .method public static synthetic access$100(Landroidx/work/impl/WorkDatabase_Impl;)Ljava/util/List; .locals 0 iget-object p0, p0, Landroidx/room/RoomDatabase;->mCallbacks:Ljava/util/List; return-object p0 .end method .method public static synthetic access$1000(Landroidx/work/impl/WorkDatabase_Impl;)Ljava/util/List; .locals 0 iget-object p0, p0, Landroidx/room/RoomDatabase;->mCallbacks:Ljava/util/List; return-object p0 .end method .method public static synthetic access$200(Landroidx/work/impl/WorkDatabase_Impl;)Ljava/util/List; .locals 0 iget-object p0, p0, Landroidx/room/RoomDatabase;->mCallbacks:Ljava/util/List; return-object p0 .end method .method public static synthetic access$300(Landroidx/work/impl/WorkDatabase_Impl;)Ljava/util/List; .locals 0 iget-object p0, p0, Landroidx/room/RoomDatabase;->mCallbacks:Ljava/util/List; return-object p0 .end method .method public static synthetic access$400(Landroidx/work/impl/WorkDatabase_Impl;)Ljava/util/List; .locals 0 iget-object p0, p0, Landroidx/room/RoomDatabase;->mCallbacks:Ljava/util/List; return-object p0 .end method .method public static synthetic access$500(Landroidx/work/impl/WorkDatabase_Impl;)Ljava/util/List; .locals 0 iget-object p0, p0, Landroidx/room/RoomDatabase;->mCallbacks:Ljava/util/List; return-object p0 .end method .method public static synthetic access$602(Landroidx/work/impl/WorkDatabase_Impl;Landroidx/sqlite/db/SupportSQLiteDatabase;)Landroidx/sqlite/db/SupportSQLiteDatabase; .locals 0 iput-object p1, p0, Landroidx/room/RoomDatabase;->mDatabase:Landroidx/sqlite/db/SupportSQLiteDatabase; return-object p1 .end method .method public static synthetic access$700(Landroidx/work/impl/WorkDatabase_Impl;Landroidx/sqlite/db/SupportSQLiteDatabase;)V .locals 0 invoke-virtual {p0, p1}, Landroidx/room/RoomDatabase;->internalInitInvalidationTracker(Landroidx/sqlite/db/SupportSQLiteDatabase;)V return-void .end method .method public static synthetic access$800(Landroidx/work/impl/WorkDatabase_Impl;)Ljava/util/List; .locals 0 iget-object p0, p0, Landroidx/room/RoomDatabase;->mCallbacks:Ljava/util/List; return-object p0 .end method .method public static synthetic access$900(Landroidx/work/impl/WorkDatabase_Impl;)Ljava/util/List; .locals 0 iget-object p0, p0, Landroidx/room/RoomDatabase;->mCallbacks:Ljava/util/List; return-object p0 .end method # virtual methods .method public clearAllTables()V .locals 6 invoke-super {p0}, Landroidx/room/RoomDatabase;->assertNotMainThread()V invoke-super {p0}, Landroidx/room/RoomDatabase;->getOpenHelper()Landroidx/sqlite/db/SupportSQLiteOpenHelper; move-result-object v0 invoke-interface {v0}, Landroidx/sqlite/db/SupportSQLiteOpenHelper;->getWritableDatabase()Landroidx/sqlite/db/SupportSQLiteDatabase; move-result-object v0 const/4 v1, 0x1 const-string v2, "VACUUM" const-string v3, "PRAGMA foreign_keys = TRUE" const-string v4, "PRAGMA wal_checkpoint(FULL)" if-nez v1, :cond_0 :try_start_0 const-string v5, "PRAGMA foreign_keys = FALSE" invoke-interface {v0, v5}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V :cond_0 invoke-super {p0}, Landroidx/room/RoomDatabase;->beginTransaction()V if-eqz v1, :cond_1 const-string v5, "PRAGMA defer_foreign_keys = TRUE" invoke-interface {v0, v5}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V :cond_1 const-string v5, "DELETE FROM `Dependency`" invoke-interface {v0, v5}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V const-string v5, "DELETE FROM `WorkSpec`" invoke-interface {v0, v5}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V const-string v5, "DELETE FROM `WorkTag`" invoke-interface {v0, v5}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V const-string v5, "DELETE FROM `SystemIdInfo`" invoke-interface {v0, v5}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V const-string v5, "DELETE FROM `WorkName`" invoke-interface {v0, v5}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V const-string v5, "DELETE FROM `WorkProgress`" invoke-interface {v0, v5}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V const-string v5, "DELETE FROM `Preference`" invoke-interface {v0, v5}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V invoke-super {p0}, Landroidx/room/RoomDatabase;->setTransactionSuccessful()V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 invoke-super {p0}, Landroidx/room/RoomDatabase;->endTransaction()V if-nez v1, :cond_2 invoke-interface {v0, v3}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V :cond_2 invoke-interface {v0, v4}, Landroidx/sqlite/db/SupportSQLiteDatabase;->query(Ljava/lang/String;)Landroid/database/Cursor; move-result-object v1 invoke-interface {v1}, Landroid/database/Cursor;->close()V invoke-interface {v0}, Landroidx/sqlite/db/SupportSQLiteDatabase;->inTransaction()Z move-result v1 if-nez v1, :cond_3 invoke-interface {v0, v2}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V :cond_3 return-void :catchall_0 move-exception v5 invoke-super {p0}, Landroidx/room/RoomDatabase;->endTransaction()V if-nez v1, :cond_4 invoke-interface {v0, v3}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V :cond_4 invoke-interface {v0, v4}, Landroidx/sqlite/db/SupportSQLiteDatabase;->query(Ljava/lang/String;)Landroid/database/Cursor; move-result-object v1 invoke-interface {v1}, Landroid/database/Cursor;->close()V invoke-interface {v0}, Landroidx/sqlite/db/SupportSQLiteDatabase;->inTransaction()Z move-result v1 if-nez v1, :cond_5 invoke-interface {v0, v2}, Landroidx/sqlite/db/SupportSQLiteDatabase;->execSQL(Ljava/lang/String;)V :cond_5 throw v5 .end method .method public createInvalidationTracker()Landroidx/room/InvalidationTracker; .locals 10 new-instance v0, Ljava/util/HashMap; const/4 v1, 0x0 invoke-direct {v0, v1}, Ljava/util/HashMap;->(I)V new-instance v2, Ljava/util/HashMap; invoke-direct {v2, v1}, Ljava/util/HashMap;->(I)V new-instance v1, Landroidx/room/InvalidationTracker; const-string v3, "Dependency" const-string v4, "WorkSpec" const-string v5, "WorkTag" const-string v6, "SystemIdInfo" const-string v7, "WorkName" const-string v8, "WorkProgress" const-string v9, "Preference" filled-new-array/range {v3 .. v9}, [Ljava/lang/String; move-result-object v3 invoke-direct {v1, p0, v0, v2, v3}, Landroidx/room/InvalidationTracker;->(Landroidx/room/RoomDatabase;Ljava/util/Map;Ljava/util/Map;[Ljava/lang/String;)V return-object v1 .end method .method public createOpenHelper(Landroidx/room/DatabaseConfiguration;)Landroidx/sqlite/db/SupportSQLiteOpenHelper; .locals 4 new-instance v0, Landroidx/room/RoomOpenHelper; new-instance v1, Landroidx/work/impl/WorkDatabase_Impl$1; const/16 v2, 0xb invoke-direct {v1, p0, v2}, Landroidx/work/impl/WorkDatabase_Impl$1;->(Landroidx/work/impl/WorkDatabase_Impl;I)V const-string v2, "cf029002fffdcadf079e8d0a1c9a70ac" const-string v3, "8aff2efc47fafe870c738f727dfcfc6e" invoke-direct {v0, p1, v1, v2, v3}, Landroidx/room/RoomOpenHelper;->(Landroidx/room/DatabaseConfiguration;Landroidx/room/RoomOpenHelper$Delegate;Ljava/lang/String;Ljava/lang/String;)V iget-object v1, p1, Landroidx/room/DatabaseConfiguration;->context:Landroid/content/Context; invoke-static {v1}, Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration;->builder(Landroid/content/Context;)Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration$Builder; move-result-object v1 iget-object v2, p1, Landroidx/room/DatabaseConfiguration;->name:Ljava/lang/String; invoke-virtual {v1, v2}, Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration$Builder;->name(Ljava/lang/String;)Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration$Builder; move-result-object v1 invoke-virtual {v1, v0}, Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration$Builder;->callback(Landroidx/sqlite/db/SupportSQLiteOpenHelper$Callback;)Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration$Builder; move-result-object v0 invoke-virtual {v0}, Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration$Builder;->build()Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration; move-result-object v0 iget-object p1, p1, Landroidx/room/DatabaseConfiguration;->sqliteOpenHelperFactory:Landroidx/sqlite/db/SupportSQLiteOpenHelper$Factory; invoke-interface {p1, v0}, Landroidx/sqlite/db/SupportSQLiteOpenHelper$Factory;->create(Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration;)Landroidx/sqlite/db/SupportSQLiteOpenHelper; move-result-object p1 return-object p1 .end method .method public dependencyDao()Landroidx/work/impl/model/DependencyDao; .locals 1 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_dependencyDao:Landroidx/work/impl/model/DependencyDao; if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_dependencyDao:Landroidx/work/impl/model/DependencyDao; return-object v0 :cond_0 monitor-enter p0 :try_start_0 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_dependencyDao:Landroidx/work/impl/model/DependencyDao; if-nez v0, :cond_1 new-instance v0, Landroidx/work/impl/model/DependencyDao_Impl; invoke-direct {v0, p0}, Landroidx/work/impl/model/DependencyDao_Impl;->(Landroidx/room/RoomDatabase;)V iput-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_dependencyDao:Landroidx/work/impl/model/DependencyDao; :cond_1 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_dependencyDao:Landroidx/work/impl/model/DependencyDao; monitor-exit p0 return-object v0 :catchall_0 move-exception v0 monitor-exit p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw v0 .end method .method public preferenceDao()Landroidx/work/impl/model/PreferenceDao; .locals 1 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_preferenceDao:Landroidx/work/impl/model/PreferenceDao; if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_preferenceDao:Landroidx/work/impl/model/PreferenceDao; return-object v0 :cond_0 monitor-enter p0 :try_start_0 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_preferenceDao:Landroidx/work/impl/model/PreferenceDao; if-nez v0, :cond_1 new-instance v0, Landroidx/work/impl/model/PreferenceDao_Impl; invoke-direct {v0, p0}, Landroidx/work/impl/model/PreferenceDao_Impl;->(Landroidx/room/RoomDatabase;)V iput-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_preferenceDao:Landroidx/work/impl/model/PreferenceDao; :cond_1 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_preferenceDao:Landroidx/work/impl/model/PreferenceDao; monitor-exit p0 return-object v0 :catchall_0 move-exception v0 monitor-exit p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw v0 .end method .method public rawWorkInfoDao()Landroidx/work/impl/model/RawWorkInfoDao; .locals 1 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_rawWorkInfoDao:Landroidx/work/impl/model/RawWorkInfoDao; if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_rawWorkInfoDao:Landroidx/work/impl/model/RawWorkInfoDao; return-object v0 :cond_0 monitor-enter p0 :try_start_0 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_rawWorkInfoDao:Landroidx/work/impl/model/RawWorkInfoDao; if-nez v0, :cond_1 new-instance v0, Landroidx/work/impl/model/RawWorkInfoDao_Impl; invoke-direct {v0, p0}, Landroidx/work/impl/model/RawWorkInfoDao_Impl;->(Landroidx/room/RoomDatabase;)V iput-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_rawWorkInfoDao:Landroidx/work/impl/model/RawWorkInfoDao; :cond_1 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_rawWorkInfoDao:Landroidx/work/impl/model/RawWorkInfoDao; monitor-exit p0 return-object v0 :catchall_0 move-exception v0 monitor-exit p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw v0 .end method .method public systemIdInfoDao()Landroidx/work/impl/model/SystemIdInfoDao; .locals 1 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_systemIdInfoDao:Landroidx/work/impl/model/SystemIdInfoDao; if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_systemIdInfoDao:Landroidx/work/impl/model/SystemIdInfoDao; return-object v0 :cond_0 monitor-enter p0 :try_start_0 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_systemIdInfoDao:Landroidx/work/impl/model/SystemIdInfoDao; if-nez v0, :cond_1 new-instance v0, Landroidx/work/impl/model/SystemIdInfoDao_Impl; invoke-direct {v0, p0}, Landroidx/work/impl/model/SystemIdInfoDao_Impl;->(Landroidx/room/RoomDatabase;)V iput-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_systemIdInfoDao:Landroidx/work/impl/model/SystemIdInfoDao; :cond_1 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_systemIdInfoDao:Landroidx/work/impl/model/SystemIdInfoDao; monitor-exit p0 return-object v0 :catchall_0 move-exception v0 monitor-exit p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw v0 .end method .method public workNameDao()Landroidx/work/impl/model/WorkNameDao; .locals 1 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workNameDao:Landroidx/work/impl/model/WorkNameDao; if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workNameDao:Landroidx/work/impl/model/WorkNameDao; return-object v0 :cond_0 monitor-enter p0 :try_start_0 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workNameDao:Landroidx/work/impl/model/WorkNameDao; if-nez v0, :cond_1 new-instance v0, Landroidx/work/impl/model/WorkNameDao_Impl; invoke-direct {v0, p0}, Landroidx/work/impl/model/WorkNameDao_Impl;->(Landroidx/room/RoomDatabase;)V iput-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workNameDao:Landroidx/work/impl/model/WorkNameDao; :cond_1 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workNameDao:Landroidx/work/impl/model/WorkNameDao; monitor-exit p0 return-object v0 :catchall_0 move-exception v0 monitor-exit p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw v0 .end method .method public workProgressDao()Landroidx/work/impl/model/WorkProgressDao; .locals 1 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workProgressDao:Landroidx/work/impl/model/WorkProgressDao; if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workProgressDao:Landroidx/work/impl/model/WorkProgressDao; return-object v0 :cond_0 monitor-enter p0 :try_start_0 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workProgressDao:Landroidx/work/impl/model/WorkProgressDao; if-nez v0, :cond_1 new-instance v0, Landroidx/work/impl/model/WorkProgressDao_Impl; invoke-direct {v0, p0}, Landroidx/work/impl/model/WorkProgressDao_Impl;->(Landroidx/room/RoomDatabase;)V iput-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workProgressDao:Landroidx/work/impl/model/WorkProgressDao; :cond_1 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workProgressDao:Landroidx/work/impl/model/WorkProgressDao; monitor-exit p0 return-object v0 :catchall_0 move-exception v0 monitor-exit p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw v0 .end method .method public workSpecDao()Landroidx/work/impl/model/WorkSpecDao; .locals 1 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workSpecDao:Landroidx/work/impl/model/WorkSpecDao; if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workSpecDao:Landroidx/work/impl/model/WorkSpecDao; return-object v0 :cond_0 monitor-enter p0 :try_start_0 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workSpecDao:Landroidx/work/impl/model/WorkSpecDao; if-nez v0, :cond_1 new-instance v0, Landroidx/work/impl/model/WorkSpecDao_Impl; invoke-direct {v0, p0}, Landroidx/work/impl/model/WorkSpecDao_Impl;->(Landroidx/room/RoomDatabase;)V iput-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workSpecDao:Landroidx/work/impl/model/WorkSpecDao; :cond_1 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workSpecDao:Landroidx/work/impl/model/WorkSpecDao; monitor-exit p0 return-object v0 :catchall_0 move-exception v0 monitor-exit p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw v0 .end method .method public workTagDao()Landroidx/work/impl/model/WorkTagDao; .locals 1 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workTagDao:Landroidx/work/impl/model/WorkTagDao; if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workTagDao:Landroidx/work/impl/model/WorkTagDao; return-object v0 :cond_0 monitor-enter p0 :try_start_0 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workTagDao:Landroidx/work/impl/model/WorkTagDao; if-nez v0, :cond_1 new-instance v0, Landroidx/work/impl/model/WorkTagDao_Impl; invoke-direct {v0, p0}, Landroidx/work/impl/model/WorkTagDao_Impl;->(Landroidx/room/RoomDatabase;)V iput-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workTagDao:Landroidx/work/impl/model/WorkTagDao; :cond_1 iget-object v0, p0, Landroidx/work/impl/WorkDatabase_Impl;->_workTagDao:Landroidx/work/impl/model/WorkTagDao; monitor-exit p0 return-object v0 :catchall_0 move-exception v0 monitor-exit p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw v0 .end method