The problem comes from the code handling the automatic change of audio routing to speaker when notifications are played. The music is also muted while the sound is forced to speaker.
To avoid truncating the end of the notification, a delay is inserted between the end of the notification and the restoration of the audio routing. If a new notification starts during this delay, the current music mute state read and saved before muting music corresponds to the forced mute due to previous notification. When the new notification ends, the mute state restored is muted and music stream stays muted for ever.
The fix consists in reading and saving music mute state only if the audio routing has been restored (check that mForcedRoute is back to 0).
* changes:
Added the two validations for the memory stress test 1) Set the maximum memory leakage to 150K in 200 loops of playback. 2) Check the pid of the meidaserver.
Merge commit '2542c0a805b144b4c4324a749574d9ba76660557' into donut
* commit '2542c0a805b144b4c4324a749574d9ba76660557':
AI 149346: Replace icon_templates-v1.0.zip with new archive from cnesladek. remove mac-specific files, fix dir name, repack.
having the wrong version. I made the loader print a message to
the log for this, and made the calling code disable gestures
for the listview instead of crashing.
* changes:
Cause the icon drawables to animate automatically by calling setVisible false and then true on the drawables. For an AnimationDrawable, this will trigger the desired behavior of 'automatically' starting the animation, which should have been working to begin with according to the intended design of AnimationDrawable (see http://b/1878430 for my description of my correspondence with Romain). For Donut we'll just do this to work around it, but for a later release we need to decide a better story.
false and then true on the drawables. For an AnimationDrawable, this will
trigger the desired behavior of 'automatically' starting the animation,
which should have been working to begin with according to the intended
design of AnimationDrawable (see http://b/1878430 for my description of
my correspondence with Romain). For Donut we'll just do this to work
around it, but for a later release we need to decide a better story.
The algorithm for this is currently very simple: all persistent processes are
always in the normal scheduling group, all other processes are normal if their
oom_adj is as good or better than VISIBLE, otherwise they are in the background
group.
Note that this currently results in a fair number of log messages about not
being able to change the group, since the system process does not have
permission to do so. Once a kernel fix is in, these will go away and the code
will start working.
- return "const" objects for overloaded operators to disallow constructs like: (a+b) = c;
- don't return references to non-static members, it's not always safe.
- Point.cpp was empty, so get rid of it
Merge commit '522ab34d3821dc760e10f4bdf3fbdb558c6a1d01' into donut
* commit '522ab34d3821dc760e10f4bdf3fbdb558c6a1d01':
AI 149272: Mark 1.5r1 as a "non-current" release, with pointer to 1.5r2.
Merge commit '1d6cb270a53e45e6370dfdd60954269c76b09d28' into donut
* commit '1d6cb270a53e45e6370dfdd60954269c76b09d28':
AI 149267: Add the images for icon guidelines doc
* changes:
Remove dimmed background (and accompanying animation) for global search, since we should never really see that background anyway, and I suspect the animation is using a significant amount of CPU.