1
0
Fork 0
mirror of https://github.com/syncthing/syncthing-android.git synced 2024-11-23 04:41:16 +00:00
Wrapper of syncthing for Android.
Find a file
Jessie Chatham Spencer 0c1abb3c9c Added support for all versioning types in the app UI. Addressing #718 (#896)
* Merge branch 'Fix718'
Merged fixes for issues #718, added functionality for all the file versioning types in the app UI.

* Basic theme is working

* GOt dialog working with setREsult.

* Addressed issues raised and fixed orientation change bug.
Adressed issues radied by nutomic:
- Changed the String concatenation so it uses String.format.
- Made members variables private that were not previously private by mistake.
- Changed name from FolderPathTextView to FolderPathTextViewFragment.
- Fixed typo in NumberPickerFragment
- Now uses TImeUnit for time conversion
- Changed from DialogFragment to a dialog themed Activity inorder to have correct themeing.

About the orientation change bug. When the dialog themed activity was open and the orientation was changed, it would cause the background activity(The FolderActivity) to
recreate itself. In the process of recreating itself it would reset the mFolder variable and then reinitialise it in the OnApiChange listener. However the result from the
Dialog was returned before the mFolder had been reinitialised and was still null, so inbetween the result being returned and the mFolder variable being reinitialised the new file versioning
configuration had to be stored and then applied to the mFolder variable in the onApiChange listener. The file versioning configuration is temporarily stored in the mVersioning variable which is
an instance of Folder.versioning.
This error only occurred when using an Activity as a dialog and using the startActivityForResult method for initialisling the activity. Before when using a dialogfragment and an interface to callback to
the parent activity, everything happend in the correct order.

* Fixed versioning dialog lag.
The initial updateFragmentView() is called in onCreate() and the
fragment is only updated when a new file versioning type is selected.

* Removed FolderPathTextViewFragment
The fragment is removed, and a helper method has been added to FolderPickerActivity to create an intent
to the the FolderPickerActivity for result.
2017-06-15 17:44:44 +09:00
.tx Made title in Google play translatable 2016-12-16 18:40:09 +09:00
ext Updated Syncthing to v0.14.29 2017-05-30 16:54:34 +09:00
gradle/wrapper Updated dependencies 2017-04-11 13:17:39 +09:00
graphics Integrate gradle plugin for translation uploads (fixes #408, #463). 2015-11-16 22:10:00 +01:00
patches/golang/all Update to Go 1.8, syncthing v0.14.24, fix dns patch for ipv6 (#853) 2017-03-10 21:34:19 +09:00
src Added support for all versioning types in the app UI. Addressing #718 (#896) 2017-06-15 17:44:44 +09:00
.gitignore Use default folder for syncthing binaries. 2016-04-13 23:59:50 +02:00
.gitmodules Ignore changes in all submodules. 2016-04-14 00:02:20 +02:00
.travis.yml Also update build tools in gradle 2016-12-16 22:25:54 +09:00
build.gradle Added support for all versioning types in the app UI. Addressing #718 (#896) 2017-06-15 17:44:44 +09:00
CONTRIBUTING.md Added more info about logcat to contributing 2016-12-05 14:15:21 +09:00
gradle.properties upgrades latest gradle and build tools 2016-06-25 14:14:21 +02:00
gradlew Updated gradle 2017-01-26 11:38:17 +09:00
gradlew.bat Updated gradle 2017-01-26 11:38:17 +09:00
ISSUE_TEMPLATE.md Added issue template, based on that in syncthing/syncthing. 2016-08-02 17:11:34 +02:00
LICENSE Change license to MPLv2. 2015-03-17 22:27:50 +01:00
lint.xml Request user to disable battery optimization for Syncthing 2016-11-10 22:57:18 +09:00
make-all.bash Add ARMv8 Syncthing binary for faster hashing on new devices 2017-01-05 12:31:08 +09:00
make-go.bash Update to Go 1.8, syncthing v0.14.24, fix dns patch for ipv6 (#853) 2017-03-10 21:34:19 +09:00
make-syncthing.bash Fetch tags before building Syncthing (fixes #872) 2017-06-07 10:35:45 +09:00
prepare-release.bash Exclude rc versions from release builds 2017-03-11 01:33:26 +09:00
README.md Added Bountysource link to readme 2016-12-31 01:53:21 +09:00
release.bash Added release script 2016-12-16 18:46:34 +09:00

syncthing-android

Build Status License: MPLv2 Bountysource

A wrapper of Syncthing for Android.

screenshot 1 screenshot 2 screenshot 3

Get it on Google Play Get it on F-Droid

Translations

The project is translated on Transifex.

Translations can be updated using the Transifex client, using commands tx push -s and tx pull -a.

Building

Requirements

  • Android SDK Platform (for the compileSdkVersion specified in build.gradle)
  • Android NDK Platform
  • Android Support Repository

Build instructions

This repository is using external dependencies so you have to initialize all submodules with --recursive option first time: git clone https://github.com/syncthing/syncthing-android.git --recursive.

Set the ANDROID_NDK environment variable to the Android NDK folder (e.g. export ANDROID_NDK=/opt/android_ndk). Build Go and Syncthing using ./make-all.bash. Use ./gradlew assembleDebug in the project directory to compile the APK.

To prepare a new release, execute ./prepare-release.bash, and follow the instructions.

To check for updated gradle dependencies, run gradle dependencyUpdates. Additionally, the git submodule in ext/syncthing/src/github.com/syncthing/syncthing may need to be updated.

Building on Windows

To build the Syncthing app on Windows we need to have cygwin installed.

From a cygwin shell in the project directory, build Go using ./make-go.bash [arch] After Go is built, compile syncthing using ./make-syncthing.bash [arch]

Lastly, use ./gradlew assembleDebug in the project directory to compile the APK, or use Android Studio to build/deploy the APK.

License

The project is licensed under the MPLv2.