From ec10578884e3c23b3585bccde76e9c12978dda05 Mon Sep 17 00:00:00 2001 From: Irfan Sheriff Date: Thu, 8 Sep 2011 21:17:49 -0700 Subject: [PATCH] Update new API in debug settings Bug: 5247957 Change-Id: I594e55a928a2870cb153b042df74a2b354bee073 --- .../settings/wifi/WifiConfigController.java | 15 ++-- .../settings/wifi/p2p/WifiP2pDialog.java | 13 ++- .../settings/wifi/p2p/WifiP2pEnabler.java | 24 +---- .../settings/wifi/p2p/WifiP2pPeer.java | 5 +- .../settings/wifi/p2p/WifiP2pSettings.java | 90 +++++++++++-------- 5 files changed, 69 insertions(+), 78 deletions(-) diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java index 0ecb8a976f0..44dc8451416 100644 --- a/src/com/android/settings/wifi/WifiConfigController.java +++ b/src/com/android/settings/wifi/WifiConfigController.java @@ -33,8 +33,7 @@ import android.net.wifi.WifiConfiguration.KeyMgmt; import android.net.wifi.WifiConfiguration.ProxySettings; import android.net.wifi.WifiConfiguration.Status; import android.net.wifi.WifiInfo; -import android.net.wifi.Wps; -import android.net.wifi.Wps.Setup; +import android.net.wifi.WpsInfo; import android.security.Credentials; import android.security.KeyStore; import android.text.Editable; @@ -484,20 +483,20 @@ public class WifiConfigController implements TextWatcher, return MANUAL; } - Wps getWpsConfig() { - Wps config = new Wps(); + WpsInfo getWpsConfig() { + WpsInfo config = new WpsInfo(); switch (mNetworkSetupSpinner.getSelectedItemPosition()) { case WPS_PBC: - config.setup = Setup.PBC; + config.setup = WpsInfo.PBC; break; case WPS_KEYPAD: - config.setup = Setup.KEYPAD; + config.setup = WpsInfo.KEYPAD; break; case WPS_DISPLAY: - config.setup = Setup.DISPLAY; + config.setup = WpsInfo.DISPLAY; break; default: - config.setup = Setup.INVALID; + config.setup = WpsInfo.INVALID; Log.e(TAG, "WPS not selected type"); return config; } diff --git a/src/com/android/settings/wifi/p2p/WifiP2pDialog.java b/src/com/android/settings/wifi/p2p/WifiP2pDialog.java index 8c061688eaa..e6889052ca7 100644 --- a/src/com/android/settings/wifi/p2p/WifiP2pDialog.java +++ b/src/com/android/settings/wifi/p2p/WifiP2pDialog.java @@ -19,8 +19,7 @@ package com.android.settings.wifi.p2p; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; -import android.net.wifi.Wps; -import android.net.wifi.Wps.Setup; +import android.net.wifi.WpsInfo; import android.net.wifi.p2p.WifiP2pConfig; import android.net.wifi.p2p.WifiP2pDevice; import android.os.Bundle; @@ -64,21 +63,21 @@ public class WifiP2pDialog extends AlertDialog implements AdapterView.OnItemSele public WifiP2pConfig getConfig() { WifiP2pConfig config = new WifiP2pConfig(); config.deviceAddress = mDeviceAddress.getText().toString(); - config.wps = new Wps(); + config.wps = new WpsInfo(); switch (mWpsSetupIndex) { case WPS_PBC: - config.wps.setup = Setup.PBC; + config.wps.setup = WpsInfo.PBC; break; case WPS_KEYPAD: - config.wps.setup = Setup.KEYPAD; + config.wps.setup = WpsInfo.KEYPAD; config.wps.pin = ((TextView) mView.findViewById(R.id.wps_pin)). getText().toString(); break; case WPS_DISPLAY: - config.wps.setup = Setup.DISPLAY; + config.wps.setup = WpsInfo.DISPLAY; break; default: - config.wps.setup = Setup.PBC; + config.wps.setup = WpsInfo.PBC; break; } return config; diff --git a/src/com/android/settings/wifi/p2p/WifiP2pEnabler.java b/src/com/android/settings/wifi/p2p/WifiP2pEnabler.java index b812d971b3b..0747d64edf5 100644 --- a/src/com/android/settings/wifi/p2p/WifiP2pEnabler.java +++ b/src/com/android/settings/wifi/p2p/WifiP2pEnabler.java @@ -23,7 +23,6 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.wifi.p2p.WifiP2pManager; -import android.os.Handler; import android.os.Message; import android.preference.CheckBoxPreference; import android.preference.Preference; @@ -39,7 +38,6 @@ public class WifiP2pEnabler implements Preference.OnPreferenceChangeListener { private final Context mContext; private final CheckBoxPreference mCheckBox; private final IntentFilter mIntentFilter; - private final Handler mHandler = new WifiP2pHandler(); private WifiP2pManager mWifiP2pManager; private WifiP2pManager.Channel mChannel; @@ -61,7 +59,7 @@ public class WifiP2pEnabler implements Preference.OnPreferenceChangeListener { mWifiP2pManager = (WifiP2pManager) context.getSystemService(Context.WIFI_P2P_SERVICE); if (mWifiP2pManager != null) { - mChannel = mWifiP2pManager.initialize(mContext, mHandler); + mChannel = mWifiP2pManager.initialize(mContext, mContext.getMainLooper(), null); if (mChannel == null) { //Failure to set up connection Log.e(TAG, "Failed to set up connection with wifi p2p service"); @@ -116,24 +114,4 @@ public class WifiP2pEnabler implements Preference.OnPreferenceChangeListener { } } - private class WifiP2pHandler extends Handler { - @Override - public void handleMessage(Message msg) { - switch (msg.what) { - case WifiP2pManager.HANDLER_DISCONNECTION: - //Failure to set up connection - Log.e(TAG, "Lost connection with wifi p2p service"); - mWifiP2pManager = null; - mCheckBox.setEnabled(false); - break; - case WifiP2pManager.ENABLE_P2P_FAILED: - mCheckBox.setEnabled(true); - break; - default: - //Ignore - break; - } - } - } - } diff --git a/src/com/android/settings/wifi/p2p/WifiP2pPeer.java b/src/com/android/settings/wifi/p2p/WifiP2pPeer.java index 35ae15a76a1..1eb810eb68e 100644 --- a/src/com/android/settings/wifi/p2p/WifiP2pPeer.java +++ b/src/com/android/settings/wifi/p2p/WifiP2pPeer.java @@ -22,7 +22,6 @@ import android.content.Context; import android.net.wifi.WifiManager; import android.net.wifi.p2p.WifiP2pManager; import android.net.wifi.p2p.WifiP2pDevice; -import android.net.wifi.p2p.WifiP2pDevice.Status; import android.preference.Preference; import android.text.TextUtils; import android.view.View; @@ -74,7 +73,7 @@ public class WifiP2pPeer extends Preference { // devices go in the order of the status if (device.status != other.device.status) { - return device.status.ordinal() < other.device.status.ordinal() ? -1 : 1; + return device.status < other.device.status ? -1 : 1; } // Sort by name/address @@ -99,6 +98,6 @@ public class WifiP2pPeer extends Preference { Context context = getContext(); mSignal.setImageLevel(getLevel()); String[] statusArray = context.getResources().getStringArray(R.array.wifi_p2p_status); - setSummary(statusArray[device.status.ordinal()]); + setSummary(statusArray[device.status]); } } diff --git a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java index d83201287b9..985f8c5ba3d 100644 --- a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java +++ b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java @@ -31,8 +31,8 @@ import android.net.wifi.p2p.WifiP2pConfig; import android.net.wifi.p2p.WifiP2pDevice; import android.net.wifi.p2p.WifiP2pDeviceList; import android.net.wifi.p2p.WifiP2pManager; +import android.net.wifi.p2p.WifiP2pManager.PeerListListener; import android.os.Bundle; -import android.os.Handler; import android.os.Message; import android.preference.Preference; import android.preference.PreferenceActivity; @@ -53,7 +53,8 @@ import java.util.Collection; /* * Displays Wi-fi p2p settings UI */ -public class WifiP2pSettings extends SettingsPreferenceFragment { +public class WifiP2pSettings extends SettingsPreferenceFragment + implements PeerListListener { private static final String TAG = "WifiP2pSettings"; private static final int MENU_ID_SEARCH = Menu.FIRST; @@ -62,7 +63,6 @@ public class WifiP2pSettings extends SettingsPreferenceFragment { private final IntentFilter mIntentFilter = new IntentFilter(); - private final Handler mHandler = new WifiP2pHandler(); private WifiP2pManager mWifiP2pManager; private WifiP2pManager.Channel mChannel; private WifiP2pDialog mConnectDialog; @@ -81,17 +81,15 @@ public class WifiP2pSettings extends SettingsPreferenceFragment { if (WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION.equals(action)) { //TODO: nothing right now } else if (WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION.equals(action)) { - if (mWifiP2pManager != null) mWifiP2pManager.requestPeers(mChannel); + if (mWifiP2pManager != null) { + mWifiP2pManager.requestPeers(mChannel, WifiP2pSettings.this); + } } else if (WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION.equals(action)) { if (mWifiP2pManager == null) return; NetworkInfo networkInfo = (NetworkInfo) intent.getParcelableExtra( WifiP2pManager.EXTRA_NETWORK_INFO); if (networkInfo.isConnected()) { - Log.d(TAG, "Start peer connections"); - mWifiP2pManager.startPeerCommunication(); - } else { - Log.d(TAG, "Stop peer connections"); - mWifiP2pManager.stopPeerCommunication(); + Log.d(TAG, "Connected"); } } } @@ -109,7 +107,7 @@ public class WifiP2pSettings extends SettingsPreferenceFragment { final Activity activity = getActivity(); mWifiP2pManager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE); if (mWifiP2pManager != null) { - mChannel = mWifiP2pManager.initialize(activity, mHandler); + mChannel = mWifiP2pManager.initialize(activity, getActivity().getMainLooper(), null); if (mChannel == null) { //Failure to set up connection Log.e(TAG, "Failed to set up connection with wifi p2p service"); @@ -126,7 +124,15 @@ public class WifiP2pSettings extends SettingsPreferenceFragment { if (which == DialogInterface.BUTTON_POSITIVE) { WifiP2pConfig config = mConnectDialog.getConfig(); if (mWifiP2pManager != null) { - mWifiP2pManager.connect(mChannel, config); + mWifiP2pManager.connect(mChannel, config, + new WifiP2pManager.ActionListener() { + public void onSuccess() { + Log.d(TAG, " connect success"); + } + public void onFailure(int reason) { + Log.d(TAG, " connect fail " + reason); + } + }); } } } @@ -138,7 +144,14 @@ public class WifiP2pSettings extends SettingsPreferenceFragment { public void onClick(DialogInterface dialog, int which) { if (which == DialogInterface.BUTTON_POSITIVE) { if (mWifiP2pManager != null) { - mWifiP2pManager.removeGroup(mChannel); + mWifiP2pManager.removeGroup(mChannel, new WifiP2pManager.ActionListener() { + public void onSuccess() { + Log.d(TAG, " remove group success"); + } + public void onFailure(int reason) { + Log.d(TAG, " remove group fail " + reason); + } + }); } } } @@ -151,7 +164,16 @@ public class WifiP2pSettings extends SettingsPreferenceFragment { super.onResume(); getActivity().registerReceiver(mReceiver, mIntentFilter); - if (mWifiP2pManager != null) mWifiP2pManager.discoverPeers(mChannel); + if (mWifiP2pManager != null) { + mWifiP2pManager.discoverPeers(mChannel, new WifiP2pManager.ActionListener() { + public void onSuccess() { + Log.d(TAG, " discover success"); + } + public void onFailure(int reason) { + Log.d(TAG, " discover fail " + reason); + } + }); + } } @Override @@ -176,12 +198,26 @@ public class WifiP2pSettings extends SettingsPreferenceFragment { switch (item.getItemId()) { case MENU_ID_SEARCH: if (mWifiP2pManager != null) { - mWifiP2pManager.discoverPeers(mChannel); + mWifiP2pManager.discoverPeers(mChannel, new WifiP2pManager.ActionListener() { + public void onSuccess() { + Log.d(TAG, " discover success"); + } + public void onFailure(int reason) { + Log.d(TAG, " discover fail " + reason); + } + }); } return true; case MENU_ID_CREATE_GROUP: if (mWifiP2pManager != null) { - mWifiP2pManager.createGroup(mChannel); + mWifiP2pManager.createGroup(mChannel, new WifiP2pManager.ActionListener() { + public void onSuccess() { + Log.d(TAG, " create group success"); + } + public void onFailure(int reason) { + Log.d(TAG, " create group fail " + reason); + } + }); } return true; case MENU_ID_ADVANCED: @@ -195,7 +231,7 @@ public class WifiP2pSettings extends SettingsPreferenceFragment { public boolean onPreferenceTreeClick(PreferenceScreen screen, Preference preference) { if (preference instanceof WifiP2pPeer) { mSelectedWifiPeer = (WifiP2pPeer) preference; - if (mSelectedWifiPeer.device.status == WifiP2pDevice.Status.CONNECTED) { + if (mSelectedWifiPeer.device.status == WifiP2pDevice.CONNECTED) { showDialog(DIALOG_DISCONNECT); } else { showDialog(DIALOG_CONNECT); @@ -222,7 +258,7 @@ public class WifiP2pSettings extends SettingsPreferenceFragment { return null; } - private void updatePeers(WifiP2pDeviceList peers) { + public void onPeersAvailable(WifiP2pDeviceList peers) { final PreferenceScreen preferenceScreen = getPreferenceScreen(); preferenceScreen.removeAll(); @@ -230,24 +266,4 @@ public class WifiP2pSettings extends SettingsPreferenceFragment { preferenceScreen.addPreference(new WifiP2pPeer(getActivity(), peer)); } } - - private class WifiP2pHandler extends Handler { - @Override - public void handleMessage(Message message) { - switch (message.what) { - case WifiP2pManager.HANDLER_DISCONNECTION: - //Failure to set up connection - Log.e(TAG, "Lost connection with wifi p2p service"); - mWifiP2pManager = null; - break; - case WifiP2pManager.RESPONSE_PEERS: - updatePeers(mWifiP2pManager.peersInResponse(message)); - break; - default: - //Ignore - break; - } - } - } - }