Backport changes related to BitmapRegionDecoder from HoneyComb to
Gingerbread.
Bug: 3309014
////////////////////////////////////////////////////
This is a combination of 7 commits.
Revert "Do not merge."
This reverts commit f7681f84918c27f6a626681ce37ed2a236c44e82.
Change-Id: I46fd710600b1649773eaea2d9abc2b21a592f9a6
Fix a initialization bug in BitmapRegionDecoder.
Change-Id: I6c1151fd34970a84d4de52d664d9a5dc464892c5
Fix segfault when tring to throw IOException.
Change-Id: I530cc4409ba4ca17cec933afad077c5f60ba554f
Fix 3122139, where previewing an attachment for the second time will
fail.
Use AutoFDSeek to mark and restore the position before we read data from
the descriptor.
Change-Id: I3d4f012dce486e19b113bc90a98b94031cfa8195
Add inPreferQualityOverSpeed into BitmapFactory.Options.
The new field allows a developer to use a more accurate by
slightly slower IDCT method in JPEG decode. This in turns improves the
quality of the reconstructed image.
The field by default is not set and thus does not affect existing
applications.
Bug: 3238925
Change-Id: I93d55b7226e47a43e639325cd1a677694d6f2ee4
Unhide inPreferQualityOverSpeed in BitmapFactory.Options.
The new field allows a developer to use a more accurate by
slightly slower IDCT method in JPEG decode. This in turns improves the
quality of the reconstructed image.
The field by default is not set and thus does not affect existing
applications.
Bug: 3238925
Related changes: https://android-git.corp.google.com/g/#change,83291 and
https://android-git.corp.google.com/g/#change,83294
Change-Id: I969f5c413f9b2179454aeb90e18ae8222ee583b4
Correct the API comments.
BitmapRegionDecoder supports PNG as well.
NFC service is now an application service in packages/apps/Nfc.
NFC service is registered through ServiceManager.addService(), and the proxy
object NfcAdapter obtains a handle to it through ServiceManager.getService().
**Important** Had to add new symbols AID_NFC / NFC_UID / android.uid.nfc and
modify service_manager.c, Process.java and PackageManagerService.java in order
to force the com.android.nfc process to take a fixed uid, so that it can use
ServiceManager.addService().
Most of the JNI has moved to packages/apps/Nfc/jni. However NdefRecord and
NdefMessage require some in-process native code, so android_com_NdefMessage.cpp
and android_com_NdefRecord.cpp stay in frameworks/base/core/jni. They link to
a very small library libnfc_ndef.so that implements NDEF message parsing. This
has been added to core.mk so all devices (even without NFC hardware) can work
with NDEF data.
Bug: 3041259
Bug: 3097445
Change-Id: If8f00ce8f2053acfc9319ca366d4a9c02bd396e6
Signed-off-by: Nick Pelly <npelly@google.com>
Fix 3052285 by not publishing the BitmapRegionDecoder API until the honeycomb release.
Bug: 3052285
Change-Id: Ie339e414c1a5581e1d38684621e0e97162616977
1. Rename LargeBitmap to BitmapRegionDecoder
2. Move the instantiations of BitmapRegionDecoder out of BitmapFactory.
3. Remove the use of MemoryFile in BitmapRegionDecoder, since MemoryFile's API had been modified in master. Otherwise, the change will break the master build.
4. Move AssetStreamAdaptor, AutoFDSeek and nullObjectReturn to Utils.h because BitmapFactory.cpp and BitmapRegionDecoder.cpp both need to use these utility functions.
Most of the modifications, except for (2) and (3), were reviewed in https://android-git.corp.google.com/g/#change,64716 .
However, that change broke the master build due to (3) and was reverted eventually.
So, instead of withdrawing this change and waiting for that change to be checked in again, I merge the two changes into one.
Change-Id: I2202c0fbbbd6d6676bbd9637e690023ea4099c40
Move AssetStreamAdaptor, AutoFDSeek and nullObjectReturn to Utils.h because
BitmapFactory.cpp and BitmapRegionDecoder.cpp both need to use these utility functions.
Change-Id: I3e60c7fe4abd0289e1384e69a08fd20fe6fb0e10
This change is the result of three cherry-picks:
- Add dalvik.vm.gc.preverify dalvik.vm.gc.postverify properties.
git cherry-pick --no-commit 0ef82fcf
- Add the property dalvik.vm.gc.verifycardtable to set the -Xgc:-Xgc:verifycardtable option for the vm.
git cherry-pick --no-commit 8b4faf54
- Eliminate short JIT debugging properties
git cherry-pick --no-commit 57a673fc3db9d84908467ae6d245fd60d4637b2f
Change-Id: I5f8002ed1e431344570add02f58e2641c8fae549
* Unhide StorageService class; hide all the USB-related items
* Add application-visible API to StorageManager for OBB files
* Add class for parceling OBB info across binders (ObbInfo)
* Add a JNI glue class to libutils/ObbFile (ObbScanner)
* Add API to MountService to deal with calling into vold and checking
permissions
Change-Id: I33ecf9606b8ff535f3a2ada83931da6bbef41cfd
Target identification is now fully native.
Fixed a couple of minor issues related to input injection.
Native input enabled by default, can be disabled by setting
WindowManagerPolicy.ENABLE_NATIVE_INPUT_DISPATCH to false.
Change-Id: I7edf66ed3e987cc9306ad4743ac57a116af452ff
Rather than polling for events from the native code in an event thread,
we now require the GPS HAL libraries to call our callbacks from a thread
that is registered with the JVM to call directly into Java.
This eliminates a thread from our code and removes one step in the chain
of message passing from the GPS to the Location Manager client.
Change-Id: I2745a157690310ba9a699a8369f54a7366c6b1ba
Signed-off-by: Mike Lockwood <lockwood@android.com>
The old dispatch mechanism has been left in place and continues to
be used by default for now. To enable native input dispatch,
edit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy.
Includes part of the new input event NDK API. Some details TBD.
To wire up input dispatch, as the ViewRoot adds a window to the
window session it receives an InputChannel object as an output
argument. The InputChannel encapsulates the file descriptors for a
shared memory region and two pipe end-points. The ViewRoot then
provides the InputChannel to the InputQueue. Behind the
scenes, InputQueue simply attaches handlers to the native PollLoop object
that underlies the MessageQueue. This way MessageQueue doesn't need
to know anything about input dispatch per-se, it just exposes (in native
code) a PollLoop that other components can use to monitor file descriptor
state changes.
There can be zero or more targets for any given input event. Each
input target is specified by its input channel and some parameters
including flags, an X/Y coordinate offset, and the dispatch timeout.
An input target can request either synchronous dispatch (for foreground apps)
or asynchronous dispatch (fire-and-forget for wallpapers and "outside"
targets). Currently, finding the appropriate input targets for an event
requires a call back into the WindowManagerServer from native code.
In the future this will be refactored to avoid most of these callbacks
except as required to handle pending focus transitions.
End-to-end event dispatch mostly works!
To do: event injection, rate limiting, ANRs, testing, optimization, etc.
Change-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25
Merge commit 'df2e2eff9446c0220515fa7aab7857135e04e12e' into kraken
* commit 'df2e2eff9446c0220515fa7aab7857135e04e12e':
Watchdog now records kernel stacks when it fires
The kernel threads are appended to the usual /data/anr/traces.txt file
and dropboxed along with the usual Dalvik stack dumps.
Change-Id: I120f1f5ee54c965efe9ac0c7f40fdef56385f1fa
NOTE: this change depends on the kernel publishing /proc/$PID/stack
MessageQueue now uses a socket for internal signalling, and is prepared
to also handle any number of event input pipes, once the plumbing is
set up with ViewRoot / Looper to tell it about them as appropriate.
Change-Id: If9eda174a6c26887dc51b12b14b390e724e73ab3
This is a rough sketch of the new pure-native API, which you can
use through a NativeActivity in your manifest (no Java code in
the .apk needed!).
Intentionally no docs yet, the API is still being seriously
messed with. But it works.
Change-Id: I0e916d58a0d159ecaf3689e41834eb8dc681c0c0
Merge commit '15feb4defc61c7bded6fdd3ea1c3781f25666275' into kraken
* commit '15feb4defc61c7bded6fdd3ea1c3781f25666275':
Remove code to pass the nonexistant lockprofsample flag to Dalvik.
Merge commit 'c1420832a8f9c7fa62b143ce63c71062b3969c1b' into kraken
* commit 'c1420832a8f9c7fa62b143ce63c71062b3969c1b':
Change TrafficStats to a new JNI implementation.
Also change phone's ConnectionStateTrackers to use it directly,
rather than through the INetStat binder interface.
Bug: 2578938
Change-Id: I8858e2609cbec3be845a0ce5178cb03f67e01b41
Sometimes shell commands like "am" return before the framework stuff
really finishes initializing (e.g. if you give it no arguments so you
can see the usage info). The runtime used to print the dire and
uninformative message:
E/AndroidRuntime(): ERROR: thread attach failed
With this change it's a bit more subdued:
I/AndroidRuntime(): NOTE: attach of thread 'Binder Thread #2' failed
Ideally it wouldn't get logged at all when it's "expected", but that
requires actual code changes.
The lights support is only needed by PowerManagerService and NotificationManagerService, so we do not need a Binder API for it.
Move backlight and notification light support to new LightsService class.
The camera flash is now handled directly by the camera HAL, so the flash Hardware service flash support is obsolete.
Change-Id: I086d681f54668e7f7de3e8b90df3de19d59833c5
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit '483ae6328701d29e9731af25c64b09b1e18bc2e7'
* commit '483ae6328701d29e9731af25c64b09b1e18bc2e7':
maintain cache of statementids returned by sqlite upon compiling a sql stmnt
Split BluetoothDevice into BluetoothDevice and BluetoothAdapter.
BluetoothAdapter: Represents the local BT adapter. Operations on the local
adapter (start a scan, etc).
BluetoothDevice: Represents a remote BT device. Operations on remote devices
(pair, connect, etc).
IBluetoothDevice.aidl -> Bluetooth.aidl
BluetoothDeviceService.java -> BluetoothDeviceService.java
TODO:
Javadoc
Merge commit '16ce3504c5bf98d95d5c36001f755bb4b15253c9'
* commit '16ce3504c5bf98d95d5c36001f755bb4b15253c9':
Make RestoreHelper and friends also write out the snapshot state.