Remove bottom padding below wifi preference.

- show bottom padding only when top bar is using static View
- hide wifi preference when ProgressBar is used
- show bottom padding when top bar is using static View and
  wifi preference is hidden.
- rename wifi_config_padding to content_padding, as it is not
  just for wifi config but for acquiring default hight of
  @id/content
- update screen state correctly

Bug: 3502220
Change-Id: I86c89435f43d6bd016a78f7afeb5f477f63d0696
This commit is contained in:
Daisuke Miyakawa
2011-03-01 16:07:39 -08:00
parent 851e68a97c
commit dfd492df3f
2 changed files with 55 additions and 34 deletions

View File

@@ -80,10 +80,17 @@
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_marginBottom="0dip"> android:layout_marginBottom="0dip">
<!-- Padding for @id/content shown when keyboard isn't available -->
<View
android:id="@+id/content_padding"
android:layout_width="match_parent"
android:layout_height="370dip"
android:visibility="gone" />
<FrameLayout <FrameLayout
android:id="@+id/wifi_settings_fragment_layout" android:id="@+id/wifi_settings_fragment_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="370dip"> android:layout_height="377dip">
<fragment <fragment
class="com.android.settings.wifi.WifiSettings" class="com.android.settings.wifi.WifiSettings"
android:id="@+id/wifi_setup_fragment" android:id="@+id/wifi_setup_fragment"
@@ -99,12 +106,6 @@
android:layout_marginTop="10dip" android:layout_marginTop="10dip"
android:layout_alignParentLeft="true" android:layout_alignParentLeft="true"
android:visibility="gone" /> android:visibility="gone" />
<View
android:id="@+id/wifi_config_padding"
android:layout_width="match_parent"
android:layout_height="360dip"
android:layout_marginTop="10dip"
android:visibility="gone" />
<LinearLayout <LinearLayout
android:id="@+id/connecting_status_layout" android:id="@+id/connecting_status_layout"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@@ -82,8 +82,8 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
/** Used for resizing a padding above title. Hiden when software keyboard is shown. */ /** Used for resizing a padding above title. Hiden when software keyboard is shown. */
private View mTopPadding; private View mTopPadding;
/** Used for resizing a padding inside Config UI. Hiden when software keyboard is shown. */ /** Used for resizing a padding of main content. Hiden when software keyboard is shown. */
private View mWifiConfigPadding; private View mContentPadding;
private TextView mTitleView; private TextView mTitleView;
/** /**
@@ -171,7 +171,7 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
// At first, Wifi module doesn't return SCANNING state (it's too early), so we manually // At first, Wifi module doesn't return SCANNING state (it's too early), so we manually
// show it. // show it.
showScanningStatus(); showScanningProgressBar();
} }
private void initViews() { private void initViews() {
@@ -202,7 +202,7 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
mBackButton.setOnClickListener(this); mBackButton.setOnClickListener(this);
mTopPadding = findViewById(R.id.top_padding); mTopPadding = findViewById(R.id.top_padding);
mWifiConfigPadding = findViewById(R.id.wifi_config_padding); mContentPadding = findViewById(R.id.content_padding);
mWifiSettingsFragmentLayout = findViewById(R.id.wifi_settings_fragment_layout); mWifiSettingsFragmentLayout = findViewById(R.id.wifi_settings_fragment_layout);
mConnectingStatusLayout = findViewById(R.id.connecting_status_layout); mConnectingStatusLayout = findViewById(R.id.connecting_status_layout);
@@ -228,14 +228,14 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
} }
} }
private void restoreFirstButtonVisibilityState() { private void restoreFirstVisibilityState() {
showDefaultTitle(); showDefaultTitle();
mAddNetworkButton.setVisibility(View.VISIBLE); mAddNetworkButton.setVisibility(View.VISIBLE);
mRefreshButton.setVisibility(View.VISIBLE); mRefreshButton.setVisibility(View.VISIBLE);
mSkipOrNextButton.setVisibility(View.VISIBLE); mSkipOrNextButton.setVisibility(View.VISIBLE);
mConnectButton.setVisibility(View.GONE); mConnectButton.setVisibility(View.GONE);
mBackButton.setVisibility(View.GONE); mBackButton.setVisibility(View.GONE);
setPaddingVisibility(View.VISIBLE, View.GONE); setPaddingVisibility(View.VISIBLE);
} }
@Override @Override
@@ -288,10 +288,14 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
// Let users know the device is working correctly though currently there's // Let users know the device is working correctly though currently there's
// no visible network on the list. // no visible network on the list.
if (mWifiSettings.getAccessPointsCount() == 0) { if (mWifiSettings.getAccessPointsCount() == 0) {
showScanningProgressBar(); showScanningState();
} else { } else {
// Users already see available networks. // Users already see available networks.
showDisconnectedProgressBar(); showDisconnectedProgressBar();
if (mScreenState == SCREEN_STATE_DISCONNECTED) {
mWifiSettingsFragmentLayout.setVisibility(View.VISIBLE);
mBottomPadding.setVisibility(View.GONE);
}
} }
break; break;
} }
@@ -316,6 +320,10 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
private void showDisconnectedState(String stateString) { private void showDisconnectedState(String stateString) {
showDisconnectedProgressBar(); showDisconnectedProgressBar();
if (mScreenState == SCREEN_STATE_DISCONNECTED) {
mWifiSettingsFragmentLayout.setVisibility(View.VISIBLE);
mBottomPadding.setVisibility(View.GONE);
}
mAddNetworkButton.setEnabled(true); mAddNetworkButton.setEnabled(true);
mRefreshButton.setEnabled(true); mRefreshButton.setEnabled(true);
} }
@@ -419,7 +427,9 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
mBottomPadding.setVisibility(View.GONE); mBottomPadding.setVisibility(View.GONE);
} }
private void showScanningStatus() { private void showScanningState() {
setPaddingVisibility(View.VISIBLE);
mWifiSettingsFragmentLayout.setVisibility(View.GONE);
showScanningProgressBar(); showScanningProgressBar();
} }
@@ -435,6 +445,8 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
* "Add network" button, meaning there's no selected access point. * "Add network" button, meaning there's no selected access point.
*/ */
/* package */ void showConfigUi(AccessPoint selectedAccessPoint, boolean edit) { /* package */ void showConfigUi(AccessPoint selectedAccessPoint, boolean edit) {
mScreenState = SCREEN_STATE_EDITING;
if (selectedAccessPoint != null && if (selectedAccessPoint != null &&
(selectedAccessPoint.security == AccessPoint.SECURITY_WEP || (selectedAccessPoint.security == AccessPoint.SECURITY_WEP ||
selectedAccessPoint.security == AccessPoint.SECURITY_PSK)) { selectedAccessPoint.security == AccessPoint.SECURITY_PSK)) {
@@ -600,14 +612,14 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
// When a user press "Back" button after pressing "Connect" button, we want to cancel // When a user press "Back" button after pressing "Connect" button, we want to cancel
// the "Connect" request and refresh the whole Wifi status. // the "Connect" request and refresh the whole Wifi status.
restoreFirstButtonVisibilityState(); restoreFirstVisibilityState();
mSkipOrNextButton.setEnabled(true); mSkipOrNextButton.setEnabled(true);
changeNextButtonState(false); // Skip changeNextButtonState(false); // Skip
// Wifi list becomes empty for a moment. We show "scanning" effect to a user so that // Wifi list becomes empty for a moment. We show "scanning" effect to a user so that
// he/she won't be astonished there. This stops once the scan finishes. // he/she won't be astonished there. This stops once the scan finishes.
showScanningProgressBar(); showScanningState();
// Remembered networks may be re-used during SetupWizard, which confuse users. // Remembered networks may be re-used during SetupWizard, which confuse users.
// We force the module to forget them to reduce UX complexity // We force the module to forget them to reduce UX complexity
@@ -620,18 +632,22 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
mWifiManager.forgetNetwork(config.networkId); mWifiManager.forgetNetwork(config.networkId);
} }
mWifiSettingsFragmentLayout.setVisibility(View.GONE);
refreshAccessPoints(true); refreshAccessPoints(true);
} else { // During user's Wifi configuration. } else { // During user's Wifi configuration.
mScreenState = SCREEN_STATE_DISCONNECTED;
mWifiSettings.resumeWifiScan(); mWifiSettings.resumeWifiScan();
restoreFirstButtonVisibilityState(); restoreFirstVisibilityState();
mAddNetworkButton.setEnabled(true); mAddNetworkButton.setEnabled(true);
mRefreshButton.setEnabled(true); mRefreshButton.setEnabled(true);
mSkipOrNextButton.setEnabled(true); mSkipOrNextButton.setEnabled(true);
mWifiSettingsFragmentLayout.setVisibility(View.VISIBLE);
showDisconnectedProgressBar();
} }
mWifiSettingsFragmentLayout.setVisibility(View.VISIBLE); setPaddingVisibility(View.VISIBLE);
mConnectingStatusLayout.setVisibility(View.GONE); mConnectingStatusLayout.setVisibility(View.GONE);
final ViewGroup parent = (ViewGroup)findViewById(R.id.wifi_config_ui); final ViewGroup parent = (ViewGroup)findViewById(R.id.wifi_config_ui);
parent.removeAllViews(); parent.removeAllViews();
@@ -659,7 +675,11 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
// If we already show some of access points but the bar still shows "scanning" state, it // If we already show some of access points but the bar still shows "scanning" state, it
// should be stopped. // should be stopped.
if (mProgressBar.isIndeterminate() && accessPoints.size() > 0) { if (mProgressBar.isIndeterminate() && accessPoints.size() > 0) {
showTopDividerWithProgressBar(); showDisconnectedProgressBar();
if (mScreenState == SCREEN_STATE_DISCONNECTED) {
mWifiSettingsFragmentLayout.setVisibility(View.VISIBLE);
mBottomPadding.setVisibility(View.GONE);
}
mAddNetworkButton.setEnabled(true); mAddNetworkButton.setEnabled(true);
mRefreshButton.setEnabled(true); mRefreshButton.setEnabled(true);
} }
@@ -678,7 +698,7 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
// state. Instead we manually show previous status here. // state. Instead we manually show previous status here.
showDisconnectedState(Summary.get(this, mPreviousNetworkState)); showDisconnectedState(Summary.get(this, mPreviousNetworkState));
} else { } else {
showScanningStatus(); showScanningState();
} }
if (disconnectNetwork) { if (disconnectNetwork) {
@@ -756,24 +776,24 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
} }
} }
/** Note: doesn't affect bottom padding */
// Used by WifiConfigUiForSetupWizardXL // Used by WifiConfigUiForSetupWizardXL
/* package */ void setPaddingVisibility(int visibility) { /* package */ void setPaddingVisibility(int visibility) {
Log.d("@@@", "setPaddingVisibilyty: " + visibility, new RuntimeException()); mTopPadding.setVisibility(visibility);
setPaddingVisibility(visibility, visibility); mContentPadding.setVisibility(visibility);
}
/** Note: doesn't affect bottom padding */
private void setPaddingVisibility(int topPaddingVisibility, int configVisibility) {
mTopPadding.setVisibility(topPaddingVisibility);
mWifiConfigPadding.setVisibility(configVisibility);
} }
private void showDisconnectedProgressBar() { private void showDisconnectedProgressBar() {
mProgressBar.setVisibility(View.GONE); // The device may report DISCONNECTED during connecting to a network, at which we don't
mProgressBar.setIndeterminate(false); // want to lose bottom padding of top divider implicitly added by ProgressBar.
mTopDividerNoProgress.setVisibility(View.VISIBLE); if (mScreenState == SCREEN_STATE_DISCONNECTED) {
mBottomPadding.setVisibility(View.VISIBLE); mProgressBar.setVisibility(View.GONE);
mProgressBar.setIndeterminate(false);
mTopDividerNoProgress.setVisibility(View.VISIBLE);
} else {
mProgressBar.setVisibility(View.VISIBLE);
mProgressBar.setIndeterminate(false);
mTopDividerNoProgress.setVisibility(View.GONE);
}
} }
/** /**