summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Annie Meng <anniemeng@google.com> 2018-02-20 12:06:56 +0000
committer Annie Meng <anniemeng@google.com> 2018-02-27 15:17:56 +0000
commit1b9877ab44a45542300adcd3f8a2f84c1d0933cc (patch)
tree9e3ed836b2793c9819bd0a3738b7dd619b01e724
parent6611f83f5ce645954ca9a41d579d147be2178813 (diff)
Move transport constant to BackupTransport API
Previously, the transport registration extra was a private constant. Since GMSCore depends on this value being passed, moving it to a public API prevents having to define it twice in framework and GMSCore, and ensures compatibility between the two. TODO: Update GMSCore with this constant once this drops into GMSCore. Bug: 72730566 Test: 1) m -j ROBOTEST_FILTER=TransportManagerTest RunFrameworksServicesRoboTests 2) m -j ROBOTEST_FILTER=TransportClientManagerTest RunFrameworksServicesRoboTests Change-Id: I8f7a2ca0275047a5d3cc1a530cd86499d0170f2f
-rw-r--r--api/system-current.txt1
-rw-r--r--core/java/android/app/backup/BackupTransport.java7
-rw-r--r--services/backup/java/com/android/server/backup/TransportManager.java5
-rw-r--r--services/robotests/src/com/android/server/backup/TransportManagerTest.java10
4 files changed, 13 insertions, 10 deletions
diff --git a/api/system-current.txt b/api/system-current.txt
index 3aca59a5724d..003a9ba8199f 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -617,6 +617,7 @@ package android.app.backup {
method public java.lang.String transportDirName();
field public static final int AGENT_ERROR = -1003; // 0xfffffc15
field public static final int AGENT_UNKNOWN = -1004; // 0xfffffc14
+ field public static final java.lang.String EXTRA_TRANSPORT_REGISTRATION = "android.app.backup.extra.TRANSPORT_REGISTRATION";
field public static final int FLAG_INCREMENTAL = 2; // 0x2
field public static final int FLAG_NON_INCREMENTAL = 4; // 0x4
field public static final int FLAG_USER_INITIATED = 1; // 0x1
diff --git a/core/java/android/app/backup/BackupTransport.java b/core/java/android/app/backup/BackupTransport.java
index f456395aa2b5..0963594bc00e 100644
--- a/core/java/android/app/backup/BackupTransport.java
+++ b/core/java/android/app/backup/BackupTransport.java
@@ -83,6 +83,13 @@ public class BackupTransport {
*/
public static final int FLAG_NON_INCREMENTAL = 1 << 2;
+ /**
+ * Used as a boolean extra in the binding intent of transports. We pass {@code true} to
+ * notify transports that the current connection is used for registering the transport.
+ */
+ public static final String EXTRA_TRANSPORT_REGISTRATION =
+ "android.app.backup.extra.TRANSPORT_REGISTRATION";
+
IBackupTransport mBinderImpl = new TransportImpl();
public IBinder getBinder() {
diff --git a/services/backup/java/com/android/server/backup/TransportManager.java b/services/backup/java/com/android/server/backup/TransportManager.java
index 501ff293b535..c87d2987d0b2 100644
--- a/services/backup/java/com/android/server/backup/TransportManager.java
+++ b/services/backup/java/com/android/server/backup/TransportManager.java
@@ -19,6 +19,7 @@ package com.android.server.backup;
import android.annotation.Nullable;
import android.annotation.WorkerThread;
import android.app.backup.BackupManager;
+import android.app.backup.BackupTransport;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@@ -58,8 +59,6 @@ public class TransportManager {
@VisibleForTesting
public static final String SERVICE_ACTION_TRANSPORT_HOST = "android.backup.TRANSPORT_HOST";
- private static final String EXTRA_TRANSPORT_REGISTRATION = "transport_registration";
-
private final Intent mTransportServiceIntent = new Intent(SERVICE_ACTION_TRANSPORT_HOST);
private final Context mContext;
private final PackageManager mPackageManager;
@@ -587,7 +586,7 @@ public class TransportManager {
String callerLogString = "TransportManager.registerTransport()";
Bundle extras = new Bundle();
- extras.putBoolean(EXTRA_TRANSPORT_REGISTRATION, true);
+ extras.putBoolean(BackupTransport.EXTRA_TRANSPORT_REGISTRATION, true);
TransportClient transportClient = mTransportClientManager.getTransportClient(
transportComponent, extras, callerLogString);
diff --git a/services/robotests/src/com/android/server/backup/TransportManagerTest.java b/services/robotests/src/com/android/server/backup/TransportManagerTest.java
index 02514b82ffba..6abd30c5ebf0 100644
--- a/services/robotests/src/com/android/server/backup/TransportManagerTest.java
+++ b/services/robotests/src/com/android/server/backup/TransportManagerTest.java
@@ -42,6 +42,7 @@ import static java.util.stream.Stream.concat;
import android.annotation.Nullable;
import android.app.backup.BackupManager;
+import android.app.backup.BackupTransport;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@@ -86,12 +87,6 @@ public class TransportManagerTest {
private static final String PACKAGE_A = "some.package.a";
private static final String PACKAGE_B = "some.package.b";
- /**
- * GMSCore depends on this constant so we define it here on top of the definition in {@link
- * TransportManager} to verify this extra is passed
- */
- private static final String EXTRA_TRANSPORT_REGISTRATION = "transport_registration";
-
@Mock private OnTransportRegisteredListener mListener;
@Mock private TransportClientManager mTransportClientManager;
private TransportData mTransportA1;
@@ -210,7 +205,8 @@ public class TransportManagerTest {
verify(mTransportClientManager)
.getTransportClient(
eq(mTransportA1.getTransportComponent()),
- argThat(bundle -> bundle.getBoolean(EXTRA_TRANSPORT_REGISTRATION)),
+ argThat(bundle ->
+ bundle.getBoolean(BackupTransport.EXTRA_TRANSPORT_REGISTRATION)),
anyString());
}