Merge "Prevent ManagedProvisioning from killing DMAgent in SUW/DO flow." into mnc-dev
diff --git a/src/com/android/managedprovisioning/proxy/BluetoothConnectionService.java b/src/com/android/managedprovisioning/proxy/BluetoothConnectionService.java
index 7b4e6a4..e00f4c4 100644
--- a/src/com/android/managedprovisioning/proxy/BluetoothConnectionService.java
+++ b/src/com/android/managedprovisioning/proxy/BluetoothConnectionService.java
@@ -203,7 +203,7 @@
                 DevicePolicyManager.EXTRA_DEVICE_INITIALIZER_STATUS_CODE, 0);
         String data = intent.getStringExtra(
                 DevicePolicyManager.EXTRA_DEVICE_INITIALIZER_STATUS_DESCRIPTION);
-        if (customStatus && !DeviceInitializerStatus.isCustomStatus(statusCode)) {
+        if (customStatus && ((statusCode & DeviceInitializerStatus.FLAG_STATUS_CUSTOM) == 0)) {
             ProvisionLogger.logw("Expected custom status update.");
         } else {
             mBluetoothClient.sendStatusUpdate(statusCode, data);
@@ -259,7 +259,7 @@
             return false;
         }
         mBluetoothClient.sendStatusUpdate(
-                DeviceInitializerStatus.STATUS_STATE_CONNECT_BLUETOOTH_PROXY, "Started proxy.");
+                DeviceInitializerStatus.STATUS_STATE_CONNECTING_BLUETOOTH_PROXY, "Started proxy.");
         mNetworkMonitor = new NetworkMonitor(this, this);
         return true;
     }
@@ -290,7 +290,8 @@
             mNetworkMonitor = null;
         }
         mBluetoothClient.sendStatusUpdate(
-                DeviceInitializerStatus.STATUS_STATE_DISCONNECT_BLUETOOTH_PROXY, "Removing proxy.");
+                DeviceInitializerStatus.STATUS_STATE_DISCONNECTING_BLUETOOTH_PROXY,
+                "Removing proxy.");
         mBluetoothClient.removeGlobalProxy();
     }
 
diff --git a/src/com/android/managedprovisioning/proxy/BluetoothTetherClient.java b/src/com/android/managedprovisioning/proxy/BluetoothTetherClient.java
index fe57425..d7d4196 100644
--- a/src/com/android/managedprovisioning/proxy/BluetoothTetherClient.java
+++ b/src/com/android/managedprovisioning/proxy/BluetoothTetherClient.java
@@ -50,8 +50,8 @@
         try {
             mChannel.write(mPacketUtil.createStatusUpdate(statusCode, data));
             // Errors and high priority statuses should be sent immediately.
-            if (DeviceInitializerStatus.isErrorStatus(statusCode) ||
-                    DeviceInitializerStatus.isHighPriority(statusCode)) {
+            if ((statusCode & DeviceInitializerStatus.FLAG_STATUS_ERROR) != 0 ||
+                    (statusCode & DeviceInitializerStatus.FLAG_STATUS_HIGH_PRIORITY) != 0) {
                 mChannel.flush();
             }
         } catch (IOException e) {