Drag and drop (as well as window positioning by drag)
was broken by commit 6213caa. Drag-related window
handles got wiped out by a call to clearInputWindowHandlesLw.
Bug: 33499942
Test: cts-tradefed ... android.server.cts.CrossAppDragAndDropTests
Change-Id: I2504b1b6623fc8551c8110606c06156e49bfc63d
We tried to fix this issue in I83357975c87c704af9d0702c939ca99984462365
but the fix introduced other problems. So, we are going to have sys-ui
create a separate binder for object for each type of window it adds.
Long term we want to allow one binder object to map to multiple window
tokens on the same display in window manager.
Change-Id: Iee53b8bf95b87f79ab7a1b574a54111c678f7413
Fixes: 33567674
Fixes: 33538278
Test: bit FrameworksServicesTests:com.android.server.wm.DisplayContentTests
To understand this change it's first helpful to review Toasts.
The ViewRoot is constructed on the client side, but it's added,
to a window token controlled by the NotificationManagerService.
When we call NotificationManagerService#cancelToast, the system
will remove this window token. With the window token removed,
the WindowManager needs to destroy the surface to prevent orphaned
windows. If we destroy the Surface before removing the toast on the
client side however, we've never asked the ViewRoot to stop rendering
and we could have a crash. To solve this we just have to ensure we call
removeView before cancelToast.
Bug: 31547288
Bug: 30150688
Change-Id: I96672b0ac07ff18e9f51348f2ed42913c5a5226f
TelephonyManager.getSimState(slotIdx) and
TelephonyManager.SIM_STATE_CARD_RESTRICTED.
It is needed for OobConfig app unbundling.
Bug: 33479833
Test: run cts -m CtsTelephonyTestCases
Change-Id: I375f436bc4e1dcedc0656866a0838c7bf5948422
- For all camera2 paths, and anything shared between the legacy API and
camera2, switch to using String for camera IDs.
- Remove assumption that camera device IDs must be a dense set of small
integers, and rewrite the camera ID query methods
- Change operation of ICameraService.addListener: it now returns the list of
available devices directly, instead of invoking callbacks. This is
needed to ensure an up-to-date list of cameras is immediately available
on connection to the camera service.
- Add new CameraStatus object to use as the addListener return value
- Update tests to work with new interface
Test: cts-tradefed run cts -m Camera --skip-connectivity-check -d -o --abi armeabi-v7a --disable-reboot
Bug: 32991422
Change-Id: I6ff4a5dd014c6aefe0750850eeece6f3267a3e5b
It looks like one operation was done out of order and some of the times used in
the calculations were leading to incorrect results.
BUG: 31023263
Test: bit FrameworksCoreTests:com.android.internal.os.BatteryStatsDurationTimerTest
Change-Id: I417cc28c5a55748067b6c7f682a66fe3dbc09f09
Clusters:
We need clusters to limit the size of the “tab loop” by
widgets related to the current context: working in the
app’s client area, choosing a command in the action bar
etc.
Clusters are a generalization of the current action bar’s
behavior.
An activity can have several clusters.
A cluster is a view or a view group group marked as such.
Pressing Tab loops inside the cluster, but you can exit it via
arrows.
You can teleport between clusters via special key combos.
Sections:
Sections live inside clusters.
They are needed for simplifying navigation in complex
hierarchies: instead of tabbing or arrowing, you can simply
teleport to the the next/previous section by pressing a
special key combo.
Example: think about panes in GMail app or dir/files
panels in a file manager.
Otherwise, sections are normal view groups: for example,
they don’t limit keyboard navigation in any way.
Bug: 32151632
Test: Checking for syntax errors and that Android starts.
Change-Id: Ic78495d0749db65d5177017553d37f870354c6bc
Adds connectivity notification back for SUPL specific
case, needed esp. for case where WiFi is off and a
general purpose connectivity notification doesn't fire.
Bug: 33350903
Fixes: 33350903
Test: On device GPS-still-works checked, as well as notifications
going into HAL on airplane mode on/off, and SUPL call flows
(Further AGnssRil check to be done by partners)
Change-Id: I02af0b839d0bfd21dfefedff743208e02ab9c2dd
This ensures that platform and security features that are gated by
targetSdk are all enabled for ephemeral apps.
Test: adb install --ephemeral succeeds for CUR_DEVELOPMENT, fails for
N_MR1
Change-Id: I41b9ccc4995ba07d9a0c11b2918fa24c71892330