[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
diff --git a/packages/SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.java b/packages/SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.java
index 3531f17..a2bee05 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 @@
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 @@
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 4b7ee03..b9a37b1 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 @@
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 @@
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);