DO NOT MERGE - Don't 'cmd vibrate' when on DND mode.
Test: manual verification Fixes: 63509844 Change-Id: I52aeffeffa88c982035de763f3d2097747b48383 (cherry picked from commit Ia9ce40d84427f2374a92117cfa49829e90bcb2c9)
This commit is contained in:
@@ -48,6 +48,7 @@ import android.os.VibrationEffect;
|
||||
import android.os.WorkSource;
|
||||
import android.provider.Settings;
|
||||
import android.provider.Settings.SettingNotFoundException;
|
||||
import android.util.DebugUtils;
|
||||
import android.util.Slog;
|
||||
import android.view.InputDevice;
|
||||
import android.media.AudioAttributes;
|
||||
@@ -60,10 +61,7 @@ import com.android.server.power.BatterySaverPolicy.ServiceType;
|
||||
import java.io.FileDescriptor;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedList;
|
||||
import java.util.ListIterator;
|
||||
|
||||
public class VibratorService extends IVibratorService.Stub
|
||||
implements InputManager.InputDeviceListener {
|
||||
@@ -948,6 +946,21 @@ public class VibratorService extends IVibratorService.Stub
|
||||
}
|
||||
|
||||
private int runVibrate() {
|
||||
try {
|
||||
final int zenMode = Settings.Global.getInt(mContext.getContentResolver(),
|
||||
Settings.Global.ZEN_MODE);
|
||||
if (zenMode != Settings.Global.ZEN_MODE_OFF) {
|
||||
try (PrintWriter pw = getOutPrintWriter();) {
|
||||
pw.print("Ignoring because device is on DND mode ");
|
||||
pw.println(DebugUtils.flagsToString(Settings.Global.class, "ZEN_MODE_",
|
||||
zenMode));
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
} catch (SettingNotFoundException e) {
|
||||
// ignore
|
||||
}
|
||||
|
||||
final long duration = Long.parseLong(getNextArgRequired());
|
||||
if (duration > MAX_VIBRATION_MS) {
|
||||
throw new IllegalArgumentException("maximum duration is " + MAX_VIBRATION_MS);
|
||||
@@ -972,7 +985,8 @@ public class VibratorService extends IVibratorService.Stub
|
||||
pw.println(" Prints this help text.");
|
||||
pw.println("");
|
||||
pw.println(" vibrate duration [description]");
|
||||
pw.println(" Vibrates for duration milliseconds.");
|
||||
pw.println(" Vibrates for duration milliseconds; ignored when device is on DND ");
|
||||
pw.println(" (Do Not Disturb) mode.");
|
||||
pw.println("");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user