This takes care of allowing us to cancel the back button. The
back button is a bear because it is strewn all over the place --
everywhere you can close something, there is some code looking
for the back button that now needs to deal with being canceled.
The main things changed are activity (of course), dialog,
input method, search dialog. There are some other misc places
in the framework (and some I missed here that I will get in a
second pass).
To facility all of this, the key dispatching APIs now provide
a lot more support for dealing with looking for cancelled keys,
and incidentally also provide an actual API for catching long
key presses. This also helped clean up the code in PhoneWindow
where it deals with all of the combinations of key pressed and
releases. (And also allows people to override
Activity.onKeyLongPress() to provide a different long press
action for a standard key like search.)
And while I was doing this, I reworked how we detect long
presses by having this be part of the key event delivered by
the window manager. This should greatly reduce (hopefully
outright eliminate) the problems with long presses being
mis-detected when an application is being slow.
Change-Id: Ia19066b8d588d573df3eee6d96e1c90fdc19f57d
Now that we are using preloaded drawables in compatibilty mode, when
constructing them from their constant state we need to set the new
drawable's target density appropriately.
Change-Id: I3665cbea09d38b9ac5f45f8c380dc8641f86b266
First, fix some issues with the final wallpaper bitmap
we use: ensure it is always 16bpp, and make sure dithering
of its bitmap is turned off. We take of dithering
when loading, to make sure we don't use it when drawing.
Also add new APIs to return the wallpaper with the equivalent
of Launcher's old FastBitmapDrawable. As doing this, also load
the default wallpaper the same way as custom ones, taking care to
resize it as needed at load time.
Finally implement a mechanism for the window manager to wait
for the wallpaper to redraw at its new position before returning
from the application's call to change the offset. This ensures
that the wallpaper better tracks the application. Note that there
is a timeout in this wait that is relatively short, and if it
expires we will run for a while without waiting.
Change-Id: Ife449437746da85958bd447e0a6cf3d2223b398c
Dragging and flinging have different minimums for the max Y
value. Allow the fling to have the title height instead of zero
for the minimum max Y so the title can always be removed via
fling.
This fixes http://b/issue?id=2109006
The underlying ProgressBar implementation doesn't know how
to correctly update the thumb graphic, so AbsSeekBar must
call invalidate() at key moments to ensure things look
correct. This bug is one such instance: when you pick your
finger up off the seekbar, the "value" of the progressbar
appears not to change, so ProgressBar feels no compunction
to repaint. AbsSeekBar now invalidate()s on ACTION_UP and
ACTION_CANCEL to ensure that the thumb is correctly drawn.
* changes:
Use floor to calculate the range to avoid the rounding error triggered scrollbar. The worst case is that you can never scroll down to the last pixel. The old special case can cause problem when getViewWidth/Height have changed which do not match mLastXXSent any more.
mlebeau says:
"Basically, because we now show the app icon for in-app
search, showSearchIconAsBadge is a bit unnecessary, but it does in
fact still work. Basically if either showSearchIconAsBadge or
showSearchLabelAsBadge are specified, we grow the height of the search
bar and place the provided icon or the provided label, respectively,
above the text field and app icon. But we do not remove the app icon
if the developer specifies showSearchIconAsBadge - it's still just the
'badge area' above the icon."
Fixes:
http://b/issue?id=2105329
"Deprecate searchable attributes 'showSearchIconAsBadge' and 'icon'"
Change-Id: Ie2976aafe42b4ab870be9e64b34eb0ed441ebbb0
+ For bug 1810508
- Added PerformanceCollector class to collect runtime and memory usage data
* Moved performance snapshotting from Intrumentation to PerformanceCollector
- Added PerformanceResultsWriter interface which defines functions for
reporting performance data
+ Framework integration
- Added TimedTest annotation to automatically time tests and write results
to instrumentation output
- Modified PerformanceTestBase to add collection hooks and wrapper methods
- Modified WatcherResultPrinter in InstrumentationTestRunner to implement
PerformanceResultsWriter for instrumentation output of performance data
- Modified InstrumentationTestRunner and AndroidTestRunner to pass writer
instance to test
* Remove several nonportable telephony settings from the set to be included in
the backed-up dataset
* Explicitly ignore those settings if they're encountered during a restore
operation, so that we don't inadvertently do things like configure a GSM
phone to use CDMA logic.
scrollbar. The worst case is that you can never scroll down to the last
pixel. The old special case can cause problem when getViewWidth/Height
have changed which do not match mLastXXSent any more.
Remove FIND_HEIGHT from computeVerticalScrollRange per conversation with Leon.
Change computeMaxScrollY to use computeVerticalScrollRange which matches
how it computes X.
Change onMeasure to use contentToViewDimension() as it has the same logic.
1) Handle incoming 2.1 pairing requests
2) Modify displaying error messages on bond failures.
3) Add delay while accepting incoming pairing for certain 2.1 devices.
When MITM is on, the link key request might come more than once.
Auto accept with a delay.
4) Handle DisplayPasskey callback for pairing a 2.1 keyboard with
a 2.1 device
Remove the stuff that doesn't use preloaded drawables when in
compatibility mode, since this works fine ever since we were able
to deal with drawables in a different density than the canvas.
Change the snapshot function on View to return a snapshot at
the same size that will actually be drawn on screen (when in
compatibility mode), to be able to show scaling artifacts and
all.
This change was original an attempt to fix issue #2101917: Text
field edges appears to be improperly rounded. That turns out to
probably be something deeper in the graphics system, but also
included here is the debugging code I did to try to track down the
problem to make it easy to turn on again later.
Change-Id: I34bfca629639c7ff103f3989d88874112ef778d9
This is the framework part of http://b/issue?id=2099399
"executing a search in QSB should create a shortcut (like
when you click on a search suggestion)"
Change-Id: I2d07d9bfc808112948629ca16b24bc870fbd5fa6
add Searchable resource information to the Available Resources doc
and update some some of the attribute documentation to indicate
that the icon label is not recommended.
and fixing merge issue...
Change-Id: I1b1a62aa9804f4a0bf2f93328dde90b9f7aec50a
This is a large batch, and covers:
-- Bluetooth Device Discovery --
BluetoothAdapter.ACTION_DISCOVERY_STARTED
BluetoothAdapter.ACTION_DISCOVERY_FINISHED
BluetoothAdapter.startDiscovery()
BluetoothAdapter.cancelDiscovery()
BluetoothAdapter.isDiscovering()
-- Bluetooth bonding (pairing) --
BluetoothAdapter.getBondedDevices()
BluetoothDevice.ACTION_BOND_STATE_CHANGED
BluetoothDevice.EXTRA_BOND_STATE
BluetoothDevice.EXTRA_PREVIOUS_BOND_STATE
BluetoothDevice.BOND_NONE
BluetoothDevice.BOND_BONDING
BluetoothDevice.BOND_BONDED
BluetoothDevice.getBondState()
BluetoothDevice.createBond()
BluetoothDevice.cancelBondProcess()
BluetoothDevice.removeBond()
-- BluetoothClass --
BluetoothDevice.ACTION_CLASS_CHANGED
BluetoothDevice.EXTRA_CLASS
BluetoothDevice.getBluetoothClass()
BluetoothClass.Service.*
BluetoothClass.Device.Major.*
BluetoothClass.Device.*
BluetoothClass.getDeviceClass()
BluetoothClass.getMajorDeviceClass()
BluetoothClass.hasService()
-- Misc BluetoothDevice --
BluetoothDevice.ACTION_ACL_CONNECTED
BluetoothDevice.ACTION_ACL_DISCONNECTED_REQUESTED
BluetoothDevice.ACTION_ACL_DISCONNECTED
BluetoothDevice.ACTION_DISCOVERED
BluetoothDevice.ACTION_NAME_CHANGED
BluetoothDevice.EXTRA_DEVICE
BluetoothDevice.EXTRA_NAME
BluetoothDevice.EXTRA_RSSI
-- Misc BluetoothAdapter --
BluetoothAdapter.ACTION_LOCAL_NAME_CHANGED
BluetoothAdapter.EXTRA_LOCAL_NAME
BluetoothAdapter.checkBluetoothAddress()
I deprecated BluetoothIntent and moved each intent into the class it relates
to.
Change-Id: I877b1280428ab46278b2bc25668bb44cda22dc36
Also pretend to fix#2054990 (com.android.frameworktest: java.lang.NullPointerException
at android.accessibilityservice.AccessibilityService$IEventListenerWrapper.executeMessage(
AccessibilityService.java:215))... simply by making the variable that apparently was
null final, to assure myself that there is no possible way in the world for it to be
null. :p
Change-Id: I73e337d65b8360721896a0296691257b3e47564b