Merge "Audio Policy: Clear calling identity for all paths setting ringer mode." into lmp-mr1-dev

This commit is contained in:
John Spurlock
2014-12-24 01:16:12 +00:00
committed by Android (Google) Code Review

View File

@@ -1841,22 +1841,12 @@ public class AudioService extends IAudioService.Stub {
} }
public void setRingerModeExternal(int ringerMode, String caller) { public void setRingerModeExternal(int ringerMode, String caller) {
final long identity = Binder.clearCallingIdentity();
try {
setRingerMode(ringerMode, caller, true /*external*/); setRingerMode(ringerMode, caller, true /*external*/);
} finally {
Binder.restoreCallingIdentity(identity);
}
} }
public void setRingerModeInternal(int ringerMode, String caller) { public void setRingerModeInternal(int ringerMode, String caller) {
enforceSelfOrSystemUI("setRingerModeInternal"); enforceSelfOrSystemUI("setRingerModeInternal");
final long identity = Binder.clearCallingIdentity();
try {
setRingerMode(ringerMode, caller, false /*external*/); setRingerMode(ringerMode, caller, false /*external*/);
} finally {
Binder.restoreCallingIdentity(identity);
}
} }
private void setRingerMode(int ringerMode, String caller, boolean external) { private void setRingerMode(int ringerMode, String caller, boolean external) {
@@ -1870,6 +1860,8 @@ public class AudioService extends IAudioService.Stub {
if ((ringerMode == AudioManager.RINGER_MODE_VIBRATE) && !mHasVibrator) { if ((ringerMode == AudioManager.RINGER_MODE_VIBRATE) && !mHasVibrator) {
ringerMode = AudioManager.RINGER_MODE_SILENT; ringerMode = AudioManager.RINGER_MODE_SILENT;
} }
final long identity = Binder.clearCallingIdentity();
try {
synchronized (mSettingsLock) { synchronized (mSettingsLock) {
final int ringerModeInternal = getRingerModeInternal(); final int ringerModeInternal = getRingerModeInternal();
final int ringerModeExternal = getRingerModeExternal(); final int ringerModeExternal = getRingerModeExternal();
@@ -1893,6 +1885,9 @@ public class AudioService extends IAudioService.Stub {
setRingerModeExt(ringerMode); setRingerModeExt(ringerMode);
} }
} }
} finally {
Binder.restoreCallingIdentity(identity);
}
} }
private void setRingerModeExt(int ringerMode) { private void setRingerModeExt(int ringerMode) {