maposition/app/src/main/res/layout/activity_settings.xml
Cosano-star 3bd72ccb36 v1.1 : fiabilisation de l'envoi et refonte de l'interface en Material 3
- Accusés d'envoi SMS réels par destinataire (PendingIntent + BroadcastReceiver) :
  le statut final distingue succès, échecs par numéro et envois non confirmés
- Repli GPS : si pas de position fraîche en 10 s, utilisation de la dernière
  position connue (mention de son âge dans le SMS)
- API SmsManager moderne (getSystemService sur Android 12+, compatible multi-SIM)
- Envois espacés de 500 ms entre destinataires (anti-filtrage opérateur)
- UI Material 3 : gros bouton d'envoi central, indicateur de progression,
  statut détaillé, carte destinataires ; paramètres avec validation des numéros
- Validation des numéros à la saisie, versionCode 2 / versionName 1.1

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 14:05:04 +02:00

76 lines
2.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="24dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageButton
android:id="@+id/backButton"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/back"
android:src="@drawable/ic_back"
app:tint="?attr/colorOnSurface" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@string/settings_title"
android:textSize="24sp"
android:textStyle="bold" />
</LinearLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/nameLayout"
style="@style/Widget.Material3.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:hint="@string/name_hint"
app:helperText="@string/name_helper">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/nameInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:maxLength="40" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/phonesLayout"
style="@style/Widget.Material3.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:hint="@string/phones_hint"
app:helperText="@string/phones_helper">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/phonesInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.button.MaterialButton
android:id="@+id/saveButton"
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_marginTop="32dp"
android:text="@string/save"
android:textSize="16sp"
app:backgroundTint="@color/brand_blue"
app:cornerRadius="16dp" />
</LinearLayout>