f6f90c9c2b
* WIP - https://github.com/Catfriend1/syncthing-android/issues/57 * Add sync conditions activity * Update folder edit layout Implement SyncConditionsActivity stub * Add dialog open logic * Fix UI glitches * Update APK version to 0.14.51.4 / 4167 * Revert "Update APK version to 0.14.51.4 / 4167" This reverts commit 47bc4aa9ba219c134047765cc2fb49a9fa651fbe. * Implement WiFi Ssid Whitelist UI * Read per-folder sync conditions from prefs * Implement onCheckedChange listeners * Implement saving object sync conditions * Remove early draft stuff * Implement per folder master switch for custom sync conditions * FolderActivity - More log * Improve generation of object-specific constants * Added onSyncPreconditionChanged to RunConditionMonitor * Fix UI glitch * Fix non-harming typos * Refactor "on mobile data" sync condition * Refactor "on wifi" sync condition * Refactor "on whitelisted wifi" sync condition * Refactor "on metered wifi" sync condition * Refactor RunConditionMonitor#decideShouldRun * RunConditionMonitor - Rename variables * Pause/Unpause folders using RunConditionMonitor events * Implement RunConditionMonitor#SyncConditionResult * Fix lint - use editor.apply instead of editor.commit * Updated translations * Add null check in RestApi * Fix missing explanation text * Fix german translation * Update APK version to 0.14.51.6 / 4169 * Update whatsnew |
||
---|---|---|
.tx | ||
app | ||
docker | ||
fdroiddata/metadata | ||
gradle/wrapper | ||
graphics | ||
syncthing | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
build.gradle | ||
CONTRIBUTING.md | ||
gradlew | ||
gradlew.bat | ||
ISSUE_TEMPLATE.md | ||
LICENSE | ||
prepare-release.bash | ||
publish-release.sh | ||
README.md | ||
settings.gradle |
Fork of Syncthing-Android:
Major enhancements in this fork are:
- UI explains why syncthing is running or not running according to the run conditions set in preferences.
- A welcome wizard guiding you through initial setup on first launch or if mandatory prerequisites are missing like for example the storage permission.
- Run condition bugs are fixed.
- "Battery eater" problem is fixed.
- Android 8+ support is on it's way.
- Many bug fixes, enhancements and more frequent releases.
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.
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.
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
License
The project is licensed under the MPLv2.