mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-13 19:29:06 +01:00
Revise share-offline screen wording; always show connected peers counter
This commit is contained in:
@@ -9,6 +9,7 @@ import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import com.google.android.material.tabs.TabLayoutMediator;
|
||||
@@ -43,6 +44,7 @@ public abstract class AbstractTabsFragment extends Fragment {
|
||||
|
||||
protected Button stopButton;
|
||||
protected Button connectedButton;
|
||||
protected TextView connectedView;
|
||||
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
@@ -85,6 +87,9 @@ public abstract class AbstractTabsFragment extends Fragment {
|
||||
finishAfterTransition(requireActivity());
|
||||
});
|
||||
connectedButton = view.findViewById(R.id.connectedButton);
|
||||
connectedView = view.findViewById(R.id.connectedView);
|
||||
viewModel.getPeersConnectedEvent()
|
||||
.observe(getViewLifecycleOwner(), this::onPeerConnected);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -126,4 +131,13 @@ public abstract class AbstractTabsFragment extends Fragment {
|
||||
}
|
||||
}
|
||||
|
||||
private void onPeerConnected(int peers) {
|
||||
if (peers == 0) {
|
||||
connectedView.setText(R.string.hotspot_no_peers_connected);
|
||||
} else {
|
||||
connectedView.setText(getResources().getQuantityString(
|
||||
R.plurals.hotspot_peers_connected, peers, peers));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,11 +2,9 @@ package org.briarproject.briar.android.hotspot;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
|
||||
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
|
||||
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
|
||||
import org.briarproject.briar.R;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
@@ -23,8 +21,6 @@ public class HotspotFragment extends AbstractTabsFragment {
|
||||
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
connectedButton.setOnClickListener(v -> showNextFragment());
|
||||
viewModel.getPeerConnectedEvent().observeEvent(getViewLifecycleOwner(),
|
||||
this::onPeerConnected);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -37,12 +33,6 @@ public class HotspotFragment extends AbstractTabsFragment {
|
||||
return QrHotspotFragment.newInstance(true);
|
||||
}
|
||||
|
||||
private void onPeerConnected(boolean connected) {
|
||||
if (!connected) return;
|
||||
Toast.makeText(requireContext(), R.string.hotspot_peer_connected,
|
||||
Toast.LENGTH_LONG).show();
|
||||
}
|
||||
|
||||
private void showNextFragment() {
|
||||
Fragment f = new WebsiteFragment();
|
||||
String tag = WebsiteFragment.TAG;
|
||||
|
||||
@@ -66,7 +66,7 @@ class HotspotManager {
|
||||
void onHotspotStarted(NetworkConfig networkConfig);
|
||||
|
||||
@UiThread
|
||||
void onDeviceConnected();
|
||||
void onPeersUpdated(int peers);
|
||||
|
||||
@UiThread
|
||||
void onHotspotError(String error);
|
||||
@@ -377,12 +377,11 @@ class HotspotManager {
|
||||
private void requestGroupInfoForConnection() {
|
||||
LOG.info("requestGroupInfo for connection");
|
||||
GroupInfoListener groupListener = group -> {
|
||||
if (group == null || group.getClientList().isEmpty()) {
|
||||
handler.postDelayed(this::requestGroupInfoForConnection,
|
||||
RETRY_DELAY_MILLIS);
|
||||
} else {
|
||||
listener.onDeviceConnected();
|
||||
if (group != null) {
|
||||
listener.onPeersUpdated(group.getClientList().size());
|
||||
}
|
||||
handler.postDelayed(this::requestGroupInfoForConnection,
|
||||
RETRY_DELAY_MILLIS);
|
||||
};
|
||||
try {
|
||||
if (channel == null) return;
|
||||
|
||||
@@ -63,8 +63,8 @@ class HotspotViewModel extends DbViewModel
|
||||
|
||||
private final MutableLiveData<HotspotState> state =
|
||||
new MutableLiveData<>();
|
||||
private final MutableLiveEvent<Boolean> peerConnected =
|
||||
new MutableLiveEvent<>();
|
||||
private final MutableLiveData<Integer> peersConnected =
|
||||
new MutableLiveData<>();
|
||||
private final MutableLiveEvent<Uri> savedApkToUri =
|
||||
new MutableLiveEvent<>();
|
||||
|
||||
@@ -137,8 +137,8 @@ class HotspotViewModel extends DbViewModel
|
||||
|
||||
@UiThread
|
||||
@Override
|
||||
public void onDeviceConnected() {
|
||||
peerConnected.setEvent(true);
|
||||
public void onPeersUpdated(int peers) {
|
||||
peersConnected.setValue(peers);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -213,8 +213,8 @@ class HotspotViewModel extends DbViewModel
|
||||
return state;
|
||||
}
|
||||
|
||||
LiveEvent<Boolean> getPeerConnectedEvent() {
|
||||
return peerConnected;
|
||||
LiveData<Integer> getPeersConnectedEvent() {
|
||||
return peersConnected;
|
||||
}
|
||||
|
||||
LiveEvent<Uri> getSavedApkToUri() {
|
||||
|
||||
Reference in New Issue
Block a user