Fix permission check in car-usb-handler

resolvePackageName can be null, we should use
activityInfo.packageName instead to check for permission

Bug: 128536864
Test: manually using projection receiver app
Change-Id: I0079189b95483d01011e1d3a48a3ce3d44ac1299
diff --git a/car-lib/src/android/car/AoapService.java b/car-lib/src/android/car/AoapService.java
index 20b7fa7..0637e75 100644
--- a/car-lib/src/android/car/AoapService.java
+++ b/car-lib/src/android/car/AoapService.java
@@ -45,7 +45,7 @@
  * following permission: {@code android.car.permission.CAR_HANDLE_USB_AOAP_DEVICE}.
  *
  * <p>This service gets bound by the framework and the service needs to be protected by
- * {@code android.car.permission.CAR_HANDLE_USB_AOAP_DEVICE} permission to ensure nobody else can
+ * {@code android.permission.MANAGE_USB} permission to ensure nobody else can
  * bind to the service. At most only one client should be bound at a time.
  *
  * @hide
diff --git a/car-usb-handler/src/android/car/usb/handler/UsbDeviceHandlerResolver.java b/car-usb-handler/src/android/car/usb/handler/UsbDeviceHandlerResolver.java
index 96f12cf..922afa6 100644
--- a/car-usb-handler/src/android/car/usb/handler/UsbDeviceHandlerResolver.java
+++ b/car-usb-handler/src/android/car/usb/handler/UsbDeviceHandlerResolver.java
@@ -222,8 +222,9 @@
         List<ResolveInfo> resolveInfos =
                 mPackageManager.queryIntentActivities(intent, PackageManager.GET_META_DATA);
         for (ResolveInfo resolveInfo : resolveInfos) {
-            if (forAoap && !hasAoapPermission(resolveInfo.resolvePackageName)) {
-                Log.w(TAG, "Package " + resolveInfo.resolvePackageName + " does not hold "
+            final String packageName = resolveInfo.activityInfo.packageName;
+            if (forAoap && !hasAoapPermission(packageName)) {
+                Log.w(TAG, "Package " + packageName + " does not hold "
                         + AOAP_HANDLE_PERMISSION + " permission. Ignore the package.");
                 continue;
             }