Added the following APIs to the framework:
VoicemailContracts.ACTION_VOICEMAIL_SMS_RECEIVED
VoicemailContracts.EXTRA_VOICEMAIL_SMS_TYPE
VoicemailContracts.EXTRA_VOICEMAIL_SMS_DATA
VoicemailContracts.EXTRA_VOICEMAIL_SMS_SUBID
TelphonyManager.setVisualVoicemailSmsFilterEnabled()
TelphonyManager.isVisualVoicemailSmsFilterEnabled()
TelphonyManager.setVisualVoicemailSmsFilterPrefix()
TelphonyManager.getVisualVoicemailSmsFilterPrefix()
TelphonyManager.setVisualVoicemailSmsFilterOriginatingNumbers()
TelphonyManager.getVisualVoicemailSmsFilterOriginatingNumbers()
TelphonyManager.setVisualVoicemailSmsFilterDestinationPort()
TelphonyManager.getVisualVoicemailSmsFilterDestinationPort()
TelphonyManager.VVM_SMS_FILTER_DESTINATION_PORT_ANY
TelphonyManager.VVM_SMS_FILTER_DESTINATION_PORT_DATA_SMS
These values are required to implement the VisualVoicemailSmsFilter in
frameworks/opt/telephony
All of the APIs are hidden.
Bug:27816386
Bug:27817303
Change-Id: I07736785da5fece84d1f3d27f270ac6fa94c1c56
am: c96a245e1a
* commit 'c96a245e1a771a2a9b020c14fee90aa60b832318':
Force second measure pass when there is a configuration change
Change-Id: Ic81ffd3b7ea102f8e4e72a3a6c5d779dfb1b009e
am: c2bef7c6e2
* commit 'c2bef7c6e2eade011a73db1abd4acf2ab8b3aca7':
Make sure to pause activity before stopping
Change-Id: I4ae725d3d331cf834da1456d6aebcc702e4ad8d6
am: 26a4627102
* commit '26a4627102e466e3e7831e84e459d95f0ff7778a':
Force second measure pass when there is a configuration change
Change-Id: Icbc841e1641bbe2fabac589a3c60fc3404cda0c2
am: c381c4e8e7
* commit 'c381c4e8e7b7dfc2aed0a662bf56e3d6e512df5d':
Force second measure pass when there is a configuration change
Change-Id: I2586fe3605461b2e6e4d9678afd6436078dab21c
am: c381c4e8e7
* commit 'c381c4e8e7b7dfc2aed0a662bf56e3d6e512df5d':
Force second measure pass when there is a configuration change
Change-Id: I34afe7f97bc141bc4981643f61518d4bcbf29ba7
am: 75179ada54
* commit '75179ada546393cb8929ca9703d39e1151d95ed9':
Make sure to pause activity before stopping
Change-Id: I5020b92b2edbe0ff749d019fbeb81abf2ae49fe9
am: 5f81a3f84c
* commit '5f81a3f84c97999f9eb19291c7b4f67ad8576c7c':
Make sure to pause activity before stopping
Change-Id: I24e550abc72f78904d04d1c0bd2c3a004328555f
Fix this long-standing multi-threading issue in Bundle
when multiple threads are trying to read from a Bundle
and conflict to due unparceling.
There are two critical sections this protects: writing
the bundle in to a parcel (when it is doing this from
the bundle's already parcelled representation), and
unparcelling a bundle into its map of entries.
Change-Id: I5470002f090e63dd623a573da6c204d3b5b661f4
This bug was a corner case of stopping lying about
Configuration#keyboard when "Show software keyboard" is turned on, which
was done by my CL [1] in Android N development cycle.
Previous implementation
if (config.keyboard != Configuration.KEYBOARD_NOKEYS) {
had relied on the fact that the system was lying about config.keyboard,
which is no longer valid. We need to change the behavior of
InputMethodService#onShowInputRequested() depending on
Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD like we did for
InputMethodService#onEvaluateInputViewShown() in [1] to minimize the
impact on stopping lying about Configuration#keyboard.
[1]: Id4d332e3909590c68345e10e1f2e18650efb2eb7
7b739a802c
Bug: 28423439
Change-Id: I8a774cbf61ac706d8446be91b17bceee57a13656
In some cases it is possible for activity manager to request
a resumed activity to stop when it's visibility changes. This
is a valid transition, however we need to make sure to pause
the activity on the client side before stopping it so lifecycle
transition works as expected.
Bug: 28574036
Change-Id: I759b38bbd1c9c3bb0475759bcb638d8223fa504d
It's possible for a call to updateConfiguration() to happen in the middle
of performTraversals(), after the measure phase has happened, but before
the layout phase. During the configuration call, it's possible for views to
have requestLayout() called on them. This can result in the request flag
not getting cleared, because views that have had layout requested, but which
have not yet been measured, may not be told to layout.
The correct flow should be that any code path causing requestLayout() (which
could be anything that calls out to user/app code) should happen before the
measure phase (or cause a second measure to occur). For now, causing the second
measure to occur is a low-risk simple change that fixes the immediate problem.
Issue #28152259 Calling requestLayout from inside View.onConfigurationChanged can cause problems
Change-Id: I3b532eeacc3784d8d21193d01ddd7fa15ac0684e