Merge "[CPMS] Delete old api / introduce new APIs and hide them"
diff --git a/car-lib/api/system-current.txt b/car-lib/api/system-current.txt
index 9ab0716..5709b9c 100644
--- a/car-lib/api/system-current.txt
+++ b/car-lib/api/system-current.txt
@@ -707,17 +707,9 @@
 package android.car.hardware.power {
 
   public class CarPowerManager {
-    field public static final int BOOT_REASON_DOOR_OPEN = 4; // 0x4
-    field public static final int BOOT_REASON_DOOR_UNLOCK = 2; // 0x2
-    field public static final int BOOT_REASON_REMOTE_START = 5; // 0x5
-    field public static final int BOOT_REASON_TIMER = 3; // 0x3
-    field public static final int BOOT_REASON_USER_POWER_ON = 1; // 0x1
   }
 
   public static interface CarPowerManager.CarPowerStateListener {
-    method public void onStateChanged(int);
-    field public static final int SHUTDOWN_CANCELLED = 0; // 0x0
-    field public static final int SHUTDOWN_ENTER = 1; // 0x1
   }
 
 }
diff --git a/car-lib/native/include/CarPowerManager.h b/car-lib/native/include/CarPowerManager.h
index 90e77f7..22c2240 100644
--- a/car-lib/native/include/CarPowerManager.h
+++ b/car-lib/native/include/CarPowerManager.h
@@ -38,13 +38,14 @@
     //  NOTE:  The entries in this enum must match the ones in CarPowerStateListener located in
     //      packages/services/Car/car-lib/src/android/car/hardware/power/CarPowerManager.java
     enum class State {
-        kShutdownCancelled = 0,
-        kShutdownEnter = 1,
-        kWaitForVhal = 2,
-        kSuspendEnter = 3,
-        kSuspendExit = 4,
-        kOn = 5,
-        kShutdownPrepare = 6,
+        kWaitForVhal = 1,
+        kSuspendEnter = 2,
+        kSuspendExit = 3,
+        kShutdownEnter = 5,
+        kOn = 6,
+        kShutdownPrepare = 7,
+        kShutdownCancelled = 8,
+
 
         kFirst = kWaitForVhal,
         kLast = kShutdownCancelled,
diff --git a/car-lib/src/android/car/hardware/power/CarPowerManager.java b/car-lib/src/android/car/hardware/power/CarPowerManager.java
index 007c1e7..459b575 100644
--- a/car-lib/src/android/car/hardware/power/CarPowerManager.java
+++ b/car-lib/src/android/car/hardware/power/CarPowerManager.java
@@ -49,27 +49,6 @@
 
 
     /**
-     * Deleted! Don't use.
-     */
-    public static final int BOOT_REASON_USER_POWER_ON = 1;
-    /**
-     * Deleted! Don't use.
-     */
-    public static final int BOOT_REASON_DOOR_UNLOCK = 2;
-    /**
-     * Deleted! Don't use.
-     */
-    public static final int BOOT_REASON_TIMER = 3;
-    /**
-     * Deleted! Don't use.
-     */
-    public static final int BOOT_REASON_DOOR_OPEN = 4;
-    /**
-     * Deleted! Don't use.
-     */
-    public static final int BOOT_REASON_REMOTE_START = 5;
-
-    /**
      *  Applications set a {@link CarPowerStateListener} for power state event updates.
      */
     public interface CarPowerStateListener {
@@ -79,44 +58,41 @@
          */
 
         /**
-         * Shutdown is cancelled, return to normal state.
-         */
-        int SHUTDOWN_CANCELLED = 0;
-        /**
-         * Enter shutdown state.  CPMS is switching to WAIT_FOR_FINISHED state.
-         */
-        int SHUTDOWN_ENTER = 1;
-        /**
          * Android is up, but vendor is controlling the audio / display
          * @hide
          */
-        int WAIT_FOR_VHAL = 2;
+        int WAIT_FOR_VHAL = 1;
         /**
          * Enter suspend state.  CPMS is switching to WAIT_FOR_FINISHED state.
          * @hide
          */
-        int SUSPEND_ENTER = 3;
+        int SUSPEND_ENTER = 2;
         /**
          * Wake up from suspend.
          * @hide
          */
-        int SUSPEND_EXIT = 4;
+        int SUSPEND_EXIT = 3;
+        /**
+         * Enter shutdown state.  CPMS is switching to WAIT_FOR_FINISHED state.
+         * @hide
+         */
+        int SHUTDOWN_ENTER = 5;
         /**
          * On state
          * @hide
          */
-        int ON = 5;
+        int ON = 6;
         /**
          * State where system is getting ready for shutdown or suspend.  Application is expected to
          * cleanup and be ready to suspend
          * @hide
          */
-        int SHUTDOWN_PREPARE = 6;
-        
+        int SHUTDOWN_PREPARE = 7;
         /**
-         * Deleted! Don't use.
+         * Shutdown is cancelled, return to normal state.
+         * @hide
          */
-        void onStateChanged(int state);
+        int SHUTDOWN_CANCELLED = 8;
 
         /**
          *  Called when power state changes
diff --git a/service/src/com/android/car/CarLocationService.java b/service/src/com/android/car/CarLocationService.java
index c8543fa..a16c3e3 100644
--- a/service/src/com/android/car/CarLocationService.java
+++ b/service/src/com/android/car/CarLocationService.java
@@ -160,12 +160,6 @@
     }
 
     @Override
-    public void onStateChanged(int state) {
-        throw new UnsupportedOperationException(
-                "Should not be here. This API obsolete and is not used.");
-    }
-
-    @Override
     public void onStateChanged(int state, CompletableFuture<Void> future) {
         logd("onStateChanged: " + state);
         switch (state) {
diff --git a/service/src/com/android/car/garagemode/Controller.java b/service/src/com/android/car/garagemode/Controller.java
index 33c10bc..e08ad2f 100644
--- a/service/src/com/android/car/garagemode/Controller.java
+++ b/service/src/com/android/car/garagemode/Controller.java
@@ -93,12 +93,6 @@
     }
 
     @Override
-    public void onStateChanged(int state) {
-        throw new UnsupportedOperationException(
-                "Should not be here. This API obsolete and is not used.");
-    }
-
-    @Override
     public void onStateChanged(int state, CompletableFuture<Void> future) {
         switch (state) {
             case CarPowerStateListener.SHUTDOWN_CANCELLED:
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/power/PowerTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/power/PowerTestFragment.java
index 2dea5d8..bf1548c 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/power/PowerTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/power/PowerTestFragment.java
@@ -34,28 +34,17 @@
 import com.google.android.car.kitchensink.KitchenSinkActivity;
 import com.google.android.car.kitchensink.R;
 
-import java.util.concurrent.CompletableFuture;
-
 public class PowerTestFragment extends Fragment {
     private final boolean DBG = false;
     private final String TAG = "PowerTestFragment";
     private CarPowerManager mCarPowerManager;
 
     private final CarPowerManager.CarPowerStateListener mPowerListener =
-            new CarPowerManager.CarPowerStateListener() {
-                @Override
-                public void onStateChanged(int state) {
-                    throw new UnsupportedOperationException(
-                            "Should not be here. This API obsolete and is not used.");
+            (state, future) -> {
+                if (future != null) {
+                    future.complete(null);
                 }
-
-                @Override
-                public void onStateChanged(int state, CompletableFuture<Void> future) {
-                    if (future != null) {
-                        future.complete(null);
-                    }
-                    Log.i(TAG, "onStateChanged() state = " + state);
-                }
+                Log.i(TAG, "onStateChanged() state = " + state);
             };
 
     @Override