diff options
author | Jessica Hummel <jhummel@google.com> | 2014-06-23 17:10:38 +0100 |
---|---|---|
committer | Jessica Hummel <jhummel@google.com> | 2014-06-23 17:23:09 +0100 |
commit | 81fe104ecfc98f1fb4356891acfe696e7445acb8 (patch) | |
tree | 96b6ecf5a23b3b33f6026d54f82083bf6a21f704 | |
parent | d77f3d87125782fa917050b6a14346e37a3003eb (diff) | |
download | android_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
5 files changed, 14 insertions, 9 deletions
@@ -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); |