If the OTA updates a system app which was previously preopted to a non-
preopted state the app might end up being verified at runtime. That's
because by default the apps are verify-profile but for preopted apps
there's no profile.
Do a hacky check to ensure that if we have no profiles (a reasonable
indication that before the OTA the app was preopted) system apps get
compiled with a non-profile filter (by default interpret-only).
Bug: 30032273
Test: Andreas "has verified that Calin's change to A/B works as expected
and promotes things like SystemUI to speed. From my side, that's
ready to be merged"
Change-Id: I7a052a8ea76cab7f649dc993237ea05534d6c4b9
(cherry picked from commit 0bd7762079)
Add functionality to capture/intercept installd communication, and
use this to return the full communication for dexopt. These parameters
can be used to drive otapreopt_chroot directly.
Keep the old direct invocation alive until devices have transitioned
to a service that exposes this API.
In preparation for renaming of A/B OTA artifacts to include target
slot names.
Bug: 25612095
Bug: 28069686
Change-Id: I14728ee1266f3882cada8f08dd21891ed5f7a0cb
(cherry picked from commit cc241a580c)
To be able to report progress of an A/B OTA dexopt, expose a
progress function that the script can query.
Bug: 25612095
Bug: 29223204
Change-Id: Ie8162946d18f6fa78649a40ad5d3949d31a181cd
(cherry picked from commit bf06232f4d)
Use ParcelFileDescriptor only as an IPC transport
to make sure MemoryIntArray manges its backing fd.
Bug:30310689
Change-Id: Ib3cc13ef4ae2a744e5f7a96099570e0431847bce
(cherry picked from commit fe2462f3a6)
The receive timeout stopped being set incorrect due to commit
c80af6d8. There is an associated CTS regression test in cts/.
Test: Ran CTS test android.net.cts.LocalSocketTest
Bug: 31205169
Change-Id: I99808478946f8eae502c49d2cb83465648b9c904
Add QS tiles to the backup list. Non-system tiles will get removed
since they won't be installed when restore happens.
Change-Id: Iccf6e773384c45bd4d1f10c21aa8af356b3920d2
Bug: 28782938
The following changes are in this commit:
Avoid destroying TextureView surfaces for onStop
bug:30238922
TextureViews will hold onto their backing surfaces, which will allow
them to resume gracefully when the app's surfaces are saved.
Now only resources that are destroyed for onStop are DisplayLists.
(cherry picked from commit 391d560402)
TextureView: destroy layer on destroyHardwareResources event
bug:30468770
(cherry picked from commit 1c16c37d86)
Fix NPE in TextureView
Bug: 30651595
(cherry picked from commit 3c2587f26e)
Fix NPE in TextureView
Bug: 30779663
(cherry picked from commit 7e237189c2)
Fix maps resume being blank
Bug: 30889568
Fixes an issue where mLayer didn't have
the mSurface set on it in certain resume
scenarios.
(cherry picked from commit 03df0834e6)
* changes:
NetworkSelectionStatus: Fix copy constructor
Deprecate QNS network disable reason BAD_LINK
[NAN] API changes/fixes addressing apilint issues
[NAN] Add method to ConfigRequest to determine if non-default
[NAN] Simplify publish/subscribe configuration - merge match filters
[NAN] Udpate NAN API documentation, clean-up visibility
[NAN] Do not expose WifiManager.isNanSupported as new API
[NAN] Update finalize to check and warn user if resources not freed
[NAN] Fix bad merge use rethrowFromSystemServer
Add Log.wtf when transitionTo is used improperly
Ensure BSSIDs are correctly aged out in settings view
[NAN] Provide calling package name to service
Add WiFi toggle prompts - framework
Reenable the unit tests for StateMachine
Remove WiFi related methods from NetworkManagementService
Don't pull in external/junit through mockito
WifiConfiguration: Expose NetworkSelectionStatus strings
Add Bluetooth toggle prompts - framework
[NAN] Add LV utilities (TLV with T size of 0).
[NAN] Fix TlvElement member names - reflect public access.
TetherUtil: Use ConnectivityManager for tethering
[NAN] TLV utilities iterator - throw correct exception
[NAN] Modify arguments from "array, length" to "array"
[NAN] NAN System Api: RTT
Properly disable WiFi tethering
[NAN] Provide inteface MAC address to app.
[NAN] Add (T)LV validation testing
Add IPv6 tethering coordinator
Stop listening for WiFi interface status changes
[NAN] Add validity checks for service name
[NAN] Fix assumption about Strings containing single-byte characters.
[NAN] NAN data-path API: network specifier
DO NOT MERGE StateMachine: remove final from SendMessage
wifi: allow config of default+verbose ring buffers
Don't save the anonymous identity for EAP-SIM/AKA/AKA-Prime
Add a WifiScanner API to listener for ongoing scans
Fix invitation request from persistent GC
SettingsBackupAgent: Remove redundant size parameter
WifiConfiguration: Make NetworkSelectionStatus public
Use WifiManager for wifi backup/restore
Fix race conditions between Tethering and TetherInterfaceStateMachine
WifiManager: Add new API to restore old backup data
Tethering: Own WiFi tethering state and lifetime
IpConfigStore: Changes for parsing old wifi backup
WifiManager: Add new API's for backup/restore
XmlUtils: Add missing readThisByteArrayXml method
Use an ArrayMap instead of HashMap to track tether interfaces
Consolidate cleanup logic in TetherInterfaceSM.TetheredState
Annotate TetherInterfaceStateMachineTest for APCT
Rely on Tethering mutex for TetherInterfaceSM
Rename TetherInterfaceSM to TetherInterfaceStateMachine
[NAN] Add retry count for transmitting L2 NAN messages
Remove dead code from TetherInterfaceSM
Remove transient StartingState from TetherInterfaceSM
Expand test coverage of TetherInterfaceSM
Add demonstration unittest for TetherInterfaceSM
Extract TetherInterfaceSM to its own class.
Make Tethering.TetherInterfaceSM more self contained
WifiManager: add WIFI_MODE_NO_LOCKS_HELD
Create frameworks-base-testutils lib
Clean up class members in Tethering.TetherInterfaceSM
Move android.net.util.IpUtilsTest into a util/ directory
Fix trivial warnings in Tethering.java
Fix some trivial warnings in WifiP2pDevice.java
[NAN] Add support for NAN RTT.
[NAN] Remove OnNanDown notification from API
Remove unused method from NetworkManagementService
WifiConfiguration: Add new selection disable reasons
[NAN] Add type and nullability annotations. Update hide annotation.
[NAN] Add master switch to enable/disable usage of NAN APIs.
[NAN] Re-factor connect/config flow
[NAN] Refactor session lifecycle to clarify API & eliminate race conditions
[NAN] Removed NAN event registration - dispatch all callbacks.
[NAN] Consolidate publish/subscribe callback sets into single set
[NAN] Replace session callback configuration control
[NAN] Expose match style configuration as public API.
[NAN] API cleanup - rename FLAGS.
[NAN] Renamed listeners to callback per API guidelines
[NAN]: API update - consolidate Puslish|Subscribe Data+Subscribe -> Config
NAN: Support multiple instantiation per UID - introduce a client ID.
These are no longer necessary, since WiFi manages its own details.
Bug: 30041228
Change-Id: Ia3824da43367ae74d3f3a204318cfe5470d74957
Test: Compiles
(cherry picked from commit 212b95f587)
This CL fixes an edge case that my previous CL [1] forgot to handle.
The goal of my previous CL was to avoid InputMethodManager from getting
confused by a false focus-in event from temporarily detached Views.
However, my CL forgot to take care of the case where the temporarily
detached View is still focused even after the temporary detach mode is
done.
The bad news is that such a situation is relatively easy to trigger by
having a ListView that has EditText as follows, which seems to be
known to be a common technique in Android developer community to put an
EditText in a ListView.
ListView#listView.addHeaderView(new EditText(context), null, true);
If the ListView is initialized as above, and the EditText has input
focus, View focus and IME focus start to disagree immediatelly after the
ListView's layout is re-evaluated. This is really easy to trigger, for
example just by dismissing the IME window.
In summary, the root cause is that InputMethodManager#focusIn(View) is
now always ignored as long as the View is temporarily detached, under an
assumption that IMM#focusIn(View) will be called back again with a View
that is not temporarily detached when everything is stable. Hence the
fix is to do so by hooking up View#dispatchFinishTemporaryDetach() to
call IMM#focusIn(View) again when the View is actually focused in the
final state.
[1]: Ia79bbd8468f768d546354382b47b39dd31ef7bb5
a4ed0cfcb6
Bug: 30022872
Bug: 30578745
Bug: 30706985
Change-Id: Iecbdb00dcef8c72e4f7b31035c9bf0f4a40a578f
(cherry picked from commit dd228fbb4d)
View attachment calls jumpDrawablesToCurrentState(), so the view state
needs to be set up prior to attachment. For views that are already
attached but are being moved to a new position, manually jump.
Cleans up comments in methods that were modified.
Bug: 29978498
Change-Id: Ica27b2c60ad7ee98b9d1e4912c4f8b8c248af88d
(cherry picked from commit 26489e1688)
The grow logic in SpannableStringInternal#setSpan assumes that the
size of mSpanData is consistent with that of mSpans, in particular
that if the latter doesn't need to grow, neither does the former.
The copySpans() method didn't enforce this, creating an mSpanData
array only big enough to hold the data.
This patch documents the invariant in a comment and enforces it.
Bug: 30359314
Change-Id: Ie25db70a76836e97af8476a7f5c10cb4b976c1cf
(cherry picked from commit 83549088c6)