<string name="wifi_menu_scan">Scan</string>
<!-- Menu option to Wi-Fi advanced settings -->
<string name="wifi_menu_advanced">Advanced</string>
+ <!-- Menu option to show app icons instead of WiFi strength [CHAR LIMIT=20]-->
+ <string name="wifi_menu_apps">Show Apps</string>
+ <!-- Menu option to show WiFi strength icons [CHAR LIMIT=20]-->
+ <string name="wifi_menu_apps_strength">Show WiFi Strength</string>
<!-- Menu option to connect to a Wi-Fi network -->
<string name="wifi_menu_connect">Connect to network</string>
+ <!-- Menu option to remember a temporary Wi-Fi network -->
+ <string name="wifi_menu_remember">Remember network</string>
<!-- Menu option to delete a Wi-Fi network -->
<string name="wifi_menu_forget">Forget network</string>
<!-- Menu option to modify a Wi-Fi network configuration -->
import com.android.settings.R;
import android.content.Context;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.StateListDrawable;
+ import android.net.NetworkInfo;
import android.net.NetworkInfo.DetailedState;
+ import android.net.NetworkInfo.State;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiConfiguration.KeyMgmt;
if (preference instanceof AccessPoint) {
mSelectedAccessPoint = (AccessPoint) preference;
menu.setHeaderTitle(mSelectedAccessPoint.ssid);
- if (mSelectedAccessPoint.getLevel() != -1
- && mSelectedAccessPoint.getState() == null) {
- menu.add(Menu.NONE, MENU_ID_CONNECT, 0, R.string.wifi_menu_connect);
+ if (mSelectedAccessPoint.getLevel() != -1) {
+ int connectStringRes = 0;
+ if (mSelectedAccessPoint.getState() == null) {
+ connectStringRes = R.string.wifi_menu_connect;
+ } else if (mSelectedAccessPoint.networkId == INVALID_NETWORK_ID &&
+ mSelectedAccessPoint.getNetworkInfo().getState()
+ != State.DISCONNECTED) {
+ // State is non-null (and not disconnected) but this network has no
+ // configuration, which means it is ephemeral. Allow the user to save the
+ // configuration permanently (but still issue this as a CONNECT command).
+ connectStringRes = R.string.wifi_menu_remember;
+ }
+
+ if (connectStringRes != 0) {
+ menu.add(Menu.NONE, MENU_ID_CONNECT, 0, connectStringRes);
+ }
}
if (mSelectedAccessPoint.networkId != INVALID_NETWORK_ID) {
- if (ActivityManager.getCurrentUser() == UserHandle.USER_OWNER) {
- menu.add(Menu.NONE, MENU_ID_FORGET, 0, R.string.wifi_menu_forget);
- }
+ menu.add(Menu.NONE, MENU_ID_FORGET, 0, R.string.wifi_menu_forget);
menu.add(Menu.NONE, MENU_ID_MODIFY, 0, R.string.wifi_menu_modify);
if (mSelectedAccessPoint.security != AccessPoint.SECURITY_NONE) {