68445 Commits

Author SHA1 Message Date
The Android Open Source Project
aac214800b Reconcile with ics-mr1-release
Change-Id: I496b3ff789ad7d4cb5f3cf720fbcab423a3694f6
2012-02-24 13:57:46 -08:00
Glenn Kasten
6ec27552a0 Pull CPU statistics code out of threadLoop()
This is to prepare for the threadLoop() merge

Change-Id: I118c7d5c6b011b5d5b95ec7d63fb03feb166a9cf
2012-02-24 13:56:12 -08:00
Andreas Huber
6281fa1d93 Fix two more locations that use the old setObject("buffer", ...) paradigm
that I'd previously missed.

Change-Id: Ifbdbfb94d1bc1cbe8c0a403fed05ce99fca8397b
2012-02-24 13:42:47 -08:00
Glenn Kasten
c2db119d0a AudioBufferProvider comments and cleanup
Add comments about which methods implement the AudioBufferProvider interface.

Simplified the definition of kInvalidPts.  <stdint.h> is very hard to work
with, there seems to be no way to use it reliably to get INT64_MAX without
having a separate source file, which is ugly because it means kInvalidPts
is not a compile-time constant.  So I just deleted AudioBufferProvider.cpp
and used a hard-coded constant instead.

Added a default constructor for Buffer so that the fields aren't random
(especially .raw which is used to determine if the buffer is valid).

Make the pts for getNextBuffer default to kInvalidPTS so code that
doesn't need a pts doesn't have to specify a value.

Rename the parameter to AudioMixer::setBufferProvider to make it clearer.

Change-Id: I87e7290884d4ed975b019f62d1ab6ae2bc5065a5
2012-02-24 13:42:13 -08:00
Glenn Kasten
23c9c74017 Fix tracking of hardware state for dump
At end of AudioFlinger::onFirstRef(), the hardware status was being left
in wrong state.  It should be AUDIO_HW_IDLE but was AUDIO_HW_INIT.

mHardwareStatus was being set to AUDIO_HW_OUTPUT_OPEN too early, and so
a return would leave it in the wrong state until next hardware operation.

Take the hardware lock for dev->get_parameters, and update mHardwareStatus
before and after.

Keep hardware lock only for the duration of the dev->set_parameters.

Rename two constants in enum hardware_call_state to have the prefix
AUDIO_HW so they follow the naming conventions.

Add comments.

Change-Id: I6c7450b11f9b13adaeef9cec874333e478a58fc0
2012-02-24 13:31:26 -08:00
Dianne Hackborn
7663d80f6b Fix issue #6048808: sometimes auto-correct is inactive
My previous change to speed up the time the IME is dismissed was
fundamentally flawed.  That change basically switched the order
the application called the input method manager service from doing
startInput() and then windowGainedFocus(), to first windowGainedFocus()
and then startInput().

The problem is that the service relies on startInput() being done
first, since this is the mechanism to set up the new input focus,
and windowGainedFocus() is just updating the IME visibility state
after that is done.  However, by doing the startInput() first, that
means in the case where we are going to hide the IME we must first
wait for the IME to re-initialize editing on whatever input has
focus in the new window.

To address this, the change here tries to find a half-way point
between the two.  We now do startInput() after windowGainedFocus()
only when this will result in the window being hidden.

It is not as easy as that, though, because these are calls on to
the system service from the application.  So being able to do that
meant a fair amount of re-arranging of this part of the protocol
with the service.  Now windowGainedFocus() is called with all of
the information also needed for startInput(), and takes care of
performing both operations.  The client-side code is correspondingly
rearranged so that the guts of it where startInput() is called can
instead call the windowGainedFocus() entry if appropriate.

So...  in theory this is safer than the previous change, since it
should not be impacting the behavior as much.  In practice, however,
we are touching and re-arranging a lot more code, and "should" is
not a promise.

