- ContactHeaderWidget has cascading async queries, which weren't cancelled if a new query for a different phone number is started.
If the new query fails to find a corresponding contact, the old async queries from the previous number could end up setting the
contact name and photo to the wrong contact.
I tested this by calling
ContactHeaderWidget.bindFromPhoneNumber(number1);
ContactHeaderWidget.bindFromPhoneNumber(number2);
where number1 has a corresponding contact in the databse, and number2 doesn't. At the end of these 2 calls, the ContactHeaderWidget
would display the contact info for number1.
- also found a bug in AsyncQueryHandler.cancelOperation(), which doesn't reliably cancel the previous query. In ContactHeaderWidget's
case, we really depend on the cancelling to work. So work around this bug by resetting mAsyncQueryHandler when we need to do a
new lookup/query. When the old query result is passed back in the callback, discard the result if the QueryHandler is not the same
as mAsyncQueryHandler.
Change-Id: Ice79e77f787af03400e080cbd58162a91838181f
for the width/height on each touch down as orientation
can change.
This should fix the problem where we can't pinch on the
top right corner when device is in landscape mode.
Just scale the canvas instead of changing the real
scale factor during pinch.
Added over limit zoom feedback for pinch in the WebView.
Fix http://b/issue?id=2383539
Make sure the mZoomOverviewWidth is as least as
wide as the current (adjusted) view width.
This should fix the weird state Bart got in with
m.wikipedia.org.
give up the control. This should enable the View behind
it, like WebView, will always get the multi-pointer
events even when ZoomButtonsController is up.
The previous workaround for this race condition prevented glitches by postponing drawing the SlidingTab until the internal state was consistent.
Unfortunately, the InCallScreen seems to trigger this most of the time if the keyboard is open or the last application was in landscape mode.
Instead, we'll handle this separately in lockscreen.
When adjust scale for zoom overview, keep the state
of whether textWrapScale is matching mActualScale.
So if user pinch during loading, we won't reflow.
Fix http://b/issue?id=2370552
If mViewportWidth is 0, it means screen width. If
textwrapWidth is not same as view width, which means
that we are in the state triggered by pinch, always
send textwrapWidth as width to WebKit to keep the
same layout.
Fix http://b/issue?id=2375232
Use the common ScaleGestureDetector to detect the
multi-touch motion.
Check both supportZoom and getBuiltInZoomControls
to decide whether enable the multi-touch behavior.
This should the new pinch behavior only replace the
old +/-.
Fix http://b/issue?id=2363260
Only update textWrapScale if it is different. This
should fix the performance decrease caused by initial
multi-touch code.
Fix http://b/issue?id=2371694
Couple of tweak for multi-touch in WebView.
1. If we can't zoom, don't get in multitouch mode.
This avoid the logo in google.com looks fuzzy.
2. Reset mAnchor after sending VIEW_SIZE_CHANGED.
3. Don't call zoom when finishing multitouch unless
zoom is called before.
4. Change the width for nativeSetSize, which was modified
in the last check-in. The new logic should make both
msn.com and news.google.com looks correct.
5. Use the pressure instead of distance/time to filter
out the jitter just before lifting the finger.
Fix http://b/issue?id=2360032
Currently we just handle a simple pinch action. We
will wait for framework support for more complicated
gesture.
When pinch in the webview, zoom level will be changed
on the fly. But we won't re-wrap the text until user
action like double tap, rotate screen.
Double tap will re-layout the page and wrap the text
to the screen width. We try to keep the spot you
tapped at the same place on the screen after relayout.
If the block after relayout fully fit on the current
screen, we will center it for easy reading.
Fix http://b/issue?id=2360032
Move reset of A2DP suspend state from handleSinkStateChange() in BluetoothA2dpService to
BluetoothA2dp.ACTION_SINK_STATE_CHANGED intent receiver in AudioService.
Previous implementation could cause a false reset of suspend state if a new sink attempted to
connect while A2DP was suspended.
New implementation only resets A2DP suspend state when a new sink is actually connected.
When ContactHeaderWidget.bindFromPhoneNumber is called with a number
that's not in contacts, onQueryComplete takes a path that doesn't hide
fields that don't apply to the current phone number. As a result, the
user sees the new number, but old data from the previous display (such
as the facebook status). With this change, those fields are hidden.
Fixes bug 2336977.
Change-Id: Ib6253c18dc58c3d28b463c87d5d195a84d613600
* changes:
docs: update the Bluetooth guide with links to the sample app, scrub the sibling files, and revise the Bluetooth package summary to point to the BT dev guide.
Bluez sends SINK_STATE_CHANGE before onAgentAuthorize, so
we may be already in CONNECTING state. This will happen with
some A2DP kits which don't like us connecting and thus we will
never be able to connect to them.
Bug:2335345
Dr No: Hiroshi