Attempt to show "Setting up [wifi/bluetooth]..." in UI.

Not sure it is working as intended yet, but the idea should be close to what is required.
This commit is contained in:
Peter Serwylo 2015-07-27 17:21:21 +10:00
parent 4d11c97d51
commit c57f7105e1
2 changed files with 18 additions and 9 deletions

View File

@ -327,8 +327,10 @@
<string name="swap_nearby">Nearby Swap</string> <string name="swap_nearby">Nearby Swap</string>
<string name="swap_intro">Connect and trade apps with people near you.</string> <string name="swap_intro">Connect and trade apps with people near you.</string>
<string name="swap_visible_bluetooth">Visible via Bluetooth</string> <string name="swap_visible_bluetooth">Visible via Bluetooth</string>
<string name="swap_setting_up_bluetooth">Setting up Bluetooth…</string>
<string name="swap_not_visible_bluetooth">Not visible via Bluetooth</string> <string name="swap_not_visible_bluetooth">Not visible via Bluetooth</string>
<string name="swap_visible_wifi">Visible via WiFi</string> <string name="swap_visible_wifi">Visible via WiFi</string>
<string name="swap_setting_up_wifi">Setting up WiFi…</string>
<string name="swap_not_visible_wifi">Not visible via WiFi</string> <string name="swap_not_visible_wifi">Not visible via WiFi</string>
<string name="swap_wifi_device_name">Device Name</string> <string name="swap_wifi_device_name">Device Name</string>
<string name="swap_cant_find_peers">Can\'t find who you\'re looking for?</string> <string name="swap_cant_find_peers">Can\'t find who you\'re looking for?</string>

View File

@ -118,11 +118,12 @@ public class StartSwapView extends ScrollView implements SwapWorkflowActivity.In
uiInitButtons(); uiInitButtons();
uiUpdatePeersInfo(); uiUpdatePeersInfo();
// TODO: Unregister this receiver at some point.
LocalBroadcastManager.getInstance(getActivity()).registerReceiver( LocalBroadcastManager.getInstance(getActivity()).registerReceiver(
new BroadcastReceiver() { new BroadcastReceiver() {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
uiUpdateWifi(); uiUpdateWifiNetwork();
} }
}, },
new IntentFilter(WifiStateChangeService.BROADCAST) new IntentFilter(WifiStateChangeService.BROADCAST)
@ -230,20 +231,24 @@ public class StartSwapView extends ScrollView implements SwapWorkflowActivity.In
} }
}); });
// TODO: Unregister receiver correctly...
LocalBroadcastManager.getInstance(getContext()).registerReceiver(new BroadcastReceiver() { LocalBroadcastManager.getInstance(getContext()).registerReceiver(new BroadcastReceiver() {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
if (intent.hasExtra(SwapService.EXTRA_STARTING)) { if (intent.hasExtra(SwapService.EXTRA_STARTING)) {
Log.d(TAG, "Bluetooth service is starting..."); Log.d(TAG, "Bluetooth service is starting...");
bluetoothSwitch.setEnabled(false); bluetoothSwitch.setEnabled(false);
textBluetoothVisible.setText(R.string.swap_setting_up_bluetooth);
// bluetoothSwitch.setChecked(true); // bluetoothSwitch.setChecked(true);
} else { } else {
bluetoothSwitch.setEnabled(true); bluetoothSwitch.setEnabled(true);
if (intent.hasExtra(SwapService.EXTRA_STARTED)) { if (intent.hasExtra(SwapService.EXTRA_STARTED)) {
Log.d(TAG, "Bluetooth service has started."); Log.d(TAG, "Bluetooth service has started.");
textBluetoothVisible.setText(R.string.swap_visible_bluetooth);
// bluetoothSwitch.setChecked(true); // bluetoothSwitch.setChecked(true);
} else { } else {
Log.d(TAG, "Bluetooth service has stopped."); Log.d(TAG, "Bluetooth service has stopped.");
textBluetoothVisible.setText(R.string.swap_not_visible_bluetooth);
bluetoothSwitch.setChecked(false); bluetoothSwitch.setChecked(false);
} }
} }
@ -271,39 +276,41 @@ public class StartSwapView extends ScrollView implements SwapWorkflowActivity.In
getManager().getWifiSwap().stop(); getManager().getWifiSwap().stop();
} }
uiUpdatePeersInfo(); uiUpdatePeersInfo();
uiUpdateWifi(); uiUpdateWifiNetwork();
} }
}); });
final TextView textWifiVisible = (TextView)findViewById(R.id.wifi_visible);
// TODO: Unregister receiver correctly...
LocalBroadcastManager.getInstance(getContext()).registerReceiver(new BroadcastReceiver() { LocalBroadcastManager.getInstance(getContext()).registerReceiver(new BroadcastReceiver() {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
if (intent.hasExtra(SwapService.EXTRA_STARTING)) { if (intent.hasExtra(SwapService.EXTRA_STARTING)) {
Log.d(TAG, "Bonjour/WiFi service is starting..."); Log.d(TAG, "Bonjour/WiFi service is starting...");
textWifiVisible.setText(R.string.swap_setting_up_wifi);
wifiSwitch.setEnabled(false); wifiSwitch.setEnabled(false);
wifiSwitch.setChecked(true); wifiSwitch.setChecked(true);
} else { } else {
wifiSwitch.setEnabled(true); wifiSwitch.setEnabled(true);
if (intent.hasExtra(SwapService.EXTRA_STARTED)) { if (intent.hasExtra(SwapService.EXTRA_STARTED)) {
Log.d(TAG, "Bonjour/WiFi service has started."); Log.d(TAG, "Bonjour/WiFi service has started.");
textWifiVisible.setText(R.string.swap_visible_wifi);
wifiSwitch.setChecked(true); wifiSwitch.setChecked(true);
} else { } else {
Log.d(TAG, "Bonjour/WiFi service has stopped."); Log.d(TAG, "Bonjour/WiFi service has stopped.");
textWifiVisible.setText(R.string.swap_not_visible_wifi);
wifiSwitch.setChecked(false); wifiSwitch.setChecked(false);
} }
} }
uiUpdateWifi(); uiUpdateWifiNetwork();
} }
}, new IntentFilter(SwapService.BONJOUR_STATE_CHANGE)); }, new IntentFilter(SwapService.BONJOUR_STATE_CHANGE));
uiUpdateWifi(); uiUpdateWifiNetwork();
} }
private void uiUpdateWifi() { private void uiUpdateWifiNetwork() {
final TextView textWifiVisible = (TextView)findViewById(R.id.wifi_visible);
int textResource = getManager().isBonjourDiscoverable() ? R.string.swap_visible_wifi : R.string.swap_not_visible_wifi;
textWifiVisible.setText(textResource);
viewWifiId.setText(FDroidApp.ipAddressString); viewWifiId.setText(FDroidApp.ipAddressString);
viewWifiId.setVisibility(TextUtils.isEmpty(FDroidApp.ipAddressString) ? View.GONE : View.VISIBLE); viewWifiId.setVisibility(TextUtils.isEmpty(FDroidApp.ipAddressString) ? View.GONE : View.VISIBLE);