summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/backup/backuplib/java/com/android/server/backup/TransportManager.java76
-rw-r--r--services/backup/backuplib/java/com/android/server/backup/transport/TransportConnection.java (renamed from services/backup/backuplib/java/com/android/server/backup/transport/TransportClient.java)54
-rw-r--r--services/backup/backuplib/java/com/android/server/backup/transport/TransportConnectionListener.java11
-rw-r--r--services/backup/backuplib/java/com/android/server/backup/transport/TransportConnectionManager.java (renamed from services/backup/backuplib/java/com/android/server/backup/transport/TransportClientManager.java)66
-rw-r--r--services/backup/backuplib/java/com/android/server/backup/transport/TransportNotAvailableException.java6
-rw-r--r--services/backup/backuplib/java/com/android/server/backup/transport/TransportStats.java2
-rw-r--r--services/backup/java/com/android/server/backup/UserBackupManagerService.java64
-rw-r--r--services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java36
-rw-r--r--services/backup/java/com/android/server/backup/internal/BackupHandler.java28
-rw-r--r--services/backup/java/com/android/server/backup/internal/OnTaskFinishedListener.java4
-rw-r--r--services/backup/java/com/android/server/backup/internal/PerformClearTask.java13
-rw-r--r--services/backup/java/com/android/server/backup/internal/PerformInitializeTask.java18
-rw-r--r--services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java39
-rw-r--r--services/backup/java/com/android/server/backup/params/BackupParams.java8
-rw-r--r--services/backup/java/com/android/server/backup/params/ClearParams.java8
-rw-r--r--services/backup/java/com/android/server/backup/params/RestoreGetSetsParams.java13
-rw-r--r--services/backup/java/com/android/server/backup/params/RestoreParams.java27
-rw-r--r--services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java24
-rw-r--r--services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java25
-rw-r--r--services/backup/java/com/android/server/backup/utils/BackupEligibilityRules.java9
-rw-r--r--services/robotests/backup/src/com/android/server/backup/TransportManagerTest.java36
-rw-r--r--services/robotests/backup/src/com/android/server/backup/UserBackupManagerServiceTest.java8
-rw-r--r--services/robotests/backup/src/com/android/server/backup/internal/PerformInitializeTaskTest.java20
-rw-r--r--services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java2
-rw-r--r--services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java10
-rw-r--r--services/robotests/backup/src/com/android/server/backup/testing/TransportTestUtils.java34
-rw-r--r--services/robotests/backup/src/com/android/server/backup/transport/TransportConnectionManagerTest.java (renamed from services/robotests/backup/src/com/android/server/backup/transport/TransportClientManagerTest.java)31
-rw-r--r--services/robotests/backup/src/com/android/server/backup/transport/TransportConnectionTest.java (renamed from services/robotests/backup/src/com/android/server/backup/transport/TransportClientTest.java)143
-rw-r--r--services/robotests/src/com/android/server/testing/shadows/ShadowBackupEligibilityRules.java5
-rw-r--r--services/robotests/src/com/android/server/testing/shadows/ShadowKeyValueBackupTask.java4
-rw-r--r--services/robotests/src/com/android/server/testing/shadows/ShadowPerformUnifiedRestoreTask.java7
-rw-r--r--services/tests/servicestests/src/com/android/server/backup/UserBackupManagerServiceTest.java19
32 files changed, 429 insertions, 421 deletions
diff --git a/services/backup/backuplib/java/com/android/server/backup/TransportManager.java b/services/backup/backuplib/java/com/android/server/backup/TransportManager.java
index fd573d5e0665..594140efe5f2 100644
--- a/services/backup/backuplib/java/com/android/server/backup/TransportManager.java
+++ b/services/backup/backuplib/java/com/android/server/backup/TransportManager.java
@@ -40,8 +40,8 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.backup.IBackupTransport;
import com.android.internal.util.Preconditions;
import com.android.server.backup.transport.OnTransportRegisteredListener;
-import com.android.server.backup.transport.TransportClient;
-import com.android.server.backup.transport.TransportClientManager;
+import com.android.server.backup.transport.TransportConnection;
+import com.android.server.backup.transport.TransportConnectionManager;
import com.android.server.backup.transport.TransportConnectionListener;
import com.android.server.backup.transport.TransportNotAvailableException;
import com.android.server.backup.transport.TransportNotRegisteredException;
@@ -65,7 +65,7 @@ public class TransportManager {
private final @UserIdInt int mUserId;
private final PackageManager mPackageManager;
private final Set<ComponentName> mTransportWhitelist;
- private final TransportClientManager mTransportClientManager;
+ private final TransportConnectionManager mTransportConnectionManager;
private final TransportStats mTransportStats;
private OnTransportRegisteredListener mOnTransportRegisteredListener = (c, n) -> {};
@@ -73,8 +73,8 @@ public class TransportManager {
* Lock for registered transports and currently selected transport.
*
* <p><b>Warning:</b> No calls to {@link IBackupTransport} or calls that result in transport
- * code being executed such as {@link TransportClient#connect(String)}} and its variants should
- * be made with this lock held, risk of deadlock.
+ * code being executed such as {@link TransportConnection#connect(String)}} and its variants
+ * should be made with this lock held, risk of deadlock.
*/
private final Object mTransportLock = new Object();
@@ -94,7 +94,8 @@ public class TransportManager {
mTransportWhitelist = Preconditions.checkNotNull(whitelist);
mCurrentTransportName = selectedTransport;
mTransportStats = new TransportStats();
- mTransportClientManager = new TransportClientManager(mUserId, context, mTransportStats);
+ mTransportConnectionManager = new TransportConnectionManager(mUserId, context,
+ mTransportStats);
}
@VisibleForTesting
@@ -103,13 +104,13 @@ public class TransportManager {
Context context,
Set<ComponentName> whitelist,
String selectedTransport,
- TransportClientManager transportClientManager) {
+ TransportConnectionManager transportConnectionManager) {
mUserId = userId;
mPackageManager = context.getPackageManager();
mTransportWhitelist = Preconditions.checkNotNull(whitelist);
mCurrentTransportName = selectedTransport;
mTransportStats = new TransportStats();
- mTransportClientManager = transportClientManager;
+ mTransportConnectionManager = transportConnectionManager;
}
/* Sets a listener to be called whenever a transport is registered. */
@@ -307,7 +308,7 @@ public class TransportManager {
* transportConsumer}.
*
* <p><b>Warning:</b> Do NOT make any calls to {@link IBackupTransport} or call any variants of
- * {@link TransportClient#connect(String)} here, otherwise you risk deadlock.
+ * {@link TransportConnection#connect(String)} here, otherwise you risk deadlock.
*/
public void forEachRegisteredTransport(Consumer<String> transportConsumer) {
synchronized (mTransportLock) {
@@ -407,17 +408,17 @@ public class TransportManager {
}
/**
- * Returns a {@link TransportClient} for {@code transportName} or {@code null} if not
+ * Returns a {@link TransportConnection} for {@code transportName} or {@code null} if not
* registered.
*
* @param transportName The name of the transport.
* @param caller A {@link String} identifying the caller for logging/debugging purposes. Check
- * {@link TransportClient#connectAsync(TransportConnectionListener, String)} for more
+ * {@link TransportConnection#connectAsync(TransportConnectionListener, String)} for more
* details.
- * @return A {@link TransportClient} or null if not registered.
+ * @return A {@link TransportConnection} or null if not registered.
*/
@Nullable
- public TransportClient getTransportClient(String transportName, String caller) {
+ public TransportConnection getTransportClient(String transportName, String caller) {
try {
return getTransportClientOrThrow(transportName, caller);
} catch (TransportNotRegisteredException e) {
@@ -427,38 +428,38 @@ public class TransportManager {
}
/**
- * Returns a {@link TransportClient} for {@code transportName} or throws if not registered.
+ * Returns a {@link TransportConnection} for {@code transportName} or throws if not registered.
*
* @param transportName The name of the transport.
* @param caller A {@link String} identifying the caller for logging/debugging purposes. Check
- * {@link TransportClient#connectAsync(TransportConnectionListener, String)} for more
+ * {@link TransportConnection#connectAsync(TransportConnectionListener, String)} for more
* details.
- * @return A {@link TransportClient}.
+ * @return A {@link TransportConnection}.
* @throws TransportNotRegisteredException if the transport is not registered.
*/
- public TransportClient getTransportClientOrThrow(String transportName, String caller)
+ public TransportConnection getTransportClientOrThrow(String transportName, String caller)
throws TransportNotRegisteredException {
synchronized (mTransportLock) {
ComponentName component = getRegisteredTransportComponentLocked(transportName);
if (component == null) {
throw new TransportNotRegisteredException(transportName);
}
- return mTransportClientManager.getTransportClient(component, caller);
+ return mTransportConnectionManager.getTransportClient(component, caller);
}
}
/**
- * Returns a {@link TransportClient} for the current transport or {@code null} if not
+ * Returns a {@link TransportConnection} for the current transport or {@code null} if not
* registered.
*
* @param caller A {@link String} identifying the caller for logging/debugging purposes. Check
- * {@link TransportClient#connectAsync(TransportConnectionListener, String)} for more
+ * {@link TransportConnection#connectAsync(TransportConnectionListener, String)} for more
* details.
- * @return A {@link TransportClient} or null if not registered.
+ * @return A {@link TransportConnection} or null if not registered.
* @throws IllegalStateException if no transport is selected.
*/
@Nullable
- public TransportClient getCurrentTransportClient(String caller) {
+ public TransportConnection getCurrentTransportClient(String caller) {
if (mCurrentTransportName == null) {
throw new IllegalStateException("No transport selected");
}
@@ -468,16 +469,16 @@ public class TransportManager {
}
/**
- * Returns a {@link TransportClient} for the current transport or throws if not registered.
+ * Returns a {@link TransportConnection} for the current transport or throws if not registered.
*
* @param caller A {@link String} identifying the caller for logging/debugging purposes. Check
- * {@link TransportClient#connectAsync(TransportConnectionListener, String)} for more
+ * {@link TransportConnection#connectAsync(TransportConnectionListener, String)} for more
* details.
- * @return A {@link TransportClient}.
+ * @return A {@link TransportConnection}.
* @throws TransportNotRegisteredException if the transport is not registered.
* @throws IllegalStateException if no transport is selected.
*/
- public TransportClient getCurrentTransportClientOrThrow(String caller)
+ public TransportConnection getCurrentTransportClientOrThrow(String caller)
throws TransportNotRegisteredException {
if (mCurrentTransportName == null) {
throw new IllegalStateException("No transport selected");
@@ -488,15 +489,15 @@ public class TransportManager {
}
/**
- * Disposes of the {@link TransportClient}.
+ * Disposes of the {@link TransportConnection}.
*
- * @param transportClient The {@link TransportClient} to be disposed of.
+ * @param transportConnection The {@link TransportConnection} to be disposed of.
* @param caller A {@link String} identifying the caller for logging/debugging purposes. Check
- * {@link TransportClient#connectAsync(TransportConnectionListener, String)} for more
+ * {@link TransportConnection#connectAsync(TransportConnectionListener, String)} for more
* details.
*/
- public void disposeOfTransportClient(TransportClient transportClient, String caller) {
- mTransportClientManager.disposeOfTransportClient(transportClient, caller);
+ public void disposeOfTransportClient(TransportConnection transportConnection, String caller) {
+ mTransportConnectionManager.disposeOfTransportClient(transportConnection, caller);
}
/**
@@ -637,15 +638,16 @@ public class TransportManager {
Bundle extras = new Bundle();
extras.putBoolean(BackupTransport.EXTRA_TRANSPORT_REGISTRATION, true);
- TransportClient transportClient =
- mTransportClientManager.getTransportClient(
+ TransportConnection transportConnection =
+ mTransportConnectionManager.getTransportClient(
transportComponent, extras, callerLogString);
final IBackupTransport transport;
try {
- transport = transportClient.connectOrThrow(callerLogString);
+ transport = transportConnection.connectOrThrow(callerLogString);
} catch (TransportNotAvailableException e) {
Slog.e(TAG, "Couldn't connect to transport " + transportString + " for registration");
- mTransportClientManager.disposeOfTransportClient(transportClient, callerLogString);
+ mTransportConnectionManager.disposeOfTransportClient(transportConnection,
+ callerLogString);
return BackupManager.ERROR_TRANSPORT_UNAVAILABLE;
}
@@ -667,7 +669,7 @@ public class TransportManager {
result = BackupManager.ERROR_TRANSPORT_UNAVAILABLE;
}
- mTransportClientManager.disposeOfTransportClient(transportClient, callerLogString);
+ mTransportConnectionManager.disposeOfTransportClient(transportConnection, callerLogString);
return result;
}
@@ -695,7 +697,7 @@ public class TransportManager {
}
public void dumpTransportClients(PrintWriter pw) {
- mTransportClientManager.dump(pw);
+ mTransportConnectionManager.dump(pw);
}
public void dumpTransportStats(PrintWriter pw) {
diff --git a/services/backup/backuplib/java/com/android/server/backup/transport/TransportClient.java b/services/backup/backuplib/java/com/android/server/backup/transport/TransportConnection.java
index 0eb3ea3e1bc8..da77eba083c3 100644
--- a/services/backup/backuplib/java/com/android/server/backup/transport/TransportClient.java
+++ b/services/backup/backuplib/java/com/android/server/backup/transport/TransportConnection.java
@@ -59,16 +59,17 @@ import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
/**
- * A {@link TransportClient} manages the connection to an {@link IBackupTransport} service, obtained
- * via the {@param bindIntent} parameter provided in the constructor. A {@link TransportClient} is
- * responsible for only one connection to the transport service, not more.
+ * A {@link TransportConnection} manages the connection to an {@link IBackupTransport} service,
+ * obtained via the {@param bindIntent} parameter provided in the constructor. A
+ * {@link TransportConnection} is responsible for only one connection to the transport service,
+ * not more.
*
* <p>After retrieved using {@link TransportManager#getTransportClient(String, String)}, you can
* call either {@link #connect(String)}, if you can block your thread, or {@link
* #connectAsync(TransportConnectionListener, String)}, otherwise, to obtain a {@link
* IBackupTransport} instance. It's meant to be passed around as a token to a connected transport.
* When the connection is not needed anymore you should call {@link #unbind(String)} or indirectly
- * via {@link TransportManager#disposeOfTransportClient(TransportClient, String)}.
+ * via {@link TransportManager#disposeOfTransportClient(TransportConnection, String)}.
*
* <p>DO NOT forget to unbind otherwise there will be dangling connections floating around.
*
@@ -76,8 +77,8 @@ import java.util.concurrent.ExecutionException;
*
* @see TransportManager
*/
-public class TransportClient {
- @VisibleForTesting static final String TAG = "TransportClient";
+public class TransportConnection {
+ @VisibleForTesting static final String TAG = "TransportConnection";
private static final int LOG_BUFFER_SIZE = 5;
private final @UserIdInt int mUserId;
@@ -107,7 +108,7 @@ public class TransportClient {
@GuardedBy("mStateLock")
private volatile IBackupTransport mTransport;
- TransportClient(
+ TransportConnection(
@UserIdInt int userId,
Context context,
TransportStats transportStats,
@@ -127,7 +128,7 @@ public class TransportClient {
}
@VisibleForTesting
- TransportClient(
+ TransportConnection(
@UserIdInt int userId,
Context context,
TransportStats transportStats,
@@ -144,7 +145,7 @@ public class TransportClient {
mIdentifier = identifier;
mCreatorLogString = caller;
mListenerHandler = listenerHandler;
- mConnection = new TransportConnection(context, this);
+ mConnection = new TransportConnectionMonitor(context, this);
// For logging
String classNameForLog = mTransportComponent.getShortClassName().replaceFirst(".*\\.", "");
@@ -192,7 +193,7 @@ public class TransportClient {
* For unusable transport binders check {@link DeadObjectException}.
*
* @param listener The listener that will be called with the (possibly null or unusable) {@link
- * IBackupTransport} instance and this {@link TransportClient} object.
+ * IBackupTransport} instance and this {@link TransportConnection} object.
* @param caller A {@link String} identifying the caller for logging/debugging purposes. This
* should be a human-readable short string that is easily identifiable in the logs. Ideally
* TAG.methodName(), where TAG is the one used in logcat. In cases where this is is not very
@@ -373,8 +374,8 @@ public class TransportClient {
}
/**
- * If the {@link TransportClient} is already connected to the transport, returns the transport,
- * otherwise throws {@link TransportNotAvailableException}.
+ * If the {@link TransportConnection} is already connected to the transport, returns the
+ * transport, otherwise throws {@link TransportNotAvailableException}.
*
* @param caller A {@link String} identifying the caller for logging/debugging purposes. Check
* {@link #connectAsync(TransportConnectionListener, String)} for more details.
@@ -647,19 +648,20 @@ public class TransportClient {
* This class is a proxy to TransportClient methods that doesn't hold a strong reference to the
* TransportClient, allowing it to be GC'ed. If the reference was lost it logs a message.
*/
- private static class TransportConnection implements ServiceConnection {
+ private static class TransportConnectionMonitor implements ServiceConnection {
private final Context mContext;
- private final WeakReference<TransportClient> mTransportClientRef;
+ private final WeakReference<TransportConnection> mTransportClientRef;
- private TransportConnection(Context context, TransportClient transportClient) {
+ private TransportConnectionMonitor(Context context,
+ TransportConnection transportConnection) {
mContext = context;
- mTransportClientRef = new WeakReference<>(transportClient);
+ mTransportClientRef = new WeakReference<>(transportConnection);
}
@Override
public void onServiceConnected(ComponentName transportComponent, IBinder binder) {
- TransportClient transportClient = mTransportClientRef.get();
- if (transportClient == null) {
+ TransportConnection transportConnection = mTransportClientRef.get();
+ if (transportConnection == null) {
referenceLost("TransportConnection.onServiceConnected()");
return;
}
@@ -667,30 +669,30 @@ public class TransportClient {
// In short-term, blocking calls are OK as the transports come from the allowlist at
// {@link SystemConfig#getBackupTransportWhitelist()}
Binder.allowBlocking(binder);
- transportClient.onServiceConnected(binder);
+ transportConnection.onServiceConnected(binder);
}
@Override
public void onServiceDisconnected(ComponentName transportComponent) {
- TransportClient transportClient = mTransportClientRef.get();
- if (transportClient == null) {
+ TransportConnection transportConnection = mTransportClientRef.get();
+ if (transportConnection == null) {
referenceLost("TransportConnection.onServiceDisconnected()");
return;
}
- transportClient.onServiceDisconnected();
+ transportConnection.onServiceDisconnected();
}
@Override
public void onBindingDied(ComponentName transportComponent) {
- TransportClient transportClient = mTransportClientRef.get();
- if (transportClient == null) {
+ TransportConnection transportConnection = mTransportClientRef.get();
+ if (transportConnection == null) {
referenceLost("TransportConnection.onBindingDied()");
return;
}
- transportClient.onBindingDied();
+ transportConnection.onBindingDied();
}
- /** @see TransportClient#finalize() */
+ /** @see TransportConnection#finalize() */
private void referenceLost(String caller) {
mContext.unbindService(this);
TransportUtils.log(
diff --git a/services/backup/backuplib/java/com/android/server/backup/transport/TransportConnectionListener.java b/services/backup/backuplib/java/com/android/server/backup/transport/TransportConnectionListener.java
index 1ccffd01d12c..03d35e46952c 100644
--- a/services/backup/backuplib/java/com/android/server/backup/transport/TransportConnectionListener.java
+++ b/services/backup/backuplib/java/com/android/server/backup/transport/TransportConnectionListener.java
@@ -21,17 +21,18 @@ import android.annotation.Nullable;
import com.android.internal.backup.IBackupTransport;
/**
- * Listener to be called by {@link TransportClient#connectAsync(TransportConnectionListener,
+ * Listener to be called by {@link TransportConnection#connectAsync(TransportConnectionListener,
* String)}.
*/
public interface TransportConnectionListener {
/**
- * Called when {@link TransportClient} has a transport binder available or that it decided it
- * couldn't obtain one, in which case {@param transport} is null.
+ * Called when {@link TransportConnection} has a transport binder available or that it decided
+ * it couldn't obtain one, in which case {@param transport} is null.
*
* @param transport A {@link IBackupTransport} transport binder or null.
- * @param transportClient The {@link TransportClient} used to retrieve this transport binder.
+ * @param transportConnection The {@link TransportConnection} used to retrieve this transport
+ * binder.
*/
void onTransportConnectionResult(
- @Nullable IBackupTransport transport, TransportClient transportClient);
+ @Nullable IBackupTransport transport, TransportConnection transportConnection);
}
diff --git a/services/backup/backuplib/java/com/android/server/backup/transport/TransportClientManager.java b/services/backup/backuplib/java/com/android/server/backup/transport/TransportConnectionManager.java
index f907e0855a3e..16acb18d5025 100644
--- a/services/backup/backuplib/java/com/android/server/backup/transport/TransportClientManager.java
+++ b/services/backup/backuplib/java/com/android/server/backup/transport/TransportConnectionManager.java
@@ -36,18 +36,18 @@ import java.util.WeakHashMap;
import java.util.function.Function;
/**
- * Manages the creation and disposal of {@link TransportClient}s. The only class that should use
+ * Manages the creation and disposal of {@link TransportConnection}s. The only class that should use
* this is {@link TransportManager}, all the other usages should go to {@link TransportManager}.
*/
-public class TransportClientManager {
- private static final String TAG = "TransportClientManager";
+public class TransportConnectionManager {
+ private static final String TAG = "TransportConnectionManager";
private final @UserIdInt int mUserId;
private final Context mContext;
private final TransportStats mTransportStats;
private final Object mTransportClientsLock = new Object();
private int mTransportClientsCreated = 0;
- private Map<TransportClient, String> mTransportClientsCallerMap = new WeakHashMap<>();
+ private Map<TransportConnection, String> mTransportClientsCallerMap = new WeakHashMap<>();
private final Function<ComponentName, Intent> mIntentFunction;
/**
@@ -58,12 +58,12 @@ public class TransportClientManager {
return new Intent(SERVICE_ACTION_TRANSPORT_HOST).setComponent(transportComponent);
}
- public TransportClientManager(@UserIdInt int userId, Context context,
+ public TransportConnectionManager(@UserIdInt int userId, Context context,
TransportStats transportStats) {
- this(userId, context, transportStats, TransportClientManager::getRealTransportIntent);
+ this(userId, context, transportStats, TransportConnectionManager::getRealTransportIntent);
}
- private TransportClientManager(@UserIdInt int userId, Context context,
+ private TransportConnectionManager(@UserIdInt int userId, Context context,
TransportStats transportStats, Function<ComponentName, Intent> intentFunction) {
mUserId = userId;
mContext = context;
@@ -72,31 +72,31 @@ public class TransportClientManager {
}
/**
- * Retrieves a {@link TransportClient} for the transport identified by {@param
+ * Retrieves a {@link TransportConnection} for the transport identified by {@param
* transportComponent}.
*
* @param transportComponent The {@link ComponentName} of the transport.
* @param caller A {@link String} identifying the caller for logging/debugging purposes. Check
- * {@link TransportClient#connectAsync(TransportConnectionListener, String)} for more
+ * {@link TransportConnection#connectAsync(TransportConnectionListener, String)} for more
* details.
- * @return A {@link TransportClient}.
+ * @return A {@link TransportConnection}.
*/
- public TransportClient getTransportClient(ComponentName transportComponent, String caller) {
+ public TransportConnection getTransportClient(ComponentName transportComponent, String caller) {
return getTransportClient(transportComponent, null, caller);
}
/**
- * Retrieves a {@link TransportClient} for the transport identified by {@param
+ * Retrieves a {@link TransportConnection} for the transport identified by {@param
* transportComponent} whose binding intent will have the {@param extras} extras.
*
* @param transportComponent The {@link ComponentName} of the transport.
* @param extras A {@link Bundle} of extras to pass to the binding intent.
* @param caller A {@link String} identifying the caller for logging/debugging purposes. Check
- * {@link TransportClient#connectAsync(TransportConnectionListener, String)} for more
+ * {@link TransportConnection#connectAsync(TransportConnectionListener, String)} for more
* details.
- * @return A {@link TransportClient}.
+ * @return A {@link TransportConnection}.
*/
- public TransportClient getTransportClient(
+ public TransportConnection getTransportClient(
ComponentName transportComponent, @Nullable Bundle extras, String caller) {
Intent bindIntent = mIntentFunction.apply(transportComponent);
if (extras != null) {
@@ -105,11 +105,11 @@ public class TransportClientManager {
return getTransportClient(transportComponent, caller, bindIntent);
}
- private TransportClient getTransportClient(
+ private TransportConnection getTransportClient(
ComponentName transportComponent, String caller, Intent bindIntent) {
synchronized (mTransportClientsLock) {
- TransportClient transportClient =
- new TransportClient(
+ TransportConnection transportConnection =
+ new TransportConnection(
mUserId,
mContext,
mTransportStats,
@@ -117,33 +117,33 @@ public class TransportClientManager {
transportComponent,
Integer.toString(mTransportClientsCreated),
caller);
- mTransportClientsCallerMap.put(transportClient, caller);
+ mTransportClientsCallerMap.put(transportConnection, caller);
mTransportClientsCreated++;
TransportUtils.log(
Priority.DEBUG,
TAG,
- formatMessage(null, caller, "Retrieving " + transportClient));
- return transportClient;
+ formatMessage(null, caller, "Retrieving " + transportConnection));
+ return transportConnection;
}
}
/**
- * Disposes of the {@link TransportClient}.
+ * Disposes of the {@link TransportConnection}.
*
- * @param transportClient The {@link TransportClient} to be disposed of.
+ * @param transportConnection The {@link TransportConnection} to be disposed of.
* @param caller A {@link String} identifying the caller for logging/debugging purposes. Check
- * {@link TransportClient#connectAsync(TransportConnectionListener, String)} for more
+ * {@link TransportConnection#connectAsync(TransportConnectionListener, String)} for more
* details.
*/
- public void disposeOfTransportClient(TransportClient transportClient, String caller) {
- transportClient.unbind(caller);
- transportClient.markAsDisposed();
+ public void disposeOfTransportClient(TransportConnection transportConnection, String caller) {
+ transportConnection.unbind(caller);
+ transportConnection.markAsDisposed();
synchronized (mTransportClientsLock) {
TransportUtils.log(
Priority.DEBUG,
TAG,
- formatMessage(null, caller, "Disposing of " + transportClient));
- mTransportClientsCallerMap.remove(transportClient);
+ formatMessage(null, caller, "Disposing of " + transportConnection));
+ mTransportClientsCallerMap.remove(transportConnection);
}
}
@@ -151,10 +151,10 @@ public class TransportClientManager {
pw.println("Transport clients created: " + mTransportClientsCreated);
synchronized (mTransportClientsLock) {
pw.println("Current transport clients: " + mTransportClientsCallerMap.size());
- for (TransportClient transportClient : mTransportClientsCallerMap.keySet()) {
- String caller = mTransportClientsCallerMap.get(transportClient);
- pw.println(" " + transportClient + " [" + caller + "]");
- for (String logEntry : transportClient.getLogBuffer()) {
+ for (TransportConnection transportConnection : mTransportClientsCallerMap.keySet()) {
+ String caller = mTransportClientsCallerMap.get(transportConnection);
+ pw.println(" " + transportConnection + " [" + caller + "]");
+ for (String logEntry : transportConnection.getLogBuffer()) {
pw.println(" " + logEntry);
}
}
diff --git a/services/backup/backuplib/java/com/android/server/backup/transport/TransportNotAvailableException.java b/services/backup/backuplib/java/com/android/server/backup/transport/TransportNotAvailableException.java
index c08eb7f4a54e..83b2782d3cf2 100644
--- a/services/backup/backuplib/java/com/android/server/backup/transport/TransportNotAvailableException.java
+++ b/services/backup/backuplib/java/com/android/server/backup/transport/TransportNotAvailableException.java
@@ -22,10 +22,10 @@ import com.android.internal.backup.IBackupTransport;
/**
* Exception thrown when the {@link IBackupTransport} is not available. This happen when a {@link
- * TransportClient} connection attempt fails. Check {@link
- * TransportClient#connectAsync(TransportConnectionListener, String)} for when that happens.
+ * TransportConnection} connection attempt fails. Check {@link
+ * TransportConnection#connectAsync(TransportConnectionListener, String)} for when that happens.
*
- * @see TransportClient#connectAsync(TransportConnectionListener, String)
+ * @see TransportConnection#connectAsync(TransportConnectionListener, String)
*/
public class TransportNotAvailableException extends AndroidException {
TransportNotAvailableException() {
diff --git a/services/backup/backuplib/java/com/android/server/backup/transport/TransportStats.java b/services/backup/backuplib/java/com/android/server/backup/transport/TransportStats.java
index bd84782122ad..c67a5b65380e 100644
--- a/services/backup/backuplib/java/com/android/server/backup/transport/TransportStats.java
+++ b/services/backup/backuplib/java/com/android/server/backup/transport/TransportStats.java
@@ -25,7 +25,7 @@ import java.util.Locale;
import java.util.Map;
import java.util.Optional;
-/** Responsible for aggregating {@link TransportClient} relevant times. */
+/** Responsible for aggregating {@link TransportConnection} relevant times. */
public class TransportStats {
private final Object mStatsLock = new Object();
private final Map<ComponentName, Stats> mTransportStats = new HashMap<>();
diff --git a/services/backup/java/com/android/server/backup/UserBackupManagerService.java b/services/backup/java/com/android/server/backup/UserBackupManagerService.java
index 1a5d91c8cca5..452adb294540 100644
--- a/services/backup/java/com/android/server/backup/UserBackupManagerService.java
+++ b/services/backup/java/com/android/server/backup/UserBackupManagerService.java
@@ -127,7 +127,7 @@ import com.android.server.backup.params.ClearRetryParams;
import com.android.server.backup.params.RestoreParams;
import com.android.server.backup.restore.ActiveRestoreSession;
import com.android.server.backup.restore.PerformUnifiedRestoreTask;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
import com.android.server.backup.transport.TransportNotAvailableException;
import com.android.server.backup.transport.TransportNotRegisteredException;
import com.android.server.backup.utils.BackupEligibilityRules;
@@ -1894,16 +1894,16 @@ public class UserBackupManagerService {
return BackupManager.ERROR_BACKUP_NOT_ALLOWED;
}
- final TransportClient transportClient;
+ final TransportConnection transportConnection;
final String transportDirName;
int operationType;
try {
transportDirName =
mTransportManager.getTransportDirName(
mTransportManager.getCurrentTransportName());
- transportClient =
+ transportConnection =
mTransportManager.getCurrentTransportClientOrThrow("BMS.requestBackup()");
- operationType = getOperationTypeFromTransport(transportClient);
+ operationType = getOperationTypeFromTransport(transportConnection);
} catch (TransportNotRegisteredException | TransportNotAvailableException
| RemoteException e) {
BackupObserverUtils.sendBackupFinished(observer, BackupManager.ERROR_TRANSPORT_ABORTED);
@@ -1914,13 +1914,13 @@ public class UserBackupManagerService {
}
OnTaskFinishedListener listener =
- caller -> mTransportManager.disposeOfTransportClient(transportClient, caller);
+ caller -> mTransportManager.disposeOfTransportClient(transportConnection, caller);
BackupEligibilityRules backupEligibilityRules = getEligibilityRulesForOperation(
operationType);
Message msg = mBackupHandler.obtainMessage(MSG_REQUEST_BACKUP);
msg.obj = getRequestBackupParams(packages, observer, monitor, flags, backupEligibilityRules,
- transportClient, transportDirName, listener);
+ transportConnection, transportDirName, listener);
mBackupHandler.sendMessage(msg);
return BackupManager.SUCCESS;
}
@@ -1928,7 +1928,7 @@ public class UserBackupManagerService {
@VisibleForTesting
BackupParams getRequestBackupParams(String[] packages, IBackupObserver observer,
IBackupManagerMonitor monitor, int flags, BackupEligibilityRules backupEligibilityRules,
- TransportClient transportClient, String transportDirName,
+ TransportConnection transportConnection, String transportDirName,
OnTaskFinishedListener listener) {
ArrayList<String> fullBackupList = new ArrayList<>();
ArrayList<String> kvBackupList = new ArrayList<>();
@@ -1974,7 +1974,7 @@ public class UserBackupManagerService {
boolean nonIncrementalBackup = (flags & BackupManager.FLAG_NON_INCREMENTAL_BACKUP) != 0;
- return new BackupParams(transportClient, transportDirName, kvBackupList, fullBackupList,
+ return new BackupParams(transportConnection, transportDirName, kvBackupList, fullBackupList,
observer, monitor, listener, /* userInitiated */ true, nonIncrementalBackup,
backupEligibilityRules);
}
@@ -2875,10 +2875,10 @@ public class UserBackupManagerService {
}
mBackupHandler.removeMessages(MSG_RETRY_CLEAR);
synchronized (mQueueLock) {
- TransportClient transportClient =
+ TransportConnection transportConnection =
mTransportManager
.getTransportClient(transportName, "BMS.clearBackupData()");
- if (transportClient == null) {
+ if (transportConnection == null) {
// transport is currently unregistered -- make sure to retry
Message msg = mBackupHandler.obtainMessage(MSG_RETRY_CLEAR,
new ClearRetryParams(transportName, packageName));
@@ -2888,11 +2888,11 @@ public class UserBackupManagerService {
final long oldId = Binder.clearCallingIdentity();
try {
OnTaskFinishedListener listener = caller -> mTransportManager
- .disposeOfTransportClient(transportClient, caller);
+ .disposeOfTransportClient(transportConnection, caller);
mWakelock.acquire();
Message msg = mBackupHandler.obtainMessage(
MSG_RUN_CLEAR,
- new ClearParams(transportClient, info, listener));
+ new ClearParams(transportConnection, info, listener));
mBackupHandler.sendMessage(msg);
} finally {
Binder.restoreCallingIdentity(oldId);
@@ -3715,11 +3715,11 @@ public class UserBackupManagerService {
// And update our current-dataset bookkeeping
String callerLogString = "BMS.updateStateForTransport()";
- TransportClient transportClient =
+ TransportConnection transportConnection =
mTransportManager.getTransportClient(newTransportName, callerLogString);
- if (transportClient != null) {
+ if (transportConnection != null) {
try {
- IBackupTransport transport = transportClient.connectOrThrow(callerLogString);
+ IBackupTransport transport = transportConnection.connectOrThrow(callerLogString);
mCurrentToken = transport.getCurrentRestoreSet();
} catch (Exception e) {
// Oops. We can't know the current dataset token, so reset and figure it out
@@ -3733,7 +3733,7 @@ public class UserBackupManagerService {
+ newTransportName
+ " not available: current token = 0"));
}
- mTransportManager.disposeOfTransportClient(transportClient, callerLogString);
+ mTransportManager.disposeOfTransportClient(transportConnection, callerLogString);
} else {
Slog.w(
TAG,
@@ -3946,9 +3946,9 @@ public class UserBackupManagerService {
skip = true;
}
- TransportClient transportClient =
+ TransportConnection transportConnection =
mTransportManager.getCurrentTransportClient("BMS.restoreAtInstall()");
- if (transportClient == null) {
+ if (transportConnection == null) {
if (DEBUG) Slog.w(TAG, addUserIdToLogMessage(mUserId, "No transport client"));
skip = true;
}
@@ -3972,7 +3972,7 @@ public class UserBackupManagerService {
mWakelock.acquire();
OnTaskFinishedListener listener = caller -> {
- mTransportManager.disposeOfTransportClient(transportClient, caller);
+ mTransportManager.disposeOfTransportClient(transportConnection, caller);
mWakelock.release();
};
@@ -3984,7 +3984,7 @@ public class UserBackupManagerService {
Message msg = mBackupHandler.obtainMessage(MSG_RUN_RESTORE);
msg.obj =
RestoreParams.createForRestoreAtInstall(
- transportClient,
+ transportConnection,
/* observer */ null,
/* monitor */ null,
restoreSet,
@@ -4006,9 +4006,9 @@ public class UserBackupManagerService {
if (skip) {
// Auto-restore disabled or no way to attempt a restore
- if (transportClient != null) {
+ if (transportConnection != null) {
mTransportManager.disposeOfTransportClient(
- transportClient, "BMS.restoreAtInstall()");
+ transportConnection, "BMS.restoreAtInstall()");
}
// Tell the PackageManager to proceed with the post-install handling for this package.
@@ -4177,13 +4177,13 @@ public class UserBackupManagerService {
final long oldToken = Binder.clearCallingIdentity();
try {
String callerLogString = "BMS.isAppEligibleForBackup";
- TransportClient transportClient =
+ TransportConnection transportConnection =
mTransportManager.getCurrentTransportClient(callerLogString);
boolean eligible =
mScheduledBackupEligibility.appIsRunningAndEligibleForBackupWithTransport(
- transportClient, packageName);
- if (transportClient != null) {
- mTransportManager.disposeOfTransportClient(transportClient, callerLogString);
+ transportConnection, packageName);
+ if (transportConnection != null) {
+ mTransportManager.disposeOfTransportClient(transportConnection, callerLogString);
}
return eligible;
} finally {
@@ -4199,17 +4199,17 @@ public class UserBackupManagerService {
final long oldToken = Binder.clearCallingIdentity();
try {
String callerLogString = "BMS.filterAppsEligibleForBackup";
- TransportClient transportClient =
+ TransportConnection transportConnection =
mTransportManager.getCurrentTransportClient(callerLogString);
List<String> eligibleApps = new LinkedList<>();
for (String packageName : packages) {
if (mScheduledBackupEligibility.appIsRunningAndEligibleForBackupWithTransport(
- transportClient, packageName)) {
+ transportConnection, packageName)) {
eligibleApps.add(packageName);
}
}
- if (transportClient != null) {
- mTransportManager.disposeOfTransportClient(transportClient, callerLogString);
+ if (transportConnection != null) {
+ mTransportManager.disposeOfTransportClient(transportConnection, callerLogString);
}
return eligibleApps.toArray(new String[eligibleApps.size()]);
} finally {
@@ -4362,7 +4362,7 @@ public class UserBackupManagerService {
}
@VisibleForTesting
- @OperationType int getOperationTypeFromTransport(TransportClient transportClient)
+ @OperationType int getOperationTypeFromTransport(TransportConnection transportConnection)
throws TransportNotAvailableException, RemoteException {
if (!shouldUseNewBackupEligibilityRules()) {
// Return the default to stick to the legacy behaviour.
@@ -4371,7 +4371,7 @@ public class UserBackupManagerService {
final long oldCallingId = Binder.clearCallingIdentity();
try {
- IBackupTransport transport = transportClient.connectOrThrow(
+ IBackupTransport transport = transportConnection.connectOrThrow(
/* caller */ "BMS.getOperationTypeFromTransport");
if ((transport.getTransportFlags() & BackupAgent.FLAG_DEVICE_TO_DEVICE_TRANSFER) != 0) {
return OperationType.MIGRATION;
diff --git a/services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java b/services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java
index a4d47d492451..1c860917c4ef 100644
--- a/services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java
+++ b/services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java
@@ -51,7 +51,7 @@ import com.android.server.backup.UserBackupManagerService;
import com.android.server.backup.internal.OnTaskFinishedListener;
import com.android.server.backup.internal.Operation;
import com.android.server.backup.remote.RemoteCall;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
import com.android.server.backup.transport.TransportNotAvailableException;
import com.android.server.backup.utils.BackupEligibilityRules;
import com.android.server.backup.utils.BackupManagerMonitorUtils;
@@ -110,13 +110,15 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
String caller,
BackupEligibilityRules backupEligibilityRules) {
TransportManager transportManager = backupManagerService.getTransportManager();
- TransportClient transportClient = transportManager.getCurrentTransportClient(caller);
+ TransportConnection transportConnection = transportManager.getCurrentTransportClient(
+ caller);
OnTaskFinishedListener listener =
listenerCaller ->
- transportManager.disposeOfTransportClient(transportClient, listenerCaller);
+ transportManager.disposeOfTransportClient(transportConnection,
+ listenerCaller);
return new PerformFullTransportBackupTask(
backupManagerService,
- transportClient,
+ transportConnection,
observer,
whichPackages,
updateSchedule,
@@ -145,7 +147,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
SinglePackageBackupRunner mBackupRunner;
private final int mBackupRunnerOpToken;
private final OnTaskFinishedListener mListener;
- private final TransportClient mTransportClient;
+ private final TransportConnection mTransportConnection;
private final int mUserId;
// This is true when a backup operation for some package is in progress.
@@ -156,7 +158,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
private final BackupEligibilityRules mBackupEligibilityRules;
public PerformFullTransportBackupTask(UserBackupManagerService backupManagerService,
- TransportClient transportClient,
+ TransportConnection transportConnection,
IFullBackupRestoreObserver observer,
String[] whichPackages, boolean updateSchedule,
FullBackupJob runningJob, CountDownLatch latch, IBackupObserver backupObserver,
@@ -164,7 +166,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
boolean userInitiated, BackupEligibilityRules backupEligibilityRules) {
super(observer);
this.mUserBackupManagerService = backupManagerService;
- mTransportClient = transportClient;
+ mTransportConnection = transportConnection;
mUpdateSchedule = updateSchedule;
mLatch = latch;
mJob = runningJob;
@@ -299,7 +301,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
try {
// If we're running a backup we should be connected to a transport
IBackupTransport transport =
- mTransportClient.getConnectedTransport("PFTBT.handleCancel()");
+ mTransportConnection.getConnectedTransport("PFTBT.handleCancel()");
transport.cancelFullBackup();
} catch (RemoteException | TransportNotAvailableException e) {
Slog.w(TAG, "Error calling cancelFullBackup() on transport: " + e);
@@ -351,7 +353,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
return;
}
- IBackupTransport transport = mTransportClient.connect("PFTBT.run()");
+ IBackupTransport transport = mTransportConnection.connect("PFTBT.run()");
if (transport == null) {
Slog.w(TAG, "Transport not present; full data backup not performed");
backupRunStatus = BackupManager.ERROR_TRANSPORT_ABORTED;
@@ -395,7 +397,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
enginePipes = ParcelFileDescriptor.createPipe();
mBackupRunner =
new SinglePackageBackupRunner(enginePipes[1], currentPackage,
- mTransportClient, quota, mBackupRunnerOpToken,
+ mTransportConnection, quota, mBackupRunnerOpToken,
transport.getTransportFlags());
// The runner dup'd the pipe half, so we close it here
enginePipes[1].close();
@@ -697,17 +699,17 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
class SinglePackageBackupPreflight implements BackupRestoreTask, FullBackupPreflight {
final AtomicLong mResult = new AtomicLong(BackupTransport.AGENT_ERROR);
final CountDownLatch mLatch = new CountDownLatch(1);
- final TransportClient mTransportClient;
+ final TransportConnection mTransportConnection;
final long mQuota;
private final int mCurrentOpToken;
private final int mTransportFlags;
SinglePackageBackupPreflight(
- TransportClient transportClient,
+ TransportConnection transportConnection,
long quota,
int currentOpToken,
int transportFlags) {
- mTransportClient = transportClient;
+ mTransportConnection = transportConnection;
mQuota = quota;
mCurrentOpToken = currentOpToken;
mTransportFlags = transportFlags;
@@ -744,7 +746,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
}
IBackupTransport transport =
- mTransportClient.connectOrThrow("PFTBT$SPBP.preflightFullBackup()");
+ mTransportConnection.connectOrThrow("PFTBT$SPBP.preflightFullBackup()");
result = transport.checkFullBackupSize(totalSize);
if (result == BackupTransport.TRANSPORT_QUOTA_EXCEEDED) {
if (MORE_DEBUG) {
@@ -817,14 +819,14 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
private final int mTransportFlags;
SinglePackageBackupRunner(ParcelFileDescriptor output, PackageInfo target,
- TransportClient transportClient, long quota, int currentOpToken, int transportFlags)
- throws IOException {
+ TransportConnection transportConnection, long quota, int currentOpToken,
+ int transportFlags) throws IOException {
mOutput = ParcelFileDescriptor.dup(output.getFileDescriptor());
mTarget = target;
mCurrentOpToken = currentOpToken;
mEphemeralToken = mUserBackupManagerService.generateRandomIntegerToken();
mPreflight = new SinglePackageBackupPreflight(
- transportClient, quota, mEphemeralToken, transportFlags);
+ transportConnection, quota, mEphemeralToken, transportFlags);
mPreflightLatch = new CountDownLatch(1);
mBackupLatch = new CountDownLatch(1);
mPreflightResult = BackupTransport.AGENT_ERROR;
diff --git a/services/backup/java/com/android/server/backup/internal/BackupHandler.java b/services/backup/java/com/android/server/backup/internal/BackupHandler.java
index 1cb7c11e9499..3b3bf8c694af 100644
--- a/services/backup/java/com/android/server/backup/internal/BackupHandler.java
+++ b/services/backup/java/com/android/server/backup/internal/BackupHandler.java
@@ -20,7 +20,6 @@ import static com.android.server.backup.BackupManagerService.DEBUG;
import static com.android.server.backup.BackupManagerService.MORE_DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
-import android.app.backup.BackupManager;
import android.app.backup.BackupManager.OperationType;
import android.app.backup.RestoreSet;
import android.os.Handler;
@@ -52,7 +51,7 @@ import com.android.server.backup.params.RestoreGetSetsParams;
import com.android.server.backup.params.RestoreParams;
import com.android.server.backup.restore.PerformAdbRestoreTask;
import com.android.server.backup.restore.PerformUnifiedRestoreTask;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
import java.util.ArrayList;
import java.util.Collections;
@@ -148,16 +147,16 @@ public class BackupHandler extends Handler {
backupManagerService.setLastBackupPass(System.currentTimeMillis());
String callerLogString = "BH/MSG_RUN_BACKUP";
- TransportClient transportClient =
+ TransportConnection transportConnection =
transportManager.getCurrentTransportClient(callerLogString);
IBackupTransport transport =
- transportClient != null
- ? transportClient.connect(callerLogString)
+ transportConnection != null
+ ? transportConnection.connect(callerLogString)
: null;
if (transport == null) {
- if (transportClient != null) {
+ if (transportConnection != null) {
transportManager
- .disposeOfTransportClient(transportClient, callerLogString);
+ .disposeOfTransportClient(transportConnection, callerLogString);
}
Slog.v(TAG, "Backup requested but no transport available");
break;
@@ -212,10 +211,11 @@ public class BackupHandler extends Handler {
OnTaskFinishedListener listener =
caller ->
transportManager
- .disposeOfTransportClient(transportClient, caller);
+ .disposeOfTransportClient(transportConnection,
+ caller);
KeyValueBackupTask.start(
backupManagerService,
- transportClient,
+ transportConnection,
transport.transportDirName(),
queue,
oldJournal,
@@ -240,7 +240,7 @@ public class BackupHandler extends Handler {
}
if (!staged) {
- transportManager.disposeOfTransportClient(transportClient, callerLogString);
+ transportManager.disposeOfTransportClient(transportConnection, callerLogString);
// if we didn't actually hand off the wakelock, rewind until next time
synchronized (backupManagerService.getQueueLock()) {
backupManagerService.setBackupRunning(false);
@@ -296,7 +296,7 @@ public class BackupHandler extends Handler {
PerformUnifiedRestoreTask task =
new PerformUnifiedRestoreTask(
backupManagerService,
- params.transportClient,
+ params.mTransportConnection,
params.observer,
params.monitor,
params.token,
@@ -344,7 +344,7 @@ public class BackupHandler extends Handler {
Runnable task =
new PerformClearTask(
backupManagerService,
- params.transportClient,
+ params.mTransportConnection,
params.packageInfo,
params.listener);
task.run();
@@ -365,7 +365,7 @@ public class BackupHandler extends Handler {
String callerLogString = "BH/MSG_RUN_GET_RESTORE_SETS";
try {
IBackupTransport transport =
- params.transportClient.connectOrThrow(callerLogString);
+ params.mTransportConnection.connectOrThrow(callerLogString);
sets = transport.getAvailableRestoreSets();
// cache the result in the active session
synchronized (params.session) {
@@ -459,7 +459,7 @@ public class BackupHandler extends Handler {
KeyValueBackupTask.start(
backupManagerService,
- params.transportClient,
+ params.mTransportConnection,
params.dirName,
params.kvPackages,
/* dataChangedJournal */ null,
diff --git a/services/backup/java/com/android/server/backup/internal/OnTaskFinishedListener.java b/services/backup/java/com/android/server/backup/internal/OnTaskFinishedListener.java
index e417f06c8a05..30de50996f0c 100644
--- a/services/backup/java/com/android/server/backup/internal/OnTaskFinishedListener.java
+++ b/services/backup/java/com/android/server/backup/internal/OnTaskFinishedListener.java
@@ -16,7 +16,7 @@
package com.android.server.backup.internal;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
import com.android.server.backup.transport.TransportConnectionListener;
/** Listener to be called when a task finishes, successfully or not. */
@@ -27,7 +27,7 @@ public interface OnTaskFinishedListener {
* Called when a task finishes, successfully or not.
*
* @param caller A {@link String} identifying the caller for logging/debugging purposes. Check
- * {@link TransportClient#connectAsync(TransportConnectionListener, String)} for more
+ * {@link TransportConnection#connectAsync(TransportConnectionListener, String)} for more
* details.
*/
void onFinished(String caller);
diff --git a/services/backup/java/com/android/server/backup/internal/PerformClearTask.java b/services/backup/java/com/android/server/backup/internal/PerformClearTask.java
index 5ffa795d87f0..80bd60451dfd 100644
--- a/services/backup/java/com/android/server/backup/internal/PerformClearTask.java
+++ b/services/backup/java/com/android/server/backup/internal/PerformClearTask.java
@@ -24,23 +24,23 @@ import android.util.Slog;
import com.android.internal.backup.IBackupTransport;
import com.android.server.backup.TransportManager;
import com.android.server.backup.UserBackupManagerService;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
import java.io.File;
public class PerformClearTask implements Runnable {
private final UserBackupManagerService mBackupManagerService;
private final TransportManager mTransportManager;
- private final TransportClient mTransportClient;
+ private final TransportConnection mTransportConnection;
private final PackageInfo mPackage;
private final OnTaskFinishedListener mListener;
PerformClearTask(UserBackupManagerService backupManagerService,
- TransportClient transportClient, PackageInfo packageInfo,
+ TransportConnection transportConnection, PackageInfo packageInfo,
OnTaskFinishedListener listener) {
mBackupManagerService = backupManagerService;
mTransportManager = backupManagerService.getTransportManager();
- mTransportClient = transportClient;
+ mTransportConnection = transportConnection;
mPackage = packageInfo;
mListener = listener;
}
@@ -51,12 +51,13 @@ public class PerformClearTask implements Runnable {
try {
// Clear the on-device backup state to ensure a full backup next time
String transportDirName =
- mTransportManager.getTransportDirName(mTransportClient.getTransportComponent());
+ mTransportManager.getTransportDirName(
+ mTransportConnection.getTransportComponent());
File stateDir = new File(mBackupManagerService.getBaseStateDir(), transportDirName);
File stateFile = new File(stateDir, mPackage.packageName);
stateFile.delete();
- transport = mTransportClient.connectOrThrow(callerLogString);
+ transport = mTransportConnection.connectOrThrow(callerLogString);
// Tell the transport to remove all the persistent storage for the app
// TODO - need to handle failures
transport.clearBackupData(mPackage);
diff --git a/services/backup/java/com/android/server/backup/internal/PerformInitializeTask.java b/services/backup/java/com/android/server/backup/internal/PerformInitializeTask.java
index 6b78fbf60899..7636ef65211f 100644
--- a/services/backup/java/com/android/server/backup/internal/PerformInitializeTask.java
+++ b/services/backup/java/com/android/server/backup/internal/PerformInitializeTask.java
@@ -32,7 +32,7 @@ import com.android.internal.backup.IBackupTransport;
import com.android.server.EventLogTags;
import com.android.server.backup.TransportManager;
import com.android.server.backup.UserBackupManagerService;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
import java.io.File;
import java.util.ArrayList;
@@ -109,26 +109,26 @@ public class PerformInitializeTask implements Runnable {
public void run() {
// mWakelock is *acquired* when execution begins here
String callerLogString = "PerformInitializeTask.run()";
- List<TransportClient> transportClientsToDisposeOf = new ArrayList<>(mQueue.length);
+ List<TransportConnection> transportClientsToDisposeOf = new ArrayList<>(mQueue.length);
int result = BackupTransport.TRANSPORT_OK;
try {
for (String transportName : mQueue) {
- TransportClient transportClient =
+ TransportConnection transportConnection =
mTransportManager.getTransportClient(transportName, callerLogString);
- if (transportClient == null) {
+ if (transportConnection == null) {
Slog.e(TAG, "Requested init for " + transportName + " but not found");
continue;
}
- transportClientsToDisposeOf.add(transportClient);
+ transportClientsToDisposeOf.add(transportConnection);
Slog.i(TAG, "Initializing (wiping) backup transport storage: " + transportName);
String transportDirName =
mTransportManager.getTransportDirName(
- transportClient.getTransportComponent());
+ transportConnection.getTransportComponent());
EventLog.writeEvent(EventLogTags.BACKUP_START, transportDirName);
long startRealtime = SystemClock.elapsedRealtime();
- IBackupTransport transport = transportClient.connectOrThrow(callerLogString);
+ IBackupTransport transport = transportConnection.connectOrThrow(callerLogString);
int status = transport.initializeDevice();
if (status != BackupTransport.TRANSPORT_OK) {
Slog.e(TAG, "Transport error in initializeDevice()");
@@ -170,8 +170,8 @@ public class PerformInitializeTask implements Runnable {
Slog.e(TAG, "Unexpected error performing init", e);
result = BackupTransport.TRANSPORT_ERROR;
} finally {
- for (TransportClient transportClient : transportClientsToDisposeOf) {
- mTransportManager.disposeOfTransportClient(transportClient, callerLogString);
+ for (TransportConnection transportConnection : transportClientsToDisposeOf) {
+ mTransportManager.disposeOfTransportClient(transportConnection, callerLogString);
}
notifyFinished(result);
mListener.onFinished(callerLogString);
diff --git a/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java b/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java
index 7267cdf8539c..bdb2e6fc127f 100644
--- a/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java
+++ b/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java
@@ -65,7 +65,7 @@ import com.android.server.backup.internal.Operation;
import com.android.server.backup.remote.RemoteCall;
import com.android.server.backup.remote.RemoteCallable;
import com.android.server.backup.remote.RemoteResult;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
import com.android.server.backup.transport.TransportNotAvailableException;
import com.android.server.backup.utils.BackupEligibilityRules;
@@ -192,10 +192,10 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
* dedicated thread and kicks off the operation in it.
*
* @param backupManagerService The {@link UserBackupManagerService} instance.
- * @param transportClient The {@link TransportClient} that contains the transport used for the
- * operation.
+ * @param transportConnection The {@link TransportConnection} that contains the transport used
+ * for the operation.
* @param transportDirName The value of {@link IBackupTransport#transportDirName()} for the
- * transport whose {@link TransportClient} was provided above.
+ * transport whose {@link TransportConnection} was provided above.
* @param queue The list of package names that will be backed-up.
* @param dataChangedJournal The old data-changed journal file that will be deleted when the
* operation finishes (successfully or not) or {@code null}.
@@ -211,7 +211,7 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
*/
public static KeyValueBackupTask start(
UserBackupManagerService backupManagerService,
- TransportClient transportClient,
+ TransportConnection transportConnection,
String transportDirName,
List<String> queue,
@Nullable DataChangedJournal dataChangedJournal,
@@ -227,7 +227,7 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
KeyValueBackupTask task =
new KeyValueBackupTask(
backupManagerService,
- transportClient,
+ transportConnection,
transportDirName,
queue,
dataChangedJournal,
@@ -245,7 +245,7 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
private final UserBackupManagerService mBackupManagerService;
private final PackageManager mPackageManager;
- private final TransportClient mTransportClient;
+ private final TransportConnection mTransportConnection;
private final BackupAgentTimeoutParameters mAgentTimeoutParameters;
private final KeyValueBackupReporter mReporter;
private final OnTaskFinishedListener mTaskFinishedListener;
@@ -302,7 +302,7 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
@VisibleForTesting
public KeyValueBackupTask(
UserBackupManagerService backupManagerService,
- TransportClient transportClient,
+ TransportConnection transportConnection,
String transportDirName,
List<String> queue,
@Nullable DataChangedJournal journal,
@@ -314,7 +314,7 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
BackupEligibilityRules backupEligibilityRules) {
mBackupManagerService = backupManagerService;
mPackageManager = backupManagerService.getPackageManager();
- mTransportClient = transportClient;
+ mTransportConnection = transportConnection;
mOriginalQueue = queue;
// We need to retain the original queue contents in case of transport failure
mQueue = new ArrayList<>(queue);
@@ -418,7 +418,7 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
boolean noDataPackageEncountered = false;
try {
IBackupTransport transport =
- mTransportClient.connectOrThrow("KVBT.informTransportOfEmptyBackups()");
+ mTransportConnection.connectOrThrow("KVBT.informTransportOfEmptyBackups()");
for (String packageName : succeedingPackages) {
if (appsBackedUp.contains(packageName)) {
@@ -463,7 +463,7 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
private boolean isEligibleForNoDataCall(PackageInfo packageInfo) {
return mBackupEligibilityRules.appIsKeyValueOnly(packageInfo)
&& mBackupEligibilityRules.appIsRunningAndEligibleForBackupWithTransport(
- mTransportClient, packageInfo.packageName);
+ mTransportConnection, packageInfo.packageName);
}
/** Send the "no data changed" message to a transport for a specific package */
@@ -608,7 +608,7 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
mReporter.onQueueReady(mQueue);
File pmState = new File(mStateDirectory, PM_PACKAGE);
try {
- IBackupTransport transport = mTransportClient.connectOrThrow("KVBT.startTask()");
+ IBackupTransport transport = mTransportConnection.connectOrThrow("KVBT.startTask()");
String transportName = transport.name();
if (transportName.contains("EncryptedLocalTransport")) {
// Temporary code for EiTF POC. Only supports non-incremental backups.
@@ -638,7 +638,7 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
private PerformFullTransportBackupTask createFullBackupTask(List<String> packages) {
return new PerformFullTransportBackupTask(
mBackupManagerService,
- mTransportClient,
+ mTransportConnection,
/* fullBackupRestoreObserver */ null,
packages.toArray(new String[packages.size()]),
/* updateSchedule */ false,
@@ -764,7 +764,7 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
long currentToken = mBackupManagerService.getCurrentToken();
if (mHasDataToBackup && (status == BackupTransport.TRANSPORT_OK) && (currentToken == 0)) {
try {
- IBackupTransport transport = mTransportClient.connectOrThrow(callerLogString);
+ IBackupTransport transport = mTransportConnection.connectOrThrow(callerLogString);
transportName = transport.name();
mBackupManagerService.setCurrentToken(transport.getCurrentRestoreSet());
mBackupManagerService.writeRestoreTokens();
@@ -836,7 +836,7 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
@GuardedBy("mQueueLock")
private void triggerTransportInitializationLocked() throws Exception {
IBackupTransport transport =
- mTransportClient.connectOrThrow("KVBT.triggerTransportInitializationLocked");
+ mTransportConnection.connectOrThrow("KVBT.triggerTransportInitializationLocked");
mBackupManagerService.getPendingInits().add(transport.name());
deletePmStateFile();
mBackupManagerService.backupNow();
@@ -919,7 +919,8 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
}
}
- IBackupTransport transport = mTransportClient.connectOrThrow("KVBT.extractAgentData()");
+ IBackupTransport transport = mTransportConnection.connectOrThrow(
+ "KVBT.extractAgentData()");
long quota = transport.getBackupQuota(packageName, /* isFullBackup */ false);
int transportFlags = transport.getTransportFlags();
@@ -1078,7 +1079,7 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
try (ParcelFileDescriptor backupData =
ParcelFileDescriptor.open(backupDataFile, MODE_READ_ONLY)) {
IBackupTransport transport =
- mTransportClient.connectOrThrow("KVBT.transportPerformBackup()");
+ mTransportConnection.connectOrThrow("KVBT.transportPerformBackup()");
mReporter.onTransportPerformBackup(packageName);
int flags = getPerformBackupFlags(mUserInitiated, nonIncremental);
@@ -1131,7 +1132,7 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
if (agent != null) {
try {
IBackupTransport transport =
- mTransportClient.connectOrThrow("KVBT.agentDoQuotaExceeded()");
+ mTransportConnection.connectOrThrow("KVBT.agentDoQuotaExceeded()");
long quota = transport.getBackupQuota(packageName, false);
remoteCall(
callback -> agent.doQuotaExceeded(size, quota, callback),
@@ -1227,7 +1228,7 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
long delay;
try {
IBackupTransport transport =
- mTransportClient.connectOrThrow("KVBT.revertTask()");
+ mTransportConnection.connectOrThrow("KVBT.revertTask()");
delay = transport.requestBackupTime();
} catch (Exception e) {
mReporter.onTransportRequestBackupTimeError(e);
diff --git a/services/backup/java/com/android/server/backup/params/BackupParams.java b/services/backup/java/com/android/server/backup/params/BackupParams.java
index 800257002f01..c8ed00b003b1 100644
--- a/services/backup/java/com/android/server/backup/params/BackupParams.java
+++ b/services/backup/java/com/android/server/backup/params/BackupParams.java
@@ -20,14 +20,14 @@ import android.app.backup.IBackupManagerMonitor;
import android.app.backup.IBackupObserver;
import com.android.server.backup.internal.OnTaskFinishedListener;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
import com.android.server.backup.utils.BackupEligibilityRules;
import java.util.ArrayList;
public class BackupParams {
- public TransportClient transportClient;
+ public TransportConnection mTransportConnection;
public String dirName;
public ArrayList<String> kvPackages;
public ArrayList<String> fullPackages;
@@ -38,11 +38,11 @@ public class BackupParams {
public boolean nonIncrementalBackup;
public BackupEligibilityRules mBackupEligibilityRules;
- public BackupParams(TransportClient transportClient, String dirName,
+ public BackupParams(TransportConnection transportConnection, String dirName,
ArrayList<String> kvPackages, ArrayList<String> fullPackages, IBackupObserver observer,
IBackupManagerMonitor monitor, OnTaskFinishedListener listener, boolean userInitiated,
boolean nonIncrementalBackup, BackupEligibilityRules backupEligibilityRules) {
- this.transportClient = transportClient;
+ this.mTransportConnection = transportConnection;
this.dirName = dirName;
this.kvPackages = kvPackages;
this.fullPackages = fullPackages;
diff --git a/services/backup/java/com/android/server/backup/params/ClearParams.java b/services/backup/java/com/android/server/backup/params/ClearParams.java
index dc3bba007443..bc3b79b8f2e6 100644
--- a/services/backup/java/com/android/server/backup/params/ClearParams.java
+++ b/services/backup/java/com/android/server/backup/params/ClearParams.java
@@ -19,18 +19,18 @@ package com.android.server.backup.params;
import android.content.pm.PackageInfo;
import com.android.server.backup.internal.OnTaskFinishedListener;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
public class ClearParams {
- public TransportClient transportClient;
+ public TransportConnection mTransportConnection;
public PackageInfo packageInfo;
public OnTaskFinishedListener listener;
public ClearParams(
- TransportClient transportClient,
+ TransportConnection transportConnection,
PackageInfo packageInfo,
OnTaskFinishedListener listener) {
- this.transportClient = transportClient;
+ this.mTransportConnection = transportConnection;
this.packageInfo = packageInfo;
this.listener = listener;
}
diff --git a/services/backup/java/com/android/server/backup/params/RestoreGetSetsParams.java b/services/backup/java/com/android/server/backup/params/RestoreGetSetsParams.java
index 914e9ea7f57c..dbd06ee3c6b2 100644
--- a/services/backup/java/com/android/server/backup/params/RestoreGetSetsParams.java
+++ b/services/backup/java/com/android/server/backup/params/RestoreGetSetsParams.java
@@ -19,22 +19,21 @@ package com.android.server.backup.params;
import android.app.backup.IBackupManagerMonitor;
import android.app.backup.IRestoreObserver;
-import com.android.internal.backup.IBackupTransport;
import com.android.server.backup.internal.OnTaskFinishedListener;
import com.android.server.backup.restore.ActiveRestoreSession;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
public class RestoreGetSetsParams {
- public final TransportClient transportClient;
+ public final TransportConnection mTransportConnection;
public final ActiveRestoreSession session;
public final IRestoreObserver observer;
public final IBackupManagerMonitor monitor;
public final OnTaskFinishedListener listener;
- public RestoreGetSetsParams(TransportClient _transportClient, ActiveRestoreSession _session,
- IRestoreObserver _observer, IBackupManagerMonitor _monitor,
- OnTaskFinishedListener _listener) {
- transportClient = _transportClient;
+ public RestoreGetSetsParams(TransportConnection _transportConnection,
+ ActiveRestoreSession _session, IRestoreObserver _observer,
+ IBackupManagerMonitor _monitor, OnTaskFinishedListener _listener) {
+ mTransportConnection = _transportConnection;
session = _session;
observer = _observer;
monitor = _monitor;
diff --git a/services/backup/java/com/android/server/backup/params/RestoreParams.java b/services/backup/java/com/android/server/backup/params/RestoreParams.java
index a08a1f8d5387..1795a3cb1740 100644
--- a/services/backup/java/com/android/server/backup/params/RestoreParams.java
+++ b/services/backup/java/com/android/server/backup/params/RestoreParams.java
@@ -22,14 +22,11 @@ import android.app.backup.IRestoreObserver;
import android.content.pm.PackageInfo;
import com.android.server.backup.internal.OnTaskFinishedListener;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
import com.android.server.backup.utils.BackupEligibilityRules;
-import java.util.Map;
-import java.util.Set;
-
public class RestoreParams {
- public final TransportClient transportClient;
+ public final TransportConnection mTransportConnection;
public final IRestoreObserver observer;
public final IBackupManagerMonitor monitor;
public final long token;
@@ -44,7 +41,7 @@ public class RestoreParams {
* No kill after restore.
*/
public static RestoreParams createForSinglePackage(
- TransportClient transportClient,
+ TransportConnection transportConnection,
IRestoreObserver observer,
IBackupManagerMonitor monitor,
long token,
@@ -52,7 +49,7 @@ public class RestoreParams {
OnTaskFinishedListener listener,
BackupEligibilityRules eligibilityRules) {
return new RestoreParams(
- transportClient,
+ transportConnection,
observer,
monitor,
token,
@@ -68,7 +65,7 @@ public class RestoreParams {
* Kill after restore.
*/
public static RestoreParams createForRestoreAtInstall(
- TransportClient transportClient,
+ TransportConnection transportConnection,
IRestoreObserver observer,
IBackupManagerMonitor monitor,
long token,
@@ -78,7 +75,7 @@ public class RestoreParams {
BackupEligibilityRules backupEligibilityRules) {
String[] filterSet = {packageName};
return new RestoreParams(
- transportClient,
+ transportConnection,
observer,
monitor,
token,
@@ -94,14 +91,14 @@ public class RestoreParams {
* This is the form that Setup Wizard or similar restore UXes use.
*/
public static RestoreParams createForRestoreAll(
- TransportClient transportClient,
+ TransportConnection transportConnection,
IRestoreObserver observer,
IBackupManagerMonitor monitor,
long token,
OnTaskFinishedListener listener,
BackupEligibilityRules backupEligibilityRules) {
return new RestoreParams(
- transportClient,
+ transportConnection,
observer,
monitor,
token,
@@ -117,7 +114,7 @@ public class RestoreParams {
* Caller specifies whether is considered a system-level restore.
*/
public static RestoreParams createForRestorePackages(
- TransportClient transportClient,
+ TransportConnection transportConnection,
IRestoreObserver observer,
IBackupManagerMonitor monitor,
long token,
@@ -126,7 +123,7 @@ public class RestoreParams {
OnTaskFinishedListener listener,
BackupEligibilityRules backupEligibilityRules) {
return new RestoreParams(
- transportClient,
+ transportConnection,
observer,
monitor,
token,
@@ -139,7 +136,7 @@ public class RestoreParams {
}
private RestoreParams(
- TransportClient transportClient,
+ TransportConnection transportConnection,
IRestoreObserver observer,
IBackupManagerMonitor monitor,
long token,
@@ -149,7 +146,7 @@ public class RestoreParams {
@Nullable String[] filterSet,
OnTaskFinishedListener listener,
BackupEligibilityRules backupEligibilityRules) {
- this.transportClient = transportClient;
+ this.mTransportConnection = transportConnection;
this.observer = observer;
this.monitor = monitor;
this.token = token;
diff --git a/services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java b/services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java
index d0a88813fa5e..8b1d5619a70d 100644
--- a/services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java
+++ b/services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java
@@ -26,7 +26,6 @@ import static com.android.server.backup.internal.BackupHandler.MSG_RUN_RESTORE;
import android.annotation.NonNull;
import android.annotation.Nullable;
-import android.app.backup.BackupManager;
import android.app.backup.IBackupManagerMonitor;
import android.app.backup.IRestoreObserver;
import android.app.backup.IRestoreSession;
@@ -44,7 +43,7 @@ import com.android.server.backup.UserBackupManagerService;
import com.android.server.backup.internal.OnTaskFinishedListener;
import com.android.server.backup.params.RestoreGetSetsParams;
import com.android.server.backup.params.RestoreParams;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
import com.android.server.backup.utils.BackupEligibilityRules;
import java.util.function.BiFunction;
@@ -104,10 +103,10 @@ public class ActiveRestoreSession extends IRestoreSession.Stub {
final long oldId = Binder.clearCallingIdentity();
try {
- TransportClient transportClient =
+ TransportConnection transportConnection =
mTransportManager.getTransportClient(
mTransportName, "RestoreSession.getAvailableRestoreSets()");
- if (transportClient == null) {
+ if (transportConnection == null) {
Slog.w(TAG, "Null transport client getting restore sets");
return -1;
}
@@ -123,12 +122,13 @@ public class ActiveRestoreSession extends IRestoreSession.Stub {
// Prevent lambda from leaking 'this'
TransportManager transportManager = mTransportManager;
OnTaskFinishedListener listener = caller -> {
- transportManager.disposeOfTransportClient(transportClient, caller);
+ transportManager.disposeOfTransportClient(transportConnection, caller);
wakelock.release();
};
Message msg = mBackupManagerService.getBackupHandler().obtainMessage(
MSG_RUN_GET_RESTORE_SETS,
- new RestoreGetSetsParams(transportClient, this, observer, monitor, listener));
+ new RestoreGetSetsParams(transportConnection, this, observer, monitor,
+ listener));
mBackupManagerService.getBackupHandler().sendMessage(msg);
return 0;
} catch (Exception e) {
@@ -399,11 +399,11 @@ public class ActiveRestoreSession extends IRestoreSession.Stub {
* Returns 0 if operation sent or -1 otherwise.
*/
private int sendRestoreToHandlerLocked(
- BiFunction<TransportClient, OnTaskFinishedListener, RestoreParams> restoreParamsBuilder,
- String callerLogString) {
- TransportClient transportClient =
+ BiFunction<TransportConnection, OnTaskFinishedListener,
+ RestoreParams> restoreParamsBuilder, String callerLogString) {
+ TransportConnection transportConnection =
mTransportManager.getTransportClient(mTransportName, callerLogString);
- if (transportClient == null) {
+ if (transportConnection == null) {
Slog.e(TAG, "Transport " + mTransportName + " got unregistered");
return -1;
}
@@ -421,11 +421,11 @@ public class ActiveRestoreSession extends IRestoreSession.Stub {
// Prevent lambda from leaking 'this'
TransportManager transportManager = mTransportManager;
OnTaskFinishedListener listener = caller -> {
- transportManager.disposeOfTransportClient(transportClient, caller);
+ transportManager.disposeOfTransportClient(transportConnection, caller);
wakelock.release();
};
Message msg = backupHandler.obtainMessage(MSG_RUN_RESTORE);
- msg.obj = restoreParamsBuilder.apply(transportClient, listener);
+ msg.obj = restoreParamsBuilder.apply(transportConnection, listener);
backupHandler.sendMessage(msg);
return 0;
}
diff --git a/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java b/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java
index f07bac8cd762..8c786d556518 100644
--- a/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java
+++ b/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java
@@ -66,7 +66,7 @@ import com.android.server.backup.PackageManagerBackupAgent.Metadata;
import com.android.server.backup.TransportManager;
import com.android.server.backup.UserBackupManagerService;
import com.android.server.backup.internal.OnTaskFinishedListener;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
import com.android.server.backup.utils.BackupEligibilityRules;
import com.android.server.backup.utils.BackupManagerMonitorUtils;
@@ -87,7 +87,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
private final int mUserId;
private final TransportManager mTransportManager;
// Transport client we're working with to do the restore
- private final TransportClient mTransportClient;
+ private final TransportConnection mTransportConnection;
// Where per-transport saved state goes
private File mStateDir;
@@ -169,7 +169,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
PerformUnifiedRestoreTask(UserBackupManagerService backupManagerService) {
mListener = null;
mAgentTimeoutParameters = null;
- mTransportClient = null;
+ mTransportConnection = null;
mTransportManager = null;
mEphemeralOpToken = 0;
mUserId = 0;
@@ -181,7 +181,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
// about releasing it.
public PerformUnifiedRestoreTask(
UserBackupManagerService backupManagerService,
- TransportClient transportClient,
+ TransportConnection transportConnection,
IRestoreObserver observer,
IBackupManagerMonitor monitor,
long restoreSetToken,
@@ -198,7 +198,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
mState = UnifiedRestoreState.INITIAL;
mStartRealtime = SystemClock.elapsedRealtime();
- mTransportClient = transportClient;
+ mTransportConnection = transportConnection;
mObserver = observer;
mMonitor = monitor;
mToken = restoreSetToken;
@@ -386,7 +386,8 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
try {
String transportDirName =
- mTransportManager.getTransportDirName(mTransportClient.getTransportComponent());
+ mTransportManager.getTransportDirName(
+ mTransportConnection.getTransportComponent());
mStateDir = new File(backupManagerService.getBaseStateDir(), transportDirName);
// Fetch the current metadata from the dataset first
@@ -397,7 +398,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
PackageInfo[] packages = mAcceptSet.toArray(new PackageInfo[0]);
IBackupTransport transport =
- mTransportClient.connectOrThrow("PerformUnifiedRestoreTask.startRestore()");
+ mTransportConnection.connectOrThrow("PerformUnifiedRestoreTask.startRestore()");
mStatus = transport.startRestore(mToken, packages);
if (mStatus != BackupTransport.TRANSPORT_OK) {
@@ -495,7 +496,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
UnifiedRestoreState nextState = UnifiedRestoreState.FINAL;
try {
IBackupTransport transport =
- mTransportClient.connectOrThrow(
+ mTransportConnection.connectOrThrow(
"PerformUnifiedRestoreTask.dispatchNextRestore()");
mRestoreDescription = transport.nextRestorePackage();
final String pkgName = (mRestoreDescription != null)
@@ -709,7 +710,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
try {
IBackupTransport transport =
- mTransportClient.connectOrThrow(
+ mTransportConnection.connectOrThrow(
"PerformUnifiedRestoreTask.initiateOneRestore()");
// Run the transport's restore pass
@@ -939,7 +940,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
String callerLogString = "PerformUnifiedRestoreTask$StreamFeederThread.run()";
try {
- IBackupTransport transport = mTransportClient.connectOrThrow(callerLogString);
+ IBackupTransport transport = mTransportConnection.connectOrThrow(callerLogString);
while (status == BackupTransport.TRANSPORT_OK) {
// have the transport write some of the restoring data to us
int result = transport.getNextFullRestoreDataChunk(tWriteEnd);
@@ -1032,7 +1033,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
// level is immaterial; we need to tell the transport to bail
try {
IBackupTransport transport =
- mTransportClient.connectOrThrow(callerLogString);
+ mTransportConnection.connectOrThrow(callerLogString);
transport.abortFullRestore();
} catch (Exception e) {
// transport itself is dead; make sure we handle this as a
@@ -1095,7 +1096,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
String callerLogString = "PerformUnifiedRestoreTask.finalizeRestore()";
try {
IBackupTransport transport =
- mTransportClient.connectOrThrow(callerLogString);
+ mTransportConnection.connectOrThrow(callerLogString);
transport.finishRestore();
} catch (Exception e) {
Slog.e(TAG, "Error finishing restore", e);
diff --git a/services/backup/java/com/android/server/backup/utils/BackupEligibilityRules.java b/services/backup/java/com/android/server/backup/utils/BackupEligibilityRules.java
index bfb6f65374de..652386f13bea 100644
--- a/services/backup/java/com/android/server/backup/utils/BackupEligibilityRules.java
+++ b/services/backup/java/com/android/server/backup/utils/BackupEligibilityRules.java
@@ -42,11 +42,10 @@ import android.util.Slog;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.backup.IBackupTransport;
import com.android.internal.util.ArrayUtils;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
import com.google.android.collect.Sets;
-import java.util.Objects;
import java.util.Set;
/**
@@ -225,7 +224,7 @@ public class BackupEligibilityRules {
* </ol>
*/
public boolean appIsRunningAndEligibleForBackupWithTransport(
- @Nullable TransportClient transportClient,
+ @Nullable TransportConnection transportConnection,
String packageName) {
try {
PackageInfo packageInfo = mPackageManager.getPackageInfoAsUser(packageName,
@@ -236,10 +235,10 @@ public class BackupEligibilityRules {
|| appIsDisabled(applicationInfo)) {
return false;
}
- if (transportClient != null) {
+ if (transportConnection != null) {
try {
IBackupTransport transport =
- transportClient.connectOrThrow(
+ transportConnection.connectOrThrow(
"AppBackupUtils.appIsRunningAndEligibleForBackupWithTransport");
return transport.isAppEligibleForBackup(
packageInfo, appGetsFullBackup(packageInfo));
diff --git a/services/robotests/backup/src/com/android/server/backup/TransportManagerTest.java b/services/robotests/backup/src/com/android/server/backup/TransportManagerTest.java
index 42115d437ee0..b7f8c00896d4 100644
--- a/services/robotests/backup/src/com/android/server/backup/TransportManagerTest.java
+++ b/services/robotests/backup/src/com/android/server/backup/TransportManagerTest.java
@@ -55,8 +55,8 @@ import android.platform.test.annotations.Presubmit;
import com.android.server.backup.testing.TransportData;
import com.android.server.backup.testing.TransportTestUtils.TransportMock;
import com.android.server.backup.transport.OnTransportRegisteredListener;
-import com.android.server.backup.transport.TransportClient;
-import com.android.server.backup.transport.TransportClientManager;
+import com.android.server.backup.transport.TransportConnection;
+import com.android.server.backup.transport.TransportConnectionManager;
import com.android.server.backup.transport.TransportNotRegisteredException;
import com.android.server.testing.shadows.ShadowApplicationPackageManager;
@@ -85,7 +85,7 @@ public class TransportManagerTest {
private static final String PACKAGE_B = "some.package.b";
@Mock private OnTransportRegisteredListener mListener;
- @Mock private TransportClientManager mTransportClientManager;
+ @Mock private TransportConnectionManager mTransportConnectionManager;
private TransportData mTransportA1;
private TransportData mTransportA2;
private TransportData mTransportB1;
@@ -206,7 +206,7 @@ public class TransportManagerTest {
transportManager.registerTransports();
- verify(mTransportClientManager)
+ verify(mTransportConnectionManager)
.getTransportClient(
eq(mTransportA1.getTransportComponent()),
argThat(
@@ -433,10 +433,10 @@ public class TransportManagerTest {
TransportManager transportManager =
createTransportManagerWithRegisteredTransports(mTransportA1, mTransportA2);
- TransportClient transportClient =
+ TransportConnection transportConnection =
transportManager.getTransportClient(mTransportA1.transportName, "caller");
- assertThat(transportClient.getTransportComponent())
+ assertThat(transportConnection.getTransportComponent())
.isEqualTo(mTransportA1.getTransportComponent());
}
@@ -453,10 +453,10 @@ public class TransportManagerTest {
null,
null);
- TransportClient transportClient =
+ TransportConnection transportConnection =
transportManager.getTransportClient(mTransportA1.transportName, "caller");
- assertThat(transportClient).isNull();
+ assertThat(transportConnection).isNull();
}
@Test
@@ -471,9 +471,10 @@ public class TransportManagerTest {
null,
null);
- TransportClient transportClient = transportManager.getTransportClient("newName", "caller");
+ TransportConnection transportConnection = transportManager.getTransportClient(
+ "newName", "caller");
- assertThat(transportClient.getTransportComponent())
+ assertThat(transportConnection.getTransportComponent())
.isEqualTo(mTransportA1.getTransportComponent());
}
@@ -482,9 +483,10 @@ public class TransportManagerTest {
TransportManager transportManager =
createTransportManagerWithRegisteredTransports(mTransportA1, mTransportA2);
- TransportClient transportClient = transportManager.getCurrentTransportClient("caller");
+ TransportConnection transportConnection = transportManager.getCurrentTransportClient(
+ "caller");
- assertThat(transportClient.getTransportComponent())
+ assertThat(transportConnection.getTransportComponent())
.isEqualTo(mTransportA1.getTransportComponent());
}
@@ -660,12 +662,12 @@ public class TransportManagerTest {
List<TransportMock> transportMocks = new ArrayList<>(transports.length);
for (TransportData transport : transports) {
TransportMock transportMock = mockTransport(transport);
- when(mTransportClientManager.getTransportClient(
+ when(mTransportConnectionManager.getTransportClient(
eq(transport.getTransportComponent()), any()))
- .thenReturn(transportMock.transportClient);
- when(mTransportClientManager.getTransportClient(
+ .thenReturn(transportMock.mTransportConnection);
+ when(mTransportConnectionManager.getTransportClient(
eq(transport.getTransportComponent()), any(), any()))
- .thenReturn(transportMock.transportClient);
+ .thenReturn(transportMock.mTransportConnection);
transportMocks.add(transportMock);
}
return transportMocks;
@@ -706,7 +708,7 @@ public class TransportManagerTest {
.map(TransportData::getTransportComponent)
.collect(toSet()),
selectedTransport != null ? selectedTransport.transportName : null,
- mTransportClientManager);
+ mTransportConnectionManager);
transportManager.setOnTransportRegisteredListener(mListener);
return transportManager;
}
diff --git a/services/robotests/backup/src/com/android/server/backup/UserBackupManagerServiceTest.java b/services/robotests/backup/src/com/android/server/backup/UserBackupManagerServiceTest.java
index 06d51a4be920..297538ad7b4b 100644
--- a/services/robotests/backup/src/com/android/server/backup/UserBackupManagerServiceTest.java
+++ b/services/robotests/backup/src/com/android/server/backup/UserBackupManagerServiceTest.java
@@ -243,7 +243,7 @@ public class UserBackupManagerServiceTest {
assertThat(result).isTrue();
verify(mTransportManager)
- .disposeOfTransportClient(eq(transportMock.transportClient), any());
+ .disposeOfTransportClient(eq(transportMock.mTransportConnection), any());
}
/**
@@ -282,7 +282,7 @@ public class UserBackupManagerServiceTest {
assertThat(filtered).asList().containsExactly(PACKAGE_1);
verify(mTransportManager)
- .disposeOfTransportClient(eq(transportMock.transportClient), any());
+ .disposeOfTransportClient(eq(transportMock.mTransportConnection), any());
}
/**
@@ -357,7 +357,7 @@ public class UserBackupManagerServiceTest {
assertThat(getSettingsTransport()).isEqualTo(mNewTransport.transportName);
assertThat(oldTransport).isEqualTo(mOldTransport.transportName);
verify(mTransportManager)
- .disposeOfTransportClient(eq(mNewTransportMock.transportClient), any());
+ .disposeOfTransportClient(eq(mNewTransportMock.mTransportConnection), any());
}
/**
@@ -395,7 +395,7 @@ public class UserBackupManagerServiceTest {
assertThat(getSettingsTransport()).isEqualTo(mNewTransport.transportName);
verify(callback).onSuccess(eq(mNewTransport.transportName));
verify(mTransportManager)
- .disposeOfTransportClient(eq(mNewTransportMock.transportClient), any());
+ .disposeOfTransportClient(eq(mNewTransportMock.mTransportConnection), any());
}
/**
diff --git a/services/robotests/backup/src/com/android/server/backup/internal/PerformInitializeTaskTest.java b/services/robotests/backup/src/com/android/server/backup/internal/PerformInitializeTaskTest.java
index a14cc51a3ab6..bf4eeae4b4b2 100644
--- a/services/robotests/backup/src/com/android/server/backup/internal/PerformInitializeTaskTest.java
+++ b/services/robotests/backup/src/com/android/server/backup/internal/PerformInitializeTaskTest.java
@@ -50,7 +50,7 @@ import com.android.server.backup.UserBackupManagerService;
import com.android.server.backup.testing.TransportData;
import com.android.server.backup.testing.TransportTestUtils;
import com.android.server.backup.testing.TransportTestUtils.TransportMock;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
import com.android.server.testing.shadows.ShadowSlog;
import org.junit.Before;
@@ -285,7 +285,7 @@ public class PerformInitializeTaskTest {
TransportData transport = transportsIterator.next();
verify(mTransportManager).getTransportClient(eq(transport.transportName), any());
verify(mTransportManager)
- .disposeOfTransportClient(eq(transportMock.transportClient), any());
+ .disposeOfTransportClient(eq(transportMock.mTransportConnection), any());
}
}
@@ -303,9 +303,9 @@ public class PerformInitializeTaskTest {
performInitializeTask.run();
verify(mTransportManager)
- .disposeOfTransportClient(eq(transportMocks.get(0).transportClient), any());
+ .disposeOfTransportClient(eq(transportMocks.get(0).mTransportConnection), any());
verify(mTransportManager)
- .disposeOfTransportClient(eq(transportMocks.get(1).transportClient), any());
+ .disposeOfTransportClient(eq(transportMocks.get(1).mTransportConnection), any());
}
@Test
@@ -328,14 +328,16 @@ public class PerformInitializeTaskTest {
setUpTransports(mTransportManager, transport1, transport2);
String registeredTransportName = transport2.transportName;
IBackupTransport registeredTransport = transportMocks.get(1).transport;
- TransportClient registeredTransportClient = transportMocks.get(1).transportClient;
+ TransportConnection
+ registeredTransportConnection = transportMocks.get(1).mTransportConnection;
PerformInitializeTask performInitializeTask =
createPerformInitializeTask(transport1.transportName, transport2.transportName);
performInitializeTask.run();
verify(registeredTransport).initializeDevice();
- verify(mTransportManager).disposeOfTransportClient(eq(registeredTransportClient), any());
+ verify(mTransportManager).disposeOfTransportClient(eq(registeredTransportConnection),
+ any());
verify(mObserver).onResult(eq(registeredTransportName), eq(TRANSPORT_OK));
}
@@ -347,7 +349,7 @@ public class PerformInitializeTaskTest {
performInitializeTask.run();
verify(mTransportManager)
- .disposeOfTransportClient(eq(transportMock.transportClient), any());
+ .disposeOfTransportClient(eq(transportMock.mTransportConnection), any());
verify(mObserver).backupFinished(eq(TRANSPORT_ERROR));
verify(mListener).onFinished(any());
}
@@ -356,13 +358,13 @@ public class PerformInitializeTaskTest {
public void testRun_whenTransportThrowsDeadObjectException() throws Exception {
TransportMock transportMock = setUpTransport(mTransport);
IBackupTransport transport = transportMock.transport;
- TransportClient transportClient = transportMock.transportClient;
+ TransportConnection transportConnection = transportMock.mTransportConnection;
when(transport.initializeDevice()).thenThrow(DeadObjectException.class);
PerformInitializeTask performInitializeTask = createPerformInitializeTask(mTransportName);
performInitializeTask.run();
- verify(mTransportManager).disposeOfTransportClient(eq(transportClient), any());
+ verify(mTransportManager).disposeOfTransportClient(eq(transportConnection), any());
verify(mObserver).backupFinished(eq(TRANSPORT_ERROR));
verify(mListener).onFinished(any());
}
diff --git a/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java b/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java
index 7d17109af7d3..fd295c0739cf 100644
--- a/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java
+++ b/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java
@@ -2665,7 +2665,7 @@ public class KeyValueBackupTaskTest {
KeyValueBackupTask task =
new KeyValueBackupTask(
mBackupManagerService,
- transportMock.transportClient,
+ transportMock.mTransportConnection,
transportMock.transportData.transportDirName,
queue,
mOldJournal,
diff --git a/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java b/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java
index 5883c1cb5995..9eb99aed2ba8 100644
--- a/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java
+++ b/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java
@@ -202,7 +202,7 @@ public class ActiveRestoreSessionTest {
verify(mObserver)
.restoreSetsAvailable(aryEq(new RestoreSet[] {mRestoreSet1, mRestoreSet2}));
verify(mTransportManager)
- .disposeOfTransportClient(eq(transportMock.transportClient), any());
+ .disposeOfTransportClient(eq(transportMock.mTransportConnection), any());
assertThat(mWakeLock.isHeld()).isFalse();
}
@@ -235,7 +235,7 @@ public class ActiveRestoreSessionTest {
verify(mObserver).restoreSetsAvailable(isNull());
assertEventLogged(EventLogTags.RESTORE_TRANSPORT_FAILURE);
verify(mTransportManager)
- .disposeOfTransportClient(eq(transportMock.transportClient), any());
+ .disposeOfTransportClient(eq(transportMock.mTransportConnection), any());
assertThat(mWakeLock.isHeld()).isFalse();
}
@@ -253,7 +253,7 @@ public class ActiveRestoreSessionTest {
mShadowBackupLooper.runToEndOfTasks();
assertThat(result).isEqualTo(0);
verify(mTransportManager)
- .disposeOfTransportClient(eq(transportMock.transportClient), any());
+ .disposeOfTransportClient(eq(transportMock.mTransportConnection), any());
assertThat(mWakeLock.isHeld()).isFalse();
assertThat(mBackupManagerService.isRestoreInProgress()).isFalse();
// Verify it created the task properly
@@ -341,7 +341,7 @@ public class ActiveRestoreSessionTest {
mShadowBackupLooper.runToEndOfTasks();
assertThat(result).isEqualTo(0);
verify(mTransportManager)
- .disposeOfTransportClient(eq(transportMock.transportClient), any());
+ .disposeOfTransportClient(eq(transportMock.mTransportConnection), any());
assertThat(mWakeLock.isHeld()).isFalse();
assertThat(mBackupManagerService.isRestoreInProgress()).isFalse();
ShadowPerformUnifiedRestoreTask shadowTask =
@@ -463,7 +463,7 @@ public class ActiveRestoreSessionTest {
mShadowBackupLooper.runToEndOfTasks();
assertThat(result).isEqualTo(0);
verify(mTransportManager)
- .disposeOfTransportClient(eq(transportMock.transportClient), any());
+ .disposeOfTransportClient(eq(transportMock.mTransportConnection), any());
assertThat(mWakeLock.isHeld()).isFalse();
assertThat(mBackupManagerService.isRestoreInProgress()).isFalse();
ShadowPerformUnifiedRestoreTask shadowTask =
diff --git a/services/robotests/backup/src/com/android/server/backup/testing/TransportTestUtils.java b/services/robotests/backup/src/com/android/server/backup/testing/TransportTestUtils.java
index 7dd5be53157b..ce44f067aeaa 100644
--- a/services/robotests/backup/src/com/android/server/backup/testing/TransportTestUtils.java
+++ b/services/robotests/backup/src/com/android/server/backup/testing/TransportTestUtils.java
@@ -36,7 +36,7 @@ import android.os.RemoteException;
import com.android.internal.backup.IBackupTransport;
import com.android.server.backup.TransportManager;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
import com.android.server.backup.transport.TransportNotAvailableException;
import com.android.server.backup.transport.TransportNotRegisteredException;
@@ -91,9 +91,9 @@ public class TransportTestUtils {
|| status == TransportStatus.REGISTERED_UNAVAILABLE) {
// Transport registered
when(transportManager.getCurrentTransportClient(any()))
- .thenReturn(transportMock.transportClient);
+ .thenReturn(transportMock.mTransportConnection);
when(transportManager.getCurrentTransportClientOrThrow(any()))
- .thenReturn(transportMock.transportClient);
+ .thenReturn(transportMock.mTransportConnection);
} else {
// Transport not registered
when(transportManager.getCurrentTransportClient(any())).thenReturn(null);
@@ -123,9 +123,9 @@ public class TransportTestUtils {
|| status == TransportStatus.REGISTERED_UNAVAILABLE) {
// Transport registered
when(transportManager.getTransportClient(eq(transportName), any()))
- .thenReturn(transportMock.transportClient);
+ .thenReturn(transportMock.mTransportConnection);
when(transportManager.getTransportClientOrThrow(eq(transportName), any()))
- .thenReturn(transportMock.transportClient);
+ .thenReturn(transportMock.mTransportConnection);
when(transportManager.getTransportName(transportComponent)).thenReturn(transportName);
when(transportManager.getTransportDirName(eq(transportName)))
.thenReturn(transportDirName);
@@ -150,28 +150,28 @@ public class TransportTestUtils {
}
public static TransportMock mockTransport(TransportData transport) throws Exception {
- final TransportClient transportClientMock;
+ final TransportConnection transportConnectionMock;
int status = transport.transportStatus;
ComponentName transportComponent = transport.getTransportComponent();
if (status == TransportStatus.REGISTERED_AVAILABLE
|| status == TransportStatus.REGISTERED_UNAVAILABLE) {
// Transport registered
- transportClientMock = mock(TransportClient.class);
- when(transportClientMock.getTransportComponent()).thenReturn(transportComponent);
+ transportConnectionMock = mock(TransportConnection.class);
+ when(transportConnectionMock.getTransportComponent()).thenReturn(transportComponent);
if (status == TransportStatus.REGISTERED_AVAILABLE) {
// Transport registered and available
IBackupTransport transportMock = mockTransportBinder(transport);
- when(transportClientMock.connectOrThrow(any())).thenReturn(transportMock);
- when(transportClientMock.connect(any())).thenReturn(transportMock);
+ when(transportConnectionMock.connectOrThrow(any())).thenReturn(transportMock);
+ when(transportConnectionMock.connect(any())).thenReturn(transportMock);
- return new TransportMock(transport, transportClientMock, transportMock);
+ return new TransportMock(transport, transportConnectionMock, transportMock);
} else {
// Transport registered but unavailable
- when(transportClientMock.connectOrThrow(any()))
+ when(transportConnectionMock.connectOrThrow(any()))
.thenThrow(TransportNotAvailableException.class);
- when(transportClientMock.connect(any())).thenReturn(null);
+ when(transportConnectionMock.connect(any())).thenReturn(null);
- return new TransportMock(transport, transportClientMock, null);
+ return new TransportMock(transport, transportConnectionMock, null);
}
} else {
// Transport not registered
@@ -198,15 +198,15 @@ public class TransportTestUtils {
public static class TransportMock {
public final TransportData transportData;
- @Nullable public final TransportClient transportClient;
+ @Nullable public final TransportConnection mTransportConnection;
@Nullable public final IBackupTransport transport;
private TransportMock(
TransportData transportData,
- @Nullable TransportClient transportClient,
+ @Nullable TransportConnection transportConnection,
@Nullable IBackupTransport transport) {
this.transportData = transportData;
- this.transportClient = transportClient;
+ this.mTransportConnection = transportConnection;
this.transport = transport;
}
}
diff --git a/services/robotests/backup/src/com/android/server/backup/transport/TransportClientManagerTest.java b/services/robotests/backup/src/com/android/server/backup/transport/TransportConnectionManagerTest.java
index f033af8a9b63..102f594003fa 100644
--- a/services/robotests/backup/src/com/android/server/backup/transport/TransportClientManagerTest.java
+++ b/services/robotests/backup/src/com/android/server/backup/transport/TransportConnectionManagerTest.java
@@ -44,14 +44,14 @@ import org.robolectric.RobolectricTestRunner;
@RunWith(RobolectricTestRunner.class)
@Presubmit
-public class TransportClientManagerTest {
+public class TransportConnectionManagerTest {
private static final String PACKAGE_NAME = "random.package.name";
private static final String CLASS_NAME = "random.package.name.transport.Transport";
@Mock private Context mContext;
@Mock private TransportConnectionListener mTransportConnectionListener;
private @UserIdInt int mUserId;
- private TransportClientManager mTransportClientManager;
+ private TransportConnectionManager mTransportConnectionManager;
private ComponentName mTransportComponent;
private Intent mBindIntent;
@@ -60,8 +60,8 @@ public class TransportClientManagerTest {
MockitoAnnotations.initMocks(this);
mUserId = UserHandle.USER_SYSTEM;
- mTransportClientManager =
- new TransportClientManager(mUserId, mContext, new TransportStats());
+ mTransportConnectionManager =
+ new TransportConnectionManager(mUserId, mContext, new TransportStats());
mTransportComponent = new ComponentName(PACKAGE_NAME, CLASS_NAME);
mBindIntent = new Intent(SERVICE_ACTION_TRANSPORT_HOST).setComponent(mTransportComponent);
@@ -75,11 +75,11 @@ public class TransportClientManagerTest {
@Test
public void testGetTransportClient() {
- TransportClient transportClient =
- mTransportClientManager.getTransportClient(mTransportComponent, "caller");
+ TransportConnection transportConnection =
+ mTransportConnectionManager.getTransportClient(mTransportComponent, "caller");
// Connect to be able to extract the intent
- transportClient.connectAsync(mTransportConnectionListener, "caller");
+ transportConnection.connectAsync(mTransportConnectionListener, "caller");
verify(mContext)
.bindServiceAsUser(
argThat(matchesIntentAndExtras(mBindIntent)),
@@ -93,10 +93,11 @@ public class TransportClientManagerTest {
Bundle extras = new Bundle();
extras.putBoolean("random_extra", true);
- TransportClient transportClient =
- mTransportClientManager.getTransportClient(mTransportComponent, extras, "caller");
+ TransportConnection transportConnection =
+ mTransportConnectionManager.getTransportClient(mTransportComponent, extras,
+ "caller");
- transportClient.connectAsync(mTransportConnectionListener, "caller");
+ transportConnection.connectAsync(mTransportConnectionListener, "caller");
mBindIntent.putExtras(extras);
verify(mContext)
.bindServiceAsUser(
@@ -108,13 +109,13 @@ public class TransportClientManagerTest {
@Test
public void testDisposeOfTransportClient() {
- TransportClient transportClient =
- spy(mTransportClientManager.getTransportClient(mTransportComponent, "caller"));
+ TransportConnection transportConnection =
+ spy(mTransportConnectionManager.getTransportClient(mTransportComponent, "caller"));
- mTransportClientManager.disposeOfTransportClient(transportClient, "caller");
+ mTransportConnectionManager.disposeOfTransportClient(transportConnection, "caller");
- verify(transportClient).unbind(any());
- verify(transportClient).markAsDisposed();
+ verify(transportConnection).unbind(any());
+ verify(transportConnection).markAsDisposed();
}
private ArgumentMatcher<Intent> matchesIntentAndExtras(Intent expectedIntent) {
diff --git a/services/robotests/backup/src/com/android/server/backup/transport/TransportClientTest.java b/services/robotests/backup/src/com/android/server/backup/transport/TransportConnectionTest.java
index 392f2ca9490e..de4aec61aef2 100644
--- a/services/robotests/backup/src/com/android/server/backup/transport/TransportClientTest.java
+++ b/services/robotests/backup/src/com/android/server/backup/transport/TransportConnectionTest.java
@@ -77,7 +77,7 @@ import java.util.function.Supplier;
FrameworkShadowLooper.class
})
@Presubmit
-public class TransportClientTest {
+public class TransportConnectionTest {
private static final String PACKAGE_NAME = "some.package.name";
@Mock private Context mContext;
@@ -86,7 +86,7 @@ public class TransportClientTest {
@Mock private IBackupTransport.Stub mTransportBinder;
@UserIdInt private int mUserId;
private TransportStats mTransportStats;
- private TransportClient mTransportClient;
+ private TransportConnection mTransportConnection;
private ComponentName mTransportComponent;
private String mTransportString;
private Intent mBindIntent;
@@ -106,8 +106,8 @@ public class TransportClientTest {
mTransportString = mTransportComponent.flattenToShortString();
mTransportStats = new TransportStats();
mBindIntent = new Intent(SERVICE_ACTION_TRANSPORT_HOST).setComponent(mTransportComponent);
- mTransportClient =
- new TransportClient(
+ mTransportConnection =
+ new TransportConnection(
mUserId,
mContext,
mTransportStats,
@@ -132,12 +132,12 @@ public class TransportClientTest {
@Test
public void testGetTransportComponent_returnsTransportComponent() {
- assertThat(mTransportClient.getTransportComponent()).isEqualTo(mTransportComponent);
+ assertThat(mTransportConnection.getTransportComponent()).isEqualTo(mTransportComponent);
}
@Test
public void testConnectAsync_callsBindService() {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller");
verify(mContext)
.bindServiceAsUser(
@@ -149,42 +149,42 @@ public class TransportClientTest {
@Test
public void testConnectAsync_callsListenerWhenConnected() {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
connection.onServiceConnected(mTransportComponent, mTransportBinder);
mShadowMainLooper.runToEndOfTasks();
verify(mTransportConnectionListener)
- .onTransportConnectionResult(any(IBackupTransport.class), eq(mTransportClient));
+ .onTransportConnectionResult(any(IBackupTransport.class), eq(mTransportConnection));
}
@Test
public void testConnectAsync_whenPendingConnection_callsAllListenersWhenConnected() {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
- mTransportClient.connectAsync(mTransportConnectionListener2, "caller2");
+ mTransportConnection.connectAsync(mTransportConnectionListener2, "caller2");
connection.onServiceConnected(mTransportComponent, mTransportBinder);
mShadowMainLooper.runToEndOfTasks();
verify(mTransportConnectionListener)
- .onTransportConnectionResult(any(IBackupTransport.class), eq(mTransportClient));
+ .onTransportConnectionResult(any(IBackupTransport.class), eq(mTransportConnection));
verify(mTransportConnectionListener2)
- .onTransportConnectionResult(any(IBackupTransport.class), eq(mTransportClient));
+ .onTransportConnectionResult(any(IBackupTransport.class), eq(mTransportConnection));
}
@Test
public void testConnectAsync_whenAlreadyConnected_callsListener() {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
connection.onServiceConnected(mTransportComponent, mTransportBinder);
- mTransportClient.connectAsync(mTransportConnectionListener2, "caller2");
+ mTransportConnection.connectAsync(mTransportConnectionListener2, "caller2");
mShadowMainLooper.runToEndOfTasks();
verify(mTransportConnectionListener2)
- .onTransportConnectionResult(any(IBackupTransport.class), eq(mTransportClient));
+ .onTransportConnectionResult(any(IBackupTransport.class), eq(mTransportConnection));
}
@Test
@@ -196,11 +196,11 @@ public class TransportClientTest {
any(UserHandle.class)))
.thenReturn(false);
- mTransportClient.connectAsync(mTransportConnectionListener, "caller");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller");
mShadowMainLooper.runToEndOfTasks();
verify(mTransportConnectionListener)
- .onTransportConnectionResult(isNull(), eq(mTransportClient));
+ .onTransportConnectionResult(isNull(), eq(mTransportConnection));
}
@Test
@@ -212,7 +212,7 @@ public class TransportClientTest {
any(UserHandle.class)))
.thenReturn(false);
- mTransportClient.connectAsync(mTransportConnectionListener, "caller");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
verify(mContext).unbindService(eq(connection));
@@ -220,64 +220,64 @@ public class TransportClientTest {
@Test
public void testConnectAsync_afterOnServiceDisconnectedBeforeNewConnection_callsListener() {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
connection.onServiceConnected(mTransportComponent, mTransportBinder);
connection.onServiceDisconnected(mTransportComponent);
- mTransportClient.connectAsync(mTransportConnectionListener2, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener2, "caller1");
verify(mTransportConnectionListener2)
- .onTransportConnectionResult(isNull(), eq(mTransportClient));
+ .onTransportConnectionResult(isNull(), eq(mTransportConnection));
}
@Test
public void testConnectAsync_afterOnServiceDisconnectedAfterNewConnection_callsListener() {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
connection.onServiceConnected(mTransportComponent, mTransportBinder);
connection.onServiceDisconnected(mTransportComponent);
connection.onServiceConnected(mTransportComponent, mTransportBinder);
- mTransportClient.connectAsync(mTransportConnectionListener2, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener2, "caller1");
// Yes, it should return null because the object became unusable, check design doc
verify(mTransportConnectionListener2)
- .onTransportConnectionResult(isNull(), eq(mTransportClient));
+ .onTransportConnectionResult(isNull(), eq(mTransportConnection));
}
@Test
public void testConnectAsync_callsListenerIfBindingDies() {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
connection.onBindingDied(mTransportComponent);
mShadowMainLooper.runToEndOfTasks();
verify(mTransportConnectionListener)
- .onTransportConnectionResult(isNull(), eq(mTransportClient));
+ .onTransportConnectionResult(isNull(), eq(mTransportConnection));
}
@Test
public void testConnectAsync_whenPendingConnection_callsListenersIfBindingDies() {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
- mTransportClient.connectAsync(mTransportConnectionListener2, "caller2");
+ mTransportConnection.connectAsync(mTransportConnectionListener2, "caller2");
connection.onBindingDied(mTransportComponent);
mShadowMainLooper.runToEndOfTasks();
verify(mTransportConnectionListener)
- .onTransportConnectionResult(isNull(), eq(mTransportClient));
+ .onTransportConnectionResult(isNull(), eq(mTransportConnection));
verify(mTransportConnectionListener2)
- .onTransportConnectionResult(isNull(), eq(mTransportClient));
+ .onTransportConnectionResult(isNull(), eq(mTransportConnection));
}
@Test
public void testConnectAsync_beforeFrameworkCall_logsBoundTransitionEvent() {
ShadowEventLog.setUp();
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
assertEventLogged(EventLogTags.BACKUP_TRANSPORT_LIFECYCLE, mTransportString, 1);
}
@@ -285,7 +285,7 @@ public class TransportClientTest {
@Test
public void testConnectAsync_afterOnServiceConnected_logsBoundAndConnectedTransitionEvents() {
ShadowEventLog.setUp();
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
connection.onServiceConnected(mTransportComponent, mTransportBinder);
@@ -297,7 +297,7 @@ public class TransportClientTest {
@Test
public void testConnectAsync_afterOnBindingDied_logsBoundAndUnboundTransitionEvents() {
ShadowEventLog.setUp();
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
connection.onBindingDied(mTransportComponent);
@@ -308,37 +308,37 @@ public class TransportClientTest {
@Test
public void testConnect_whenConnected_returnsTransport() throws Exception {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
connection.onServiceConnected(mTransportComponent, mTransportBinder);
IBackupTransport transportBinder =
- runInWorkerThread(() -> mTransportClient.connect("caller2"));
+ runInWorkerThread(() -> mTransportConnection.connect("caller2"));
assertThat(transportBinder).isNotNull();
}
@Test
public void testConnect_afterOnServiceDisconnected_returnsNull() throws Exception {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
connection.onServiceConnected(mTransportComponent, mTransportBinder);
connection.onServiceDisconnected(mTransportComponent);
IBackupTransport transportBinder =
- runInWorkerThread(() -> mTransportClient.connect("caller2"));
+ runInWorkerThread(() -> mTransportConnection.connect("caller2"));
assertThat(transportBinder).isNull();
}
@Test
public void testConnect_afterOnBindingDied_returnsNull() throws Exception {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
connection.onBindingDied(mTransportComponent);
IBackupTransport transportBinder =
- runInWorkerThread(() -> mTransportClient.connect("caller2"));
+ runInWorkerThread(() -> mTransportConnection.connect("caller2"));
assertThat(transportBinder).isNull();
}
@@ -350,30 +350,31 @@ public class TransportClientTest {
// reentrant lock can't be acquired by the listener at the call-site of bindServiceAsUser(),
// which is what would happened if we mocked bindServiceAsUser() to call the listener
// inline.
- TransportClient transportClient = spy(mTransportClient);
+ TransportConnection transportConnection = spy(mTransportConnection);
doAnswer(
invocation -> {
TransportConnectionListener listener = invocation.getArgument(0);
- listener.onTransportConnectionResult(mTransportBinder, transportClient);
+ listener.onTransportConnectionResult(mTransportBinder,
+ transportConnection);
return null;
})
- .when(transportClient)
+ .when(transportConnection)
.connectAsync(any(), any());
IBackupTransport transportBinder =
- runInWorkerThread(() -> transportClient.connect("caller"));
+ runInWorkerThread(() -> transportConnection.connect("caller"));
assertThat(transportBinder).isNotNull();
}
@Test
public void testUnbind_whenConnected_logsDisconnectedAndUnboundTransitionEvents() {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
connection.onServiceConnected(mTransportComponent, mTransportBinder);
ShadowEventLog.setUp();
- mTransportClient.unbind("caller1");
+ mTransportConnection.unbind("caller1");
assertEventLogged(EventLogTags.BACKUP_TRANSPORT_CONNECTION, mTransportString, 0);
assertEventLogged(EventLogTags.BACKUP_TRANSPORT_LIFECYCLE, mTransportString, 0);
@@ -382,7 +383,7 @@ public class TransportClientTest {
@Test
public void
testOnServiceDisconnected_whenConnected_logsDisconnectedAndUnboundTransitionEvents() {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
connection.onServiceConnected(mTransportComponent, mTransportBinder);
ShadowEventLog.setUp();
@@ -395,7 +396,7 @@ public class TransportClientTest {
@Test
public void testOnBindingDied_whenConnected_logsDisconnectedAndUnboundTransitionEvents() {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
connection.onServiceConnected(mTransportComponent, mTransportBinder);
ShadowEventLog.setUp();
@@ -408,60 +409,60 @@ public class TransportClientTest {
@Test
public void testMarkAsDisposed_whenCreated() {
- mTransportClient.markAsDisposed();
+ mTransportConnection.markAsDisposed();
// No exception thrown
}
@Test
public void testMarkAsDisposed_afterOnBindingDied() {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
connection.onBindingDied(mTransportComponent);
- mTransportClient.markAsDisposed();
+ mTransportConnection.markAsDisposed();
// No exception thrown
}
@Test
public void testMarkAsDisposed_whenConnectedAndUnbound() {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
connection.onServiceConnected(mTransportComponent, mTransportBinder);
- mTransportClient.unbind("caller1");
+ mTransportConnection.unbind("caller1");
- mTransportClient.markAsDisposed();
+ mTransportConnection.markAsDisposed();
// No exception thrown
}
@Test
public void testMarkAsDisposed_afterOnServiceDisconnected() {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
connection.onServiceConnected(mTransportComponent, mTransportBinder);
connection.onServiceDisconnected(mTransportComponent);
- mTransportClient.markAsDisposed();
+ mTransportConnection.markAsDisposed();
// No exception thrown
}
@Test
public void testMarkAsDisposed_whenBound() {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
- expectThrows(RuntimeException.class, mTransportClient::markAsDisposed);
+ expectThrows(RuntimeException.class, mTransportConnection::markAsDisposed);
}
@Test
public void testMarkAsDisposed_whenConnected() {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
connection.onServiceConnected(mTransportComponent, mTransportBinder);
- expectThrows(RuntimeException.class, mTransportClient::markAsDisposed);
+ expectThrows(RuntimeException.class, mTransportConnection::markAsDisposed);
}
@Test
@@ -469,36 +470,36 @@ public class TransportClientTest {
public void testFinalize_afterCreated() throws Throwable {
ShadowLog.reset();
- mTransportClient.finalize();
+ mTransportConnection.finalize();
- assertLogcatAtMost(TransportClient.TAG, Log.INFO);
+ assertLogcatAtMost(TransportConnection.TAG, Log.INFO);
}
@Test
@SuppressWarnings("FinalizeCalledExplicitly")
public void testFinalize_whenBound() throws Throwable {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ShadowLog.reset();
- mTransportClient.finalize();
+ mTransportConnection.finalize();
- assertLogcatAtLeast(TransportClient.TAG, Log.ERROR);
+ assertLogcatAtLeast(TransportConnection.TAG, Log.ERROR);
}
@Test
@SuppressWarnings("FinalizeCalledExplicitly")
public void testFinalize_whenConnected() throws Throwable {
- mTransportClient.connectAsync(mTransportConnectionListener, "caller1");
+ mTransportConnection.connectAsync(mTransportConnectionListener, "caller1");
ServiceConnection connection = verifyBindServiceAsUserAndCaptureServiceConnection(mContext);
connection.onServiceConnected(mTransportComponent, mTransportBinder);
ShadowLog.reset();
- mTransportClient.finalize();
+ mTransportConnection.finalize();
expectThrows(
TransportNotAvailableException.class,
- () -> mTransportClient.getConnectedTransport("caller1"));
- assertLogcatAtLeast(TransportClient.TAG, Log.ERROR);
+ () -> mTransportConnection.getConnectedTransport("caller1"));
+ assertLogcatAtLeast(TransportConnection.TAG, Log.ERROR);
}
@Test
@@ -506,7 +507,7 @@ public class TransportClientTest {
public void testFinalize_whenNotMarkedAsDisposed() throws Throwable {
ShadowCloseGuard.setUp();
- mTransportClient.finalize();
+ mTransportConnection.finalize();
assertThat(ShadowCloseGuard.hasReported()).isTrue();
}
@@ -514,10 +515,10 @@ public class TransportClientTest {
@Test
@SuppressWarnings("FinalizeCalledExplicitly")
public void testFinalize_whenMarkedAsDisposed() throws Throwable {
- mTransportClient.markAsDisposed();
+ mTransportConnection.markAsDisposed();
ShadowCloseGuard.setUp();
- mTransportClient.finalize();
+ mTransportConnection.finalize();
assertThat(ShadowCloseGuard.hasReported()).isFalse();
}
diff --git a/services/robotests/src/com/android/server/testing/shadows/ShadowBackupEligibilityRules.java b/services/robotests/src/com/android/server/testing/shadows/ShadowBackupEligibilityRules.java
index 566b0e151402..9a74977ef6d4 100644
--- a/services/robotests/src/com/android/server/testing/shadows/ShadowBackupEligibilityRules.java
+++ b/services/robotests/src/com/android/server/testing/shadows/ShadowBackupEligibilityRules.java
@@ -19,9 +19,8 @@ package com.android.server.testing.shadows;
import android.annotation.Nullable;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
import com.android.server.backup.utils.BackupEligibilityRules;
import org.robolectric.annotation.Implementation;
@@ -54,7 +53,7 @@ public class ShadowBackupEligibilityRules {
@Implementation
protected boolean appIsRunningAndEligibleForBackupWithTransport(
- @Nullable TransportClient transportClient,
+ @Nullable TransportConnection transportConnection,
String packageName) {
return sAppsRunningAndEligibleForBackupWithTransport.contains(packageName);
}
diff --git a/services/robotests/src/com/android/server/testing/shadows/ShadowKeyValueBackupTask.java b/services/robotests/src/com/android/server/testing/shadows/ShadowKeyValueBackupTask.java
index fd51df7ab1f9..06b7fb7e6ae3 100644
--- a/services/robotests/src/com/android/server/testing/shadows/ShadowKeyValueBackupTask.java
+++ b/services/robotests/src/com/android/server/testing/shadows/ShadowKeyValueBackupTask.java
@@ -23,7 +23,7 @@ import com.android.server.backup.UserBackupManagerService;
import com.android.server.backup.internal.OnTaskFinishedListener;
import com.android.server.backup.keyvalue.KeyValueBackupReporter;
import com.android.server.backup.keyvalue.KeyValueBackupTask;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
import com.android.server.backup.utils.BackupEligibilityRules;
import org.robolectric.annotation.Implementation;
@@ -56,7 +56,7 @@ public class ShadowKeyValueBackupTask {
@Implementation
protected void __constructor__(
UserBackupManagerService backupManagerService,
- TransportClient transportClient,
+ TransportConnection transportConnection,
String transportDirName,
List<String> queue,
@Nullable DataChangedJournal dataChangedJournal,
diff --git a/services/robotests/src/com/android/server/testing/shadows/ShadowPerformUnifiedRestoreTask.java b/services/robotests/src/com/android/server/testing/shadows/ShadowPerformUnifiedRestoreTask.java
index 5161070398d7..71010a9fe935 100644
--- a/services/robotests/src/com/android/server/testing/shadows/ShadowPerformUnifiedRestoreTask.java
+++ b/services/robotests/src/com/android/server/testing/shadows/ShadowPerformUnifiedRestoreTask.java
@@ -24,15 +24,12 @@ import android.content.pm.PackageInfo;
import com.android.server.backup.UserBackupManagerService;
import com.android.server.backup.internal.OnTaskFinishedListener;
import com.android.server.backup.restore.PerformUnifiedRestoreTask;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
import com.android.server.backup.utils.BackupEligibilityRules;
import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;
-import java.util.Map;
-import java.util.Set;
-
@Implements(PerformUnifiedRestoreTask.class)
public class ShadowPerformUnifiedRestoreTask {
@Nullable private static ShadowPerformUnifiedRestoreTask sLastShadow;
@@ -60,7 +57,7 @@ public class ShadowPerformUnifiedRestoreTask {
@Implementation
protected void __constructor__(
UserBackupManagerService backupManagerService,
- TransportClient transportClient,
+ TransportConnection transportConnection,
IRestoreObserver observer,
IBackupManagerMonitor monitor,
long restoreSetToken,
diff --git a/services/tests/servicestests/src/com/android/server/backup/UserBackupManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/backup/UserBackupManagerServiceTest.java
index 205ff300c543..aa7d6aa7de71 100644
--- a/services/tests/servicestests/src/com/android/server/backup/UserBackupManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/backup/UserBackupManagerServiceTest.java
@@ -38,7 +38,7 @@ import androidx.test.runner.AndroidJUnit4;
import com.android.server.backup.internal.OnTaskFinishedListener;
import com.android.server.backup.params.BackupParams;
-import com.android.server.backup.transport.TransportClient;
+import com.android.server.backup.transport.TransportConnection;
import com.android.server.backup.utils.BackupEligibilityRules;
import org.junit.Before;
@@ -57,7 +57,8 @@ public class UserBackupManagerServiceTest {
@Mock IBackupManagerMonitor mBackupManagerMonitor;
@Mock IBackupObserver mBackupObserver;
@Mock PackageManager mPackageManager;
- @Mock TransportClient mTransportClient;
+ @Mock
+ TransportConnection mTransportConnection;
@Mock IBackupTransport mBackupTransport;
@Mock BackupEligibilityRules mBackupEligibilityRules;
@@ -96,7 +97,7 @@ public class UserBackupManagerServiceTest {
BackupParams params = mService.getRequestBackupParams(TEST_PACKAGES, mBackupObserver,
mBackupManagerMonitor, /* flags */ 0, mBackupEligibilityRules,
- mTransportClient, /* transportDirName */ "", OnTaskFinishedListener.NOP);
+ mTransportConnection, /* transportDirName */ "", OnTaskFinishedListener.NOP);
assertThat(params.kvPackages).isEmpty();
assertThat(params.fullPackages).contains(TEST_PACKAGE);
@@ -112,7 +113,7 @@ public class UserBackupManagerServiceTest {
BackupParams params = mService.getRequestBackupParams(TEST_PACKAGES, mBackupObserver,
mBackupManagerMonitor, /* flags */ 0, mBackupEligibilityRules,
- mTransportClient, /* transportDirName */ "", OnTaskFinishedListener.NOP);
+ mTransportConnection, /* transportDirName */ "", OnTaskFinishedListener.NOP);
assertThat(params.kvPackages).contains(TEST_PACKAGE);
assertThat(params.fullPackages).isEmpty();
@@ -128,7 +129,7 @@ public class UserBackupManagerServiceTest {
BackupParams params = mService.getRequestBackupParams(TEST_PACKAGES, mBackupObserver,
mBackupManagerMonitor, /* flags */ 0, mBackupEligibilityRules,
- mTransportClient, /* transportDirName */ "", OnTaskFinishedListener.NOP);
+ mTransportConnection, /* transportDirName */ "", OnTaskFinishedListener.NOP);
assertThat(params.kvPackages).isEmpty();
assertThat(params.fullPackages).isEmpty();
@@ -138,10 +139,10 @@ public class UserBackupManagerServiceTest {
@Test
public void testGetOperationTypeFromTransport_returnsBackupByDefault()
throws Exception {
- when(mTransportClient.connectOrThrow(any())).thenReturn(mBackupTransport);
+ when(mTransportConnection.connectOrThrow(any())).thenReturn(mBackupTransport);
when(mBackupTransport.getTransportFlags()).thenReturn(0);
- int operationType = mService.getOperationTypeFromTransport(mTransportClient);
+ int operationType = mService.getOperationTypeFromTransport(mTransportConnection);
assertThat(operationType).isEqualTo(OperationType.BACKUP);
}
@@ -153,11 +154,11 @@ public class UserBackupManagerServiceTest {
// rolled out.
mService.shouldUseNewBackupEligibilityRules = true;
- when(mTransportClient.connectOrThrow(any())).thenReturn(mBackupTransport);
+ when(mTransportConnection.connectOrThrow(any())).thenReturn(mBackupTransport);
when(mBackupTransport.getTransportFlags()).thenReturn(
BackupAgent.FLAG_DEVICE_TO_DEVICE_TRANSFER);
- int operationType = mService.getOperationTypeFromTransport(mTransportClient);
+ int operationType = mService.getOperationTypeFromTransport(mTransportConnection);
assertThat(operationType).isEqualTo(OperationType.MIGRATION);
}