Commit Graph

71 Commits

Author SHA1 Message Date
Luca Stefani 4ec02fd780 Updater: Improve battery check
* Lower default value by 10%
* Decrease the level by another 10% if charging
* Always allow installation in case device doesn't have a battery
* Show the requirements in the alert dialog

Change-Id: Iebb10220612006fbd096eb474cf3034ef52144b3
2018-07-14 18:47:12 +02:00
TheScarastic 608789ff36 Updater: Allow toggling A/B perf mode
Change-Id: I380a39bf6008b341c8005ac548d42d2413d0d643
2018-07-11 22:27:33 +02:00
Michael Bestas 5a93f3f91a Automatic translation import
Change-Id: Icf78471c3fea2d0c67e63ce155e92748787e7a9c
2018-07-09 22:03:42 +03:00
Michael Bestas 599ed80201 Automatic translation import
Change-Id: Ie3bbaadd470b5d1fc22683b9f7280d912b644e53
2018-06-18 23:28:29 +03:00
Gabriele M f9463c3770 Requre a minimum remaining battery capacity to install updates
The recovery doesn't install the update if the remaining battery
capacity isn't at least 20% (or 15% if charging). Require at least
40%, just to be safe.

Change-Id: I5cd7c40f029141cde2b0922b25fece2b55989710
2018-06-13 23:30:08 +02:00
Gabriele M 0332be5ec7 Minor app notification improvements
- Don't use BigTextStyle if we only need to show a single line of
  text, but keep using it if the progressbar is visible.
- Change the icon to reflect the currrent state.
- Use android.R.drawable instead of com.android.internal.R.drawable

Change-Id: I0f69fe5f4fa63cdec180e89afa098d27819f33fd
2018-06-13 23:30:08 +02:00
Michael Bestas 9285b1c1a6 Automatic translation import
Change-Id: I27a25d23f5bffb328cce4dab3b440ad20d3a00bc
2018-06-03 14:10:09 +03:00
Michael Bestas 907486ad4f Automatic translation import
Change-Id: I7197b0358cd9e9e94260cee425390fa7deb6fe2d
2018-05-08 19:47:25 +03:00
Michael Bestas 8a8f1d98f0 Fix eta_hours quantity="one" string
* Fixes fd096a564a

Change-Id: I19633ead80b690e1c22655bcac842a901e450f8a
2018-05-04 22:36:25 +03:00
Gabriele M fd096a564a Allow to properly translate the download ETA string
Change-Id: Ie6bbbddbbd9fd7adbc16472ad9c42c1d257413a1
2018-04-21 16:31:28 +02:00
Michael Bestas 75c31f3274 Automatic translation import
Change-Id: I593d19fa09ae2605d05aa0a38029691d3653821b
2018-04-20 00:56:08 +03:00
Gabriele M 6aa0a04fbb Replace some paddings with margings in the preferences
This ensures that each Switch is always fully visible independently
of the size of system font.

Change-Id: I1e56a9537dbbb124d86ea0da76d48b7b53172e47
2018-04-12 00:19:41 +02:00
Gabriele M d5f4c1bcec Detect update failures
This allows to delete the update only if the installation succeeded
and to notify the user in case the installation failed.

Since we now need the file in case of failure, create a copy for
uncrypt even if the user chose to delete installed updates.

Change-Id: I80b0f499663bbf50bcbca5f643c01ffdb4cd3957
2018-04-08 22:48:19 +02:00
Joey af9b4adbe0 Updater: show settings in a proper preferences dialog
Menu is not a good place to store preferences that have long strings

Change-Id: I84e782af33b2452c15998f7266c57d681dc8a377
Signed-off-by: Joey <joey@lineageos.org>
2018-04-08 18:21:57 +02:00
Gabriele M 17db209f13 Always show the size of the updates
This is now possible since the size is included in the JSON.

