add android.car

- instead of using binder as compatibility layer, add android.car
- apps using android.car should add it to LOCAL_JAVA_LIBRARIES
  unless doing include
  packages/services/Car/car-support-lib/car-support.mk

- support lib renamed to android.support.car
- UI stuffs only exist in android.support.car
  UI has dependency on androud support library and not added to
  android.car

- permission only uses android.car namespace even for support.car

- car-systemtest remains as static library. To use CarTestManager,
  test app should get CarTestManagerBinderWrapper then create
  CarTestManager.

bug: 27199752
Change-Id: I3522e11e958dade404443fbe2d45f576c827fa7a
diff --git a/service/src/com/android/car/AppContextService.java b/service/src/com/android/car/AppContextService.java
index af05fc9..71bd539 100644
--- a/service/src/com/android/car/AppContextService.java
+++ b/service/src/com/android/car/AppContextService.java
@@ -15,6 +15,9 @@
  */
 package com.android.car;
 
+import android.car.CarAppContextManager;
+import android.car.IAppContext;
+import android.car.IAppContextListener;
 import android.content.Context;
 import android.os.Binder;
 import android.os.Handler;
@@ -22,9 +25,6 @@
 import android.os.Looper;
 import android.os.Message;
 import android.os.RemoteException;
-import android.support.car.CarAppContextManager;
-import android.support.car.IAppContext;
-import android.support.car.IAppContextListener;
 import android.util.Log;
 
 import com.android.car.hal.VehicleHal;
@@ -34,7 +34,6 @@
 
 public class AppContextService extends IAppContext.Stub implements CarServiceBase,
         BinderInterfaceContainer.BinderEventHandler<IAppContextListener> {
-    private static final int VERSION = 1;
     private static final boolean DBG = true;
     private static final boolean DBG_EVENT = false;
 
@@ -55,17 +54,11 @@
     }
 
     @Override
