diff options
| author | Lena <lena@omega> | 2026-01-01 00:00:00 +0000 |
|---|---|---|
| committer | Lena <lena@omega> | 2026-01-01 00:00:00 +0000 |
| commit | 7e04941bccb2683f8a6e3ee38a99c50129234dd1 (patch) | |
| tree | 471227fa437291e7a6b499e3de6c106c54eaf311 /app/src/main/res/values | |
| download | rsend-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/values')
| -rw-r--r-- | app/src/main/res/values/colors.xml | 20 | ||||
| -rw-r--r-- | app/src/main/res/values/dimens.xml | 13 | ||||
| -rw-r--r-- | app/src/main/res/values/strings.xml | 3 | ||||
| -rw-r--r-- | app/src/main/res/values/themes.xml | 103 |
4 files changed, 139 insertions, 0 deletions
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..bfcdd4e --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <!-- Neutral / monochrome palette. Light mode; values-night overrides. --> + <color name="background">#F4F4F5</color> + <color name="surface">#FFFFFF</color> + <color name="surface_variant">#ECECEE</color> + <color name="outline">#DCDCE0</color> + <color name="text_primary">#17181A</color> + <color name="text_secondary">#6A6C70</color> + + <!-- Single restrained accent: a quiet slate. Drives switches and focus. --> + <color name="accent">#3B4252</color> + + <!-- Primary button flips so it always has contrast against the surface. --> + <color name="button_primary_bg">#23252B</color> + <color name="button_primary_text">#FFFFFF</color> + + <!-- Action bar / status bar. --> + <color name="bar">#23252B</color> +</resources> diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml new file mode 100644 index 0000000..abcba37 --- /dev/null +++ b/app/src/main/res/values/dimens.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <dimen name="space_s">8dp</dimen> + <dimen name="space_m">16dp</dimen> + <dimen name="space_l">24dp</dimen> + + <dimen name="radius">14dp</dimen> + <dimen name="radius_pill">999dp</dimen> + + <dimen name="card_padding">16dp</dimen> + <dimen name="row_min_height">56dp</dimen> + <dimen name="stroke">1dp</dimen> +</resources> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..1f1e4bb --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ +<resources> + <string name="app_name">rsend</string> +</resources> diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..c31d4d8 --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,103 @@ +<resources> + + <style name="Theme.Rsend" parent="Theme.AppCompat.DayNight.NoActionBar"> + <item name="colorPrimary">@color/bar</item> + <item name="colorPrimaryDark">@color/bar</item> + <item name="colorAccent">@color/accent</item> + <item name="colorControlActivated">@color/accent</item> + <item name="android:windowBackground">@color/background</item> + <item name="android:colorBackground">@color/background</item> + <item name="android:textColorPrimary">@color/text_primary</item> + <item name="android:textColorSecondary">@color/text_secondary</item> + <item name="android:textColorHint">@color/text_secondary</item> + </style> + + <!-- Text --> + <style name="TextAppearance.Rsend.Title" parent="TextAppearance.AppCompat"> + <item name="android:textColor">@color/text_primary</item> + <item name="android:textSize">17sp</item> + <item name="android:textStyle">bold</item> + </style> + + <style name="TextAppearance.Rsend.SectionHeader" parent="TextAppearance.AppCompat"> + <item name="android:textColor">@color/text_secondary</item> + <item name="android:textSize">12sp</item> + <item name="android:textStyle">bold</item> + <item name="android:textAllCaps">true</item> + <item name="android:letterSpacing">0.08</item> + </style> + + <style name="TextAppearance.Rsend.Body" parent="TextAppearance.AppCompat"> + <item name="android:textColor">@color/text_primary</item> + <item name="android:textSize">15sp</item> + </style> + + <style name="TextAppearance.Rsend.Caption" parent="TextAppearance.AppCompat"> + <item name="android:textColor">@color/text_secondary</item> + <item name="android:textSize">13sp</item> + </style> + + <style name="TextAppearance.Rsend.Mono" parent="TextAppearance.AppCompat"> + <item name="android:textColor">@color/text_primary</item> + <item name="android:fontFamily">monospace</item> + <item name="android:textSize">12sp</item> + </style> + + <!-- Containers --> + <style name="Widget.Rsend.Card" parent=""> + <item name="android:background">@drawable/bg_card</item> + <item name="android:padding">@dimen/card_padding</item> + <item name="android:layout_marginBottom">@dimen/space_m</item> + </style> + + <style name="Widget.Rsend.Row" parent=""> + <item name="android:orientation">horizontal</item> + <item name="android:gravity">center_vertical</item> + <item name="android:minHeight">@dimen/row_min_height</item> + <item name="android:background">?attr/selectableItemBackground</item> + <item name="android:paddingTop">@dimen/space_s</item> + <item name="android:paddingBottom">@dimen/space_s</item> + </style> + + <!-- Buttons --> + <style name="Widget.Rsend.Button.Primary" parent="Widget.AppCompat.Button"> + <item name="android:background">@drawable/bg_button_primary</item> + <item name="android:textColor">@color/button_primary_text</item> + <item name="android:textAllCaps">false</item> + <item name="android:textStyle">bold</item> + <item name="android:textSize">15sp</item> + <item name="android:minHeight">52dp</item> + <item name="android:stateListAnimator">@null</item> + </style> + + <style name="Widget.Rsend.Button.Secondary" parent="Widget.AppCompat.Button"> + <item name="android:background">@drawable/bg_button_secondary</item> + <item name="android:textColor">@color/text_primary</item> + <item name="android:textAllCaps">false</item> + <item name="android:textSize">15sp</item> + <item name="android:minHeight">48dp</item> + <item name="android:stateListAnimator">@null</item> + </style> + + <!-- Inputs --> + <style name="Widget.Rsend.EditText" parent="Widget.AppCompat.EditText"> + <item name="android:background">@drawable/bg_input</item> + <item name="android:textColor">@color/text_primary</item> + <item name="android:textColorHint">@color/text_secondary</item> + <item name="android:padding">12dp</item> + <item name="android:textSize">15sp</item> + </style> + + <!-- Chip (per-folder add/mirror tag) --> + <style name="Widget.Rsend.Chip" parent=""> + <item name="android:background">@drawable/bg_chip</item> + <item name="android:textColor">@color/text_secondary</item> + <item name="android:textSize">11sp</item> + <item name="android:textAllCaps">true</item> + <item name="android:paddingLeft">10dp</item> + <item name="android:paddingRight">10dp</item> + <item name="android:paddingTop">3dp</item> + <item name="android:paddingBottom">3dp</item> + </style> + +</resources> |