summaryrefslogtreecommitdiffstats
path: root/include/android_runtime
Commit message (Collapse)AuthorAgeFilesLines
* Allow debugging only for apps forked from zygoteSebastien Hertz2015-08-101-2/+2
| | | | | | | | | | When starting the runtime from app_process, we only pass JDWP options if starting zygote. It prevents from opening a JDWP connection in non-zygote programs while Android apps (forked from zygote) remain debuggable. Bug: 23050463 Change-Id: If8ea719063a65db4cdeed69a838b52e87b078b08
* ImageFormat: add PRIVATE formatZhijun He2015-03-301-0/+1
| | | | | Bug: 19865019 Change-Id: I1a9335fe1733a5b28d9cb20485b509fb216cb52b
* Add DEPTH image formats, support in ImageReaderEino-Ville Talvala2015-03-091-0/+42
| | | | | | | | | | - Add an explicit mapping between public ImageFormat/ PixelFormat enums and internal HAL format/dataspace. - Add DEPTH16 and DEPTH_POINT_CLOUD formats - Wire up mapping layer to ImageReader to support depth formats Change-Id: I8197eccef900cc91baddcfcb934ccd4d8c972eff
* Merge "USB string descriptors are not UTF8, so it is not safe to treat them ↵Mike Lockwood2014-09-191-0/+3
|\ | | | | | | as such." into lmp-dev
| * USB string descriptors are not UTF8, so it is not safe to treat them as such.Mike Lockwood2014-09-081-0/+3
| | | | | | | | | | | | | | Add AndroidRuntime::NewStringLatin1() to convert non-UTF8 strings to Java strings. Bug: 17427781 Change-Id: I7df1d4e94a7beebc8b1a74c0c0a163b794025ae8
* | Clean entire arg block when setting process name.Jeff Brown2014-09-111-3/+1
|/ | | | | | | | | | | | | | When Android processes fork from Zygote, we rewrite the command line with a new name, eg. "system_server". When we do this, we should fill the entire block with zeros to remove corrupted argument information that may otherwise remain in the /proc/<pid>/cmdline buffer and be seen in tools and stack dumps. Fixed an issue where VM options could be overwritten after setting the nice name if the name was too long. Bug: 17474152 Change-Id: Ie6cf9ed7752a04300a340e26cd6812bb35c59e1b
* Disable compilation based on vold.decrypt. [frameworks/base]Brian Carlstrom2014-08-061-0/+1
| | | | | | | | Bug: 15165413 (cherry picked from commit 4fd561637a173c7fa6a1d71e9115db1db90514ff) Change-Id: I2a13b63f9d4a7ffd69a8d21666c6dce84739c6ed
* Move from dalvik.vm.image-dex2oat-flags to dalvik.vm.dex2oat-filter ↵Brian Carlstrom2014-08-061-0/+4
| | | | | | | | | | | | [frameworks/base] This will allow us to conditionally change the compiler-filter based on other properties. Bug: 15165413 (cherry picked from commit f60d3a4702f6d00d7edb5d348c53b9b03ae16b76) Change-Id: I293c81ba817e9abbf9c05b3fb554ef2f0ad0c4ed
* am ce75618e: am 5aba0149: am b85afb38: Merge "Make dex2oat heap size product ↵Brian Carlstrom2014-07-091-0/+8
|\ | | | | | | | | | | | | configurable [frameworks/base]" * commit 'ce75618e12deebe302c551281ce56c0d60138e0f': Make dex2oat heap size product configurable [frameworks/base]
| * Make dex2oat heap size product configurable [frameworks/base]Brian Carlstrom2014-07-081-0/+8
| | | | | | | | | | Bug: 15919420 Change-Id: I9b7b4f60826fc9b0cc6bb3765ceaa36542425006
* | camera2: Plumb DngCreator to native library.Ruben Brunk2014-05-161-0/+34
|/ | | | Change-Id: Ic58bf6cf5086808b503460ef8e451fc0d6f1f850
* Clean up argc / argv processing for runtime args.Narayan Kamath2014-04-091-3/+2
| | | | | | | | | | | | - Make copies of argc, argv before argv is potentially overwritten with the process name. - Allow multiple command line arguments to be passed to ZygoteInit (this is required for some of the 64 bit zygote work). - Add an explanatory comment about how these argments are processed. Change-Id: I752be69c5c0f97ed17d1a3dded19f46ee00929b0
* Remove ProcessState::mArgc,mArgV,mArgLenNarayan Kamath2014-04-031-1/+5
| | | | | | | | | | | | These look like historical oddities, and weren't really being used for anything useful. Process:setArgV0 was being called by android.util.Process, but that functionality can be moved directly into the implementation of that class. bug: 13647418 Change-Id: I216c8f8a4c065f0cf3a61f19f9e32decd26f93f6
* Add dex2oat-flags plumbing to AndroidRuntimeBrian Carlstrom2014-03-041-1/+1
| | | | Change-Id: Idaa7e5351e146d76e1972cbe4d93af69f0b999a6
* Remove dependency on JNIHelp header side effects.Ruben Brunk2013-09-101-0/+35
| | | | | Bug: 10680559 Change-Id: I47870d6c48906e0a420c52b7bc5945ffe29c68a2
* Clearly separate consumer and producer interfacesMathias Agopian2013-08-061-2/+5
| | | | | Bug: 9265647 Change-Id: Ic68e91788d0a05251e1d2fb9f9d4de403c7099bf
* Move input library code to frameworks/native.Jeff Brown2013-07-011-1/+1
| | | | | | | | | No longer compile libandroidfw as a static library on the device since it already exists as a shared library. Keeping the static library would force us to provide a static library version of libinput for the device as well which doesn't make sense. Change-Id: I3517881b87b47dcc209d80dbd0ac6b5cf29a766f
* Rewrite input handling for native applicationsMichael Wright2013-04-222-103/+85
| | | | | Bug: 8473020 Change-Id: Ic4353d8924ab877bec21aff8c2dba9fe725bf906
* clean-up following Surface splitMathias Agopian2013-02-151-1/+1
| | | | Change-Id: I853a76d92d957ee38a36fcdd280d6407ec316987
* Rename ISurfaceTexture and SurfaceTextureAndy McFadden2012-12-182-6/+6
| | | | | | | | | | The C++ class names don't match what the classes do, so rename ISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to GLConsumer. Bug 7736700 Change-Id: I08e677faf2ebb418ef131d0a8008e01037db0e50
* Add support for Wifi display.Jeff Brown2012-09-071-0/+5
| | | | Change-Id: I99693786cf9d07d07d3400046c55eb4933730b80
* Add plumbing for new surface flinger display API.Jeff Brown2012-08-272-4/+39
| | | | | | | | | | | | | | Cleaned up the implementation of Surface and SurfaceSession to use more consistent naming and structure. Added JNI for all of the new surface flinger display API calls. Enforced the requirement that all Surfaces created by the window manager be named. Updated the display manager service to use the new methods. Change-Id: I2a658f1bfd0437e1c6f9d22df8d4ffcce7284ca2
* Deleted the media, camera, drm related files since they are relocatedJames Dong2012-03-281-31/+0
| | | | Change-Id: I9bc5573ee07e30b305b5b879023aa9ec69e10b91
* If an application calls System.exit() terminate it immediately.Jeff Brown2012-03-151-5/+11
| | | | | | | | | | | | | | | | | | There is no graceful way to kill Android application processes. They typically have many threads running doing various things When System.exit() is called, those threads just keep going while the cleanup actions run until the process finally. Performing shutdown actions can easily cause more harm than good. For example, closing the Binder driver's file descriptor may cause other threads waiting on Binder to wake up and then crash in nasty ways after receiving EBADF. So when an Android application exits, skip the cleanup and just call _exit() to end it all. Bug: 6168809 Change-Id: I29790c064426a0bf7dae7cdf444eea3eef1d5275
* Fix spurious ANRs in native activities.Jeff Brown2012-03-131-9/+4
| | | | | | | | | | | | | | Some native activities experienced ANRs when the input consumer deferred an input event due to client-side batching. If the input channel was fully emptied then the client had no way of knowing that it should wake up to handle the deferred input event. This patch also fixes some lock issues in the native activity input queue implementation. In at least one error case, it was possible for a function to exit without releasing the lock. Bug: 6051176 Change-Id: I4d9d843237e69b9834f8d8b360031b677fcab8c3
* frameworks/base refactoring.Mathias Agopian2012-02-172-2/+2
| | | | | | step 2: move libutils headers to their new home: androidfw Change-Id: I14624ba23db92a81f2cb929f104386e1fab293ef
* frameworks/base refactoring.Mathias Agopian2012-02-171-1/+1
| | | | | | First step. Move libui includes to their new home: androidfw. Change-Id: Ic042b52fdba72f30edc3cc6339bf30b4c1b99662
* Implement batching of input events on the consumer side.Jeff Brown2012-02-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | To support this feature, the input dispatcher now allows input events to be acknowledged out-of-order. As a result, the consumer can choose to defer handling an input event from one device (because it is building a big batch) while continuing to handle input events from other devices. The InputEventReceiver now sends a notification when a batch is pending. The ViewRoot handles this notification by scheduling a draw on the next sync. When the draw happens, the InputEventReceiver is instructed to consume all pending batched input events, the input event queue is fully processed (as much as possible), and then the ViewRoot performs traversals as usual. With these changes in place, the input dispatch latency is consistently less than one frame as long as the application itself isn't stalled. Input events are delivered to the application as soon as possible and are handled as soon as possible. In practice, it is no longer possible for an application to build up a huge backlog of touch events. This is part of a series of changes to improve input system pipelining. Bug: 5963420 Change-Id: I42c01117eca78f12d66d49a736c1c122346ccd1d
* Clean up CursorWindow code.Jeff Brown2011-10-061-4/+0
| | | | | | | | | Bug: 5332296 The code is functionally equivalent, but a little more efficient and much easier to maintain. Change-Id: I90670a13799df05831843a5137ab234929281b7c
* Remove ParcelSurfaceTexture and update MediaPlayerTed Bonkenburg2011-08-111-37/+0
| | | | | | | | | This removes the ParcelSurfaceTexture class since that functionality has been folded into Surface.java. The change also updates the MediaPlayer to get rid of setParcelSurfaceTexture() and modifies setTexture() to use the new Surface functionality in order to simplify the code. Change-Id: Iafa75ea3188263928128325d8a726786971b4de4
* Add method to create a ParcelSurfaceTexture from android.view.Surface.tedbo2011-06-221-0/+5
| | | | Change-Id: I05e343ab7e327478f60322af9373574b70c148f5
* Support for setting a ParcelSurfaceTexture as the MediaPlayer sink.tedbo2011-06-132-0/+9
| | | | | | | | | This adds support for setting a SurfaceTexture as the MediaPlayer video sink by using a ParcelSurfaceTexture object. The goal is to enable a SurfaceTexture to pass through Binder (via ParcelSurfaceTexture) and then be set on the MediaPlayer. Change-Id: Ife5689ce673eb4bee1c377019db761685217b71d
* Add ParcelSurfaceTexture Java class to enable ISurfaceTexture sharing via ↵tedbo2011-06-093-0/+35
| | | | | | | | | | | Binder. This adds a new ParcelSurfaceTexture.java class that can be instantiated with a SurfaceTexture and used to send the corresponding ISurfaceTexture interface to another process via Binder. The ParcelSurfaceTexture java object can then be used to create an ANativeWindow based on the SurfaceTextureClient interface. Change-Id: Ie38ea948b866e52f36a6d0f6cde19b54a8546817
* Support wrapping app processes to inject debug instrumentation.Jeff Brown2011-05-241-2/+8
| | | | | | Bug: 4437846 Change-Id: I4552501c693716b14714afb5c5248edaca9547ab
* Replace a custom AndroidRuntime::findClass with a more targeted fix.Elliott Hughes2011-04-131-6/+12
| | | | | | | This seems simpler and more contained, and I think the comment explaining why hoop-jumping is necessary is a bit clearer now. Change-Id: Ief4afd7cbb42188ed835fce23e497520bdb753a8
* You don't need to poke around inside FileDescriptor manually.Elliott Hughes2011-04-111-6/+3
| | | | | | | | | | We can help you with that. Note also that getParcelFileDescriptorFD did no such thing. All its callers were passing in a regular java.io.FileDescriptor and expecting the int. No ParcelFileDescriptors involved. Change-Id: Idc233626f20c092e719f152562601f406cc1b64a
* Bug 3515073 Add ANativeWindow_fromSurfaceTextureGlenn Kasten2011-03-041-0/+31
| | | | | | This is similar to ANativeWindow_fromSurface. Change-Id: Iaadc06a5d0d50685c34876aa89488c16e7cfaa65
* Tell system server whether the app handled input events.Jeff Brown2010-11-081-1/+1
| | | | | | | | | | Refactored ViewRoot, NativeActivity and related classes to tell the dispatcher whether an input event was actually handled by the application. This will be used to move more of the global default key processing into the system server instead of the application. Change-Id: If06b98b6f45c543e5ac5b1eae2b3baf9371fba28
* am 86f1b643: am bf5efba2: Merge "Fix issue #3117918: No way to finish a ↵Dianne Hackborn2010-10-211-0/+3
|\ | | | | | | | | | | | | | | | | native activity" into gingerbread Merge commit '86f1b643d10e0b5b17ae01db3b81020db87b3295' * commit '86f1b643d10e0b5b17ae01db3b81020db87b3295': Fix issue #3117918: No way to finish a native activity
| * Fix issue #3117918: No way to finish a native activityDianne Hackborn2010-10-211-0/+3
| | | | | | | | Change-Id: Ic53e712f7ab5412d72a31b96ecba252344b91644
* | am 14bc6b5d: am 09340a4b: Merge "Replace epoll() with poll() and rename ↵Jeff Brown2010-09-151-2/+3
|\ \ | |/ | | | | | | | | | | | | | | PollLoop to Looper." into gingerbread Merge commit '14bc6b5d0677e5c454a67775c852f90389bb4567' * commit '14bc6b5d0677e5c454a67775c852f90389bb4567': Replace epoll() with poll() and rename PollLoop to Looper.
| * Replace epoll() with poll() and rename PollLoop to Looper.Jeff Brown2010-09-141-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As part of this change, consolidated and cleaned up the Looper API so that there are fewer distinctions between the NDK and non-NDK declarations (no need for two callback types, etc.). Removed the dependence on specific constants from sys/poll.h such as POLLIN. Instead looper.h defines events like LOOPER_EVENT_INPUT for the events that it supports. That should help make any future under-the-hood implementation changes easier. Fixed a couple of compiler warnings along the way. Change-Id: I449a7ec780bf061bdd325452f823673e2b39b6ae
* | am a1205f07: am 2d3739d4: Merge "Modify native ALooper to take an explicit ↵Dianne Hackborn2010-09-071-1/+1
|\ \ | |/ | | | | | | | | | | | | | | ident." into gingerbread Merge commit 'a1205f07a6f0c745e8f42f16fe38c06af04143c7' * commit 'a1205f07a6f0c745e8f42f16fe38c06af04143c7': Modify native ALooper to take an explicit ident.
| * Modify native ALooper to take an explicit ident.Dianne Hackborn2010-09-071-1/+1
| | | | | | | | | | | | | | | | The ALooper API now uses an explicit "identifier" for the integer that is returned rather than implicitly using the fd. This allows the APIs that had the fd to be a little more sane. Change-Id: I8507f535ad484c0bdc4a1bd016d87bb09acd7ff0
* | am 679ac09a: am a5ae50cd: Merge "More native work." into gingerbreadDianne Hackborn2010-08-111-0/+36
|\ \ | |/ | | | | | | | | | | Merge commit '679ac09a5c22175354f3a04b28456b323839530e' * commit '679ac09a5c22175354f3a04b28456b323839530e': More native work.
| * More native work.Dianne Hackborn2010-08-111-0/+36
| | | | | | | | | | | | | | Implement save/restore of state, and add native APIs for configuration information. Change-Id: I2a3ddc2ba605db58d7c8b2b31b9215fb323f90b5
| * Tracking merge of dalvik-dev to gingerbreadBrian Carlstrom2010-08-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | git cherry-pick --no-commit f77cf7f0 git cherry-pick --no-commit c8f503b5285e30c1a881d0ba860ba9021f57d113 git cherry-pick --no-commit 570bb561 git cherry-pick --no-commit e2417541 git cherry-pick --no-commit e4d81f25bd4dc1a5c909b56ab56a56406290da30 git cherry-pick --no-commit 5e8a587d Change-Id: I101a385d43f3e0f4ce5352217f92ef67a3908c88
* | Add support for dalvik.vm.extra-opts property.Andy McFadden2010-07-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The goal here is to avoid the dalvik.vm.* property explosion by having a single property that takes an arbitrary collection of Dalvik command-line options. This is intended for testing of various configurations by the Dalvik team, not industrial use. Options should be separated by spaces, e.g. adb shell setprop dalvik.vm.extra-opts "-showversion -Xmx4m" will print the version banner and set the heap max to 4MB, which won't get you very far. The extra-opts options will appear last, which allows them to override values set earlier (like the heap max). Bug 2838629. (cherry-pick from dalvik-dev branch) Change-Id: Ibcbb1b62367cf2152798583e8722ef7e461ad19a
* | am 9c37e5ad: am 75a91389: Merge "Implement native key pre-dispatching to ↵Dianne Hackborn2010-07-161-9/+63
|\ \ | |/ | | | | | | | | | | | | | | IMEs." into gingerbread Merge commit '9c37e5add9d7678a29b4e0d1e178fe78a13db961' * commit '9c37e5add9d7678a29b4e0d1e178fe78a13db961': Implement native key pre-dispatching to IMEs.
| * Implement native key pre-dispatching to IMEs.Dianne Hackborn2010-07-151-9/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This significantly re-works the native key dispatching code to allow events to be pre-dispatched to the current IME before being processed by native code. It introduces one new public API, which must be called after retrieving an event if the app wishes for it to be pre-dispatched. Currently the native code will only do pre-dispatching of system keys, to avoid significant overhead for gaming input. This should be improved to be smarted, filtering for only keys that the IME is interested in. Unfortunately IMEs don't currently provide this information. :p Change-Id: Ic1c7aeec8b348164957f2cd88119eb5bd85c2a9f