Commit Graph

9577 Commits

Author SHA1 Message Date
Prashant Malani b2085d9ce2 recovery: Begin refactor of WearUI to use ScreenRecoveryUI am: 7d9fd96dc9
am: 5819944b16

* commit '5819944b165bcaff181af962c87be37f95e4d346':
  recovery: Begin refactor of WearUI to use ScreenRecoveryUI
2016-03-09 00:41:54 +00:00
Prashant Malani 5819944b16 recovery: Begin refactor of WearUI to use ScreenRecoveryUI
am: 7d9fd96dc9

* commit '7d9fd96dc99a6008979811e36bb06f3afad18508':
  recovery: Begin refactor of WearUI to use ScreenRecoveryUI
2016-03-09 00:30:03 +00:00
Prashant Malani 1c7b2230d8 recovery: More refactoring of WearUI
This patch performs the following modifications:
- Remove setBackground function, and currentIcon member variable.
- Remove common Progress*, Redraw and EndMenu functions.

Bug: 27407422
Change-Id: Ic3c0e16b67941484c3bc1d04c9b61288e8896808
Signed-off-by: Prashant Malani <pmalani@google.com>
2016-03-08 15:56:54 -08:00
Prashant Malani 7d9fd96dc9 recovery: Begin refactor of WearUI to use ScreenRecoveryUI
This is the first of a series of changes which move WearUI to subclass
ScreenRecoveryUI, to take advantage of several functions which are
common between the two recovery UI implementations, and already defined
in ScreenRecoveryUI.

This patch changes the base class of WearUI, removes redundant
header includes, and also removes a common function.

Bug: 27407422

Change-Id: I8fd90826900f69272a82e23bd099790e8004d511
2016-03-08 14:37:49 -08:00
Tianjie Xu 6289e79532 Merge "Reboot and retry on I/O errors" am: 94dc34148c am: 90f01a4203
am: 9a83ca02a3

* commit '9a83ca02a32a21f00c7328269ab2c05940928452':
  Reboot and retry on I/O errors
2016-03-08 07:47:05 +00:00
Tianjie Xu 9a83ca02a3 Merge "Reboot and retry on I/O errors" am: 94dc34148c
am: 90f01a4203

* commit '90f01a4203de453a2c6b940c39289b629ae3b654':
  Reboot and retry on I/O errors
2016-03-08 07:44:47 +00:00
Tianjie Xu 90f01a4203 Merge "Reboot and retry on I/O errors"
am: 94dc34148c

* commit '94dc34148c117fd3cfb442a348a69dbbb676a5c5':
  Reboot and retry on I/O errors
2016-03-07 23:57:03 +00:00
Tianjie Xu 94dc34148c Merge "Reboot and retry on I/O errors" 2016-03-07 23:47:14 +00:00
The Android Automerger ffb4b284cf merge in nyc-release history after reset to nyc-dev 2016-03-06 00:00:35 -08:00
Andreas Blaesius 9023b1c629 recovery: czech translation
Uploaded on XDA from XDA-User "kodein"
http://forum.xda-developers.com/showpost.php?p=65371227&postcount=1400

Change-Id: I6c3c4fe90b91a21400b11541f3895d92cc80ea1d
2016-03-05 13:58:23 +01:00
Alex Deymo 8ab23ef210 Merge "Restore labels on /postinstall during recovery." into nyc-dev am: 1731f2980b
am: a1ccc83c8b

* commit 'a1ccc83c8beb0a99b0453104deb6538c163a445f':
  Restore labels on /postinstall during recovery.
2016-03-05 00:09:37 +00:00
Alex Deymo a1ccc83c8b Merge "Restore labels on /postinstall during recovery." into nyc-dev
am: 1731f2980b

* commit '1731f2980bfadb29105ffd566dd78885889501d8':
  Restore labels on /postinstall during recovery.
2016-03-05 00:07:37 +00:00
Alex Deymo 1731f2980b Merge "Restore labels on /postinstall during recovery." into nyc-dev 2016-03-05 00:03:47 +00:00
Alex Deymo 080f522fb9 Restore labels on /postinstall during recovery.
This patch mirrors what was done in the main init.rc to relabel
/postinstall.

Bug: 27178350
Bug: 27177071

(cherry picked from commit 6bcc8af6e5)

Change-Id: I8320559f014cfb14216dcc350e016fc1db05cb14
2016-03-04 15:50:27 -08:00
Tao Bao cdede8b0a4 recovery: Handle devices without /cache partition. am: ae6408d1a2
am: d1e56b02e4

* commit 'd1e56b02e4f072d5100e2865948b721ea5bfa5b3':
  recovery: Handle devices without /cache partition.
