From 31d9ec335647fc679788507a13ad05d6aa78cac0 Mon Sep 17 00:00:00 2001 From: Yanting Yang Date: Thu, 23 Sep 2021 16:44:42 +0800 Subject: [PATCH] Fix crash of PictureInPictureDetailPreferenceController PackageManager.getPackageInfoAsUser() will throw DeadObjectException when the package is too large which is a known issue to PackageManager but very low priority given resourcing constraints. As per the PackageManager team suggestion, catch the exception on the app side to alleviate the impact to the App info page. Bug: 198861478 Test: manual Change-Id: I3115cf1b99a305efef192a0dcf3e809eb7903d0a --- .../PictureInPictureDetailPreferenceController.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailPreferenceController.java b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailPreferenceController.java index 874f707f3ba..b189435bd57 100644 --- a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailPreferenceController.java +++ b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailPreferenceController.java @@ -67,7 +67,9 @@ public class PictureInPictureDetailPreferenceController extends AppInfoPreferenc try { packageInfoWithActivities = mPackageManager.getPackageInfoAsUser(mPackageName, PackageManager.GET_ACTIVITIES, UserHandle.myUserId()); - } catch (PackageManager.NameNotFoundException e) { + } catch (Exception e) { + // Catch Exception to avoid DeadObjectException thrown with binder transaction + // failures, since the explicit request of DeadObjectException has compiler errors. Log.e(TAG, "Exception while retrieving the package info of " + mPackageName, e); }