The order of finalization between the parcel and the UsageEvents
objects is not defined. In the bad case, the parcel will be
finalized first and destroy its native pointer, after which the
UsageEvents object will recycle it, putting it back into one of
the Parcel pools. This will violate the pool invariant.
Bug: 22088355
Change-Id: Ifbe7822990cdfc31855d6742dcdea9d9dd0daf1b
Fixed by making sure to update visibility immediately after setting a
hide flag on the FloatingToolbarVisibilityHelper.
Bug: 22101632
Change-Id: Iea2d9786c14f6451da836e55f0d880025aa00ed2
Move reachable DNS server computation out of ConnectivityService
and split it into LinkProperties#isReachable() and a companion
change in WifiStateMachine's makeLinkProperties().
Restore previous ConnectivityService#updateDnses() behaviour, as
the pruning is done in WifiStateMachine now.
Bug: 19470192
Bug: 20733156
Bug: 22098233
Change-Id: I810ef74d504e5dc1ca2017d435cdadd6b82171e6
The default SMS, Phone, Browser are selected in the UI and we
grant default permissions to these. We do this regardless if
they are on the system image as the user has made an explicit
choice in the UI and the permission we grant are considered
essential for such type of a core app to operate properly.
bug:22104986
Change-Id: Ide8caeb524b43dde11a20460666cf34c4d35f84b
Current code does not map pay phone and unknown
presentation with OIR.
Add code to map pay phone and unknown presentation
with OIR correctly.
Bug: 22123243
Change-Id: I7610db8547a0f0f5529c2627879047dd9a45cf9f
This enforces the randomized encryption requirement (IND-CPA), if
requested, when generating asymmetric key pairs. Whether randomized
encryption is used depends on the encryption padding modes authorized
for the key pair. Thus, if randomized encryption is required, the
KeyPairGenerator must reject attempts to generate keys authorized for
encryption using non-compliant padding schemes.
This is similar to the existing check in AndroidKeyStoreImpl during
asymmetric key import.
Bug: 22179911
Change-Id: I3d85367259c17bd44198a736ace853d0d3567d5e
Bug 22174959
According to FragmentTransaction's reference, replace()
should be equivalent to remove()'ing every fragment in
a given container and then adding the specified fragment
to replace those that were removed.
Commit ee76efb74b5886f98cdfebfbefe9b69224e016fb broke
this intended behavior in the framework.
This patch makes it so that the removal loop doesn't
end prematurely. It also fixes an issue where the
replace operation would remove fragments regardless
of their container after encountering the first fragment
with a matching container ID.
Relevant issues:
http://b.android.com/43265http://b.android.com/52112http://b.android.com/53393http://b.android.com/68856http://b.android.com/70803
Change-Id: Ica4691746ab8979ed974a998e85324e4feacc5e3
Signed-off-by: Eddie Ringle <eddie.ringle@gmail.com>
Use ACTION_CLOSE_SYSTEM_DIALOGS as an additional signal to immediately
dismiss the volume dialog, if showing. Otherwise nav bar navigation
will not immediately dismiss the dialog.
Bug: 22173890
Change-Id: I3eee85a4579b4673b19402cf0f4048068009be35
In practice we only see failed transactions with small payloads when
the remote dies while the binder operation is in flight. Throw the
applicable exception type rather than the generic "oops binder went
haywire" one.
Bug 22104446
Change-Id: I785c15617db7a1f4d505aa11f16e61551c8357ba
Define a new extra, AudioManager.EXTRA_VOLUME_STREAM_TYPE_ALIAS, to be
sent along with the volume change intent, VOLUME_CHANGED_ACTION.
When sending VOLUME_CHANGED_ACTION, attach the stream type alias.
Bug 17955277
Change-Id: I04fd279e223504e3ee1581086d7e9205344a6808