2016-03-04 20:32:52 +00:00
Tao Bao 0813c01c8b Merge "recovery: Handle devices without /cache partition." am: 479d9dc2f2 am: f2726712ea
am: c36b919525

* commit 'c36b91952573dc632dfb855085a88303df583aab':
  recovery: Handle devices without /cache partition.
2016-03-04 20:32:45 +00:00
Tao Bao 558a1942c5 Merge "Fix the improper use of LOCAL_WHOLE_STATIC_LIBRARIES." am: f639490a51 am: 038c294453
am: d29a16afc7

* commit 'd29a16afc7918ee921a995950f31dd1d6be6823f':
  Fix the improper use of LOCAL_WHOLE_STATIC_LIBRARIES.
2016-03-04 20:32:38 +00:00
Tao Bao d1e56b02e4 recovery: Handle devices without /cache partition.
am: ae6408d1a2

* commit 'ae6408d1a2edc9950a2bff3af448cddecc7adf13':
  recovery: Handle devices without /cache partition.
2016-03-04 20:29:06 +00:00
Tao Bao c36b919525 Merge "recovery: Handle devices without /cache partition." am: 479d9dc2f2
am: f2726712ea

* commit 'f2726712ea1e02fdabf595ece1cfeab9a6147386':
  recovery: Handle devices without /cache partition.
2016-03-04 20:28:38 +00:00
Tao Bao d29a16afc7 Merge "Fix the improper use of LOCAL_WHOLE_STATIC_LIBRARIES." am: f639490a51
am: 038c294453

* commit '038c294453865161680777f08ce7adbf42d8f6e3':
  Fix the improper use of LOCAL_WHOLE_STATIC_LIBRARIES.
2016-03-04 20:28:30 +00:00
Tao Bao f2726712ea Merge "recovery: Handle devices without /cache partition."
am: 479d9dc2f2

* commit '479d9dc2f2601f5858726913e82aac69c1aa22d2':
  recovery: Handle devices without /cache partition.
2016-03-04 20:26:06 +00:00
Tao Bao 038c294453 Merge "Fix the improper use of LOCAL_WHOLE_STATIC_LIBRARIES."
am: f639490a51

* commit 'f639490a51655a4d372663e2f7000666748d7fda':
  Fix the improper use of LOCAL_WHOLE_STATIC_LIBRARIES.
2016-03-04 20:25:59 +00:00
Tao Bao ae6408d1a2 recovery: Handle devices without /cache partition.
Since we may not have /cache partition on A/B devices, let recovery
handle /cache related operations gracefully if /cache doesn't exist.

(1) Disable the wipe for /cache partition.

(2) Skip wiping /cache while wiping /data (i.e. factory reset).

(3) Disable logging-related features, until we figure out better
ways / places to store recovery logs (mainly for factory resets on A/B
devices).

Bug: 27176738
Change-Id: I7b14e53ce18960fe801ddfc15380dac6ceef1198
(cherry picked from commit 26112e5870)
2016-03-04 12:23:10 -08:00
Tao Bao 479d9dc2f2 Merge "recovery: Handle devices without /cache partition." 2016-03-04 20:17:11 +00:00
Tao Bao f639490a51 Merge "Fix the improper use of LOCAL_WHOLE_STATIC_LIBRARIES." 2016-03-04 20:16:50 +00:00
Alex Deymo 2bdef0937a Merge "Restore labels on /postinstall during recovery." am: 60eae72ac6 am: f6ffefb116
am: 20bb31bbd3

* commit '20bb31bbd3a74667ff1da59ef4ead37d065dc80d':
  Restore labels on /postinstall during recovery.
2016-03-04 05:49:06 +00:00
Alex Deymo 20bb31bbd3 Merge "Restore labels on /postinstall during recovery." am: 60eae72ac6
am: f6ffefb116

* commit 'f6ffefb11690ca3604df7c8c0ddda74387d26eba':
  Restore labels on /postinstall during recovery.
2016-03-04 05:47:16 +00:00
Alex Deymo f6ffefb116 Merge "Restore labels on /postinstall during recovery."
am: 60eae72ac6

* commit '60eae72ac6c35567ea71035d379d4f2300cec77c':
  Restore labels on /postinstall during recovery.
2016-03-04 05:45:27 +00:00
Alex Deymo 60eae72ac6 Merge "Restore labels on /postinstall during recovery." 2016-03-04 05:40:14 +00:00
Tao Bao d79baad222 uncrypt: Communicate via /dev/socket/uncrypt. am: 3a2bb594df
am: 21c0054766

* commit '21c005476699a3892a3b5c16a1cd7a4907988c6b':
  uncrypt: Communicate via /dev/socket/uncrypt.
