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

Commit 156411df authored by Dan Egnor's avatar Dan Egnor
Browse files

Use a long for restore token

parent 040441fa
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -205,9 +205,9 @@ public final class Bmgr {
    }

    private void doRestore() {
        int token;
        long token;
        try {
            token = Integer.parseInt(nextArg());
            token = Long.parseLong(nextArg());
        } catch (NumberFormatException e) {
            showUsage();
            return;
+1 −1
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ interface IRestoreSession {
     * @param observer If non-null, this binder points to an object that will receive
     *   progress callbacks during the restore operation.
     */
    int performRestore(int token, IRestoreObserver observer);
    int performRestore(long token, IRestoreObserver observer);

    /**
     * End this restore session.  After this method is called, the IRestoreSession binder
+9 −11
Original line number Diff line number Diff line
@@ -138,10 +138,12 @@ class BackupManagerService extends IBackupManager.Stub {
    private class RestoreParams {
        public IBackupTransport transport;
        public IRestoreObserver observer;
        public long token;

        RestoreParams(IBackupTransport _transport, IRestoreObserver _obs) {
        RestoreParams(IBackupTransport _transport, IRestoreObserver _obs, long _token) {
            transport = _transport;
            observer = _obs;
            token = _token;
        }
    }

@@ -347,9 +349,8 @@ class BackupManagerService extends IBackupManager.Stub {

            case MSG_RUN_RESTORE:
            {
                int token = msg.arg1;
                RestoreParams params = (RestoreParams)msg.obj;
                (new PerformRestoreThread(params.transport, params.observer, token)).start();
                (new PerformRestoreThread(params.transport, params.observer, params.token)).start();
                break;
            }
            }
@@ -761,7 +762,7 @@ class BackupManagerService extends IBackupManager.Stub {
    class PerformRestoreThread extends Thread {
        private IBackupTransport mTransport;
        private IRestoreObserver mObserver;
        private int mToken;
        private long mToken;
        private RestoreSet mImage;
        private File mStateDir;

@@ -776,7 +777,7 @@ class BackupManagerService extends IBackupManager.Stub {
        }

        PerformRestoreThread(IBackupTransport transport, IRestoreObserver observer,
                int restoreSetToken) {
                long restoreSetToken) {
            mTransport = transport;
            mObserver = observer;
            mToken = restoreSetToken;
@@ -847,9 +848,7 @@ class BackupManagerService extends IBackupManager.Stub {
                    }
                }

                // STOPSHIP TODO: pick out the set for this token (instead of images[0])
                long token = images[0].token;
                if (!mTransport.startRestore(token, restorePackages.toArray(new PackageInfo[0]))) {
                if (!mTransport.startRestore(mToken, restorePackages.toArray(new PackageInfo[0]))) {
                    // STOPSHIP TODO: Handle the failure somehow?
                    Log.e(TAG, "Error starting restore operation");
                    return;
@@ -1198,7 +1197,7 @@ class BackupManagerService extends IBackupManager.Stub {
            }
        }

        public int performRestore(int token, IRestoreObserver observer)
        public int performRestore(long token, IRestoreObserver observer)
                throws android.os.RemoteException {
            mContext.enforceCallingPermission("android.permission.BACKUP", "performRestore");

@@ -1206,8 +1205,7 @@ class BackupManagerService extends IBackupManager.Stub {
                for (int i = 0; i < mRestoreSets.length; i++) {
                    if (token == mRestoreSets[i].token) {
                        Message msg = mBackupHandler.obtainMessage(MSG_RUN_RESTORE);
                        msg.obj = new RestoreParams(mRestoreTransport, observer);
                        msg.arg1 = token;
                        msg.obj = new RestoreParams(mRestoreTransport, observer, token);
                        mBackupHandler.sendMessage(msg);
                        return 0;
                    }