Change-Id: Icb58bef75ef4bf9979f3e2ba88cea20db2e2c3fb
2012-02-24 13:18:23 -08:00
Glenn Kasten
d366515421 Merge "Remove TrackBase::mFlags" 2012-02-24 13:17:36 -08:00
Glenn Kasten
3526982c1d Remove TrackBase::mFlags
The bit-field TrackBase::mFlags was supposed to have track-specific
flags in the upper 16 bits, and system flags in the lower 16 bits.

The upper 16 bits of mFlags were initialized in the TrackBase
constructor from the flags parameter of IAudioFlinger::createTrack()
and IAudioFlinger::openRecord(), and the lower 16 bits were cleared.

However, the upper 16 bits of mFlags were never acccessed again.
So really there are no track-specific flags.  I left the flags
in the parameter list of createTrack() and openRecord() but made a
note that these should be removed eventually as they are dead.

This leaves only the one system flag "step server failed".  I replaced
the bit-field mFlags by bool mStepServerFailed, which is simpler and
slightly faster.

Change-Id: I6650f5487be72791b4a67d73adcd10ffa04e2aa5
2012-02-24 13:14:28 -08:00
Martin Storsjo
dafebd6bfc stagefright amrnb: Remove extern from table definitions
Local prototype declarations are added where no suitable ones are
available in headers.

This fixes warnings when compiling as C - while the source
files are named .cpp, they actually are compileable as pure C.

This was committed on the master branch of the opencore
repository in commit a0acb494ea6682ca966b5ebbd3676c89c56d63a6,
based on AOSP contribution 10303.

Change-Id: Ib4e27ea30302c66e0233e63e5a4652f6339bc940
2012-02-24 23:07:49 +02:00
Martin Storsjo
9cb864de44 stagefright amrnb: Add includes for prototype declarations of tables
This was committed on the master branch of the opencore
repository in commit da3d0463c999871ee584a0d750be65be65d19b00,
based on AOSP contribution 10302.

Change-Id: I4ad5526634efecc2d2bb3d2169184b8d4d4d7671
2012-02-24 23:07:40 +02:00
Martin Storsjo
67d536a971 stagefright amrnb: Add missing const qualifier to table declarations in headers
This was committed on the master branch of the opencore
repository in commit 5ce7a6fdf125116ffce2e692e14eafef1c807628,
based on AOSP contribution 10301.

Change-Id: Ie32b32c7407f449e382c0b4fd2d60a664e0daa33
2012-02-24 23:07:29 +02:00
Martin Storsjo
7a60831412 stagefright amrwb: Make a global const array static
This fixes compilation as C - while the source files are named
.cpp, they actually are compileable as pure C. Prior to this,
this table produced multiple definitions of the same symbol.

This was committed on the master branch of the opencore
repository in commit a803bd49a631317e0d52ff060cf1799f7741a47e,
based on AOSP contribution 10017.

Change-Id: Id76274964242b119ab61b8181e557477df1e1521
2012-02-24 23:04:24 +02:00
Martin Storsjo
b3094e4a0e stagefright amrwb: Make local const arrays static
Some of these tables exist in both the amrnb and amrwb libraries,
but with different content.

This avoids some cases of multiple definitions of symbols, if
linking in both libraries statically into the same executable,
if the libraries are built as C. (As C++, the local symbols
get mangled so they don't conflict with the external C symbols
in amrnb, that are unmangled.)

Most of this was committed on the master branch of the opencore
repository in commit 0cd4b3ac412dd0a8370ce339e89cf346c6cfe395,
based on AOSP contribution 10016.

Change-Id: I5387e699ce54a56dc43fcfa0396dee5c99280fd9
2012-02-24 23:03:10 +02:00
Martin Storsjo
ab0149852b stagefright amrwb: Change a C++ style cast into a C style cast
This fixes compilation as C - while the source files are named
.cpp, they actually are compileable as pure C (except for this
cast).

This was committed on the master branch of the opencore
repository in commit ae27d9b2ef68c4e6fc383a8cab93d6baa235ff6b,
based on AOSP contribution 10014.

