diff options
author | Asaf Rosenfeld <asafro@google.com> | 2017-04-06 02:55:19 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-04-06 02:55:19 +0000 |
commit | e16aa2df82c061f52273981a9205092fafe77f90 (patch) | |
tree | f32ee3b1aed1626ae058fb25d774c20fa61d9104 /car-lib/src/android | |
parent | 84fe41b99992949c0c0eedd3889661f470a9df35 (diff) | |
parent | eb541d4fae5171ca480069ff821581226df3ddb0 (diff) | |
download | Car-e16aa2df82c061f52273981a9205092fafe77f90.tar.gz |
Merge "Adding availability HAL support"
Diffstat (limited to 'car-lib/src/android')
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; } /** |