Add 'addTask' event

pull/1830/head
Alex Baker 2 years ago
parent f97a9fc2a3
commit 99b533e5cd

@ -11,5 +11,7 @@ class Firebase @Inject constructor() {
fun logEvent(event: Int, vararg params: Pair<Int, Any>) {}
fun addTask(source: String) {}
val subscribeCooldown = false
}

@ -47,6 +47,9 @@ class Firebase @Inject constructor(
}
}
fun addTask(source: String) =
logEvent(R.string.event_add_task, R.string.param_type to source)
fun logEvent(@StringRes event: Int, vararg p: Pair<Int, Any>) {
analytics?.logEvent(context.getString(event), Bundle().apply {
p.forEach {

@ -161,7 +161,10 @@ class MainActivity : InjectingAppCompatActivity(), TaskListFragmentCallbackHandl
return null
}
if (intent.hasExtra(CREATE_TASK)) {
val source = intent.getStringExtra(CREATE_SOURCE)
firebase.addTask(source ?: "unknown")
intent.removeExtra(CREATE_TASK)
intent.removeExtra(CREATE_SOURCE)
return taskCreator.createWithValues(filter, "")
}
if (intent.hasExtra(OPEN_TASK)) {
@ -493,6 +496,7 @@ class MainActivity : InjectingAppCompatActivity(), TaskListFragmentCallbackHandl
const val OPEN_FILTER = "open_filter" // $NON-NLS-1$
const val LOAD_FILTER = "load_filter"
const val CREATE_TASK = "open_task" // $NON-NLS-1$
const val CREATE_SOURCE = "create_source"
const val OPEN_TASK = "open_new_task" // $NON-NLS-1$
const val REMOVE_TASK = "remove_task"
const val FINISH_AFFINITY = "finish_affinity"

@ -10,13 +10,13 @@ import com.todoroo.astrid.service.TaskCreator
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch
import org.tasks.Strings.isNullOrEmpty
import org.tasks.analytics.Firebase
import org.tasks.data.TaskAttachment
import org.tasks.files.FileHelper
import org.tasks.injection.InjectingAppCompatActivity
import org.tasks.intents.TaskIntents
import org.tasks.preferences.Preferences
import timber.log.Timber
import java.util.*
import javax.inject.Inject
import kotlin.math.min
@ -29,6 +29,7 @@ import kotlin.math.min
class ShareLinkActivity : InjectingAppCompatActivity() {
@Inject lateinit var taskCreator: TaskCreator
@Inject lateinit var preferences: Preferences
@Inject lateinit var firebase: Firebase
public override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@ -40,6 +41,7 @@ class ShareLinkActivity : InjectingAppCompatActivity() {
if (text != null) {
val task = taskCreator.createWithValues(text.toString())
editTask(task)
firebase.addTask("clipboard")
}
finish()
}
@ -49,6 +51,9 @@ class ShareLinkActivity : InjectingAppCompatActivity() {
task.notes = intent.getStringExtra(Intent.EXTRA_TEXT)
if (hasAttachments(intent)) {
task.putTransitory(TaskAttachment.KEY, copyAttachment(intent))
firebase.addTask("share_attachment")
} else {
firebase.addTask("share_text")
}
editTask(task)
finish()
@ -58,12 +63,16 @@ class ShareLinkActivity : InjectingAppCompatActivity() {
task.notes = intent.getStringExtra(Intent.EXTRA_TEXT)
if (hasAttachments(intent)) {
task.putTransitory(TaskAttachment.KEY, copyMultipleAttachments(intent))
firebase.addTask("share_multiple_attachments")
} else {
firebase.addTask("share_multiple_text")
}
editTask(task)
finish()
}
Intent.ACTION_VIEW == action -> lifecycleScope.launch {
editTask(taskCreator.createWithValues(""))
firebase.addTask("action_view")
finish()
}
else -> {

@ -545,6 +545,7 @@ class TaskListFragment : Fragment(), OnRefreshListener, Toolbar.OnMenuItemClickL
lifecycleScope.launch {
shortcutManager.reportShortcutUsed(ShortcutManager.SHORTCUT_NEW_TASK)
onTaskListItemClicked(addTask(""))
firebase.addTask("fab")
}
}
@ -637,6 +638,7 @@ class TaskListFragment : Fragment(), OnRefreshListener, Toolbar.OnMenuItemClickL
recognizedSpeech = (recognizedSpeech.substring(0, 1).toUpperCase()
+ recognizedSpeech.substring(1).toLowerCase())
onTaskListItemClicked(addTask(recognizedSpeech))
firebase.addTask("voice")
}
}
}

@ -49,7 +49,7 @@ class UriHandler : AppCompatActivity() {
}
private fun newTask() {
val intent = TaskIntents.getNewTaskIntent(this@UriHandler, null)
val intent = TaskIntents.getNewTaskIntent(this@UriHandler, null, "content_provider")
intent.flags = TaskIntents.FLAGS
startActivity(intent)
finish()

@ -12,12 +12,17 @@ public class TaskIntents {
public static final int FLAGS = Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP;
public static Intent getNewTaskIntent(Context context, @Nullable Filter filter) {
public static Intent getNewTaskIntent(
Context context,
@Nullable Filter filter,
String createSource
) {
Intent intent = new Intent(context, MainActivity.class);
if (filter != null) {
intent.putExtra(MainActivity.OPEN_FILTER, filter);
}
intent.putExtra(MainActivity.CREATE_TASK, 0L);
intent.putExtra(MainActivity.CREATE_SOURCE, createSource);
intent.putExtra(MainActivity.REMOVE_TASK, true);
return intent;
}

@ -5,6 +5,7 @@ import com.todoroo.astrid.data.Task
import com.todoroo.astrid.data.Task.Companion.createDueDate
import com.todoroo.astrid.service.TaskCreator
import org.tasks.Strings.isNullOrEmpty
import org.tasks.analytics.Firebase
import org.tasks.locale.bundle.TaskCreationBundle
import org.tasks.time.DateTime
import org.tasks.time.DateTimeUtils
@ -18,8 +19,9 @@ import kotlin.math.min
class TaskerTaskCreator @Inject internal constructor(
private val taskCreator: TaskCreator,
private val taskDao: TaskDao) {
private val taskDao: TaskDao,
private val firebase: Firebase,
) {
suspend fun handle(bundle: TaskCreationBundle) {
val task = taskCreator.basicQuickAddTask(bundle.title)
val dueDateString = bundle.dueDate
@ -58,6 +60,7 @@ class TaskerTaskCreator @Inject internal constructor(
task.notes = bundle.description
taskDao.save(task)
taskCreator.createTags(task)
firebase.addTask("tasker")
}
companion object {

@ -31,6 +31,7 @@ import kotlinx.coroutines.withContext
import net.fortuna.ical4j.model.Recur
import org.tasks.R
import org.tasks.Strings
import org.tasks.analytics.Firebase
import org.tasks.calendars.CalendarEventProvider
import org.tasks.data.Alarm
import org.tasks.data.Alarm.Companion.TYPE_RANDOM
@ -81,6 +82,7 @@ class TaskEditViewModel @Inject constructor(
private val alarmService: AlarmService,
private val taskListEvents: TaskListEventBus,
private val mainActivityEvents: MainActivityEventBus,
private val firebase: Firebase,
) : ViewModel() {
private var cleared = false
@ -384,6 +386,7 @@ class TaskEditViewModel @Inject constructor(
subtask.completionDate = task.completionDate
}
taskDao.createNew(subtask)
firebase.addTask("subtasks")
when (selectedList) {
is GtasksFilter -> {
val googleTask = GoogleTask(subtask.id, (selectedList as GtasksFilter).remoteId)

@ -9,6 +9,7 @@ import dagger.hilt.android.AndroidEntryPoint
import dagger.hilt.android.qualifiers.ApplicationContext
import kotlinx.coroutines.launch
import org.tasks.R
import org.tasks.analytics.Firebase
import org.tasks.extensions.Context.toast
import org.tasks.injection.InjectingAppCompatActivity
import javax.inject.Inject
@ -17,6 +18,7 @@ import javax.inject.Inject
class VoiceCommandActivity : InjectingAppCompatActivity() {
@Inject lateinit var taskCreator: TaskCreator
@Inject @ApplicationContext lateinit var context: Context
@Inject lateinit var firebase: Firebase
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@ -28,6 +30,7 @@ class VoiceCommandActivity : InjectingAppCompatActivity() {
?.let {
taskCreator.basicQuickAddTask(it)
toast(R.string.voice_command_added_task)
firebase.addTask("note_to_self")
}
finish()
}

@ -174,7 +174,7 @@ class TasksWidget : AppWidgetProvider() {
}
private fun getNewTaskIntent(context: Context, filter: Filter, widgetId: Int): PendingIntent {
val intent = TaskIntents.getNewTaskIntent(context, filter)
val intent = TaskIntents.getNewTaskIntent(context, filter, "widget")
intent.action = "new_task"
return PendingIntent.getActivity(
context,

@ -5,7 +5,7 @@ import org.tasks.intents.TaskIntents
class TileService : TileService() {
override fun onClick() {
val newTaskIntent = TaskIntents.getNewTaskIntent(this, null)
val newTaskIntent = TaskIntents.getNewTaskIntent(this, null, "tile")
.addFlags(TaskIntents.FLAGS)
startActivityAndCollapse(newTaskIntent)
}

@ -433,6 +433,7 @@
<string name="event_sync_unknown_access">sync_unknown_access</string>
<string name="event_banner_beast">banner_beast</string>
<string name="event_banner_sub">banner_subscribe</string>
<string name="event_add_task">add_task</string>
<string name="param_type">type</string>
<string name="p_map_theme">map_theme</string>
<string name="p_picker_mode_date">picker_mode_date</string>

Loading…
Cancel
Save