FileDocCategorySizeDatePackage
RestoreSession.javaAPI DocAndroid 5.1 API9479Thu Mar 12 22:22:10 GMT 2015android.app.backup

RestoreSession

public class RestoreSession extends Object
Interface for managing a restore session.
hide

Fields Summary
static final String
TAG
final android.content.Context
mContext
android.app.backup.IRestoreSession
mBinder
RestoreObserverWrapper
mObserver
Constructors Summary
RestoreSession(android.content.Context context, android.app.backup.IRestoreSession binder)

        mContext = context;
        mBinder = binder;
    
Methods Summary
public voidendRestoreSession()
End this restore session. After this method is called, the RestoreSession object is no longer valid.

Note: The caller must invoke this method to end the restore session, even if {@link #restorePackage(String, RestoreObserver)} failed.

        try {
            mBinder.endRestoreSession();
        } catch (RemoteException e) {
            Log.d(TAG, "Can't contact server to get available sets");
        } finally {
            mBinder = null;
        }
    
public intgetAvailableRestoreSets(android.app.backup.RestoreObserver observer)
Ask the current transport what the available restore sets are.

param
observer a RestoreObserver object whose restoreSetsAvailable() method will be called on the application's main thread in order to supply the results of the restore set lookup by the backup transport. This parameter must not be null.
return
Zero on success, nonzero on error. The observer's restoreSetsAvailable() method will only be called if this method returned zero.


                                                                                      
        
        int err = -1;
        RestoreObserverWrapper obsWrapper = new RestoreObserverWrapper(mContext, observer);
        try {
            err = mBinder.getAvailableRestoreSets(obsWrapper);
        } catch (RemoteException e) {
            Log.d(TAG, "Can't contact server to get available sets");
        }
        return err;
    
public intrestoreAll(long token, android.app.backup.RestoreObserver observer)
Restore the given set onto the device, replacing the current data of any app contained in the restore set with the data previously backed up.

Callers must hold the android.permission.BACKUP permission to use this method.

return
Zero on success; nonzero on error. The observer will only receive progress callbacks if this method returned zero.
param
token The token from {@link #getAvailableRestoreSets()} corresponding to the restore set that should be used.
param
observer If non-null, this binder points to an object that will receive progress callbacks during the restore operation.

        int err = -1;
        if (mObserver != null) {
            Log.d(TAG, "restoreAll() called during active restore");
            return -1;
        }
        mObserver = new RestoreObserverWrapper(mContext, observer);
        try {
            err = mBinder.restoreAll(token, mObserver);
        } catch (RemoteException e) {
            Log.d(TAG, "Can't contact server to restore");
        }
        return err;
    
public intrestorePackage(java.lang.String packageName, android.app.backup.RestoreObserver observer)
Restore a single application from backup. The data will be restored from the current backup dataset if the given package has stored data there, or from the dataset used during the last full device setup operation if the current backup dataset has no matching data. If no backup data exists for this package in either source, a nonzero value will be returned.

return
Zero on success; nonzero on error. The observer will only receive progress callbacks if this method returned zero.
param
packageName The name of the package whose data to restore. If this is not the name of the caller's own package, then the android.permission.BACKUP permission must be held.
param
observer If non-null, this binder points to an object that will receive progress callbacks during the restore operation.

        int err = -1;
        if (mObserver != null) {
            Log.d(TAG, "restorePackage() called during active restore");
            return -1;
        }
        mObserver = new RestoreObserverWrapper(mContext, observer);
        try {
            err = mBinder.restorePackage(packageName, mObserver);
        } catch (RemoteException e) {
            Log.d(TAG, "Can't contact server to restore package");
        }
        return err;
    
public intrestoreSome(long token, android.app.backup.RestoreObserver observer, java.lang.String[] packages)
Restore select packages from the given set onto the device, replacing the current data of any app contained in the set with the data previously backed up.

Callers must hold the android.permission.BACKUP permission to use this method.

return
Zero on success, nonzero on error. The observer will only receive progress callbacks if this method returned zero.
param
token The token from {@link getAvailableRestoreSets()} corresponding to the restore set that should be used.
param
observer If non-null, this binder points to an object that will receive progress callbacks during the restore operation.
param
packages The set of packages for which to attempt a restore. Regardless of the contents of the actual back-end dataset named by {@code token}, only applications mentioned in this list will have their data restored.
hide

        int err = -1;
        if (mObserver != null) {
            Log.d(TAG, "restoreAll() called during active restore");
            return -1;
        }
        mObserver = new RestoreObserverWrapper(mContext, observer);
        try {
            err = mBinder.restoreSome(token, mObserver, packages);
        } catch (RemoteException e) {
            Log.d(TAG, "Can't contact server to restore packages");
        }
        return err;