Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 732d233e authored by cretin45's avatar cretin45 Committed by Ed Carrigan
Browse files

SetupWizard: Don't disable packages on main thread

Issue-id: YAM-69

Change-Id: I81ea039a7444d3db5d97b1d798bffe9a6b8ec498
(cherry picked from commit 15b7c92f)
parent ea5820f0
Loading
Loading
Loading
Loading
+30 −7
Original line number Diff line number Diff line
@@ -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;
@@ -426,18 +427,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();
            }
        });
        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();
            }
        finish();
        SetupWizardUtils.disableSetupWizard(SetupWizardActivity.this);
            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();
        }
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -251,7 +251,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) {