History log of /frameworks/base/services/core/java/com/android/server/VibratorService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0dbb516a4383f022420d57b7af1865eb37cb3021 25-May-2018 Michael Wright <michaelwr@google.com> Allow for any default vibration intensity level.

Because we can't always create the range of effects we'd like, we may
need different default intensity levels for different devices. This
works fine for prebaked effects, but for application defined amplitudes
we need to provide a scaling function. In addition, this scaling
function should leave amplitude values untouched in the default state so
that application developers produce the effects they expect.

Bug: 80275800
Test: manual
Merged-In: Ibb552ddfa60891853ebcb1a5567ed6745bb5defe
Change-Id: Ibb552ddfa60891853ebcb1a5567ed6745bb5defe
/frameworks/base/services/core/java/com/android/server/VibratorService.java
59efe9734e5499c9f1a325df480247b57e0c8da4 24-Apr-2018 Alexey Kuzmin <alexeykuzmin@google.com> Default vibration amplitude resolution added

Test: On sailfish, set vibration intensity to High, lock the phone and
unlock with FPS. Vibration should be played.
Bug: 76129874

Change-Id: I546341e55fa0e6de0af1d22c8e8e07d67670f0b9
Merged-In: I546341e55fa0e6de0af1d22c8e8e07d67670f0b9
/frameworks/base/services/core/java/com/android/server/VibratorService.java
d39cbecb404378d267391be6767d89ecd4aaaa93 16-Apr-2018 Michael Wright <michaelwr@google.com> Use config_longPressVibePattern as heavy click fallback.

Rather than using the regular click effect as the fallback, use the long
press pattern since heavy click is the new effect for long press. This
also lets us distinguish the two effects in the configuration.

Bug: 77863933
Test: long-press on something, feel the effect
Change-Id: Ie22d064cbdd2d33702180cb528d743e75ff8ae63
/frameworks/base/services/core/java/com/android/server/VibratorService.java
5a0a26f8400ff0b00e3885da479fb3529756ba60 20-Mar-2018 Alexey Kuzmin <alexeykuzmin@google.com> Fallback added for HEAVY_CLICK effect

Test: Do any UI gesture causing HEAVY_CLICK (for example, long press
home button). HEAVY_CLICK should be played, and adb logcat should not
show message "Failed to play prebaked effect, no fallback"
Bug: 74882420
Fixes: 74776434

Merged-In: I151e0b02842c29fe67802d77411ae0f7d0f63c39
Change-Id: I151e0b02842c29fe67802d77411ae0f7d0f63c39
/frameworks/base/services/core/java/com/android/server/VibratorService.java
f7b4725375dfb5f6b65433f1679c44501c2478e3 26-Feb-2018 Svet Ganov <svetoslavganov@google.com> Use start/finish app ops in window manager

Add infrastructure to app ops to specify how to treat mode_default
(for now only for startOp) allowing the caller to decide of this
mode should be treated as success - this is useful if the caller
already performed the default permission checks which determined
that the caller would perform the operation if the mode is default.
This way there is a record in the app ops history that this op
was performed. This is now used by the window manager service
which starts/finishes ops when an alert window is shown/hidden.
The window manager allows adding the window if the mode is default
but the caller has the fallback permission. In this case the
alert window would be shown and we want that noted in the op
history.

Now the window manager properly starts/finishes alert window op
when an alert window is shown/hidden. This is required to allow
SystemUI to badge notifications from apps showing alert windows
or add a dedicated notification if the app has no notifications.

Test: cts-tradefed run cts-dev -m CtsWindowManagerDeviceTestCases

Added android.server.wm.AppOpAlertWindowAppOpsTest

cts-tradefed run cts-dev -m CtsPermissionTestCases
-t android.permission.cts.AppOpsTest

bug:64085448

Change-Id: I9041b1ac287bc5f9ed11d39bb203beba80f3f0f6
/frameworks/base/services/core/java/com/android/server/VibratorService.java
e59145a12ba688148c6f845fa1c8c3fac5b13eba 10-Feb-2018 Alexey Kuzmin <alexeykuzmin@google.com> Add tracing tags to vibrator

Now all somewhat time-consuming methods of the VibratorService
are surrounded by traceBegin/traceEnd blocks.
The vibration itself is surrounded with asyncTrace block.

