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

Commit 96532c71 authored by Paul Bouman's avatar Paul Bouman
Browse files

Show Optimizing app dialog on first boot

The boot dialog is currently hidden on first boot but the bootanimation
can take a very long time to go away. Show the boot dialog so we know
whats happening.

Change-Id: I71d50eb8929edde38fcfdcccc2cb05c25777c6dd
parent d0486da6
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -239,4 +239,13 @@
    <!-- Theme installation error notification -->
    <string name="theme_install_error_title">Failed to install theme</string>
    <string name="theme_install_error_message">%s failed to install</string>

    <!-- [CHAR LIMIT=NONE] Message shown in dialog on first boot after clean install for each .apk that is optimized. -->
    <string name="android_installing_apk">Installing app
        <xliff:g id="number" example="123">%1$d</xliff:g> of
        <xliff:g id="number" example="123">%2$d</xliff:g>.</string>

    <!-- [CHAR LIMIT=40] Title of dialog that is shown when performing a system install. -->
    <string name="android_installing_title">Android is installing\u2026</string>

</resources>
+4 −0
Original line number Diff line number Diff line
@@ -2262,4 +2262,8 @@
  <java-symbol type="drawable" name="ic_lock_settings" />
  <java-symbol type="drawable" name="ic_lock_user" />

  <!-- First boot install dialog -->
  <java-symbol type="string" name="android_installing_apk" />
  <java-symbol type="string" name="android_installing_title" />

</resources>
+6 −1
Original line number Diff line number Diff line
@@ -6102,6 +6102,11 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    /** {@inheritDoc} */
    @Override
    public void showBootMessage(final CharSequence msg, final boolean always) {
        final int titleRes = mContext.getResources().getString(
                    com.android.internal.R.string.android_installing_apk).equals(msg) ?
                      R.string.android_installing_title :
                      R.string.android_upgrading_title;

        mHandler.post(new Runnable() {
            @Override public void run() {
                if (mBootMsgDialog == null) {
@@ -6139,7 +6144,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                            return true;
                        }
                    };
                    mBootMsgDialog.setTitle(R.string.android_upgrading_title);
                    mBootMsgDialog.setTitle(titleRes);
                    mBootMsgDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
                    mBootMsgDialog.setIndeterminate(true);
                    mBootMsgDialog.getWindow().setType(
+10 −7
Original line number Diff line number Diff line
@@ -4823,14 +4823,17 @@ public class PackageManagerService extends IPackageManager.Stub {
        if (DEBUG_DEXOPT) {
            Log.i(TAG, "Optimizing app " + curr + " of " + total + ": " + pkg.packageName);
        }
        if (!isFirstBoot()) {
        final int messageRes = isFirstBoot() ?
                R.string.android_installing_apk : R.string.android_upgrading_apk;
        try {
            ActivityManagerNative.getDefault().showBootMessage(
                        mContext.getResources().getString(R.string.android_upgrading_apk,
                    mContext.getResources().getString(messageRes,
                            curr, total), true);
        } catch (RemoteException e) {
        }
        }
        PackageParser.Package p = pkg;
        synchronized (mInstallLock) {
            performDexOptLI(p, null /* instruction sets */, false /* force dex */,
+1 −1
Original line number Diff line number Diff line
@@ -503,7 +503,7 @@ public final class SystemServer {
            Slog.i(TAG, "Window Manager");
            wm = WindowManagerService.main(context, inputManager,
                    mFactoryTestMode != FactoryTest.FACTORY_TEST_LOW_LEVEL,
                    !mFirstBoot, mOnlyCore);
                    true, mOnlyCore);
            ServiceManager.addService(Context.WINDOW_SERVICE, wm);
            ServiceManager.addService(Context.INPUT_SERVICE, inputManager);