aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/res/layout/activity_schedule.xml
diff options
context:
space:
mode:
authorLena <lena@omega>2026-01-01 00:00:00 +0000
committerLena <lena@omega>2026-01-01 00:00:00 +0000
commit7e04941bccb2683f8a6e3ee38a99c50129234dd1 (patch)
tree471227fa437291e7a6b499e3de6c106c54eaf311 /app/src/main/res/layout/activity_schedule.xml
downloadrsend-7e04941bccb2683f8a6e3ee38a99c50129234dd1.tar.gz
rsend: push phone folders to a home SSH host over rsync
A small Android app for one-way folder backup, a KISS alternative to Syncthing. It bundles rsync (built from pinned source via the NDK) and a pure-Go SSH transport, both shipped in the APK as lib*.so and run from the native library directory. rsend pins the host key, stores the ed25519 identity Keystore-encrypted, pushes each folder additively or as a mirror, and runs on demand or on a WiFi-only schedule. The build is self-contained and reproducible: make setup provisions the toolchain, make builds rsync, rsh, and the APK.
Diffstat (limited to 'app/src/main/res/layout/activity_schedule.xml')
-rw-r--r--app/src/main/res/layout/activity_schedule.xml75
1 files changed, 75 insertions, 0 deletions
diff --git a/app/src/main/res/layout/activity_schedule.xml b/app/src/main/res/layout/activity_schedule.xml
new file mode 100644
index 0000000..981d6a9
--- /dev/null
+++ b/app/src/main/res/layout/activity_schedule.xml
@@ -0,0 +1,75 @@
+<?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" />
+
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:padding="@dimen/space_m">
+
+ <LinearLayout
+ style="@style/Widget.Rsend.Card"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <Switch
+ android:id="@+id/enabled"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.Rsend.Body"
+ android:text="Auto-sync on a schedule" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/space_m"
+ android:textAppearance="@style/TextAppearance.Rsend.Caption"
+ android:text="Interval (minutes, minimum 1)" />
+
+ <EditText
+ android:id="@+id/interval"
+ style="@style/Widget.Rsend.EditText"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="4dp"
+ android:inputType="number"
+ android:hint="120" />
+
+ <Switch
+ android:id="@+id/wifiOnly"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/space_m"
+ android:textAppearance="@style/TextAppearance.Rsend.Body"
+ android:text="WiFi only (unmetered networks)" />
+
+ <Switch
+ android:id="@+id/charging"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/space_m"
+ android:textAppearance="@style/TextAppearance.Rsend.Body"
+ android:text="Only while charging" />
+ </LinearLayout>
+
+ <Button
+ android:id="@+id/save"
+ style="@style/Widget.Rsend.Button.Primary"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="Save" />
+ </LinearLayout>
+ </ScrollView>
+</LinearLayout>