Add debug option for allowing queries on main

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

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

@ -13,4 +13,7 @@
<string name="debug_themes">debug_themes</string> <string name="debug_themes">debug_themes</string>
<string name="debug_tasker">debug_tasker</string> <string name="debug_tasker">debug_tasker</string>
<string name="debug_reset_ssl">Reset SSL certificates</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> </resources>

@ -17,6 +17,11 @@
android:key="@string/p_strict_mode_vm" android:key="@string/p_strict_mode_vm"
android:title="@string/debug_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 <SwitchPreferenceCompat
android:key="@string/p_debug_pro" android:key="@string/p_debug_pro"
android:title="@string/debug_pro"/> android:title="@string/debug_pro"/>

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

Loading…
Cancel
Save