2016-03-04 01:26:59 +00:00
Tao Bao 21c0054766 uncrypt: Communicate via /dev/socket/uncrypt.
am: 3a2bb594df

* commit '3a2bb594df4b48c6afb1f029041dd6db0735de58':
  uncrypt: Communicate via /dev/socket/uncrypt.
2016-03-04 01:00:53 +00:00
Tao Bao d80a99883d Fix the improper use of LOCAL_WHOLE_STATIC_LIBRARIES.
If two libraries both use LOCAL_WHOLE_STATIC_LIBRARIES and include a same
library, there would be linking errors when generating a shared library
(or executable) that depends on the two libraries both.

Also clean up Android.mk files.

Remove the "LOCAL_MODULE_TAGS := eng" line for the updater module. The
module will then default to "optional" which won't be built until needed.

Change-Id: I3ec227109b8aa744b7568e7f82f575aae3fe0e6f
2016-03-03 14:52:44 -08:00
James Christopher Adduono fddbdfa45f Don't add subpartitions to restore list
Their parents will take care of them.
Good parents.

Fixes double restoration of subpartitions when they are
also set to backup in the recovery fstab.

Change-Id: I876c179135e0cb00754e9a8cfc8eac164c4b7fd4
2016-03-03 18:05:46 +01:00
Tao Bao 3a2bb594df uncrypt: Communicate via /dev/socket/uncrypt.
We used to rely on files (e.g. /cache/recovery/command and
/cache/recovery/uncrypt_status) to communicate between uncrypt and its
caller (i.e. system_server). Since A/B devices may not have /cache
partitions anymore, we switch to socket communication instead.

We will keep the use of /cache/recovery/uncrypt_file to indicate the OTA
package to be uncrypt'd though. Because there is existing logic in
ShutdownThread.java that depends on the existence of the file to
detect pending uncrypt works. This part won't affect A/B devices without
/cache partitions, because such devices won't need uncrypt service (i.e
the real de-encrypt work) anyway.

Bug: 27176738
Change-Id: I481406e09e3ffc7b80f2c9e39003b9fca028742e
2016-03-02 23:23:32 -08:00
Tianjie Xu 3c62b67faf Reboot and retry on I/O errors
When I/O error happens, reboot and retry installation two times
before we abort this OTA update.

Bug: 25633753
Change-Id: Iba6d4203a343a725aa625a41d237606980d62f69
2016-03-02 17:31:05 -08:00
Tao Bao 26112e5870 recovery: Handle devices without /cache partition.
Since we may not have /cache partition on A/B devices, let recovery
handle /cache related operations gracefully if /cache doesn't exist.

(1) Disable the wipe for /cache partition.

(2) Skip wiping /cache while wiping /data (i.e. factory reset).

(3) Disable logging-related features, until we figure out better
ways / places to store recovery logs (mainly for factory resets on A/B
devices).

Bug: 27176738
Change-Id: I7b14e53ce18960fe801ddfc15380dac6ceef1198
2016-03-02 15:33:32 -08:00
Alex Deymo 6bcc8af6e5 Restore labels on /postinstall during recovery.
This patch mirrors what was done in the main init.rc to relabel
/postinstall.

Bug: 27178350
Bug: 27177071
Change-Id: I39cd03f3c55a42c03367957e8c259c9a3155203c
2016-03-02 14:35:51 -08:00
James Christopher Adduono 6f57f7c601 Merge code from upstream libtar + bug fixes
All updates and fixes applied from upstream libtar as of
March 1, 2016.

Debug flag is disabled, however non-debug output now
provides 1 line of useful output per object extracted.

I've also merged some fixes from CyanogenMod's
fork of libtar:

From: Tom Marshall <tdm@cyngn.com>
Date: Thu, 11 Feb 2016 16:24:40 -0800
Subject: libtar: Cleanup, secure, and extend numeric fields
Commit: e18b457ea1cbf6be1adc3b75450ed1c737cd82ea

From: Tom Marshall <tdm@cyngn.com>
Date: Thu, 11 Feb 2016 12:49:30 -0800
Subject: libtar: Make file sizes 64-bit clean
Commit: e628c2025549a24018bc568351465130a05daafb

From: Tom Marshall <tdm@cyngn.com>
Date: Thu, 17 Apr 2014 09:39:25 -0700
Subject: libtar: Add methods for in-memory files
Commit: 8ec5627a8ff0a91724c6d5b344f0e887da922527

From: Tom Marshall <tdm@cyngn.com>
Date: Wed, 2 Jul 2014 09:34:40 -0700
Subject: libtar: Fix hardlink extract
Commit: 166d83a51e0c51abcea37694dbd7df92d03c1f56