Change-Id: I4f533313be041ad3e0a03ffc5f4207480894ddd1
2012-02-24 23:01:24 +02:00
Eric Fischer
2db8d82ebf Import translations. DO NOT MERGE
Change-Id: I2c3594ab6bee0ee334f98c0c403a3de295b8fa05
2012-02-24 12:42:07 -08:00
Svetoslav Ganov
16bb9ab384 Merge "Regression: Cannot query the content of certain windows." 2012-02-24 11:33:46 -08:00
Siva Velusamy
8293c92c75 gltrace: attach buffer data sent with glBufferData
Attach the buffer that is passed with glBufferData
and glBufferSubData to the proto buf.

Change-Id: I1b4c1172d405736b06cb0a356a6e241e1d60c4d5
2012-02-24 11:32:00 -08:00
Svetoslav Ganov
00d0c14a0f Regression: Cannot query the content of certain windows.
1. A bad merge on my part caused ViewRootImpl not to register
   for accessibility state change.

bug:6064348

Change-Id: Idf7b8b444e9021e9d9ec3749164cfe448c8268ab
2012-02-24 11:31:17 -08:00
Jean-Baptiste Queru
6b48f088b1 am ed7e1e83: am 47023027: am 26d9944e: am 6a300a54: Merge "stagefright aacenc: Make the bits to write in WriteBits unsigned"
* commit 'ed7e1e830165678421ee7d1b3dac044214a6e635':
  stagefright aacenc: Make the bits to write in WriteBits unsigned
2012-02-24 11:11:10 -08:00
Jean-Baptiste Queru
ed7e1e8301 am 47023027: am 26d9944e: am 6a300a54: Merge "stagefright aacenc: Make the bits to write in WriteBits unsigned"
* commit '470230275431c8ae85debc3c089b6942c55fef0f':
  stagefright aacenc: Make the bits to write in WriteBits unsigned
2012-02-24 11:07:45 -08:00
Jean-Baptiste Queru
4702302754 am 26d9944e: am 6a300a54: Merge "stagefright aacenc: Make the bits to write in WriteBits unsigned"
* commit '26d9944e3f75123708ef0cfb158f48709348a361':
  stagefright aacenc: Make the bits to write in WriteBits unsigned
2012-02-24 11:05:15 -08:00
Jean-Baptiste Queru
26d9944e3f am 6a300a54: Merge "stagefright aacenc: Make the bits to write in WriteBits unsigned"
* commit '6a300a5413898ff8b728e77c5a23290cae60e9b5':
  stagefright aacenc: Make the bits to write in WriteBits unsigned
2012-02-24 11:02:29 -08:00
Martin Storsjo
a9e1747f9e stagefright aacenc: Remove a stray semicolon
This avoids warnings about an empty body in an if statement.

mem_free does the same null check, so the accidental extra
semicolon was harmless, and the whole if statement actually
is needless. But if removing the if statements, all the
other ones should be removed too, for consistency.
(This could be done as a separate change).

Change-Id: I1b6064dedd15ffa949043bb5396148aaed9b43f6
2012-02-24 21:01:26 +02:00
Martin Storsjo
e3c3499468 stagefright aacenc: Add prototypes for arm specific implementations of functions
The arm specific functions are implemented in .s files,
without any function declarations in headers.

This fixes compiler warnings about implicit declarations
of these functions.

Change-Id: I1512560b6740c1879f378886e05aaad2e3a6c869
2012-02-24 20:56:11 +02:00
Martin Storsjo
4a12db6d4e stagefright amrwbenc: Change keyword ordering
This avoids warnings about 'static' not being at the beginning
of the declarations.

Change-Id: I80f91b8a0f7f61edcdca96c206fedbd74ec0d88e
2012-02-24 20:54:26 +02:00
Martin Storsjo
30b0bb41f5 stagefright amrwbenc: Remove a useless check
Since the Length field is unsigned, the comparison will always
be false. The corresponding code in the aac encoder doesn't have
any check for Length.

This avoids a warning about comparison always being false.

