mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-17 05:09:53 +01:00
Move recover button to author name fragment
This commit is contained in:
@@ -138,15 +138,6 @@
|
|||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<activity
|
|
||||||
android:name="org.briarproject.briar.android.account.NewOrRecoverActivity"
|
|
||||||
android:label="@string/activity_name_new_or_recover_account"
|
|
||||||
android:parentActivityName="org.briarproject.briar.android.login.StartupActivity">
|
|
||||||
<meta-data
|
|
||||||
android:name="android.support.PARENT_ACTIVITY"
|
|
||||||
android:value="org.briarproject.briar.android.login.StartupActivity" />
|
|
||||||
</activity>
|
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="org.briarproject.briar.android.socialbackup.SocialBackupSetupActivity"
|
android:name="org.briarproject.briar.android.socialbackup.SocialBackupSetupActivity"
|
||||||
android:label="@string/activity_name_distributed_backup"
|
android:label="@string/activity_name_distributed_backup"
|
||||||
@@ -168,10 +159,11 @@
|
|||||||
<activity
|
<activity
|
||||||
android:name="org.briarproject.briar.android.socialbackup.recover.OwnerReturnShardActivity"
|
android:name="org.briarproject.briar.android.socialbackup.recover.OwnerReturnShardActivity"
|
||||||
android:label="@string/activity_name_recovery"
|
android:label="@string/activity_name_recovery"
|
||||||
android:parentActivityName="org.briarproject.briar.android.account.NewOrRecoverActivity">
|
|
||||||
|
android:parentActivityName="org.briarproject.briar.android.account.SetupActivity">
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="android.support.PARENT_ACTIVITY"
|
android:name="android.support.PARENT_ACTIVITY"
|
||||||
android:value="org.briarproject.briar.android.account.NewOrRecoverActivity" />
|
android:value="org.briarproject.briar.android.account.SetupActivity" />
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ public class AuthorNameFragment extends SetupFragment {
|
|||||||
private TextInputLayout authorNameWrapper;
|
private TextInputLayout authorNameWrapper;
|
||||||
private TextInputEditText authorNameInput;
|
private TextInputEditText authorNameInput;
|
||||||
private Button nextButton;
|
private Button nextButton;
|
||||||
|
private Button recoverButton;
|
||||||
|
|
||||||
public static AuthorNameFragment newInstance() {
|
public static AuthorNameFragment newInstance() {
|
||||||
return new AuthorNameFragment();
|
return new AuthorNameFragment();
|
||||||
@@ -54,6 +55,9 @@ public class AuthorNameFragment extends SetupFragment {
|
|||||||
authorNameInput.addTextChangedListener(this);
|
authorNameInput.addTextChangedListener(this);
|
||||||
nextButton.setOnClickListener(this);
|
nextButton.setOnClickListener(this);
|
||||||
|
|
||||||
|
recoverButton = v.findViewById(R.id.buttonRestoreAccount);
|
||||||
|
recoverButton.setOnClickListener(e -> viewModel.recoverClicked());
|
||||||
|
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,6 +79,7 @@ public class AuthorNameFragment extends SetupFragment {
|
|||||||
boolean enabled = authorNameLength > 0 && !error;
|
boolean enabled = authorNameLength > 0 && !error;
|
||||||
authorNameInput.setOnEditorActionListener(enabled ? this : null);
|
authorNameInput.setOnEditorActionListener(enabled ? this : null);
|
||||||
nextButton.setEnabled(enabled);
|
nextButton.setEnabled(enabled);
|
||||||
|
recoverButton.setEnabled(!enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,60 +0,0 @@
|
|||||||
package org.briarproject.briar.android.account;
|
|
||||||
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.os.Bundle;
|
|
||||||
|
|
||||||
import org.briarproject.briar.R;
|
|
||||||
import org.briarproject.briar.android.activity.ActivityComponent;
|
|
||||||
import org.briarproject.briar.android.activity.BaseActivity;
|
|
||||||
import org.briarproject.briar.android.fragment.BaseFragment;
|
|
||||||
import org.briarproject.briar.android.socialbackup.recover.OwnerReturnShardActivity;
|
|
||||||
|
|
||||||
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK;
|
|
||||||
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
|
|
||||||
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
|
|
||||||
import static android.content.Intent.FLAG_ACTIVITY_TASK_ON_HOME;
|
|
||||||
|
|
||||||
public class NewOrRecoverActivity extends BaseActivity implements
|
|
||||||
BaseFragment.BaseFragmentListener, SetupNewAccountChosenListener,
|
|
||||||
RecoverAccountListener {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void injectActivity(ActivityComponent component) {
|
|
||||||
component.inject(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCreate(Bundle state) {
|
|
||||||
super.onCreate(state);
|
|
||||||
// fade-in after splash screen instead of default animation
|
|
||||||
// TODO the fade in is not working
|
|
||||||
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
|
|
||||||
setContentView(R.layout.activity_fragment_container);
|
|
||||||
NewOrRecoverFragment fragment = NewOrRecoverFragment.newInstance();
|
|
||||||
showInitialFragment(fragment);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setupNewAccountChosen() {
|
|
||||||
finish();
|
|
||||||
Intent i = new Intent(this, SetupActivity.class);
|
|
||||||
i.addFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TOP |
|
|
||||||
FLAG_ACTIVITY_CLEAR_TASK | FLAG_ACTIVITY_TASK_ON_HOME);
|
|
||||||
startActivity(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void recoverAccountChosen() {
|
|
||||||
finish();
|
|
||||||
Intent i = new Intent(this, OwnerReturnShardActivity.class);
|
|
||||||
i.addFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TOP |
|
|
||||||
FLAG_ACTIVITY_CLEAR_TASK | FLAG_ACTIVITY_TASK_ON_HOME);
|
|
||||||
startActivity(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Deprecated
|
|
||||||
public void runOnDbThread(Runnable runnable) {
|
|
||||||
throw new RuntimeException("Don't use this deprecated method here.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
package org.briarproject.briar.android.account;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.ViewGroup;
|
|
||||||
import android.widget.Button;
|
|
||||||
|
|
||||||
import org.briarproject.briar.R;
|
|
||||||
import org.briarproject.briar.android.activity.ActivityComponent;
|
|
||||||
import org.briarproject.briar.android.fragment.BaseFragment;
|
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
public class NewOrRecoverFragment extends BaseFragment {
|
|
||||||
|
|
||||||
public static final String TAG = NewOrRecoverFragment.class.getName();
|
|
||||||
|
|
||||||
protected SetupNewAccountChosenListener setupNewAccountListener;
|
|
||||||
protected RecoverAccountListener recoverAccountListener;
|
|
||||||
|
|
||||||
public static NewOrRecoverFragment newInstance() {
|
|
||||||
Bundle bundle = new Bundle();
|
|
||||||
NewOrRecoverFragment fragment = new NewOrRecoverFragment();
|
|
||||||
fragment.setArguments(bundle);
|
|
||||||
return fragment;
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
requireActivity().setTitle(R.string.setup_title);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable
|
|
||||||
ViewGroup container, @Nullable Bundle savedInstanceState) {
|
|
||||||
View view = inflater.inflate(R.layout.fragment_new_or_recover,
|
|
||||||
container, false);
|
|
||||||
Button newAccountButton = view.findViewById(R.id.buttonSetupNewAccount);
|
|
||||||
newAccountButton.setOnClickListener(e -> {
|
|
||||||
setupNewAccountListener.setupNewAccountChosen();
|
|
||||||
});
|
|
||||||
|
|
||||||
Button recoverAccountButton = view.findViewById(R.id.buttonRestoreAccount);
|
|
||||||
recoverAccountButton.setOnClickListener(e -> {
|
|
||||||
recoverAccountListener.recoverAccountChosen();
|
|
||||||
});
|
|
||||||
return view;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAttach(Context context) {
|
|
||||||
super.onAttach(context);
|
|
||||||
setupNewAccountListener = (SetupNewAccountChosenListener) context;
|
|
||||||
recoverAccountListener = (RecoverAccountListener) context;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getUniqueTag() {
|
|
||||||
return TAG;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void injectFragment(ActivityComponent component) {
|
|
||||||
component.inject(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -10,6 +10,7 @@ import org.briarproject.briar.R;
|
|||||||
import org.briarproject.briar.android.activity.ActivityComponent;
|
import org.briarproject.briar.android.activity.ActivityComponent;
|
||||||
import org.briarproject.briar.android.activity.BaseActivity;
|
import org.briarproject.briar.android.activity.BaseActivity;
|
||||||
import org.briarproject.briar.android.fragment.BaseFragment.BaseFragmentListener;
|
import org.briarproject.briar.android.fragment.BaseFragment.BaseFragmentListener;
|
||||||
|
import org.briarproject.briar.android.socialbackup.recover.OwnerReturnShardActivity;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
@@ -25,6 +26,7 @@ import static org.briarproject.briar.android.account.SetupViewModel.State.AUTHOR
|
|||||||
import static org.briarproject.briar.android.account.SetupViewModel.State.CREATED;
|
import static org.briarproject.briar.android.account.SetupViewModel.State.CREATED;
|
||||||
import static org.briarproject.briar.android.account.SetupViewModel.State.DOZE;
|
import static org.briarproject.briar.android.account.SetupViewModel.State.DOZE;
|
||||||
import static org.briarproject.briar.android.account.SetupViewModel.State.FAILED;
|
import static org.briarproject.briar.android.account.SetupViewModel.State.FAILED;
|
||||||
|
import static org.briarproject.briar.android.account.SetupViewModel.State.RECOVER;
|
||||||
import static org.briarproject.briar.android.account.SetupViewModel.State.SET_PASSWORD;
|
import static org.briarproject.briar.android.account.SetupViewModel.State.SET_PASSWORD;
|
||||||
|
|
||||||
@MethodsNotNullByDefault
|
@MethodsNotNullByDefault
|
||||||
@@ -60,6 +62,8 @@ public class SetupActivity extends BaseActivity
|
|||||||
showPasswordFragment();
|
showPasswordFragment();
|
||||||
} else if (state == DOZE) {
|
} else if (state == DOZE) {
|
||||||
showDozeFragment();
|
showDozeFragment();
|
||||||
|
} else if (state == RECOVER) {
|
||||||
|
recover();
|
||||||
} else if (state == CREATED || state == FAILED) {
|
} else if (state == CREATED || state == FAILED) {
|
||||||
// TODO: Show an error if failed
|
// TODO: Show an error if failed
|
||||||
showApp();
|
showApp();
|
||||||
@@ -84,6 +88,13 @@ public class SetupActivity extends BaseActivity
|
|||||||
overridePendingTransition(R.anim.screen_new_in, R.anim.screen_old_out);
|
overridePendingTransition(R.anim.screen_new_in, R.anim.screen_old_out);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void recover () {
|
||||||
|
// finish();
|
||||||
|
Intent i = new Intent(this, OwnerReturnShardActivity.class);
|
||||||
|
i.addFlags(FLAG_ACTIVITY_NEW_TASK);
|
||||||
|
startActivity(i);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public void runOnDbThread(Runnable runnable) {
|
public void runOnDbThread(Runnable runnable) {
|
||||||
|
|||||||
@@ -25,13 +25,14 @@ import static org.briarproject.briar.android.account.SetupViewModel.State.AUTHOR
|
|||||||
import static org.briarproject.briar.android.account.SetupViewModel.State.CREATED;
|
import static org.briarproject.briar.android.account.SetupViewModel.State.CREATED;
|
||||||
import static org.briarproject.briar.android.account.SetupViewModel.State.DOZE;
|
import static org.briarproject.briar.android.account.SetupViewModel.State.DOZE;
|
||||||
import static org.briarproject.briar.android.account.SetupViewModel.State.FAILED;
|
import static org.briarproject.briar.android.account.SetupViewModel.State.FAILED;
|
||||||
|
import static org.briarproject.briar.android.account.SetupViewModel.State.RECOVER;
|
||||||
import static org.briarproject.briar.android.account.SetupViewModel.State.SET_PASSWORD;
|
import static org.briarproject.briar.android.account.SetupViewModel.State.SET_PASSWORD;
|
||||||
|
|
||||||
@MethodsNotNullByDefault
|
@MethodsNotNullByDefault
|
||||||
@ParametersNotNullByDefault
|
@ParametersNotNullByDefault
|
||||||
public
|
public
|
||||||
class SetupViewModel extends AndroidViewModel {
|
class SetupViewModel extends AndroidViewModel {
|
||||||
enum State {AUTHOR_NAME, SET_PASSWORD, DOZE, CREATED, FAILED}
|
enum State {AUTHOR_NAME, SET_PASSWORD, DOZE, CREATED, FAILED, RECOVER}
|
||||||
|
|
||||||
private static final Logger LOG =
|
private static final Logger LOG =
|
||||||
getLogger(SetupActivity.class.getName());
|
getLogger(SetupActivity.class.getName());
|
||||||
@@ -117,4 +118,9 @@ class SetupViewModel extends AndroidViewModel {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void recoverClicked() {
|
||||||
|
LOG.info("RECOVER CLICKED ***");
|
||||||
|
state.postEvent(RECOVER);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,8 +7,6 @@ import org.briarproject.briar.android.AndroidComponent;
|
|||||||
import org.briarproject.briar.android.StartupFailureActivity;
|
import org.briarproject.briar.android.StartupFailureActivity;
|
||||||
import org.briarproject.briar.android.account.AuthorNameFragment;
|
import org.briarproject.briar.android.account.AuthorNameFragment;
|
||||||
import org.briarproject.briar.android.account.DozeFragment;
|
import org.briarproject.briar.android.account.DozeFragment;
|
||||||
import org.briarproject.briar.android.account.NewOrRecoverActivity;
|
|
||||||
import org.briarproject.briar.android.account.NewOrRecoverFragment;
|
|
||||||
import org.briarproject.briar.android.account.SetPasswordFragment;
|
import org.briarproject.briar.android.account.SetPasswordFragment;
|
||||||
import org.briarproject.briar.android.account.SetupActivity;
|
import org.briarproject.briar.android.account.SetupActivity;
|
||||||
import org.briarproject.briar.android.account.UnlockActivity;
|
import org.briarproject.briar.android.account.UnlockActivity;
|
||||||
@@ -205,8 +203,6 @@ public interface ActivityComponent {
|
|||||||
|
|
||||||
void inject(CrashReportActivity crashReportActivity);
|
void inject(CrashReportActivity crashReportActivity);
|
||||||
|
|
||||||
void inject(NewOrRecoverActivity newOrRecoverActivity);
|
|
||||||
|
|
||||||
void inject(CustodianReturnShardActivity custodianReturnShardActivity);
|
void inject(CustodianReturnShardActivity custodianReturnShardActivity);
|
||||||
|
|
||||||
void inject(OwnerReturnShardActivity ownerReturnShardActivity);
|
void inject(OwnerReturnShardActivity ownerReturnShardActivity);
|
||||||
@@ -287,8 +283,6 @@ public interface ActivityComponent {
|
|||||||
|
|
||||||
void inject(ExistingBackupFragment existingBackupFragment);
|
void inject(ExistingBackupFragment existingBackupFragment);
|
||||||
|
|
||||||
void inject(NewOrRecoverFragment newOrRecoverFragment);
|
|
||||||
|
|
||||||
void inject(CustodianRecoveryModeExplainerFragment custodianRecoveryModeExplainerFragment);
|
void inject(CustodianRecoveryModeExplainerFragment custodianRecoveryModeExplainerFragment);
|
||||||
|
|
||||||
void inject(CustodianReturnShardFragment custodianReturnShardFragment);
|
void inject(CustodianReturnShardFragment custodianReturnShardFragment);
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
|
|||||||
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
|
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
|
||||||
import org.briarproject.briar.R;
|
import org.briarproject.briar.R;
|
||||||
import org.briarproject.briar.android.BriarService;
|
import org.briarproject.briar.android.BriarService;
|
||||||
import org.briarproject.briar.android.account.NewOrRecoverActivity;
|
|
||||||
import org.briarproject.briar.android.account.SetupActivity;
|
import org.briarproject.briar.android.account.SetupActivity;
|
||||||
import org.briarproject.briar.android.activity.ActivityComponent;
|
import org.briarproject.briar.android.activity.ActivityComponent;
|
||||||
import org.briarproject.briar.android.activity.BaseActivity;
|
import org.briarproject.briar.android.activity.BaseActivity;
|
||||||
@@ -108,7 +107,7 @@ public class StartupActivity extends BaseActivity implements
|
|||||||
private void onAccountDeleted() {
|
private void onAccountDeleted() {
|
||||||
setResult(RESULT_CANCELED);
|
setResult(RESULT_CANCELED);
|
||||||
finish();
|
finish();
|
||||||
Intent i = new Intent(this, NewOrRecoverActivity.class);
|
Intent i = new Intent(this, SetupActivity.class);
|
||||||
i.addFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TOP |
|
i.addFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TOP |
|
||||||
FLAG_ACTIVITY_CLEAR_TASK | FLAG_ACTIVITY_TASK_ON_HOME);
|
FLAG_ACTIVITY_CLEAR_TASK | FLAG_ACTIVITY_TASK_ON_HOME);
|
||||||
startActivity(i);
|
startActivity(i);
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
app:title="@string/setup_title"
|
app:title="@string/setup_title"
|
||||||
app:titleTextColor="@android:color/white" />
|
app:titleTextColor="@android:color/white" />
|
||||||
|
|
||||||
<include layout="@layout/fragment_start" />
|
<!-- <include layout="@layout/fragment_start" />-->
|
||||||
|
<include layout="@layout/fragment_new_or_recover" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
@@ -13,22 +13,38 @@
|
|||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/buttonSetupNewAccount"
|
android:id="@+id/buttonSetupNewAccount"
|
||||||
|
style="@style/BriarButton"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:drawableLeft="@drawable/ic_contacts"
|
|
||||||
android:text="@string/setup_new_account"
|
android:text="@string/setup_new_account"
|
||||||
|
android:drawableLeft="@drawable/ic_contacts"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
android:drawableStart="@drawable/ic_contacts" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textViewExplain"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="24dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/custodian_recovery_explainer_extra"
|
||||||
|
android:textSize="20sp"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/buttonSetupNewAccount"
|
||||||
|
tools:layout_editor_absoluteX="16dp" />
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/buttonRestoreAccount"
|
android:id="@+id/buttonRestoreAccount2"
|
||||||
|
style="@style/BriarButton"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:drawableLeft="@drawable/ic_repeat"
|
android:drawableLeft="@drawable/ic_repeat"
|
||||||
android:text="@string/setup_restore_account"
|
android:text="@string/setup_restore_account"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/buttonSetupNewAccount" />
|
app:layout_constraintTop_toBottomOf="@+id/textViewExplain"
|
||||||
|
tools:enabled="true"
|
||||||
|
android:drawableStart="@drawable/ic_repeat" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|||||||
@@ -47,14 +47,27 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="@dimen/margin_activity_horizontal"
|
android:layout_marginTop="@dimen/margin_activity_horizontal"
|
||||||
android:enabled="false"
|
android:enabled="false"
|
||||||
android:text="@string/setup_next"
|
android:text="@string/setup_new_account"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintLeft_toLeftOf="parent"
|
app:layout_constraintLeft_toLeftOf="parent"
|
||||||
app:layout_constraintRight_toRightOf="parent"
|
app:layout_constraintRight_toRightOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/nickname_entry_wrapper"
|
app:layout_constraintTop_toBottomOf="@+id/nickname_entry_wrapper"
|
||||||
app:layout_constraintVertical_bias="1.0"
|
app:layout_constraintVertical_bias="1.0"
|
||||||
tools:enabled="true" />
|
tools:enabled="true" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/buttonRestoreAccount"
|
||||||
|
style="@style/BriarButtonFlat.Positive.Tiny"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/margin_activity_horizontal"
|
||||||
|
android:text="@string/setup_restore_account"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintLeft_toLeftOf="parent"
|
||||||
|
app:layout_constraintRight_toRightOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/next"
|
||||||
|
app:layout_constraintVertical_bias="1.0"
|
||||||
|
tools:enabled="true" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
|||||||
Reference in New Issue
Block a user