-    public int getVersion() {
-        return VERSION;
-    }
-
-    @Override
-    public void registerContextListener(int clientVersion, IAppContextListener listener,
-            int filter) {
+    public void registerContextListener(IAppContextListener listener, int filter) {
         synchronized (this) {
             ClientInfo info = (ClientInfo) mAllClients.getBinderInterface(listener);
             if (info == null) {
-                info = new ClientInfo(mAllClients, clientVersion, listener, Binder.getCallingUid(),
+                info = new ClientInfo(mAllClients, listener, Binder.getCallingUid(),
                         Binder.getCallingPid(), filter);
                 mAllClients.addBinderInterface(info);
             } else {
@@ -294,9 +287,9 @@
         /** contexts owned by this client */
         private int mOwnedContexts;
 
-        private ClientInfo(ClientHolder holder, int clientVersion, IAppContextListener binder,
-                int uid, int pid, int filter) {
-            super(holder, clientVersion, binder);
+        private ClientInfo(ClientHolder holder, IAppContextListener binder, int uid, int pid,
+                int filter) {
+            super(holder, binder);
             this.uid = uid;
             this.pid = pid;
             this.mFilter = filter;
diff --git a/service/src/com/android/car/AudioRoutingPolicy.java b/service/src/com/android/car/AudioRoutingPolicy.java
index dcca8c5..39ad826 100644
--- a/service/src/com/android/car/AudioRoutingPolicy.java
+++ b/service/src/com/android/car/AudioRoutingPolicy.java
@@ -15,15 +15,15 @@
  */
 package com.android.car;
 
-import java.io.PrintWriter;
-import java.util.Arrays;
-
+import android.car.media.CarAudioManager;
 import android.content.Context;
 import android.content.res.Resources;
 import android.media.AudioAttributes;
-import android.support.car.media.CarAudioManager;
 import android.util.Log;
 
+import java.io.PrintWriter;
+import java.util.Arrays;
+
 /**
  * Holds audio routing policy from config.xml. R.array.audioRoutingPolicy can contain
  * multiple policies and VEHICLE_PROPERTY_AUDIO_HW_VARIANT decide which one to use.
diff --git a/service/src/com/android/car/BinderInterfaceContainer.java b/service/src/com/android/car/BinderInterfaceContainer.java
index c233afa..bf56706 100644
--- a/service/src/com/android/car/BinderInterfaceContainer.java
+++ b/service/src/com/android/car/BinderInterfaceContainer.java
@@ -31,14 +31,11 @@
 
     public static class BinderInterface<T extends IInterface>
             implements IBinder.DeathRecipient {
-        public final int version;
         public final T binderInterface;
         private final BinderInterfaceContainer<T> mContainer;
 
-        public BinderInterface(BinderInterfaceContainer<T> container, int version,
-                T binderInterface) {
+        public BinderInterface(BinderInterfaceContainer<T> container, T binderInterface) {
             mContainer = container;
-            this.version = version;
             this.binderInterface = binderInterface;
         }
 
@@ -60,14 +57,14 @@
         mEventHandler = eventHandler;
     }
 
-    public void addBinder(int version, T binderInterface) {
+    public void addBinder(T binderInterface) {
         IBinder binder = binderInterface.asBinder();
         synchronized (this) {
             BinderInterface<T> bInterface = mBinders.get(binder);
             if (bInterface != null) {
                 return;
             }
-            bInterface = new BinderInterface<T>(this, version, binderInterface);
+            bInterface = new BinderInterface<T>(this, binderInterface);
             try {
                 binder.linkToDeath(bInterface, 0);
             } catch (RemoteException e) {
diff --git a/service/src/com/android/car/BootReceiver.java b/service/src/com/android/car/BootReceiver.java
index 75cacaf..adedf7e 100644
--- a/service/src/com/android/car/BootReceiver.java
+++ b/service/src/com/android/car/BootReceiver.java
@@ -16,11 +16,11 @@
 
 package com.android.car;
 
-import android.os.UserHandle;
-import android.support.car.Car;
+import android.car.Car;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
+import android.os.UserHandle;
 import android.util.Log;
 
 import com.android.car.hal.VehicleHal;
diff --git a/service/src/com/android/car/CarAudioAttributesUtil.java b/service/src/com/android/car/CarAudioAttributesUtil.java
index c51c9b7..97221d4 100644
--- a/service/src/com/android/car/CarAudioAttributesUtil.java
+++ b/service/src/com/android/car/CarAudioAttributesUtil.java
@@ -15,9 +15,9 @@
  */
 package com.android.car;
 
+import android.car.media.CarAudioManager;
 import android.media.AudioAttributes;
 import android.os.Bundle;
-import android.support.car.media.CarAudioManager;
 
 /**
  * Utility class to map car usage into AudioAttributes and the other way around.
diff --git a/service/src/com/android/car/CarAudioService.java b/service/src/com/android/car/CarAudioService.java
index 0eee2e7..5bbad78 100644
--- a/service/src/com/android/car/CarAudioService.java
+++ b/service/src/com/android/car/CarAudioService.java
@@ -15,6 +15,8 @@
  */
 package com.android.car;
 
+import android.car.media.CarAudioManager;
+import android.car.media.ICarAudio;
 import android.content.Context;
 import android.media.AudioAttributes;
 import android.media.AudioFocusInfo;
@@ -25,8 +27,6 @@
 import android.os.HandlerThread;
 import android.os.Looper;
 import android.os.Message;
-import android.support.car.media.CarAudioManager;
-import android.support.car.media.ICarAudio;
 import android.util.Log;
 
 import com.android.car.hal.AudioHalService;
@@ -46,8 +46,6 @@
 
     private static final boolean DBG = true;
 
-    private static final int VERSION = 1;
-
     private final AudioHalService mAudioHal;
     private final Context mContext;
     private final HandlerThread mFocusHandlerThread;
@@ -103,11 +101,6 @@
     }
 
     @Override
-    public int getVersion() {
-        return VERSION;
-    }
-
-    @Override
     public AudioAttributes getAudioAttributesForCarUsage(int carUsage) {
         return CarAudioAttributesUtil.getAudioAttributesForCarUsage(carUsage);
     }
diff --git a/service/src/com/android/car/CarHvacService.java b/service/src/com/android/car/CarHvacService.java
index 54358c8..30232b7 100644
--- a/service/src/com/android/car/CarHvacService.java
+++ b/service/src/com/android/car/CarHvacService.java
@@ -16,14 +16,14 @@
 
 package com.android.car;
 
+import android.car.Car;
+import android.car.hardware.hvac.CarHvacEvent;
+import android.car.hardware.hvac.CarHvacProperty;
+import android.car.hardware.hvac.ICarHvac;
+import android.car.hardware.hvac.ICarHvacEventListener;
 import android.content.Context;
 import android.os.IBinder;
 import android.os.RemoteException;
-import android.support.car.Car;
-import android.support.car.hardware.hvac.CarHvacEvent;
-import android.support.car.hardware.hvac.CarHvacProperty;
-import android.support.car.hardware.hvac.ICarHvac;
-import android.support.car.hardware.hvac.ICarHvacEventListener;
 import android.util.Log;
 
 import com.android.car.hal.VehicleHal;
@@ -37,7 +37,6 @@
         implements CarServiceBase, HvacHalService.HvacHalListener {
     public static final boolean DBG = true;
     public static final String  TAG = CarLog.TAG_HVAC + ".CarHvacService";
-    public static final int     VERSION = 1;
 
     private HvacHalService mHvacHal;
     private final HashMap<IBinder, ICarHvacEventListener> mListenersMap =
@@ -96,12 +95,7 @@
     }
 
     @Override
-    public int getVersion() {
-        return VERSION;
-    }
-
-    @Override
-    public synchronized void registerListener(ICarHvacEventListener listener, int version) {
+    public synchronized void registerListener(ICarHvacEventListener listener) {
         if (DBG) {
             Log.d(TAG, "registerListener");
         }
diff --git a/service/src/com/android/car/CarInfoService.java b/service/src/com/android/car/CarInfoService.java
index 6957a3c..2f7185c 100644
--- a/service/src/com/android/car/CarInfoService.java
+++ b/service/src/com/android/car/CarInfoService.java
@@ -15,12 +15,12 @@
  */
 package com.android.car;
 
+import android.car.CarInfoManager;
+import android.car.ICarInfo;
+import android.car.annotation.ValueTypeDef;
 import android.content.Context;
 import android.os.Bundle;
 import android.provider.Settings;
-import android.support.car.CarInfoManager;
-import android.support.car.ICarInfo;
-import android.support.car.annotation.ValueTypeDef;
 
 import com.android.car.hal.InfoHalService;
 import com.android.car.hal.VehicleHal;
@@ -32,8 +32,6 @@
 
 public class CarInfoService extends ICarInfo.Stub implements CarServiceBase {
 
-    private static final int VERSION = 1;
-
     private static final HashMap<String, Class> sKeyValueTypeMap;
     static {
         sKeyValueTypeMap = new HashMap<String, Class>();
@@ -60,11 +58,6 @@
     }
 
     @Override
-    public int getVersion() {
-        return VERSION;
-    }
-
-    @Override
     public int[] getInt(String key) {
         assertType(key, Integer.class);
         Object o = findFromCache(key);
diff --git a/service/src/com/android/car/CarNavigationStatusService.java b/service/src/com/android/car/CarNavigationService.java
similarity index 73%
rename from service/src/com/android/car/CarNavigationStatusService.java
rename to service/src/com/android/car/CarNavigationService.java
index 4b8c9ec..8351dbf 100644
--- a/service/src/com/android/car/CarNavigationStatusService.java
+++ b/service/src/com/android/car/CarNavigationService.java
@@ -15,16 +15,16 @@
  */
 package com.android.car;
 
+import android.car.Car;
+import android.car.CarAppContextManager;
+import android.car.navigation.CarNavigationInstrumentCluster;
+import android.car.navigation.ICarNavigation;
+import android.car.navigation.ICarNavigationEventListener;
 import android.content.Context;
 import android.graphics.Bitmap;
 import android.os.Binder;
 import android.os.IBinder;
 import android.os.RemoteException;
-import android.support.car.Car;
-import android.support.car.CarAppContextManager;
-import android.support.car.navigation.CarNavigationInstrumentCluster;
-import android.support.car.navigation.ICarNavigationStatus;
-import android.support.car.navigation.ICarNavigationStatusEventListener;
 import android.util.Log;
 
 import java.io.PrintWriter;
@@ -35,17 +35,17 @@
  * Service for talking to the instrument cluster.
  * TODO: implement HAL integration.
  */
-public class CarNavigationStatusService extends ICarNavigationStatus.Stub
+public class CarNavigationService extends ICarNavigation.Stub
         implements CarServiceBase {
     private static final String TAG = CarLog.TAG_NAV;
 
-    private final List<CarNavigationStatusEventListener> mListeners = new ArrayList<>();
+    private final List<CarNavigationEventListener> mListeners = new ArrayList<>();
 
     private CarNavigationInstrumentCluster mInstrumentClusterInfo = null;
     private AppContextService mAppContextService;
     private Context mContext;
 
-    public CarNavigationStatusService(Context context) {
+    public CarNavigationService(Context context) {
         mContext = context;
     }
 
@@ -89,23 +89,23 @@
     }
 
     @Override
-    public boolean registerEventListener(ICarNavigationStatusEventListener listener) {
+    public boolean registerEventListener(ICarNavigationEventListener listener) {
         synchronized(mListeners) {
             if (findClientLocked(listener) == null) {
-                CarNavigationStatusEventListener carInstrumentClusterEventListener =
-                        new CarNavigationStatusEventListener(listener);
+                CarNavigationEventListener eventListener =
+                        new CarNavigationEventListener(listener);
                 try {
-                    listener.asBinder().linkToDeath(carInstrumentClusterEventListener, 0);
+                    listener.asBinder().linkToDeath(eventListener, 0);
                 } catch (RemoteException e) {
                     Log.w(TAG, "Adding listener failed.");
                     return false;
                 }
-                mListeners.add(carInstrumentClusterEventListener);
+                mListeners.add(eventListener);
 
                 // The new listener needs to be told the instrument cluster parameters.
                 try {
                     // TODO: onStart and onStop methods might be triggered from vehicle HAL as well.
-                    carInstrumentClusterEventListener.listener.onStart(mInstrumentClusterInfo);
+                    eventListener.listener.onInstrumentClusterStart(mInstrumentClusterInfo);
                 } catch (RemoteException e) {
                     Log.e(TAG, "listener.onStart failed.");
                     return false;
@@ -116,8 +116,8 @@
     }
 
     @Override
-    public boolean unregisterEventListener(ICarNavigationStatusEventListener listener) {
-        CarNavigationStatusEventListener client;
+    public boolean unregisterEventListener(ICarNavigationEventListener listener) {
+        CarNavigationEventListener client;
         synchronized (mListeners) {
             client = findClientLocked(listener);
         }
@@ -125,12 +125,12 @@
     }
 
     @Override
-    public CarNavigationInstrumentCluster getInfo() {
+    public CarNavigationInstrumentCluster getInstrumentClusterInfo() {
         return mInstrumentClusterInfo;
     }
 
     @Override
-    public boolean isSupported() {
+    public boolean isInstrumentClusterSupported() {
         return mInstrumentClusterInfo != null;
     }
 
@@ -144,9 +144,9 @@
         }
     }
 
-    private boolean removeClient(CarNavigationStatusEventListener listener) {
+    private boolean removeClient(CarNavigationEventListener listener) {
         synchronized(mListeners) {
-            for (CarNavigationStatusEventListener currentListener : mListeners) {
+            for (CarNavigationEventListener currentListener : mListeners) {
                 // Use asBinder() for comparison.
                 if (currentListener == listener) {
                     currentListener.listener.asBinder().unlinkToDeath(currentListener, 0);
@@ -157,9 +157,9 @@
         return false;
     }
 
-    private CarNavigationStatusEventListener findClientLocked(
-            ICarNavigationStatusEventListener listener) {
-        for (CarNavigationStatusEventListener existingListener : mListeners) {
+    private CarNavigationEventListener findClientLocked(
+            ICarNavigationEventListener listener) {
+        for (CarNavigationEventListener existingListener : mListeners) {
             if (existingListener.listener.asBinder() == listener.asBinder()) {
                 return existingListener;
             }
@@ -168,10 +168,10 @@
     }
 
 
-    private class CarNavigationStatusEventListener implements IBinder.DeathRecipient {
-        final ICarNavigationStatusEventListener listener;
+    private class CarNavigationEventListener implements IBinder.DeathRecipient {
+        final ICarNavigationEventListener listener;
 
-        public CarNavigationStatusEventListener(ICarNavigationStatusEventListener listener) {
+        public CarNavigationEventListener(ICarNavigationEventListener listener) {
             this.listener = listener;
         }
 
diff --git a/service/src/com/android/car/CarNightService.java b/service/src/com/android/car/CarNightService.java
index b250b54..eb92fed 100644
--- a/service/src/com/android/car/CarNightService.java
+++ b/service/src/com/android/car/CarNightService.java
@@ -17,12 +17,12 @@
 package com.android.car;
 
 import android.app.UiModeManager;
+import android.car.Car;
+import android.car.CarNotConnectedException;
+import android.car.hardware.CarSensorEvent;
+import android.car.hardware.CarSensorManager;
+import android.car.hardware.ICarSensorEventListener;
 import android.content.Context;
-import android.support.car.Car;
-import android.support.car.CarNotConnectedException;
-import android.support.car.hardware.CarSensorEvent;
-import android.support.car.hardware.CarSensorManager;
-import android.support.car.hardware.ICarSensorEventListener;
 import android.util.Log;
 
 import java.io.PrintWriter;
@@ -32,7 +32,6 @@
 public class CarNightService implements CarServiceBase {
 
     public static final boolean DBG = true;
-    private static final int VERSION = 1;
     private int mNightSetting = UiModeManager.MODE_NIGHT_YES;
     private final Context mContext;
     private final UiModeManager mUiModeManager;
@@ -82,7 +81,7 @@
         mCarSensorService = (CarSensorService) ICarImpl.getInstance(mContext).getCarService(
                 Car.SENSOR_SERVICE);
         mCarSensorService.registerOrUpdateSensorListener(CarSensorManager.SENSOR_TYPE_NIGHT,
-                CarSensorManager.SENSOR_RATE_NORMAL,VERSION,mICarSensorEventListener);
+                CarSensorManager.SENSOR_RATE_NORMAL, mICarSensorEventListener);
         CarSensorEvent currentState = mCarSensorService.getLatestSensorEvent(
                 CarSensorManager.SENSOR_TYPE_NIGHT);
         handleSensorEvent(currentState);
diff --git a/service/src/com/android/car/CarPowerManagementService.java b/service/src/com/android/car/CarPowerManagementService.java
index e748cc2..819e094 100644
--- a/service/src/com/android/car/CarPowerManagementService.java
+++ b/service/src/com/android/car/CarPowerManagementService.java
@@ -16,6 +16,7 @@
 package com.android.car;
 
 import android.annotation.NonNull;
+import android.car.Car;
 import android.content.Context;
 import android.hardware.display.DisplayManager;
 import android.os.Handler;
@@ -25,7 +26,6 @@
 import android.os.PowerManager;
 import android.os.PowerManager.WakeLock;
 import android.os.SystemClock;
-import android.support.car.CarSystemTest;
 import android.util.Log;
 import android.view.Display;
 
@@ -523,8 +523,7 @@
         if (!carImpl.isInMocking()) {
             return false;
         }
-        CarTestService testService = (CarTestService) carImpl.getCarService(
-                CarSystemTest.TEST_SERVICE);
+        CarTestService testService = (CarTestService) carImpl.getCarService(Car.TEST_SERVICE);
         return !testService.shouldDoRealShutdownInMocking();
     }
 
diff --git a/service/src/com/android/car/CarRadioService.java b/service/src/com/android/car/CarRadioService.java
index 7355d0f..3e5e6df 100644
--- a/service/src/com/android/car/CarRadioService.java
+++ b/service/src/com/android/car/CarRadioService.java
@@ -16,17 +16,16 @@
 
 package com.android.car;
 
+import android.car.Car;
+import android.car.hardware.radio.CarRadioEvent;
+import android.car.hardware.radio.CarRadioPreset;
+import android.car.hardware.radio.ICarRadio;
+import android.car.hardware.radio.ICarRadioEventListener;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.os.IBinder;
 import android.os.Process;
 import android.os.RemoteException;
-import android.support.car.Car;
-import android.support.car.CarSystem;
-import android.support.car.hardware.radio.CarRadioEvent;
-import android.support.car.hardware.radio.CarRadioPreset;
-import android.support.car.hardware.radio.ICarRadio;
-import android.support.car.hardware.radio.ICarRadioEventListener;
 import android.util.Log;
 
 import com.android.car.hal.VehicleHal;
@@ -39,7 +38,6 @@
         implements CarServiceBase, RadioHalService.RadioListener {
     public static boolean DBG = true;
     public static String TAG = CarLog.TAG_RADIO + ".CarRadioService";
-    public static final int VERSION = 1;
 
     private RadioHalService mRadioHal;
     private final HashMap<IBinder, ICarRadioEventListener> mListenersMap =
@@ -98,17 +96,12 @@
     }
 
     @Override
-    public int getVersion() {
-        return VERSION;
-    }
-
-    @Override
     public int getPresetCount() {
         return mRadioHal.getPresetCount();
     }
 
     @Override
-    public synchronized void registerListener(ICarRadioEventListener listener, int version) {
+    public synchronized void registerListener(ICarRadioEventListener listener) {
         if (DBG) {
             Log.d(TAG, "registerListener");
         }
@@ -209,10 +202,10 @@
 
     private void checkRadioPremissions() {
         if (getCallingUid() != Process.SYSTEM_UID &&
-            mContext.checkCallingOrSelfPermission(CarSystem.PERMISSION_CAR_RADIO) !=
+            mContext.checkCallingOrSelfPermission(Car.PERMISSION_CAR_RADIO) !=
             PackageManager.PERMISSION_GRANTED) {
             throw new SecurityException("requires system app or " +
-                CarSystem.PERMISSION_CAR_RADIO);
+                Car.PERMISSION_CAR_RADIO);
         }
     }
 }
diff --git a/service/src/com/android/car/CarSensorEventFactory.java b/service/src/com/android/car/CarSensorEventFactory.java
index 7940f9a..e270eba 100644
--- a/service/src/com/android/car/CarSensorEventFactory.java
+++ b/service/src/com/android/car/CarSensorEventFactory.java
@@ -16,7 +16,7 @@
 
 package com.android.car;
 
-import android.support.car.hardware.CarSensorEvent;
+import android.car.hardware.CarSensorEvent;
 
 //TODO add memory pool and recycling
 public class CarSensorEventFactory {
diff --git a/service/src/com/android/car/CarSensorService.java b/service/src/com/android/car/CarSensorService.java
index 5e843f5..992c033 100644
--- a/service/src/com/android/car/CarSensorService.java
+++ b/service/src/com/android/car/CarSensorService.java
@@ -17,6 +17,12 @@
 package com.android.car;
 
 import android.Manifest;
+import android.car.Car;
+import android.car.hardware.CarSensorEvent;
+import android.car.hardware.CarSensorManager;
+import android.car.hardware.ICarSensor;
+import android.car.hardware.ICarSensorEventListener;
+import android.car.hardware.CarSensorManager.CarSensorEventListener;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.hardware.SensorEvent;
@@ -29,12 +35,6 @@
 import android.os.Process;
 import android.os.RemoteException;
 import android.os.SystemClock;
-import android.support.car.Car;
-import android.support.car.hardware.CarSensorEvent;
-import android.support.car.hardware.CarSensorManager;
-import android.support.car.hardware.ICarSensor;
-import android.support.car.hardware.ICarSensorEventListener;
-import android.support.car.hardware.CarSensorManager.CarSensorEventListener;
 import android.util.Log;
 import android.util.SparseArray;
 import android.util.SparseBooleanArray;
@@ -79,8 +79,6 @@
      */
     private static final boolean ENABLE_DISPATCHING_LIMIT = false;
 
-    public static final int VERSION = 1;
-
     /** {@link #mSensorLock} is not waited forever for handling disconnection */
     private static final long MAX_SENSOR_LOCK_WAIT_MS = 1000;
 
@@ -279,15 +277,9 @@
         return mSupportedSensors;
     }
 
-
-    @Override
-    public int getVersion() {
-        return VERSION;
-    }
-
     @Override
     public boolean registerOrUpdateSensorListener(int sensorType, int rate,
-            int clientVersion, ICarSensorEventListener listener) {
+            ICarSensorEventListener listener) {
         boolean shouldStartSensors = false;
         SensorRecord sensorRecord = null;
         SensorClient sensorClient = null;
diff --git a/service/src/com/android/car/CarService.java b/service/src/com/android/car/CarService.java
index 8e0f74a..e0feb8a 100644
--- a/service/src/com/android/car/CarService.java
+++ b/service/src/com/android/car/CarService.java
@@ -21,7 +21,7 @@
 import com.android.car.hal.VehicleHal;
 
 import android.app.Service;
-import android.support.car.Car;
+import android.car.Car;
 import android.content.Intent;
 import android.os.IBinder;
 import android.util.Log;
diff --git a/service/src/com/android/car/CarTestService.java b/service/src/com/android/car/CarTestService.java
index b272bbd..59a12f4 100644
--- a/service/src/com/android/car/CarTestService.java
+++ b/service/src/com/android/car/CarTestService.java
@@ -15,10 +15,10 @@
  */
 package com.android.car;
 
+import android.car.test.CarTestManager;
+import android.car.test.ICarTest;
 import android.content.Context;
 import android.util.Log;
-import android.support.car.CarTestManager;
-import android.support.car.ICarTest;
 
 import com.android.car.hal.VehicleHal;
 import com.android.car.vehiclenetwork.IVehicleNetworkHalMock;
@@ -33,7 +33,6 @@
  * requires accessing that level directly.
  */
 public class CarTestService extends ICarTest.Stub implements CarServiceBase {
-    private static final int VERSION = 1;
 
     private final Context mContext;
     private final VehicleNetwork mVehicleNetwork;
@@ -66,11 +65,6 @@
     }
 
     @Override
-    public int getVersion() {
-        return VERSION;
-    }
-
-    @Override
     public void injectEvent(VehiclePropValueParcelable value) {
         ICarImpl.assertVehicleHalMockPermission(mContext);
         mVehicleNetwork.injectEvent(value.value);
diff --git a/service/src/com/android/car/DayNightModePolicy.java b/service/src/com/android/car/DayNightModePolicy.java
index c0859de..38a5332 100644
--- a/service/src/com/android/car/DayNightModePolicy.java
+++ b/service/src/com/android/car/DayNightModePolicy.java
@@ -16,11 +16,11 @@
 
 package com.android.car;
 
+import android.car.Car;
+import android.car.hardware.CarSensorEvent;
+import android.car.hardware.CarSensorManager;
 import android.content.Context;
 import android.os.SystemClock;
-import android.support.car.Car;
-import android.support.car.hardware.CarSensorEvent;
-import android.support.car.hardware.CarSensorManager;
 import android.util.Log;
 
 import com.android.car.hal.SensorHalServiceBase.SensorListener;
diff --git a/service/src/com/android/car/DrivingStatePolicy.java b/service/src/com/android/car/DrivingStatePolicy.java
index 41f1e1a..2b2402f 100644
--- a/service/src/com/android/car/DrivingStatePolicy.java
+++ b/service/src/com/android/car/DrivingStatePolicy.java
@@ -16,12 +16,12 @@
 
 package com.android.car;
 
+import android.car.Car;
+import android.car.hardware.CarSensorEvent;
+import android.car.hardware.CarSensorManager;
+import android.car.hardware.ICarSensorEventListener;
 import android.content.Context;
 import android.os.SystemClock;
-import android.support.car.Car;
-import android.support.car.hardware.CarSensorEvent;
-import android.support.car.hardware.CarSensorManager;
-import android.support.car.hardware.ICarSensorEventListener;
 import android.util.Log;
 
 import com.android.car.hal.SensorHalServiceBase.SensorListener;
@@ -141,7 +141,7 @@
             return false;
         }
         return mSensorService.registerOrUpdateSensorListener(sensorType, rate,
-                CarSensorService.VERSION, mICarSensorEventListener);
+                mICarSensorEventListener);
     }
 
     private synchronized void handleSensorEvent(CarSensorEvent event) {
diff --git a/service/src/com/android/car/ICarImpl.java b/service/src/com/android/car/ICarImpl.java
index 7f83db2..fe8d7ef 100644
--- a/service/src/com/android/car/ICarImpl.java
+++ b/service/src/com/android/car/ICarImpl.java
@@ -16,15 +16,13 @@
 
 package com.android.car;
 
+import android.car.Car;
+import android.car.ICar;
+import android.car.ICarConnectionListener;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.os.IBinder;
 import android.os.RemoteException;
-import android.support.car.Car;
-import android.support.car.CarSystem;
-import android.support.car.CarSystemTest;
-import android.support.car.ICar;
-import android.support.car.ICarConnectionListener;
 import android.util.Log;
 
 import com.android.car.hal.VehicleHal;
@@ -35,7 +33,6 @@
 import java.util.Collection;
 
 public class ICarImpl extends ICar.Stub {
-    private static final int VERSION = 1;
 
     @GuardedBy("ICarImpl.class")
     private static ICarImpl sInstance = null;
@@ -53,7 +50,7 @@
     private final AppContextService mAppContextService;
     private final CarPackageManagerService mCarPackageManagerService;
     private final GarageModeService mGarageModeService;
-    private final CarNavigationStatusService mCarNavigationStatusService;
+    private final CarNavigationService mCarNavigationStatusService;
 
     /** Test only service. Populate it only when necessary. */
     @GuardedBy("this")
@@ -93,7 +90,7 @@
         mCarRadioService = new CarRadioService(serviceContext);
         mCarNightService = new CarNightService(serviceContext);
         mCarPackageManagerService = new CarPackageManagerService(serviceContext);
-        mCarNavigationStatusService = new CarNavigationStatusService(serviceContext);
+        mCarNavigationStatusService = new CarNavigationService(serviceContext);
 
         // Be careful with order. Service depending on other service should be inited later.
         mAllServices = new CarServiceBase[] {
@@ -158,7 +155,7 @@
         for (BinderInterfaceContainer.BinderInterface<ICarConnectionListener> client :
                 connectionListeners) {
             try {
-                client.binderInterface.onConnected(Car.CONNECTION_TYPE_EMBEDDED);
+                client.binderInterface.onConnected();
             } catch (RemoteException e) {
                 //ignore
             }
@@ -166,11 +163,6 @@
     }
 
     @Override
-    public int getVersion() {
-        return VERSION;
-    }
-
-    @Override
     public IBinder getCarService(String serviceName) {
         switch (serviceName) {
             case Car.AUDIO_SERVICE:
@@ -183,15 +175,15 @@
                 return mAppContextService;
             case Car.PACKAGE_SERVICE:
                 return mCarPackageManagerService;
-            case CarSystem.HVAC_SERVICE:
+            case Car.HVAC_SERVICE:
                 assertHvacPermission(mContext);
                 return mCarHvacService;
-            case CarSystem.RADIO_SERVICE:
+            case Car.RADIO_SERVICE:
                 assertRadioPermission(mContext);
                 return mCarRadioService;
             case Car.CAR_NAVIGATION_SERVICE:
                 return mCarNavigationStatusService;
-            case CarSystemTest.TEST_SERVICE: {
+            case Car.TEST_SERVICE: {
                 assertVehicleHalMockPermission(mContext);
                 synchronized (this) {
                     if (mCarTestService == null) {
@@ -212,15 +204,10 @@
     }
 
     @Override
-    public int getCarConnectionType() {
-        return Car.CONNECTION_TYPE_EMBEDDED;
-    }
-
-    @Override
-    public void registerCarConnectionListener(int clientVersion, ICarConnectionListener listener) {
-        mCarConnectionListeners.addBinder(clientVersion, listener);
+    public void registerCarConnectionListener(ICarConnectionListener listener) {
+        mCarConnectionListeners.addBinder(listener);
         try {
-            listener.onConnected(Car.CONNECTION_TYPE_EMBEDDED);
+            listener.onConnected();
         } catch (RemoteException e) {
             //ignore
         }
@@ -243,25 +230,25 @@
     }
 
     public static void assertVehicleHalMockPermission(Context context) {
-        if (context.checkCallingOrSelfPermission(CarSystemTest.PERMISSION_MOCK_VEHICLE_HAL)
+        if (context.checkCallingOrSelfPermission(Car.PERMISSION_MOCK_VEHICLE_HAL)
                 != PackageManager.PERMISSION_GRANTED) {
             throw new SecurityException("requires CAR_MOCK_VEHICLE_HAL permission");
         }
     }
 
     public static void assertHvacPermission(Context context) {
-        if (context.checkCallingOrSelfPermission(CarSystem.PERMISSION_CAR_HVAC)
+        if (context.checkCallingOrSelfPermission(Car.PERMISSION_CAR_HVAC)
                 != PackageManager.PERMISSION_GRANTED) {
             throw new SecurityException(
-                    "requires " + CarSystem.PERMISSION_CAR_HVAC);
+                    "requires " + Car.PERMISSION_CAR_HVAC);
         }
     }
 
     private static void assertRadioPermission(Context context) {
-        if (context.checkCallingOrSelfPermission(CarSystem.PERMISSION_CAR_RADIO)
+        if (context.checkCallingOrSelfPermission(Car.PERMISSION_CAR_RADIO)
             != PackageManager.PERMISSION_GRANTED) {
             throw new SecurityException(
-                "requires permission " + CarSystem.PERMISSION_CAR_RADIO);
+                "requires permission " + Car.PERMISSION_CAR_RADIO);
         }
     }
 
diff --git a/service/src/com/android/car/hal/AudioHalService.java b/service/src/com/android/car/hal/AudioHalService.java
index b19368f..68c4d11 100644
--- a/service/src/com/android/car/hal/AudioHalService.java
+++ b/service/src/com/android/car/hal/AudioHalService.java
@@ -15,7 +15,7 @@
  */
 package com.android.car.hal;
 
-import android.support.car.media.CarAudioManager;
+import android.car.media.CarAudioManager;
 import android.util.Log;
 
 import com.android.car.AudioRoutingPolicy;
diff --git a/service/src/com/android/car/hal/HvacHalService.java b/service/src/com/android/car/hal/HvacHalService.java
index 060b637..958ce52 100644
--- a/service/src/com/android/car/hal/HvacHalService.java
+++ b/service/src/com/android/car/hal/HvacHalService.java
@@ -18,9 +18,9 @@
 import static com.android.car.vehiclenetwork.VehiclePropValueUtil.toFloatArray;
 import static com.android.car.vehiclenetwork.VehiclePropValueUtil.toIntArray;
 
-import android.support.car.hardware.hvac.CarHvacEvent;
-import android.support.car.hardware.hvac.CarHvacManager;
-import android.support.car.hardware.hvac.CarHvacProperty;
+import android.car.hardware.hvac.CarHvacEvent;
+import android.car.hardware.hvac.CarHvacManager;
+import android.car.hardware.hvac.CarHvacProperty;
 import android.util.Log;
 
 import com.android.car.CarLog;
diff --git a/service/src/com/android/car/hal/InfoHalService.java b/service/src/com/android/car/hal/InfoHalService.java
index 5540778..816e634 100644
--- a/service/src/com/android/car/hal/InfoHalService.java
+++ b/service/src/com/android/car/hal/InfoHalService.java
@@ -15,7 +15,7 @@
  */
 package com.android.car.hal;
 
-import android.support.car.CarInfoManager;
+import android.car.CarInfoManager;
 import android.util.Log;
 
 import com.android.car.CarLog;
diff --git a/service/src/com/android/car/hal/RadioHalService.java b/service/src/com/android/car/hal/RadioHalService.java
index feec521..9c3a4a3 100644
--- a/service/src/com/android/car/hal/RadioHalService.java
+++ b/service/src/com/android/car/hal/RadioHalService.java
@@ -16,12 +16,11 @@
 
 package com.android.car.hal;
 
+import android.car.hardware.radio.CarRadioEvent;
+import android.car.hardware.radio.CarRadioPreset;
 import android.util.Log;
 import android.hardware.radio.RadioManager;
 
-import android.support.car.hardware.radio.CarRadioEvent;
-import android.support.car.hardware.radio.CarRadioPreset;
-
 import com.android.car.CarLog;
 import com.android.car.vehiclenetwork.VehicleNetworkConsts;
 import com.android.car.vehiclenetwork.VehicleNetworkConsts.VehicleValueType;
diff --git a/service/src/com/android/car/hal/SensorHalService.java b/service/src/com/android/car/hal/SensorHalService.java
index 6418d30..05e7571 100644
--- a/service/src/com/android/car/hal/SensorHalService.java
+++ b/service/src/com/android/car/hal/SensorHalService.java
@@ -16,8 +16,8 @@
 
 package com.android.car.hal;
 
-import android.support.car.hardware.CarSensorEvent;
-import android.support.car.hardware.CarSensorManager;
+import android.car.hardware.CarSensorEvent;
+import android.car.hardware.CarSensorManager;
 import android.util.Log;
 import android.util.SparseArray;
 
diff --git a/service/src/com/android/car/hal/SensorHalServiceBase.java b/service/src/com/android/car/hal/SensorHalServiceBase.java
index 3e2fee1..ff106fd 100644
--- a/service/src/com/android/car/hal/SensorHalServiceBase.java
+++ b/service/src/com/android/car/hal/SensorHalServiceBase.java
@@ -16,7 +16,7 @@
 
 package com.android.car.hal;
 
-import android.support.car.hardware.CarSensorEvent;
+import android.car.hardware.CarSensorEvent;
 
 import com.android.car.vehiclenetwork.VehicleNetworkProto.VehiclePropConfig;
 import com.android.car.vehiclenetwork.VehicleNetworkProto.VehiclePropValue;
diff --git a/service/src/com/android/car/pm/AppBlockingPolicyProxy.java b/service/src/com/android/car/pm/AppBlockingPolicyProxy.java
index b9ea0f8..3ab7df4 100644
--- a/service/src/com/android/car/pm/AppBlockingPolicyProxy.java
+++ b/service/src/com/android/car/pm/AppBlockingPolicyProxy.java
@@ -15,6 +15,9 @@
  */
 package com.android.car.pm;
 
+import android.car.content.pm.CarAppBlockingPolicy;
+import android.car.content.pm.ICarAppBlockingPolicy;
+import android.car.content.pm.ICarAppBlockingPolicySetter;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -24,9 +27,6 @@
 import android.os.IBinder;
 import android.os.RemoteException;
 import android.os.UserHandle;
-import android.support.car.content.pm.CarAppBlockingPolicy;
-import android.support.car.content.pm.ICarAppBlockingPolicy;
-import android.support.car.content.pm.ICarAppBlockingPolicySetter;
 import android.util.Log;
 
 import com.android.car.CarLog;
@@ -149,11 +149,6 @@
     }
 
     private class ICarAppBlockingPolicySetterImpl extends ICarAppBlockingPolicySetter.Stub {
-        private static final int VERSION = 1;
-        @Override
-        public int getVersion() {
-            return VERSION;
-        }
 
         @Override
         public void setAppBlockingPolicy(CarAppBlockingPolicy policy) {
diff --git a/service/src/com/android/car/pm/CarAppMetadataReader.java b/service/src/com/android/car/pm/CarAppMetadataReader.java
index 878dabc..b54e192 100644
--- a/service/src/com/android/car/pm/CarAppMetadataReader.java
+++ b/service/src/com/android/car/pm/CarAppMetadataReader.java
@@ -36,7 +36,7 @@
  */
 public class CarAppMetadataReader {
     /** Name of the meta-data attribute for the automotive application XML resource */
-    private static final String METADATA_ATTRIBUTE = "android.support.car.application";
+    private static final String METADATA_ATTRIBUTE = "android.car.application";
     /** Name of the tag to declare automotive usage */
     private static final String USES_TAG = "uses";
     /** Name of the attribute to name the usage type */
diff --git a/service/src/com/android/car/pm/CarPackageManagerService.java b/service/src/com/android/car/pm/CarPackageManagerService.java
index 627bba5..8816502 100644
--- a/service/src/com/android/car/pm/CarPackageManagerService.java
+++ b/service/src/com/android/car/pm/CarPackageManagerService.java
@@ -15,6 +15,12 @@
  */
 package com.android.car.pm;
 
+import android.car.Car;
+import android.car.content.pm.AppBlockingPackageInfo;
+import android.car.content.pm.CarAppBlockingPolicy;
+import android.car.content.pm.CarAppBlockingPolicyService;
+import android.car.content.pm.CarPackageManager;
+import android.car.content.pm.ICarPackageManager;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageInfo;
@@ -27,12 +33,6 @@
 import android.os.HandlerThread;
 import android.os.Looper;
 import android.os.Message;
-import android.support.car.Car;
-import android.support.car.content.pm.AppBlockingPackageInfo;
-import android.support.car.content.pm.CarAppBlockingPolicy;
-import android.support.car.content.pm.CarAppBlockingPolicyService;
-import android.support.car.content.pm.CarPackageManager;
-import android.support.car.content.pm.ICarPackageManager;
 import android.util.ArraySet;
 import android.util.Log;
 import android.util.Pair;
@@ -53,7 +53,6 @@
 //TODO monitor app installing and refresh policy
 
 public class CarPackageManagerService extends ICarPackageManager.Stub implements CarServiceBase {
-    private static final int VERSION = 1;
     static final boolean DBG_POLICY_SET = true;
     static final boolean DBG_POLICY_CHECK = false;
 
@@ -89,11 +88,6 @@
     }
 
     @Override
-    public int getVersion() {
-        return VERSION;
-    }
-
-    @Override
     public void setAppBlockingPolicy(String packageName, CarAppBlockingPolicy policy, int flags) {
         if (DBG_POLICY_SET) {
             Log.i(CarLog.TAG_PACKAGE, "policy setting from binder call, client:" + packageName);