aboutsummaryrefslogtreecommitdiffstats
path: root/android
Commit message (Collapse)AuthorAgeFilesLines
* Remove QEMU-ism from UI code.David 'Digit' Turner2011-02-024-26/+28
| | | | | | | | | This gets rid of qemu_set_fd_handler() users in the UI program. We can remove its implementation from vl-android-ui.c + Really remove qemu-timer-ui.c :-) Change-Id: I490df8ad5d5eea36b332bf54e2b156f6b5872bf4
* Simplify UI-only sources.David 'Digit' Turner2011-02-027-16/+27
| | | | | | | | | | Get rid of console-ui.c, qemu-timer-ui.c and modify vl-android-ui.c to use a generic Looper object instead of a crummy event loop. We still need to implement qemu_set_fd_handler for two sources under android/protocol/ but this will be cleaned up later. Change-Id: Icd0762675ca2f54e720a9cec40f96caea500b52f
* Simplify core framebuffer management.David 'Digit' Turner2011-02-025-205/+82
| | | | | | | | | | | | | | | | | | | | | | | Remove one layer of indirection between the core's DisplayState and a ProxyFramebuffer object. The main ideas behind this patch are that: - We don't need a QFrameBuffer object when in the core process, each proxy can receive display updates directly from QEMU. - The DisplayChangeListener is really lame: its can't dissociate between several listeners that use the same callback pointers, so introduce DisplayUpdateListener in console.h to work around this. This is preferably to modifying DisplayChangeListener which is going to introduce conflicts with upstream. - Simplify a lot the console code and display-core. Note that we can have several framebuffer clients at the same time now. Note that QFrameBuffer is still used by both the UI program and the standalone emulator. Change-Id: I6d5ad6ecd9b34b9d9d1a30ea5000e875c285e84e
* Move framebuffer.h to android/David 'Digit' Turner2011-02-0210-8/+520
| | | | | | | The QFrameBuffer is no used by QEMU-specific code anymore so it's more logical to move it here. Change-Id: Id49ff53dd49648000e7543652d66f7c03881a8cb
* Move core-connection.c from to android/protocol/David 'Digit' Turner2011-02-029-7/+7
| | | | Change-Id: I1f04ed1f00fccdea043f4a4fbf5ba745b36bbcc7
* Separate init_skinned_ui() into two functions.David 'Digit' Turner2011-02-026-214/+227
| | | | | | | | | | | | | | | This removes init_skinned_ui() and adds parse_skin_files() and init_sdl_ui(). The first function only parses skin files and options, and doesn't do anything related to the UI. The second function does setup the SDL UI after all options/skin processing has been performed. We also modify main.c and main-ui.c to move the call to init_sdl_ui() as far as possible after the options parsing. + Move core attachment code to the end of qemu_main() in main-ui.c Change-Id: I2bf5f0a096d827ae1fee070a8fa45cbd4629d54f
* Move common main routines from into android-common.[hc]David 'Digit' Turner2011-02-024-938/+580
| | | | | | This is a first step towards cleaning-up our initialization/startup code. Change-Id: I2d4fbc5c2cd0181fb39a1a97a15650945038c3b9
* Merge "Create user data image using the initial user data image"David Turner2011-02-011-1/+0
|\
| * Create user data image using the initial user data imageOrjan Percy2011-01-281-1/+0
| | | | | | | | | | | | | | | | | | | | Starting the emulator with a new AVD should create a new user data image (userdata-qemu.img) as a copy of existing user data image (userdata.img). This is not done since the flag IMAGE_EMPTY_IF_MISSING will cause the user data image to be reset. By not setting the flag the user data is initialized in the way documented in code and on-line help. Change-Id: I787bcbc904f79edf241fbacb7446f459fc5f2ad0
* | Generate temporary hardware.ini from configuration settings.David 'Digit' Turner2011-02-017-41/+213
| | | | | | | | | | | | | | | | | | This patch generates a temporary hardware.ini from the hardware configuration. The idea is to move as much hw config info as possible to a single file that the core can read. Other patches will change how various config info is passed to the core, from command-line options to the generated hardware.ini.
* | Refactor attach-UI serviceVladimir Chtchetkine2011-01-3113-128/+375
| | | | | | | | Change-Id: Ia68ceb57ee5b5a66fa76b837fe3b990eb12e7188
* | Refactor the framebuffer serviceVladimir Chtchetkine2011-01-319-227/+200
| | | | | | | | Change-Id: I8ac4580af65b8d58976c97b77b309dd202e75003
* | Refactored user-events protocolVladimir Chtchetkine2011-01-2810-241/+472
| | | | | | | | Change-Id: I08afb96ef17a52c3795f5029acfc244a93ab57c7
* | Refactored ui-core-control and core-ui-control protocolsVladimir Chtchetkine2011-01-2832-1813/+2020
|/ | | | | | | Also cleaned the code up from obsolete ui-core-protocol.* and core-ui-protocol.* Change-Id: I194bec669d25b68a10c32b2be50bc9da50c52ebb
* Remove spaces in the console service namesVladimir Chtchetkine2011-01-266-15/+15
| | | | Change-Id: I339449214ab951aba40abfe2a5b3e3ebfb222311
* Merge "Implement UI control service and client"Vladimir Chtchetkine2011-01-2613-92/+1631
|\
| * Implement UI control service and clientVladimir Chtchetkine2011-01-2513-92/+1631
| | | | | | | | Change-Id: Iecc1b5bb9ddcdaf9f22c500a5195718db3f25354
* | Use setenv when availablerich cannings2011-01-251-1/+2
| | | | | | | | | | | | | | | | Even putenv("X=y") is bad because the "string becomes part of the environment; changing it later will change the environment." (http://www.kernel.org/doc/man-pages/online/pages/man3/putenv.3.html) Change-Id: I0d57204a7020649493fb005c962951407d40fa45
* | Use putenv when setenv is unavailablerich cannings2011-01-251-2/+7
| | | | | | | | | | | | | | Windows builds and possibly others do not have putenv. Using "#ifdef HAVE_SETENV" which is common in qemu. Change-Id: I2cd6770a77cd192440ff4dc6a624568eb27d5558
* | putenv(3) misused. Corrected with setenv(3).rich cannings2011-01-241-3/+3
|/ | | | | | | | POS34-C. Do not call putenv() with a pointer to an automatic variable as the argument: Change-Id: I0c973edd2cc8d6c86287ec0258bca6a06f319bfb https://www.securecoding.cert.org/confluence/display/seccode/POS34-C.+Do+not+call+putenv()+with+a+pointer+to+an+automatic+variable+as+the+argument
* Remove unnecessary calls in UI <-> Core protocols.Vladimir Chtchetkine2011-01-207-28/+9
| | | | | | | Core port related calls are no longer needed, since UI is aware of core's base port on attachment to the core Change-Id: Ic211fc9b02cb652009360f80917e90c44d941878
* Force core to send entire framebuffer on UI attachmentVladimir Chtchetkine2011-01-207-27/+102
| | | | Change-Id: I2feb813314163b94781ffe765eb23527b6c4a0f1
* Fix framebuffer and user events service disconnection bug.Vladimir Chtchetkine2011-01-203-0/+37
| | | | | | | | | | | FB and UE services overwrite the socket's read callbacks, making the console unavare of the fact that console client gets disconnected. As the result, console clients for FB and UE stays alive after UI has exited, making it impossible to attach another UI. To fix this, we add socket read callbacks to the FB and UE service that monitor the disconnection event and destroy their console clients on such events. Change-Id: I82e714f33ccc81bc04ca47eda6fbb8fab4a313f9
* Implement user event transmission between the UI and the coreVladimir Chtchetkine2011-01-198-6/+342
| | | | Change-Id: I503aa691cada5250b76167a923d4a226d20ee41d
* Merge "Compute default memory size from screen size."David 'Digit' Turner2011-01-196-4/+81
|\
| * Compute default memory size from screen size.David 'Digit' Turner2011-01-196-4/+81
| | | | | | | | | | | | | | | | This change is used when using a magic skin (e.g. -skin 800x600) or when using the full Android build system, in order to determine a good default for the RAM size. Change-Id: I900e28146592cdd3f0df9b3f1828b119309eea85
* | Merge "Print concatenated QEMU options with -verbose."David 'Digit' Turner2011-01-192-2/+16
|\ \ | |/
| * Print concatenated QEMU options with -verbose.David 'Digit' Turner2011-01-192-2/+16
| | | | | | | | | | | | | | This makes it easier to launch the core (qemu-android) with the same set of options than the stand-alone emulator. Change-Id: I55d0007f83280ffc5b9a26adc1300472013ff93d
* | Make "qwerty2" the default charmap.David 'Digit' Turner2011-01-194-141/+52
|/ | | | | | | | | | | | | | | This patch makes "qwerty2" the default charmap for skins that don't specifiy one explicitely. Note that the "qwerty" charmap is here for historical reasons only. All skins provided by all SDK Android platforms explicitely mention "qwerty2", so this patch will mainly impact "magic skins" like those created by an option like "-skin 1024x768". This gets rid of the obsolete "qwerty" charmap (it was never used by any of the skins provided by the SDK, and is incorrect). + Simplify android/charmap.[hc] code. + Lazy-load the charmap name in hw/goldfish_events_device.c
* Sligh speedup for pixel conversion routines with Duff's device.David 'Digit' Turner2011-01-182-28/+102
| | | | Change-Id: If832bc5844945f7a2027b2f8d09393586545d8d5
* Add support for 32-bit framebuffers.David 'Digit' Turner2011-01-187-97/+227
| | | | | | | | | | | | | | | This modifies the emulator so support 32-bit framebuffers. You can create such a frame-buffer using one of these methods: - Add a "bpp 32" line to the "display" element of your skin - Use the new 'magic' skin option format: e.g. -skin 320x480x32 Note that the result will be hideous since the kernel driver still thinks the hardware is only 16-bits. This will be addressed in a later patch to hw/goldfish_fb.c and to the kernel driver ($KERNEL/drivers/video/goldfishfb.c) Change-Id: I0fc700c4a4cb8521076605324e15ed34e5d01136
* Merge "Adding proximity sensor simulation"David Turner2011-01-184-1/+46
|\
| * Adding proximity sensor simulationOla Albertsson2010-12-174-1/+46
| | | | | | | | | | | | | | Proximity sensor is added in emulator and avd ini file is modified to be able add a proximity seensor to a avd. Change-Id: I4d2645c0c4861511451b606e18d2fd9b9a2d27ed
* | Refining main-ui.c to better separate UI and core related initializationVladimir Chtchetkine2011-01-135-42/+24
| | | | | | | | | | | | | | | | | | | | | | The main reason for this is to clarify initialization for UI that starts core, and UI that attaches to an existing core. In this CL I did: - Removed -initdata option that seems obsolete (doesn't affect anything in the code) - Passed through -timezone option that doesn't affect anything in the UI, and is needed only in the core. - Removed dependency on AVD info from the core (core needed only virtual device name) Change-Id: Ie631249848a1b5b8d837c0c7b201a40ee7e4a367
* | Hook up framebuffer changes with UI windowVladimir Chtchetkine2011-01-136-23/+61
| | | | | | | | Change-Id: Ib2dff72c808614cd6ded096d62717afc1c41e667
* | Make the emulator find the skins in their new location.Xavier Ducrohet2011-01-071-1/+1
| | | | | | | | Change-Id: Ib5c43306376e51a2a0866868f990ca8c8899ae7a
* | Add -audio-test-out option to the core.David 'Digit' Turner2011-01-022-0/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | This option can be used to quickly check audio output (without having to boot a full AVD and launch a sound-playing application). Usage: emulator <other-options> -qemu -audio-test-out qemu-android <other-options> -audio-test-out This simply generates an ugly saw signal, but that's enough for us. Change-Id: I060300b4000b9705d181c6262de8d4d13c749e69
* | Remove obsolete -audio-in and -audio-out options.David 'Digit' Turner2011-01-024-80/+0
| | | | | | | | | | | | Use -audio <backend> to select the audio driver. Change-Id: I71c837e4c78241711be5f38ef9b03294a69145bd
* | Pass bits per pixel tu UI when it gets attached to core framebufferVladimir Chtchetkine2010-12-217-14/+76
| | | | | | | | | | | | | | Instead of passing bits per pixel property in each and every framebuffer notification message, do it once when UI attaches to the core's framebuffer service. Change-Id: Ic1f6d9796b64d40518f09f5a5341f8359ff817b7
* | Resubmit framebuffer service implementationVladimir Chtchetkine2010-12-2015-20/+803
| | | | | | | | Change-Id: I184e27a1e8d88835bc9f0502eccfa3f64a7aaf9e
* | Merge "Add 'gsm signal' command, to set rssi and ber"Tim Baverstock2010-12-171-0/+65
|\ \ | |/ |/|
| * Add 'gsm signal' command, to set rssi and berTim Baverstock2010-12-151-0/+65
| | | | | | | | Change-Id: I24d4738f6e5135437af25d22e2fa68617f5632fa
* | Merge "Implement core display deriving it from android display"Vladimir Chtchetkine2010-12-152-0/+125
|\ \ | |/ |/|
| * Implement core display deriving it from android displayVladimir Chtchetkine2010-12-142-0/+125
| | | | | | | | | | | | | | Core display is a framebuffer client that receives framebuffer updates and dispatches them to the UI attached to the core. Change-Id: Iff1e0609cbe66240031e3670934a6796a9ae3b15
* | Send unsolicited time response to first signal strength query after loadvmTim Baverstock2010-12-145-1/+20
|/ | | | Change-Id: I9c6260493d42564ee3aa34799313368bb2de7d4d
* Submit mergedVladimir Chtchetkine2010-12-068-31/+795
| | | | | | | | | | | | | | Squashed commit of the following: commit aeefab810c6331e2f96e81f20e4408b39dd3a2ca Author: Vladimir Chtchetkine <vchtchetkine@google.com> Date: Thu Dec 2 07:40:34 2010 -0800 Implement -attach-core UI option Change-Id: I4168e2d707cab1b4873ee16d86d5126c1a316abf Change-Id: I2da1ef5d53641f3c60d83d8d5ddf3aff34b0c6c7
* Merge "Add -no-snapshot-load option to permit reboot."Tim Baverstock2010-12-034-12/+32
|\
| * Add -no-snapshot-load option to permit reboot.Tim Baverstock2010-12-024-12/+32
| | | | | | | | | | | | | | | | | | This is a workaround for the emulator not being able to detect the guest's power-down situation, and simply lingering like a zombie: on exit it's saved as a zombie, and is restored as a zombie which isn't useful. Denying autoload forces a reboot. Change-Id: I48f32600f5ce18cd5c71aa01d1b71b382102f227
* | Merge "Correct command arguments for 'geo fix', but support backward ↵Tim Baverstock2010-12-031-17/+21
|\ \ | |/ |/| | | compatible use."
| * Correct command arguments for 'geo fix', but support backward compatible use.Tim Baverstock2010-12-011-17/+21
| | | | | | | | Change-Id: Id4f427dfb918d69e3fb52725cbe88bce1666dddc