Change-Id: I57c28ff9d09cb9ac4effeaeb40db608ab976acc6
2012-02-24 20:54:14 +02:00
Daniel Sandler
3f0c58eb70 Merge "New notification priority and related APIs." 2012-02-24 10:53:42 -08:00
Svetoslav Ganov
525ece4098 Merge "UiTestAutomationBridge does not terminate its HandlerThread." 2012-02-24 10:52:10 -08:00
Svetoslav Ganov
ae7a51f143 UiTestAutomationBridge does not terminate its HandlerThread.
1. Now the thread is terminated in the disconnect() method
   and also it is made demon since it has no pupose outside
   the context of the bridge client.

bug:6053108

Change-Id: Idc25373fddf501eda4f875fea3e944367e4f04bf
2012-02-24 10:47:31 -08:00
Daniel Sandler
2561b0b10a New notification priority and related APIs.
This change introduces a few new bits of data on
Notification that will help the Notification Manager and
System UI route and display them more intelligently:

 -> priority: an integer in a predefined range that
    indicates the app's best guess as to the relative
    importance (to the user, right now) of that information

 -> kind: a tag (really, set of tags) indicating the general
    type of notification (realtime, asynchronous, etc)

 -> extras: a Bundle of additional key/value pairs
    associated with this notification (currently @hidden)

The notification manager takes these data into account when
assigning to each notification a score which is passed with
the notification on to the system UI, where it can be used to
affect presentation. For example:

  - Spammy apps (identified explicitly by the user or by
    some other means) will have their notifications scored
    very negatively by the notification manager, allowing
    the UI to suppress them
  - Notifications of higher score might be shown larger
    or in a different way
  - Very important notifications (indicated by a very high
    score) might interrupt the user during an otherwise
    important task (videochat, game, etc)

Implementation note: This replaces/extends the old internal
notion of "priority", which was mostly used to organize
ongoings and system notifications at the top of the panel.

Change-Id: Ie063dc75f198a68e2b5734a3aa0cacb5aba1ac39
2012-02-24 13:47:00 -05:00
Jean-Baptiste Queru
126d0ce0cb am 70450553: am 14c6e272: am 2accfc11: am d6a25154: Merge "stagefright aacenc: Fix an inline asm constraint"
* commit '70450553f8f1e6ec4967f86a4b811db2940e8772':
  stagefright aacenc: Fix an inline asm constraint
2012-02-24 10:35:47 -08:00
Jean-Baptiste Queru
0f7f115a5a am 78fc0c0b: am 428ece23: am c4aa19a5: am ea227787: Merge changes I903353c5,I822dcc74
* commit '78fc0c0bfae913a4a44011225396ae525b335fb1':
  stagefright amrnb: Properly negate all values
  stagefright amrnb: Fix a bug on architectures where long is 64 bit
2012-02-24 10:33:05 -08:00
Jean-Baptiste Queru
70450553f8 am 14c6e272: am 2accfc11: am d6a25154: Merge "stagefright aacenc: Fix an inline asm constraint"
* commit '14c6e2728c2ae39aab6fc9a9a77c402d7322afc0':
  stagefright aacenc: Fix an inline asm constraint
2012-02-24 10:32:34 -08:00
Jean-Baptiste Queru
78fc0c0bfa am 428ece23: am c4aa19a5: am ea227787: Merge changes I903353c5,I822dcc74
* commit '428ece23f414d288981ea0ac8f326e9e71a57959':
  stagefright amrnb: Properly negate all values
  stagefright amrnb: Fix a bug on architectures where long is 64 bit
2012-02-24 10:30:12 -08:00
Jean-Baptiste Queru
14c6e2728c am 2accfc11: am d6a25154: Merge "stagefright aacenc: Fix an inline asm constraint"
* commit '2accfc110a71add56f5e4c35228e88dfa3024676':
  stagefright aacenc: Fix an inline asm constraint
