mirror of
https://github.com/home-assistant/android
synced 2024-09-18 23:52:51 +00:00
Allow opening of apps via notifications. (#1007)
This commit is contained in:
parent
e8efa495d1
commit
0a8c96d321
|
@ -6,15 +6,23 @@ import android.net.Uri
|
|||
import io.homeassistant.companion.android.webview.WebViewActivity
|
||||
|
||||
object NotificationActionContentHandler {
|
||||
private const val APP_PREFIX = "app://"
|
||||
|
||||
fun openUri(context: Context, uri: String?, onComplete: () -> Unit = {}) {
|
||||
if (!uri.isNullOrBlank()) {
|
||||
val intent = if (UrlHandler.isAbsoluteUrl(uri)) {
|
||||
val intent = when {
|
||||
uri.startsWith(APP_PREFIX) -> {
|
||||
context.packageManager.getLaunchIntentForPackage(uri.substringAfter(APP_PREFIX))
|
||||
}
|
||||
UrlHandler.isAbsoluteUrl(uri) -> {
|
||||
Intent(Intent.ACTION_VIEW).apply {
|
||||
data = Uri.parse(uri)
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else -> {
|
||||
WebViewActivity.newInstance(context, uri)
|
||||
}
|
||||
} ?: WebViewActivity.newInstance(context)
|
||||
|
||||
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
|
||||
context.startActivity(intent)
|
||||
|
|
Loading…
Reference in a new issue