diff options
author | 2024-12-25 11:15:35 +0900 | |
---|---|---|
committer | 2025-01-07 16:05:34 -0800 | |
commit | 8da39900e937657337b6ddec99e18f4407ec75b9 (patch) | |
tree | 70fbadc1d9a69ba4e2c9a0cc1a1d04b86811f0e7 | |
parent | d3bbcfae25dc458dee59bac8bd287c4386579e2d (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.kt | 17 |
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" + } } |