[android] Ensure that buttons of link warning are always visible

This commit is contained in:
Torsten Grote
2019-02-27 17:01:50 -03:00
parent 106d80ef76
commit 8ae9b7f5a2
3 changed files with 101 additions and 82 deletions

View File

@@ -1,90 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.constraint.ConstraintLayout
<TextView
android:id="@+id/linkWarning"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="@string/link_warning_title"
android:textColor="?android:attr/textColorPrimary"
android:textSize="@dimen/text_size_large"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/scrollView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
app:layout_constraintVertical_chainStyle="packed"/>
<ScrollView
android:id="@+id/scrollView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
app:layout_constrainedHeight="true"
app:layout_constraintBottom_toTopOf="@+id/cancelButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linkWarning">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/linkIntro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/link_warning_intro"
android:textColor="?android:attr/textColorPrimary"
android:textSize="@dimen/text_size_medium"/>
<TextView
android:id="@+id/urlView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginBottom="16dp"
android:layout_marginTop="16dp"
android:background="@color/briar_white"
android:padding="8dp"
android:textColor="@color/briar_text_primary"
android:textIsSelectable="true"
android:textSize="@dimen/text_size_medium"
android:typeface="monospace"
tools:text="http://very.bad.site.com/with/a/super/long/address/that/can/push/stuff/off/screen/so/much/that/buttons/are/not/visible/which/is/bad/for/users/when/they/dont/know/what/to/do/they/might/be/completely/lost/crying/in/despair/so/we/need/to/make/sure/that/they/see/all/buttons"/>
<TextView
android:id="@+id/thinkBeforeOpen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/link_warning_text"
android:textColor="?android:attr/textColorPrimary"
android:textSize="@dimen/text_size_medium"/>
</LinearLayout>
</ScrollView>
<Button
android:id="@+id/cancelButton"
style="@style/BriarButtonFlat.Positive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="16dp">
android:text="@string/cancel"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/openButton"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/scrollView"
app:layout_constraintVertical_bias="1.0"/>
<TextView
android:id="@+id/linkWarning"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/link_warning_title"
android:textColor="?android:attr/textColorPrimary"
android:textSize="@dimen/text_size_large"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/linkIntro"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<Button
android:id="@+id/openButton"
style="@style/BriarButtonFlat.Negative"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/link_warning_open_link"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/cancelButton"
app:layout_constraintTop_toTopOf="@+id/cancelButton"/>
<TextView
android:id="@+id/linkIntro"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/link_warning_intro"
android:textColor="?android:attr/textColorPrimary"
android:textSize="@dimen/text_size_medium"
app:layout_constraintBottom_toTopOf="@+id/urlView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linkWarning"/>
<TextView
android:id="@+id/urlView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginTop="16dp"
android:textColor="?android:attr/textColorPrimary"
android:textIsSelectable="true"
android:textSize="@dimen/text_size_medium"
android:typeface="monospace"
app:layout_constraintBottom_toTopOf="@+id/thinkBeforeOpen"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linkIntro"
tools:text="http://very.bad.site.com/with/a/super/long/address/that/can/push/stuff/off/screen/so/much/that/buttons/are/not/visible/which/is/bad/for/users/when/they/dont/know/what/to/do/they/might/be/completely/lost/crying/in/despair/so/we/need/to/make/sure/that/they/see/all/buttons"/>
<TextView
android:id="@+id/thinkBeforeOpen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/link_warning_text"
android:textColor="?android:attr/textColorPrimary"
android:textSize="@dimen/text_size_medium"
app:layout_constraintBottom_toTopOf="@+id/openButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/urlView"/>
<Button
android:id="@+id/cancelButton"
style="@style/BriarButtonFlat.Positive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/cancel"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/openButton"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/thinkBeforeOpen"/>
<Button
android:id="@+id/openButton"
style="@style/BriarButtonFlat.Negative"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/link_warning_open_link"
app:layout_constraintBaseline_toBaselineOf="@+id/cancelButton"
app:layout_constraintEnd_toEndOf="@+id/thinkBeforeOpen"
app:layout_constraintStart_toEndOf="@+id/cancelButton"/>
</android.support.constraint.ConstraintLayout>
</ScrollView>
</android.support.constraint.ConstraintLayout>

View File

@@ -456,7 +456,7 @@
<!-- Link Warning -->
<string name="link_warning_title">Link Warning</string>
<string name="link_warning_intro">You are about to open the following link with an external app.</string>
<string name="link_warning_text">This can be used to identify you. Think about whether you trust the person that sent you this link and consider opening it with Orfox.</string>
<string name="link_warning_text">This can be used to identify you. Think about whether you trust the person that sent you this link and consider opening it with Tor Browser.</string>
<string name="link_warning_open_link">Open Link</string>
<!-- Crash Reporter -->

View File

@@ -29,7 +29,7 @@
<item name="android:activityCloseExitAnimation">@anim/screen_new_out</item>
</style>
<style name="BriarDialogTheme" parent="Theme.AppCompat.DayNight.Dialog">
<style name="BriarDialogTheme" parent="Theme.AppCompat.DayNight.Dialog.MinWidth">
<item name="colorPrimary">@color/briar_primary</item>
<item name="colorPrimaryDark">@color/briar_primary_dark</item>
<item name="colorAccent">@color/briar_accent</item>