Merge "Set audio attrs on volume + home button vibrations" into pi-dev

This commit is contained in:
TreeHugger Robot
2018-03-15 23:41:53 +00:00
committed by Android (Google) Code Review
2 changed files with 18 additions and 7 deletions

View File

@@ -18,6 +18,7 @@ package com.android.systemui.statusbar;
import android.content.Context;
import android.database.ContentObserver;
import android.media.AudioAttributes;
import android.os.AsyncTask;
import android.os.Handler;
import android.os.UserHandle;
@@ -30,6 +31,11 @@ public class VibratorHelper {
private final Vibrator mVibrator;
private final Context mContext;
private boolean mHapticFeedbackEnabled;
private static final AudioAttributes STATUS_BAR_VIBRATION_ATTRIBUTES =
new AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setUsage(AudioAttributes.USAGE_ASSISTANCE_SONIFICATION)
.build();
final private ContentObserver mVibrationObserver = new ContentObserver(Handler.getMain()) {
@Override
@@ -51,7 +57,8 @@ public class VibratorHelper {
public void vibrate(final int effectId) {
if (mHapticFeedbackEnabled) {
AsyncTask.execute(() ->
mVibrator.vibrate(VibrationEffect.get(effectId, false /* fallback */)));
mVibrator.vibrate(VibrationEffect.get(effectId, false /* fallback */),
STATUS_BAR_VIBRATION_ATTRIBUTES));
}
}

View File

@@ -26,8 +26,7 @@ import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.database.ContentObserver;
import android.media.AudioDeviceCallback;
import android.media.AudioDeviceInfo;
import android.media.AudioAttributes;
import android.media.AudioManager;
import android.media.AudioSystem;
import android.media.IVolumeController;
@@ -40,6 +39,7 @@ import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
import android.os.RemoteException;
import android.os.VibrationEffect;
import android.os.Vibrator;
import android.provider.Settings;
import android.service.notification.Condition;
@@ -59,9 +59,7 @@ import com.android.systemui.statusbar.phone.StatusBar;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -77,6 +75,11 @@ public class VolumeDialogControllerImpl implements VolumeDialogController, Dumpa
private static final int DYNAMIC_STREAM_START_INDEX = 100;
private static final int VIBRATE_HINT_DURATION = 50;
private static final AudioAttributes SONFICIATION_VIBRATION_ATTRIBUTES =
new AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setUsage(AudioAttributes.USAGE_ASSISTANCE_SONIFICATION)
.build();
static final ArrayMap<Integer, Integer> STREAMS = new ArrayMap<>();
static {
@@ -299,7 +302,8 @@ public class VolumeDialogControllerImpl implements VolumeDialogController, Dumpa
public void vibrate() {
if (mHasVibrator) {
mVibrator.vibrate(VIBRATE_HINT_DURATION);
mVibrator.vibrate(VibrationEffect.createOneShot(VIBRATE_HINT_DURATION,
VibrationEffect.DEFAULT_AMPLITUDE), SONFICIATION_VIBRATION_ATTRIBUTES);
}
}
@@ -308,7 +312,7 @@ public class VolumeDialogControllerImpl implements VolumeDialogController, Dumpa
}
private void onNotifyVisibleW(boolean visible) {
if (mDestroyed) return;
if (mDestroyed) return;
mAudio.notifyVolumeControllerVisible(mVolumeController, visible);
if (!visible) {
if (updateActiveStreamW(-1)) {