78 Commits

Author SHA1 Message Date
Mathias Agopian
bdbe6024a5 make use of the perfectly fine List.h instead of our own reimplementation of a linked list. 2009-04-28 03:17:50 -07:00
Mathias Agopian
81b0aa696a get rid of an old hack to work around a bug around glDeleteTextures() in the adreno drivers 2009-04-24 16:31:11 -07:00
Mathias Agopian
ef07dda442 get rid of the "show fps" debug option 2009-04-24 16:31:11 -07:00
Mathias Agopian
a3aa6c9aa9 Surfaces are now destroyed properly in SurfaceFlinger.
First, the window manager tells us when a surface is no longer needed. At this point, several things happen:
- the surface is removed from the active/visible list
- it is added to a purgatory list, where it waits for all clients to release their reference
- it destroys all data/state that can be spared

Later, when all clients are done, the remains of the Surface are disposed off: it is removed from the purgatory and destroyed.
In particular its gralloc buffers are destroyed at that point (when we're sure nobody is using them anymore).
2009-04-24 16:30:38 -07:00
Mathias Agopian
6ead5d9f14 a brand new MessageQueue for SurfaceFlinger. 2009-04-24 16:22:36 -07:00
Mathias Agopian
6cf0db228c more Surface lifetime management
Surfaces are now destroyed once all references from the clients are gone, but they go through a partial destruction as soon as the window manager requests it.
This last part is still buggy. see comments in SurfaceFlinger::destroySurface()
2009-04-24 15:00:41 -07:00
Mathias Agopian
2b1927f686 Squashed commit of the following:
commit e5c24638f98162c3b75b4c67a16b510d38e31341
Author: Mathias Agopian <mathias@google.com>
Date:   Fri Apr 17 14:09:03 2009 -0700

    oops forgot this file.

commit 282642632d0cb12882eecf42e0fdfb2343275de1
Author: Mathias Agopian <mathias@google.com>
Date:   Fri Apr 17 14:07:32 2009 -0700

    use a helper macro for creating Singleton<>'s static attributes instances.
2009-04-24 15:00:41 -07:00
Mathias Agopian
f670127afc Merge commit 'goog/master' into merge_master 2009-04-24 14:24:20 -07:00
Jean-Baptiste Queru
74008f608a Merge donut into master 2009-04-22 17:12:34 -07:00
Eric Laurent
ef02827d4c Fix issue 1745312: Various cleanups in media framework
AudioTrack, AudioRecord:
  - remove useless mAudioFlinger member of AudioTrack and AudioRecord.
  - signal cblk.cv condition in stop() method to speed up stop completion.
  - extend wait condition timeout in obtainBuffer() when waitCount is -1 to avoid waking up callback thread unnecessarily

AudioFlinger:
  - remove some warnings in AudioFlinger.cpp.
  - remove function AudioFlinger::MixerThread::removetrack_l()  as its content is never executed.
  - remove useless call to setMasterVolume in AudioFlinger::handleForcedSpeakerRoute().
  - Offset VOICE_CALL stream volume to reflect actual volume that is never 0 in hardware (this fix has been made in the open source): 0.01 + v * 0.99.

AudioSystem.java:
  - correct typo in comment

IAudioflinger, IAudioFlingerClient:
  - make AudioFlinger binder interfaces used for callbacks ONEWAY.

AudioHardwareInterface:
  - correct routeStrings[] table in AudioHardwareInteface.cpp
2009-04-21 07:56:33 -07:00
Marco Nelissen
e7c71d3a8c Merge branch 'readonly-p4-master' 2009-04-20 12:49:56 -07:00
Marco Nelissen
e38e90bf22 AI 146964: tabs -> spaces
Automated import of CL 146964
2009-04-20 12:48:39 -07:00
Mathias Agopian
69d62097e8 cleanup, remove unused fields. Also make sure that we don't systematically allocate a Surface in Surface.java if only a SurfaceControl is needed (Common case). 2009-04-16 20:30:22 -07:00
Mathias Agopian
17f638b39f more splitting of Surface/SurfaceControl. Surface.java is now implemented in terms of Surface and SurfaceControl.
The WindowManager side of Surface.java holds a SurfaceControl, while the client-side holds a Surface. When the client is in the system process, Surface.java holds both (which is a problem we'll try to fix later).
2009-04-16 20:04:08 -07:00
Mathias Agopian
6d2c0bc7bf split Surface.cpp into Surface and SurfaceControl
SurfaceControl is used for controling the geometry of the surface (for the WM), while Surface is used to access the buffers (for SF's clients).
SurfaceFlingerClient now uses the SurfaceID instead of Surface*.

Currently Surface still has the SurfaceControl API and is implemented by calling into SurfaceControl.
2009-04-16 16:19:50 -07:00
Mathias Agopian
ed81f2216a fix a few typos in comments. this is really intended as a git pull/push test. 2009-04-16 12:29:34 -07:00
Mathias Agopian
402c34649f fix some issues with Surface's lifetime management.
To deal with Java's lack of destructors and delayed garbage collection, we used to duplicate Surface.cpp objects in some case; this caused some issues because Surface is supposed to be reference-counted and unique.
2009-04-16 12:29:34 -07:00
Mathias Agopian
a6b40ba521 fix a rookie mistake causing Singleton<> to be a "multiton". Also improve the BufferMapper's debugging, but turn it off.
Squashed commit of the following:

commit 04e9cae7f806bd65f2cfe35c011b47a36773bbe5
Author: Mathias Agopian <mathias@google.com>
Date:   Wed Apr 15 18:30:30 2009 -0700

    fix and improve BufferMapper's tracking of mapped buffers.

commit 1a8deaed15811092b2349cc3c40cafb5f722046c
Author: Mathias Agopian <mathias@google.com>
Date:   Wed Apr 15 00:52:02 2009 -0700

    fix some bugs with the Singleton<> class. untested.

commit ed01cc06ad70cf640ce1258f01189cb1a96fd3a8
Author: Mathias Agopian <mathias@google.com>
Date:   Tue Apr 14 19:29:25 2009 -0700

    some work to debug the Singleton<> template.
2009-04-15 18:34:24 -07:00
Mathias Agopian
af9a515299 more debugging tools around BufferMapper 2009-04-10 20:34:46 -07:00
Mathias Agopian
0179ff6594 Merge commit 'goog/master' into master_gl
Conflicts:
	libs/utils/Parcel.cpp
2009-04-10 14:36:33 -07:00
Mathias Agopian
1473f46cbc Integrate from //sandbox/mathias/donut/...@145728
SurfaceFlinger rework for new EGL driver model support.
2009-04-10 14:24:30 -07:00
Nick Pelly
20f07d406f Merge branch 'readonly-p4-master' 2009-04-02 10:31:50 -07:00
Nick Pelly
f1b083fb85 AI 144205: am: CL 144151 am: CL 144150 Fix heap corruption.
Take mutex in close(), and skip write path after turning bluetooth off.
  Original author: npelly
  Merged from: //branches/cupcake/...
  Original author: android-build
  Merged from: //branches/donutburger/...

Automated import of CL 144205
2009-04-02 10:30:39 -07:00
Nick Pelly
0827c81466 AI 144151: am: CL 144150 Fix heap corruption.
Take mutex in close(), and skip write path after turning bluetooth off.
  Original author: npelly
  Merged from: //branches/cupcake/...

Automated import of CL 144151
2009-04-02 01:21:13 -07:00
The Android Open Source Project
caee1703fe Merge commit 'goog/readonly-p4-master' 2009-03-31 21:34:25 -07:00
Eric Laurent
d3b4d0cfc1 AI 143785: am: CL 143775 am: CL 143620 Attempt for fixing crash in AudioFlinger::MixerThread::dumpTracks() seen in bug report for issue 1747119.
AudioFlinger::MixerThread::dumpTracks() was reading mTracks[] vector instead of mActiveTracks[] when dumping active tracks.
  Original author: elaurent
  Merged from: //branches/cupcake/...
  Original author: android-build
  Merged from: //branches/donutburger/...

Automated import of CL 143785
2009-03-31 14:34:35 -07:00
Eric Laurent
b88148eb6c AI 143775: am: CL 143620 Attempt for fixing crash in AudioFlinger::MixerThread::dumpTracks() seen in bug report for issue 1747119.
AudioFlinger::MixerThread::dumpTracks() was reading mTracks[] vector instead of mActiveTracks[] when dumping active tracks.
  Original author: elaurent
  Merged from: //branches/cupcake/...

Automated import of CL 143775
2009-03-31 14:33:34 -07:00
Eric Laurent
63e45f2854 AI 143327: am: CL 143177 am: CL 142889 Fix issue #1736153 Camera shutter sound can be muted by new AlarmClock setting.
Current implementation of Camera service plays the camera shutter sound over the ALARM stream so that it cannot be muted by silent mode in order to comply to some country specific requirement. A recent change made it possible for the user to mute the ALARM stream thus making this stream not suitable any more for the camera shutter sound.
  The fix consists in creating a new stream type only accessible by native code and that cannot be muted and use it to play camera sounds.
  Original author: elaurent
  Merged from: //branches/cupcake/...
  Original author: android-build
  Merged from: //branches/donutburger/...

Automated import of CL 143327
2009-03-27 18:18:46 -07:00
Mathias Agopian
d97bbd8871 AI 143321: am: CL 143172 am: CL 142875 [1732012] for some reason these files didn't go through in the preview check-in.
Original author: mathias
  Merged from: //branches/cupcake/...
  Original author: android-build
  Merged from: //branches/donutburger/...

Automated import of CL 143321
2009-03-27 18:12:49 -07:00
Mathias Agopian
eb0c86e18b AI 143320: am: CL 143171 am: CL 142873 fix [1732012] Only show screen rotation animation when triggered by sensor
Original author: mathias
  Merged from: //branches/cupcake/...
  Original author: android-build
  Merged from: //branches/donutburger/...

Automated import of CL 143320
2009-03-27 18:11:38 -07:00
Mathias Agopian
3552f53c83 AI 143309: am: CL 143160 am: CL 142856 new-new-new-new rotation animation. it may still change one more time.
Original author: mathias
  Merged from: //branches/cupcake/...
  Original author: android-build
  Merged from: //branches/donutburger/...

Automated import of CL 143309
2009-03-27 17:58:20 -07:00
Eric Laurent
a7f1e5c540 AI 143177: am: CL 142889 Fix issue #1736153 Camera shutter sound can be muted by new AlarmClock setting.
Current implementation of Camera service plays the camera shutter sound over the ALARM stream so that it cannot be muted by silent mode in order to comply to some country specific requirement. A recent change made it possible for the user to mute the ALARM stream thus making this stream not suitable any more for the camera shutter sound.
  The fix consists in creating a new stream type only accessible by native code and that cannot be muted and use it to play camera sounds.
  Original author: elaurent
  Merged from: //branches/cupcake/...

Automated import of CL 143177
2009-03-27 16:27:16 -07:00
Mathias Agopian
cb93c5a1a3 AI 143172: am: CL 142875 [1732012] for some reason these files didn't go through in the preview check-in.
Original author: mathias
  Merged from: //branches/cupcake/...

Automated import of CL 143172
2009-03-27 16:13:24 -07:00
Mathias Agopian
66b8ec99c5 AI 143171: am: CL 142873 fix [1732012] Only show screen rotation animation when triggered by sensor
Original author: mathias
  Merged from: //branches/cupcake/...

Automated import of CL 143171
2009-03-27 16:10:37 -07:00
The Android Open Source Project
e1861133d5 Merge commit 'korg/cupcake'
Conflicts:
	core/java/android/webkit/WebView.java
	core/java/android/widget/TwoLineListItem.java
	preloaded-classes
2009-03-27 15:38:40 -07:00
Mathias Agopian
89a187299e AI 143160: am: CL 142856 new-new-new-new rotation animation. it may still change one more time.
Original author: mathias
  Merged from: //branches/cupcake/...

Automated import of CL 143160
2009-03-27 15:36:09 -07:00
Eric Laurent
eeea922213 Automated import from //branches/cupcake/...@142889,142889 2009-03-26 01:57:59 -07:00
Mathias Agopian
3a186c7c2e Automated import from //branches/cupcake/...@142875,142875 2009-03-25 23:26:39 -07:00
Mathias Agopian
c75c4364ea Automated import from //branches/cupcake/...@142873,142873 2009-03-25 23:18:56 -07:00
Mathias Agopian
d2f34e5fd6 Automated import from //branches/cupcake/...@142856,142856 2009-03-25 21:42:35 -07:00
Dianne Hackborn
eecc5c973e Automated import from //branches/donutburger/...@142727,142727 2009-03-25 17:24:35 -07:00
Dianne Hackborn
4e829f0aca Automated import from //branches/master/...@142771,142771 2009-03-25 16:21:55 -07:00
Dianne Hackborn
19f06fefc0 Automated import from //branches/cupcake/...@142663,142663 2009-03-25 15:32:28 -07:00
Mathias Agopian
afbf448b7d Automated import from //branches/master/...@142447,142447 2009-03-24 22:50:50 -07:00
Mathias Agopian
1379665abd Automated import from //branches/master/...@142432,142432 2009-03-24 22:49:21 -07:00
Mathias Agopian
2764f30a74 Automated import from //branches/donutburger/...@142446,142446 2009-03-24 22:43:22 -07:00
Mathias Agopian
00f5eca412 Automated import from //branches/donutburger/...@142430,142430 2009-03-24 22:42:15 -07:00
Mathias Agopian
013456784a Automated import from //branches/master/...@141504,141504 2009-03-24 20:25:55 -07:00
Mathias Agopian
4cf7abeed2 Automated import from //branches/donutburger/...@141502,141502 2009-03-24 20:25:29 -07:00
Mathias Agopian
e94fa1ba1d Automated import from //branches/cupcake/...@142445,142445 2009-03-24 19:43:24 -07:00