mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-20 08:39:22 +01:00
Improve UI/UX around device transfer.
This commit is contained in:
@@ -73,7 +73,8 @@ public abstract class DeviceTransferSetupFragment extends LoggingFragment {
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
Group progressGroup = view.findViewById(R.id.device_transfer_setup_fragment_progress_group);
|
||||
Group errorGroup = view.findViewById(R.id.device_transfer_setup_fragment_error_group);
|
||||
Group verifyGroup = view.findViewById(R.id.device_transfer_setup_fragment_verify_group);
|
||||
View verifyGroup = view.findViewById(R.id.device_transfer_setup_fragment_verify);
|
||||
View waitingGroup = view.findViewById(R.id.device_transfer_setup_fragment_waiting);
|
||||
View troubleshooting = view.findViewById(R.id.device_transfer_setup_fragment_troubleshooting);
|
||||
TextView status = view.findViewById(R.id.device_transfer_setup_fragment_status);
|
||||
TextView error = view.findViewById(R.id.device_transfer_setup_fragment_error);
|
||||
@@ -90,6 +91,7 @@ public abstract class DeviceTransferSetupFragment extends LoggingFragment {
|
||||
progressGroup.setVisibility(step.isProgress() ? View.VISIBLE : View.GONE);
|
||||
errorGroup.setVisibility(step.isError() ? View.VISIBLE : View.GONE);
|
||||
verifyGroup.setVisibility(step == SetupStep.VERIFY ? View.VISIBLE : View.GONE);
|
||||
waitingGroup.setVisibility(step == SetupStep.WAITING_FOR_OTHER_TO_VERIFY ? View.VISIBLE : View.GONE);
|
||||
troubleshooting.setVisibility(step == SetupStep.TROUBLESHOOTING ? View.VISIBLE : View.GONE);
|
||||
|
||||
Log.i(TAG, "Handling step: " + step.name());
|
||||
@@ -166,8 +168,7 @@ public abstract class DeviceTransferSetupFragment extends LoggingFragment {
|
||||
viewModel.onVerified();
|
||||
});
|
||||
break;
|
||||
case CONNECTING:
|
||||
status.setText(getStatusTextForStep(step, false));
|
||||
case WAITING_FOR_OTHER_TO_VERIFY:
|
||||
break;
|
||||
case CONNECTED:
|
||||
Log.d(TAG, "Connected! isNotShutdown: " + viewModel.isNotShutdown());
|
||||
|
||||
@@ -59,6 +59,7 @@ public final class DeviceTransferSetupViewModel extends ViewModel {
|
||||
case SERVICE_CONNECTED:
|
||||
store.update(s -> s.updateStep(SetupStep.CONNECTED));
|
||||
break;
|
||||
case SHUTDOWN:
|
||||
case FAILED:
|
||||
store.update(s -> s.updateStep(SetupStep.ERROR));
|
||||
break;
|
||||
@@ -116,7 +117,7 @@ public final class DeviceTransferSetupViewModel extends ViewModel {
|
||||
}
|
||||
|
||||
public void onVerified() {
|
||||
store.update(s -> s.updateStep(SetupStep.CONNECTING));
|
||||
store.update(s -> s.updateStep(SetupStep.WAITING_FOR_OTHER_TO_VERIFY));
|
||||
}
|
||||
|
||||
public void onResume() {
|
||||
|
||||
@@ -18,7 +18,7 @@ public enum SetupStep {
|
||||
SETTING_UP(true, false),
|
||||
WAITING(true, false),
|
||||
VERIFY(false, false),
|
||||
CONNECTING(true, false),
|
||||
WAITING_FOR_OTHER_TO_VERIFY(false, false),
|
||||
CONNECTED(true, false),
|
||||
TROUBLESHOOTING(false, false),
|
||||
ERROR(false, true);
|
||||
|
||||
@@ -67,8 +67,6 @@ public final class NewDeviceTransferSetupFragment extends DeviceTransferSetupFra
|
||||
: R.string.NewDeviceTransferSetup__preparing_to_connect_to_old_android_device;
|
||||
case WAITING:
|
||||
return R.string.NewDeviceTransferSetup__waiting_for_old_device_to_connect;
|
||||
case CONNECTING:
|
||||
return R.string.NewDeviceTransferSetup__connecting_to_old_android_device;
|
||||
case ERROR:
|
||||
return R.string.NewDeviceTransferSetup__an_unexpected_error_occurred_while_attempting_to_connect_to_your_old_device;
|
||||
case TROUBLESHOOTING:
|
||||
|
||||
@@ -29,8 +29,8 @@ public final class TransferOrRestoreFragment extends LoggingFragment {
|
||||
view.findViewById(R.id.transfer_or_restore_fragment_restore)
|
||||
.setOnClickListener(v -> Navigation.findNavController(v).navigate(R.id.action_choose_backup));
|
||||
|
||||
String description = getString(R.string.TransferOrRestoreFragment__transfer_your_account_and_message_history_from_your_old_android_device);
|
||||
String toBold = getString(R.string.TransferOrRestoreFragment__you_must_have_access_to_your_old_device);
|
||||
String description = getString(R.string.TransferOrRestoreFragment__transfer_your_account_and_messages_from_your_old_android_device);
|
||||
String toBold = getString(R.string.TransferOrRestoreFragment__you_need_access_to_your_old_device);
|
||||
|
||||
TextView transferDescriptionView = view.findViewById(R.id.transfer_or_restore_fragment_transfer_description);
|
||||
transferDescriptionView.setText(SpanUtil.boldSubstring(description, toBold));
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
package org.thoughtcrime.securesms.devicetransfer.olddevice;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
public class OldDeviceExitActivity extends AppCompatActivity {
|
||||
@@ -11,14 +14,23 @@ public class OldDeviceExitActivity extends AppCompatActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
finish();
|
||||
finishAll(this);
|
||||
}
|
||||
|
||||
public static void exit(Context context) {
|
||||
Intent intent = new Intent(context, OldDeviceExitActivity.class);
|
||||
public static void exit(@NonNull Activity activity) {
|
||||
Intent intent = new Intent(activity, OldDeviceExitActivity.class);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
|
||||
context.startActivity(intent);
|
||||
activity.startActivity(intent);
|
||||
finishAll(activity);
|
||||
}
|
||||
|
||||
private static void finishAll(@NonNull Activity activity) {
|
||||
if (Build.VERSION.SDK_INT < 21) {
|
||||
activity.finishAffinity();
|
||||
} else {
|
||||
activity.finishAndRemoveTask();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -36,6 +36,6 @@ public final class OldDeviceTransferCompleteFragment extends LoggingFragment {
|
||||
}
|
||||
|
||||
private void close() {
|
||||
OldDeviceExitActivity.exit(requireContext());
|
||||
OldDeviceExitActivity.exit(requireActivity());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,8 +93,6 @@ public final class OldDeviceTransferSetupFragment extends DeviceTransferSetupFra
|
||||
case SETTING_UP:
|
||||
case WAITING:
|
||||
return R.string.OldDeviceTransferSetup__searching_for_your_new_android_device;
|
||||
case CONNECTING:
|
||||
return R.string.OldDeviceTransferSetup__connecting_to_new_android_device;
|
||||
case ERROR:
|
||||
return R.string.OldDeviceTransferSetup__an_unexpected_error_occurred_while_attempting_to_connect_to_your_old_device;
|
||||
case TROUBLESHOOTING:
|
||||
|
||||
Reference in New Issue
Block a user