On devices with low memory or storage, the update-binary skips
installation of SetupWizard, which normally overrides AOSP's Provision
app. Unfortunately, the script currently removes the Provision app even
when SetupWizard is not installed in the low memory or storage case,
which causes the device to remain stuck in an unprovisioned state (Home
button doesn't work for example).
Tests
-----
Tested on Nexus 5 (hammerhead) with LOW_STORAGE and confirmed that the
Provision app is not removed since SetupWizard is not installed.
Confirmed that the Play store works.
Tested on Nexus 5X (bullhead) which is not LOW_STORAGE and confirmed
that the Provision app is removed since SetupWizard is installed.
Confirmed that the Play store works.
This is too ensure a uniform experience across all arch's and to
have same required privapp permissions.
Also added a privapp permission to the whitelist xml that's required
by this new version.
Change-Id: I04abc73565bb02c5d4ad60c5331cabc672fda147
This is too ensure a uniform experience across all arch's and to
have same required privapp permissions.
Also added a privapp permission to the whitelist xml that's required
by this new version.
Change-Id: I6785f9532190db7553b12ca208488fa74047d99b
The suw apk in pixel factory images are pixel specific, so lets switch
the the universal one for better UX.
Change-Id: Ie865099131154997be5d1bdb267da157364254d7
The apk from marlin's pie factory image would crash on non-pixel
devices due to missing app com.google.android.apps.restore.
This newer version does not cause a crash and continues with restore
process.
Also added a privapp permission to the whitelist xml that's required
by this new version and pin the xml.
Change-Id: I963dcb9fa089d51754dc57d46f89bbad983e06c2
* On Custom ROM's on Pixels, the downloading of
this app by SetupWizard often hangs up,
and needs to be restarted. Ship this to avoid
that.
* Added to LOWMEM checkas it isn't necessary.
* Currently, on both devices enforcing veirty, and devices not
enforcing verity, we are unable to flash files to the system
partition after a payload (a/b) style flash. Revert this
logic until is/when we figure this out.
* A/B users will need to flash the ROM, reboot, and install
from thee recovery in the other slot.
* On some devices, /system is already mounted, and when we try to
mount it ourselves, it fails, causing installation to abort
* To prevent this, umount /system before we try to mount it
* We'll first check the currently loaded slot. We can
assume the user just flashed a rom and that the target
slot for this rom is the other slot, so mount that
system image. TODO: autodetect this somehow
* Mount this system partition at /system_root (rw) and then
mount the /system/system folder at /system. We do it
this way for a couple reasons. Because it makes the
script easier to work with and because we're using
toybox from the system partition for operations, which
is expecting /system/bin/linker64 to exist.
Change-Id: Ia6f96f0864d725b0123665bbbce0e31523bb834f