Remove unnecessary openForWriting

pull/795/head
Alex Baker 7 years ago
parent 1bfe36da50
commit fb5089a96f

@ -130,8 +130,6 @@ public class CustomFilterActivity extends ThemedInjectingAppCompatActivity
MenuColorizer.colorToolbar(this, toolbar);
listView = findViewById(android.R.id.list);
database.openForReading();
List<CriterionInstance> startingCriteria = new ArrayList<>();
startingCriteria.add(getStartingUniverse());
adapter = new CustomFilterAdapter(this, dialogBuilder, startingCriteria, locale);
@ -295,7 +293,7 @@ public class CustomFilterActivity extends ThemedInjectingAppCompatActivity
sql.append(Task.ID).append(" IN (").append(subSql).append(") ");
}
Cursor cursor = database.rawQuery(sql.toString());
Cursor cursor = database.query(sql.toString(), null);
try {
cursor.moveToNext();
instance.start = last == -1 ? cursor.getInt(0) : last;

@ -6,12 +6,8 @@
package com.todoroo.astrid.dao;
import android.database.Cursor;
import androidx.room.RoomDatabase;
import androidx.sqlite.db.SupportSQLiteDatabase;
import com.todoroo.astrid.data.Task;
import java.io.IOException;
import org.tasks.analytics.Tracker;
import org.tasks.data.Alarm;
import org.tasks.data.AlarmDao;
import org.tasks.data.CaldavAccount;
@ -40,7 +36,6 @@ import org.tasks.data.UserActivity;
import org.tasks.data.UserActivityDao;
import org.tasks.notifications.Notification;
import org.tasks.notifications.NotificationDao;
import timber.log.Timber;
@androidx.room.Database(
entities = {
@ -65,8 +60,6 @@ import timber.log.Timber;
public abstract class Database extends RoomDatabase {
public static final String NAME = "database";
private SupportSQLiteDatabase database;
private Tracker tracker;
private Runnable onDatabaseUpdated;
public abstract NotificationDao notificationDao();
@ -103,8 +96,7 @@ public abstract class Database extends RoomDatabase {
return NAME;
}
public Database init(Tracker tracker, Runnable onDatabaseUpdated) {
this.tracker = tracker;
public Database init(Runnable onDatabaseUpdated) {
this.onDatabaseUpdated = onDatabaseUpdated;
return this;
}
@ -115,61 +107,9 @@ public abstract class Database extends RoomDatabase {
}
}
/**
* Open the database for writing. Must be closed afterwards. If user is out of disk space,
* database may be opened for reading instead
*/
public final synchronized void openForWriting() {
if (database != null && !database.isReadOnly() && database.isOpen()) {
return;
}
try {
database = getOpenHelper().getWritableDatabase();
} catch (Exception e) {
tracker.reportException(e);
throw new IllegalStateException(e);
}
}
/** Open the database for reading. Must be closed afterwards */
public final synchronized void openForReading() {
if (database != null && database.isOpen()) {
return;
}
database = getOpenHelper().getReadableDatabase();
}
/** Close the database if it has been opened previously */
@Override
public final synchronized void close() {
if (database != null) {
try {
database.close();
} catch (IOException e) {
Timber.e(e);
}
}
database = null;
}
/** @return sql database. opens database if not yet open */
private synchronized SupportSQLiteDatabase getDatabase() {
if (database == null) {
openForWriting();
}
return database;
}
/** @return human-readable database name for debugging */
@Override
public String toString() {
return "DB:" + getName();
}
// --- database wrapper
public Cursor rawQuery(String sql) {
return getDatabase().query(sql, null);
}
}

@ -231,7 +231,7 @@ public abstract class TaskDao {
if (BuildConfig.DEBUG) {
Timber.v(queryString);
}
return database.rawQuery(queryString);
return database.query(queryString, null);
}
/** Generates SQL clauses */

@ -7,49 +7,27 @@
package com.todoroo.astrid.service;
import android.content.Context;
import com.todoroo.astrid.dao.Database;
import com.todoroo.astrid.tags.TagService;
import dagger.Lazy;
import javax.inject.Inject;
import org.tasks.BuildConfig;
import org.tasks.LocalBroadcastManager;
import org.tasks.analytics.Tracker;
import org.tasks.data.FilterDao;
import org.tasks.data.GoogleTaskListDao;
import org.tasks.data.TagDao;
import org.tasks.data.TagDataDao;
import org.tasks.data.TaskAttachmentDao;
import org.tasks.data.UserActivityDao;
import org.tasks.injection.ForApplication;
import org.tasks.preferences.DefaultFilterProvider;
import org.tasks.preferences.Preferences;
import org.tasks.scheduling.BackgroundScheduler;
import timber.log.Timber;
public class StartupService {
private final Database database;
private final Preferences preferences;
private final Context context;
private final Lazy<Upgrader> upgrader;
@Inject
public StartupService(
Database database,
Preferences preferences,
Tracker tracker,
TagDataDao tagDataDao,
TagService tagService,
LocalBroadcastManager localBroadcastManager,
@ForApplication Context context,
TagDao tagDao,
FilterDao filterDao,
DefaultFilterProvider defaultFilterProvider,
GoogleTaskListDao googleTaskListDao,
UserActivityDao userActivityDao,
TaskAttachmentDao taskAttachmentDao,
Lazy<Upgrader> upgrader) {
this.database = database;
this.preferences = preferences;
this.context = context;
this.upgrader = upgrader;
@ -57,8 +35,6 @@ public class StartupService {
/** Called when this application is started up */
public synchronized void onStartupApplication() {
database.openForWriting();
// read current version
final int lastVersion = preferences.getLastSetVersion();
final int currentVersion = BuildConfig.VERSION_CODE;

@ -9,7 +9,6 @@ import com.todoroo.astrid.dao.TaskDao;
import com.todoroo.astrid.provider.Astrid2TaskProvider;
import dagger.Module;
import dagger.Provides;
import org.tasks.analytics.Tracker;
import org.tasks.data.AlarmDao;
import org.tasks.data.CaldavDao;
import org.tasks.data.DeletionDao;
@ -52,12 +51,12 @@ public class ApplicationModule {
@Provides
@ApplicationScope
public Database getAppDatabase(Tracker tracker) {
public Database getAppDatabase() {
return Room.databaseBuilder(context, Database.class, Database.NAME)
.allowMainThreadQueries() // TODO: remove me
.addMigrations(Migrations.MIGRATIONS)
.build()
.init(tracker, () -> Astrid2TaskProvider.notifyDatabaseModification(context));
.init(() -> Astrid2TaskProvider.notifyDatabaseModification(context));
}
@Provides

Loading…
Cancel
Save