This adds a special device identifier that is usable only for device
validation. The user will be presented with this number encoded in
easily-transcribable Base32 in the Developer options of Settings.
Change-Id: I4843f55ee90d689a51d0269b22454ca04c1be7ec
Running full backup/restore on the Backup Manager looper thread causes problems.
It not only interfered with the delayed-Message timeout processing; in the case
of installing apks during restore it also interfered fatally with the interaction
between the Package Manager and install-time restore of data from the cloud.
The long-term right thing to do here will be a refactoring of full backup and
restore to be structured as the sort of state-machine process that incremental
backup and restore now use. This is particularly thorny in the case of full
restore (due to the Package Manager interactions), and full backup/restore are
considered experimental at this point, so that refactoring is deferred to a
future release. The current process is essentially standalone, so the bug is
fixed here pro tem by letting it run to completion on its own thread, freeing
the looper for normal work.
Fixes bug 5173450
Change-Id: I659a61afa18ffe7fde1a07f7fa0e860d5e8d5a89
A core app is one that has coreApp="true" in its manifest tag.
The system can successfully boot (though a little painfully) with
only framework-res.apk, SettingsProvider.apk, SystemUI.apk,
DefaultContainerService.apk, and Launcher2.apk set as core apps.
Currently this boot mode is always turned off.
Change-Id: Ieaa4a8031c2c391a12996aa8d8b1d65fc2b09d6b
For wifi, track ECM and shut down and restart when device
goes in ECM and out
For p2p, simply turn off when in ECM mode
Bug: 5185246
Change-Id: I5f5bf75fac3e27db1d7c412135c796f2b137263d
When force stopping an app, when removing its activities also finish any
activities from other apps above it in the task. This avoids some situations
where the task gets into a bad state where its root becomes a different app.
Change-Id: I79e5cd520ae321bec80adefd2ccc2b0370ace372
External storage volumes that were emulated+encrypted needed to have
their encryption mapping removed so that it doesn't try to encrypt the
volume after formatting them.
This just wires through an argument through vold, and assumes that vold
will do the right thing even if there is no encryption mapping set.
Bug: 5017638
Change-Id: I858fae3d12cb415bc34637f520f71220ad9daaad
Fixed bug in WiredAccessoryObserver preventing correct detection of
docks with digital audio connection (S/PDIF)
Change-Id: I96eeebc53952625d75133ce0af68f4f219bce41d
1. The touch explorer was not canceling long press runnable when a finger
goes down. This was causing system crash in the scenario of one pointer
down and not moving followed by another pointer down. Since the long press
runnable posed when the first pointer went down was not removed it was
sending events with wrong pointer id leading to a crash.
bug:5271592
Change-Id: I40dd7dd21d465ecedd9413f00b3cedc6066fa22d
Touching StatusBar.disable() directly can make the cached value over
in StatusBarManagerService stale. Instead, dispatch DISABLE_BACK
through setSystemUiVisibility() on tablets; it's unused on phones.
Also DISABLE_NOTIFICATION_TICKER when showing secure lockscreen, and
watch for TIME_CHANGED in DateView.
Bug: 5255469
Bug: 5242677
Change-Id: I4efaf9799b2f229f49d7024da5dafceacd5e08bb