blob: 26759f811bca66a9350fd0e8ebb19e067865a34d [file] [log] [blame]
Jimmy Chen8aa308b2020-10-21 17:39:34 +08001/*
2 * Copyright (C) 2020 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package com.android.server.wifi;
17
18import android.annotation.NonNull;
19import android.hardware.wifi.supplicant.V1_4.ISupplicantStaNetworkCallback;
20
Gabriel Biren0b8acdd2021-09-28 23:14:44 +000021class SupplicantStaNetworkCallbackHidlV1_4Impl extends ISupplicantStaNetworkCallback.Stub {
22 private final SupplicantStaNetworkHalHidlImpl mNetworkHal;
Jimmy Chen8aa308b2020-10-21 17:39:34 +080023
24 /**
25 * Current configured network's framework network id.
26 */
27 private final int mFrameworkNetworkId;
28 /**
29 * Current configured network's ssid.
30 */
31 private final String mSsid;
32
33 private final String mIfaceName;
34
35 private final WifiMonitor mWifiMonitor;
36
37 private final Object mLock;
38
Gabriel Biren0b8acdd2021-09-28 23:14:44 +000039 private SupplicantStaNetworkHalHidlImpl.SupplicantStaNetworkHalCallback mCallbackV10;
Jimmy Chen8aa308b2020-10-21 17:39:34 +080040
Gabriel Biren0b8acdd2021-09-28 23:14:44 +000041 SupplicantStaNetworkCallbackHidlV1_4Impl(
42 @NonNull SupplicantStaNetworkHalHidlImpl networkHal,
Jimmy Chen8aa308b2020-10-21 17:39:34 +080043 int frameworkNetworkId, @NonNull String ssid,
44 @NonNull String ifaceName, @NonNull Object lock, @NonNull WifiMonitor wifiMonitor) {
45 mNetworkHal = networkHal;
46
47 mFrameworkNetworkId = frameworkNetworkId;
48 mSsid = ssid;
49
50 mIfaceName = ifaceName;
51 mLock = lock;
52 mWifiMonitor = wifiMonitor;
53
54 mCallbackV10 = mNetworkHal.new SupplicantStaNetworkHalCallback(
55 frameworkNetworkId, ssid);
56 }
57
58 @Override
59 public void onNetworkEapSimGsmAuthRequest(
60 ISupplicantStaNetworkCallback.NetworkRequestEapSimGsmAuthParams params) {
61 mCallbackV10.onNetworkEapSimGsmAuthRequest(params);
62 }
63
64 @Override
65 public void onNetworkEapSimUmtsAuthRequest(
66 ISupplicantStaNetworkCallback.NetworkRequestEapSimUmtsAuthParams params) {
67 mCallbackV10.onNetworkEapSimUmtsAuthRequest(params);
68 }
69
70 @Override
71 public void onNetworkEapIdentityRequest() {
72 mCallbackV10.onNetworkEapIdentityRequest();
73 }
74
75 @Override
76 public void onTransitionDisable(int indicationBits) {
Jimmy Chenfb407d72021-01-07 11:42:16 +080077 synchronized (mLock) {
78 mNetworkHal.logCallback("onTransitionDisable");
79 int frameworkBits = 0;
80 if (0 != (indicationBits & TransitionDisableIndication.USE_WPA3_PERSONAL)) {
81 frameworkBits |= WifiMonitor.TDI_USE_WPA3_PERSONAL;
82 }
83 if (0 != (indicationBits & TransitionDisableIndication.USE_SAE_PK)) {
84 frameworkBits |= WifiMonitor.TDI_USE_SAE_PK;
85 }
86 if (0 != (indicationBits & TransitionDisableIndication.USE_WPA3_ENTERPRISE)) {
87 frameworkBits |= WifiMonitor.TDI_USE_WPA3_ENTERPRISE;
88 }
89 if (0 != (indicationBits & TransitionDisableIndication.USE_ENHANCED_OPEN)) {
90 frameworkBits |= WifiMonitor.TDI_USE_ENHANCED_OPEN;
91 }
92 if (0 == frameworkBits) return;
93
94 mWifiMonitor.broadcastTransitionDisableEvent(
95 mIfaceName, mFrameworkNetworkId, frameworkBits);
96 }
Jimmy Chen8aa308b2020-10-21 17:39:34 +080097 }
98}