diff options
author | Antonio Cortes <antoniocortes@google.com> | 2017-03-22 13:00:02 -0700 |
---|---|---|
committer | Antonio Cortes <antoniocortes@google.com> | 2017-03-23 08:44:51 -0700 |
commit | 01a60395cdba8df0e306d1f692d4677799485b6f (patch) | |
tree | 84bf0ae9b79e3644b61c6cc76914f6b190d0e739 /car-lib/src/android | |
parent | 7837d8d872331dce3c68facc81affd684db929bf (diff) | |
download | Car-01a60395cdba8df0e306d1f692d4677799485b6f.tar.gz |
Updating VMS interfaces to use VmsLayer.
Test: runtest -x packages/services/Car/tests/carservice_test/src/com/android/car/test/VmsPublisherClientServiceTest.java
Test: runtest -x packages/services/Car/tests/carservice_test/src/com/android/car/test/VmsPublisherSubscriberTest.java
Test: runtest -x packages/services/Car/tests/carservice_test/src/com/android/car/test/VmsSubscriberManagerTest.java
Test: runtest -x packages/services/Car/tests/carservice_unit_test/src/com/android/car/VmsRoutingTest.java
Bug: 36214569
Change-Id: Iee5a0595ba5bb175d9b1b6189d15902fd222a967
Diffstat (limited to 'car-lib/src/android')
5 files changed, 29 insertions, 40 deletions
diff --git a/car-lib/src/android/car/vms/IVmsPublisherService.aidl b/car-lib/src/android/car/vms/IVmsPublisherService.aidl index f122ec6a21..e7464579cd 100644 --- a/car-lib/src/android/car/vms/IVmsPublisherService.aidl +++ b/car-lib/src/android/car/vms/IVmsPublisherService.aidl @@ -28,7 +28,7 @@ interface IVmsPublisherService { /** * Client call to publish a message. */ - oneway void publish(in IBinder token, int layer, int version, in byte[] message) = 0; + oneway void publish(in IBinder token, in VmsLayer layer, in byte[] message) = 0; /** * Returns the list of VmsLayers that has any clients subscribed to it. diff --git a/car-lib/src/android/car/vms/IVmsSubscriberClient.aidl b/car-lib/src/android/car/vms/IVmsSubscriberClient.aidl index 8a0f546e82..79c88ac46e 100644 --- a/car-lib/src/android/car/vms/IVmsSubscriberClient.aidl +++ b/car-lib/src/android/car/vms/IVmsSubscriberClient.aidl @@ -25,7 +25,7 @@ oneway interface IVmsSubscriberClient { /** * A VmsService uses this callback to pass messages to subscribers. */ - void onVmsMessageReceived(in int layerId, in int layerVersion, in byte[] payload) = 0; + void onVmsMessageReceived(in VmsLayer layer, in byte[] payload) = 0; void onLayersAvailabilityChange(in List<VmsLayer> availableLayers) = 1; } diff --git a/car-lib/src/android/car/vms/IVmsSubscriberService.aidl b/car-lib/src/android/car/vms/IVmsSubscriberService.aidl index 40ee67fc25..236ae5a94c 100644 --- a/car-lib/src/android/car/vms/IVmsSubscriberService.aidl +++ b/car-lib/src/android/car/vms/IVmsSubscriberService.aidl @@ -28,8 +28,7 @@ interface IVmsSubscriberService { */ void addVmsSubscriberClientListener( in IVmsSubscriberClient listener, - int layer, - int version) = 0; + in VmsLayer layer) = 0; /** * Subscribes the listener to receive messages from all published layer/version. The @@ -43,8 +42,7 @@ interface IVmsSubscriberService { */ void removeVmsSubscriberClientListener( in IVmsSubscriberClient listener, - int layer, - int version) = 2; + in VmsLayer layer) = 2; /** * Tells the VmsSubscriberService a passive client unsubscribes. This will not unsubscribe diff --git a/car-lib/src/android/car/vms/VmsPublisherClientService.java b/car-lib/src/android/car/vms/VmsPublisherClientService.java index c1ef1dd06c..5fae38c687 100644 --- a/car-lib/src/android/car/vms/VmsPublisherClientService.java +++ b/car-lib/src/android/car/vms/VmsPublisherClientService.java @@ -101,14 +101,13 @@ public abstract class VmsPublisherClientService extends Service { /** * Uses the VmsPublisherService binder to publish messages. * - * @param layerId the layer to publish to. - * @param layerVersion the layer's version to publish to. + * @param layer the layer to publish to. * @param payload the message to be sent. * @return if the call to the method VmsPublisherService.publish was successful. */ - public final boolean publish(int layerId, int layerVersion, byte[] payload) { + public final boolean publish(VmsLayer layer, byte[] payload) { if (DBG) { - Log.d(TAG, "Publishing for layer ID: " + layerId + " Version: " + layerVersion); + Log.d(TAG, "Publishing for layer : " + layer); } if (mVmsPublisherService == null) { throw new IllegalStateException("VmsPublisherService not set."); @@ -122,7 +121,7 @@ public abstract class VmsPublisherClientService extends Service { throw new IllegalStateException("VmsPublisherService does not have a valid token."); } try { - mVmsPublisherService.publish(token, layerId, layerVersion, payload); + mVmsPublisherService.publish(token, layer, payload); return true; } catch (RemoteException e) { Log.e(TAG, "unable to publish message: " + payload, e); diff --git a/car-lib/src/android/car/vms/VmsSubscriberManager.java b/car-lib/src/android/car/vms/VmsSubscriberManager.java index 0bdab95c51..d0b8c624c8 100644 --- a/car-lib/src/android/car/vms/VmsSubscriberManager.java +++ b/car-lib/src/android/car/vms/VmsSubscriberManager.java @@ -53,7 +53,7 @@ public final class VmsSubscriberManager implements CarManagerBase { /** Interface exposed to VMS subscribers: it is a wrapper of IVmsSubscriberClient. */ public interface VmsSubscriberClientListener { /** Called when the property is updated */ - void onVmsMessageReceived(int layerId, int layerVersion, byte[] payload); + void onVmsMessageReceived(VmsLayer layer, byte[] payload); /** Called when layers availability change */ void onLayersAvailabilityChange(List<VmsLayer> availableLayers); @@ -84,8 +84,7 @@ public final class VmsSubscriberManager implements CarManagerBase { VmsDataMessage vmsDataMessage = (VmsDataMessage) msg.obj; // Dispatch the parsed message - mgr.dispatchOnReceiveMessage(vmsDataMessage.getLayerId(), - vmsDataMessage.getLayerVersion(), + mgr.dispatchOnReceiveMessage(vmsDataMessage.getLayer(), vmsDataMessage.getPayload()); } break; @@ -111,10 +110,10 @@ public final class VmsSubscriberManager implements CarManagerBase { mHandler = new VmsEventHandler(this, handler.getLooper()); mIListener = new IVmsSubscriberClient.Stub() { @Override - public void onVmsMessageReceived(int layerId, int layerVersion, byte[] payload) + public void onVmsMessageReceived(VmsLayer layer, byte[] payload) throws RemoteException { // Create the data message - VmsDataMessage vmsDataMessage = new VmsDataMessage(layerId, layerVersion, payload); + VmsDataMessage vmsDataMessage = new VmsDataMessage(layer, payload); mHandler.sendMessage( mHandler.obtainMessage( VmsEventHandler.ON_RECEIVE_MESSAGE_EVENT, @@ -163,16 +162,15 @@ public final class VmsSubscriberManager implements CarManagerBase { } /** - * Subscribes to listen to the layer/version specified. + * Subscribes to listen to the layer specified. * - * @param layer the layer id to subscribe to. - * @param version the layer version to subscribe to. + * @param layer the layer to subscribe to. * @throws IllegalStateException if the listener was not set via {@link #setListener}. */ - public void subscribe(int layer, int version) + public void subscribe(VmsLayer layer) throws CarNotConnectedException { if (DBG) { - Log.d(TAG, "Subscribing to layer: " + layer + ", version: " + version); + Log.d(TAG, "Subscribing to layer: " + layer); } VmsSubscriberClientListener listener; synchronized (mListenerLock) { @@ -184,7 +182,7 @@ public final class VmsSubscriberManager implements CarManagerBase { throw new IllegalStateException("Listener was not set."); } try { - mVmsSubscriberService.addVmsSubscriberClientListener(mIListener, layer, version); + mVmsSubscriberService.addVmsSubscriberClientListener(mIListener, layer); } catch (RemoteException e) { Log.e(TAG, "Could not connect: ", e); throw new CarNotConnectedException(e); @@ -220,13 +218,12 @@ public final class VmsSubscriberManager implements CarManagerBase { /** * Unsubscribes from the layer/version specified. * - * @param layer the layer id to unsubscribe from. - * @param version the layer version to unsubscribe from. + * @param layer the layer to unsubscribe from. * @throws IllegalStateException if the listener was not set via {@link #setListener}. */ - public void unsubscribe(int layer, int version) { + public void unsubscribe(VmsLayer layer) { if (DBG) { - Log.d(TAG, "Unsubscribing from layer: " + layer + ", version: " + version); + Log.d(TAG, "Unsubscribing from layer: " + layer); } VmsSubscriberClientListener listener; synchronized (mListenerLock) { @@ -238,7 +235,7 @@ public final class VmsSubscriberManager implements CarManagerBase { throw new IllegalStateException("Listener was not set."); } try { - mVmsSubscriberService.removeVmsSubscriberClientListener(mIListener, layer, version); + mVmsSubscriberService.removeVmsSubscriberClientListener(mIListener, layer); } catch (RemoteException e) { Log.e(TAG, "Failed to unregister subscriber", e); // ignore @@ -247,7 +244,7 @@ public final class VmsSubscriberManager implements CarManagerBase { } } - private void dispatchOnReceiveMessage(int layerId, int layerVersion, byte[] payload) { + private void dispatchOnReceiveMessage(VmsLayer layer, byte[] payload) { VmsSubscriberClientListener listener; synchronized (mListenerLock) { listener = mListener; @@ -256,7 +253,7 @@ public final class VmsSubscriberManager implements CarManagerBase { Log.e(TAG, "Listener died, not dispatching event."); return; } - listener.onVmsMessageReceived(layerId, layerVersion, payload); + listener.onVmsMessageReceived(layer, payload); } private void dispatchOnAvailabilityChangeMessage(List<VmsLayer> availableLayers) { @@ -278,21 +275,16 @@ public final class VmsSubscriberManager implements CarManagerBase { } private static final class VmsDataMessage { - private int mLayerId; - private int mLayerVersion; - private byte[] mPayload; + private final VmsLayer mLayer; + private final byte[] mPayload; - public VmsDataMessage(int layerId, int layerVersion, byte[] payload) { - mLayerId = layerId; - mLayerVersion = layerVersion; + public VmsDataMessage(VmsLayer layer, byte[] payload) { + mLayer = layer; mPayload = payload; } - public int getLayerId() { - return mLayerId; - } - public int getLayerVersion() { - return mLayerVersion; + public VmsLayer getLayer() { + return mLayer; } public byte[] getPayload() { return mPayload; |