Test: Run "systrace vibrator" and see the time consumption report.
Bug: 73000045
Change-Id: Ie6347d179cf3e0dd13dc3daf76917f3fbb870d2b
/frameworks/base/services/core/java/com/android/server/VibratorService.java
b8ce4e96d16e359891c32ce07535c50050e251ef 10-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Register for fallback vibration's death"
9da5a93b9a21122ca86c323772f6d2291c3525f2 09-Feb-2018 Michael Wright <michaelwr@google.com> Register for fallback vibration's death

If we don't link the fallback vibration's death then when we go to
unlink the vibration when it's done we crash with a NoSuchElement
exception. This way if the process that sent us the vibration dies then
the vibration also stops.

Bug: 73134668
Test: Trigger fallback vibration, doesn't crash
Change-Id: I8d8987773eaf45d7989ae46305a9f1558a73c5da
/frameworks/base/services/core/java/com/android/server/VibratorService.java
4f07fa4e748c4f259a7ae9c06f89e44a9c69acff 09-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add support for vibrator HAL 1.2 effects."
f268bf573f671fdc051bf4485dc0ea972406ea38 08-Feb-2018 Michael Wright <michaelwr@google.com> Add support for vibrator HAL 1.2 effects.

Test: atest android.os.VibrationEffectTest
Bug: 64184692
Bug: 64185677
Change-Id: I0b3f9caa04b3e7bdadba5c44188120ac14943f82
/frameworks/base/services/core/java/com/android/server/VibratorService.java
7f38fb167f734336f8be09da2de90aa3b4edc02b 07-Feb-2018 Alexey Kuzmin <alexeykuzmin@google.com> Synchronize VibrationService

There was a race around the mCurrentVibration field.
Now all access to this field is protected with synchronized() blocks

Bug: 72685111
Test: RUN_ERROR_PRONE shows no GuardedBy errors in VibrationService
Change-Id: I303c30763b4dea7a82e2ec2a27f978c4b1d413ea
/frameworks/base/services/core/java/com/android/server/VibratorService.java
35a0c676eea576c8903477465e43a2ecc4dc68f6 24-Jan-2018 Michael Wright <michaelwr@google.com> Add setting to control vibration intensity.

This patch adds two distinct vibration control settings: one for
notifications and ringtones, and one for haptic feedback. Since we don't
always have the exact intent of a given vibration, VibratorService will
do its best to classify each VibrationEffect into one of these two
categories and then scale the vibration accordingly based on the
intensity setting.

Bug: 64185329
Test: cts-tradefed run commandAndExit cts-dev -m CtsOsTestCases -t android.os.cts.VibratorTest
cts-tradefed run commandAndExit cts-dev -m CtsOsTestCases -t android.os.cts.VibrationEffectTest
Change-Id: If16237f4782281aaab33e4a0f55c29f1a30ac493
/frameworks/base/services/core/java/com/android/server/VibratorService.java
36d873fd33fe16721ab1d8e2d40fe196a75d083d 08-Jan-2018 Michael Wright <michaelwr@google.com> Log vibrations in realtime, not the monotonic clock base.

Also, keep more vibration logs around for debugging by default and do a
bit of clean up in VibratorService.

Bug: 70283106
Test: flash, run dumpsys vibrator
Change-Id: Ib541be0ed97cdc6e2fda278fa59896d2fde20228
/frameworks/base/services/core/java/com/android/server/VibratorService.java
2eccd0262827259d15ceaa0fca975d3243c3a699 01-Nov-2017 Makoto Onuki <omakoto@google.com> Make the battery saver knobs hidden public,

so other components (system UI, settings, etc) can use them.

Bug: 68769804
Test: Build & presubmit
Change-Id: I30fe78e49d2187bee7c7aeba735cd9c26fc332a5
/frameworks/base/services/core/java/com/android/server/VibratorService.java
58c4631c29b4f36737f261d1a2888e66592eda32 05-Oct-2017 Michael Wright <michaelwr@google.com> Ignore non-repeating vibrations in favor of repeating vibrations.

This way we don't inadvertently cancel things like alarms and ring
tone vibrations in favor of one shot vibrations, which are typically
shorter and meant to be feedback rather than attention getting.

Test: start alarm, hit home button, see alarm vibration isn't cancelled.
Bug: 65621937
Change-Id: Ib7fcaea7bc7f101d738b72112c8d5096c4b34ca2
/frameworks/base/services/core/java/com/android/server/VibratorService.java
dc2b3be240705b53fa1749cbdaedd0a63931378d 02-Aug-2017 Michael Wright <michaelwr@google.com> Don't always fallback to clockTick for EFFECT_TICK.

