aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCody Kesting <ckesting@google.com>2019-10-31 11:14:04 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-10-31 11:14:04 -0700
commitc1af638d46cfa719b46e3015901aa6364e2c6272 (patch)
treec55c5b532981453ebc2c808b7528816e6e98152a
parent7701c2d1325ec4cc032fce9aef68b43407edfd9f (diff)
parenta3f9ff7fbc29b5ea705fe66b85b90594f523ca23 (diff)
downloadike-c1af638d46cfa719b46e3015901aa6364e2c6272.tar.gz
Merge "Provide whether EAP-AKA' is supported to EAP-AKA." am: 15f3dbc19a
am: a3f9ff7fbc Change-Id: I3db8d3d826ba9f905f6555116ac4bdeb3b252f85
-rw-r--r--src/java/com/android/ike/eap/statemachine/EapAkaMethodStateMachine.java19
-rw-r--r--src/java/com/android/ike/eap/statemachine/EapStateMachine.java7
-rw-r--r--tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaMethodStateMachineTest.java3
-rw-r--r--tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaStateTest.java3
4 files changed, 26 insertions, 6 deletions
diff --git a/src/java/com/android/ike/eap/statemachine/EapAkaMethodStateMachine.java b/src/java/com/android/ike/eap/statemachine/EapAkaMethodStateMachine.java
index bfe52213..d2daac77 100644
--- a/src/java/com/android/ike/eap/statemachine/EapAkaMethodStateMachine.java
+++ b/src/java/com/android/ike/eap/statemachine/EapAkaMethodStateMachine.java
@@ -104,13 +104,24 @@ class EapAkaMethodStateMachine extends EapSimAkaMethodStateMachine {
private static final String AKA_IDENTITY_PREFIX = "0";
private final EapAkaTypeDataDecoder mEapAkaTypeDataDecoder;
+ private final boolean mSupportsEapAkaPrime;
- EapAkaMethodStateMachine(Context context, byte[] eapIdentity, EapAkaConfig eapAkaConfig) {
+ protected EapAkaMethodStateMachine(
+ Context context, byte[] eapIdentity, EapAkaConfig eapAkaConfig) {
+ this(context, eapIdentity, eapAkaConfig, false);
+ }
+
+ EapAkaMethodStateMachine(
+ Context context,
+ byte[] eapIdentity,
+ EapAkaConfig eapAkaConfig,
+ boolean supportsEapAkaPrime) {
this(
(TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE),
eapIdentity,
eapAkaConfig,
- EapAkaTypeData.getEapAkaTypeDataDecoder());
+ EapAkaTypeData.getEapAkaTypeDataDecoder(),
+ supportsEapAkaPrime);
}
@VisibleForTesting
@@ -118,12 +129,14 @@ class EapAkaMethodStateMachine extends EapSimAkaMethodStateMachine {
TelephonyManager telephonyManager,
byte[] eapIdentity,
EapAkaConfig eapAkaConfig,
- EapAkaTypeDataDecoder eapAkaTypeDataDecoder) {
+ EapAkaTypeDataDecoder eapAkaTypeDataDecoder,
+ boolean supportsEapAkaPrime) {
super(
telephonyManager.createForSubscriptionId(eapAkaConfig.subId),
eapIdentity,
eapAkaConfig);
mEapAkaTypeDataDecoder = eapAkaTypeDataDecoder;
+ mSupportsEapAkaPrime = supportsEapAkaPrime;
transitionTo(new CreatedState());
}
diff --git a/src/java/com/android/ike/eap/statemachine/EapStateMachine.java b/src/java/com/android/ike/eap/statemachine/EapStateMachine.java
index e1d793c1..f2030a1d 100644
--- a/src/java/com/android/ike/eap/statemachine/EapStateMachine.java
+++ b/src/java/com/android/ike/eap/statemachine/EapStateMachine.java
@@ -325,8 +325,13 @@ public class EapStateMachine extends SimpleStateMachine<byte[], EapResult> {
mContext, mEapSessionConfig.eapIdentity, eapSimConfig, mSecureRandom);
case EAP_TYPE_AKA:
EapAkaConfig eapAkaConfig = (EapAkaConfig) eapMethodConfig;
+ boolean supportsEapAkaPrime =
+ mEapSessionConfig.eapConfigs.containsKey(EAP_TYPE_AKA_PRIME);
return new EapAkaMethodStateMachine(
- mContext, mEapSessionConfig.eapIdentity, eapAkaConfig);
+ mContext,
+ mEapSessionConfig.eapIdentity,
+ eapAkaConfig,
+ supportsEapAkaPrime);
case EAP_TYPE_AKA_PRIME:
EapAkaPrimeConfig eapAkaPrimeConfig = (EapAkaPrimeConfig) eapMethodConfig;
return new EapAkaPrimeMethodStateMachine(
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaMethodStateMachineTest.java b/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaMethodStateMachineTest.java
index 23c2649b..12e33c8b 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaMethodStateMachineTest.java
+++ b/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaMethodStateMachineTest.java
@@ -87,7 +87,8 @@ public class EapAkaMethodStateMachineTest {
mMockTelephonyManager,
EAP_IDENTITY_BYTES,
mEapAkaConfig,
- mMockEapAkaTypeDataDecoder);
+ mMockEapAkaTypeDataDecoder,
+ false);
verify(mMockTelephonyManager).createForSubscriptionId(SUB_ID);
}
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaStateTest.java b/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaStateTest.java
index 02ea9202..d138cb40 100644
--- a/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaStateTest.java
+++ b/tests/iketests/src/java/com/android/ike/eap/statemachine/EapAkaStateTest.java
@@ -85,7 +85,8 @@ public class EapAkaStateTest {
mMockTelephonyManager,
EAP_IDENTITY_BYTES,
mEapAkaConfig,
- mMockEapAkaTypeDataDecoder);
+ mMockEapAkaTypeDataDecoder,
+ false);
verify(mMockTelephonyManager).createForSubscriptionId(SUB_ID);
}