summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yuichiro Hanada <yhanada@google.com> 2024-12-25 11:15:35 +0900
committer Yuichiro Hanada <yhanada@google.com> 2025-01-07 16:05:34 -0800
commit8da39900e937657337b6ddec99e18f4407ec75b9 (patch)
tree70fbadc1d9a69ba4e2c9a0cc1a1d04b86811f0e7
parentd3bbcfae25dc458dee59bac8bd287c4386579e2d (diff)
Fix crash in the 'Open in browser' dialog
setDomainVerificationLinkHandlingAllowed() may throw a NameNotFound exception. This should be handled to prevent crashing. Bug: 377755923 Flag: com.android.window.flags.enable_desktop_windowing_app_to_web Test: manual test Change-Id: Ifde9a6f7fe1bf5b1c4987989265f47877b1b5fbf
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/apptoweb/OpenByDefaultDialog.kt17
1 files changed, 15 insertions, 2 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/apptoweb/OpenByDefaultDialog.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/apptoweb/OpenByDefaultDialog.kt
index 4cc81a9e6f8f..ec3637aacf91 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/apptoweb/OpenByDefaultDialog.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/apptoweb/OpenByDefaultDialog.kt
@@ -18,9 +18,11 @@ package com.android.wm.shell.apptoweb
import android.app.ActivityManager.RunningTaskInfo
import android.content.Context
+import android.content.pm.PackageManager.NameNotFoundException
import android.content.pm.verify.domain.DomainVerificationManager
import android.graphics.Bitmap
import android.graphics.PixelFormat
+import android.util.Slog
import android.view.LayoutInflater
import android.view.SurfaceControl
import android.view.SurfaceControlViewHost
@@ -160,8 +162,15 @@ internal class OpenByDefaultDialog(
}
private fun setDefaultLinkHandlingSetting() {
- domainVerificationManager.setDomainVerificationLinkHandlingAllowed(
- packageName, openInAppButton.isChecked)
+ try {
+ domainVerificationManager.setDomainVerificationLinkHandlingAllowed(
+ packageName, openInAppButton.isChecked)
+ } catch (e: NameNotFoundException) {
+ Slog.e(
+ TAG,
+ "Failed to change link handling policy due to the package name is not found: " + e
+ )
+ }
}
private fun closeMenu() {
@@ -203,4 +212,8 @@ internal class OpenByDefaultDialog(
/** Called when open by default dialog view has been released. */
fun onDialogDismissed()
}
+
+ companion object {
+ private const val TAG = "OpenByDefaultDialog"
+ }
}