content: package androidx.work.impl.model;
  
  import android.database.Cursor;
  import android.os.CancellationSignal;
  import androidx.room.EntityInsertionAdapter;
  import androidx.room.RoomDatabase;
  import androidx.room.RoomSQLiteQuery;
  import androidx.room.SharedSQLiteStatement;
  import androidx.room.util.CursorUtil;
  import androidx.room.util.DBUtil;
  import androidx.sqlite.db.SupportSQLiteStatement;
  import java.util.ArrayList;
  import java.util.List;
  
  public final class SystemIdInfoDao_Impl implements SystemIdInfoDao {
      private final RoomDatabase __db;
      private final EntityInsertionAdapter<SystemIdInfo> __insertionAdapterOfSystemIdInfo;
      private final SharedSQLiteStatement __preparedStmtOfRemoveSystemIdInfo;
  
      public SystemIdInfoDao_Impl(RoomDatabase __db2) {
          this.__db = __db2;
          this.__insertionAdapterOfSystemIdInfo = new EntityInsertionAdapter<SystemIdInfo>(__db2) {
              public void bind(SupportSQLiteStatement stmt, SystemIdInfo value) {
                  if (value.workSpecId == null) {
                      stmt.bindNull(1);
                  } else {
                      stmt.bindString(1, value.workSpecId);
                  }
                  stmt.bindLong(2, (long) value.systemId);
              }
  
              public String createQuery() {
                  return "INSERT OR REPLACE INTO `SystemIdInfo` (`work_spec_id`,`system_id`) VALUES (?,?)";
              }
          };
          this.__preparedStmtOfRemoveSystemIdInfo = new SharedSQLiteStatement(__db2) {
              public String createQuery() {
                  return "DELETE FROM SystemIdInfo where work_spec_id=?";
              }
          };
      }
  
      public SystemIdInfo getSystemIdInfo(String workSpecId) {
          RoomSQLiteQuery acquire = RoomSQLiteQuery.acquire("SELECT `SystemIdInfo`.`work_spec_id` AS `work_spec_id`, `SystemIdInfo`.`system_id` AS `system_id` FROM SystemIdInfo WHERE work_spec_id=?", 1);
          if (workSpecId == null) {
              acquire.bindNull(1);
          } else {
              acquire.bindString(1, workSpecId);
          }
          this.__db.assertNotSuspendingTransaction();
          Cursor query = DBUtil.query(this.__db, acquire, false, (CancellationSignal) null);
          try {
              return query.moveToFirst() ? new SystemIdInfo(query.getString(CursorUtil.getColumnIndexOrThrow(query, "work_spec_id")), query.getInt(CursorUtil.getColumnIndexOrThrow(query, "system_id"))) : null;
          } finally {
              query.close();
              acquire.release();
          }
      }
  
      public List<String> getWorkSpecIds() {
          RoomSQLiteQuery acquire = RoomSQLiteQuery.acquire("SELECT DISTINCT work_spec_id FROM SystemIdInfo", 0);
          this.__db.assertNotSuspendingTransaction();
          Cursor query = DBUtil.query(this.__db, acquire, false, (CancellationSignal) null);
          try {
              ArrayList arrayList = new ArrayList(query.getCount());
              while (query.moveToNext()) {
                  arrayList.add(query.getString(0));
              }
              return arrayList;
          } finally {
              query.close();
              acquire.release();
          }
      }
  
      public void insertSystemIdInfo(SystemIdInfo systemIdInfo) {
          this.__db.assertNotSuspendingTransaction();
          this.__db.beginTransaction();
          try {
              this.__insertionAdapterOfSystemIdInfo.insert(systemIdInfo);
              this.__db.setTransactionSuccessful();
          } finally {
              this.__db.endTransaction();
          }
      }
  
      public void removeSystemIdInfo(String workSpecId) {
          this.__db.assertNotSuspendingTransaction();
          SupportSQLiteStatement acquire = this.__preparedStmtOfRemoveSystemIdInfo.acquire();
          if (workSpecId == null) {
              acquire.bindNull(1);
          } else {
              acquire.bindString(1, workSpecId);
          }
          this.__db.beginTransaction();
          try {
              acquire.executeUpdateDelete();
              this.__db.setTransactionSuccessful();
          } finally {
              this.__db.endTransaction();
              this.__preparedStmtOfRemoveSystemIdInfo.release(acquire);
          }
      }
  }
  