This fixes a bug where the animations in MultiWaveView were keeping references
to bitmaps and preventing them from being reclaimed during GC. The solution
is two-fold:
1. When any given animation completes, it is now removed from the list of running
animators objects.
2. When the client explicitly calls reset(), we release all references to
animators and objects.
Change-Id: Ice434ed1720fe4c253b9607ef61699d41f87f777
Basiaclly two changes included:
- Let CallLog use new data usage feedback API, so that
ContactsProvider2 is able to figure out what type of contact
method is used when a person is contacted.
- introduce phone_only parameter for strequent uri, which enables
Contacts app to obtain a contact list for recently phone-called
contacts.
markAsContacted() isn't used anymore, as nhe new API takes care of
old counters (TIMES_CONTACTED/LAST_TIME_CONTACTED) too.
Bug: 4371572
Change-Id: Ie193bb91ee49b18f4a546a1f52be780bb514301d
A follow up change in voicemail content provider will now
populate this extra instead instead of EXTRA_CHANGED_BY to indicate if
the change was caused by the receiver. This makes the the security of
the notifications a bit tighter by not revealing the package name of the
app that made the change to others.
See Bug http://b/4773134
Change-Id: Ie376c40c7bba9792da3b18e66d9f205166a402e0
b/2689122 SSL error shows the wrong page when triggered by an image/javascript in the page.
This change receives the URL which has a cert error from webkit and carrys it in SslError.
so the Browser app can show the URL in the dialog boxes. Related CLs are:
webkit: https://android-git.corp.google.com/g/#change,117817
browser: https://android-git.corp.google.com/g/#change,117835
Change-Id: I65c3f038a48b6386fa93cb25a9ef70dbfb982c18
- Rename config_enableSlidingTabFirst to config_enableLockBeforeUnlockScreen and
default to 'false' on all devices.
- Use new larger handle asset.
Change-Id: I2537158b67642eb3f4c4a22a0bc388bf3022d408
When there are no paired devices, pairing a new device
will cause a crash since the profile proxies will be null.
Change-Id: Ie1a9fd198e46d7e9cc2ba1b2f3a806b3c709f568
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
1. AccessibilityInjectorTest changes the key bindings and when done
restores the defatult ones. The restoreation was not working.
bug:4905620
Change-Id: I812bad0b748637ded0ce69ace12517511f62f726
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
- enable OwnerInfo to appear in status1 if dedicated view not present.
- force all status lines to be singleline and marquee.
- fix justification in landscape layouts.
- use buttonBarStyle for buttons on all LockScreens.
- reduce the size of the clock to fit in landscape.
- no longer show "Draw a pattern to unlock" help message in LockPatternView.
Change-Id: I1ff51550e2180f9d912c8f710ad5e2fd2424d373