diff options
| author | Lena <lena@omega> | 2026-08-16 00:00:00 +0000 |
|---|---|---|
| committer | Lena <lena@omega> | 2026-08-16 00:00:00 +0000 |
| commit | 0e8a87f2ad2bd40d34996374aebb6dff070e4b5f (patch) | |
| tree | 0d233593ac24181b58fea9c4a68d58ef070482f6 /app/src/main/res/layout | |
| parent | beaa0c970d6c3538119b8a34a3f2f754b45e54cf (diff) | |
| download | rsend-0e8a87f2ad2bd40d34996374aebb6dff070e4b5f.tar.gz | |
app: harden backup execution
Validate persisted state and destination boundaries, make interruption
and mirror deletion explicit, and keep scheduled work singular.
Diffstat (limited to 'app/src/main/res/layout')
| -rw-r--r-- | app/src/main/res/layout/activity_folder.xml | 6 | ||||
| -rw-r--r-- | app/src/main/res/layout/activity_log.xml | 74 | ||||
| -rw-r--r-- | app/src/main/res/layout/activity_picker.xml | 51 | ||||
| -rw-r--r-- | app/src/main/res/layout/activity_remote.xml | 4 | ||||
| -rw-r--r-- | app/src/main/res/layout/activity_schedule.xml | 7 | ||||
| -rw-r--r-- | app/src/main/res/layout/app_toolbar.xml | 4 | ||||
| -rw-r--r-- | app/src/main/res/layout/item_dir.xml | 31 |
7 files changed, 91 insertions, 86 deletions
diff --git a/app/src/main/res/layout/activity_folder.xml b/app/src/main/res/layout/activity_folder.xml index a67af55..40ad432 100644 --- a/app/src/main/res/layout/activity_folder.xml +++ b/app/src/main/res/layout/activity_folder.xml @@ -36,6 +36,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4dp" + android:importantForAutofill="no" android:inputType="text" android:hint="DCIM" /> @@ -59,6 +60,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" + android:importantForAutofill="no" android:inputType="textUri" android:hint="/storage/emulated/0/DCIM" /> @@ -97,6 +99,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4dp" + android:importantForAutofill="no" android:inputType="textUri" android:hint="DCIM" /> @@ -113,10 +116,11 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4dp" + android:importantForAutofill="no" android:inputType="text" android:hint=".thumbnails/, .trashed/" /> - <Switch + <androidx.appcompat.widget.SwitchCompat android:id="@+id/delete" android:layout_width="match_parent" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/activity_log.xml b/app/src/main/res/layout/activity_log.xml index af15ec2..a44f657 100644 --- a/app/src/main/res/layout/activity_log.xml +++ b/app/src/main/res/layout/activity_log.xml @@ -7,50 +7,52 @@ <include layout="@layout/app_toolbar" /> - <LinearLayout + <RelativeLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" - android:orientation="vertical" android:padding="@dimen/space_m"> - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:layout_marginBottom="@dimen/space_m"> - - <Button - android:id="@+id/refresh" - style="@style/Widget.Rsend.Button.Secondary" - android:layout_width="0dp" + <LinearLayout + android:id="@+id/logActions" + android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_weight="1" - android:layout_marginEnd="@dimen/space_s" - android:text="Refresh" /> + android:layout_alignParentTop="true" + android:layout_marginBottom="@dimen/space_m" + android:orientation="horizontal"> - <Button - android:id="@+id/clear" - style="@style/Widget.Rsend.Button.Secondary" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" - android:text="Clear" /> - </LinearLayout> + <Button + android:id="@+id/refresh" + style="@style/Widget.Rsend.Button.Secondary" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginEnd="@dimen/space_s" + android:layout_weight="1" + android:text="Refresh" /> - <ScrollView - style="@style/Widget.Rsend.Card" - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="1"> + <Button + android:id="@+id/clear" + style="@style/Widget.Rsend.Button.Secondary" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:text="Clear" /> + </LinearLayout> - <TextView - android:id="@+id/log" + <ScrollView + style="@style/Widget.Rsend.Card" android:layout_width="match_parent" - android:layout_height="wrap_content" - android:textAppearance="@style/TextAppearance.Rsend.Mono" - android:textSize="11sp" - android:textIsSelectable="true" /> - </ScrollView> - </LinearLayout> + android:layout_height="match_parent" + android:layout_alignParentBottom="true" + android:layout_below="@id/logActions"> + + <TextView + android:id="@+id/log" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:textAppearance="@style/TextAppearance.Rsend.Mono" + android:textIsSelectable="true" + android:textSize="11sp" /> + </ScrollView> + </RelativeLayout> </LinearLayout> diff --git a/app/src/main/res/layout/activity_picker.xml b/app/src/main/res/layout/activity_picker.xml index db4a044..39d8d94 100644 --- a/app/src/main/res/layout/activity_picker.xml +++ b/app/src/main/res/layout/activity_picker.xml @@ -7,11 +7,10 @@ <include layout="@layout/app_toolbar" /> - <LinearLayout + <RelativeLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" - android:orientation="vertical" android:padding="@dimen/space_m"> <TextView @@ -19,43 +18,47 @@ style="@style/Widget.Rsend.Card" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_alignParentTop="true" android:textAppearance="@style/TextAppearance.Rsend.Mono" android:textSize="12sp" /> - <ScrollView - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="1"> - - <LinearLayout - android:id="@+id/list" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="vertical" /> - </ScrollView> - <LinearLayout + android:id="@+id/pickerActions" android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="horizontal" - android:layout_marginTop="@dimen/space_m"> + android:layout_alignParentBottom="true" + android:layout_marginTop="@dimen/space_m" + android:orientation="horizontal"> <Button - android:id="@+id/use" - style="@style/Widget.Rsend.Button.Primary" + android:id="@+id/cancel" + style="@style/Widget.Rsend.Button.Secondary" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_weight="1" android:layout_marginEnd="@dimen/space_s" - android:text="Use this folder" /> + android:layout_weight="1" + android:text="Cancel" /> <Button - android:id="@+id/cancel" - style="@style/Widget.Rsend.Button.Secondary" + android:id="@+id/use" + style="@style/Widget.Rsend.Button.Primary" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" - android:text="Cancel" /> + android:text="Use this folder" /> </LinearLayout> - </LinearLayout> + + <ScrollView + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_above="@id/pickerActions" + android:layout_below="@id/currentPath"> + + <LinearLayout + android:id="@+id/list" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" /> + </ScrollView> + </RelativeLayout> </LinearLayout> diff --git a/app/src/main/res/layout/activity_remote.xml b/app/src/main/res/layout/activity_remote.xml index ab7690c..fa89385 100644 --- a/app/src/main/res/layout/activity_remote.xml +++ b/app/src/main/res/layout/activity_remote.xml @@ -36,6 +36,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4dp" + android:importantForAutofill="no" android:inputType="text" android:hint="nas" /> @@ -52,6 +53,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4dp" + android:importantForAutofill="no" android:inputType="textUri" android:hint="home.example.org" /> @@ -68,6 +70,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4dp" + android:importantForAutofill="no" android:inputType="number" android:hint="22" /> @@ -84,6 +87,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4dp" + android:importantForAutofill="no" android:inputType="text" android:hint="backup" /> </LinearLayout> diff --git a/app/src/main/res/layout/activity_schedule.xml b/app/src/main/res/layout/activity_schedule.xml index d06ef1b..a02edd3 100644 --- a/app/src/main/res/layout/activity_schedule.xml +++ b/app/src/main/res/layout/activity_schedule.xml @@ -24,7 +24,7 @@ android:layout_height="wrap_content" android:orientation="vertical"> - <Switch + <androidx.appcompat.widget.SwitchCompat android:id="@+id/enabled" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -44,10 +44,11 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4dp" + android:importantForAutofill="no" android:inputType="number" android:hint="120" /> - <Switch + <androidx.appcompat.widget.SwitchCompat android:id="@+id/wifiOnly" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -55,7 +56,7 @@ android:textAppearance="@style/TextAppearance.Rsend.Body" android:text="Unmetered network only" /> - <Switch + <androidx.appcompat.widget.SwitchCompat android:id="@+id/charging" android:layout_width="match_parent" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/app_toolbar.xml b/app/src/main/res/layout/app_toolbar.xml index 12eeb47..a6c18b8 100644 --- a/app/src/main/res/layout/app_toolbar.xml +++ b/app/src/main/res/layout/app_toolbar.xml @@ -3,9 +3,11 @@ Toolbar; the dark overlay gives the title light text on the dark bar. --> <androidx.appcompat.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/bar" android:elevation="4dp" - android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> + android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" + tools:ignore="Overdraw" /> diff --git a/app/src/main/res/layout/item_dir.xml b/app/src/main/res/layout/item_dir.xml index 651224c..4af38e3 100644 --- a/app/src/main/res/layout/item_dir.xml +++ b/app/src/main/res/layout/item_dir.xml @@ -1,27 +1,16 @@ <?xml version="1.0" encoding="utf-8"?> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" +<TextView xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/dirName" style="@style/Widget.Rsend.Card" android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="horizontal" - android:gravity="center_vertical" android:clickable="true" + android:drawablePadding="@dimen/space_m" + android:ellipsize="end" android:focusable="true" - android:foreground="?attr/selectableItemBackground"> - - <ImageView - android:layout_width="24dp" - android:layout_height="24dp" - android:layout_marginEnd="@dimen/space_m" - android:src="@drawable/ic_folder" - android:contentDescription="@null" /> - - <TextView - android:id="@+id/dirName" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" - android:maxLines="1" - android:ellipsize="end" - android:textAppearance="@style/TextAppearance.Rsend.Title" /> -</LinearLayout> + android:foreground="?attr/selectableItemBackground" + android:gravity="center_vertical" + android:maxLines="1" + android:textAppearance="@style/TextAppearance.Rsend.Title" + app:drawableStartCompat="@drawable/ic_folder" /> |