summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcretin45 <cretin45@gmail.com>2016-01-12 14:43:36 -0800
committercretin45 <cretin45@gmail.com>2016-01-12 14:47:32 -0800
commit1141611f911f853da424d9b0d8ebbce8800aa2b4 (patch)
tree761e34f8dbf00a09c29c03d857827e3a09649483
parent3e68503d9ef53e0d8f0e9c7631dc4cc29e5e38c5 (diff)
downloadpackages_apps_SetupWizard-1141611f911f853da424d9b0d8ebbce8800aa2b4.zip
packages_apps_SetupWizard-1141611f911f853da424d9b0d8ebbce8800aa2b4.tar.gz
packages_apps_SetupWizard-1141611f911f853da424d9b0d8ebbce8800aa2b4.tar.bz2
SetupWizard: Don't disable packages on main thread
Issue-id: YAM-69 Change-Id: I81ea039a7444d3db5d97b1d798bffe9a6b8ec498
-rw-r--r--src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java37
-rw-r--r--src/com/cyanogenmod/setupwizard/util/SetupWizardUtils.java2
2 files changed, 31 insertions, 8 deletions
diff --git a/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java b/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java
index 77efb96..81121fa 100644
--- a/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java
+++ b/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java
@@ -26,6 +26,7 @@ import android.content.res.Resources;
/*import android.content.res.ThemeManager;*/
import android.graphics.Bitmap;
import android.graphics.Point;
+import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.UserHandle;
@@ -425,18 +426,40 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks
tm.removeClient(SetupWizardActivity.this);*/
SetupStats.sendEvents(SetupWizardActivity.this);
SetupWizardUtils.disableGMSSetupWizard(SetupWizardActivity.this);
- Intent intent = new Intent(Intent.ACTION_MAIN);
- intent.addCategory(Intent.CATEGORY_HOME);
- startActivity(intent);
final WallpaperManager wallpaperManager =
WallpaperManager.getInstance(SetupWizardActivity.this);
wallpaperManager.forgetLoadedWallpaper();
}
});
- for (Runnable runnable : mFinishRunnables) {
- runnable.run();
+ new FinishTask(this, mFinishRunnables).execute();
+ }
+
+ private static class FinishTask extends AsyncTask<Void, Void, Boolean> {
+
+ private final SetupWizardActivity mActivity;
+ private final ArrayList<Runnable> mFinishRunnables;
+
+ public FinishTask(SetupWizardActivity activity,
+ ArrayList<Runnable> finishRunnables) {
+ mActivity = activity;
+ mFinishRunnables = finishRunnables;
+ }
+
+ @Override
+ protected Boolean doInBackground(Void... params) {
+ for (Runnable runnable : mFinishRunnables) {
+ runnable.run();
+ }
+ SetupWizardUtils.disableSetupWizard(mActivity);
+ return Boolean.TRUE;
+ }
+
+ @Override
+ protected void onPostExecute(Boolean aBoolean) {
+ Intent intent = new Intent(Intent.ACTION_MAIN);
+ intent.addCategory(Intent.CATEGORY_HOME);
+ mActivity.startActivity(intent);
+ mActivity.finish();
}
- finish();
- SetupWizardUtils.disableSetupWizard(SetupWizardActivity.this);
}
}
diff --git a/src/com/cyanogenmod/setupwizard/util/SetupWizardUtils.java b/src/com/cyanogenmod/setupwizard/util/SetupWizardUtils.java
index 4918b11..67671d3 100644
--- a/src/com/cyanogenmod/setupwizard/util/SetupWizardUtils.java
+++ b/src/com/cyanogenmod/setupwizard/util/SetupWizardUtils.java
@@ -261,7 +261,7 @@ public class SetupWizardUtils {
private static void disableComponent(Context context, ComponentName component) {
context.getPackageManager().setComponentEnabledSetting(component,
- PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
+ PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
}
private static void enableComponentArray(Context context, ComponentInfo[] components) {