Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8da39900 authored by Yuichiro Hanada's avatar Yuichiro Hanada
Browse files

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
parent d3bbcfae
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -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() {
        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"
    }
}