Merge "Introduce BackupTransportClient"
This commit is contained in:
committed by
Android (Google) Code Review
commit
db5520f5e4
@@ -0,0 +1,232 @@
|
||||
/*
|
||||
* Copyright (C) 2021 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.server.backup.transport;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.app.backup.RestoreDescription;
|
||||
import android.app.backup.RestoreSet;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.os.ParcelFileDescriptor;
|
||||
import android.os.RemoteException;
|
||||
|
||||
import com.android.internal.backup.IBackupTransport;
|
||||
|
||||
/**
|
||||
* Client to {@link com.android.internal.backup.IBackupTransport}. Manages the call to the remote
|
||||
* transport service and delivers the results.
|
||||
*/
|
||||
public class BackupTransportClient {
|
||||
private final IBackupTransport mTransportBinder;
|
||||
|
||||
BackupTransportClient(IBackupTransport transportBinder) {
|
||||
mTransportBinder = transportBinder;
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#name()}.
|
||||
*/
|
||||
public String name() throws RemoteException {
|
||||
return mTransportBinder.name();
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#configurationIntent()}
|
||||
*/
|
||||
public Intent configurationIntent() throws RemoteException {
|
||||
return mTransportBinder.configurationIntent();
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#currentDestinationString()}
|
||||
*/
|
||||
public String currentDestinationString() throws RemoteException {
|
||||
return mTransportBinder.currentDestinationString();
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#dataManagementIntent()}
|
||||
*/
|
||||
public Intent dataManagementIntent() throws RemoteException {
|
||||
return mTransportBinder.dataManagementIntent();
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#dataManagementIntentLabel()}
|
||||
*/
|
||||
@Nullable
|
||||
public CharSequence dataManagementIntentLabel() throws RemoteException {
|
||||
return mTransportBinder.dataManagementIntentLabel();
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#transportDirName()}
|
||||
*/
|
||||
public String transportDirName() throws RemoteException {
|
||||
return mTransportBinder.transportDirName();
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#initializeDevice()}
|
||||
*/
|
||||
public int initializeDevice() throws RemoteException {
|
||||
return mTransportBinder.initializeDevice();
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#clearBackupData(PackageInfo)}
|
||||
*/
|
||||
public int clearBackupData(PackageInfo packageInfo) throws RemoteException {
|
||||
return mTransportBinder.clearBackupData(packageInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#finishBackup()}
|
||||
*/
|
||||
public int finishBackup() throws RemoteException {
|
||||
return mTransportBinder.finishBackup();
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#requestBackupTime()}
|
||||
*/
|
||||
public long requestBackupTime() throws RemoteException {
|
||||
return mTransportBinder.requestBackupTime();
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#performBackup(PackageInfo, ParcelFileDescriptor, int)}
|
||||
*/
|
||||
public int performBackup(PackageInfo packageInfo, ParcelFileDescriptor inFd, int flags)
|
||||
throws RemoteException {
|
||||
return mTransportBinder.performBackup(packageInfo, inFd, flags);
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#getAvailableRestoreSets()}
|
||||
*/
|
||||
public RestoreSet[] getAvailableRestoreSets() throws RemoteException {
|
||||
return mTransportBinder.getAvailableRestoreSets();
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#getCurrentRestoreSet()}
|
||||
*/
|
||||
public long getCurrentRestoreSet() throws RemoteException {
|
||||
return mTransportBinder.getCurrentRestoreSet();
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#startRestore(long, PackageInfo[])}
|
||||
*/
|
||||
public int startRestore(long token, PackageInfo[] packages) throws RemoteException {
|
||||
return mTransportBinder.startRestore(token, packages);
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#nextRestorePackage()}
|
||||
*/
|
||||
public RestoreDescription nextRestorePackage() throws RemoteException {
|
||||
return mTransportBinder.nextRestorePackage();
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#getRestoreData(ParcelFileDescriptor)}
|
||||
*/
|
||||
public int getRestoreData(ParcelFileDescriptor outFd) throws RemoteException {
|
||||
return mTransportBinder.getRestoreData(outFd);
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#finishRestore()}
|
||||
*/
|
||||
public void finishRestore() throws RemoteException {
|
||||
mTransportBinder.finishRestore();
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#requestFullBackupTime()}
|
||||
*/
|
||||
public long requestFullBackupTime() throws RemoteException {
|
||||
return mTransportBinder.requestFullBackupTime();
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#performFullBackup(PackageInfo, ParcelFileDescriptor, int)}
|
||||
*/
|
||||
public int performFullBackup(PackageInfo targetPackage, ParcelFileDescriptor socket,
|
||||
int flags) throws RemoteException {
|
||||
return mTransportBinder.performFullBackup(targetPackage, socket, flags);
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#checkFullBackupSize(long)}
|
||||
*/
|
||||
public int checkFullBackupSize(long size) throws RemoteException {
|
||||
return mTransportBinder.checkFullBackupSize(size);
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#sendBackupData(int)}
|
||||
*/
|
||||
public int sendBackupData(int numBytes) throws RemoteException {
|
||||
return mTransportBinder.sendBackupData(numBytes);
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#cancelFullBackup()}
|
||||
*/
|
||||
public void cancelFullBackup() throws RemoteException {
|
||||
mTransportBinder.cancelFullBackup();
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#isAppEligibleForBackup(PackageInfo, boolean)}
|
||||
*/
|
||||
public boolean isAppEligibleForBackup(PackageInfo targetPackage, boolean isFullBackup)
|
||||
throws RemoteException {
|
||||
return mTransportBinder.isAppEligibleForBackup(targetPackage, isFullBackup);
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#getBackupQuota(String, boolean)}
|
||||
*/
|
||||
public long getBackupQuota(String packageName, boolean isFullBackup) throws RemoteException {
|
||||
return mTransportBinder.getBackupQuota(packageName, isFullBackup);
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#getNextFullRestoreDataChunk(ParcelFileDescriptor)}
|
||||
*/
|
||||
public int getNextFullRestoreDataChunk(ParcelFileDescriptor socket) throws RemoteException {
|
||||
return mTransportBinder.getNextFullRestoreDataChunk(socket);
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#abortFullRestore()}
|
||||
*/
|
||||
public int abortFullRestore() throws RemoteException {
|
||||
return mTransportBinder.abortFullRestore();
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link IBackupTransport#getTransportFlags()}
|
||||
*/
|
||||
public int getTransportFlags() throws RemoteException {
|
||||
return mTransportBinder.getTransportFlags();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user