Merge "Move mac_permissions to etc/selinux"
diff --git a/api/current.txt b/api/current.txt
index b69cf01..b5a99ca 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -25157,7 +25157,8 @@
}
public class DiscoverySession {
- method public java.lang.String createNetworkSpecifier(android.net.wifi.aware.PeerHandle, byte[]);
+ method public java.lang.String createNetworkSpecifierOpen(android.net.wifi.aware.PeerHandle);
+ method public java.lang.String createNetworkSpecifierPassphrase(android.net.wifi.aware.PeerHandle, java.lang.String);
method public void destroy();
method public void sendMessage(android.net.wifi.aware.PeerHandle, int, byte[]);
}
@@ -25245,7 +25246,8 @@
}
public class WifiAwareSession {
- method public java.lang.String createNetworkSpecifier(int, byte[], byte[]);
+ method public java.lang.String createNetworkSpecifierOpen(int, byte[]);
+ method public java.lang.String createNetworkSpecifierPassphrase(int, byte[], java.lang.String);
method public void destroy();
method public void publish(android.net.wifi.aware.PublishConfig, android.net.wifi.aware.DiscoverySessionCallback, android.os.Handler);
method public void subscribe(android.net.wifi.aware.SubscribeConfig, android.net.wifi.aware.DiscoverySessionCallback, android.os.Handler);
diff --git a/api/system-current.txt b/api/system-current.txt
index 914cda1..c2338d8 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -27715,7 +27715,9 @@
}
public class DiscoverySession {
- method public java.lang.String createNetworkSpecifier(android.net.wifi.aware.PeerHandle, byte[]);
+ method public java.lang.String createNetworkSpecifierOpen(android.net.wifi.aware.PeerHandle);
+ method public java.lang.String createNetworkSpecifierPassphrase(android.net.wifi.aware.PeerHandle, java.lang.String);
+ method public java.lang.String createNetworkSpecifierPmk(android.net.wifi.aware.PeerHandle, byte[]);
method public void destroy();
method public void sendMessage(android.net.wifi.aware.PeerHandle, int, byte[]);
}
@@ -27803,7 +27805,9 @@
}
public class WifiAwareSession {
- method public java.lang.String createNetworkSpecifier(int, byte[], byte[]);
+ method public java.lang.String createNetworkSpecifierOpen(int, byte[]);
+ method public java.lang.String createNetworkSpecifierPassphrase(int, byte[], java.lang.String);
+ method public java.lang.String createNetworkSpecifierPmk(int, byte[], byte[]);
method public void destroy();
method public void publish(android.net.wifi.aware.PublishConfig, android.net.wifi.aware.DiscoverySessionCallback, android.os.Handler);
method public void subscribe(android.net.wifi.aware.SubscribeConfig, android.net.wifi.aware.DiscoverySessionCallback, android.os.Handler);
diff --git a/api/test-current.txt b/api/test-current.txt
index 317328d..bc0b5b0 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -25230,7 +25230,8 @@
}
public class DiscoverySession {
- method public java.lang.String createNetworkSpecifier(android.net.wifi.aware.PeerHandle, byte[]);
+ method public java.lang.String createNetworkSpecifierOpen(android.net.wifi.aware.PeerHandle);
+ method public java.lang.String createNetworkSpecifierPassphrase(android.net.wifi.aware.PeerHandle, java.lang.String);
method public void destroy();
method public void sendMessage(android.net.wifi.aware.PeerHandle, int, byte[]);
}
@@ -25318,7 +25319,8 @@
}
public class WifiAwareSession {
- method public java.lang.String createNetworkSpecifier(int, byte[], byte[]);
+ method public java.lang.String createNetworkSpecifierOpen(int, byte[]);
+ method public java.lang.String createNetworkSpecifierPassphrase(int, byte[], java.lang.String);
method public void destroy();
method public void publish(android.net.wifi.aware.PublishConfig, android.net.wifi.aware.DiscoverySessionCallback, android.os.Handler);
method public void subscribe(android.net.wifi.aware.SubscribeConfig, android.net.wifi.aware.DiscoverySessionCallback, android.os.Handler);
diff --git a/core/java/android/os/HwBinder.java b/core/java/android/os/HwBinder.java
index e025494..b09c51c 100644
--- a/core/java/android/os/HwBinder.java
+++ b/core/java/android/os/HwBinder.java
@@ -43,9 +43,7 @@
int code, HwParcel request, HwParcel reply, int flags)
throws RemoteException;
- public native final void registerService(
- ArrayList<String> interfaceChain,
- String serviceName)
+ public native final void registerService(String serviceName)
throws RemoteException;
public static native final IHwBinder getService(
diff --git a/core/jni/android_os_HwBinder.cpp b/core/jni/android_os_HwBinder.cpp
index 8791e27..c3978e7 100644
--- a/core/jni/android_os_HwBinder.cpp
+++ b/core/jni/android_os_HwBinder.cpp
@@ -49,12 +49,6 @@
namespace android {
-static jclass gArrayListClass;
-static struct {
- jmethodID size;
- jmethodID get;
-} gArrayListMethods;
-
static jclass gErrorClass;
static struct fields_t {
@@ -237,7 +231,6 @@
static void JHwBinder_native_registerService(
JNIEnv *env,
jobject thiz,
- jobject interfaceChainArrayList,
jstring serviceNameObj) {
if (serviceNameObj == NULL) {
jniThrowException(env, "java/lang/NullPointerException", NULL);
@@ -249,24 +242,6 @@
return; // XXX exception already pending?
}
- jint numInterfaces = env->CallIntMethod(interfaceChainArrayList,
- gArrayListMethods.size);
- hidl_string *strings = new hidl_string[numInterfaces];
-
- for (jint i = 0; i < numInterfaces; i++) {
- jstring strObj = static_cast<jstring>(
- env->CallObjectMethod(interfaceChainArrayList,
- gArrayListMethods.get,
- i)
- );
- const char * str = env->GetStringUTFChars(strObj, nullptr);
- strings[i] = hidl_string(str);
- env->ReleaseStringUTFChars(strObj, str);
- }
-
- hidl_vec<hidl_string> interfaceChain;
- interfaceChain.setToExternal(strings, numInterfaces, true /* shouldOwn */);
-
sp<hardware::IBinder> binder = JHwBinder::GetNativeContext(env, thiz);
/* TODO(b/33440494) this is not right */
@@ -280,7 +255,7 @@
return;
}
- Return<bool> ret = manager->add(interfaceChain, serviceName, base);
+ Return<bool> ret = manager->add(serviceName, base);
env->ReleaseStringUTFChars(serviceNameObj, serviceName);
serviceName = NULL;
@@ -383,7 +358,7 @@
"(IL" PACKAGE_PATH "/HwParcel;L" PACKAGE_PATH "/HwParcel;I)V",
(void *)JHwBinder_native_transact },
- { "registerService", "(Ljava/util/ArrayList;Ljava/lang/String;)V",
+ { "registerService", "(Ljava/lang/String;)V",
(void *)JHwBinder_native_registerService },
{ "getService", "(Ljava/lang/String;Ljava/lang/String;)L" PACKAGE_PATH "/IHwBinder;",
@@ -393,11 +368,6 @@
namespace android {
int register_android_os_HwBinder(JNIEnv *env) {
- jclass arrayListClass = FindClassOrDie(env, "java/util/ArrayList");
- gArrayListClass = MakeGlobalRefOrDie(env, arrayListClass);
- gArrayListMethods.size = GetMethodIDOrDie(env, arrayListClass, "size", "()I");
- gArrayListMethods.get = GetMethodIDOrDie(env, arrayListClass, "get", "(I)Ljava/lang/Object;");
-
jclass errorClass = FindClassOrDie(env, "java/lang/Error");
gErrorClass = MakeGlobalRefOrDie(env, errorClass);
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 2b2e18b..4408bf8 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -462,6 +462,8 @@
<integer translatable="false" name="config_wifi_framework_LAST_SELECTION_AWARD">480</integer>
<integer translatable="false" name="config_wifi_framework_PASSPOINT_SECURITY_AWARD">40</integer>
<integer translatable="false" name="config_wifi_framework_SECURITY_AWARD">80</integer>
+ <!-- Integer specifying the base interval in seconds for the exponential backoff scan for autojoin -->
+ <integer translatable="false" name="config_wifi_framework_exponential_backoff_scan_base_interval">20</integer>
<!-- Integer parameters of the wifi to cellular handover feature
wifi should not stick to bad networks -->
<integer translatable="false" name="config_wifi_framework_wifi_score_bad_rssi_threshold_5GHz">-82</integer>
diff --git a/core/tests/coretests/src/android/net/NetworkScorerAppManagerTest.java b/core/tests/coretests/src/android/net/NetworkScorerAppManagerTest.java
index 29020ba..48f2935 100644
--- a/core/tests/coretests/src/android/net/NetworkScorerAppManagerTest.java
+++ b/core/tests/coretests/src/android/net/NetworkScorerAppManagerTest.java
@@ -32,10 +32,10 @@
import android.test.InstrumentationTestCase;
import com.android.internal.R;
import java.util.List;
-import org.mockito.ArgumentMatcher;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
+import org.mockito.compat.ArgumentMatcher;
public class NetworkScorerAppManagerTest extends InstrumentationTestCase {
@Mock private Context mMockContext;
@@ -218,7 +218,7 @@
when(mMockPm.resolveService(
Mockito.argThat(new ArgumentMatcher<Intent>() {
@Override
- public boolean matches(Object object) {
+ public boolean matchesObject(Object object) {
Intent intent = (Intent) object;
return NetworkScoreManager.ACTION_RECOMMEND_NETWORKS
.equals(intent.getAction())
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/integration/CameraDeviceBinderTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/integration/CameraDeviceBinderTest.java
index 6c879b9..a519f74 100644
--- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/integration/CameraDeviceBinderTest.java
+++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/integration/CameraDeviceBinderTest.java
@@ -45,8 +45,8 @@
import com.android.mediaframeworktest.MediaFrameworkIntegrationTestRunner;
-import org.mockito.ArgumentMatcher;
import org.mockito.ArgumentCaptor;
+import org.mockito.compat.ArgumentMatcher;
import static org.mockito.Mockito.*;
public class CameraDeviceBinderTest extends AndroidTestCase {
@@ -158,7 +158,7 @@
class IsMetadataNotEmpty extends ArgumentMatcher<CameraMetadataNative> {
@Override
- public boolean matches(Object obj) {
+ public boolean matchesObject(Object obj) {
return !((CameraMetadataNative) obj).isEmpty();
}
}
diff --git a/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java b/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
index 23a8655..6394c64 100644
--- a/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
+++ b/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
@@ -77,8 +77,8 @@
mCm = ConnectivityManager.from(this);
mNetwork = getIntent().getParcelableExtra(ConnectivityManager.EXTRA_NETWORK);
mCaptivePortal = getIntent().getParcelableExtra(ConnectivityManager.EXTRA_CAPTIVE_PORTAL);
- mUserAgent = getIntent().getParcelableExtra(
- ConnectivityManager.EXTRA_CAPTIVE_PORTAL_USER_AGENT);
+ mUserAgent =
+ getIntent().getStringExtra(ConnectivityManager.EXTRA_CAPTIVE_PORTAL_USER_AGENT);
mUrl = getUrl();
if (mUrl == null) {
// getUrl() failed to parse the url provided in the intent: bail out in a way that
@@ -274,8 +274,17 @@
if (mUserAgent != null) {
urlConnection.setRequestProperty("User-Agent", mUserAgent);
}
+ // cannot read request header after connection
+ String requestHeader = urlConnection.getRequestProperties().toString();
+
urlConnection.getInputStream();
httpResponseCode = urlConnection.getResponseCode();
+ if (DBG) {
+ Log.d(TAG, "probe at " + mUrl +
+ " ret=" + httpResponseCode +
+ " request=" + requestHeader +
+ " headers=" + urlConnection.getHeaderFields());
+ }
} catch (IOException e) {
} finally {
if (urlConnection != null) urlConnection.disconnect();
diff --git a/packages/CarrierDefaultApp/AndroidManifest.xml b/packages/CarrierDefaultApp/AndroidManifest.xml
index d910920..2e642ec 100644
--- a/packages/CarrierDefaultApp/AndroidManifest.xml
+++ b/packages/CarrierDefaultApp/AndroidManifest.xml
@@ -17,16 +17,16 @@
*/
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.android.carrierdefaultapp"
- android:sharedUserId="android.uid.phone" >
+ package="com.android.carrierdefaultapp">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
- <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+ <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
<uses-permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
+ <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
<application android:label="@string/app_name" >
<receiver android:name="com.android.carrierdefaultapp.CarrierDefaultBroadcastReceiver">
diff --git a/packages/CarrierDefaultApp/res/drawable/ic_sim_card.xml b/packages/CarrierDefaultApp/res/drawable/ic_sim_card.xml
index 5896757..dc54fe2 100644
--- a/packages/CarrierDefaultApp/res/drawable/ic_sim_card.xml
+++ b/packages/CarrierDefaultApp/res/drawable/ic_sim_card.xml
@@ -14,13 +14,12 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="@dimen/glif_icon_size"
- android:height="@dimen/glif_icon_size"
- android:viewportWidth="48"
- android:viewportHeight="48">
- <path
- android:fillColor="?android:attr/colorPrimary"
- android:pathData="M39.98,8c0,-2.21 -1.77,-4 -3.98,-4L20,4L8,16v24c0,2.21 1.79,4 4,4h24.02c2.21,0 3.98,-1.79 3.98,-4l-0.02,-32zM18,38h-4v-4h4v4zM34,38h-4v-4h4v4zM18,30h-4v-8h4v8zM26,38h-4v-8h4v8zM26,26h-4v-4h4v4zM34,30h-4v-8h4v8z" />
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
+<path
+ android:fillColor="#757575"
+ android:pathData="M18,2h-8L4.02,8 4,20c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,4c0,-1.1 -0.9,-2 -2,-2zM13,17h-2v-2h2v2zM13,13h-2L11,8h2v5z"/>
</vector>
\ No newline at end of file
diff --git a/packages/CarrierDefaultApp/res/values/strings.xml b/packages/CarrierDefaultApp/res/values/strings.xml
index 838ff39..fe5669d 100644
--- a/packages/CarrierDefaultApp/res/values/strings.xml
+++ b/packages/CarrierDefaultApp/res/values/strings.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">CarrierDefaultApp</string>
- <string name="portal_notification_id">Activate your service</string>
- <string name="no_data_notification_id">No data service</string>
- <string name="portal_notification_detail">Tap to activate your service</string>
- <string name="no_data_notification_detail">No Service, please contact your service provider</string>
+ <string name="android_system_label">Android System</string>
+ <string name="portal_notification_id">Mobile data has run out</string>
+ <string name="no_data_notification_id">No Mobile data service</string>
+ <string name="portal_notification_detail">Tap to add funds to your %s SIM</string>
+ <string name="no_data_notification_detail">Please contact your service provider %s</string>
<string name="progress_dialogue_network_connection">Connecting to captive portal...</string>
<string name="alert_dialogue_network_timeout">Network timeout, would you like to retry?</string>
<string name="alert_dialogue_network_timeout_title">Network unavailable</string>
diff --git a/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CarrierActionUtils.java b/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CarrierActionUtils.java
index db4890f..d9bd2fc 100644
--- a/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CarrierActionUtils.java
+++ b/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CarrierActionUtils.java
@@ -21,6 +21,7 @@
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
+import android.os.Bundle;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.util.Log;
@@ -146,18 +147,25 @@
private static Notification getNotification(Context context, int titleId, int textId,
PendingIntent pendingIntent) {
- Resources resources = context.getResources();
+ final TelephonyManager telephonyMgr = context.getSystemService(TelephonyManager.class);
+ final Resources resources = context.getResources();
+ final Bundle extras = Bundle.forPair(Notification.EXTRA_SUBSTITUTE_APP_NAME,
+ resources.getString(R.string.android_system_label));
Notification.Builder builder = new Notification.Builder(context)
.setContentTitle(resources.getString(titleId))
- .setContentText(resources.getString(textId))
+ .setContentText(String.format(resources.getString(textId),
+ telephonyMgr.getNetworkOperatorName()))
.setSmallIcon(R.drawable.ic_sim_card)
+ .setColor(context.getColor(
+ com.android.internal.R.color.system_notification_accent_color))
.setOngoing(true)
.setPriority(Notification.PRIORITY_HIGH)
.setDefaults(Notification.DEFAULT_ALL)
.setVisibility(Notification.VISIBILITY_PUBLIC)
.setLocalOnly(true)
.setWhen(System.currentTimeMillis())
- .setShowWhen(false);
+ .setShowWhen(false)
+ .setExtras(extras);
if (pendingIntent != null) {
builder.setContentIntent(pendingIntent);
diff --git a/rs/jni/Android.mk b/rs/jni/Android.mk
index 447a47d..4040db3 100644
--- a/rs/jni/Android.mk
+++ b/rs/jni/Android.mk
@@ -5,6 +5,7 @@
android_renderscript_RenderScript.cpp
LOCAL_SHARED_LIBRARIES := \
+ libandroid \
libandroid_runtime \
libandroidfw \
libnativehelper \
diff --git a/rs/jni/android_renderscript_RenderScript.cpp b/rs/jni/android_renderscript_RenderScript.cpp
index 2300da3..b4630ef 100644
--- a/rs/jni/android_renderscript_RenderScript.cpp
+++ b/rs/jni/android_renderscript_RenderScript.cpp
@@ -34,6 +34,8 @@
#include "android_runtime/android_view_Surface.h"
#include "android_runtime/android_util_AssetManager.h"
#include "android/graphics/GraphicsJNI.h"
+#include "android/native_window.h"
+#include "android/native_window_jni.h"
#include <rsEnv.h>
#include <rsApiStubs.h>
@@ -1264,10 +1266,10 @@
ALOGD("nAllocationGetSurface, con(%p), a(%p)", (RsContext)con, (RsAllocation)a);
}
- IGraphicBufferProducer *v = (IGraphicBufferProducer *)rsAllocationGetSurface((RsContext)con,
- (RsAllocation)a);
- sp<IGraphicBufferProducer> bp = v;
- v->decStrong(nullptr);
+ ANativeWindow *anw = (ANativeWindow *)rsAllocationGetSurface((RsContext)con, (RsAllocation)a);
+
+ sp<Surface> surface(static_cast<Surface*>(anw));
+ sp<IGraphicBufferProducer> bp = surface->getIGraphicBufferProducer();
jobject o = android_view_Surface_createFromIGraphicBufferProducer(_env, bp);
return o;
@@ -1281,13 +1283,12 @@
(RsAllocation)alloc, (Surface *)sur);
}
- sp<Surface> s;
+ ANativeWindow *anw = nullptr;
if (sur != 0) {
- s = android_view_Surface_getSurface(_env, sur);
+ anw = ANativeWindow_fromSurface(_env, sur);
}
- rsAllocationSetSurface((RsContext)con, (RsAllocation)alloc,
- static_cast<ANativeWindow *>(s.get()));
+ rsAllocationSetSurface((RsContext)con, (RsAllocation)alloc, anw);
}
static void
diff --git a/services/core/java/com/android/server/connectivity/NetworkMonitor.java b/services/core/java/com/android/server/connectivity/NetworkMonitor.java
index c40780e..97669d2 100644
--- a/services/core/java/com/android/server/connectivity/NetworkMonitor.java
+++ b/services/core/java/com/android/server/connectivity/NetworkMonitor.java
@@ -789,6 +789,8 @@
if (userAgent != null) {
urlConnection.setRequestProperty("User-Agent", userAgent);
}
+ // cannot read request header after connection
+ String requestHeader = urlConnection.getRequestProperties().toString();
// Time how long it takes to get a response to our request
long requestTimestamp = SystemClock.elapsedRealtime();
@@ -802,6 +804,7 @@
validationLog(ValidationProbeEvent.getProbeName(probeType) + " " + url +
" time=" + (responseTimestamp - requestTimestamp) + "ms" +
" ret=" + httpResponseCode +
+ " request=" + requestHeader +
" headers=" + urlConnection.getHeaderFields());
// NOTE: We may want to consider an "HTTP/1.0 204" response to be a captive
// portal. The only example of this seen so far was a captive portal. For
diff --git a/services/tests/servicestests/src/com/android/server/NetworkScoreServiceTest.java b/services/tests/servicestests/src/com/android/server/NetworkScoreServiceTest.java
index 43c8957..5553fd6 100644
--- a/services/tests/servicestests/src/com/android/server/NetworkScoreServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/NetworkScoreServiceTest.java
@@ -271,8 +271,8 @@
final Bundle bundle = new Bundle();
bundle.putParcelable(EXTRA_RECOMMENDATION_RESULT, providerResult);
doAnswer(invocation -> {
- bundle.putInt(EXTRA_SEQUENCE, invocation.getArgumentAt(2, int.class));
- invocation.getArgumentAt(1, IRemoteCallback.class).sendResult(bundle);
+ bundle.putInt(EXTRA_SEQUENCE, invocation.getArgument(2));
+ invocation.<IRemoteCallback>getArgument(1).sendResult(bundle);
return null;
}).when(mRecommendationProvider)
.requestRecommendation(eq(mRecommendationRequest), isA(IRemoteCallback.class),
@@ -336,7 +336,7 @@
injectProvider();
final Bundle bundle = new Bundle();
doAnswer(invocation -> {
- invocation.getArgumentAt(1, IRemoteCallback.class).sendResult(bundle);
+ invocation.<IRemoteCallback>getArgument(1).sendResult(bundle);
return null;
}).when(mRecommendationProvider)
.requestRecommendation(eq(mRecommendationRequest), isA(IRemoteCallback.class),
@@ -634,7 +634,7 @@
IBinder mockBinder = mock(IBinder.class);
when(mockBinder.queryLocalInterface(anyString()))
.thenReturn(mRecommendationProvider);
- invocation.getArgumentAt(1, ServiceConnection.class)
+ invocation.<ServiceConnection>getArgument(1)
.onServiceConnected(componentName, mockBinder);
return true;
}
diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/MockUtils.java b/services/tests/servicestests/src/com/android/server/devicepolicy/MockUtils.java
index 3806da6..e43786c 100644
--- a/services/tests/servicestests/src/com/android/server/devicepolicy/MockUtils.java
+++ b/services/tests/servicestests/src/com/android/server/devicepolicy/MockUtils.java
@@ -29,6 +29,7 @@
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.mockito.Mockito;
+import org.mockito.hamcrest.MockitoHamcrest;
public class MockUtils {
private MockUtils() {
@@ -47,7 +48,7 @@
description.appendText("UserHandle: user-id= \"" + userId + "\"");
}
};
- return Mockito.argThat(m);
+ return MockitoHamcrest.argThat(m);
}
public static Intent checkIntentComponent(final ComponentName component) {
@@ -63,7 +64,7 @@
description.appendText("Intent: component=\"" + component + "\"");
}
};
- return Mockito.argThat(m);
+ return MockitoHamcrest.argThat(m);
}
public static Intent checkIntentAction(final String action) {
@@ -79,7 +80,7 @@
description.appendText("Intent: action=\"" + action + "\"");
}
};
- return Mockito.argThat(m);
+ return MockitoHamcrest.argThat(m);
}
public static Intent checkIntent(final Intent intent) {
@@ -94,7 +95,7 @@
description.appendText(intent.toString());
}
};
- return Mockito.argThat(m);
+ return MockitoHamcrest.argThat(m);
}
public static Bundle checkUserRestrictions(String... keys) {
@@ -111,7 +112,7 @@
description.appendText("User restrictions=" + getRestrictionsAsString(expected));
}
};
- return Mockito.argThat(m);
+ return MockitoHamcrest.argThat(m);
}
private static String getRestrictionsAsString(Bundle b) {
diff --git a/services/tests/servicestests/src/com/android/server/webkit/WebViewUpdateServiceTest.java b/services/tests/servicestests/src/com/android/server/webkit/WebViewUpdateServiceTest.java
index 82c7bdb..1192901 100644
--- a/services/tests/servicestests/src/com/android/server/webkit/WebViewUpdateServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/webkit/WebViewUpdateServiceTest.java
@@ -32,14 +32,12 @@
import android.webkit.WebViewProviderInfo;
import android.webkit.WebViewProviderResponse;
-import org.hamcrest.Description;
-
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.mockito.Matchers;
-import org.mockito.ArgumentMatcher;
+import org.mockito.compat.ArgumentMatcher;
import java.util.concurrent.CountDownLatch;
@@ -131,14 +129,13 @@
}
@Override
- public boolean matches(Object p) {
+ public boolean matchesObject(Object p) {
return ((PackageInfo) p).packageName.equals(mPackageName);
}
- // Provide a more useful description in case of mismatch
@Override
- public void describeTo (Description description) {
- description.appendText(String.format("PackageInfo with name '%s'", mPackageName));
+ public String toString() {
+ return String.format("PackageInfo with name '%s'", mPackageName);
}
}
diff --git a/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java b/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java
index 1fe5cb7..29d58ce 100644
--- a/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java
+++ b/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java
@@ -59,6 +59,7 @@
import org.json.JSONObject;
import org.mockito.ArgumentCaptor;
import org.mockito.Mockito;
+import org.mockito.hamcrest.MockitoHamcrest;
import java.io.BufferedReader;
import java.io.File;
@@ -665,7 +666,7 @@
d.appendText(description);
}
};
- return Mockito.argThat(m);
+ return MockitoHamcrest.argThat(m);
}
public static List<ShortcutInfo> checkShortcutIds(String... ids) {
diff --git a/telecomm/java/android/telecom/Log.java b/telecomm/java/android/telecom/Log.java
index ced6627..6107895 100644
--- a/telecomm/java/android/telecom/Log.java
+++ b/telecomm/java/android/telecom/Log.java
@@ -19,6 +19,7 @@
import android.content.Context;
import android.net.Uri;
import android.os.AsyncTask;
+import android.os.Build;
import android.telecom.Logging.EventManager;
import android.telecom.Logging.Session;
import android.telecom.Logging.SessionManager;
@@ -55,6 +56,7 @@
public static boolean ERROR = isLoggable(android.util.Log.ERROR);
private static final boolean FORCE_LOGGING = false; /* STOP SHIP if true */
+ private static final boolean USER_BUILD = Build.TYPE.equals("user");
// Used to synchronize singleton logging lazy initialization
private static final Object sSingletonSync = new Object();
@@ -404,7 +406,8 @@
/**
* Redact personally identifiable information for production users.
- * If we are running in verbose mode, return the original string, otherwise
+ * If we are running in verbose mode, return the original string,
+ * and return "****" if we are running on the user build, otherwise
* return a SHA-1 hash of the input string.
*/
public static String pii(Object pii) {
@@ -415,6 +418,11 @@
}
private static String secureHash(byte[] input) {
+ // Refrain from logging user personal information in user build.
+ if (USER_BUILD) {
+ return "****";
+ }
+
if (sMessageDigest != null) {
sMessageDigest.reset();
sMessageDigest.update(input);
diff --git a/telephony/java/android/telephony/Rlog.java b/telephony/java/android/telephony/Rlog.java
index cd0a012..2a31e3a 100644
--- a/telephony/java/android/telephony/Rlog.java
+++ b/telephony/java/android/telephony/Rlog.java
@@ -16,6 +16,7 @@
package android.telephony;
+import android.os.Build;
import android.text.TextUtils;
import android.util.Log;
@@ -32,6 +33,8 @@
*/
public final class Rlog {
+ private static final boolean USER_BUILD = Build.TYPE.equals("user");
+
private Rlog() {
}
@@ -125,10 +128,15 @@
/**
* Returns a secure hash (using the SHA1 algorithm) of the provided input.
*
- * @return the hash
+ * @return "****" if the build type is user, otherwise the hash
* @param input the bytes for which the secure hash should be computed.
*/
private static String secureHash(byte[] input) {
+ // Refrain from logging user personal information in user build.
+ if (USER_BUILD) {
+ return "****";
+ }
+
MessageDigest messageDigest;
try {
diff --git a/telephony/java/com/android/internal/telephony/CallerInfo.java b/telephony/java/com/android/internal/telephony/CallerInfo.java
index 5f3f773..c9c48dc 100644
--- a/telephony/java/com/android/internal/telephony/CallerInfo.java
+++ b/telephony/java/com/android/internal/telephony/CallerInfo.java
@@ -30,9 +30,9 @@
import android.provider.ContactsContract.PhoneLookup;
import android.provider.ContactsContract.RawContacts;
import android.telephony.PhoneNumberUtils;
+import android.telephony.Rlog;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
-import android.telephony.Rlog;
import android.util.Log;
import com.android.i18n.phonenumbers.geocoding.PhoneNumberOfflineGeocoder;
@@ -595,7 +595,8 @@
pn = util.parse(number, countryIso);
if (VDBG) Rlog.v(TAG, "- parsed number: " + pn);
} catch (NumberParseException e) {
- Rlog.w(TAG, "getGeoDescription: NumberParseException for incoming number '" + number + "'");
+ Rlog.w(TAG, "getGeoDescription: NumberParseException for incoming number '"
+ + Rlog.pii(TAG, number) + "'");
}
if (pn != null) {
diff --git a/wifi/java/android/net/wifi/aware/DiscoverySession.java b/wifi/java/android/net/wifi/aware/DiscoverySession.java
index 156c3fd..82b3792 100644
--- a/wifi/java/android/net/wifi/aware/DiscoverySession.java
+++ b/wifi/java/android/net/wifi/aware/DiscoverySession.java
@@ -18,6 +18,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.SystemApi;
import android.net.wifi.RttManager;
import android.util.Log;
@@ -33,7 +34,8 @@
* <ul>
* <li>Sending messages: {@link #sendMessage(PeerHandle, int, byte[])} method.
* <li>Creating a network-specifier when requesting a Aware connection:
- * {@link #createNetworkSpecifier(PeerHandle, byte[])}.
+ * {@link #createNetworkSpecifierOpen(PeerHandle)} or
+ * {@link #createNetworkSpecifierPassphrase(PeerHandle, String)}.
* </ul>
* The {@link #destroy()} method must be called to destroy discovery sessions once they are
* no longer needed.
@@ -255,7 +257,7 @@
* <p>
* This method should be used when setting up a connection with a peer discovered through Aware
* discovery or communication (in such scenarios the MAC address of the peer is shielded by
- * an opaque peer ID handle). If a Aware connection is needed to a peer discovered using other
+ * an opaque peer ID handle). If an Aware connection is needed to a peer discovered using other
* OOB (out-of-band) mechanism then use the alternative
* {@link WifiAwareSession#createNetworkSpecifierOpen(int, byte[])} method - which uses the
* peer's MAC address.
@@ -263,24 +265,22 @@
* Note: per the Wi-Fi Aware specification the roles are fixed - a Subscriber is an INITIATOR
* and a Publisher is a RESPONDER.
* <p>
- * To set up an encrypted link use the {@link #createNetworkSpecifierPmk(PeerHandle, byte[])}
- * or {@link #createNetworkSpecifierPassphrase(PeerHandle, String)} APIs.
+ * To set up an encrypted link use the
+ * {@link #createNetworkSpecifierPassphrase(PeerHandle, String)} API.
*
* @param peerHandle The peer's handle obtained through
* {@link DiscoverySessionCallback#onServiceDiscovered(PeerHandle, byte[], java.util.List)}
* or
* {@link DiscoverySessionCallback#onMessageReceived(PeerHandle, byte[])}.
* On a RESPONDER this value is used to gate the acceptance of a connection
- * request from only that peer. A RESPONDER may specify a null - indicating
- * that it will accept connection requests from any device.
+ * request from only that peer. A RESPONDER may specify a {@code null} -
+ * indicating that it will accept connection requests from any device.
*
* @return A string to be used to construct
* {@link android.net.NetworkRequest.Builder#setNetworkSpecifier(String)} to pass to
* {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest,
* android.net.ConnectivityManager.NetworkCallback)}
* [or other varieties of that API].
- *
- * @hide
*/
public String createNetworkSpecifierOpen(@Nullable PeerHandle peerHandle) {
if (mTerminated) {
@@ -309,7 +309,7 @@
* <p>
* This method should be used when setting up a connection with a peer discovered through Aware
* discovery or communication (in such scenarios the MAC address of the peer is shielded by
- * an opaque peer ID handle). If a Aware connection is needed to a peer discovered using other
+ * an opaque peer ID handle). If an Aware connection is needed to a peer discovered using other
* OOB (out-of-band) mechanism then use the alternative
* {@link WifiAwareSession#createNetworkSpecifierPassphrase(int, byte[], String)} method -
* which uses the peer's MAC address.
@@ -322,12 +322,11 @@
* byte[], java.util.List)} or
* {@link DiscoverySessionCallback#onMessageReceived(PeerHandle,
* byte[])}. On a RESPONDER this value is used to gate the acceptance of a connection request
- * from only that peer. A RESPONDER may specify a null - indicating that
- * it will accept connection requests from any device.
+ * from only that peer. A RESPONDER may specify a {@code null} - indicating
+ * that it will accept connection requests from any device.
* @param passphrase The passphrase to be used to encrypt the link. The PMK is generated from
* the passphrase. Use the
- * {@link #createNetworkSpecifierPmk(PeerHandle, byte[])} to specify the
- * PMK directly or {@link #createNetworkSpecifierOpen(PeerHandle)} to
+ * {@link #createNetworkSpecifierOpen(PeerHandle)} API to
* specify an open (unencrypted) link.
*
* @return A string to be used to construct
@@ -335,8 +334,6 @@
* {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest,
* android.net.ConnectivityManager.NetworkCallback)}
* [or other varieties of that API].
- *
- * * @hide
*/
public String createNetworkSpecifierPassphrase(@Nullable PeerHandle peerHandle,
@NonNull String passphrase) {
@@ -371,7 +368,7 @@
* <p>
* This method should be used when setting up a connection with a peer discovered through Aware
* discovery or communication (in such scenarios the MAC address of the peer is shielded by
- * an opaque peer ID handle). If a Aware connection is needed to a peer discovered using other
+ * an opaque peer ID handle). If an Aware connection is needed to a peer discovered using other
* OOB (out-of-band) mechanism then use the alternative
* {@link WifiAwareSession#createNetworkSpecifierPmk(int, byte[], byte[])} method - which uses
* the peer's MAC address.
@@ -400,6 +397,7 @@
*
* @hide
*/
+ @SystemApi
public String createNetworkSpecifierPmk(@Nullable PeerHandle peerHandle,
@NonNull byte[] pmk) {
if (pmk == null || pmk.length == 0) {
@@ -423,27 +421,4 @@
return mgr.createNetworkSpecifier(mClientId, role, mSessionId, peerHandle, pmk, null);
}
-
- /**
- * Place-holder for {@code createNetworkSpecifierOpen(PeerHandle)}. Present to enable
- * development of replacements CL without causing an API change. Will be removed when new
- * APIs are exposed.
- *
- * @param peerHandle The peer's handle obtained through
- * {@link DiscoverySessionCallback#onServiceDiscovered(PeerHandle,
- * byte[], java.util.List)} or
- * {@link DiscoverySessionCallback#onMessageReceived(PeerHandle,
- * byte[])}. On a RESPONDER this value is used to gate the acceptance of a connection request
- * from only that peer. A RESPONDER may specify a null - indicating that
- * it will accept connection requests from any device.
- * @param token Deprecated and ignored.
- * @return A string to be used to construct
- * {@link android.net.NetworkRequest.Builder#setNetworkSpecifier(String)} to pass to
- * {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest,
- * android.net.ConnectivityManager.NetworkCallback)}
- * [or other varieties of that API].
- */
- public String createNetworkSpecifier(@Nullable PeerHandle peerHandle, @Nullable byte[] token) {
- return createNetworkSpecifierOpen(peerHandle);
- }
}
diff --git a/wifi/java/android/net/wifi/aware/IdentityChangedListener.java b/wifi/java/android/net/wifi/aware/IdentityChangedListener.java
index cae8706..81a06e8 100644
--- a/wifi/java/android/net/wifi/aware/IdentityChangedListener.java
+++ b/wifi/java/android/net/wifi/aware/IdentityChangedListener.java
@@ -24,7 +24,8 @@
* your identity - e.g. by starting a discovery session. This actual MAC address of the
* interface may also be useful if the application uses alternative (non-Aware) discovery but needs
* to set up a Aware connection. The provided Aware discovery interface MAC address can then be used
- * in {@link WifiAwareSession#createNetworkSpecifier(int, byte[], byte[])}.
+ * in {@link WifiAwareSession#createNetworkSpecifierOpen(int, byte[])} or
+ * {@link WifiAwareSession#createNetworkSpecifierPassphrase(int, byte[], String)}.
*/
public class IdentityChangedListener {
/**
diff --git a/wifi/java/android/net/wifi/aware/PeerHandle.java b/wifi/java/android/net/wifi/aware/PeerHandle.java
index bbe9f54..cd45c52 100644
--- a/wifi/java/android/net/wifi/aware/PeerHandle.java
+++ b/wifi/java/android/net/wifi/aware/PeerHandle.java
@@ -19,9 +19,10 @@
/**
* Opaque object used to represent a Wi-Fi Aware peer. Obtained from discovery sessions in
* {@link DiscoverySessionCallback#onServiceDiscovered(PeerHandle, byte[], java.util.List)}, used
- * when sending messages e,g, {@link PublishDiscoverySession#sendMessage(PeerHandle, int, byte[])},
+ * when sending messages e,g, {@link DiscoverySession#sendMessage(PeerHandle, int, byte[])},
* or when configuring a network link to a peer, e.g.
- * {@link PublishDiscoverySession#createNetworkSpecifier(PeerHandle, byte[])}.
+ * {@link DiscoverySession#createNetworkSpecifierOpen(PeerHandle)} or
+ * {@link DiscoverySession#createNetworkSpecifierPassphrase(PeerHandle, String)}.
*/
public class PeerHandle {
/** @hide */
diff --git a/wifi/java/android/net/wifi/aware/WifiAwareManager.java b/wifi/java/android/net/wifi/aware/WifiAwareManager.java
index 7b6805c..4d3957a 100644
--- a/wifi/java/android/net/wifi/aware/WifiAwareManager.java
+++ b/wifi/java/android/net/wifi/aware/WifiAwareManager.java
@@ -65,8 +65,10 @@
* <li>Create a Aware network specifier to be used with
* {@link ConnectivityManager#requestNetwork(NetworkRequest, ConnectivityManager.NetworkCallback)}
* to set-up a Aware connection with a peer. Refer to
- * {@link DiscoverySession#createNetworkSpecifier(PeerHandle, byte[])} and
- * {@link WifiAwareSession#createNetworkSpecifier(int, byte[], byte[])}.
+ * {@link DiscoverySession#createNetworkSpecifierOpen(PeerHandle)},
+ * {@link DiscoverySession#createNetworkSpecifierPassphrase(PeerHandle, String)},
+ * {@link WifiAwareSession#createNetworkSpecifierOpen(int, byte[])}, and
+ * {@link WifiAwareSession#createNetworkSpecifierPassphrase(int, byte[], String)}.
* </ul>
* <p>
* Aware may not be usable when Wi-Fi is disabled (and other conditions). To validate that
@@ -115,8 +117,10 @@
* <li>{@link NetworkRequest.Builder#addTransportType(int)} of
* {@link android.net.NetworkCapabilities#TRANSPORT_WIFI_AWARE}.
* <li>{@link NetworkRequest.Builder#setNetworkSpecifier(String)} using
- * {@link WifiAwareSession#createNetworkSpecifier(int, byte[], byte[])} or
- * {@link DiscoverySession#createNetworkSpecifier(PeerHandle, byte[])}.
+ * {@link WifiAwareSession#createNetworkSpecifierOpen(int, byte[])},
+ * {@link WifiAwareSession#createNetworkSpecifierPassphrase(int, byte[], String)},
+ * {@link DiscoverySession#createNetworkSpecifierOpen(PeerHandle)}, or
+ * {@link DiscoverySession#createNetworkSpecifierPassphrase(PeerHandle, String)}.
* </ul>
*/
public class WifiAwareManager {
@@ -206,8 +210,10 @@
* Connection creation role is that of INITIATOR. Used to create a network specifier string
* when requesting a Aware network.
*
- * @see DiscoverySession#createNetworkSpecifier(PeerHandle, byte[])
- * @see WifiAwareSession#createNetworkSpecifier(int, byte[], byte[])
+ * @see DiscoverySession#createNetworkSpecifierOpen(PeerHandle)
+ * @see DiscoverySession#createNetworkSpecifierPassphrase(PeerHandle, String)
+ * @see WifiAwareSession#createNetworkSpecifierOpen(int, byte[])
+ * @see WifiAwareSession#createNetworkSpecifierPassphrase(int, byte[], String)
*/
public static final int WIFI_AWARE_DATA_PATH_ROLE_INITIATOR = 0;
@@ -215,8 +221,10 @@
* Connection creation role is that of RESPONDER. Used to create a network specifier string
* when requesting a Aware network.
*
- * @see DiscoverySession#createNetworkSpecifier(PeerHandle, byte[])
- * @see WifiAwareSession#createNetworkSpecifier(int, byte[], byte[])
+ * @see DiscoverySession#createNetworkSpecifierOpen(PeerHandle)
+ * @see DiscoverySession#createNetworkSpecifierPassphrase(PeerHandle, String)
+ * @see WifiAwareSession#createNetworkSpecifierOpen(int, byte[])
+ * @see WifiAwareSession#createNetworkSpecifierPassphrase(int, byte[], String)
*/
public static final int WIFI_AWARE_DATA_PATH_ROLE_RESPONDER = 1;
diff --git a/wifi/java/android/net/wifi/aware/WifiAwareSession.java b/wifi/java/android/net/wifi/aware/WifiAwareSession.java
index f48f641..895defb 100644
--- a/wifi/java/android/net/wifi/aware/WifiAwareSession.java
+++ b/wifi/java/android/net/wifi/aware/WifiAwareSession.java
@@ -18,6 +18,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.SystemApi;
import android.os.Binder;
import android.os.Handler;
import android.os.Looper;
@@ -193,15 +194,15 @@
* when using Aware discovery use the alternative network specifier method -
* {@link DiscoverySession#createNetworkSpecifierOpen(PeerHandle)}.
* <p>
- * To set up an encrypted link use the {@link #createNetworkSpecifierPmk(int, byte[], byte[])}
- * or {@link #createNetworkSpecifierPassphrase(int, byte[], String)} APIs.
+ * To set up an encrypted link use the
+ * {@link #createNetworkSpecifierPassphrase(int, byte[], String)} API.
*
* @param role The role of this device:
* {@link WifiAwareManager#WIFI_AWARE_DATA_PATH_ROLE_INITIATOR} or
* {@link WifiAwareManager#WIFI_AWARE_DATA_PATH_ROLE_RESPONDER}
* @param peer The MAC address of the peer's Aware discovery interface. On a RESPONDER this
* value is used to gate the acceptance of a connection request from only that
- * peer. A RESPONDER may specify a null - indicating that it will accept
+ * peer. A RESPONDER may specify a {@code null} - indicating that it will accept
* connection requests from any device.
*
* @return A string to be used to construct
@@ -209,8 +210,6 @@
* {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest,
* android.net.ConnectivityManager.NetworkCallback)}
* [or other varieties of that API].
- *
- * @hide
*/
public String createNetworkSpecifierOpen(@WifiAwareManager.DataPathRole int role,
@Nullable byte[] peer) {
@@ -242,12 +241,10 @@
* {@link WifiAwareManager#WIFI_AWARE_DATA_PATH_ROLE_RESPONDER}
* @param peer The MAC address of the peer's Aware discovery interface. On a RESPONDER this
* value is used to gate the acceptance of a connection request from only that
- * peer. A RESPONDER may specify a null - indicating that it will accept
+ * peer. A RESPONDER may specify a {@code null} - indicating that it will accept
* connection requests from any device.
* @param passphrase The passphrase to be used to encrypt the link. The PMK is generated from
- * the passphrase. Use the
- * {@link #createNetworkSpecifierPmk(int, byte[], byte[])} to specify the
- * PMK directly or {@link #createNetworkSpecifierOpen(int, byte[])} to
+ * the passphrase. Use {@link #createNetworkSpecifierOpen(int, byte[])} to
* specify an open (unencrypted) link.
*
* @return A string to be used to construct
@@ -255,8 +252,6 @@
* {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest,
* android.net.ConnectivityManager.NetworkCallback)}
* [or other varieties of that API].
- *
- * @hide
*/
public String createNetworkSpecifierPassphrase(@WifiAwareManager.DataPathRole int role,
@Nullable byte[] peer, @NonNull String passphrase) {
@@ -307,6 +302,7 @@
*
* @hide
*/
+ @SystemApi
public String createNetworkSpecifierPmk(@WifiAwareManager.DataPathRole int role,
@Nullable byte[] peer, @NonNull byte[] pmk) {
WifiAwareManager mgr = mMgr.get();
@@ -323,28 +319,4 @@
}
return mgr.createNetworkSpecifier(mClientId, role, peer, pmk, null);
}
-
- /**
- * Place-holder for {@code #createNetworkSpecifierOpen(int, byte[])}. Present to enable
- * development of replacements CL without causing an API change. Will be removed when new
- * APIs are exposed.
- *
- * @param role The role of this device:
- * {@link WifiAwareManager#WIFI_AWARE_DATA_PATH_ROLE_INITIATOR} or
- * {@link WifiAwareManager#WIFI_AWARE_DATA_PATH_ROLE_RESPONDER}
- * @param peer The MAC address of the peer's Aware discovery interface. On a RESPONDER this
- * value is used to gate the acceptance of a connection request from only that
- * peer. A RESPONDER may specify a null - indicating that it will accept
- * connection requests from any device.
- * @param token Deprecated and ignored.
- * @return A string to be used to construct
- * {@link android.net.NetworkRequest.Builder#setNetworkSpecifier(String)} to pass to
- * {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest,
- * android.net.ConnectivityManager.NetworkCallback)}
- * [or other varieties of that API].
- */
- public String createNetworkSpecifier(@WifiAwareManager.DataPathRole int role,
- @Nullable byte[] peer, @Nullable byte[] token) {
- return createNetworkSpecifierOpen(role, peer);
- }
}