Fixed some issues where inconsistent streams of events could
be generated by the dispatcher, particularly when switching from
hovering with one device to hovering with another.
Fixed a bug where the touch pad would fail to generate a new
HOVER_MOVE following a tap event. As a result, the hover event
stream would not resume until the user touched the touch pad
again.
Change-Id: I444dce84641fb12e56a0af84c931520771d6c493
Change NMS parsing to handle extended /proc/ stats formats by pairing
values with header keys. Move TrafficStats to integer tags to match
kernel internals, and offer well-known tags for system services.
Async policy event dispatch from NPMS, and update tests to block for
event dispatch. Narrow app policy to exclude apps signed with system
key, which are usually critical.
Bug: 4948913, 4903489, 4585280
Change-Id: Idb357227ccaa617906411f309371cea18d7bc519
Changed DnsPinger to use the system default DNS if linkprops doesn't
have a dns. This mirrors the behavior of the system overall.
Minor changes to wifiWatchdogService settings.
Change-Id: I8de73cf5bd24bc69343c7d9dc999d198195ec0ec
1. Due to thread interleaving it was possible that
two messages are sent for requesting dispatch of
the same accessibility event and since the first
one sends the event and removes it from the pending
list the second message pulls null during the event
lookup. Look at the patch's comments for a detailed
scenario and rationale of the fix.
bug:4886129
Change-Id: If8b272ceaec7709c659ae502c3a730e63c939172
For now, there is still too much breakage around the kernel's new
qtaguid netfilter.
So no netstats up front.
But enable on the device until wiped:
./vendor/google/tools/override-gservices secure:netstats_enabled=1
adb reboot
Bug: 4903513
Change-Id: I230bd2d4efab85cac5c9abaa7d638c94f5e0c7d6
Signed-off-by: JP Abgrall <jpa@google.com>
This is intended to absorb the cost of the IPC
to the permission controller.
Cached permission checks cost about 3us, while
full blown ones are two orders of magnitude slower.
CAVEAT: PermissionCache can only handle system
permissions safely for now, because the cache is
not purged upon global permission changes.
Change-Id: I8b8a5e71e191e3c01e8f792f253c379190eee62e
When airplane mode is enabled and the phone is rebooted, Bluetooth
should not turn on. Previously the airplane mode setting was ignored
and only the Bluetooth enabled setting was used to determine whether
to enable Bluetooth at boot time. Now, both settings are checked.
Bug: 3404790
Change-Id: I5e3095a94e50825dd469addebef97a7c85041fca
This change alters the conditions under which the onFrameAvailable
callback gets called by the C++ SurfaceTexture class. The new behavior
is to call the callback whenever a frame gets queued that will be
visible to the buffer consumer. This means that buffers queued in
synchronous mode always trigger the callback, as those buffers will
remain pending until they are consumed. Buffers queued in asynchronous
mode will only trigger the callback if there was not previously an
unconsumed buffer pending.
The new behavior means that a consumer should perform a draw operation
exactly once for every onFrameAvailable call that it recieves. This
change also modifies SurfaceFlinger and the SurfaceTexture JNI to
support of the new behavior.
Change-Id: I8b2c6e00961d3d58b11c6af50b555b6e4c5f5b40
Decouple lockBuffer from dequeueBuffer. Add lock_buffer to preview_stream_ops,
so HALs will be fully in charge of managing buffers.
Change-Id: I7b53487d618bdf08ba904c5a0f41af462a7ca773
Signed-off-by: Iliyan Malchev <malchev@google.com>
1. The explorer was injecting up/down touch events to
click with the id of the last pointer that went up
but the prototype i.e. last touch explore event may
not contain this pointer. Since we click on the last
touch explored location then using the action pointer
index of that event is the right approach.
bug:4551506
Change-Id: I73428b09dc014417096a52e667f58768a2871dc8
The purpose of ICameraRecordingProxy and ICameraRecordingProxyListener is to
allow applications using the camera during recording.
Camera service allows only one client at a time. Since camcorder application
needs to own the camera to do things like zoom, the media recorder cannot
access the camera directly during recording. So ICameraRecordingProxy is a proxy
of ICamera, which allows the media recorder to start/stop the recording and
release recording frames. ICameraRecordingProxyListener is an interface that
allows the recorder to receive video frames during recording.
ICameraRecordingProxy
startRecording()
stopRecording()
releaseRecordingFrame()
ICameraRecordingProxyListener
dataCallbackTimestamp()
The camcorder app opens the camera and starts the preview. The app passes
ICamera and ICameraRecordingProxy to the media recorder by
MediaRecorder::setCamera(). The recorder uses ICamera to setup the camera in
MediaRecorder::start(). After setup, the recorder disconnects from camera
service. The recorder calls ICameraRecordingProxy::startRecording() and
passes a ICameraRecordingProxyListener to the app. The app connects back to
camera service and starts the recording. The app owns the camera and can do
things like zoom. The media recorder receives the video frames from the
listener and releases them by ICameraRecordingProxy::releaseRecordingFrame.
The recorder calls ICameraRecordingProxy::stopRecording() to stop the
recording.
The call sequences are as follows:
1. The app: Camera.unlock().
2. The app: MediaRecorder.setCamera().
3. Start recording
(1) The app: MediaRecorder.start().
(2) The recorder: ICamera.unlock() and ICamera.disconnect().
(3) The recorder: ICameraRecordingProxy.startRecording().
(4) The app: ICamera.reconnect().
(5) The app: ICamera.startRecording().
4. During recording
(1) The recorder: receive frames from ICameraRecordingProxyListener.dataCallbackTimestamp()
(2) The recorder: release frames by ICameraRecordingProxy.releaseRecordingFrame().
5. Stop recording
(1) The app: MediaRecorder.stop()
(2) The recorder: ICameraRecordingProxy.stopRecording().
(3) The app: ICamera.stopRecording().
bug:2644213
Change-Id: I15269397defc25cbbcae16abc071c8349c123122
1. Added scrolling accessibility event to provicde feedback
when a view is scrolled.
Note: We need scroll events for ICS since even though we have
touch exploration the user does not know when something
is scrollable and not feedback is provided while scrolling.
bug:4902097
2. Added a text selection change event to provide feedback
for selection changes including cursor movement.
Note: We need the text selection change events for ICS since
even though the IME supports navigation in text fields
the user receives no feedback for the current selection/
cursor position.
bug:4586186
3. Added a scrollable property to both AccessibilityEvent and
AccessibilityNodeInfo. The info has to describe the source
in terms of all properties that make sense for accessibility
purposes and the event has this property (kinda duplicated)
since clients will aways want to know if the source is
scrollable to provided clue to the user and we want to avoid
pulling the info of the source for every accessibility event.
Change-Id: I232d6825da78e6a12d52125f51320217e6fadb11
Complete rewrite of WifiWatchdogService.java. Checking for connectivity and managing wifi upon failure detection.
Change-Id: Ifcb8b5d7e0112cbc2f2282d76fdc93ea15527a44
After unreverting the linkstate change patch, hook up notification handlers
that didn't exist when the first patch was created, like
EthernetDataTracker.java and Vpn.java.
For the observers that handle interfaceStatusChanged(), I made
interfaceLinkStatusChanged() call it so they both do the same thing.
Change-Id: I0077e5e5f48f3932ba98f5bf363243892f2de6cc
Signed-off-by: Mike J. Chen <mjchen@google.com>
This reverts commit 1a7e67190228a8ff3b92e7e5496a8db8ff306cca.
Bring back the changes from Stan Chesnutt regarding link-status-change
notifications. The comment from the original patch was:
Propagate new link-status-change message to any NetworkManagementService
observers. Also fix the syntax of the "interface-status-change" message. Add
a null handler in the ThrottleService and Tethering classes (plus fix names).
Change-Id: I42cbed692024de32275cad234f42ff23ab7e9d8d
Signed-off-by: Mike J. Chen <mjchen@google.com>
And catch the actual errors reported by the other side of NetworkManager.
Change-Id: I9a9393b659d6f896ee1bf40a8deaca7853ef8f94
Signed-off-by: JP Abgrall <jpa@google.com>
Fix issue #4770360: older app compatibility mode is really tiny on ICS phones
We were applying the density compat mode scaling multiple times to
display metrics, causing bad values.
Change-Id: Iafafd9a5e94b9d774cd2715bf968e91602a1bd82
Make the force close dialogs consistent with both the new rules for
wizardy-button bar UI flows and the previous arrangement that people
are used to. Force close = negative/back/cancel, Report =
positive/next/ok.
Change-Id: I212ba172f8076238a1833100b025b6e25a538a65
We were applying the density compat mode scaling multiple times to
display metrics, causing bad values.
Change-Id: Iafafd9a5e94b9d774cd2715bf968e91602a1bd82
During systemReady(), tell netd to enable bandwidth tracking module,
which is used to provide detailed stats and controls.
Change-Id: Iecfd8b17a3b90f5a817d731fbe1c71777681ed6e