Change-Id: Ie38ccfbdc7abb0e4b86e8e625ed8d131376402e7
2018-04-08 14:26:19 +02:00
Joey ec4f3146d6 Updater: Minor UI improvements
Change-Id: I5028aaa154991806ab911be0119fed0836e6851b
2018-04-08 14:26:12 +02:00
Joey 862e913590 Updater: Support Dark mode and update colors
Change-Id: I3503311e9e94663c4b708fc744962ce97690d6e1
2018-04-08 14:26:07 +02:00
Joey 6d24b010f7 Updater: Use popup menu instead of ActionMode
Change-Id: I707682708711679a7cbe1b0058cea9b1ed003cb6
2018-04-08 14:25:59 +02:00
Gabriele M 5252d60671 Define the entire server URL as resource
Currently the URL is only partially customizable, part of
it is hard-coded and there's no clear indication of it.
Define the entire URL as resource string and use placeholders
for runtime variables.

Also, invalidate old overrides by changing the name of the
resource.

Warning: lineage.updater.uri must be updated accordingly

Change-Id: Iecfdaf9d422d08a707c7319bafea5befc6b757d2
2018-04-05 16:37:49 +02:00
Gabriele M 4fa7ba910a Replace refresh dialog with icon animation
Change-Id: I6d2cc649b9fa8883a7256d8ecb62cb56bbf5dd59
2018-04-05 16:37:49 +02:00
Michael Bestas a0bdd6abba Automatic translation import
Change-Id: I0cd872bbd27613db1203a0538eff765379316ecb
2018-04-01 22:32:42 +03:00
Michael Bestas 14d522818c Automatic translation import
Change-Id: I5265394cac0bdd174c3cec21a11a1d0e6d35597d
2018-03-09 00:35:54 +02:00
Michael Bestas f183b58b09 Automatic translation import
Change-Id: I2923971e3477640a67a241762d1dc164f1e0c462
2018-02-25 22:04:16 +02:00
Michael Bestas d44eb7c414 Automatic translation import
Change-Id: I47e08290ebdb11c3d05d0614560dc2847884928d
2018-02-22 03:49:55 +02:00
meganukebmp 76b9f49684 Updater: add changelog button
Add a changelog button in the menu toolbar throwing the user in
the recent changes page

Change-Id: I16609825c0662fc22b95189cbdf324a8c0b94f81
2018-02-17 17:46:45 +00:00
Joey 2a9c85e675 Updater: adaptive icon
Change-Id: Ifee7b51f48b204b646935d9470d31f6e9519124d
Signed-off-by: Joey <joey@lineageos.org>
2018-02-15 13:43:40 +00:00
Harry Youd ff53035537 Updater: Add notification channels
Change-Id: I2f538fb47fe90e1008bf286739d33c829123353a
2018-01-23 23:47:18 +01:00
Gabriele M e02b8a0b00 Copy the updates for uncrypt using a Service
Same as change I488018d01c0baf74660362a384e53bfe5d85de2b
("Use a service to export the updates"). While at it, move the code
out of UpdaterService to better separate the code that deal with AB
updates and regular updates.

Change-Id: I2bc3e78e80f5e63c57303cbbcdc0353dbab0f67f
2018-01-23 22:41:40 +01:00
Gabriele M e66a8fa53a Keep track of the installation status of AB updates
This allows to show the correct labels.

Change-Id: I52f42e042af0df2d091d786c03102cec352b3a5b
2018-01-23 22:41:40 +01:00
Gabriele M 8e369117bf Allow to cancel ongoing installations
Change-Id: I46884b42b6e3f87fbee99a23f538cec990b3b873
2018-01-23 22:41:40 +01:00
Gabriele M 2c41ae392c Use a service to export the updates
AsyncTasks are not suitable for long lasting operations and can easily
cause memory leaks. The use of ProgressDialogs is also discouraged, so
move to a foreground service to export the updates.

Change-Id: I488018d01c0baf74660362a384e53bfe5d85de2b
2018-01-23 22:41:40 +01:00
Gabriele M 8c9976d622 Show delete button for old updates
Old updates can't be installed if the current build is newer, so show
a delete button instead.

