|
|
|
@ -33,9 +33,8 @@ class ShareLinkActivity : InjectingAppCompatActivity() {
|
|
|
|
|
public override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
|
|
super.onCreate(savedInstanceState)
|
|
|
|
|
val intent = intent
|
|
|
|
|
val action = intent.action
|
|
|
|
|
when {
|
|
|
|
|
Intent.ACTION_PROCESS_TEXT == action -> lifecycleScope.launch {
|
|
|
|
|
when (intent.action) {
|
|
|
|
|
Intent.ACTION_PROCESS_TEXT -> lifecycleScope.launch {
|
|
|
|
|
val text = intent.getCharSequenceExtra(Intent.EXTRA_PROCESS_TEXT)
|
|
|
|
|
if (text != null) {
|
|
|
|
|
val task = taskCreator.createWithValues(text.toString())
|
|
|
|
@ -44,10 +43,9 @@ class ShareLinkActivity : InjectingAppCompatActivity() {
|
|
|
|
|
}
|
|
|
|
|
finish()
|
|
|
|
|
}
|
|
|
|
|
Intent.ACTION_SEND == action -> lifecycleScope.launch {
|
|
|
|
|
val subject = intent.getStringExtra(Intent.EXTRA_SUBJECT)
|
|
|
|
|
val task = taskCreator.createWithValues(subject)
|
|
|
|
|
task.notes = intent.getStringExtra(Intent.EXTRA_TEXT)
|
|
|
|
|
|
|
|
|
|
Intent.ACTION_SEND -> lifecycleScope.launch {
|
|
|
|
|
val task = taskCreator.create(intent)
|
|
|
|
|
if (hasAttachments(intent)) {
|
|
|
|
|
task.putTransitory(TaskAttachment.KEY, copyAttachment(intent))
|
|
|
|
|
firebase.addTask("share_attachment")
|
|
|
|
@ -57,9 +55,9 @@ class ShareLinkActivity : InjectingAppCompatActivity() {
|
|
|
|
|
editTask(task)
|
|
|
|
|
finish()
|
|
|
|
|
}
|
|
|
|
|
Intent.ACTION_SEND_MULTIPLE == action -> lifecycleScope.launch {
|
|
|
|
|
val task = taskCreator.createWithValues(intent.getStringExtra(Intent.EXTRA_SUBJECT))
|
|
|
|
|
task.notes = intent.getStringExtra(Intent.EXTRA_TEXT)
|
|
|
|
|
|
|
|
|
|
Intent.ACTION_SEND_MULTIPLE -> lifecycleScope.launch {
|
|
|
|
|
val task = taskCreator.create(intent)
|
|
|
|
|
if (hasAttachments(intent)) {
|
|
|
|
|
task.putTransitory(TaskAttachment.KEY, copyMultipleAttachments(intent))
|
|
|
|
|
firebase.addTask("share_multiple_attachments")
|
|
|
|
@ -69,11 +67,13 @@ class ShareLinkActivity : InjectingAppCompatActivity() {
|
|
|
|
|
editTask(task)
|
|
|
|
|
finish()
|
|
|
|
|
}
|
|
|
|
|
Intent.ACTION_VIEW == action -> lifecycleScope.launch {
|
|
|
|
|
|
|
|
|
|
Intent.ACTION_VIEW -> lifecycleScope.launch {
|
|
|
|
|
editTask(taskCreator.createWithValues(""))
|
|
|
|
|
firebase.addTask("action_view")
|
|
|
|
|
finish()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
else -> {
|
|
|
|
|
Timber.e("Unhandled intent: %s", intent)
|
|
|
|
|
finish()
|
|
|
|
@ -111,5 +111,16 @@ class ShareLinkActivity : InjectingAppCompatActivity() {
|
|
|
|
|
|
|
|
|
|
companion object {
|
|
|
|
|
private val ATTACHMENT_TYPES = listOf("image/", "application/", "audio/")
|
|
|
|
|
|
|
|
|
|
private suspend fun TaskCreator.create(intent: Intent): Task {
|
|
|
|
|
val subject = intent.getStringExtra(Intent.EXTRA_SUBJECT)
|
|
|
|
|
val hasSubject = subject?.isNotBlank() == true
|
|
|
|
|
val text = intent.getStringExtra(Intent.EXTRA_TEXT)
|
|
|
|
|
val task = createWithValues(if (hasSubject) subject else text)
|
|
|
|
|
if (hasSubject) {
|
|
|
|
|
task.notes = text
|
|
|
|
|
}
|
|
|
|
|
return task
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|