P2p UI fixes

- Move Wi-Fi direct as a setting in Wi-Fi
- Handle some UI refresh issues

Change-Id: Idc43a2ca98acc4b904ca1f5fe0b1447ee612f218
This commit is contained in:
Irfan Sheriff
2012-03-07 10:54:06 -08:00
parent 37c2c2e9a2
commit 6ac5554d30
4 changed files with 28 additions and 13 deletions

View File

@@ -1195,6 +1195,8 @@
<string name="wifi_menu_wps_pbc">WPS Push Button</string>
<!-- Menu option to do WPS Pin Entry [CHAR LIMIT=20]-->
<string name="wifi_menu_wps_pin">WPS Pin Entry</string>
<!-- Menu option to launch Wi-Fi Direct settings [CHAR LIMIT=20]-->
<string name="wifi_menu_p2p">Wi-Fi Direct</string>
<!-- Menu option to scan Wi-Fi networks -->
<string name="wifi_menu_scan">Scan</string>
<!-- Menu option to Wi-Fi advanced settings -->

View File

@@ -54,11 +54,6 @@
android:key="android_beam_settings"
android:title="@string/android_beam_settings_title" />
<PreferenceScreen
android:fragment="com.android.settings.wifi.p2p.WifiP2pSettings"
android:key="wifi_p2p_settings"
android:title="@string/wifi_p2p_settings_title" />
<PreferenceScreen
android:key="mobile_network_settings"
android:title="@string/network_settings_title"

View File

@@ -60,6 +60,7 @@ import android.widget.Toast;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.wifi.p2p.WifiP2pSettings;
import java.util.ArrayList;
import java.util.Collection;
@@ -84,12 +85,13 @@ public class WifiSettings extends SettingsPreferenceFragment
private static final String TAG = "WifiSettings";
private static final int MENU_ID_WPS_PBC = Menu.FIRST;
private static final int MENU_ID_WPS_PIN = Menu.FIRST + 1;
private static final int MENU_ID_ADD_NETWORK = Menu.FIRST + 2;
private static final int MENU_ID_ADVANCED = Menu.FIRST + 3;
private static final int MENU_ID_SCAN = Menu.FIRST + 4;
private static final int MENU_ID_CONNECT = Menu.FIRST + 5;
private static final int MENU_ID_FORGET = Menu.FIRST + 6;
private static final int MENU_ID_MODIFY = Menu.FIRST + 7;
private static final int MENU_ID_P2P = Menu.FIRST + 2;
private static final int MENU_ID_ADD_NETWORK = Menu.FIRST + 3;
private static final int MENU_ID_ADVANCED = Menu.FIRST + 4;
private static final int MENU_ID_SCAN = Menu.FIRST + 5;
private static final int MENU_ID_CONNECT = Menu.FIRST + 6;
private static final int MENU_ID_FORGET = Menu.FIRST + 7;
private static final int MENU_ID_MODIFY = Menu.FIRST + 8;
private static final int WIFI_DIALOG_ID = 1;
private static final int WPS_PBC_DIALOG_ID = 2;
@@ -306,6 +308,9 @@ public class WifiSettings extends SettingsPreferenceFragment
menu.add(Menu.NONE, MENU_ID_WPS_PBC, 0, R.string.wifi_menu_wps_pbc)
.setEnabled(wifiIsEnabled)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
menu.add(Menu.NONE, MENU_ID_P2P, 0, R.string.wifi_menu_p2p)
.setEnabled(wifiIsEnabled)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
menu.add(Menu.NONE, MENU_ID_ADD_NETWORK, 0, R.string.wifi_add_network)
.setEnabled(wifiIsEnabled)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
@@ -344,6 +349,17 @@ public class WifiSettings extends SettingsPreferenceFragment
case MENU_ID_WPS_PBC:
showDialog(WPS_PBC_DIALOG_ID);
return true;
case MENU_ID_P2P:
if (getActivity() instanceof PreferenceActivity) {
((PreferenceActivity) getActivity()).startPreferencePanel(
WifiP2pSettings.class.getCanonicalName(),
null,
R.string.wifi_p2p_settings_title, null,
this, 0);
} else {
startFragment(this, WifiP2pSettings.class.getCanonicalName(), -1, null);
}
return true;
case MENU_ID_WPS_PIN:
showDialog(WPS_PIN_DIALOG_ID);
return true;

View File

@@ -175,7 +175,7 @@ public class WifiP2pSettings extends SettingsPreferenceFragment
public void onResume() {
super.onResume();
getActivity().registerReceiver(mReceiver, mIntentFilter);
startSearch();
mWifiP2pManager.requestPeers(mChannel, WifiP2pSettings.this);
}
@Override
@@ -296,9 +296,11 @@ public class WifiP2pSettings extends SettingsPreferenceFragment
mPeers = peers;
mConnectedDevices = 0;
for (WifiP2pDevice peer: peers.getDeviceList()) {
if (DBG) Log.d(TAG, " peer " + peer);
mPeersGroup.addPreference(new WifiP2pPeer(getActivity(), peer));
if (peer.status == WifiP2pDevice.CONNECTED) mConnectedDevices++;
}
if (DBG) Log.d(TAG, " mConnectedDevices " + mConnectedDevices);
}
private void handleP2pStateChanged() {
@@ -316,7 +318,7 @@ public class WifiP2pSettings extends SettingsPreferenceFragment
mPeersGroup.setEnabled(true);
preferenceScreen.addPreference(mPeersGroup);
startSearch();
if (mConnectedDevices == 0) startSearch();
}
}