Change-Id: Ib34aad31d93e87a1009c23f86686fc4a008129e7
2017-11-12 16:10:17 +01:00
Abhisek Devkota 7aa3a999d8 Automatic translation import
Change-Id: I139708300601c694863783cb23cf7c2ce49150f3
2017-10-21 11:11:30 -07:00
Abhisek Devkota a891ac9709 Automatic translation import
Change-Id: I15611e4ff76d2364d8be1c1873dc40796e17a7f1
2017-09-19 00:29:02 -07:00
Gabriele M 17f35382d7 Show alert dialog for major upgrades
Major upgrades are not possible with Updater and they are already
blocked. This commit adds a dialog with a link to a webpage that
explains how to upgrade manually.

Based on: https://github.com/LineageOS/android_packages_apps_CMUpdater/commit/d5d343d6275c0c896e2f50daa1ef5aec973ef891

Change-Id: Ifb23e0a4db1060fc696d13e6694f3e849af70e2d
2017-08-25 18:13:46 +00:00
Luca Stefani 4c5dd9c391 Disable clip to padding
* Allow the last item shadow to be seen

Change-Id: If24b0db3feb75a4468b6dddde62b4c79917552c8
2017-08-14 22:47:03 +02:00
Luca Stefani a0cd205b1d Don't add margins in update items
Change-Id: I71a22a4bd0a15e70a045cef1c49f67ff5625dbd6
2017-08-14 22:47:02 +02:00
Gabriele M 7c25e7aef9 Show message if there are no updates 2017-08-09 17:18:15 +02:00
Gabriele M acd7387d23 Warn user about downloading update package via mobile data
Based on: https://github.com/LineageOS/android_packages_apps_CMUpdater/commit/89284925355ff221713572f85266ec524b582bdd
2017-08-08 10:32:48 +02:00
Gabriele M cdc4849767 Remove duplicate icon
ic_tab_install is basically the same as ic_system_update. The only
difference is the color, but that doesn't really matter.
2017-08-07 16:43:34 +02:00
Gabriele M 8768daddf0 Add option to delete updates when installed
This is mostly useful on encrypted devices since it allows to not
copy the update before installing it.
2017-07-22 20:38:20 +02:00
Gabriele M 20ea513684 Create a copy of the zips on encrypted devices
On encrypted devices, uncrypt modifies the zip so that it can be
read without mounting the filesystem. Instead of installing the zip
downloaded, create a copy of it which will be deleted. This will
allow to re-install the zip multiple times or export it after
installing it.
2017-07-21 17:05:53 +02:00
Gabriele M 1659fe26b9 Allow to export verified updates 2017-07-20 00:45:34 +02:00
Gabriele M ee6013dfd1 Allow to copy the URL of the updates 2017-07-20 00:45:34 +02:00
Gabriele M 257ab087d6 Enable action mode on card long press
This will allow to perform different operations, although currently
it's only used to delete updates.
2017-07-20 00:45:34 +02:00
Gabriele M 2b276395e1 Use /data/lineageos_updates/ as download path
GmsCore deletes the files in /data/ota_package/, so don't use it.
2017-07-19 18:50:16 +02:00
Gabriele M 6f1861abe0 Remove unused resources 2017-07-18 22:17:29 +02:00
Gabriele M a06fa3f9f0 Add own formatDuration() method
DateUtils.formatDuration() is not public, so create our own version.
2017-07-18 22:17:26 +02:00
Gabriele M fecd837b70 Fix fling gestures when expanding the AppBar from RecyclerView
Fling gestures don't work when expanding the AppBar. Define a new
behavior class to fix them

https://issuetracker.google.com/issues/37058076
https://stackoverflow.com/a/32454407
2017-07-18 12:51:42 +02:00
Gabriele M e710060baa Show a snackbar when trying to download/install invalid updates
Instead of disabling the action button, keep it enabled and make it
show a snackbar to inform the user about the impossibility of
installing the selected update.
2017-07-18 00:19:41 +02:00