Use consistent layout style for all screens with "hero icons".

This commit is contained in:
akwizgran
2021-08-18 16:29:37 +01:00
parent 9d031fa796
commit a390bf1c4f
11 changed files with 310 additions and 303 deletions

View File

@@ -7,7 +7,6 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Button; import android.widget.Button;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.ScrollView;
import android.widget.TextView; import android.widget.TextView;
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault; import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
@@ -22,6 +21,7 @@ import androidx.annotation.StringRes;
import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.core.widget.ImageViewCompat; import androidx.core.widget.ImageViewCompat;
import androidx.core.widget.NestedScrollView;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import static android.view.View.FOCUS_DOWN; import static android.view.View.FOCUS_DOWN;
@@ -58,7 +58,7 @@ public class FinalFragment extends Fragment {
return f; return f;
} }
private ScrollView scrollView; private NestedScrollView scrollView;
protected Button buttonView; protected Button buttonView;
@Nullable @Nullable
@@ -69,7 +69,7 @@ public class FinalFragment extends Fragment {
View v = inflater View v = inflater
.inflate(R.layout.fragment_final, container, false); .inflate(R.layout.fragment_final, container, false);
scrollView = (ScrollView) v; scrollView = (NestedScrollView) v;
ImageView iconView = v.findViewById(R.id.iconView); ImageView iconView = v.findViewById(R.id.iconView);
TextView titleView = v.findViewById(R.id.titleView); TextView titleView = v.findViewById(R.id.titleView);
TextView textView = v.findViewById(R.id.textView); TextView textView = v.findViewById(R.id.textView);

View File

@@ -5,31 +5,30 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<ScrollView <androidx.core.widget.NestedScrollView
android:id="@+id/scrollView" android:id="@+id/scrollView"
android:layout_width="match_parent" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
android:fillViewport="true" android:fillViewport="true"
app:layout_constraintBottom_toTopOf="@+id/acceptButton" app:layout_constraintBottom_toTopOf="@+id/acceptButton"
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">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="@dimen/margin_large"> android:layout_margin="@dimen/margin_xlarge">
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/errorIcon" android:id="@+id/errorIcon"
android:layout_width="0dp" android:layout_width="@dimen/hero_square"
android:layout_height="0dp" android:layout_height="@dimen/hero_square"
android:padding="8dp"
app:layout_constraintBottom_toTopOf="@+id/crashed" app:layout_constraintBottom_toTopOf="@+id/crashed"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_max="128dp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.25"
app:layout_constraintVertical_chainStyle="packed" app:layout_constraintVertical_chainStyle="packed"
app:srcCompat="@drawable/ic_crash" app:srcCompat="@drawable/ic_crash"
app:tint="?attr/colorControlNormal" app:tint="?attr/colorControlNormal"
@@ -39,25 +38,23 @@
android:id="@+id/crashed" android:id="@+id/crashed"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_xlarge"
android:gravity="center" android:gravity="center"
android:text="@string/briar_crashed" android:text="@string/briar_crashed"
android:textColor="?android:attr/textColorSecondary" android:textAppearance="@style/TextAppearance.MaterialComponents.Headline5"
android:textSize="@dimen/text_size_large"
app:layout_constraintBottom_toTopOf="@+id/fault" app:layout_constraintBottom_toTopOf="@+id/fault"
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/errorIcon" app:layout_constraintTop_toBottomOf="@+id/errorIcon" />
tools:layout_editor_absoluteY="8dp" />
<TextView <TextView
android:id="@+id/fault" android:id="@+id/fault"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_large" android:layout_marginTop="@dimen/margin_xlarge"
android:gravity="center" android:gravity="center"
android:text="@string/not_your_fault" android:text="@string/not_your_fault"
android:textColor="?android:attr/textColorSecondary" android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
android:textSize="@dimen/text_size_large"
app:layout_constraintBottom_toTopOf="@+id/pleaseSend" app:layout_constraintBottom_toTopOf="@+id/pleaseSend"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@@ -70,8 +67,7 @@
android:layout_marginTop="@dimen/margin_large" android:layout_marginTop="@dimen/margin_large"
android:gravity="center" android:gravity="center"
android:text="@string/please_send_report" android:text="@string/please_send_report"
android:textColor="?android:attr/textColorSecondary" android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
android:textSize="@dimen/text_size_large"
app:layout_constraintBottom_toTopOf="@+id/encrypted" app:layout_constraintBottom_toTopOf="@+id/encrypted"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@@ -84,8 +80,7 @@
android:layout_marginTop="@dimen/margin_large" android:layout_marginTop="@dimen/margin_large"
android:gravity="center" android:gravity="center"
android:text="@string/report_is_encrypted" android:text="@string/report_is_encrypted"
android:textColor="?android:attr/textColorSecondary" android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
android:textSize="@dimen/text_size_large"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@@ -93,7 +88,7 @@
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView> </androidx.core.widget.NestedScrollView>
<Button <Button
android:id="@+id/declineButton" android:id="@+id/declineButton"
@@ -101,7 +96,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/close" android:text="@string/close"
app:layout_constraintBottom_toBottomOf="@+id/acceptButton" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/acceptButton" app:layout_constraintEnd_toStartOf="@+id/acceptButton"
app:layout_constraintHorizontal_weight="1" app:layout_constraintHorizontal_weight="1"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"

View File

@@ -1,46 +1,55 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent"
android:fillViewport="true">
<androidx.appcompat.widget.AppCompatImageView <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/errorIcon" android:layout_width="match_parent"
android:layout_width="128dp"
android:layout_height="128dp"
android:layout_margin="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/alerts_and_states_error"
app:tint="?attr/colorControlNormal"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/errorTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="8dp" android:layout_margin="@dimen/margin_xlarge">
android:text="@string/sorry"
android:textSize="@dimen/text_size_xlarge"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/errorIcon" />
<TextView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/errorMessage" android:id="@+id/errorIcon"
android:layout_width="0dp" android:layout_width="@dimen/hero_square"
android:layout_height="wrap_content" android:layout_height="@dimen/hero_square"
android:layout_marginStart="16dp" app:layout_constraintBottom_toTopOf="@+id/errorTitle"
android:layout_marginLeft="16dp" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="8dp" app:layout_constraintStart_toStartOf="parent"
android:layout_marginEnd="16dp" app:layout_constraintTop_toTopOf="parent"
android:layout_marginRight="16dp" app:layout_constraintVertical_bias="0.25"
android:textSize="@dimen/text_size_medium" app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintEnd_toEndOf="parent" app:srcCompat="@drawable/alerts_and_states_error"
app:layout_constraintStart_toStartOf="parent" app:tint="@color/briar_red_500"
app:layout_constraintTop_toBottomOf="@+id/errorTitle" tools:ignore="ContentDescription" />
tools:text="@string/startup_failed_service_error" />
</androidx.constraintlayout.widget.ConstraintLayout> <TextView
android:id="@+id/errorTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_xlarge"
android:gravity="center"
android:text="@string/sorry"
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline5"
app:layout_constraintBottom_toTopOf="@+id/errorMessage"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/errorIcon" />
<TextView
android:id="@+id/errorMessage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_xlarge"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/errorTitle"
tools:text="@string/startup_failed_service_error" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>

View File

@@ -1,108 +1,102 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:fillViewport="true">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.core.widget.NestedScrollView
android:layout_width="match_parent" android:id="@+id/scrollView"
android:layout_height="wrap_content"> android:layout_width="0dp"
android:layout_height="0dp"
android:fillViewport="true"
app:layout_constraintBottom_toTopOf="@+id/tryAgainButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/errorTitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:text="@string/connection_error_title"
android:textColor="?android:attr/textColorPrimary"
android:textSize="@dimen/text_size_large"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/errorIcon"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="16dp" android:layout_margin="@dimen/margin_xlarge">
android:layout_marginTop="16dp"
android:layout_marginRight="16dp"
android:scaleType="fitCenter"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/errorTitle"
app:srcCompat="@drawable/qr_code_error"
app:tint="?attr/colorControlNormal"
tools:ignore="ContentDescription" />
<TextView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/errorMessage" android:id="@+id/errorIcon"
android:layout_width="0dp" android:layout_width="@dimen/hero_rect_width"
android:layout_height="wrap_content" android:layout_height="@dimen/hero_rect_height"
android:layout_marginStart="16dp" app:layout_constraintBottom_toTopOf="@+id/errorTitle"
android:layout_marginLeft="16dp" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="8dp" app:layout_constraintStart_toStartOf="parent"
android:layout_marginEnd="16dp" app:layout_constraintTop_toTopOf="parent"
android:layout_marginRight="16dp" app:layout_constraintVertical_bias="0.25"
android:textColor="?android:attr/textColorPrimary" app:layout_constraintVertical_chainStyle="packed"
android:textSize="@dimen/text_size_medium" app:srcCompat="@drawable/qr_code_error"
app:layout_constraintBottom_toTopOf="@+id/sendFeedback" app:tint="?attr/colorControlNormal"
app:layout_constraintEnd_toEndOf="parent" tools:ignore="ContentDescription" />
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/errorIcon"
app:layout_constraintVertical_bias="0"
app:layout_constraintVertical_chainStyle="packed"
tools:text="error explanation" />
<TextView <TextView
android:id="@+id/sendFeedback" android:id="@+id/errorTitle"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginTop="@dimen/margin_xlarge"
android:layout_marginLeft="16dp" android:gravity="center"
android:layout_marginTop="8dp" android:text="@string/connection_error_title"
android:layout_marginEnd="16dp" android:textAppearance="@style/TextAppearance.MaterialComponents.Headline5"
android:layout_marginRight="16dp" app:layout_constraintBottom_toTopOf="@+id/errorMessage"
android:text="@string/connection_error_feedback" app:layout_constraintEnd_toEndOf="parent"
android:textColor="?android:attr/textColorPrimary" app:layout_constraintStart_toStartOf="parent"
android:textSize="@dimen/text_size_medium" app:layout_constraintTop_toBottomOf="@+id/errorIcon" />
app:layout_constraintBottom_toTopOf="@+id/tryAgainButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/errorMessage" />
<Button <TextView
android:id="@+id/tryAgainButton" android:id="@+id/errorMessage"
style="@style/BriarButtonFlat.Positive" android:layout_width="0dp"
android:layout_width="0dp" android:layout_height="wrap_content"
android:layout_height="wrap_content" android:layout_marginTop="@dimen/margin_xlarge"
android:layout_marginEnd="8dp" android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
android:layout_marginRight="8dp" app:layout_constraintBottom_toTopOf="@+id/sendFeedback"
android:layout_marginBottom="8dp" app:layout_constraintEnd_toEndOf="parent"
android:text="@string/try_again_button" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toBottomOf="@+id/errorTitle"
app:layout_constraintEnd_toEndOf="parent" tools:text="error explanation" />
app:layout_constraintHorizontal_weight="1"
app:layout_constraintStart_toEndOf="@+id/cancelButton" />
<Button <TextView
android:id="@+id/cancelButton" android:id="@+id/sendFeedback"
style="@style/BriarButtonFlat.Negative" android:layout_width="0dp"
android:layout_width="0dp" android:layout_height="wrap_content"
android:layout_height="wrap_content" android:layout_marginTop="@dimen/margin_large"
android:layout_marginStart="8dp" android:text="@string/connection_error_feedback"
android:layout_marginLeft="8dp" android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
android:layout_marginEnd="8dp" app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginRight="8dp" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginBottom="8dp" app:layout_constraintStart_toStartOf="parent"
android:text="@string/cancel" app:layout_constraintTop_toBottomOf="@+id/errorMessage" />
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/tryAgainButton"
app:layout_constraintHorizontal_chainStyle="spread"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
</androidx.core.widget.NestedScrollView>
<Button
android:id="@+id/cancelButton"
style="@style/BriarButtonFlat.Negative"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/cancel"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/tryAgainButton"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/tryAgainButton" />
<Button
android:id="@+id/tryAgainButton"
style="@style/BriarButtonFlat.Positive"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/try_again_button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintStart_toEndOf="@+id/cancelButton"
app:layout_constraintTop_toBottomOf="@+id/scrollView" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" <androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -12,18 +12,16 @@
<ImageView <ImageView
android:id="@+id/iconView" android:id="@+id/iconView"
android:layout_width="0dp" android:layout_width="@dimen/hero_square"
android:layout_height="0dp" android:layout_height="@dimen/hero_square"
android:layout_marginTop="32dp" android:layout_marginHorizontal="@dimen/margin_xlarge"
android:layout_marginTop="@dimen/margin_xlarge"
app:layout_constraintBottom_toTopOf="@+id/titleView" app:layout_constraintBottom_toTopOf="@+id/titleView"
app:layout_constraintDimensionRatio="1:1"
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"
app:layout_constraintVertical_bias="0.25" app:layout_constraintVertical_bias="0.25"
app:layout_constraintVertical_chainStyle="packed" app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintWidth_max="200dp"
app:layout_constraintWidth_percent="0.4"
tools:ignore="ContentDescription" tools:ignore="ContentDescription"
tools:srcCompat="@drawable/alerts_and_states_error" tools:srcCompat="@drawable/alerts_and_states_error"
tools:tint="@color/briar_red_500" /> tools:tint="@color/briar_red_500" />
@@ -32,11 +30,8 @@
android:id="@+id/titleView" android:id="@+id/titleView"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="32dp" android:layout_marginHorizontal="@dimen/margin_xlarge"
android:layout_marginLeft="32dp" android:layout_marginTop="@dimen/margin_xlarge"
android:layout_marginTop="32dp"
android:layout_marginEnd="32dp"
android:layout_marginRight="32dp"
android:gravity="center" android:gravity="center"
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline5" android:textAppearance="@style/TextAppearance.MaterialComponents.Headline5"
app:layout_constraintBottom_toTopOf="@+id/textView" app:layout_constraintBottom_toTopOf="@+id/textView"
@@ -49,10 +44,9 @@
android:id="@+id/textView" android:id="@+id/textView"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="32dp" android:layout_marginHorizontal="@dimen/margin_xlarge"
android:layout_marginTop="32dp" android:layout_marginTop="@dimen/margin_xlarge"
android:layout_marginEnd="32dp" android:layout_marginBottom="@dimen/margin_large"
android:layout_marginBottom="16dp"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
app:layout_constraintBottom_toTopOf="@+id/button" app:layout_constraintBottom_toTopOf="@+id/button"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
@@ -65,7 +59,7 @@
style="@style/BriarButton" style="@style/BriarButton"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="16dp" android:layout_margin="@dimen/margin_large"
android:text="@string/finish" android:text="@string/finish"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
@@ -73,4 +67,4 @@
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView> </androidx.core.widget.NestedScrollView>

View File

@@ -1,86 +1,88 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:fillViewport="true"
tools:context=".android.hotspot.HotspotIntroFragment"> tools:context=".android.hotspot.HotspotIntroFragment">
<ImageView <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/imageView" android:layout_width="match_parent"
android:layout_width="0dp" android:layout_height="wrap_content">
android:layout_height="0dp"
android:layout_marginStart="64dp"
android:layout_marginLeft="64dp"
android:layout_marginTop="32dp"
android:layout_marginEnd="64dp"
android:layout_marginRight="64dp"
android:layout_marginBottom="32dp"
app:layout_constraintBottom_toTopOf="@+id/introView"
app:layout_constraintDimensionRatio="1,1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="spread_inside"
app:srcCompat="@drawable/ic_wifi_tethering"
tools:ignore="ContentDescription" />
<TextView <ImageView
android:id="@+id/introView" android:id="@+id/imageView"
android:layout_width="0dp" android:layout_width="@dimen/hero_square"
android:layout_height="wrap_content" android:layout_height="@dimen/hero_square"
android:layout_margin="16dp" android:layout_marginHorizontal="@dimen/margin_xlarge"
android:text="@string/hotspot_intro" android:layout_marginTop="@dimen/margin_xlarge"
app:layout_constraintBottom_toTopOf="@+id/startButton" app:layout_constraintBottom_toTopOf="@+id/introView"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView" /> app:layout_constraintVertical_bias="0.25"
app:layout_constraintVertical_chainStyle="packed"
app:srcCompat="@drawable/ic_wifi_tethering"
tools:ignore="ContentDescription" />
<Button <TextView
android:id="@+id/startButton" android:id="@+id/introView"
style="@style/BriarButton" android:layout_width="0dp"
android:layout_width="0dp" android:layout_height="wrap_content"
android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/margin_xlarge"
android:layout_margin="16dp" android:layout_marginTop="@dimen/margin_xlarge"
android:drawablePadding="6dp" android:layout_marginBottom="@dimen/margin_large"
android:text="@string/hotspot_button_start_sharing" android:text="@string/hotspot_intro"
app:drawableLeftCompat="@drawable/ic_wifi_tethering" android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
app:drawableStartCompat="@drawable/ic_wifi_tethering" app:layout_constraintBottom_toTopOf="@+id/startButton"
app:drawableTint="@color/button_text" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@+id/imageView" />
app:layout_constraintHorizontal_bias="0.812"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/introView"
app:layout_constraintVertical_bias="1.0"
tools:visibility="visible" />
<ProgressBar <Button
android:id="@+id/progressBar" android:id="@+id/startButton"
style="?android:attr/progressBarStyle" style="@style/BriarButton"
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="invisible" android:layout_margin="@dimen/margin_large"
app:layout_constraintBottom_toBottomOf="@+id/startButton" android:drawablePadding="8dp"
app:layout_constraintEnd_toStartOf="@+id/progressTextView" android:text="@string/hotspot_button_start_sharing"
app:layout_constraintHorizontal_chainStyle="packed" app:drawableLeftCompat="@drawable/ic_wifi_tethering"
app:layout_constraintStart_toStartOf="@+id/startButton" app:drawableStartCompat="@drawable/ic_wifi_tethering"
app:layout_constraintTop_toTopOf="@+id/startButton" app:drawableTint="@color/button_text"
tools:visibility="visible" /> app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:visibility="visible" />
<TextView <ProgressBar
android:id="@+id/progressTextView" android:id="@+id/progressBar"
android:layout_width="wrap_content" style="?android:attr/progressBarStyle"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_marginStart="16dp" android:layout_height="wrap_content"
android:layout_marginLeft="16dp" android:visibility="invisible"
android:text="@string/hotspot_progress_text_start" app:layout_constraintBottom_toBottomOf="@+id/startButton"
android:visibility="invisible" app:layout_constraintEnd_toStartOf="@+id/progressTextView"
app:layout_constraintBottom_toBottomOf="@+id/startButton" app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintEnd_toEndOf="@+id/startButton" app:layout_constraintStart_toStartOf="@+id/startButton"
app:layout_constraintStart_toEndOf="@+id/progressBar" app:layout_constraintTop_toTopOf="@+id/startButton"
app:layout_constraintTop_toTopOf="@+id/startButton" tools:visibility="visible" />
tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout> <TextView
android:id="@+id/progressTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_large"
android:layout_marginLeft="@dimen/margin_large"
android:text="@string/hotspot_progress_text_start"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="@+id/startButton"
app:layout_constraintEnd_toEndOf="@+id/startButton"
app:layout_constraintStart_toEndOf="@+id/progressBar"
app:layout_constraintTop_toTopOf="@+id/startButton"
tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>

View File

@@ -4,6 +4,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/briar_primary"
android:orientation="vertical"> android:orientation="vertical">
<androidx.appcompat.widget.Toolbar <androidx.appcompat.widget.Toolbar
@@ -12,30 +13,30 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:elevation="4dp" android:elevation="4dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navigationIcon="@drawable/abc_ic_ab_back_material" app:navigationIcon="@drawable/abc_ic_ab_back_material"
tools:title="Onboarding Fullscreen Dialog" /> tools:title="Onboarding Fullscreen Dialog" />
<ScrollView <androidx.core.widget.NestedScrollView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="0dp"
android:background="@color/briar_primary" android:layout_weight="1"
android:fillViewport="true"> android:fillViewport="true">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:layout_margin="@dimen/margin_xlarge">
<ImageView <ImageView
android:id="@+id/imageView" android:id="@+id/imageView"
android:layout_width="64dp" android:layout_width="@dimen/hero_square"
android:layout_height="64dp" android:layout_height="@dimen/hero_square"
android:layout_margin="16dp" app:layout_constraintBottom_toTopOf="@+id/contentView"
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"
app:layout_constraintVertical_bias="0.25"
app:layout_constraintVertical_chainStyle="packed"
app:srcCompat="@drawable/ic_info_white" app:srcCompat="@drawable/ic_info_white"
app:tint="@color/briar_text_secondary_inverse" app:tint="@color/briar_text_secondary_inverse"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
@@ -44,26 +45,25 @@
android:id="@+id/contentView" android:id="@+id/contentView"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="16dp" android:layout_marginTop="@dimen/margin_xlarge"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
android:textColor="@color/briar_text_secondary_inverse" android:textColor="@color/briar_text_secondary_inverse"
app:layout_constraintBottom_toTopOf="@+id/button" app:layout_constraintBottom_toBottomOf="parent"
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/imageView" app:layout_constraintTop_toBottomOf="@+id/imageView"
app:layout_constraintVertical_bias="0.0"
tools:text="@tools:sample/lorem/random" /> tools:text="@tools:sample/lorem/random" />
<Button
android:id="@+id/button"
style="@style/BriarButtonFlat.Positive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/got_it"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView> </androidx.core.widget.NestedScrollView>
<Button
android:id="@+id/button"
style="@style/BriarButtonFlat.Positive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:text="@string/got_it" />
</LinearLayout> </LinearLayout>

View File

@@ -12,14 +12,16 @@
<ImageView <ImageView
android:id="@+id/imageView" android:id="@+id/imageView"
android:layout_width="192dp" android:layout_width="@dimen/hero_square"
android:layout_height="192dp" android:layout_height="@dimen/hero_square"
android:layout_marginTop="32dp" android:layout_marginHorizontal="@dimen/margin_xlarge"
android:layout_marginTop="@dimen/margin_xlarge"
app:layout_constraintBottom_toTopOf="@+id/introView" app:layout_constraintBottom_toTopOf="@+id/introView"
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"
app:layout_constraintVertical_chainStyle="spread" app:layout_constraintVertical_bias="0.25"
app:layout_constraintVertical_chainStyle="packed"
app:srcCompat="@drawable/ic_transfer_data" app:srcCompat="@drawable/ic_transfer_data"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
@@ -27,12 +29,11 @@
android:id="@+id/introView" android:id="@+id/introView"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="32dp" android:layout_marginHorizontal="@dimen/margin_xlarge"
android:layout_marginTop="32dp" android:layout_marginTop="@dimen/margin_xlarge"
android:layout_marginEnd="32dp" android:layout_marginBottom="@dimen/margin_large"
android:layout_marginBottom="16dp"
android:text="@string/removable_drive_intro" android:text="@string/removable_drive_intro"
android:textSize="16sp" android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
app:layout_constraintBottom_toTopOf="@+id/sendButton" app:layout_constraintBottom_toTopOf="@+id/sendButton"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@@ -43,7 +44,8 @@
style="@style/BriarButton" style="@style/BriarButton"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="16dp" android:layout_marginHorizontal="@dimen/margin_large"
android:layout_marginTop="@dimen/margin_large"
android:text="@string/removable_drive_title_send" android:text="@string/removable_drive_title_send"
app:layout_constraintBottom_toTopOf="@+id/receiveButton" app:layout_constraintBottom_toTopOf="@+id/receiveButton"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
@@ -54,7 +56,7 @@
style="@style/BriarButton" style="@style/BriarButton"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="16dp" android:layout_margin="@dimen/margin_large"
android:text="@string/removable_drive_title_receive" android:text="@string/removable_drive_title_receive"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"

View File

@@ -12,14 +12,16 @@
<ImageView <ImageView
android:id="@+id/imageView" android:id="@+id/imageView"
android:layout_width="192dp" android:layout_width="@dimen/hero_rect_width"
android:layout_height="96dp" android:layout_height="@dimen/hero_rect_height"
android:layout_marginTop="32dp" android:layout_marginHorizontal="@dimen/margin_xlarge"
android:layout_marginTop="@dimen/margin_xlarge"
app:layout_constraintBottom_toTopOf="@+id/progressBar" app:layout_constraintBottom_toTopOf="@+id/progressBar"
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"
app:layout_constraintVertical_chainStyle="spread" app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintVertical_bias="0.25"
app:srcCompat="@drawable/ic_transfer_data_receive" app:srcCompat="@drawable/ic_transfer_data_receive"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
@@ -28,7 +30,8 @@
style="?android:attr/progressBarStyleHorizontal" style="?android:attr/progressBarStyleHorizontal"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="32dp" android:layout_marginHorizontal="@dimen/margin_xlarge"
android:layout_marginTop="@dimen/margin_xlarge"
android:indeterminate="true" android:indeterminate="true"
android:visibility="invisible" android:visibility="invisible"
app:layout_constraintBottom_toTopOf="@+id/introTextView" app:layout_constraintBottom_toTopOf="@+id/introTextView"
@@ -41,11 +44,11 @@
android:id="@+id/introTextView" android:id="@+id/introTextView"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="32dp" android:layout_marginHorizontal="@dimen/margin_xlarge"
android:layout_marginEnd="32dp" android:layout_marginTop="@dimen/margin_xlarge"
android:layout_marginBottom="16dp" android:layout_marginBottom="@dimen/margin_large"
android:text="@string/removable_drive_receive_intro" android:text="@string/removable_drive_receive_intro"
android:textSize="16sp" android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
app:layout_constraintBottom_toTopOf="@+id/fileButton" app:layout_constraintBottom_toTopOf="@+id/fileButton"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@@ -56,7 +59,7 @@
style="@style/BriarButton" style="@style/BriarButton"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="16dp" android:layout_margin="@dimen/margin_large"
android:enabled="false" android:enabled="false"
android:text="@string/removable_drive_receive_button" android:text="@string/removable_drive_receive_button"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"

View File

@@ -12,14 +12,16 @@
<ImageView <ImageView
android:id="@+id/imageView" android:id="@+id/imageView"
android:layout_width="192dp" android:layout_width="@dimen/hero_rect_width"
android:layout_height="96dp" android:layout_height="@dimen/hero_rect_height"
android:layout_marginTop="32dp" android:layout_marginHorizontal="@dimen/margin_xlarge"
android:layout_marginTop="@dimen/margin_xlarge"
app:layout_constraintBottom_toTopOf="@+id/progressBar" app:layout_constraintBottom_toTopOf="@+id/progressBar"
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"
app:layout_constraintVertical_chainStyle="spread" app:layout_constraintVertical_bias="0.25"
app:layout_constraintVertical_chainStyle="packed"
app:srcCompat="@drawable/ic_transfer_data_send" app:srcCompat="@drawable/ic_transfer_data_send"
tools:ignore="ContentDescription" /> tools:ignore="ContentDescription" />
@@ -28,7 +30,8 @@
style="?android:attr/progressBarStyleHorizontal" style="?android:attr/progressBarStyleHorizontal"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="32dp" android:layout_marginHorizontal="@dimen/margin_xlarge"
android:layout_marginTop="@dimen/margin_xlarge"
android:visibility="invisible" android:visibility="invisible"
app:layout_constraintBottom_toTopOf="@+id/introTextView" app:layout_constraintBottom_toTopOf="@+id/introTextView"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
@@ -40,11 +43,11 @@
android:id="@+id/introTextView" android:id="@+id/introTextView"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="32dp" android:layout_marginHorizontal="@dimen/margin_xlarge"
android:layout_marginEnd="32dp" android:layout_marginTop="@dimen/margin_xlarge"
android:layout_marginBottom="16dp" android:layout_marginBottom="@dimen/margin_large"
android:text="@string/removable_drive_send_intro" android:text="@string/removable_drive_send_intro"
android:textSize="16sp" android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
app:layout_constraintBottom_toTopOf="@+id/fileButton" app:layout_constraintBottom_toTopOf="@+id/fileButton"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@@ -55,7 +58,7 @@
style="@style/BriarButton" style="@style/BriarButton"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="16dp" android:layout_margin="@dimen/margin_large"
android:enabled="false" android:enabled="false"
android:text="@string/removable_drive_send_button" android:text="@string/removable_drive_send_button"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"

View File

@@ -12,6 +12,11 @@
<dimen name="margin_xlarge">32dp</dimen> <dimen name="margin_xlarge">32dp</dimen>
<dimen name="margin_xxlarge">64dp</dimen> <dimen name="margin_xxlarge">64dp</dimen>
<!-- hero icons -->
<dimen name="hero_square">128dp</dimen>
<dimen name="hero_rect_width">192dp</dimen>
<dimen name="hero_rect_height">96dp</dimen>
<!-- v2 dimens --> <!-- v2 dimens -->
<dimen name="text_size_tiny">12sp</dimen> <dimen name="text_size_tiny">12sp</dimen>
<dimen name="text_size_small">14sp</dimen> <dimen name="text_size_small">14sp</dimen>