2012-02-24 10:29:45 -08:00
Jean-Baptiste Queru
6a300a5413 Merge "stagefright aacenc: Make the bits to write in WriteBits unsigned" 2012-02-24 10:28:01 -08:00
Jean-Baptiste Queru
428ece23f4 am c4aa19a5: am ea227787: Merge changes I903353c5,I822dcc74
* commit 'c4aa19a578b8a11bea225994c58116b407e63a69':
  stagefright amrnb: Properly negate all values
  stagefright amrnb: Fix a bug on architectures where long is 64 bit
2012-02-24 10:27:06 -08:00
Jean-Baptiste Queru
2accfc110a am d6a25154: Merge "stagefright aacenc: Fix an inline asm constraint"
* commit 'd6a25154d94c48ab2ef12641c789458ab14ca94f':
  stagefright aacenc: Fix an inline asm constraint
2012-02-24 10:26:53 -08:00
Jean-Baptiste Queru
c4aa19a578 am ea227787: Merge changes I903353c5,I822dcc74
* commit 'ea227787253e29da2d688399b097e05708d3bf73':
  stagefright amrnb: Properly negate all values
  stagefright amrnb: Fix a bug on architectures where long is 64 bit
2012-02-24 10:24:34 -08:00
Svetoslav Ganov
88c6d6e19c Merge "AccessibilityNodeInfos node properly cached." 2012-02-24 10:23:06 -08:00
John Reck
0d4134834e Merge "Fix HitTest type detection" 2012-02-24 10:22:56 -08:00
Jean-Baptiste Queru
d6a25154d9 Merge "stagefright aacenc: Fix an inline asm constraint" 2012-02-24 10:22:34 -08:00
Svetoslav Ganov
afd5fab3ab AccessibilityNodeInfos node properly cached.
1. AccessibilityNodeInfo were not cloned when cached
   and obtained from the cache. This was causing a
   problem when the client calls #recycle() as he
   should since this results in wiping the data of
   the cached node info.

bug:6026952

Change-Id: I5807b09d95ef6f310327192ff91f036adf337e33
2012-02-24 10:22:00 -08:00
Andreas Huber
64c2263428 Merge "Small fix to MediaCodec" 2012-02-24 10:16:28 -08:00
John Reck
59265e896a Fix HitTest type detection
Change-Id: Ide3d137de18302d2bb83437c3709a31afcdef9ff
2012-02-24 10:13:24 -08:00
Jean-Baptiste Queru
ea22778725 Merge changes I903353c5,I822dcc74
* changes:
  stagefright amrnb: Properly negate all values
  stagefright amrnb: Fix a bug on architectures where long is 64 bit
2012-02-24 10:07:49 -08:00
Jean-Baptiste Queru
46f465c25f am 15278119: am 61022b06: am 5f83b957: am bf45bbf3: Merge "stagefright aacenc: Zero-initialize a struct"
* commit '1527811984557ee0b5d6e476e84ed147e073cb45':
  stagefright aacenc: Zero-initialize a struct
2012-02-24 10:03:47 -08:00
Jean-Baptiste Queru
1527811984 am 61022b06: am 5f83b957: am bf45bbf3: Merge "stagefright aacenc: Zero-initialize a struct"
* commit '61022b06a352e5a6da382a09f51ea624581ada7f':
  stagefright aacenc: Zero-initialize a struct
2012-02-24 10:00:56 -08:00
Jean-Baptiste Queru
61022b06a3 am 5f83b957: am bf45bbf3: Merge "stagefright aacenc: Zero-initialize a struct"
* commit '5f83b95705fa84b87b498d67f3b1b8dc34038474':
  stagefright aacenc: Zero-initialize a struct
2012-02-24 09:57:51 -08:00
Jean-Baptiste Queru
5f83b95705 am bf45bbf3: Merge "stagefright aacenc: Zero-initialize a struct"
* commit 'bf45bbf3b4a54976b81234ffc8ac41520bc052fc':
  stagefright aacenc: Zero-initialize a struct
2012-02-24 09:54:58 -08:00