From 50a858875ed018c04d3926f2a0a75c36f1316fd3 Mon Sep 17 00:00:00 2001 From: Jason Chang Date: Wed, 16 Mar 2022 16:08:56 +0800 Subject: [DO NOT MERGE] Fix unexpectedly NPE on CF when calling mDevice.getProductName() Move the mDevice.getProductName() into mDevice NPE check condition. Bug: 224685744 Bug: 224627240 Test: manually install NeutronPlayer to test usb audio device permission warning dialog sentence. Test: atest SystemUITests Test: atest com.android.systemui.usb .UsbPermissionActivityTest#testHideNonSystemOverlay Change-Id: Ic5fecc1e98072eda6dcc48a3adc669ef731a4c9c --- .../SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.java | 5 +++-- .../SystemUI/src/com/android/systemui/usb/UsbPermissionActivity.java | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.java b/packages/SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.java index 3531f17bb6a1..a2bee05246ce 100644 --- a/packages/SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.java +++ b/packages/SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.java @@ -78,8 +78,7 @@ public class UsbConfirmActivity extends AlertActivity String appName = mResolveInfo.loadLabel(packageManager).toString(); final AlertController.AlertParams ap = mAlertParams; - final int titleId = mUsbConfirmMessageHandler.getPromptTitleId(); - ap.mTitle = getString(titleId, appName, mDevice.getProductName()); + ap.mTitle = appName; boolean useRecordWarning = false; if (mDevice == null) { final int messageId = mUsbConfirmMessageHandler.getUsbAccessoryPromptId(); @@ -96,6 +95,8 @@ public class UsbConfirmActivity extends AlertActivity useRecordWarning = isAudioCaptureDevice && !hasRecordPermission; final int messageId = mUsbConfirmMessageHandler.getMessageId(); + final int titleId = mUsbConfirmMessageHandler.getPromptTitleId(); + ap.mTitle = getString(titleId, appName, mDevice.getProductName()); ap.mMessage = (messageId != Resources.ID_NULL) ? getString(messageId, appName, mDevice.getProductName()) : null; mDisconnectedReceiver = new UsbDisconnectedReceiver(this, mDevice); diff --git a/packages/SystemUI/src/com/android/systemui/usb/UsbPermissionActivity.java b/packages/SystemUI/src/com/android/systemui/usb/UsbPermissionActivity.java index 4b7ee03c1471..b9a37b1918f2 100644 --- a/packages/SystemUI/src/com/android/systemui/usb/UsbPermissionActivity.java +++ b/packages/SystemUI/src/com/android/systemui/usb/UsbPermissionActivity.java @@ -90,8 +90,7 @@ public class UsbPermissionActivity extends AlertActivity String appName = aInfo.loadLabel(packageManager).toString(); final AlertController.AlertParams ap = mAlertParams; - final int titleId = mUsbAudioPermissionMessageHandler.getPromptTitleId(); - ap.mTitle = getString(titleId, appName, mDevice.getProductName()); + ap.mTitle = appName; boolean useRecordWarning = false; if (mDevice == null) { // Accessory Case @@ -109,6 +108,8 @@ public class UsbPermissionActivity extends AlertActivity useRecordWarning = isAudioCaptureDevice && !hasRecordPermission; final int messageId = mUsbAudioPermissionMessageHandler.getMessageId(); + final int titleId = mUsbAudioPermissionMessageHandler.getPromptTitleId(); + ap.mTitle = getString(titleId, appName, mDevice.getProductName()); ap.mMessage = (messageId != Resources.ID_NULL) ? getString(messageId, appName, mDevice.getProductName()) : null; mDisconnectedReceiver = new UsbDisconnectedReceiver(this, mDevice); -- cgit v1.2.3-59-g8ed1b