From: philz-cwm6 <phytowardt@gmail.com>
Date: Sat, 26 Apr 2014 01:11:35 +0200
Subject: libtar: Various bug fixes and enhancements
Commit: a271d763e94235ccee9ecaabdb52bf4b9b2f8c06
(Some of this was not merged in, as better solutions were
available from upstream libtar)

From: Tom Marshall <tdm@cyngn.com>
Date: Wed, 9 Apr 2014 09:35:54 -0700
Subject: libtar: Add const qualifiers to reduce compile warnings
Commit: 0600afa19fe827d06d3fcf24a7aabd52dbf487b4

Change-Id: I6d008cb6fdf950f835bbed63aeb8727cc5c86083
2016-03-02 13:04:11 -06:00
Mattias Nissler 4934bb7e85 Merge "Remove dumpkey build guards after completing code move." am: 5ffc038be6 am: ea0e0faae6
am: c4d143356e

* commit 'c4d143356ef1a406bb641b2f1504ab72f083a6bd':
  Remove dumpkey build guards after completing code move.
2016-03-01 16:42:22 +00:00
Mattias Nissler c4d143356e Merge "Remove dumpkey build guards after completing code move." am: 5ffc038be6
am: ea0e0faae6

* commit 'ea0e0faae6c0e57deb1a53683b00ff4651a65502':
  Remove dumpkey build guards after completing code move.
2016-03-01 16:38:50 +00:00
Mattias Nissler ea0e0faae6 Merge "Remove dumpkey build guards after completing code move."
am: 5ffc038be6

* commit '5ffc038be6cffd9155fce4f2212ff351415ee7ba':
  Remove dumpkey build guards after completing code move.
2016-03-01 11:48:54 +00:00
Mattias Nissler 5ffc038be6 Merge "Remove dumpkey build guards after completing code move." 2016-03-01 11:46:27 +00:00
The Android Automerger c2a6d98328 merge in nyc-release history after reset to nyc-dev 2016-03-01 00:00:39 -08:00
Prashant Malani 08bae03c94 Merge "Fixes to wear recovery for N" into nyc-dev am: 9db7964834
am: 30f368fde0

* commit '30f368fde096a746d5ac407754955691abfc48b7':
  Fixes to wear recovery for N
2016-02-29 23:02:44 +00:00
Prashant Malani 30f368fde0 Merge "Fixes to wear recovery for N" into nyc-dev
am: 9db7964834

* commit '9db7964834694e10ce0945e17ac7fefc066d8deb':
  Fixes to wear recovery for N
2016-02-29 22:59:30 +00:00
Prashant Malani 9db7964834 Merge "Fixes to wear recovery for N" into nyc-dev 2016-02-29 22:56:30 +00:00
Matt Mower 64ffe730a6 Unix file endings and remove execute permission
Change-Id: Iceaae3f7f20c3c6f23da807786b4cf4739c887c9
2016-02-29 17:14:17 +01:00
that b9d8f62c26 minuitwrp: retry opening fb0 if it failed
On some devices TWRP tries to access the framebuffer before all
device nodes have been created. Retry opening instead of crashing later.

Change-Id: I189a8fe80a8906b46fb6cece53c0bf83c00c0e09
2016-02-29 17:10:00 +01:00
Ethan Yonker 98ebdafe52 Fix verifier_test build
Some people insist on running make without specifying any target
like recoveryimage or otapackage, which triggers a build of
verifier_test, so this fix will keep people from asking about
this build error anymore.

Change-Id: Ic955b7a3fb2599894e712fd8b418227da240d288
2016-02-29 15:24:45 +01:00
Ethan Yonker a60c78602d Remove busybox modprobe to fix slow performance for some devices
bionic process initialization calls personality
(specifically personality-8)
personality wants to load a kernel module
loading a kernel module calls /sbin/modprobe
loading /sbin/modprobe is a bionic process initialization
bionic process initialization calls personality
personality wants to load a kernel module
loading a kernel module calls /sbin/modprobe . . .

Before you know it, it takes 0.5 seconds to do anything.
Note: modprobe is still technically available, but the symlink
has been removed, so you can still call it directly by running
busybox modprobe if you like.

From what I can tell, this issue only affects 32 bit devices
with CONFIG_MODULES=y in the defconfig. The problem can be also
patched out of the kernel by commenting or otherwise removing
the block of code in kernel/exec_domain.c inside the CONFIG_MODULES
ifdef block

It is also possible to patch the problem in bionic libc by commenting
out or otherwise removing the __initialize_personality in bionic/libc/
bionic/libc_init_common.cpp file.

Change-Id: Iebac314616080ac18320d73b087980ac1b98b951
2016-02-29 15:22:48 +01:00