1
0
Fork 0
mirror of https://github.com/syncthing/syncthing-android.git synced 2024-11-26 06:11:19 +00:00
Wrapper of syncthing for Android.
Find a file
Catfriend1 5911914fbf
Fix minimum free disk space setting not working (fixes #277) (#278)
* WIP

* Revert "WIP"

This reverts commit 98b34c47c6b844bd7c5a332360cd5965708e69d7.

* WIP

* Revert "WIP"

This reverts commit 3b9fc96d90708e4d4c0eef08f8372c5c4a2f2314.

* Add de/serializer for MinDiskFree

* Move MinDiskFree out of Folder

* Move MinDiskFree out of Folder (2)

* Revert "Move MinDiskFree out of Folder (2)"

This reverts commit 65f87db9a59c67d5a59eb713904976c78a5dcb9a.

* Revert "Move MinDiskFree out of Folder"

This reverts commit b71350bd105731d2763d95db7f3f1d1524328cfa.

* Revert "Add de/serializer for MinDiskFree"

This reverts commit 582742662942ece78658ebc3f7fa5c3ec91a5262.

* RestApi: Add MinDiskFreeSerializer, MinDiskFreeDeserializer

* Revert "RestApi: Add MinDiskFreeSerializer, MinDiskFreeDeserializer"

This reverts commit 3922f2451c48850c92e9403607bfb4edab8c591d.

* Test

* Revert "Test"

This reverts commit 355009565aaaf50efcf06c72bdff5b3466547a63.

* FolderActivity/DeviceActivity: Fix restApi unavailable in onCreate()

* Model/Folder#MinDiskFree: Initialize members (fixes #277)

* ConfigXml#getFolders: Add MinDiskFree (fixes #277)

* ConfigXml: Write back minDiskFree (fixes #277)

* Ignore notices about updating gradle dependencies

* ConfigXml: Make number parsing more safe

* FolderActivity#initFolder: Add new Folder.MinDiskFree

* Handle minDiskFree.value as String instead of float

* Revert "Handle minDiskFree.value as String instead of float"

This reverts commit 0552cfcbe139e99e575237a9b47ee4e888721c6f.

* WIP

* Revert "WIP"

This reverts commit 0a3df9144a86a396318c57a089d41da449d284dc.

* RestApi: Avoid creating duplicate Gson() instances

* Model/Folder: Use Integer instead of Float

See gson glitch:
https://github.com/google/gson/pull/1290
https://github.com/google/gson/issues/968

* Try MinDiskFree.value as Long instead of Integer

* Revert "Try MinDiskFree.value as Long instead of Integer"

This reverts commit d3588629818b3f75d30a2486a7c4583b0d4c99c7.

* Revert "Model/Folder: Use Integer instead of Float"

This reverts commit ca3931bd0d06cf500cff2443e4205f7c3211e777.

* Update model/Options: MinHomeDiskFree (fixes #277)
2019-01-27 20:41:02 +01:00
.tx Create Transifex config (#28) 2018-08-25 01:24:52 +02:00
app Fix minimum free disk space setting not working (fixes #277) (#278) 2019-01-27 20:41:02 +01:00
docker Update Dockerfile (#218) 2019-01-12 18:36:35 +01:00
fdroiddata/metadata Update fdroiddata (#151) 2018-12-24 12:02:19 +01:00
gradle/wrapper Update build tools to 28.0.3 / gradle 4.6 2018-10-27 15:09:05 +02:00
graphics Integrate gradle plugin for translation uploads (fixes #408, #463). 2015-11-16 22:10:00 +01:00
roboscript Add robo script for gplay prelaunch crawler (#221) 2019-01-12 19:55:46 +01:00
syncthing Bump syncthing version to 1.0.0 (#173) 2019-01-01 17:23:30 +01:00
wiki Add wiki page: Switch-between-releases_Verify-APK-is-genuine 2019-01-06 16:33:12 +01:00
.gitignore Fix service.startForeground on Android 8+ (fixes #18) (fixes #80) (#79) 2018-10-08 05:00:59 +02:00
.gitmodules Revert "Revert build script changes" 2017-10-24 14:55:28 +09:00
.travis.yml Fix Android Studio 3.1.3 build-tool warnings (#1131) 2018-06-12 18:28:03 +01:00
adb_forward_webui.cmd Settings: Split gui tcp port and bind address (fixes #168) (#179) 2019-01-02 18:56:27 +01:00
build.gradle Update build tools to 28.0.3 / gradle 4.6 2018-10-27 15:09:05 +02:00
build_submodule.cmd Add automastic fallback to http on Android 4.x (fixes #137) (fixes #139) (#138) 2018-12-16 10:44:55 +01:00
CONTRIBUTING.md Update CONTRIBUTING, ISSUE_TEMPLATE 2019-01-20 12:33:43 +01:00
git_fetch_branch.sh Import translations / Force lint checks before build (#132) 2018-11-29 22:16:51 +01:00
git_update_submodule.cmd Add helper script: postbuild_rename_apk.cmd (#174) 2019-01-01 18:40:23 +01:00
gradlew Updated dependencies 2017-11-13 09:46:29 +09:00
gradlew.bat Updated gradle 2017-01-26 11:38:17 +09:00
ISSUE_TEMPLATE.md Update CONTRIBUTING, ISSUE_TEMPLATE 2019-01-20 12:33:43 +01:00
LICENSE Change license to MPLv2. 2015-03-17 22:27:50 +01:00
lint_disable.cmd Add helper scripts to quickly enable/disable lint (#212) 2019-01-07 21:11:01 +01:00
lint_enable.cmd Add helper scripts to quickly enable/disable lint (#212) 2019-01-07 21:11:01 +01:00
postbuild_rename_apk.cmd Update helper script for renaming built APKs 2019-01-07 21:06:05 +01:00
prepare-release.bash Use WebViewActivity in MainActivity#previewUr (fixes #241) (#259) 2019-01-20 21:42:00 +00:00
privacy-policy.md Add privacy policy statement for the Syncthing-Fork wrapper (#185) (fixes #78) 2019-01-03 13:53:48 +01:00
publish-release.sh Add automastic fallback to http on Android 4.x (fixes #137) (fixes #139) (#138) 2018-12-16 10:44:55 +01:00
README.md Update APK version to 1.0.0.18 / 1000018 2019-01-23 09:19:20 +01:00
settings.gradle Revert "Revert build script changes" 2017-10-24 14:55:28 +09:00

Fork of Syncthing-Android:

License: MPLv2

Major enhancements in this fork are:

  • Individual sync conditions can be applied per device and per folder (for expert users).
  • Recent changes UI, click to open files.
  • Changes to folder and device config can be made regardless if syncthing is running or not.
  • UI explains why syncthing is running or not.
  • "Battery eater" problem is fixed.
  • Android 8 and 9 support.
  • Extended support for third-party automation apps (see wiki)

A wrapper of Syncthing for Android. Head to the "releases" section or F-Droid for builds. Please open an issue under this fork if you need help. Important: Please don't file bugs at the upstream repository "syncthing-android" if you are using this fork.

screenshot 1 screenshot 2 screenshot 3

Privacy Policy

See our document on privacy: privacy-policy.md.

Goal of the forked version

  • Develop and try out enhancements together
  • Release the wrapper more frequently to identify and fix bugs together caused by changes in the syncthing submodule
  • Make enhancements configurable in the settings UI, e.g. users should be able to turn them on and off
  • Let's get ready for newer Android versions that put limits on background syncing tools. We need your bug reports as detailed as possible

Translations

The project is translated on Transifex.

Building

Prerequisites

  • Android SDK You can skip this if you are using Android Studio.
  • Android NDK r16b $ANDROID_NDK_HOME environment variable should point at the root directory of your NDK. If the variable is not set, build-syncthing.py will automatically try to download and setup the NDK.
  • Go 1.9.7 Make sure, Go is installed and available on the PATH environment variable. If Go is not found on the PATH environment variable, build-syncthing.py will automatically try to download and setup GO on the PATH.
  • Python 2.7 Make sure, Python is installed and available on the PATH environment variable.
  • Git (for Linux) or Git for Windows Make sure, git (or git.exe) is installed and available on the PATH environment variable. If Git is not found on the PATH environment variable, build-syncthing.py will automatically try to download and setup MinGit 2.19.0-x64 on the PATH.
  • Java Version 8 (you might need to set $JAVA_HOME accordingly)

Build instructions

Make sure you clone the project with git clone https://github.com/Catfriend1/syncthing-android.git --recursive. Alternatively, run git submodule init && git submodule update in the project folder.

A Linux VM, for example running Debian, is recommended to build this.

Build Syncthing and the Syncthing-Android wrapper using the following commands:

./gradlew buildNative

./gradlew lint assembleDebug

You can also use Android Studio to build the apk after you manually ran the ./gradlew buildNative command in the repository root.

To clean up all files generated during build, use the following commands:

./gradlew cleanNative

./gradlew clean

Development Notes

It is recommended to change the GUI and Listen Address ports for the debug app, e.g. to 8385 and 22001 respectively.

The Syncthing native used for this android application provides a web interface by default. It can be accessed via the Settings menu -> 'Web GUI'. It is quite helpful to access this web interface from your development machine. Read android documentation on how to access the network of your emulator. Or use the following command to connect to the single currently running emulator/AVD.

adb forward tcp:18384 tcp:8384

Start Syncthing app on your emulator and access the web interface from you favorite browser of your development machine via https://127.0.0.1:18384

License

The project is licensed under the MPLv2.