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

Commit 140f6c6c authored by Dianne Hackborn's avatar Dianne Hackborn
Browse files

Fix issue #5460725: Crespo does not fully boot after a wipe

Add a hack to relaunch whatever was supposed to be launched
(presumably home) when CryptKeeper discovers it shouldn't be
running.

Change-Id: I1406b8d6e8d484ed1c169fa4908a9e05e8c7c2ad
parent f9eca2e0
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1155,6 +1155,7 @@
        <activity android:name=".CryptKeeper"
                  android:immersive="true"
                  android:launchMode="singleTop"
                  android:excludeFromRecents="true"
                  android:theme="@android:style/Theme.Holo.NoActionBar"
                  android:configChanges="mcc|mnc|keyboard|keyboardHidden|uiMode"
                  android:windowSoftInputMode="stateVisible|adjustResize">
+14 −1
Original line number Diff line number Diff line
@@ -221,7 +221,20 @@ public class CryptKeeper extends Activity implements TextView.OnEditorActionList
            // Disable the crypt keeper.
            PackageManager pm = getPackageManager();
            ComponentName name = new ComponentName(this, CryptKeeper.class);
            pm.setComponentEnabledSetting(name, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
            pm.setComponentEnabledSetting(name, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                    PackageManager.DONT_KILL_APP);
            // Typically CryptKeeper is launched as the home app.  We didn't
            // want to be running, so need to finish this activity and re-launch
            // its intent now that we are not in the way of doing what is really
            // supposed to happen.
            // NOTE: This is really grungy.  I think it would be better for the
            // activity manager to explicitly launch the crypt keeper instead of
            // home in the situation where we need to decrypt the device
            finish();
            Intent intent = getIntent();
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.setComponent(null);
            startActivity(intent);
            return;
        }