aboutsummaryrefslogtreecommitdiff
path: root/car-lib/src/android
diff options
context:
space:
mode:
authorAsaf Rosenfeld <asafro@google.com>2017-04-06 02:55:19 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-04-06 02:55:19 +0000
commite16aa2df82c061f52273981a9205092fafe77f90 (patch)
treef32ee3b1aed1626ae058fb25d774c20fa61d9104 /car-lib/src/android
parent84fe41b99992949c0c0eedd3889661f470a9df35 (diff)
parenteb541d4fae5171ca480069ff821581226df3ddb0 (diff)
downloadCar-e16aa2df82c061f52273981a9205092fafe77f90.tar.gz
Merge "Adding availability HAL support"
Diffstat (limited to 'car-lib/src/android')
-rw-r--r--car-lib/src/android/car/vms/VmsLayer.java4
-rw-r--r--car-lib/src/android/car/vms/VmsLayerDependency.java4
-rw-r--r--car-lib/src/android/car/vms/VmsLayersOffering.java5
-rw-r--r--car-lib/src/android/car/vms/VmsPublisherClientService.java43
4 files changed, 48 insertions, 8 deletions
diff --git a/car-lib/src/android/car/vms/VmsLayer.java b/car-lib/src/android/car/vms/VmsLayer.java
index 702daec9ef..afd0ae7835 100644
--- a/car-lib/src/android/car/vms/VmsLayer.java
+++ b/car-lib/src/android/car/vms/VmsLayer.java
@@ -24,8 +24,10 @@ import java.util.Objects;
/**
* A VMS Layer which can be subscribed to by VMS clients.
- * Consists of the layer ID and the layer version.
+ * Consists of the layer ID and the layer major version.
*
+ * This class does not contain the minor version since all minor version are backward and forward
+ * compatible and should not be used for routing messages.
* @hide
*/
@FutureFeature
diff --git a/car-lib/src/android/car/vms/VmsLayerDependency.java b/car-lib/src/android/car/vms/VmsLayerDependency.java
index bb588ebf7a..e14c7ecbc2 100644
--- a/car-lib/src/android/car/vms/VmsLayerDependency.java
+++ b/car-lib/src/android/car/vms/VmsLayerDependency.java
@@ -80,6 +80,10 @@ public final class VmsLayerDependency implements Parcelable {
}
};
+ public String toString() {
+ return "VmsLayerDependency{ Layer: " + mLayer + " Dependency: " + mDependency + "}";
+ }
+
@Override
public void writeToParcel(Parcel out, int flags) {
out.writeParcelable(mLayer, flags);
diff --git a/car-lib/src/android/car/vms/VmsLayersOffering.java b/car-lib/src/android/car/vms/VmsLayersOffering.java
index 12b3dd30b2..51a0b995be 100644
--- a/car-lib/src/android/car/vms/VmsLayersOffering.java
+++ b/car-lib/src/android/car/vms/VmsLayersOffering.java
@@ -55,6 +55,11 @@ public final class VmsLayersOffering implements Parcelable {
};
@Override
+ public String toString() {
+ return "VmsLayersOffering{" + mDependencies+ "}";
+ }
+
+ @Override
public void writeToParcel(Parcel out, int flags) {
out.writeParcelableList(mDependencies, flags);
}
diff --git a/car-lib/src/android/car/vms/VmsPublisherClientService.java b/car-lib/src/android/car/vms/VmsPublisherClientService.java
index 2743ff157b..85fd2c2b8d 100644
--- a/car-lib/src/android/car/vms/VmsPublisherClientService.java
+++ b/car-lib/src/android/car/vms/VmsPublisherClientService.java
@@ -106,6 +106,41 @@ public abstract class VmsPublisherClientService extends Service {
if (DBG) {
Log.d(TAG, "Publishing for layer : " + layer);
}
+
+ IBinder token = getTokenForPublisherServiceThreadSafe();
+
+ try {
+ mVmsPublisherService.publish(token, layer, payload);
+ return true;
+ } catch (RemoteException e) {
+ Log.e(TAG, "unable to publish message: " + payload, e);
+ }
+ return false;
+ }
+
+ /**
+ * Uses the VmsPublisherService binder to set the layers offering.
+ *
+ * @param offering the layers that the publisher may publish.
+ * @return if the call to VmsPublisherService.setLayersOffering was successful.
+ */
+ public final boolean setLayersOffering(VmsLayersOffering offering) {
+ if (DBG) {
+ Log.d(TAG, "Setting layers offering : " + offering);
+ }
+
+ IBinder token = getTokenForPublisherServiceThreadSafe();
+
+ try {
+ mVmsPublisherService.setLayersOffering(token, offering);
+ return true;
+ } catch (RemoteException e) {
+ Log.e(TAG, "unable to set layers offering: " + offering, e);
+ }
+ return false;
+ }
+
+ private IBinder getTokenForPublisherServiceThreadSafe() {
if (mVmsPublisherService == null) {
throw new IllegalStateException("VmsPublisherService not set.");
}
@@ -117,13 +152,7 @@ public abstract class VmsPublisherClientService extends Service {
if (token == null) {
throw new IllegalStateException("VmsPublisherService does not have a valid token.");
}
- try {
- mVmsPublisherService.publish(token, layer, payload);
- return true;
- } catch (RemoteException e) {
- Log.e(TAG, "unable to publish message: " + payload, e);
- }
- return false;
+ return token;
}
/**