aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/res
diff options
context:
space:
mode:
authorLena <lena@omega>2026-06-01 00:00:00 +0000
committerLena <lena@omega>2026-06-01 00:00:00 +0000
commit72e37d2dac501faa300ca895c56c53eea43ae4ae (patch)
treeca1a3f77d46f91f14b9c713f193af755f3d1fa2f /app/src/main/res
parent7e04941bccb2683f8a6e3ee38a99c50129234dd1 (diff)
downloadrsend-0.1.0.tar.gz
app: add a folder picker for local paths0.1.0
Typing absolute paths is error-prone; let the user browse real filesystem folders and pick one. Stays on real paths (no SAF) so rsync keeps operating on POSIX paths.
Diffstat (limited to 'app/src/main/res')
-rw-r--r--app/src/main/res/layout/activity_folder.xml26
-rw-r--r--app/src/main/res/layout/activity_picker.xml61
-rw-r--r--app/src/main/res/layout/item_dir.xml27
3 files changed, 109 insertions, 5 deletions
diff --git a/app/src/main/res/layout/activity_folder.xml b/app/src/main/res/layout/activity_folder.xml
index 1a15f00..1381529 100644
--- a/app/src/main/res/layout/activity_folder.xml
+++ b/app/src/main/res/layout/activity_folder.xml
@@ -46,14 +46,30 @@
android:textAppearance="@style/TextAppearance.Rsend.Caption"
android:text="Local path" />
- <EditText
- android:id="@+id/local"
- style="@style/Widget.Rsend.EditText"
+ <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
- android:inputType="textUri"
- android:hint="/storage/emulated/0/DCIM" />
+ android:orientation="horizontal"
+ android:gravity="center_vertical">
+
+ <EditText
+ android:id="@+id/local"
+ style="@style/Widget.Rsend.EditText"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:inputType="textUri"
+ android:hint="/storage/emulated/0/DCIM" />
+
+ <Button
+ android:id="@+id/browse"
+ style="@style/Widget.Rsend.Button.Secondary"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="@dimen/space_s"
+ android:text="Browse" />
+ </LinearLayout>
<TextView
android:layout_width="match_parent"
diff --git a/app/src/main/res/layout/activity_picker.xml b/app/src/main/res/layout/activity_picker.xml
new file mode 100644
index 0000000..db4a044
--- /dev/null
+++ b/app/src/main/res/layout/activity_picker.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/appRoot"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <include layout="@layout/app_toolbar" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ android:orientation="vertical"
+ android:padding="@dimen/space_m">
+
+ <TextView
+ android:id="@+id/currentPath"
+ style="@style/Widget.Rsend.Card"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ 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:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_marginTop="@dimen/space_m">
+
+ <Button
+ android:id="@+id/use"
+ style="@style/Widget.Rsend.Button.Primary"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:layout_marginEnd="@dimen/space_s"
+ android:text="Use this folder" />
+
+ <Button
+ android:id="@+id/cancel"
+ style="@style/Widget.Rsend.Button.Secondary"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="Cancel" />
+ </LinearLayout>
+ </LinearLayout>
+</LinearLayout>
diff --git a/app/src/main/res/layout/item_dir.xml b/app/src/main/res/layout/item_dir.xml
new file mode 100644
index 0000000..651224c
--- /dev/null
+++ b/app/src/main/res/layout/item_dir.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ 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: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>