Fix ringer mode being unneededly changed by setting ringer mode volume
to 0.

When having set the ringer mode to silent on a device with vibrator and
calling setStreamVolume() for the ringer stream again (e.g. in one of
the volume control dialogs in the settings app), the ringer mode is set
to vibrate, although there's no reason to do so.

Fix that by remembering the last non-normal (that is, either silent or
vibrate) ringer mode and using that when setting the stream volume to 0.

Change-Id: I27f1c75a0fef52bd63ac20f4101042808ce2c458
JIRA: CYAN-1403
Give floating flag to previous activities in the stack
When launching stacked activities, only the last one is flagged as floating in sysui when tapping halo.
This causes the system to show the launcher when the first stacked activity is launched (this first intent gets the flag FLAG_ACTIVITY_TASK_ON_HOME
in TaskStackBuilder).
This change makes all the stacked activities get the floating flag if the last one has it.
Merge branch 'jb2' of github.com:CarbonDev/android_frameworks_base into jb2