DO NOT MERGE: Send an exit broadcast on gear reversal. am: 93393730ae

Change-Id: I4082be891aefd26cad9764802b89b82ed6fef1d7
diff --git a/library/main/src/com/android/car/setupwizardlib/util/CarDrivingStateMonitor.java b/library/main/src/com/android/car/setupwizardlib/util/CarDrivingStateMonitor.java
index d7587c1..126f7e0 100644
--- a/library/main/src/com/android/car/setupwizardlib/util/CarDrivingStateMonitor.java
+++ b/library/main/src/com/android/car/setupwizardlib/util/CarDrivingStateMonitor.java
@@ -46,11 +46,12 @@
     public static final String EXIT_BROADCAST_ACTION =
             "com.android.car.setupwizardlib.driving_exit";
 
+    public static final String INTENT_EXTRA_REASON = "reason";
+    public static final String REASON_GEAR_REVERSAL = "gear_reversal";
+
     private static final String TAG = "CarDrivingStateMonitor";
     private static final long DISCONNECT_DELAY_MS = 700;
 
-    private static final String SETUP_PACKAGE = "com.google.android.car.setupwizard";
-    private static final String SETUP_CLASS = SETUP_PACKAGE + ".ExitActivity";
     private static final int GEAR_REVERSE = 2;
 
     private Car mCar;
@@ -78,7 +79,7 @@
                 case VehiclePropertyIds.GEAR_SELECTION:
                     if ((Integer) value.getValue() == GEAR_REVERSE) {
                         Log.v(TAG, "Gear has reversed, exiting SetupWizard.");
-                        sendExitActivityIntent();
+                        broadcastGearReversal();
                     }
                     break;
             }
@@ -322,18 +323,18 @@
                 && gearSelection.getStatus() == CarPropertyValue.STATUS_AVAILABLE) {
             if (gearSelection.getValue() == GEAR_REVERSE) {
                 Log.v(TAG, "SetupWizard started when gear is in reverse, exiting.");
-                sendExitActivityIntent();
+                broadcastGearReversal();
             }
         } else {
             Log.e(TAG, "GEAR_SELECTION is not available.");
         }
     }
 
-    private void sendExitActivityIntent() {
+    private void broadcastGearReversal() {
         Intent intent = new Intent();
-        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        intent.setComponent(new ComponentName(SETUP_PACKAGE, SETUP_CLASS));
-        mContext.startActivity(intent);
+        intent.setAction(EXIT_BROADCAST_ACTION);
+        intent.putExtra(INTENT_EXTRA_REASON, REASON_GEAR_REVERSAL);
+        mContext.sendBroadcast(intent);
     }
 
 }