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

Commit 722d27f9 authored by Christopher Tate's avatar Christopher Tate
Browse files

Full-data restore path needs to pass along the widget metadata

The engine itself knows about it, but that's at one remove from the
code that needs to consume it.  Make sure it gets passed up the chain.

Bug 28346706

Change-Id: Ib94c9fbc512d92039bb7db5cd6b0b088a4a66027
parent 4569e951
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -5245,6 +5245,10 @@ public class BackupManagerService {
            return mAgent;
        }

        public byte[] getWidgetData() {
            return mWidgetData;
        }

        public boolean restoreOneFile(InputStream instream, boolean mustKillAgent) {
            if (!isRunning()) {
                Slog.w(TAG, "Restore engine used after halting");
@@ -7676,6 +7680,9 @@ if (MORE_DEBUG) Slog.v(TAG, " + got " + nRead + "; now wanting " + (size - soF
    void restoreWidgetData(String packageName, byte[] widgetData) {
        // Apply the restored widget state and generate the ID update for the app
        // TODO: http://b/22388012
        if (MORE_DEBUG) {
            Slog.i(TAG, "Incorporating restored widget data");
        }
        AppWidgetBackupBridge.restoreWidgetState(packageName, widgetData, UserHandle.USER_SYSTEM);
    }

@@ -8457,6 +8464,9 @@ if (MORE_DEBUG) Slog.v(TAG, " + got " + nRead + "; now wanting " + (size - soF
                        // the engine bound the target's agent, so recover that binding
                        // to use for the callback.
                        mAgent = mEngine.getAgent();

                        // and the restored widget data, if any
                        mWidgetData = mEngine.getWidgetData();
                    } else {
                        // Something went wrong somewhere.  Whether it was at the transport
                        // level is immaterial; we need to tell the transport to bail