diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 89e5aefcf3..9f9a414930 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -378,6 +378,7 @@
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
updateVerifyButton(!currentVerifiedState, true)));
+ this.scrollView.getViewTreeObserver().addOnScrollChangedListener(this);
+
+ ((AppCompatActivity)requireActivity()).setSupportActionBar(toolbar);
+ ((AppCompatActivity)requireActivity()).setTitle(R.string.AndroidManifest__verify_safety_number);
+
return container;
}
+ @Override public void onDestroyView() {
+ this.scrollView.getViewTreeObserver().removeOnScrollChangedListener(this);
+ super.onDestroyView();
+ }
+
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
@@ -361,6 +381,8 @@ public class VerifyIdentityActivity extends PassphraseRequiredActivity implement
animateFailureOnDraw = false;
animateVerifiedFailure();
}
+
+ ThreadUtil.postToMain(this::onScrollChanged);
}
@Override
@@ -418,9 +440,11 @@ public class VerifyIdentityActivity extends PassphraseRequiredActivity implement
} else {
Toast.makeText(getActivity(), R.string.VerifyIdentityActivity_your_contact_is_running_an_old_version_of_signal, Toast.LENGTH_LONG).show();
}
+ this.animateFailureOnDraw = true;
} catch (Exception e) {
Log.w(TAG, e);
Toast.makeText(getActivity(), R.string.VerifyIdentityActivity_the_scanned_qr_code_is_not_a_correctly_formatted_safety_number, Toast.LENGTH_LONG).show();
+ this.animateFailureOnDraw = true;
}
}
@@ -664,6 +688,26 @@ public class VerifyIdentityActivity extends PassphraseRequiredActivity implement
}
}
+
+ @Override public void onScrollChanged() {
+ if (scrollView.canScrollVertically(-1)) {
+ if (toolbarShadow.getVisibility() != View.VISIBLE) {
+ ViewUtil.fadeIn(toolbarShadow, 250);
+ }
+ } else {
+ if (toolbarShadow.getVisibility() != View.GONE) {
+ ViewUtil.fadeOut(toolbarShadow, 250);
+ }
+ }
+
+ if (scrollView.canScrollVertically(1)) {
+ if (bottomShadow.getVisibility() != View.VISIBLE) {
+ ViewUtil.fadeIn(bottomShadow, 250);
+ }
+ } else {
+ ViewUtil.fadeOut(bottomShadow, 250);
+ }
+ }
}
public static class VerifyScanFragment extends Fragment {
@@ -723,5 +767,4 @@ public class VerifyIdentityActivity extends PassphraseRequiredActivity implement
}
}
-
}
diff --git a/app/src/main/res/layout/verify_display_fragment.xml b/app/src/main/res/layout/verify_display_fragment.xml
index 9e8729606c..eb6df1d311 100644
--- a/app/src/main/res/layout/verify_display_fragment.xml
+++ b/app/src/main/res/layout/verify_display_fragment.xml
@@ -1,207 +1,281 @@
-
+
+
+
+
+
+
+ android:layout_height="wrap_content"
+ android:background="@color/signal_background_primary"
+ android:gravity="center_horizontal"
+ android:orientation="vertical"
+ android:layout_marginStart="36dp"
+ android:layout_marginEnd="36dp">
-
+
-
-
-
-
-
-
-
-
-
-
+ android:layout_marginTop="36dp">
-
+
-
+
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
\ No newline at end of file
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:layout_marginStart="48dp"
+ android:layout_marginTop="16dp"
+ android:layout_marginEnd="48dp"
+ android:text="@string/verify_display_fragment__mark_as_verified"
+ android:textAllCaps="false"
+ android:textColor="@color/signal_accent_primary"
+ app:backgroundTint="@color/signal_inverse_transparent_10" />
+
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/verify_identity.xml b/app/src/main/res/menu/verify_identity.xml
index 6163830bf4..a98bfbe007 100644
--- a/app/src/main/res/menu/verify_identity.xml
+++ b/app/src/main/res/menu/verify_identity.xml
@@ -3,6 +3,6 @@
xmlns:app="http://schemas.android.com/apk/res-auto" >
diff --git a/app/src/main/res/values-sw360dp/dimens.xml b/app/src/main/res/values-sw360dp/dimens.xml
index 146f23d275..0fbc50c106 100644
--- a/app/src/main/res/values-sw360dp/dimens.xml
+++ b/app/src/main/res/values-sw360dp/dimens.xml
@@ -31,4 +31,6 @@
160dp
34dp
+
+ 32dp
\ No newline at end of file
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index b92df485fe..0185ed59d0 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -203,4 +203,6 @@
100dp
26dp
+
+ 16dp