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