Add debug option for allowing queries on main

pull/1043/head
Alex Baker 4 years ago
parent e6d9e664ce
commit 4a96040f1f

@ -26,7 +26,8 @@ class Debug : InjectingPreferenceFragment() {
R.string.p_leakcanary,
R.string.p_flipper,
R.string.p_strict_mode_vm,
R.string.p_strict_mode_thread
R.string.p_strict_mode_thread,
R.string.p_debug_main_queries
)) {
findPreference(pref)
.setOnPreferenceChangeListener { _: Preference?, _: Any? ->

@ -13,4 +13,7 @@
<string name="debug_themes">debug_themes</string>
<string name="debug_tasker">debug_tasker</string>
<string name="debug_reset_ssl">Reset SSL certificates</string>
<string name="debug_main_queries">Allow queries on main thread</string>
<string name="p_debug_main_queries">debug_main_queries</string>
</resources>

@ -17,6 +17,11 @@
android:key="@string/p_strict_mode_vm"
android:title="@string/debug_strict_mode_vm"/>
<SwitchPreferenceCompat
android:defaultValue="true"
android:key="@string/p_debug_main_queries"
android:title="@string/debug_main_queries" />
<SwitchPreferenceCompat
android:key="@string/p_debug_pro"
android:title="@string/debug_pro"/>

@ -8,6 +8,8 @@ import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.components.ApplicationComponent
import dagger.hilt.android.qualifiers.ApplicationContext
import org.tasks.BuildConfig
import org.tasks.R
import org.tasks.data.CaldavDao
import org.tasks.data.GoogleTaskListDao
import org.tasks.db.Migrations
@ -21,11 +23,13 @@ import javax.inject.Singleton
internal class ProductionModule {
@Provides
@Singleton
fun getAppDatabase(@ApplicationContext context: Context): Database {
return Room.databaseBuilder(context, Database::class.java, Database.NAME)
.allowMainThreadQueries() // TODO: remove me
fun getAppDatabase(@ApplicationContext context: Context, preferences: Preferences): Database {
val builder = Room.databaseBuilder(context, Database::class.java, Database.NAME)
.addMigrations(*Migrations.MIGRATIONS)
.build()
if (!BuildConfig.DEBUG || preferences.getBoolean(R.string.p_debug_main_queries, true)) {
builder.allowMainThreadQueries()
}
return builder.build()
}
@Provides

Loading…
Cancel
Save