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

Commit f35b2f38 authored by Christopher Tate's avatar Christopher Tate Committed by The Android Open Source Project
Browse files

am 8a27f923: Don\'t crash in various ways when using backup services too early

Merge commit '8a27f923'

* commit '8a27f923':
  Don't crash in various ways when using backup services too early
parents c16dee2a 8a27f923
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -68,11 +68,13 @@ public class BackupManager {
     * {@link android.app.BackupAgent} subclass will be scheduled when you call this method.
     */
    public void dataChanged() {
        if (mService != null) {
            try {
                mService.dataChanged(mContext.getPackageName());
            } catch (RemoteException e) {
            }
        }
    }

    /**
     * Begin the process of restoring system data from backup.  This method requires
@@ -83,10 +85,12 @@ public class BackupManager {
     */
    public IRestoreSession beginRestoreSession(int transportID) {
        IRestoreSession binder = null;
        if (mService != null) {
            try {
                binder = mService.beginRestoreSession(transportID);
            } catch (RemoteException e) {
            }
        }
        return binder;
    }
}
+9 −0
Original line number Diff line number Diff line
@@ -10514,8 +10514,17 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
    // done with this agent
    public void unbindBackupAgent(ApplicationInfo appInfo) {
        if (DEBUG_BACKUP) Log.v(TAG, "unbindBackupAgent: " + appInfo);
        if (appInfo == null) {
            Log.w(TAG, "unbind backup agent for null app");
            return;
        }

        synchronized(this) {
            if (mBackupAppName == null) {
                Log.w(TAG, "Unbinding backup agent with no active backup");
                return;
            }

            if (!mBackupAppName.equals(appInfo.packageName)) {
                Log.e(TAG, "Unbind of " + appInfo + " but is not the current backup target");
                return;