Some things really need to be tuned in order to not annoy users, and
should otherwise be turned off. Let an effect state whether it should
fallback to a generic effect or should just be silent if there's no
hardware specific version of it.

Fixes: 65219268
Test: manual
Change-Id: I38fcbd6d80803cdf8f4ec04e8e1ac363b8d6361b
/frameworks/base/services/core/java/com/android/server/VibratorService.java
5e2e632085f44e289dfcf3d6c32e952244e894fc 15-Jul-2017 Felipe Leme <felipeal@google.com> Don't 'cmd vibrate' when on DND mode.

Test: manual verification
Fixes: 63509844

Change-Id: Ia9ce40d84427f2374a92117cfa49829e90bcb2c9
/frameworks/base/services/core/java/com/android/server/VibratorService.java
a550801c303a8da58bbae30f3feb31fb4d0d8074 07-Jun-2017 Tyler Freeman <fuego@google.com> Merge "Vibrator: Allow priority vibrations in low-power mode for accessibility." into oc-dev am: ac36c42a86
am: 8cb653925b

Change-Id: I7abd446e96368b50eeff92ea134aeea6999f7c7a
319a34ae87def49d503c19b24d3e00a8f7442809 05-May-2017 Tyler Freeman <fuego@google.com> Vibrator: Allow priority vibrations in low-power mode for accessibility.

This is mainly for Wear devices that don't have speakers.

Bug: 37543478

Test: Manual:
1. Activate low power mode `adb shell dumpsys battery unplug && adb shell settings put global low_power 1`
2. Then see if Alarm/Timer will vibrate.
3. Send a Hangout Test notification, make sure it does NOT vibrate.

On phones there should be no change. Alarms will not vibrate.

Change-Id: Ia6dffa7e528886e7c84390dbb33b44f298c7afa4
/frameworks/base/services/core/java/com/android/server/VibratorService.java
57d94d9fb1e55345307e579977138aaf6177e388 31-May-2017 Michael Wright <michaelwr@google.com> Add support for vibrator 1.1 HAL and TICK effect.

New HAL support is a bit hacky but gets us unblocked.

Bug: 38417655
Bug: 38417570
Test: Manual (hacked up 1.1 HAL implementation that just logs)
Change-Id: I207cce97c81734bac1ca00a5de18e160d13e2bbe
/frameworks/base/services/core/java/com/android/server/VibratorService.java
017939e43ceb847333d1115258c3db1411dbc03a 24-May-2017 Erik Wolsheimer <ewol@google.com> Respect empty vibration effect configs in PhoneWindowManager and VibratorService

Bug: 38084098
Change-Id: I9d9d3772b624af4f0f527f00c418e6c93cfff88e
/frameworks/base/services/core/java/com/android/server/VibratorService.java
b97ae357cad31913793f2695123c7f09cf5eaddf 23-May-2017 Erik Wolsheimer <ewol@google.com> Respect one-shot click effect config in VibratorService

Bug: 37248030
Change-Id: Ic0d687639bf9870813276578165132adec445a93
/frameworks/base/services/core/java/com/android/server/VibratorService.java
fe9a53bc45fd0124a876dc0a49680aaf86641d3e 31-Mar-2017 Jeff Sharkey <jsharkey@android.com> Consistent dump() permission checking.

This change introduces new methods on DumpUtils that can check if the
caller has DUMP and/or PACKAGE_USAGE_STATS access. It then moves all
existing dump() methods to use these checks so that we emit
consistent error messages.

Test: cts-tradefed run commandAndExit cts-dev -m CtsSecurityTestCases -t android.security.cts.ServicePermissionsTest
Bug: 32806790
Change-Id: Iaff6b9506818ee082b1e169c89ebe1001b3bfeca
/frameworks/base/services/core/java/com/android/server/VibratorService.java
7121697a5e2d4458f6f63e9eb3b5deec62ee6202 31-Jan-2017 Michael Wright <michaelwr@google.com> BZZZZZZT! BZZZZZT! New Vibrator APIs

Replace the existing Vibrator APIs with a new class to encapsulate the
haptic effect information, and add the ability to control the vibration
strength.

