<TextView
android:id="@+id/wifi_setup_title"
- android:layout_width="fill_parent"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:id="@+id/scanning_progress_bar"
android:layout_width="100dip"
android:layout_height="wrap_content"
- android:layout_alignParentRight="true"
android:layout_above="@+id/scanning_progress_text"
+ android:layout_alignParentRight="true"
style="?android:attr/progressBarStyleHorizontal" />
<TextView
android:id="@+id/scanning_progress_text"
- android:layout_width="fill_parent"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_above="@+id/top_divider"
android:layout_height="wrap_content" />
</FrameLayout>
-
- <RelativeLayout
+ <LinearLayout
android:id="@+id/right_buttons"
- android:layout_width="300dip"
- android:layout_height="match_parent"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true">
<Button android:id="@+id/wifi_setup_connect"
android:layout_width="260dip"
android:layout_height="60dip"
- android:layout_alignParentRight="true"
- android:layout_alignParentBottom="true"
android:textSize="24dip"
android:text="@string/wifi_connect"
android:visibility="gone" />
<Button android:id="@+id/wifi_setup_forget"
android:layout_width="260dip"
android:layout_height="60dip"
- android:layout_alignParentRight="true"
- android:layout_alignParentBottom="true"
android:textSize="24dip"
android:text="@string/wifi_forget"
android:visibility="gone" />
<Button android:id="@+id/wifi_setup_add_network"
android:layout_width="260dip"
android:layout_height="60dip"
- android:layout_above="@+id/wifi_setup_refresh_list"
- android:layout_alignParentRight="true"
android:textSize="24dip"
android:text="@string/wifi_setup_add_network"
android:enabled="false" />
<Button android:id="@+id/wifi_setup_refresh_list"
android:layout_width="260dip"
android:layout_height="60dip"
- android:layout_above="@+id/wifi_setup_skip_or_next"
- android:layout_alignParentRight="true"
android:textSize="24dip"
android:text="@string/wifi_setup_refresh_list"
android:enabled="false" />
android:layout_width="260dip"
android:layout_height="60dip"
android:layout_marginTop="30dip"
- android:layout_alignParentRight="true"
- android:layout_alignParentBottom="true"
android:textSize="24dip"
android:text="@string/wifi_setup_skip"
android:enabled="false" />
- </RelativeLayout>
+ </LinearLayout>
<Button android:id="@+id/wifi_setup_detail"
android:layout_width="260dip"
// This is a tweak for letting users not confused with WiFi state during a first first steps.
private int mIgnoringWifiNotificationCount = 5;
+ private boolean mShowingConnectingMessageManually = false;
+
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
break;
case R.id.wifi_setup_connect:
mWifiSettings.submit();
+
+ // updateConnectionState() isn't called soon after the user's "connect" action,
+ // and the user still sees "not connected" message for a while, which looks strange.
+ // We instead manually show "connecting" message before the system gets actual
+ // "connecting" message from Wi-Fi module.
+ showConnectingStatus();
+ mShowingConnectingMessageManually = true;
+ mIgnoringWifiNotificationCount = 2;
break;
case R.id.wifi_setup_forget:
mWifiSettings.forget();
break;
}
case CONNECTING: {
- mProgressBar.setIndeterminate(false);
- mProgressBar.setProgress(1);
- mStatusText.setText(R.string.wifi_setup_status_connecting);
- mProgressText.setText(Summary.get(this, state));
+ mShowingConnectingMessageManually = false;
+ showConnectingStatus();
break;
}
case CONNECTED: {
break;
}
default: // Not connected.
- if (mWifiSettings.getAccessPointsCount() == 0 &&
- mIgnoringWifiNotificationCount > 0) {
+ if (mWifiSettings.getAccessPointsCount() == 0 && mIgnoringWifiNotificationCount > 0) {
mIgnoringWifiNotificationCount--;
mProgressBar.setIndeterminate(true);
mProgressText.setText(Summary.get(this, DetailedState.SCANNING));
+ } else if (mShowingConnectingMessageManually && mIgnoringWifiNotificationCount > 0) {
+ mIgnoringWifiNotificationCount--;
+ showConnectingStatus();
} else {
+ mShowingConnectingMessageManually = false;
mProgressBar.setIndeterminate(false);
mProgressBar.setProgress(0);
mStatusText.setText(R.string.wifi_setup_status_select_network);
}
}
+ private void showConnectingStatus() {
+ mProgressBar.setIndeterminate(false);
+ mProgressBar.setProgress(1);
+ mStatusText.setText(R.string.wifi_setup_status_connecting);
+ mProgressText.setText(Summary.get(this, DetailedState.CONNECTING));
+ }
+
private void enableButtons() {
((Button)findViewById(R.id.wifi_setup_refresh_list)).setEnabled(true);
((Button)findViewById(R.id.wifi_setup_add_network)).setEnabled(true);