Un-hide some of the APIs in relation to nav state API.
Also removed some now-redundant methods. Since these methods were
previously @hide, there should be no harm in removing them as we
un-@hide onEvent.
Test: make update-car-api
Change-Id: I28d4621b3bcae01489dceea487d15878bbbeaa6b
diff --git a/car-lib/src/android/car/cluster/renderer/IInstrumentClusterNavigation.aidl b/car-lib/src/android/car/cluster/renderer/IInstrumentClusterNavigation.aidl
index b1fb7b1..6f33a9d 100644
--- a/car-lib/src/android/car/cluster/renderer/IInstrumentClusterNavigation.aidl
+++ b/car-lib/src/android/car/cluster/renderer/IInstrumentClusterNavigation.aidl
@@ -25,13 +25,6 @@
* @hide
*/
interface IInstrumentClusterNavigation {
- void onStartNavigation();
- void onStopNavigation();
- void onNextManeuverChanged(
- int event, CharSequence eventName, int turnAngle, int turnNumber, in Bitmap image,
- int turnSide);
- void onNextManeuverDistanceChanged(int distanceMeters, int timeSeconds,
- int displayDistanceMillis, int displayDistanceUnit);
void onEvent(int eventType, in Bundle bundle);
CarNavigationInstrumentCluster getInstrumentClusterInfo();
}
diff --git a/car-lib/src/android/car/cluster/renderer/InstrumentClusterRenderingService.java b/car-lib/src/android/car/cluster/renderer/InstrumentClusterRenderingService.java
index e34f2fa..304f732 100644
--- a/car-lib/src/android/car/cluster/renderer/InstrumentClusterRenderingService.java
+++ b/car-lib/src/android/car/cluster/renderer/InstrumentClusterRenderingService.java
@@ -239,34 +239,6 @@
}
@Override
- public void onStartNavigation() throws RemoteException {
- assertContextOwnership();
- mNavigationRenderer.onStartNavigation();
- }
-
- @Override
- public void onStopNavigation() throws RemoteException {
- assertContextOwnership();
- mNavigationRenderer.onStopNavigation();
- }
-
- @Override
- public void onNextManeuverChanged(int event, CharSequence eventName, int turnAngle,
- int turnNumber, Bitmap image, int turnSide) throws RemoteException {
- assertContextOwnership();
- mNavigationRenderer.onNextTurnChanged(event, eventName, turnAngle, turnNumber,
- image, turnSide);
- }
-
- @Override
- public void onNextManeuverDistanceChanged(int distanceMeters, int timeSeconds,
- int displayDistanceMillis, int displayDistanceUnit) throws RemoteException {
- assertContextOwnership();
- mNavigationRenderer.onNextTurnDistanceChanged(distanceMeters, timeSeconds,
- displayDistanceMillis, displayDistanceUnit);
- }
-
- @Override
public void onEvent(int eventType, Bundle bundle) throws RemoteException {
assertContextOwnership();
mNavigationRenderer.onEvent(eventType, bundle);
diff --git a/car-lib/src/android/car/cluster/renderer/NavigationRenderer.java b/car-lib/src/android/car/cluster/renderer/NavigationRenderer.java
index 0958548..4681a8b 100644
--- a/car-lib/src/android/car/cluster/renderer/NavigationRenderer.java
+++ b/car-lib/src/android/car/cluster/renderer/NavigationRenderer.java
@@ -24,7 +24,6 @@
/**
* Contains methods specified for Navigation App renderer in instrument cluster.
*
- * TODO: Consider to add methods to report time / distance to final destination. bug:32060070
* @hide
*/
@SystemApi
@@ -35,13 +34,8 @@
*/
abstract public CarNavigationInstrumentCluster getNavigationProperties();
- abstract public void onStartNavigation();
- abstract public void onStopNavigation();
- abstract public void onNextTurnChanged(int event, CharSequence eventName, int turnAngle,
- int turnNumber, Bitmap image, int turnSide);
- abstract public void onNextTurnDistanceChanged(int distanceMeters, int timeSeconds,
- int displayDistanceMillis, int displayDistanceUnit);
-
- /** @hide */
- public void onEvent(int eventType, Bundle bundle) {}
+ /**
+ * Called when an event is fired to change the navigation state.
+ */
+ abstract public void onEvent(int eventType, Bundle bundle);
}
diff --git a/car-lib/src/android/car/cluster/renderer/ThreadSafeNavigationRenderer.java b/car-lib/src/android/car/cluster/renderer/ThreadSafeNavigationRenderer.java
index 047ed90..251b670 100644
--- a/car-lib/src/android/car/cluster/renderer/ThreadSafeNavigationRenderer.java
+++ b/car-lib/src/android/car/cluster/renderer/ThreadSafeNavigationRenderer.java
@@ -30,16 +30,13 @@
* A wrapper over {@link NavigationRenderer} that runs all its methods in the context of provided
* looper. It is guaranteed that all calls will be invoked in order they were called.
*/
+// TODO(deanh): Does this class even need to exist?
/* package */ class ThreadSafeNavigationRenderer extends NavigationRenderer {
private final Handler mHandler;
private final NavigationRenderer mRenderer;
- private final static int MSG_NAV_START = 1;
- private final static int MSG_NAV_STOP = 2;
- private final static int MSG_NAV_NEXT_TURN = 3;
- private final static int MSG_NAV_NEXT_TURN_DISTANCE = 4;
- private final static int MSG_EVENT = 5;
+ private final static int MSG_EVENT = 1;
/** Creates thread-safe {@link NavigationRenderer}. Returns null if renderer == null */
@Nullable
@@ -68,31 +65,6 @@
}
@Override
- public void onStartNavigation() {
- mHandler.sendMessage(mHandler.obtainMessage(MSG_NAV_START));
- }
-
- @Override
- public void onStopNavigation() {
- mHandler.sendMessage(mHandler.obtainMessage(MSG_NAV_STOP));
- }
-
- @Override
- public void onNextTurnChanged(int event, CharSequence eventName, int turnAngle, int turnNumber,
- Bitmap image, int turnSide) {
- mHandler.sendMessage(mHandler.obtainMessage(MSG_NAV_NEXT_TURN,
- new NextTurn(event, eventName, turnAngle, turnNumber, image, turnSide)));
- }
-
- @Override
- public void onNextTurnDistanceChanged(int distanceMeters, int timeSeconds,
- int displayDistanceMillis, int displayDistanceUnit) {
- ManeuverDistance distance = new ManeuverDistance(distanceMeters, timeSeconds,
- displayDistanceMillis, displayDistanceUnit);
- mHandler.sendMessage(mHandler.obtainMessage(MSG_NAV_NEXT_TURN_DISTANCE, distance));
- }
-
- @Override
public void onEvent(int eventType, Bundle bundle) {
mHandler.sendMessage(mHandler.obtainMessage(MSG_EVENT, eventType, 0, bundle));
}
@@ -106,22 +78,6 @@
@Override
public void handleMessage(Message msg, NavigationRenderer renderer) {
switch (msg.what) {
- case MSG_NAV_START:
- renderer.onStartNavigation();
- break;
- case MSG_NAV_STOP:
- renderer.onStopNavigation();
- break;
- case MSG_NAV_NEXT_TURN:
- NextTurn nt = (NextTurn) msg.obj;
- renderer.onNextTurnChanged(nt.event, nt.eventName, nt.turnAngle, nt.turnNumber,
- nt.bitmap, nt.turnSide);
- break;
- case MSG_NAV_NEXT_TURN_DISTANCE:
- ManeuverDistance d = (ManeuverDistance) msg.obj;
- renderer.onNextTurnDistanceChanged(
- d.meters, d.seconds, d.displayDistanceMillis, d.displayDistanceUnit);
- break;
case MSG_EVENT:
Bundle bundle = (Bundle) msg.obj;
renderer.onEvent(msg.arg1, bundle);
@@ -153,25 +109,6 @@
return runnable.getResult();
}
- private static class NextTurn {
- private final int event;
- private final CharSequence eventName;
- private final int turnAngle;
- private final int turnNumber;
- private final Bitmap bitmap;
- private final int turnSide;
-
- NextTurn(int event, CharSequence eventName, int turnAngle, int turnNumber, Bitmap bitmap,
- int turnSide) {
- this.event = event;
- this.eventName = eventName;
- this.turnAngle = turnAngle;
- this.turnNumber = turnNumber;
- this.bitmap = bitmap;
- this.turnSide = turnSide;
- }
- }
-
private static abstract class RunnableWithResult<T> implements Runnable {
private volatile T result;
@@ -206,19 +143,4 @@
public abstract void handleMessage(Message msg, T renderer);
}
-
- private static class ManeuverDistance {
- final int meters;
- final int seconds;
- final int displayDistanceMillis;
- final int displayDistanceUnit;
-
- ManeuverDistance(int meters, int seconds, int displayDistanceMillis,
- int displayDistanceUnit) {
- this.meters = meters;
- this.seconds = seconds;
- this.displayDistanceMillis = displayDistanceMillis;
- this.displayDistanceUnit = displayDistanceUnit;
- }
- }
}