Test: cts-tradefed run commandAndExit cts-dev -m CtsOsTestCases -t android.os.cts.VibratorTest
cts-tradefed run commandAndExit cts-dev -m CtsOsTestCases -t android.os.cts.VibrationEffectTest
runtest systemui-notification
Manual testing with $T/google_experimental/users/michaelwr/Vibrator

Bug: 30961353

Change-Id: Idbb9864a7b084c85e7b7de3257a0e6b40d9d91d6
/frameworks/base/services/core/java/com/android/server/VibratorService.java
455e90add22835d0744fc0f5c2feb5fcaf03b28f 10-Feb-2017 jackqdyulei <jackqdyulei@google.com> Add BatterySaverPolicy for power save mode

The BatterySaverPolicy is designed to consolidate all battery saver
knobs into a central location. Usually it is consistent to
mLowPowerModeEnabled unless it gets different data for specific
service. By adding these knobs, we can effectively tune the battery
saver.

This cl sets up the framework for BatterySaverPolicy and updates
following service to get battery saver data from BatterySaverPolicy

1. GnssLocationProvider
2. VibratorService
3. WindowManagerService
4. BackupManagerService
5. SoundTriggerService
6. NetworkPolicyManagerService

Screen brightness will come in a following cl.

Bug: 34693888
Test: FrameworksServicesTests

Change-Id: I6b040e93391614b44d136a485faa4a332c396e51
/frameworks/base/services/core/java/com/android/server/VibratorService.java
a5281001dcd420e0d14ccb3d4872da0f200bc9b2 11-Feb-2017 Felipe Leme <felipeal@google.com> Created shell cmd to vibrate.

Syntax: cmd vibrator vibrate duration [description]

Where duration is is the 'duration' in ms (maximum is 200) and
'description' is an optional description for the stats.

BUG: 34346796
Test: manual verification

Change-Id: I3c548af22108dfcb1a1f6e71e3f1a3194d3f0e3c
/frameworks/base/services/core/java/com/android/server/VibratorService.java
dcbdc0df43310d9ecb2324be8c5bd54d7727230e 24-Jun-2016 Brad Ebinger <breadley@google.com> Access internal ringer mode to properly vibrate in DND

Currently, an incoming call will not vibrate properly in certain cases
in DND mode. Specifically, if Priority Only mode is set, but Calls from
anyone are allowed. We now get the internal ringer mode to detect if the
incoming call is ringing while in DND mode.

Bug: 29184073
Change-Id: I1e0e7cf384a2bc1df1378043cd3f7e9dec57a94c
/frameworks/base/services/core/java/com/android/server/VibratorService.java
4357e528208c301ccf733b074eb9a815997447c9 01-Jun-2016 Julia Reynolds <juliacr@google.com> Only call finish on operations that have started.

Change-Id: I77d10913a68be529ea2c5a3f2a53ad91a4a41f47
Fixes: 29069613
/frameworks/base/services/core/java/com/android/server/VibratorService.java
2d1c3b3a6cffd0a573aab5ac19f89a70d334540d 13-May-2016 Brad Ebinger <breadley@google.com> Add check for Vibration RingerMode in VibratorService

Add a check for whether or not the Phone is in the Vibrate RingerMode
when deciding whether or not to vibrate for an incoming call.

Bug: 28569078
Change-Id: Ib2e6243fd0b18c5426b5572c0806d67111a80a57
/frameworks/base/services/core/java/com/android/server/VibratorService.java
d28967f489996d1d74ff5c0bbb9c19d158efbf37 14-Apr-2016 Julia Reynolds <juliacr@google.com> Phone call vibrate should obey user preference.

Bug: 27353237
Change-Id: I6b52e378c9e664600720025af30596be09aeb19d
/frameworks/base/services/core/java/com/android/server/VibratorService.java
8ce2a538d9b94a0d8e1543c4ee4620a8af525276 26-Nov-2015 Yohei Yukawa <yukawa@google.com> Use Context.getSystemService(Class<T>) for InputManager.

This is a mechanical replacement of Context.getSystemService(String)
with Context.getSystemService(Class<T>) when retrieving InputManager.
Note those are bundled code. Hence we don't need to make sure
Build.VERSION.SDK_INT >= 23.

