Adjust styling and sizing for rationale dialog.

This commit is contained in:
Alex Hart
2024-03-07 11:10:23 -04:00
parent aeedab1531
commit e0bd60f87c
3 changed files with 38 additions and 26 deletions

View File

@@ -20,23 +20,29 @@ import androidx.core.graphics.drawable.DrawableCompat;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import org.signal.core.util.DimensionUnit;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.util.ThemeUtil;
import org.thoughtcrime.securesms.util.ViewUtil;
import java.util.Objects;
public class RationaleDialog {
public static MaterialAlertDialogBuilder createFor(@NonNull Context context, @NonNull String message, @DrawableRes int... drawables) {
View view = LayoutInflater.from(context).inflate(R.layout.permissions_rationale_dialog, null);
ViewGroup header = view.findViewById(R.id.header_container);
TextView text = view.findViewById(R.id.message);
View view = LayoutInflater.from(context).inflate(R.layout.permissions_rationale_dialog, null);
ViewGroup header = view.findViewById(R.id.header_container);
TextView text = view.findViewById(R.id.message);
int iconSize = (int) DimensionUnit.DP.toPixels(32);
for (int i=0;i<drawables.length;i++) {
Drawable drawable = ContextCompat.getDrawable(context, drawables[i]);
Drawable drawable = Objects.requireNonNull(ContextCompat.getDrawable(context, drawables[i]));
DrawableCompat.setTint(drawable, ContextCompat.getColor(context, R.color.white));
ImageView imageView = new ImageView(context);
imageView.setImageDrawable(drawable);
imageView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
imageView.setLayoutParams(new LayoutParams(iconSize, iconSize));
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
header.addView(imageView);

View File

@@ -1,30 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:viewBindingIgnore="true"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:orientation="vertical"
tools:viewBindingIgnore="true">
<LinearLayout android:id="@+id/header_container"
android:background="@color/core_ultramarine"
<LinearLayout
android:id="@+id/header_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@color/signal_colorPrimary"
android:gravity="center"
android:padding="40dp">
android:orientation="horizontal"
android:padding="48dp">
</LinearLayout>
<TextView android:id="@+id/message"
<TextView
android:id="@+id/message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="20dp"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:textSize="15sp"
android:lineSpacingMultiplier="1.3"
android:paddingHorizontal="24dp"
android:paddingTop="16dp"
android:scrollbars="vertical"
tools:text="Signal needs access to your contacts and media in order to connect with friends, exchange messages, and make secure calls."/>
android:textAppearance="@style/Signal.Text.BodyMedium"
android:textColor="@color/signal_colorOnSurfaceVariant"
tools:text="Signal needs access to your contacts and media in order to connect with friends, exchange messages, and make secure calls." />
</LinearLayout>