Merge "Resolve resource ID at runtime to stabilize tests" into qt-r1-dev

am: e5cca4e40e

Change-Id: Iffa441670cb2ab0b014cf26402d7a0fc040da31b
This commit is contained in:
Junyu Lai
2019-07-05 07:48:55 -07:00
committed by android-build-merger

View File

@@ -44,6 +44,7 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.net.ConnectivityManager; import android.net.ConnectivityManager;
import android.net.ConnectivityManager.NetworkCallback; import android.net.ConnectivityManager.NetworkCallback;
import android.net.IpSecManager; import android.net.IpSecManager;
@@ -75,9 +76,6 @@ import android.util.Pair;
import androidx.test.InstrumentationRegistry; import androidx.test.InstrumentationRegistry;
import com.android.internal.R;
import com.android.internal.telephony.PhoneConstants;
import libcore.io.Streams; import libcore.io.Streams;
import java.io.FileDescriptor; import java.io.FileDescriptor;
@@ -129,6 +127,13 @@ public class ConnectivityManagerTest extends AndroidTestCase {
public static final int MIN_SUPPORTED_CELLULAR_KEEPALIVE_COUNT = 1; public static final int MIN_SUPPORTED_CELLULAR_KEEPALIVE_COUNT = 1;
public static final int MIN_SUPPORTED_WIFI_KEEPALIVE_COUNT = 3; public static final int MIN_SUPPORTED_WIFI_KEEPALIVE_COUNT = 3;
private static final String NETWORK_METERED_MULTIPATH_PREFERENCE_RES_NAME =
"config_networkMeteredMultipathPreference";
private static final String KEEPALIVE_ALLOWED_UNPRIVILEGED_RES_NAME =
"config_allowedUnprivilegedKeepalivePerUid";
private static final String KEEPALIVE_RESERVED_PER_SLOT_RES_NAME =
"config_reservedPrivilegedKeepaliveSlots";
private Context mContext; private Context mContext;
private Instrumentation mInstrumentation; private Instrumentation mInstrumentation;
private ConnectivityManager mCm; private ConnectivityManager mCm;
@@ -376,9 +381,6 @@ public class ConnectivityManagerTest extends AndroidTestCase {
final String invalidateFeature = "invalidateFeature"; final String invalidateFeature = "invalidateFeature";
final String mmsFeature = "enableMMS"; final String mmsFeature = "enableMMS";
final int failureCode = -1;
final int wifiOnlyStartFailureCode = PhoneConstants.APN_REQUEST_FAILED;
final int wifiOnlyStopFailureCode = -1;
assertStartUsingNetworkFeatureUnsupported(TYPE_MOBILE, invalidateFeature); assertStartUsingNetworkFeatureUnsupported(TYPE_MOBILE, invalidateFeature);
assertStopUsingNetworkFeatureUnsupported(TYPE_MOBILE, invalidateFeature); assertStopUsingNetworkFeatureUnsupported(TYPE_MOBILE, invalidateFeature);
@@ -672,7 +674,7 @@ public class ConnectivityManagerTest extends AndroidTestCase {
final String rawMeteredPref = Settings.Global.getString(resolver, final String rawMeteredPref = Settings.Global.getString(resolver,
NETWORK_METERED_MULTIPATH_PREFERENCE); NETWORK_METERED_MULTIPATH_PREFERENCE);
return TextUtils.isEmpty(rawMeteredPref) return TextUtils.isEmpty(rawMeteredPref)
? mContext.getResources().getInteger(R.integer.config_networkMeteredMultipathPreference) ? getIntResourceForName(NETWORK_METERED_MULTIPATH_PREFERENCE_RES_NAME)
: Integer.parseInt(rawMeteredPref); : Integer.parseInt(rawMeteredPref);
} }
@@ -1216,6 +1218,12 @@ public class ConnectivityManagerTest extends AndroidTestCase {
dropShellPermissionIdentity(); dropShellPermissionIdentity();
} }
private int getIntResourceForName(@NonNull String resName) {
final Resources r = mContext.getResources();
final int resId = r.getIdentifier(resName, "integer", "android");
return r.getInteger(resId);
}
/** /**
* Verifies that the keepalive slots are limited as customized for unprivileged requests. * Verifies that the keepalive slots are limited as customized for unprivileged requests.
*/ */
@@ -1233,10 +1241,12 @@ public class ConnectivityManagerTest extends AndroidTestCase {
return; return;
} }
final int allowedUnprivilegedPerUid = mContext.getResources().getInteger( // Resource ID might be shifted on devices that compiled with different symbols.
R.integer.config_allowedUnprivilegedKeepalivePerUid); // Thus, resolve ID at runtime is needed.
final int reservedPrivilegedSlots = mContext.getResources().getInteger( final int allowedUnprivilegedPerUid =
R.integer.config_reservedPrivilegedKeepaliveSlots); getIntResourceForName(KEEPALIVE_ALLOWED_UNPRIVILEGED_RES_NAME);
final int reservedPrivilegedSlots =
getIntResourceForName(KEEPALIVE_RESERVED_PER_SLOT_RES_NAME);
// Verifies that unprivileged request per uid cannot exceed the limit customized in the // Verifies that unprivileged request per uid cannot exceed the limit customized in the
// resource. Currently, unprivileged keepalive slots are limited to Nat-T only, this test // resource. Currently, unprivileged keepalive slots are limited to Nat-T only, this test
// does not apply to TCP. // does not apply to TCP.