d6ee33e48e
* Addressing #899 and #898. Added Subdirectory browsing The previously selected folder is remembered. The subdirectory is remembered for each syncthing folder. The saved subdirectory in the sharedpreferences is deleted when a folder is deleted. The root directory of the folderpicker activity is set to the synced folder, so the user can only choose a subfolder within the folder that is being synced. The folderpicker activity was modified inorder to allow for a custom root directroy to be set. * Addressing change requests. Spelling and formatting. * Addressing change requests. - The saved folder subdirectory is now deleted in RestApi.removeFolder(), this ensure that the data will be deleted no matter where removeFolder() is called from. - FolderPickerActivity.createIntentWithRootDir() removed and its functionality moved to FolderPickerActivity.createIntent() inorder to simplify the code. - getSharedPreference has been replaced with PreferenceManager.getDefaultSharedPreferences. - When passing the directory to CopyFileTask getSavedSubdirectory() is now used, instead of getting the text from the textview. This is cleaner and ensures that the same method us used to get the saved subdirectory everywhere in the ShareActivity. - File is used to combine the folder path and subdirectory path instead of strings. This ensures that the paths are properly combined. As a result of this CopyFilesTask has been modified so it accepts a File instead of a String. * Addressing change requests - Removed the preceding slash from the sub directory and added a trailing slash. - TextView now diplays a message when no sub directory is selected. - A separate browse button has been added. * Fixes UI for all screen sizes in the share activity and adds helper method for formatting file paths. If there is not space for the save and cancel buttons then the view becomes scrollable so the buttons can be reached. |
||
---|---|---|
.tx | ||
ext | ||
gradle/wrapper | ||
graphics | ||
patches/golang/all | ||
src/main | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
build.gradle | ||
CONTRIBUTING.md | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
ISSUE_TEMPLATE.md | ||
LICENSE | ||
lint.xml | ||
make-all.bash | ||
make-go.bash | ||
make-syncthing.bash | ||
prepare-release.bash | ||
publish-release.sh | ||
README.md |
syncthing-android
A wrapper of Syncthing for Android.
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.