diff options
author | Cody Kesting <ckesting@google.com> | 2019-10-31 11:14:04 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-10-31 11:14:04 -0700 |
commit | c1af638d46cfa719b46e3015901aa6364e2c6272 (patch) | |
tree | c55c5b532981453ebc2c808b7528816e6e98152a | |
parent | 7701c2d1325ec4cc032fce9aef68b43407edfd9f (diff) | |
parent | a3f9ff7fbc29b5ea705fe66b85b90594f523ca23 (diff) | |
download | ike-c1af638d46cfa719b46e3015901aa6364e2c6272.tar.gz |
Merge "Provide whether EAP-AKA' is supported to EAP-AKA." am: 15f3dbc19a
am: a3f9ff7fbc
Change-Id: I3db8d3d826ba9f905f6555116ac4bdeb3b252f85
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); } |