Handle BT Permission in HAL

Bug: 215574497
Test: Compile
Change-Id: I818ed78b059f744e201ea6e5d65bcda00d626724
diff --git a/host/hal_generic/common/permissions_util.cc b/host/hal_generic/common/permissions_util.cc
index 1d7f142..a414a25 100644
--- a/host/hal_generic/common/permissions_util.cc
+++ b/host/hal_generic/common/permissions_util.cc
@@ -42,6 +42,11 @@
     androidPermissions.push_back(kBackgroundLocationPerm);
   }
 
+  if (BITMASK_HAS_VALUE(chrePermissions,
+                        ::chre::NanoappPermissions::CHRE_PERMS_BLE)) {
+    androidPermissions.push_back(kBluetoothScanPerm);
+  }
+
   return androidPermissions;
 }
 
diff --git a/host/hal_generic/common/permissions_util.h b/host/hal_generic/common/permissions_util.h
index c3b78c7..ec5ebaf 100644
--- a/host/hal_generic/common/permissions_util.h
+++ b/host/hal_generic/common/permissions_util.h
@@ -31,8 +31,10 @@
     "android.permission.ACCESS_BACKGROUND_LOCATION";
 const std::string kFineLocationPerm = "android.permission.ACCESS_FINE_LOCATION";
 const std::string kRecordAudioPerm = "android.permission.RECORD_AUDIO";
+const std::string kBluetoothScanPerm = "android.permission.BLUETOOTH_SCAN";
 const std::vector<std::string> kSupportedPermissions = {
-    kBackgroundLocationPerm, kFineLocationPerm, kRecordAudioPerm};
+    kBackgroundLocationPerm, kFineLocationPerm, kRecordAudioPerm,
+    kBluetoothScanPerm};
 
 //! Converts the CHRE permissions bitmask to a list of CHRE permissions.
 std::vector<std::string> chreToAndroidPermissions(uint32_t chrePermissions);