diff options
| author | 2018-02-20 12:06:56 +0000 | |
|---|---|---|
| committer | 2018-02-27 15:17:56 +0000 | |
| commit | 1b9877ab44a45542300adcd3f8a2f84c1d0933cc (patch) | |
| tree | 9e3ed836b2793c9819bd0a3738b7dd619b01e724 | |
| parent | 6611f83f5ce645954ca9a41d579d147be2178813 (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
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()); } |