On some devices the information coming from the touchscreen is very
noisy or otherwise unreliable. Perform some processing on the data
we have to try to provide a smoother experience.
Bug 7267507
Change-Id: I863125f58577f522de05a1361b81c2e42975fd89
USB settings are now isolated per-user, since they revolve around
installed packages. User-specific settings are returned based on
calling user, or referenced by UserHandle passed to SystemUI. Each
settings Context is wrapped as a specific user, so all broadcasts are
sent correctly. Upgrades any existing USB settings to OWNER.
Physical events, like new devices, are routed to the currently active
user. Switch to using AtomicFile when persisting settings.
Bug: 7244888
Change-Id: I8a723ad3d55ac1bff99276c5f3a3f5e8f013432f
Added a new API to determine whether the display supports
protected buffers so that an application can choose a different
content stream or change how it decodes the content so
that it will be viewable on the display.
At present, wifi display does not fully support protected
buffers although this may be enhanced in the future.
Bug: 6986623
Change-Id: If53a53d72b0ec92753cc4b29f99fcb131e00449b
This regression has been introduced by this Change: Ia846de16bbc54f0729608259aa4b530da9404245
- in CHOICE_MODE_SINGLE you need to clear the checked states before doing anything
- rename variables for better readability too
Change-Id: I89b4390e5ebb192ca280fea2c06f991b537a2870
This attempts to fix a bug where the transport control would sometimes be
inoperative. The problem is that we had two transport control layouts
on some devices because they were being declared in the layout file.
The fix is to only inflate the layout once when KeyguardHostView
is created.
Also removes redundant KeyguardStatusView.
Fixes bug 7254833
Change-Id: Iab84e8326ff745ee57be5177ab2561114c8dc6f0
- do not ask for requestLayout() nor invalidate() in View.onMeasure() when
resolving RTL properties
Change-Id: I7961fcb4c046d96391a4e748350573534481ae2b
Includes telephony, WindowManager, PackageManager, and debugging
settings. Update API to point towards moved values.
Bug: 7231764, 7231252, 7231156
Change-Id: I5828747205708872f19f83a5bc821ed0a801cb79
This bug was triggered by user code concurrently mutating the character
array while calling into a drawText method in another thread. When the
value of the array changed, it caused inconsistent state, leading to
assert failures.
This is arguably bad behavior by the user code, but it shouldn't cause a
native crash. The fix is to do a defensive copy of the text into the
key, so the value is guaranteed to remain constant throughout the text
layout process. The change is mostly deletion of code, because there was
an optimization to try to avoid such a copy. That optimization was not
actually effective, however, because the indexOfKey() operation in the
KeyedVector underlying the TextLayoutCache did the copy anyway. Thus,
even though this change looks like it's introducing a copy where there
wasn't one before, the actual performance impact should be nil.
Note that the ability to handle a mutating argument is now part of the
contract for TextLayoutEngine::getValue(), and is now documented. That
contract may change, as the result of future optimization. Also, care
was taken to only use the value after the copy.
Other performance issues with TextLayoutCache are tracked in bug
7271109.
Change-Id: I9c90e8e4d501f3f37e2f22a7851f032808d46fbe
1. We use auto scroll when a view gets accessibility focus.
Pros: Having magnification and TalkBack enabled together (not a common use case)
will have the accessibility focused view on the screen (it is auto panned).
Cons: A blind user can get stuck in a very lock scroll view - not good.
2. We do not auto scroll when a view gets accessibility focus.
Pros: A blind user cannot get stuck in a long scroll view as he has to explicitly
scroll.
Cons: The magnified area will not pan to ensure the accessibility focused view
is visible.
Option one is the better trade off and this change removes the auto scrolling.
bug:7265773
Change-Id: I209b54ed18acad36c1f35b4c09b980e45ec9bbff
Enable safe headphone volume feature for all countries that
do not opt otherwise in their mmc configuration.
Opt out for US.
Bug 7231029.
Change-Id: I2619d627508eb2cd1f73db9242e0cb5efa839a2a
1. The accessibility layer announces user switches. Even though
the initial switch to the owner on a singe user device is a
valid use switch we should not announce it for accessibility.
bug:7264693
Change-Id: Idf022fab6b74c84b7a96bc4ed7c7fee2b83029a6
...java.lang.IllegalStateException: Can not perform this action
after onSaveInstanceStateat android.support.v4.app.FragmentManagerImpl
.checkStateLoss(FragmentManager.java:1300)
Framework fragment manager also needs to be told its state is not
saved earlier.
Change-Id: Ie5bb327fca6208f7eea6146a1b3223c61c9ecef6
When there are multiple activities that respond to MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE
we need to show the disambiguation dialog to the user. However the disambiguation "dialog"
is actully an activity themed as a dialog. Hence, we can't show it in the secure keyguard.
This works around the issue by prompting the user for their credentials directly when the
intent needs disambiguation. This will take them out of keyguard and prompt them for
which activity they want to use.
We'll provide a more robust solution in a future release.
Fixes bug 7109816
Change-Id: I94e643d3cb503e1ce6de24c82400b4d5fcbb9d95