From 0efb341be2558d98d95e6e6077d8db9a7fd98ed8 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Sat, 5 Apr 2025 19:13:44 -0500 Subject: [PATCH] Add 'Create tasks' to debug menu --- .../org/tasks/preferences/fragments/Debug.kt | 20 +++++++++++++++++++ app/src/debug/res/values/keys.xml | 1 + app/src/debug/res/xml/preferences_debug.xml | 4 ++++ 3 files changed, 25 insertions(+) diff --git a/app/src/debug/java/org/tasks/preferences/fragments/Debug.kt b/app/src/debug/java/org/tasks/preferences/fragments/Debug.kt index 2fd1d2963..e7beb1e24 100644 --- a/app/src/debug/java/org/tasks/preferences/fragments/Debug.kt +++ b/app/src/debug/java/org/tasks/preferences/fragments/Debug.kt @@ -1,15 +1,19 @@ package org.tasks.preferences.fragments import android.os.Bundle +import android.widget.Toast import androidx.annotation.StringRes import androidx.lifecycle.lifecycleScope import androidx.preference.Preference import at.bitfire.cert4android.CustomCertManager.Companion.resetCertificates +import com.todoroo.astrid.service.TaskCreator import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.launch import org.tasks.R import org.tasks.billing.BillingClient import org.tasks.billing.Inventory +import org.tasks.data.createDueDate +import org.tasks.data.entity.Task import org.tasks.extensions.Context.toast import org.tasks.injection.InjectingPreferenceFragment import org.tasks.preferences.Preferences @@ -24,6 +28,8 @@ class Debug : InjectingPreferenceFragment() { @Inject lateinit var inventory: Inventory @Inject lateinit var billingClient: BillingClient @Inject lateinit var preferences: Preferences + @Inject lateinit var taskCreator: TaskCreator + @Inject lateinit var taskDao: com.todoroo.astrid.dao.TaskDao override fun getPreferenceXml() = R.xml.preferences_debug @@ -69,6 +75,20 @@ class Debug : InjectingPreferenceFragment() { preferences.warnQuietHoursDisabled = true preferences.setBoolean(R.string.p_just_updated, true) true + } + findPreference(R.string.debug_create_tasks).setOnPreferenceClickListener { + lifecycleScope.launch { + val count = 5000 + for (i in 1..count) { + val task = taskCreator.createWithValues("") + taskDao.createNew(task) + task.title = "Task ${task.id}" + task.dueDate = createDueDate(Task.URGENCY_SPECIFIC_DAY, currentTimeMillis()) + taskDao.save(task) + } + Toast.makeText(context, "Created $count tasks", Toast.LENGTH_SHORT).show() + } + false } } diff --git a/app/src/debug/res/values/keys.xml b/app/src/debug/res/values/keys.xml index 986be2ba9..2cd776335 100644 --- a/app/src/debug/res/values/keys.xml +++ b/app/src/debug/res/values/keys.xml @@ -10,6 +10,7 @@ debug_themes Reset SSL certificates Crash app now + Create tasks Crash on violation Restart app Clear hints diff --git a/app/src/debug/res/xml/preferences_debug.xml b/app/src/debug/res/xml/preferences_debug.xml index 180b982fb..0598ba717 100644 --- a/app/src/debug/res/xml/preferences_debug.xml +++ b/app/src/debug/res/xml/preferences_debug.xml @@ -45,4 +45,8 @@ android:key="@string/debug_clear_hints" android:title="@string/debug_clear_hints" /> + + \ No newline at end of file