1
0
Fork 0
mirror of https://github.com/syncthing/syncthing-android.git synced 2024-11-26 06:11:19 +00:00
Commit graph

244 commits

Author SHA1 Message Date
Catfriend1
18c18ae7b6 Update APK version to 0.14.54.6 / 145406 2018-12-29 22:33:09 +01:00
Catfriend1
ad0ff6f77e
Properly verify Device ID's entered by the user synchronously (fixes #159) (#160)
* Add Utils/Luhn.java for check rune calculation

* Update model/Device.java defaults

according to Device defaults in ConfigXml#getDevices

* Remove errorListener from ConfigRouter#addDevice

* Remove errorListener from RestApi#addDevice

Remove no longer used RestApi#normalizeDeviceId

* Add checkDeviceID to model/Device.java

and verify device ID's entered by the user before writing them to the config.

* Fix lint by using Locale.ROOT for internal strings
2018-12-29 22:28:10 +01:00
Catfriend1
3a88b94487 Imported translations
- ca-rES
- de
- nl
2018-12-28 13:06:06 +01:00
Catfriend1
7bfeb16dcf Update APK version to 145405 / 0.14.54.5 2018-12-28 12:44:19 +01:00
Catfriend1
36bfdbda27
Preserve syncthing running/not running after a database or delta index reset (fixes #154) (#157)
* model/Completion: Switch off verbose log

* Preserve syncthing running/not running after a database or delta index reset (fixes #154)

Remove callback listener triggered by SyncthingService#shutdown.onKilledListener()

* service/EventProcessor: Switch off verbose log
2018-12-28 12:39:31 +01:00
Catfriend1
323f45ae23
Support Variable Size Blocks (VSB) (fixes #153) (#156)
* ConfigXml/Folder - Add "useLargeBlocks"

* Update folder model defaults

* UI for Variable Size Blocks (VBS) (fixes #153)
2018-12-28 12:38:35 +01:00
Catfriend1
d917ac5e73
Binder failed - cannot create handler inside thread that has not called looper.prepare (fixes #149) (#150)
Fix Binder failed - cannot create handler inside thread that has not called looper.prepare (fixes #149)
2018-12-24 09:51:25 +01:00
Catfriend1
190826e660
Refactor ConfigXml (#135)
Changelog:
- "Use default folder path given in config.xml" (#101)
- "IllegalStateException: Fragment already added" (#108)
- "Enhancement request for per-folder(device) sync conditions" (#110)
- "NPE crash after key and config regeneration" (#141)
- "Adjust the folder icon to show if it's send/receive or both" (#143)
- "CPU percentage is not shown on the status tab" (#144)
- "Always make individual sync conditions UI available" (#145)
- "IntroducedBy deviceID lost on config change through wrapper UI" (#146)
- "Wrapper doesn't use the same syntax as syncthing core's web UI for device addresses" (#147)
- "Syncthing wrapper "emergency" shutdown on native binary crash doesn't work" (#148)

Commits:

* WIP

* WIP

* Get folder list and paused setting when syncthing is not running

Preparation to solve #110

* Fix NPE in DeviceListFragment#DEVICES_COMPARATOR

* Remove blank line

* Add ConfigXml#getDevices and comparator

Make ConfigXml#saveChanges public

* SyncthingService evaluates per folder/device

sync conditions when syncthing is not running via ConfigXml

* Fix typos and add stubs

* Fix build errors

* DEBUG - Always run syncthing binary

* Fix NPE at RunConditionMonitor pointer

* Add setFolderPause, setDevicePause

to ConfigXml

* Improve logging

* Remove test mode

* Better log levels

* Make ConfigXml#updateIfNeeded private

* Remove SyncthingService#mStartupTask

AsyncTask no longer needed

* Update model/Options (fixes #101)

* Fix NPE after config regeneration (fixes #140)

* Refactor key and config generation

Refactor ConfigXml public functions to allow checking if a valid config exists and trigger key and config (re)genration if something is corrupted.

* Fix crash on export/import (fixes #142)

* ApiRequest - Disable verbose log in release builds

* ConfigXml#updateIfNeeded - Disable "startBrowser"

because it applies to desktop environments and cannot start a mobile browser app

* MainActivity - Always show all tabs

* Show folder/device tab contents from config.xml

if syncthing is not running

* Update ConfigXml#getDevices return model

- compression
- introducer

* Device tab - Hide in/out rate if syncthing is not running

 or if the device is paused

* Update device item layout

* MainActivity/Devices - Prevent showing outdated status

after syncthing core transitioned from "active" to "disabled"

* MainActivity/Folders - Prevent showing outdated status

after syncthing core transitioned from "active" to "disabled"

* Add ConfigRouter class

Provides a transparent access to the config if ...
a) Syncthing is running and REST API is available.
b) Syncthing is NOT running and config.xml is accessed.

* Add pref - Cache local device ID

* Allow excluding self in ConfigRouter#getDevices

* Allow excluding self in ConfigRouter#getDevices (2)

* Update Folder model default values

* Update Folder model defaults (2)

- copiers
- hashers

* WIP - ConfigXml - FolderActivity

Remove unused pref inject code
Cache local device ID in pref
Reduce verbose logging in release builds
Extend ConfigXml#getFolders
Extend ConfigXml#getDevices
Fix ConfigXml#setDevicePause

ToDo ConfigXml#getFolderIgnoreList needs to be implemented

* Implemented ConfigXml#getFolderIgnoreList

* Extend ConfigXml#getDevices

- device.addresses

* WIP - DeviceActivity

Make it available when syncthing is not running

* Fix unsuccessful API bumps while syncthing is starting

* Fix space

* Adjust the folder icon to show if it's send/receive or both (fixes #143)

* Fix lint - item_device_list

* Preserve active tab when syncthing core transitions between running and not running

* Add xmlns:android to item_folder_list

* Remove unused reference from item_folder_list

* Add device icon to device tab

* Fix CPU percentage not showing (fixes #144)

* SyncthingService - Polish iterator code

* Fix MainActivity#updateViewPager (fixes #108)

* Add ConfigXml#updateFolder, updateDevice (1)

* Add ConfigRouter#updateFolder, updateDevice

* Add missing "final" to ConfigXml#updateDevice

* WIP - FolderActivity - Update updateFolder via ConfigRouter

ToDo: Implement ConfigRouter here.

* ConfigRouter - Fix missing return

* DeviceActivity - Update device via ConfigRouter

* Always make individual sync conditions UI available (fixes #145)

regardless if syncthing core is running or not.
Remove SyncthingService dependency from SyncConditionsActivity

* Fix incorrect folder type icon shown

when syncthing core is not running

* Add "introducedBy" to folder and device model (fixes #146)

* Add Folder#getDevices to model

* ConfigXml#updateFolder - Writeback devices sharing the folder

Support preserving the "introducedBy" model field of Folder.java (fixes #146)

* Add ConfigXml#updateFolder - Versioning

* Remove SyncthingService dependency from FolderPickerActivity

because it is no longer required.

* Update ToDo remarks

* Add ConfigXml#updateDevice - Addresses

* Fix DeviceActivity#persistableAddresses to be more graceful (fixes #147)

and accept the same address syntax as syncthing core web UI does.

* Add ConfigXml#removeFolder, removeDevice

* Add ConfigXml#addDevice, addFolder

- Add ConfigXml#isDeviceIdValid
- Do not allow adding empty folder labels or empty device names.
- Update model Folder.java so ConfigXml can handle the ignorePerms XML attribute

* Fix Syncthing wrapper "emergency" shutdown on native binary crash (fixes #148)

* Update translation de

* Add ConfigXml#postFolderIgnoreList

* Update APK version to 0.14.54.3 / 4182

* Revert DEBUG - Always run syncthing binary

* Update whatsnew
2018-12-22 01:58:44 +01:00
Catfriend1
7791787bbc
Add automastic fallback to http on Android 4.x (fixes #137) (fixes #139) (#138)
* Add script to update submodule

* Update publish-release.sh

* Add helper script to build syncthing submodule only

* Enable HTTPS for REST/WebUI only if OS supports it (fixes #137)

* Update ApiRequest to handle both http or https

* Add Constants#osSupportsTLS12

* Update APK version to 0.14.54.2 / 4181

* Update README.md

* Update whatsnew
2018-12-16 10:44:55 +01:00
Catfriend1
ecef147e5b Updated APK version to 0.14.54.1/4180 2018-12-05 19:35:26 +01:00
Catfriend1
c6734331d4 Updated whatsnew and README.md 2018-12-04 20:24:28 +01:00
Catfriend1
7e1cd49b4c Update APK version to 0.14.53.1 / 4179 2018-12-04 20:16:00 +01:00
Catfriend1
1ca2dadd6f Update APK version to 0.14.52.2 / 4178 2018-11-29 23:08:18 +01:00
Catfriend1
92e6579242
Update filemanager recommendation package name (fixes #125) (#134)
The recommended app is still free on F-Droid at time of writing this.
2018-11-29 23:05:58 +01:00
Catfriend1
cb5c3b074c
Import translations / Force lint checks before build (#132)
* Update app desc en-GB

* Add git_fetch_branch.sh

* Abort on lint error

* Run lint when building the app

* Update app full description

* Imported translation values-sv
2018-11-29 22:16:51 +01:00
Catfriend1
1f7b068eac
Imported values-sv (#129) 2018-11-23 08:46:37 +01:00
Catfriend1
17f14a0d93
Update syncthing submodule to 0.14.52-release (#123)
* Update syncthing submodule to 0.14.52

* Update APK version to 0.14.52.1 / 4177
2018-11-20 23:40:43 +01:00
Catfriend1
49e337ebce Fix imported translations 2018-11-08 11:12:11 +01:00
Catfriend1
86ab7e1053 Imported translations 2018-11-08 10:59:15 +01:00
Catfriend1
5e00d6c65c
Add tip: Xiaomi autostart (#121)
* Add tip: Xiaomi autostart

* Imported translations
2018-11-02 13:27:24 +01:00
Catfriend1
8b15993494
Improve pref explanations (#119)
* Improve autostart explanation in prefs

* Imported translations

* Improve string

* Update flight mode run condition explanation

* Imported translations
2018-10-30 22:25:07 +01:00
Catfriend1
1f772935f2
Recent changes - open file/dir on click (#118)
* Initialize DiskEventData for tests

* Add FileUtils#getMimeTypeFromFileExtension

* Open file when user clicks on it in RecentChangesActivity

* Add RestApi#getFolderByID

* Add Constants#ENABLE_TEST_DATA

* Add strings

* Move open folder to FileUtils#openFolder

* Add FileUtils#openFolder, FileUtils#openFile

* Fix UI glitch

Make clear to the user that the folder label is not part of the physical full file path and name.

* Open file/folder on item click

Add test data

* Imported translations

* Fix lint

* Update APK version to 0.14.51.13 / 4176

* Update README.md, whatsnew

* Turn off test data mode

* Remove unused import
2018-10-30 21:50:48 +01:00
Catfriend1
7ca62c946a
Add "recent changes" UI to drawer (fixes #117) (#116)
* Add "recent changes" UI to drawer

* Update build.gradle - guava 26.0-android

* Add REST endpoint

* Add DiskEvent to model

* Add DiskEventData to model

* Add RestApi#getDiskEvents

* Add ChangeListAdapter#clear

* Implement data exchange between UI and service

* Display DiskEvents

* Add icons

* Return DiskEvents in reverse order

* Display device name instead of partial ID

* Format dateTime

* Update whatsnew

* Imported translations

* Update APK version to 0.14.51.12 / 4175

* Fix lint

* Review

* Update README.md
2018-10-28 22:46:51 +01:00
Catfriend1
8d59ba1a6c Updated russian translations 2018-10-27 16:39:50 +02:00
Catfriend1
84290ff560 Revert build.gradle to use guava:23.6-android
Reason: Crash on Android 5.x
2018-10-27 16:34:08 +02:00
Catfriend1
6ee9f26fb7
Fix lint issues after build.gradle update (#115)
* Update build.gradle
Remove unused menu resource
Insert constant instead of static string
Obey new wakelock tag naming rule

* Add annotations - importantForAutofill
2018-10-27 16:21:03 +02:00
Catfriend1
e0bf5589db
Incorporate feedback from issue #110 (1) + (3) (#114)
* Fix issue 110 (3) - remove checkmark

in per object sync conditions dialog

* Fix UI glitches, feedback issue #110 (1)

* Stop onscreen keyboard popping up

when FolderActivity starts

* RunConditionMonitor - Add more logging

* Always save UI state back to prefs

in SyncConditionsActivity until we abandon global run conditions.
2018-10-27 15:52:20 +02:00
Catfriend1
ba45aa9e82 Update build tools to 28.0.3 / gradle 4.6
Android Studio 3.1.2
2018-10-27 15:09:05 +02:00
Catfriend1
39e1329f41
Follow-Up to issue 108 "IllegalStateEx" workaround (fixes #108) (#113)
* MainActivity updateViewPager - Add isServiceActive

* Add numPages, setOffscreenPageLimit (fixes #108)

* Fix numPages
2018-10-26 17:23:25 +02:00
Catfriend1
6712ca657d
Fallback to built-in path selector (fixes #111) (#112)
* Fallback to built-in path selector (fixes #111)

* Update APK version to 0.14.51.11 / 4174
2018-10-25 16:20:23 +02:00
Catfriend1
334f24f027 Update APK version to 0.14.51.10 / 4173 2018-10-23 09:22:50 +02:00
Catfriend1
e94495f40b
Add bug notice (closes #108) (#109)
* Add bug notice (fixes #108)

* Update strings

* Updated translations
2018-10-23 09:19:13 +02:00
Catfriend1
f3dac90124 Add tip - Workaround for device disconnected on Huawei
* Update APK version to 0.14.51.9 / 4172

* Add tip - Workaround for device disconnected on Huawei
2018-10-22 08:49:32 +02:00
Catfriend1
200f50e940
Add offline "Tips & Tricks" library (fixes #91) (#102)
* Add TipsAndTricks activity

* Add TipListAdapter

* Fix lint

* Fix typo

* Fix toolbar

* Fix layout

* Add onClick listener

* Add tips

* Update APK version to 0.14.51.8 / 4171

* Update README.md and whatsnew

* Fix Android 4.x compatibility

* Imported translations
2018-10-21 20:50:52 +02:00
Catfriend1
5fbd99619e
Add dialog if no compatible file manager was found (fixes #97) (#98)
Added a dialog to suggest a compatible open-source file-manager app if none is found.
Updated translations
2018-10-21 12:59:47 +02:00
Catfriend1
78b1af9d02 Update README and translations 2018-10-16 10:26:44 +02:00
Catfriend1
f8692f02ef
Add individual sync conditions for devices (#96)
* SyncConditionsActivity - Rename "folder" to "object" as it can mean a folder or device.

* Implement per-device sync conditions

* Default custom wifi whitelist to "all enabled"

* Update APK version to 0.14.51.7 / 4170

* Add checkbox "use Wi-Fi whitelist" in global run conditions

* Rename variable
2018-10-16 10:18:15 +02:00
Catfriend1
b84d4da34f
Default global pref PREF_RUN_ON_WIFI to true (#95)
in SyncConditionsActivity, according to definition in  app_settings.xml
2018-10-15 01:13:14 +02:00
Catfriend1
f6f90c9c2b
Allow specifying different sync conditions per folder (fixes #57) (#66)
* 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
2018-10-15 00:29:52 +02:00
Catfriend1
c5a436fb61 Update APK version to 0.14.51.5 / 4168
Updated whatsnew
2018-10-13 11:58:56 +02:00
Catfriend1
b63eeb002b
Remove pref "advanced_folder_picker", make it default to enabled (fixes #92) (#94)
Remove shared pref "advanced_folder_picker" and make it default to enabled - only relevant for Android 4.x
2018-10-13 11:54:00 +02:00
Catfriend1
85daca6eb7
Preserve xml encoding on read, parse and save (fixes #88) (#89)
* Preserve xml encoding on read, parse and save (fixes #88)
2018-10-11 22:42:34 +02:00
Catfriend1
f9145b9fd5 Update APK version to 0.14.51.4 / 4167 2018-10-10 02:48:21 +02:00
Catfriend1
6030d6105c QA: Remove unused format string 2018-10-10 02:37:50 +02:00
Catfriend1
28040869e6
Tell user if location is disabled but "run on selected" WiFi is enabled (fixes #16) (#87)
* Tell user if location is disabled but "run on selected" WiFi is enabled.

* Update status tab while user looks at the UI and syncthing is disabled

* UI: Offer a solution
2018-10-10 02:16:38 +02:00
Catfriend1
12bc08c6dd
Implement import/export of the index database (fixes #83) (#84)
* Add export of index database

* Add import of index database

* Shutdown service before export and restart it afterwards.

* Do not import database if it doesn't exist on sdcard

* Do not attempt to delete the database export directory on export if it does not exist.

* Return to MainActivity after successful export

* Import/Export using an AsyncTask

* Fix compatibility with Android 5.x
2018-10-10 01:06:25 +02:00
Catfriend1
79d0d7cc4c
Fix notification not being cancelled on app shutdown (#81)
Fix notification not being cancelled on app shutdown if the app was continously in DISABLED state.
2018-10-08 05:19:52 +02:00
Catfriend1
c224bcb04a
Fix service.startForeground on Android 8+ (fixes #18) (fixes #80) (#79)
* Add push APK to device after build script

* Fix typo in SyncthingService comment

* Refactor SettingsActivity - updatePersistentNotification

Call updatePersistentNotification after the settings screen was left and not when the user toggles the alwaysRunInBackgroundAsAService checkbox.

* Automatically start app if push-to-device is enabled

* Remove PREF_NOTIFICATION_TYPE

* Only push APK to device if build succeeded

* Fix notifications and foreground service start/stop

* Use startForegroundService on Android 8+

* Fix startActivity called from non-Activity context (fixes #80)

* Fix comment
2018-10-08 05:00:59 +02:00
Catfriend1
cd3bca5141 Update APK version to 0.14.51.3 / 4166 2018-10-07 18:30:02 +02:00
Catfriend1
2021ef6806
Disable wakelock experimental option on Android 6+ (#77) 2018-10-07 18:28:46 +02:00