Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/talk-android.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortobiasKaminsky <tobias@kaminsky.me>2021-10-20 09:13:52 +0300
committerTim Krüger (Rebase PR Action) <t@timkrueger.me>2022-11-11 17:59:38 +0300
commit6784c08ef45fc5cb9ec0d4fb0527faa2468dd5c3 (patch)
tree3b1182d9e6c01dc733fd2364d5eb63abb9117733
parent263edbc1d0fa4329fb02775d26f2ca8544a8b181 (diff)
Handle incoming intent with server and userId as payloadhandleIntent
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
-rw-r--r--app/src/main/AndroidManifest.xml6
-rw-r--r--app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt19
2 files changed, 25 insertions, 0 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4ce0e5d2c..92a535365 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -133,6 +133,12 @@
<data android:scheme="content" />
<data android:scheme="file" />
</intent-filter>
+
+ <intent-filter>
+ <action android:name="android.intent.action.VIEW" />
+ <category android:name="android.intent.category.DEFAULT" />
+ <data android:mimeType="text/text" />
+ </intent-filter>
</activity>
<activity
diff --git a/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt b/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt
index e4a5ed9ed..1ef395eb3 100644
--- a/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt
+++ b/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt
@@ -64,6 +64,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.Disposable
import io.reactivex.schedulers.Schedulers
import org.parceler.Parcels
+import java.net.URI
import javax.inject.Inject
@AutoInjector(NextcloudTalkApplication::class)
@@ -245,6 +246,24 @@ class MainActivity : BaseActivity(), ActionBarProvider {
}
}
}
+
+ if (intent.action == Intent.ACTION_VIEW &&
+ intent.extras?.get("server") != null &&
+ intent.extras?.get("userId") != null
+ ) {
+ val baseUrl = intent.extras?.get("server") as URI // intent.extras.getString("server") is empty?!
+ val user = intent.extras?.get("userId") as String
+
+ if (userUtils.currentUser?.baseUrl?.endsWith(baseUrl.toString()) == true && user.isNotEmpty()) {
+ startConversation(user)
+ } else {
+ Snackbar.make(
+ binding.controllerContainer,
+ R.string.nc_phone_book_integration_account_not_found,
+ Snackbar.LENGTH_LONG
+ ).show()
+ }
+ }
}
private fun startConversation(userId: String) {