Merge "Revise layout for Wifi Setup in XLarge screen" into honeycomb
This commit is contained in:
committed by
Android (Google) Code Review
commit
c69e178350
@@ -22,7 +22,7 @@ import android.widget.Button;
|
||||
|
||||
/**
|
||||
* Foundation interface glues between Activities and UIs like
|
||||
* {@link WifiDialog} or {@link WifiConfigPreference}.
|
||||
* {@link WifiDialog} or {@link WifiConfigUiForSetupWizardXL}.
|
||||
*/
|
||||
public interface WifiConfigUiBase {
|
||||
public Context getContext();
|
||||
|
@@ -18,7 +18,6 @@ package com.android.settings.wifi;
|
||||
|
||||
import com.android.settings.R;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.os.Handler;
|
||||
import android.util.Log;
|
||||
@@ -38,16 +37,17 @@ public class WifiConfigUiForSetupWizardXL implements WifiConfigUiBase, OnFocusCh
|
||||
private static final String TAG = "SetupWizard";
|
||||
|
||||
private Button mConnectButton;
|
||||
private Button mForgetButton;
|
||||
private Button mCancelButton;
|
||||
|
||||
private final Activity mActivity;
|
||||
private final WifiSettingsForSetupWizardXL mActivity;
|
||||
private View mView;
|
||||
private WifiConfigController mController;
|
||||
private AccessPoint mAccessPoint;
|
||||
private boolean mEdit;
|
||||
private Handler mHandler = new Handler();
|
||||
|
||||
private final InputMethodManager mInputMethodManager;
|
||||
|
||||
private LayoutInflater mInflater;
|
||||
|
||||
/**
|
||||
@@ -58,10 +58,10 @@ public class WifiConfigUiForSetupWizardXL implements WifiConfigUiBase, OnFocusCh
|
||||
* @param edit
|
||||
*/
|
||||
public WifiConfigUiForSetupWizardXL(
|
||||
Activity activity, ViewGroup parent, AccessPoint accessPoint, boolean edit) {
|
||||
WifiSettingsForSetupWizardXL activity, ViewGroup parent,
|
||||
AccessPoint accessPoint, boolean edit) {
|
||||
mActivity = activity;
|
||||
mConnectButton = (Button)activity.findViewById(R.id.wifi_setup_connect);
|
||||
mForgetButton = (Button)activity.findViewById(R.id.wifi_setup_forget);
|
||||
mCancelButton = (Button)activity.findViewById(R.id.wifi_setup_cancel);
|
||||
mAccessPoint = accessPoint;
|
||||
mEdit = edit;
|
||||
@@ -70,12 +70,14 @@ public class WifiConfigUiForSetupWizardXL implements WifiConfigUiBase, OnFocusCh
|
||||
mView = mInflater.inflate(R.layout.wifi_config_ui_for_setup_wizard, parent, true);
|
||||
mController = new WifiConfigController(this, mView, mAccessPoint, edit);
|
||||
|
||||
// Assumes R.id.password is inside security_fields.
|
||||
// TODO: confirm it is ok to assume R.id.password is the only EditText to be focused, and
|
||||
// R.id.security_fields is the only parent for possible EditTexts. Possibly we need to
|
||||
// check parentand detect visibility manually.
|
||||
mInputMethodManager = (InputMethodManager)
|
||||
activity.getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
|
||||
if (mView.findViewById(R.id.security_fields).getVisibility() == View.VISIBLE) {
|
||||
requestFocusAndShowKeyboard(R.id.password);
|
||||
} else if (mView.findViewById(R.id.type).getVisibility() == View.VISIBLE) {
|
||||
// Add Network flow.
|
||||
requestFocusAndShowKeyboard(R.id.ssid);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,13 +92,17 @@ public class WifiConfigUiForSetupWizardXL implements WifiConfigUiBase, OnFocusCh
|
||||
} else if (!(viewToBeFocused instanceof EditText)) {
|
||||
Log.w(TAG, "password field is not EditText");
|
||||
} else {
|
||||
// After acquiring the focus, we show software keyboard.
|
||||
viewToBeFocused.setOnFocusChangeListener(this);
|
||||
final boolean requestFocusResult = viewToBeFocused.requestFocus();
|
||||
Log.i(TAG, String.format("Focus request %s.",
|
||||
(requestFocusResult ? "successful" : "failed")));
|
||||
if (!requestFocusResult) {
|
||||
viewToBeFocused.setOnFocusChangeListener(null);
|
||||
if (viewToBeFocused.isFocused()) {
|
||||
mInputMethodManager.showSoftInput(viewToBeFocused, 0);
|
||||
} else {
|
||||
// After acquiring the focus, we show software keyboard.
|
||||
viewToBeFocused.setOnFocusChangeListener(this);
|
||||
final boolean requestFocusResult = viewToBeFocused.requestFocus();
|
||||
Log.i(TAG, String.format("Focus request %s.",
|
||||
(requestFocusResult ? "successful" : "failed")));
|
||||
if (!requestFocusResult) {
|
||||
viewToBeFocused.setOnFocusChangeListener(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -131,7 +137,7 @@ public class WifiConfigUiForSetupWizardXL implements WifiConfigUiBase, OnFocusCh
|
||||
|
||||
@Override
|
||||
public Button getForgetButton() {
|
||||
return mForgetButton;
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -143,16 +149,11 @@ public class WifiConfigUiForSetupWizardXL implements WifiConfigUiBase, OnFocusCh
|
||||
public void setSubmitButton(CharSequence text) {
|
||||
mConnectButton.setVisibility(View.VISIBLE);
|
||||
mConnectButton.setText(text);
|
||||
|
||||
// test
|
||||
mForgetButton.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setForgetButton(CharSequence text) {
|
||||
// In XL setup screen, we won't show Forget button for simplifying the UI.
|
||||
// mForgetButton.setVisibility(View.VISIBLE);
|
||||
// mForgetButton.setText(text);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -177,12 +178,9 @@ public class WifiConfigUiForSetupWizardXL implements WifiConfigUiBase, OnFocusCh
|
||||
Log.d(TAG, "Ignoring setTitle");
|
||||
}
|
||||
|
||||
private static class FocusRunnable implements Runnable {
|
||||
final InputMethodManager mInputMethodManager;
|
||||
private class FocusRunnable implements Runnable {
|
||||
final View mViewToBeFocused;
|
||||
public FocusRunnable(Context context, View viewToBeFocused) {
|
||||
mInputMethodManager = (InputMethodManager)
|
||||
context.getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
public FocusRunnable(View viewToBeFocused) {
|
||||
mViewToBeFocused = viewToBeFocused;
|
||||
}
|
||||
|
||||
@@ -191,7 +189,9 @@ public class WifiConfigUiForSetupWizardXL implements WifiConfigUiBase, OnFocusCh
|
||||
// mInputMethodManager.focusIn(mViewToBeFocused);
|
||||
final boolean showSoftInputResult =
|
||||
mInputMethodManager.showSoftInput(mViewToBeFocused, 0);
|
||||
if (!showSoftInputResult) {
|
||||
if (showSoftInputResult) {
|
||||
mActivity.setPaddingVisibility(View.GONE);
|
||||
} else {
|
||||
Log.w(TAG, "Failed to show software keyboard ");
|
||||
}
|
||||
}
|
||||
@@ -201,7 +201,7 @@ public class WifiConfigUiForSetupWizardXL implements WifiConfigUiBase, OnFocusCh
|
||||
public void onFocusChange(View view, boolean hasFocus) {
|
||||
view.setOnFocusChangeListener(null);
|
||||
if (hasFocus) {
|
||||
mHandler.post(new FocusRunnable(mActivity, view));
|
||||
mHandler.post(new FocusRunnable(view));
|
||||
}
|
||||
}
|
||||
}
|
@@ -567,7 +567,7 @@ public class WifiSettings extends SettingsPreferenceFragment
|
||||
public void onClick(DialogInterface dialogInterface, int button) {
|
||||
if (mInXlSetupWizard) {
|
||||
if (button == WifiDialog.BUTTON_FORGET && mSelectedAccessPoint != null) {
|
||||
((WifiSettingsForSetupWizardXL)getActivity()).onForgetButtonPressed();
|
||||
forget();
|
||||
} else if (button == WifiDialog.BUTTON_SUBMIT) {
|
||||
((WifiSettingsForSetupWizardXL)getActivity()).onConnectButtonPressed();
|
||||
}
|
||||
|
@@ -29,10 +29,10 @@ import android.os.Handler;
|
||||
import android.preference.PreferenceCategory;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ContextMenu.ContextMenuInfo;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.ContextMenu;
|
||||
import android.view.ContextMenu.ContextMenuInfo;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
@@ -69,16 +69,31 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
|
||||
|
||||
private WifiManager mWifiManager;
|
||||
|
||||
private TextView mProgressText;
|
||||
/**
|
||||
* Used for resizing a padding above title. Hiden when software keyboard is shown.
|
||||
*/
|
||||
private View mTopPadding;
|
||||
|
||||
/**
|
||||
* Used for resizing a padding inside Config UI. Hiden when software keyboard is shown.
|
||||
*/
|
||||
private View mWifiConfigPadding;
|
||||
|
||||
private TextView mTitleView;
|
||||
/**
|
||||
* The name of a network currently connecting, or trying to connect.
|
||||
* This may be empty ("") at first, and updated when configuration is changed.
|
||||
*/
|
||||
private CharSequence mNetworkName = "";
|
||||
private CharSequence mEditingTitle;
|
||||
|
||||
private ProgressBar mProgressBar;
|
||||
private WifiSettings mWifiSettings;
|
||||
private TextView mStatusText;
|
||||
|
||||
private Button mAddNetworkButton;
|
||||
private Button mRefreshButton;
|
||||
private Button mSkipOrNextButton;
|
||||
private Button mConnectButton;
|
||||
private Button mForgetButton;
|
||||
private Button mBackButton;
|
||||
|
||||
// true when a user already pressed "Connect" button and waiting for connection.
|
||||
@@ -130,14 +145,11 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
|
||||
}
|
||||
|
||||
public void setup() {
|
||||
mProgressText = (TextView)findViewById(R.id.scanning_progress_text);
|
||||
mTitleView = (TextView)findViewById(R.id.wifi_setup_title);
|
||||
mProgressBar = (ProgressBar)findViewById(R.id.scanning_progress_bar);
|
||||
mProgressBar.setMax(2);
|
||||
mStatusText = (TextView)findViewById(R.id.wifi_setup_status);
|
||||
|
||||
mProgressText.setText(Summary.get(this, DetailedState.SCANNING));
|
||||
mProgressBar.setIndeterminate(true);
|
||||
mStatusText.setText(R.string.wifi_setup_status_scanning);
|
||||
|
||||
mAddNetworkButton = (Button)findViewById(R.id.wifi_setup_add_network);
|
||||
mAddNetworkButton.setOnClickListener(this);
|
||||
@@ -147,11 +159,12 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
|
||||
mSkipOrNextButton.setOnClickListener(this);
|
||||
mConnectButton = (Button)findViewById(R.id.wifi_setup_connect);
|
||||
mConnectButton.setOnClickListener(this);
|
||||
mForgetButton = (Button)findViewById(R.id.wifi_setup_forget);
|
||||
mForgetButton.setOnClickListener(this);
|
||||
mBackButton = (Button)findViewById(R.id.wifi_setup_cancel);
|
||||
mBackButton.setOnClickListener(this);
|
||||
|
||||
mTopPadding = findViewById(R.id.top_padding);
|
||||
mWifiConfigPadding = findViewById(R.id.wifi_config_padding);
|
||||
|
||||
// At first, Wifi module doesn't return SCANNING state (it's too early), so we manually
|
||||
// show it.
|
||||
showScanningStatus();
|
||||
@@ -163,8 +176,8 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
|
||||
mRefreshButton.setVisibility(View.VISIBLE);
|
||||
mSkipOrNextButton.setVisibility(View.VISIBLE);
|
||||
mConnectButton.setVisibility(View.GONE);
|
||||
mForgetButton.setVisibility(View.GONE);
|
||||
mBackButton.setVisibility(View.GONE);
|
||||
setPaddingVisibility(View.VISIBLE, View.GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -188,9 +201,6 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
|
||||
} else if (view == mConnectButton) {
|
||||
if (DEBUG) Log.d(TAG, "Connect button pressed");
|
||||
onConnectButtonPressed();
|
||||
} else if (view == mForgetButton) {
|
||||
if (DEBUG) Log.d(TAG, "Forget button pressed");
|
||||
onForgetButtonPressed();
|
||||
} else if (view == mBackButton) {
|
||||
if (DEBUG) Log.d(TAG, "Back button pressed");
|
||||
onBackButtonPressed();
|
||||
@@ -222,7 +232,6 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
|
||||
// no visible network on the list.
|
||||
if (mWifiSettings.getAccessPointsCount() == 0) {
|
||||
mProgressBar.setIndeterminate(true);
|
||||
mProgressText.setText(Summary.get(this, DetailedState.SCANNING));
|
||||
} else {
|
||||
// Users already connected to a network, or see available networks.
|
||||
mProgressBar.setIndeterminate(false);
|
||||
@@ -234,14 +243,14 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
|
||||
break;
|
||||
}
|
||||
case CONNECTED: {
|
||||
hideSoftwareKeyboard();
|
||||
|
||||
// If the device is already connected to a wifi without users' "Connect" request,
|
||||
// this can be false here. We want to treat it as "after connect action".
|
||||
mAfterConnectAction = true;
|
||||
|
||||
mProgressBar.setIndeterminate(false);
|
||||
mProgressBar.setProgress(2);
|
||||
mProgressText.setText(Summary.get(this, state));
|
||||
mStatusText.setText(R.string.wifi_setup_status_proceed_to_next);
|
||||
|
||||
mConnectButton.setVisibility(View.GONE);
|
||||
mAddNetworkButton.setVisibility(View.GONE);
|
||||
@@ -250,8 +259,6 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
|
||||
mSkipOrNextButton.setVisibility(View.VISIBLE);
|
||||
mSkipOrNextButton.setEnabled(true);
|
||||
mHandler.removeCallbacks(mSkipButtonEnabler);
|
||||
|
||||
mProgressText.setText(Summary.get(this, state));
|
||||
break;
|
||||
}
|
||||
default: // DISCONNECTED, FAILED
|
||||
@@ -264,31 +271,34 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
|
||||
mProgressBar.setIndeterminate(false);
|
||||
mProgressBar.setProgress(0);
|
||||
|
||||
mProgressText.setText(stateString);
|
||||
|
||||
mAddNetworkButton.setEnabled(true);
|
||||
mRefreshButton.setEnabled(true);
|
||||
}
|
||||
|
||||
private void showConnectingStatus() {
|
||||
// We save this title and show it when authentication failed.
|
||||
mEditingTitle = mTitleView.getText();
|
||||
showTitleForNetworkEditing();
|
||||
mProgressBar.setIndeterminate(false);
|
||||
mProgressBar.setProgress(1);
|
||||
mStatusText.setText(R.string.wifi_setup_status_connecting);
|
||||
mProgressText.setText(Summary.get(this, DetailedState.CONNECTING));
|
||||
setPaddingVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
private void showTitleForNetworkEditing() {
|
||||
if (TextUtils.isEmpty(mNetworkName) && mWifiConfig != null) {
|
||||
mNetworkName = mWifiConfig.getController().getConfig().SSID;
|
||||
}
|
||||
mTitleView.setText(getString(R.string.wifi_setup_title_editing_network, mNetworkName));
|
||||
}
|
||||
|
||||
private void showScanningStatus() {
|
||||
mProgressBar.setIndeterminate(true);
|
||||
((Button)findViewById(R.id.wifi_setup_add_network)).setEnabled(false);
|
||||
((Button)findViewById(R.id.wifi_setup_refresh_list)).setEnabled(false);
|
||||
mProgressText.setText(Summary.get(this, DetailedState.SCANNING));
|
||||
mStatusText.setText(R.string.wifi_setup_status_scanning);
|
||||
}
|
||||
|
||||
private void onAddNetworkButtonPressed() {
|
||||
// onConfigUiShown() will be called.
|
||||
mWifiSettings.onAddNetworkPressed();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -318,34 +328,39 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
|
||||
mWifiConfig = new WifiConfigUiForSetupWizardXL(this, parent, selectedAccessPoint, edit);
|
||||
final View view = mWifiConfig.getView();
|
||||
if (selectedAccessPoint != null) {
|
||||
view.findViewById(R.id.wifi_general_info).setVisibility(View.VISIBLE);
|
||||
((TextView)view.findViewById(R.id.title)).setText(selectedAccessPoint.getTitle());
|
||||
((TextView)view.findViewById(R.id.summary)).setText(selectedAccessPoint.getSummary());
|
||||
mNetworkName = selectedAccessPoint.getTitle().toString();
|
||||
mTitleView.setText(getString(R.string.wifi_setup_title_editing_network, mNetworkName));
|
||||
} else {
|
||||
mNetworkName = "";
|
||||
mTitleView.setText(R.string.wifi_setup_title_add_network);
|
||||
view.findViewById(R.id.wifi_general_info).setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
if (selectedAccessPoint != null &&
|
||||
selectedAccessPoint.security == AccessPoint.SECURITY_NONE) {
|
||||
mStatusText.setText(R.string.wifi_setup_status_unsecured_network);
|
||||
// onConnectButtonPressed() will change visibility status.
|
||||
mConnectButton.performClick();
|
||||
} else if (selectedAccessPoint != null &&
|
||||
selectedAccessPoint.security == AccessPoint.SECURITY_EAP) {
|
||||
mStatusText.setText(R.string.wifi_setup_status_eap_not_supported);
|
||||
mConnectButton.setVisibility(View.GONE);
|
||||
|
||||
mSkipOrNextButton.setVisibility(View.GONE);
|
||||
mAddNetworkButton.setVisibility(View.GONE);
|
||||
mRefreshButton.setVisibility(View.GONE);
|
||||
mBackButton.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
mStatusText.setText(R.string.wifi_setup_status_edit_network);
|
||||
mConnectButton.setVisibility(View.VISIBLE);
|
||||
|
||||
// WifiConfigController shows Connect button as "Save" when edit==true and a user
|
||||
// tried to connect the network.
|
||||
// In SetupWizard, we just show the button as "Connect" instead.
|
||||
mConnectButton.setText(R.string.wifi_connect);
|
||||
|
||||
mSkipOrNextButton.setVisibility(View.GONE);
|
||||
mAddNetworkButton.setVisibility(View.GONE);
|
||||
mRefreshButton.setVisibility(View.GONE);
|
||||
mBackButton.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
// WifiConfigController shows Connect button as "Save" when edit==true and a user
|
||||
// tried to connect the network.
|
||||
// In SetupWizard, we just show the button as "Connect" instead.
|
||||
mConnectButton.setText(R.string.wifi_connect);
|
||||
|
||||
mAddNetworkButton.setVisibility(View.GONE);
|
||||
mRefreshButton.setVisibility(View.GONE);
|
||||
mSkipOrNextButton.setVisibility(View.GONE);
|
||||
mBackButton.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
// May be called when user press "connect" button in WifiDialog
|
||||
@@ -388,21 +403,6 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
|
||||
mRefreshButton.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
// May be called when user press "forget" button in WifiDialog
|
||||
/* package */ void onForgetButtonPressed() {
|
||||
mWifiSettings.forget();
|
||||
|
||||
refreshAccessPoints(false);
|
||||
restoreFirstButtonVisibilityState();
|
||||
mAddNetworkButton.setEnabled(true);
|
||||
mRefreshButton.setEnabled(true);
|
||||
mSkipOrNextButton.setEnabled(true);
|
||||
|
||||
mProgressBar.setIndeterminate(false);
|
||||
mProgressBar.setProgress(0);
|
||||
mProgressText.setText(getString(R.string.wifi_setup_not_connected));
|
||||
}
|
||||
|
||||
private void onBackButtonPressed() {
|
||||
if (mAfterConnectAction) {
|
||||
if (DEBUG) Log.d(TAG, "Back button pressed after connect action.");
|
||||
@@ -421,7 +421,6 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
|
||||
} else { // During user's Wifi configuration.
|
||||
mWifiSettings.resumeWifiScan();
|
||||
|
||||
mStatusText.setText(R.string.wifi_setup_status_select_network);
|
||||
restoreFirstButtonVisibilityState();
|
||||
|
||||
mAddNetworkButton.setEnabled(true);
|
||||
@@ -470,7 +469,8 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when {@link WifiSettings} received {@link WifiManager#SUPPLICANT_CHANGED_ACTION}.
|
||||
* Called when {@link WifiSettings} received
|
||||
* {@link WifiManager#SUPPLICANT_STATE_CHANGED_ACTION}.
|
||||
*/
|
||||
/* package */ void onSupplicantStateChanged(Intent intent) {
|
||||
final int errorCode = intent.getIntExtra(WifiManager.EXTRA_SUPPLICANT_ERROR, -1);
|
||||
@@ -485,11 +485,17 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
|
||||
*/
|
||||
private void onAuthenticationFailure() {
|
||||
mAfterConnectAction = false;
|
||||
mStatusText.setText(R.string.wifi_setup_status_edit_network);
|
||||
mSkipOrNextButton.setVisibility(View.GONE);
|
||||
mConnectButton.setVisibility(View.VISIBLE);
|
||||
mConnectButton.setEnabled(true);
|
||||
|
||||
if (!TextUtils.isEmpty(mEditingTitle)) {
|
||||
mTitleView.setText(mEditingTitle);
|
||||
} else {
|
||||
Log.w(TAG, "Title during editing/adding a network was empty.");
|
||||
showTitleForNetworkEditing();
|
||||
}
|
||||
|
||||
// Restore View status which was tweaked on connection.
|
||||
final View wpsFieldView = findViewById(R.id.wps_fields);
|
||||
if (wpsFieldView != null) {
|
||||
@@ -502,21 +508,36 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
|
||||
final View passwordView = findViewById(R.id.password);
|
||||
if (passwordView != null) {
|
||||
if (passwordView.isFocused()) {
|
||||
final InputMethodManager inputMethodManager = (InputMethodManager)
|
||||
getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
inputMethodManager.showSoftInput(passwordView, 0);
|
||||
} else {
|
||||
mWifiConfig.requestFocusAndShowKeyboard(R.id.password);
|
||||
setPaddingVisibility(View.GONE);
|
||||
}
|
||||
mWifiConfig.requestFocusAndShowKeyboard(R.id.password);
|
||||
}
|
||||
}
|
||||
}
|
||||
final View typeView = findViewById(R.id.type);
|
||||
if (typeView != null) {
|
||||
typeView.setVisibility(mPreviousTypeVisibility);
|
||||
if (mPreviousTypeVisibility == View.VISIBLE && mWifiConfig != null) {
|
||||
final View ssidView = findViewById(R.id.ssid);
|
||||
if (ssidView != null) {
|
||||
if (ssidView.isFocused()) {
|
||||
setPaddingVisibility(View.GONE);
|
||||
}
|
||||
mWifiConfig.requestFocusAndShowKeyboard(R.id.ssid);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setPaddingVisibility(int visibility) {
|
||||
setPaddingVisibility(visibility, visibility);
|
||||
}
|
||||
|
||||
private void setPaddingVisibility(int topPaddingVisibility, int configVisibility) {
|
||||
mTopPadding.setVisibility(topPaddingVisibility);
|
||||
mWifiConfigPadding.setVisibility(configVisibility);
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when WifiManager is requested to save a network. This method sholud include
|
||||
* WifiManager#saveNetwork() call.
|
||||
|
Reference in New Issue
Block a user