Launch Wi-Fi details for connected Wi-Fi network

- Since the posspoint Wi-Fi entry can be connected even if the entry is not saved

- Allow to launch Wi-Fi details when the entry is connected but not saved

Bug: 363151879
Flag: EXEMPT bugfix
Test: Manual testing
atest -c NetworkProviderSettingsTest

Change-Id: I004b8a33bdd07cb92e167039949919f255c5303e
This commit is contained in:
Weng Su
2024-09-06 07:42:15 +08:00
parent ecac69fdcf
commit 99cd495d5b
2 changed files with 52 additions and 9 deletions

View File

@@ -19,6 +19,8 @@ package com.android.settings.network;
import static android.net.wifi.WifiConfiguration.NetworkSelectionStatus.NETWORK_SELECTION_ENABLED;
import static android.os.UserManager.DISALLOW_CONFIG_WIFI;
import static com.android.wifitrackerlib.WifiEntry.CONNECTED_STATE_CONNECTED;
import android.app.Activity;
import android.app.Dialog;
import android.app.settings.SettingsEnums;
@@ -669,7 +671,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
@VisibleForTesting
void addModifyMenuIfSuitable(ContextMenu menu, WifiEntry wifiEntry) {
if (mIsAdmin && wifiEntry.isSaved()
&& wifiEntry.getConnectedState() != WifiEntry.CONNECTED_STATE_CONNECTED) {
&& wifiEntry.getConnectedState() != CONNECTED_STATE_CONNECTED) {
menu.add(Menu.NONE, MENU_ID_MODIFY, 0 /* order */, R.string.wifi_modify);
}
}
@@ -765,7 +767,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
private void showDialog(WifiEntry wifiEntry, int dialogMode) {
if (WifiUtils.isNetworkLockedDown(getActivity(), wifiEntry.getWifiConfiguration())
&& wifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED) {
&& wifiEntry.getConnectedState() == CONNECTED_STATE_CONNECTED) {
RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getActivity(),
RestrictedLockUtilsInternal.getDeviceOwner(getActivity()));
return;
@@ -1068,8 +1070,8 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
@VisibleForTesting
void launchNetworkDetailsFragment(LongPressWifiEntryPreference pref) {
final WifiEntry wifiEntry = pref.getWifiEntry();
if (!wifiEntry.isSaved()) {
Log.w(TAG, "launchNetworkDetailsFragment: Don't launch because WifiEntry isn't saved!");
if (!wifiEntry.isSaved() && wifiEntry.getConnectedState() != CONNECTED_STATE_CONNECTED) {
Log.w(TAG, "Don't launch Wi-Fi details because WifiEntry is not saved or connected!");
return;
}
final Context context = requireContext();