summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJessica Hummel <jhummel@google.com>2014-06-23 17:10:38 +0100
committerJessica Hummel <jhummel@google.com>2014-06-23 17:23:09 +0100
commit81fe104ecfc98f1fb4356891acfe696e7445acb8 (patch)
tree96b6ecf5a23b3b33f6026d54f82083bf6a21f704
parentd77f3d87125782fa917050b6a14346e37a3003eb (diff)
downloadandroid_packages_apps_ManagedProvisioning-81fe104ecfc98f1fb4356891acfe696e7445acb8.tar.gz
android_packages_apps_ManagedProvisioning-81fe104ecfc98f1fb4356891acfe696e7445acb8.tar.bz2
android_packages_apps_ManagedProvisioning-81fe104ecfc98f1fb4356891acfe696e7445acb8.zip
Fix bug in update intents between provisioning service and activity.
For some reason setting the class of the intent wasn't working(anymore?). Sending a local broadcast instead. Change-Id: Idfc87c1ed5041bde7eecdc28f14c24108eb520bf
-rw-r--r--Android.mk2
-rw-r--r--src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java5
-rw-r--r--src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java7
-rw-r--r--src/com/android/managedprovisioning/ManagedProvisioningActivity.java5
-rw-r--r--src/com/android/managedprovisioning/ManagedProvisioningService.java4
5 files changed, 14 insertions, 9 deletions
diff --git a/Android.mk b/Android.mk
index e0d17a5b..c4341011 100644
--- a/Android.mk
+++ b/Android.mk
@@ -3,6 +3,8 @@ include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
+LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4
+
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := ManagedProvisioning
diff --git a/src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java b/src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java
index b12fe1fb..23f55b9a 100644
--- a/src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java
+++ b/src/com/android/managedprovisioning/DeviceOwnerProvisioningActivity.java
@@ -26,6 +26,7 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.provider.Settings.Global;
+import android.support.v4.content.LocalBroadcastManager;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
@@ -93,7 +94,7 @@ public class DeviceOwnerProvisioningActivity extends Activity {
filter.addAction(DeviceOwnerProvisioningService.ACTION_PROVISIONING_ERROR);
filter.addAction(DeviceOwnerProvisioningService.ACTION_PROGRESS_UPDATE);
filter.addAction(DeviceOwnerProvisioningService.ACTION_REQUEST_ENCRYPTION);
- registerReceiver(mServiceMessageReceiver, filter);
+ LocalBroadcastManager.getInstance(this).registerReceiver(mServiceMessageReceiver, filter);
// Start service.
Intent intent = new Intent(this, DeviceOwnerProvisioningService.class);
@@ -148,7 +149,7 @@ public class DeviceOwnerProvisioningActivity extends Activity {
@Override
public void onDestroy() {
ProvisionLogger.logd("Device owner provisioning activity ONDESTROY");
- unregisterReceiver(mServiceMessageReceiver);
+ LocalBroadcastManager.getInstance(this).unregisterReceiver(mServiceMessageReceiver);
super.onDestroy();
}
diff --git a/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java b/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java
index 0923601a..40bfa4ae 100644
--- a/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java
+++ b/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java
@@ -27,6 +27,7 @@ import android.os.Bundle;
import android.os.IBinder;
import android.provider.Settings.Global;
import android.provider.Settings.Secure;
+import android.support.v4.content.LocalBroadcastManager;
import com.android.internal.app.LocalePicker;
import com.android.managedprovisioning.task.AddWifiNetworkTask;
@@ -260,7 +261,7 @@ public class DeviceOwnerProvisioningService extends Service {
Intent intent = new Intent(ACTION_PROVISIONING_ERROR);
intent.setClass(this, DeviceOwnerProvisioningActivity.ServiceMessageReceiver.class);
intent.putExtra(EXTRA_USER_VISIBLE_ERROR_ID_KEY, dialogMessage);
- sendBroadcast(intent);
+ LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
stopSelf(mStartIdProvisioning);
}
@@ -276,7 +277,7 @@ public class DeviceOwnerProvisioningService extends Service {
Intent intent = new Intent(ACTION_PROGRESS_UPDATE);
intent.putExtra(EXTRA_PROGRESS_MESSAGE_ID_KEY, mLastProgressMessage);
intent.setClass(this, DeviceOwnerProvisioningActivity.ServiceMessageReceiver.class);
- sendBroadcast(intent);
+ LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
}
private void requestEncryption(String propertiesForResume) {
@@ -293,7 +294,7 @@ public class DeviceOwnerProvisioningService extends Service {
private void onProvisioningSuccess(String deviceAdminPackage) {
Intent successIntent = new Intent(ACTION_PROVISIONING_SUCCESS);
successIntent.setClass(this, DeviceOwnerProvisioningActivity.ServiceMessageReceiver.class);
- sendBroadcast(successIntent);
+ LocalBroadcastManager.getInstance(this).sendBroadcast(successIntent);
// Skip the setup wizard.
Global.putInt(getContentResolver(), Global.DEVICE_PROVISIONED, 1);
diff --git a/src/com/android/managedprovisioning/ManagedProvisioningActivity.java b/src/com/android/managedprovisioning/ManagedProvisioningActivity.java
index 4b77cde2..06a47330 100644
--- a/src/com/android/managedprovisioning/ManagedProvisioningActivity.java
+++ b/src/com/android/managedprovisioning/ManagedProvisioningActivity.java
@@ -33,6 +33,7 @@ import android.content.pm.UserInfo;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.UserManager;
+import android.support.v4.content.LocalBroadcastManager;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
@@ -89,7 +90,7 @@ public class ManagedProvisioningActivity extends Activity {
IntentFilter filter = new IntentFilter();
filter.addAction(ManagedProvisioningService.ACTION_PROVISIONING_SUCCESS);
filter.addAction(ManagedProvisioningService.ACTION_PROVISIONING_ERROR);
- registerReceiver(mServiceMessageReceiver, filter);
+ LocalBroadcastManager.getInstance(this).registerReceiver(mServiceMessageReceiver, filter);
// Initialize member variables from the intent, stop if the intent wasn't valid.
try {
@@ -229,7 +230,7 @@ public class ManagedProvisioningActivity extends Activity {
@Override
public void onDestroy() {
- unregisterReceiver(mServiceMessageReceiver);
+ LocalBroadcastManager.getInstance(this).unregisterReceiver(mServiceMessageReceiver);
super.onDestroy();
}
diff --git a/src/com/android/managedprovisioning/ManagedProvisioningService.java b/src/com/android/managedprovisioning/ManagedProvisioningService.java
index 7e040454..2bbd7ca8 100644
--- a/src/com/android/managedprovisioning/ManagedProvisioningService.java
+++ b/src/com/android/managedprovisioning/ManagedProvisioningService.java
@@ -25,6 +25,7 @@ import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
import android.os.UserManager;
+import android.support.v4.content.LocalBroadcastManager;
import android.text.TextUtils;
import com.android.managedprovisioning.task.DeleteNonRequiredAppsTask;
@@ -370,8 +371,7 @@ public class ManagedProvisioningService extends Service {
*/
private void onProvisioningSuccess(ComponentName deviceAdminComponent) {
Intent successIntent = new Intent(ACTION_PROVISIONING_SUCCESS);
- successIntent.setClass(this, ManagedProvisioningActivity.ServiceMessageReceiver.class);
- sendBroadcast(successIntent);
+ LocalBroadcastManager.getInstance(this).sendBroadcast(successIntent);
sendProvisioningCompleteToManagedProfile(this);
stopSelf(mStartIdProvisioning);