Change-Id: Iee47e374e1349720e3100bab33ed139e1f47c169
/frameworks/base/services/core/java/com/android/server/VibratorService.java
5603eca33c8e322997029d3101fd2442df3c274e 17-Nov-2015 Colin Cross <ccross@android.com> Merge "Vibra: Add loading of the vibrator hardware module."
18f18ae078ee97bbdfc9da39d4a19866dceb6a3e 11-Sep-2015 Jorim Jaggi <jjaggi@google.com> Allow camera launch also when device is interactive

Bug: 23967648
Change-Id: If91df75e6325b3969dc2351a70af0c160d3eab04
/frameworks/base/services/core/java/com/android/server/VibratorService.java
3a8eb0f670cc331b9e16fdedfab8b89ed9254317 26-Jun-2015 Filip Gruszczynski <gruszczy@google.com> Dump of previous vibrations.

It's hard to find previous vibrations when you chase excessive use that
impacts the battery. A dump of previous vibrations allows us to
investigate where the vibrations come from.

Bug: 21933068
Change-Id: I14944732927c73401e5adc7345ea9823092b1883
/frameworks/base/services/core/java/com/android/server/VibratorService.java
e6904fbdf7976abbadf3e7e658e9416ca49402f9 10-Aug-2012 Vincent Becker <vincentx.becker@intel.com> Vibra: Add loading of the vibrator hardware module.

Vibrator HAL is now formed of two hardware modules: one is the default
AOSP and the other is the vendor implementation.

The vendor implementation will be loaded prior to the default one.
For that, the vibrator service has to load the module before
registering itself to the JNI.

This change is related to other changes in:
- hardware/libhardware
- hardware/libhardware_legacy

Change-Id: I844279f5535289f079d412fdc44c5cb3c9c1130c
Author: Vincent Becker <vincentx.becker@intel.com>
Signed-off-by: Vincent Becker <vincentx.becker@intel.com>
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Signed-off-by: David Wagner <david.wagner@intel.com>
Author-tracking-BZ: 49760 94611
/frameworks/base/services/core/java/com/android/server/VibratorService.java
82379ba8ddc04116a40aa177df4ef6c2aa428a69 26-Jul-2014 Jeff Brown <jeffbrown@google.com> Don't suppress haptic feedback on keyguard anymore.

This enables haptic feedback from virtual keys, lift-to-wake,
and long-press power to work as expected on the keyguard.

There doesn't seem to be a good reason for us to block haptic feedback
on keyguard anymore. The PIN, pattern, and password locks already
bypass this check and vibrate and require a swipe to access in
the first place. So there doesn't seem to be much potential
for accidental vibration anymore.

If this becomes a problem then we can investigate more targeted
means to suppress undesired vibration.

Added some debugging code to VibratorService.

Bug: 16535403
Change-Id: Ia7a5d8c35244009db36c358e5cbcbf8cf5d68768
/frameworks/base/services/core/java/com/android/server/VibratorService.java
89c3b29a9bfa0ae9858b913bc1ab6604c4613a15 20-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> Rename USAGE_NOTIFICATION_TELEPHONY_RINGTONE

AudioAttributes: rename USAGE_NOTIFICATION_TELEPHONY_RINGTONE to
USAGE_NOTIFICATION_RINGTONE in the list of usage values.
Temporarily keep the old definition to prevent transient build
breakages, will be removed after telephony packages have been
updated.

Bug 16401631

Change-Id: I9398443fd7ba3c30e9d371c5c5a2934b9ea6f30a
/frameworks/base/services/core/java/com/android/server/VibratorService.java
7b41467704f941b11af6aace3e40993afc7f6c6f 18-Jul-2014 John Spurlock <jspurlock@google.com> Zen mode filtering should use new usage constants.

Refactor stream-based calls to usage-based calls.

Bug:15279516
Change-Id: I3f7757d8123c14670e2ad5f8e6aa4e9803efe7ec
/frameworks/base/services/core/java/com/android/server/VibratorService.java
eb94fa7975b1e8742f3b00cec6bd4f9d6b329e3a 04-Jun-2014 Dianne Hackborn <hackbod@google.com> Improvements to low power mode.

Add new public API for monitoring low power mode.

BatteryService now puts device in to low power mode when
battery level is low.

Window manager now watches low power mode to turn off
animations.

Modifying the animator scale now gets propagated to all
processes.

Change-Id: I8fa566994764ddd4e1977631e28381ab9409f8ee
/frameworks/base/services/core/java/com/android/server/VibratorService.java
7a32533c62fc7ac5d38f40de7372bc4314f7f2e5 21-May-2014 Jeff Brown <jeffbrown@google.com> am ccf51bef: am 2d9b513d: Merge "I\'m feeling the good vibrations." into klp-modular-dev

