This commit is contained in:
Bnyro 2022-05-30 15:24:44 +02:00
parent c1ac7aa816
commit a5bfa2c1bb
2 changed files with 12 additions and 8 deletions

View File

@ -143,8 +143,10 @@ class MainActivity : AppCompatActivity() {
override fun onStart() {
super.onStart()
val intentData: Uri? = intent?.data
// check whether an URI got submitted over the intent data
if (intentData != null && intentData.host != null && intentData.path != null) {
Log.d("intentData", "${intentData.host} ${intentData.path} ")
// load the URI of the submitted link (e.g. video)
loadIntentData(intentData)
}
}

View File

@ -11,19 +11,20 @@ class RouterActivity : AppCompatActivity() {
val TAG = "RouterActivity"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
when (intent?.action) {
Intent.ACTION_SEND -> {
if (intent.type == "text/plain" && checkHost(intent)) {
handleSendText(intent)
} else {
// start app as normal if wrong intent type
restartMainActivity(this)
}
// Check if Intent Action is ACTION_SEND
if (intent?.action == Intent.ACTION_SEND) {
if (intent.type == "text/plain" && checkHost(intent)) {
// start the main activity using the given URI as data if the host is known
handleSendText(intent)
} else {
// start app as normal if wrong intent type
restartMainActivity(this)
}
}
}
private fun checkHost(intent: Intent): Boolean {
// check whether the host is known, current solution to replace the broken intent filter
val hostsList = resources.getStringArray(R.array.shareHostsList)
val intentDataUri: Uri = Uri.parse(intent.getStringExtra(Intent.EXTRA_TEXT))
val intentDataHost = intentDataUri.host
@ -35,6 +36,7 @@ class RouterActivity : AppCompatActivity() {
intent.getStringExtra(Intent.EXTRA_TEXT)?.let {
Log.i(TAG, it)
val pm: PackageManager = this.packageManager
// startIntent(this, MainActivity::class.java doesn't work for the activity aliases needed for the logo switch option
val intent = pm.getLaunchIntentForPackage(this.packageName)
intent?.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK
intent?.data = Uri.parse(it)