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 <TextView
android:id="@+id/wifi_setup_title" android:id="@+id/wifi_setup_title"
android:layout_width="fill_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentLeft="true" android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
@@ -39,13 +39,13 @@
android:id="@+id/scanning_progress_bar" android:id="@+id/scanning_progress_bar"
android:layout_width="100dip" android:layout_width="100dip"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_above="@+id/scanning_progress_text" android:layout_above="@+id/scanning_progress_text"
android:layout_alignParentRight="true"
style="?android:attr/progressBarStyleHorizontal" /> style="?android:attr/progressBarStyleHorizontal" />
<TextView <TextView
android:id="@+id/scanning_progress_text" android:id="@+id/scanning_progress_text"
android:layout_width="fill_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_above="@+id/top_divider" android:layout_above="@+id/top_divider"
@@ -85,27 +85,23 @@
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
</FrameLayout> </FrameLayout>
<LinearLayout
<RelativeLayout
android:id="@+id/right_buttons" android:id="@+id/right_buttons"
android:layout_width="300dip" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"> android:layout_alignParentBottom="true">
<Button android:id="@+id/wifi_setup_connect" <Button android:id="@+id/wifi_setup_connect"
android:layout_width="260dip" android:layout_width="260dip"
android:layout_height="60dip" android:layout_height="60dip"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:textSize="24dip" android:textSize="24dip"
android:text="@string/wifi_connect" android:text="@string/wifi_connect"
android:visibility="gone" /> android:visibility="gone" />
<Button android:id="@+id/wifi_setup_forget" <Button android:id="@+id/wifi_setup_forget"
android:layout_width="260dip" android:layout_width="260dip"
android:layout_height="60dip" android:layout_height="60dip"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:textSize="24dip" android:textSize="24dip"
android:text="@string/wifi_forget" android:text="@string/wifi_forget"
android:visibility="gone" /> android:visibility="gone" />
@@ -113,8 +109,6 @@
<Button android:id="@+id/wifi_setup_add_network" <Button android:id="@+id/wifi_setup_add_network"
android:layout_width="260dip" android:layout_width="260dip"
android:layout_height="60dip" android:layout_height="60dip"
android:layout_above="@+id/wifi_setup_refresh_list"
android:layout_alignParentRight="true"
android:textSize="24dip" android:textSize="24dip"
android:text="@string/wifi_setup_add_network" android:text="@string/wifi_setup_add_network"
android:enabled="false" /> android:enabled="false" />
@@ -122,8 +116,6 @@
<Button android:id="@+id/wifi_setup_refresh_list" <Button android:id="@+id/wifi_setup_refresh_list"
android:layout_width="260dip" android:layout_width="260dip"
android:layout_height="60dip" android:layout_height="60dip"
android:layout_above="@+id/wifi_setup_skip_or_next"
android:layout_alignParentRight="true"
android:textSize="24dip" android:textSize="24dip"
android:text="@string/wifi_setup_refresh_list" android:text="@string/wifi_setup_refresh_list"
android:enabled="false" /> android:enabled="false" />
@@ -132,12 +124,10 @@
android:layout_width="260dip" android:layout_width="260dip"
android:layout_height="60dip" android:layout_height="60dip"
android:layout_marginTop="30dip" android:layout_marginTop="30dip"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:textSize="24dip" android:textSize="24dip"
android:text="@string/wifi_setup_skip" android:text="@string/wifi_setup_skip"
android:enabled="false" /> android:enabled="false" />
</RelativeLayout> </LinearLayout>
<Button android:id="@+id/wifi_setup_detail" <Button android:id="@+id/wifi_setup_detail"
android:layout_width="260dip" 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. // This is a tweak for letting users not confused with WiFi state during a first first steps.
private int mIgnoringWifiNotificationCount = 5; private int mIgnoringWifiNotificationCount = 5;
private boolean mShowingConnectingMessageManually = false;
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
@@ -127,6 +129,14 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
break; break;
case R.id.wifi_setup_connect: case R.id.wifi_setup_connect:
mWifiSettings.submit(); 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; break;
case R.id.wifi_setup_forget: case R.id.wifi_setup_forget:
mWifiSettings.forget(); mWifiSettings.forget();
@@ -167,10 +177,8 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
break; break;
} }
case CONNECTING: { case CONNECTING: {
mProgressBar.setIndeterminate(false); mShowingConnectingMessageManually = false;
mProgressBar.setProgress(1); showConnectingStatus();
mStatusText.setText(R.string.wifi_setup_status_connecting);
mProgressText.setText(Summary.get(this, state));
break; break;
} }
case CONNECTED: { case CONNECTED: {
@@ -200,12 +208,15 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis
break; break;
} }
default: // Not connected. default: // Not connected.
if (mWifiSettings.getAccessPointsCount() == 0 && if (mWifiSettings.getAccessPointsCount() == 0 && mIgnoringWifiNotificationCount > 0) {
mIgnoringWifiNotificationCount > 0) {
mIgnoringWifiNotificationCount--; mIgnoringWifiNotificationCount--;
mProgressBar.setIndeterminate(true); mProgressBar.setIndeterminate(true);
mProgressText.setText(Summary.get(this, DetailedState.SCANNING)); mProgressText.setText(Summary.get(this, DetailedState.SCANNING));
} else if (mShowingConnectingMessageManually && mIgnoringWifiNotificationCount > 0) {
mIgnoringWifiNotificationCount--;
showConnectingStatus();
} else { } else {
mShowingConnectingMessageManually = false;
mProgressBar.setIndeterminate(false); mProgressBar.setIndeterminate(false);
mProgressBar.setProgress(0); mProgressBar.setProgress(0);
mStatusText.setText(R.string.wifi_setup_status_select_network); 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() { private void enableButtons() {
((Button)findViewById(R.id.wifi_setup_refresh_list)).setEnabled(true); ((Button)findViewById(R.id.wifi_setup_refresh_list)).setEnabled(true);
((Button)findViewById(R.id.wifi_setup_add_network)).setEnabled(true); ((Button)findViewById(R.id.wifi_setup_add_network)).setEnabled(true);