Show "connecting" just after user's connect action

Bug: 3164013
Change-Id: Ide367d51bcd7fcd97403c92ee049a1bb2633e272
This commit is contained in:
Daisuke Miyakawa
2010-11-03 20:04:32 -07:00
parent e79f990490
commit f3cd94652f
2 changed files with 32 additions and 24 deletions

View File

@@ -26,7 +26,7 @@
<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"
@@ -39,13 +39,13 @@
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"
@@ -85,27 +85,23 @@
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" />
@@ -113,8 +109,6 @@
<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" />
@@ -122,8 +116,6 @@
<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" />
@@ -132,12 +124,10 @@
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"

View File

@@ -74,6 +74,8 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
// 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);
@@ -127,6 +129,14 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
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();
@@ -167,10 +177,8 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
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: {
@@ -200,12 +208,15 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
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);
@@ -217,6 +228,13 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
}
}
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);