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

405 commits

Author SHA1 Message Date
Catfriend1
04376d3bc8
Fallback to http on Huawei Nova (CAN-Lxx) (fixes #262) (#263) 2019-01-22 21:22:32 +00:00
Catfriend1
a16802cfec Update APK version to 1.0.0.17 / 1000017 2019-01-20 23:45:52 +01:00
Catfriend1
80d24c8843
Device overview: Show status "Syncing" in case of data throughput (fixes #240) (#260)
* Device overview: Show status "Syncing" in case of data throughput (fixes #240)

If (incoming_bits_per_second + outgoing_bits_per_second) top the threshold, we'll assume syncing state for the device reporting that data throughput.

* Imported de translation
2019-01-20 22:34:51 +00:00
Catfriend1
e479bf6f77
Use WebViewActivity in MainActivity#previewUr (fixes #241) (#259)
* WebViewActivity: Add intent with EXTRA_WEB_URL

* Use WebViewActivity in MainActivity#previewUr (fixes #241)

* Update string: Debug => Troubleshooting

* Update prepare-release.bash

* Imported de translation
2019-01-20 21:42:00 +00:00
Catfriend1
2f251bc875 Update APK version to 1.0.0.16 / 1000016 2019-01-20 15:25:16 +01:00
Catfriend1
979088f4ca
Make status LED un-clickable, Reduce verbose logging (#254)
Change summary:
* Make status light un-clickable
* Add configurable verbose logging
* Reduce verbose logging
* Initialize model#Folder.label
* EventProcessor: Ignore event "FolderResumed"

Detailed changelog:

* Make status light un-clickable

* Initialize model#Folder.label

* Rename func to applyCustomRunConditions

* RunConditionMonitor: Make verbose log configurable

* ReceiverManager: Make verbose log configurable

* StatusFragment: Make verbose log configurable

* FolderListFragment: Make verbose log configurable

* DeviceListFragment: Make verbose log configurable

* RestApi: Make verbose log configurable

* SyncthingService: Make verbose log configurable

- Remove duplicate log lines referring to the same logic that happened
- Improved log levels

* RestApi: Log.v => LogV

* SyncthingApp ThreadPolicy - I'll need this later

* RestApi: Reduce logging

* applyCustomRunConditions: Log changes and result in non-verbose level

* EventProcessor: Ignore event "FolderResumed"

* RestApi#readConfigFromRestApi: Change log level to verbose

* SyncthingRunnable: Reduce log, make verbose log configurable
2019-01-20 14:06:49 +00:00
Catfriend1
f0d72e7a4b
Remove pref: Start directly into web gui (#253)
* Remove strings

* Remove pref

* Remove implementation
2019-01-20 13:11:12 +00:00
Catfriend1
71c5c494bc
Show toolbar when calling sub-pref screen (fixes #247) (#251)
* SettingsActivity: Fix var name

* Add verbose logging

* SettingsActivity: Use a handler to call sub pref screen (fixes #247)

* Add verbose log

* Fix toolbar ignoring input after going back from subpref screen

when directly opened in subpref screen before (fixes #247)

* Revert "Add verbose log"

This reverts commit 33207d0721dd38ce5efa04dddb891557ade6f5c3.

* SettingsActivity: Re-register actionbar after a subpref screen dismissal (fixes #247)
2019-01-20 12:54:55 +00:00
Catfriend1
beee401baa
Fix crash after sdcard was ejected (fixes #249) (#250) 2019-01-20 11:42:01 +00:00
Catfriend1
b8c35bc098 MainActivity: Use GravityCompat
instead of android.view.Gravity
2019-01-20 12:25:55 +01:00
Catfriend1
bb1aa8af50
Welcome wizard: Disable "back" button on keygen slide (fixes #239) (#248) 2019-01-19 22:38:16 +00:00
Catfriend1
d16ba49416
Improve visual hover indication on Android TVs (#246)
* Add drawables: menu white, black; settings_black (fixes #243) (fixes #244)

* Add drawable: button arrow_back

* Add button desc strings: open/close menu

* WIP: Try to fix issue #244

* WIP: Try to fix issue #244 (2)

* WIP: Try to fix issue #244 (3)

* Fix lint

* Add visual indication when hovering share icon in "Show Device ID" dialog (fixes #242)

* Updated de translation
2019-01-19 22:23:27 +00:00
Catfriend1
8eb94900ae Update whatsnew 2019-01-19 23:17:17 +01:00
Catfriend1
fdd1a5932a Update APK version to 1.0.0.15 / 1000015 2019-01-19 16:45:35 +01:00
Catfriend1
a8b3e4d2a0
Add WebView for Android TVs (fixes #227) (#225)
* WIP

* AndroidManifest: Add WebViewActivity

* Open WebViewActivity from prefs, move to "Debug" menu

* Add WebViewActivity below SettingsActivity

* Add strings for ssl security notice

* Handle web page links and ssl warnings correctly

* Mention issue tracker URL in pref summary

* Don't use ACTION_VIEW for deeplinks on syncthing's WebUI

* Rename string: report_issue_summary to open_issue_tracker_summary

* Imported translations

* Add "open in browser" drawable

* Add webview_options menu

* Add strings: web page loading, open in browser

* Add option to open webpage in browser on non-TV devices (fixes #227)

* Imported de translation
2019-01-19 14:53:36 +00:00
Catfriend1
55eabd4fea Remove unused Activity: RestartActivity 2019-01-19 11:54:01 +01:00
Catfriend1
89212bc956
More Android TV DPAD fixes (fixes #226) (fixes #228) (fixes #230) (fixes #231) (fixes #232) (fixes #233) (#229)
* Fix focus when editing folder (fixes #226)

* Don't show qr code scan button on TV (fixes #230)

* FolderActivity: Prevent accidential scroll by DPAD

* Make DPAD available in Custom Sync Conditions dialog (fixes #231)

* EnhancedEditText: Reformat code

* Remove blank

* DeviceActivity: Move code, set initial focus

* FolderActivity: Fix focus problems on phones with keyboard input (fixes #233)

* DeviceActivity: Set custom sync dialog focus from code (fixes #233)

* DeviceActivity: Use setOnClickListener instead of implementing View.OnClickListener

* fragment_folder: focusableInTouchMode => focusable

* Edit device dialog: Show copy device ID row or edit, scan device row

* Fix unused, outdated refs

* Constants: Static implies final

* Remove double semicolon

* Remove double semicolon

* Remove unused imports

* Remove unnecessary return in void func

* Fix javadoc errors (fixes #234)

* Fix typos

* Fix focus problem on TV/device edit dialog

* Fix create folder dialog focus on TV (fixes #228)
2019-01-19 11:49:41 +01:00
Catfriend1
495c3e9eb6
Fix typos (#236) 2019-01-18 23:26:57 +01:00
Catfriend1
1154fc021e
Fix 20 javadoc errors (fixes #234) (#235)
* Fix unused, outdated refs

* Constants: Static implies final

* Remove double semicolon

* Remove double semicolon

* Remove unused imports

* Remove unnecessary return in void func

* Fix javadoc errors (fixes #234)

* Remove blank

* EnhancedEditText: Reformat code

* Fix imports
2019-01-18 23:06:27 +01:00
Catfriend1
4487857785
Android TV: Handle DPAD input (fixes #194) (#223)
Android TV: Handle DPAD input too (fixes #194)
2019-01-16 09:24:48 +01:00
Catfriend1
cfc1197987
Small translation fixes and updates (#224)
* Add translatable="false" to URLs

* Remove untranslatable strings from other langs

* Updated ru translation

* Updated zh-rCN translation
2019-01-16 02:00:13 +01:00
Catfriend1
a827ee531c Update APK version to 1.0.0.14 2019-01-16 01:10:33 +01:00
Catfriend1
aa57f04e9f Update build.gradle: com.google.code.gson:gson:2.8. 2019-01-16 00:36:50 +01:00
Catfriend1
889a88f69f
Add contentDescription to actionShareId (fixes #219) (#220) 2019-01-12 19:52:41 +01:00
Catfriend1
4f4ffac9bb Update APK version to 1.0.0.13 2019-01-12 18:43:44 +01:00
Catfriend1
2ecba33052
Remove welcome slide dots from screen reading (fixes #216) (#217)
* Remove welcome slide dots from screen reading

according to advice from the prelaunch report.

* Try setImportantForAccessibility on TextViews

* Update APK version to 1.0.0.7

* Try setContentDescription

* Update APK version to 1.0.0.8

* Update APK version to 1.0.0.9

* Add meaningful content description

in case a screen reader unintentionally reads out loud

* Update APK version to 1.0.0.10

* Fix type conversion

* Update APK version to 1.0.0.11

* Add views/CustomViewPager

* Use CustomViewPager in FirstStartActivity

* FirstStartActivity: Use CustomViewPager

* Add main menu string for screen readers

* Reformat code

* Try toolbar.setNavigationContentDescription

* Update APK version to 1.0.0.12

* Import de translation
2019-01-12 17:54:08 +01:00
Catfriend1
48c35fd190 Update APK version to 1.0.0.6 / 1000006 2019-01-12 12:34:29 +01:00
Catfriend1
398cbd4880
Update translations (#215)
* Updated zh_CN translation

* Updated ru-RU translation
2019-01-12 12:32:09 +01:00
Catfriend1
cbd77cad75 Update APK version to 1.0.0.5 / 1000005 2019-01-07 20:51:51 +01:00
Catfriend1
7b82062f54
Detect if another app/process is blocking the tcp port (fixes #193) (#209)
* Add Util#isTcpPortListening (fixes #193)

* Move model/Config.Gui to model/Gui

* Constants: Add default tcp ports

* Add string: webui_tcp_port_unavailable

* Add ConfigXml#getWebGuiBindPort

* Check if webUI tcp port is available before launching native (fixes #193)

Output failure notification if the port is allocated by someone else.

* Settings UI - Valid tcp ports are from 1024 to 65535 (fixes #211)

* Add tcp6 listen port detection, check on connState == LISTEN

* Update translations de
2019-01-07 20:48:04 +01:00
Catfriend1
1b37db6213 Update APK version to 1.0.0.4 / 1000004 2019-01-06 21:18:19 +01:00
Catfriend1
3a6b5e5478
postbuild script - Improve cross-platform compatibility (#208) 2019-01-06 21:12:23 +01:00
Catfriend1
2e034c0239
Update play presentation (#207)
* Add transifex to fulldescription

* Update translations - app/src/main/play - fulldescription

* Update feature_graphic

* Add listing/icon 32-bit png with alpha

* Move tv banner into correct res folder

* Remove tv banner from drawable-nodpi according to lint

* Add banner drawables for alternative dpi

* Move promo graphic

* Add wearScreenshots folder

* Move tvBanner
2019-01-06 19:13:02 +01:00
Catfriend1
839aeb511a Update APK version to 1.0.0.3 / 1000003 2019-01-06 18:11:08 +01:00
Catfriend1
116c5b7cc9
Verify APK certificate hash after build and show release channel (fixes #205) (#206)
* Rename push-to-device.py to postbuild.py
2019-01-06 18:02:59 +01:00
Catfriend1
a984dd038e Update gplay en-GB fulldescription 2019-01-06 04:40:57 +01:00
Catfriend1
ae2e1874a4
Fix ANR while processing deleted files (fixes #199) (#204)
* Refactor file event finisher into EventProcessor#onItemFinished

EventProcessor: Add new unhandled event "FolderWatchStateChanged"

* Perform ContentResolver.delete operations asynchronously (fixes #199)
2019-01-06 03:46:04 +01:00
Catfriend1
c96786bcb9
Fix edit folder dialog and resource window leaks (fixes #200) (fixes #202) (fixes #203) (#201)
#200 - Cannot change folder type or pull order in wrapper UI
#202 - User selections are lost if screen rotation changes during folder edit
#203 - Edit folder dialog - AlertDialogs leak on screen rotation
2019-01-06 02:59:31 +01:00
Catfriend1
a1fef79c2e
res/play: Update tvBanner and feature_graphic (fixes #194) (#198) 2019-01-05 15:28:21 +01:00
Catfriend1
5351e23732
Optimize onboarding screen to fit on screens and improve texts (fixes #126) (fixes #192) (#196)
* Update desc_padding to 20dp

* Update dimens

* Update welcome wizard texts

* Remove unused dimen

* Update welcome slide layouts

* Add dimen: grant_button_padding

* Welcome slides: use dimen/dots_height as marginBottom

* Update ic_location

* Add @dimen/welcome_title

* Remove res-auto/autoSizeTextType

Add @dimen/slide_desc

* Add dimen for 540dp TV displays

* Add FirstStartActivity#isRunningOnTV detection

* Updated translations

* Increase default slide_desc textSize to 16sp (fixes #126)

* Add dimens for devics with at least 320dp

* Update dimens defintions

* Detect missing "ignore doze" dialog on Android TV's (fixes #192)
2019-01-05 15:08:10 +01:00
Catfriend1
0664c33551
Add notice to "ignore battery optimizations" welcome slide for nVidia shield TV's (fixes #192) (#195)
* Add wiki article: nVidia Shield TV preparations (fixes #192)

* Update wiki: line breaks

* Add os notice to ignore doze permission welcome slide (fixes #192)

* Add Util#containsIgnoreCase

* Updated translations
2019-01-05 12:25:08 +01:00
Catfriend1
21cd185d75 Imported translation de 2019-01-04 16:27:31 +01:00
Catfriend1
461d65d9b3
Add status light to toolbar in MainActivity to indicate if syncthing is running (fixes #187) (#188)
* SyncthingActivity: Reformat code

* Add status light to toolbar

* MainActivity: Add status light indicating if syncthing is running (fixes #187)

* New colors for status light

* Tri-state status light
2019-01-03 23:47:55 +01:00
Catfriend1
8a2fe3ceec
Properly dismiss usage reporting dialog on orientation change (fixes #184) (#186)
* Add RestApi#isUsageReportingAccepted (fixes #184)

* Add verbose log when usage report question dialog triggers (fixes #184)

* Remove asynchronous requests to determine if user opted-in to usage reporting (fixes #184)

* Check if the config is loaded before evaluating current ur user wish

* Properly dismiss mUsageReportingDialog on orientation change (fixes #184)

- Consolidate createRestartDialog into showRestartDialog
- Remove unused var mBatteryOptimizationsDialog
2019-01-03 18:37:01 +01:00
Catfriend1
8919a26083
Add network_security_config.xml (fixes #180) (#181) 2019-01-03 10:25:18 +01:00
Catfriend1
74ab89fb4e
Settings: Split gui tcp port and bind address (fixes #168) (#179)
* Settings: Split gui tcp port and bind address (fixes #168)

Reorder SettingsActivity pref init code according to settings order derived from UI.

* Start browser after adb forward

from helper script.

* Remove unused translation strings

* Updated translations - shortdescription
2019-01-02 18:56:27 +01:00
Catfriend1
755483e9ed Update shortdescription
de-DE, en-GB
2019-01-02 14:46:12 +01:00
Catfriend1
df6bcdcc73 Update contact website 2019-01-02 14:43:02 +01:00
Catfriend1
205af4d692 Updated whatsnew 2019-01-02 13:47:21 +01:00
Catfriend1
936a53ede3
Save ignore list reliably when returning from edit folder dialog (fixes #140) (#175)
* Save ignore list reliably when returning from edit folder dialog (fixes #140)

* Do not return on empty ignore list (fixes #140)
2019-01-01 19:28:57 +01:00
Catfriend1
cf762acb19 Update APK version to 1.0.0.2 / 1000002 2019-01-01 18:45:02 +01:00
Catfriend1
7d59e75aea
Bump syncthing version to 1.0.0 (#173)
* Update syncthing to v1.0.0

* Update model/Options: MaxConcurrentScans

Related: https://github.com/syncthing/syncthing/pull/4888

* Fix typo

* Update APK version to 1.0.0.1 / 1000001
2019-01-01 17:23:30 +01:00
Catfriend1
fd2c441ed7
Update APK version to 0.14.54.9 / 145409 (#171) 2018-12-31 16:58:17 +01:00
Catfriend1
e6eaae06f0
Add Database Size status label to Settings/About (fixes #155) (#172)
* Add new label syncthing_database_size on Settings/About

* Add Util#runShellCommandGetOutput

* Make INDEX_DB_FOLDER constant public

* Add Database Size status label to Settings/About (fixes #155)

* Imported translation de-DE

* Fix lint: Application Context within SettingsFragment
2018-12-31 16:57:51 +01:00
Catfriend1
c36efcf038 Update APK version to 0.14.54.8 / 145408 2018-12-30 23:23:02 +01:00
Catfriend1
826dca6f52
Control syncthing start and stop by third-party automation apps like Tasker (fixes #161) (#169)
* Update tasker actions and broadcast intent extras (fixes #161)

according to https://github.com/Catfriend1/syncthing-android/wiki/Remote-Control-by-Broadcast-Intents

* Update AndroidManifest.xml intent filters

-
 com.github.catfriend1.syncthingandroid.action.START
-
 com.github.catfriend1.syncthingandroid.action.STOP

* Fix missing "public" declaration

* Add PREF_BROADCAST_SERVICE_CONTROL

* Add null check for mRunConditionMonitor

in SyncthingService#ACTION_REFRESH_NETWORK_INFO

* Disable RunConditionMonitor completely

when PREF_BROADCAST_SERVICE_CONTROL is enabled.

* Status tab: Display hint if service control by broadcast is enabled in prefs

* Update strings

* Imported translations
- de
- sv
2018-12-30 23:15:57 +01:00
Catfriend1
2a7fb4b376 Update APK version to 0.14.54.7 / 145407 2018-12-30 17:13:56 +01:00
Catfriend1
105ead51ca
Display syncthing's API key in Settings/About dialog (fixes #164) (#167)
* Display syncthing's api key in Settings/About dialog (fixes #164)

* Click to copy API key to clipboard

* Imported translation de-DE
2018-12-30 17:11:50 +01:00
Catfriend1
7fb47b3aba
Fix syncthing version not showing in Drawer (fixes #165) (#166)
Fix Syncthing version not showing in Drawer or incorrectly shown after app first start or update.
Show syncthing native version regardless if syncthing is running or not.
2018-12-30 16:13:09 +01:00
Catfriend1
0fcd84da0e
Improve "share to syncthing" and self-to-service binding (#162)
Related issues:
#158 - FolderActivity not correctly disposed after dialog close
#161 - mRunconditionmonitor not running after config import/export
#163 - "Share to syncthing-folder" doesn't work when syncthing is not running

* import/export Config: Only shutdown native if it is running (fixes #161)

* Remove FolderPickerActivity#kitkat_external_storage_warning

* Remove SyncthingActivity#registerOnServiceConnectedListener

* Make "share to folder" available when syncthing is online or offline (fixes #163)

Improve service connection

* Add script to forward web UI port of an AVD

Update README.md

* SettingsActivity: Improve service connection

* Correct self-class reference in FolderActivity (fixes #158)

* Correct self-class reference in DeviceActivity (fixes #158)

* Correct self-class reference in ShareActivity (fixes #158)

* Remove unused string 1/2

* Remove unused string 2/2
2018-12-30 15:58:39 +01:00
Catfriend1
b1c614cf21 Imported translations
- ru
2018-12-29 22:40:31 +01:00
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
Catfriend1
466fc971dd
Add launcher icon indicating a debug build (#76) 2018-10-07 17:33:41 +02:00
Catfriend1
ecd8e7cd21 Update APK version to 0.14.51.2 / 4165 2018-10-07 15:34:36 +02:00
Catfriend1
c83422bb28
Update build.gradle to CompileSdkVersion 28 (#74) 2018-10-07 15:32:55 +02:00
Catfriend1
c57f53bd33
Add mdpi drawables (#75) 2018-10-07 15:13:49 +02:00
Catfriend1
fa6e4f4fd8 Update syncthing to v0.14.51
Update APK version to 0.14.51.1 / 4164
2018-10-04 18:34:10 +02:00
Catfriend1
9b8b04c105
Update syncthing to v0.14.51.rc4 (#72)
Update APK version to 0.14.51.rc4.1 / 4163
2018-09-29 23:09:41 +02:00
Catfriend1
1f3abb127b
Update NDK to android-ndk-r18 (#68)
* Update NDK to android-ndk-r18

* Update build.gradle, resolve lint warnings
2018-09-22 19:19:18 +02:00
Catfriend1
73775a116d
Improve building wrapper and native binaries on Windows and Linux
* Do not ask for root if root is disabled in settings
* Show error in UI when libSyncthing.so is missing
* build-syncthing - Install Go on demand on windows
* build-syncthing - Install Android NDK on demand on windows
* Update README.md
* Update APK version to 0.14.51.rc3.6 / 4162
2018-09-22 18:31:36 +02:00
Catfriend1
0203aebc40
Allow stopping the service manually when running as a service (#65) (fixes #63)
Allow stopping the service manually when running as a service in extraordinary cases to avoid the user has to reboot the phone (fixes #63)
2018-09-20 23:39:02 +02:00
Catfriend1
0ed501c362
Update Play/FDroid screenshots for en-GB (#64)
* Update APK version to 0.14.51.rc3.5 / 4161

* Update Play/FDroid screenshots for en-GB
2018-09-20 22:44:48 +02:00
Catfriend1
d1feb89082 Updated APK version to 0.14.51.rc3.4 / 4160 2018-09-17 09:15:17 +02:00
Catfriend1
38db4d9c32
Add import/export for app settings (SharedPreferences) (#61)
* Add export of SharedPreferences app settings
Add import/export to drawer

* Add import for app settings (SharedPreferences)
Move last_sync_id pref to Constants.java

* Add drawer icon for import / export feature

* Start or stay stopped according to run conditions after import

* Close SettingsActivity after sharedPref import
2018-09-17 09:13:07 +02:00
Catfriend1
861d92b855 Updated APK version to 0.14.51.rc3.3 / 4159
Updated whatsnew
2018-09-15 22:40:45 +02:00
Catfriend1
3eab8fe132
Speed up syncthing startup and reduce log spam (#60) 2018-09-15 22:26:16 +02:00
Catfriend1
ebb26d6a4b
Fix home volume not recognized on Android 8 (fixes #58) (#59)
* Fix home volume not recognized on Android 8 (fixes #58)

* Fix Downloads volume not recognized on Android 8
2018-09-15 22:06:32 +02:00
Catfriend1
cc0a35dc4e
Fix android.view.ViewRootImpl$CalledFromWrongThreadException (#56) 2018-09-15 21:09:15 +02:00
Catfriend1
6e3899f7e0
Fix UI glitch - folder type explanation not updating (fixes #53) (#54) 2018-09-15 20:37:56 +02:00
Catfriend1
23c9663023
Fix crash when ignoring devices or folders (fixes #50) (#52)
Fix unignoring devices and folders
Improve performance of RestApi#getDevices
2018-09-15 20:16:20 +02:00
Catfriend1
d084026548 Updated APK version to 0.14.51.rc3.2 / 4158 2018-09-15 12:52:16 +02:00
Catfriend1
3f93ec3ca4
Update Play screenshots de-DE (#51)
* Remove play language de_DE

* Update Play screenshots de-DE
2018-09-15 12:49:34 +02:00
Catfriend1
bdce748ac4
Fix parsing connectionServiceStatus (#49)
* Catch failures on gson-parsing SystemInfo

* Fix parsing connectionServiceStatus on recent syncthing version

* Add SystemStatusConnectionServiceStatusElement to model
2018-09-14 21:05:51 +02:00
Catfriend1
8a5e5d7e47
Update play descriptions (#47)
* Update play - app title and contact email

* Update apk version to 4157 - 0.14.51.rc3.1
Update EN, DE play descriptions to indicate the fork

* Add fork notice to all languages
2018-09-14 20:19:08 +02:00
Catfriend1
fdcafc6d1b
Update syncthing to v0.14.51-rc.2 (#43)
* Update syncthing to v0.14.51-rc.1

* Update syncthing to v0.14.51-rc.2

* Update fdroid metadata

* Update python build script
Use prebuilt go binaries from google and check SHA-256
after downloading requires files from google.
2018-09-13 09:57:31 +02:00
Catfriend1
9a8a43d273 Bumped version to 0.14.50.rc2.6 / 4154 2018-09-01 22:40:14 +02:00
Catfriend1
836624a93f
Rename app to "Syncthing-Fork" (#42)
* Rename app to "Syncthing-Fork"
* Update com.github.catfriend1.syncthingandroid.yml for F-Droid
* Update README.md
* Updated whatsnew
2018-09-01 22:33:13 +02:00
Catfriend1
850cad223c
Fix type of "mIgnoreListContent" in FolderActivity (#41)
App worked okay, but the type was wrong. Better fix it.
Verified working after fix.
2018-08-28 08:49:19 +02:00
Catfriend1
609cf1fffe Bumped version to 0.14.50.rc2.5 / 4153 2018-08-26 13:04:33 +02:00
Catfriend1
19991abd0d
Support in-app editing of folder's ignore list items (fixes #19) (#40)
* Read ignore list from REST
* Add write back of ignore list via REST endpoint call
* Disable the edit ignore EditText when a new folder is created to preserve existing ".stignore" contents
2018-08-26 13:02:37 +02:00
Catfriend1
bad36c4809
Fix override changes button not showing (fixes #38) (#39) 2018-08-26 10:47:55 +02:00
Catfriend1
a9ad589a95
Don't lock the drawer (#37)
If you start syncthing and run conditions do not apply, the drawer is locked. You can then only change settings, press the back or home button to leave the app running but exiting the app is not possible.
2018-08-26 01:24:29 +02:00
Catfriend1
49dc1d80af
Imported translations, bumped version to 0.14.50.rc2.4 / 4152 (#36) 2018-08-25 23:39:32 +02:00
Catfriend1
640d7f1e02
Remove unused import (#35) 2018-08-25 23:30:47 +02:00
Catfriend1
c44996012a
Fix shutdown during pending startup of the runtime (#34) 2018-08-25 23:09:09 +02:00
Catfriend1
4164798955
Stop polling when the user doesn't look at a tab (#32)
* Fix status tab refresh

* Stop polling when the user doesn't look at a tab
2018-08-25 22:28:25 +02:00
Catfriend1
a834edb2bd
Fix runtime left behind on app update (#31)
* Fix runtime left behind on app update

* Always kill runtime synchronously and run it asynchronously

* More log output
2018-08-25 21:35:00 +02:00
Catfriend1
bbeecc8777
Add "Uptime" to status tab (#30) 2018-08-25 17:52:43 +02:00
Catfriend1
d42f11ccff
Import translations (#29)
* Imported translations

* Update prepare-release.bash

* Imported translations
2018-08-25 02:21:28 +02:00
Catfriend1
e6af3ce3d2
Fix phone plugged to charger detection (#27)
* Fix phone plugged to charger detection

* Add detection for wireless charging
Correct API level from 21 to 17

* Fix typo in strings.xml
2018-08-25 01:21:30 +02:00
Catfriend1
f50b933278 Bump version to 0.14.50.rc2.3 / 4151 2018-08-23 09:47:17 +02:00