Split VENDOR program type to four distinct types.
Bug: b/32621193
Test: VTS, none added
Change-Id: Ia3b793faeed1129932cf312d231c7d661542fda9
diff --git a/broadcastradio/1.1/types.hal b/broadcastradio/1.1/types.hal
index 004184f..44bb507 100644
--- a/broadcastradio/1.1/types.hal
+++ b/broadcastradio/1.1/types.hal
@@ -70,6 +70,10 @@
/**
* Type of a radio technology.
*
+ * There are multiple VENDOR program types just to make vendor implementation
+ * easier with multiple properitary radio technologies. They are treated the
+ * same by the framework.
+ *
* All other values are reserved for future use.
*/
enum ProgramType : uint32_t {
@@ -80,15 +84,10 @@
DAB, // Digital audio broadcasting
DRMO, // Digital Radio Mondiale
SXM, // SiriusXM Satellite Radio
-
- /**
- * Vendor-specific, not synced across devices.
- *
- * If it's necessary to support multiple vendor-specific program types, the
- * type of vendor radio technology may be encoded in high bits
- * of IDENTIFIER_TYPE_VENDOR_PRIMARY.
- */
- VENDOR,
+ VENDOR1, // Vendor-specific, not synced across devices.
+ VENDOR2, // Vendor-specific, not synced across devices.
+ VENDOR3, // Vendor-specific, not synced across devices.
+ VENDOR4, // Vendor-specific, not synced across devices.
};
/**
@@ -150,9 +149,12 @@
* Primary identifier for vendor-specific radio technology.
* The value format is determined by a vendor.
*
- * It must not be used in any other programType than VENDOR.
+ * It must not be used in any other programType than VENDORx.
*/
- VENDOR_PRIMARY,
+ VENDOR1_PRIMARY,
+ VENDOR2_PRIMARY,
+ VENDOR3_PRIMARY,
+ VENDOR4_PRIMARY,
};
/**
diff --git a/broadcastradio/1.1/utils/Utils.cpp b/broadcastradio/1.1/utils/Utils.cpp
index 270aabb..f8a4479 100644
--- a/broadcastradio/1.1/utils/Utils.cpp
+++ b/broadcastradio/1.1/utils/Utils.cpp
@@ -91,7 +91,10 @@
return haveEqualIds(a, b, IdentifierType::SXM_SERVICE_ID);
}
return haveEqualIds(a, b, IdentifierType::SXM_CHANNEL);
- case ProgramType::VENDOR:
+ case ProgramType::VENDOR1:
+ case ProgramType::VENDOR2:
+ case ProgramType::VENDOR3:
+ case ProgramType::VENDOR4:
default:
ALOGW("Unsupported program type: %s", toString(type).c_str());
return false;