* commit 'ccf51bef288652cb618a566a376173e252b84af0':
I'm feeling the good vibrations.
969579bb9d208c91e081ff96d2fd788269d254bd 21-May-2014 Jeff Brown <jeffbrown@google.com> I'm feeling the good vibrations.

When the device enters a non-interactive state, we normally
cancel all active vibrations as a safety precaution. However if
the system is performing haptic feedback then we want to allow
it to run to completion.

Bug: 14319563
Change-Id: I673781bbf32562e45c1595689e6b423bd178ea73
/frameworks/base/services/core/java/com/android/server/VibratorService.java
664703d6be542d6feb64bca9ca5b2a7dbb8abd84 10-May-2014 Ruchi Kandoi <kandoiruchi@google.com> Vibrator: Minor coding style changes.

Corrects the coding style errors caused by
I762be1d51eedbf3184d80ed51dc93a0d113a6d5d

Change-Id: I5adb713611f5479b21dd32ed8d8d51cb1910bca9
/frameworks/base/services/core/java/com/android/server/VibratorService.java
13b03aff2993653ef8bde8bedb1bbcc0fe09ba94 08-May-2014 Ruchi Kandoi <kandoiruchi@google.com> Vibrator: Low Power Mode: Vibrator is turned off when the device is in
Low Power Mode

Vibrator is disabled for all touching and typing inputs during low power mode.

Change-Id: I762be1d51eedbf3184d80ed51dc93a0d113a6d5d
/frameworks/base/services/core/java/com/android/server/VibratorService.java
8fd7f1ed7c11d35b3f2a97878e68ee38a551dd15 11-Apr-2014 Christoph Studer <chstuder@google.com> Rename basePkg to opPkg

...and actually populate the field correctly.

Change-Id: I3ce52efedb919d6af75dc9c3532e47764c467cac
/frameworks/base/services/core/java/com/android/server/VibratorService.java
f9e1a0b369740e11ea1ed4f141ffb936fc1a6cdb 20-Mar-2014 John Spurlock <jspurlock@google.com> Annotate framework vibrate calls with stream hints.

Migrate existing framework usages of Vibrator.vibrate to use
the new overload with an explicit stream hint. This prevents
them from being blocked by rules targeting the unspecified stream.

For calls that pass the existing appops check in VibrateService,
pass streamHint down to the input device vibrator so we don't lose
the signal, but leave it up to InputManager to decide what to do
with it - currently unused.

Change-Id: I65c944e4010edea29a412bf57d8d7d3b8098b746
/frameworks/base/services/core/java/com/android/server/VibratorService.java
1af30c7ac480e5d335f267a3ac3b2e6c748ce240 10-Mar-2014 John Spurlock <jspurlock@google.com> Add stream-level suppression to vibrate/audio services.

- Add new audio restriction layer to app-ops. Restrictions add
additional constraints to audio operations at a stream-level.
Restrictions do not affect the persistable state, and are purely
additive: that is, they can only impose additional contstraints, not
enable something that has already been disabled. Restrictions
also support a whitelisted set of exempt package names.

- Add new audio stream-level checks to app-ops.

- Implement a provisional OP_PLAY_AUDIO suppression to three
java entry points MediaPlayer, AudioTrack, & SoundPool.

- Enhance vibrator api to take stream information as an optional
hint - the constants correspond to AudioManager stream types.
OP_VIBRATE now supports the stream-level restriction check.

- Simplify Vibrator subclasses by adding default implementations
for two .vibrate calls.

- Migrate NoMan's zen-mode control to use the new app-ops
stream-level restriction mechanism.

Change-Id: Ifae8952647202f728cf1c73e881452660c704678
/frameworks/base/services/core/java/com/android/server/VibratorService.java
9158825f9c41869689d6b1786d7c7aa8bdd524ce 22-Nov-2013 Amith Yamasani <yamasani@google.com> Move some system services to separate directories

Refactored the directory structure so that services can be optionally
excluded. This is step 1. Will be followed by another change that makes
it possible to remove services from the build.

Change-Id: Ideacedfd34b5e213217ad3ff4ebb21c4a8e73f85
/frameworks/base/services/core/java/com/android/server/VibratorService.java