Merge "[Wi-Fi] Hide Connect button when passpoint is expired"
diff --git a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
index 350c0ad..b9e39bc 100644
--- a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
@@ -596,7 +596,17 @@
mButtonsPref.setButton1Visible(canForgetNetwork);
mButtonsPref.setButton2Visible(canSignIntoNetwork);
- mButtonsPref.setButton3Visible(mWifiEntry.getLevel() != WifiEntry.WIFI_LEVEL_UNREACHABLE);
+ // If it's expired and connected, shows Disconnect button for users to disconnect it.
+ // If it's expired and not connected, hides the button and users are not able to connect it.
+ //
+ // expired connected visibility
+ // false false true show (Connect) button
+ // false true true show (Disconnect) button
+ // true false false hide button
+ // true true true show (Disconnect) button
+ mButtonsPref.setButton3Visible(mWifiEntry.getLevel() != WifiEntry.WIFI_LEVEL_UNREACHABLE
+ && (!mWifiEntry.isExpired()
+ || mWifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED));
mButtonsPref.setButton3Enabled(canConnectDisconnectNetwork);
mButtonsPref.setButton3Text(getConnectDisconnectButtonTextResource());
mButtonsPref.setButton3Icon(getConnectDisconnectButtonIconResource());