Merge "AudioService: fix step rescaling." am: 7516db2ec2 am: 87daf33b20

am: a5797a0b66

Change-Id: I4d27ebef1d24c0efefebfbd04597088bed740456
This commit is contained in:
chenhg
2019-11-05 12:16:51 -08:00
committed by android-build-merger

View File

@@ -1583,12 +1583,13 @@ public class AudioService extends IAudioService.Stub
setMicrophoneMuteNoCallerCheck(currentUser);
}
private int rescaleIndex(int index, int srcStream, int dstStream) {
int srcRange =
mStreamStates[srcStream].getMaxIndex() - mStreamStates[srcStream].getMinIndex();
int dstRange =
mStreamStates[dstStream].getMaxIndex() - mStreamStates[dstStream].getMinIndex();
private int getIndexRange(int streamType) {
return (mStreamStates[streamType].getMaxIndex() - mStreamStates[streamType].getMinIndex());
}
private int rescaleIndex(int index, int srcStream, int dstStream) {
int srcRange = getIndexRange(srcStream);
int dstRange = getIndexRange(dstStream);
if (srcRange == 0) {
Log.e(TAG, "rescaleIndex : index range should not be zero");
return mStreamStates[dstStream].getMinIndex();
@@ -1599,6 +1600,17 @@ public class AudioService extends IAudioService.Stub
/ srcRange;
}
private int rescaleStep(int step, int srcStream, int dstStream) {
int srcRange = getIndexRange(srcStream);
int dstRange = getIndexRange(dstStream);
if (srcRange == 0) {
Log.e(TAG, "rescaleStep : index range should not be zero");
return 0;
}
return ((step * dstRange + srcRange / 2) / srcRange);
}
///////////////////////////////////////////////////////////////////////////
// IPC methods
///////////////////////////////////////////////////////////////////////////
@@ -1775,7 +1787,7 @@ public class AudioService extends IAudioService.Stub
}
} else {
// convert one UI step (+/-1) into a number of internal units on the stream alias
step = rescaleIndex(10, streamType, streamTypeAlias);
step = rescaleStep(10, streamType, streamTypeAlias);
}
// If either the client forces allowing ringer modes for this adjustment,