summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAshwin R C <ashwin2001achu@gmail.com>2020-05-27 10:26:16 +0000
committerMichael Bestas <mkbestas@lineageos.org>2020-06-08 17:23:21 +0200
commitaa9fbad20ad63940358f8461879bd34ec5d216f3 (patch)
tree75bbd696dd1e761a6805b56bb759af945f5c447d
parentd10203dde46ee7f94a5ae3a65800c8a409a9a4b4 (diff)
downloadframeworks_base-aa9fbad20ad63940358f8461879bd34ec5d216f3.tar.gz
frameworks_base-aa9fbad20ad63940358f8461879bd34ec5d216f3.tar.bz2
frameworks_base-aa9fbad20ad63940358f8461879bd34ec5d216f3.zip
SystemUI: Adapt screenshot sound to ringer modes
Change-Id: I381c351131241e45ddb6049706d6c302c2eee946
-rw-r--r--packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java26
1 files changed, 24 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
index 24ac156f04d..17ebe3a2d9b 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
@@ -64,6 +64,7 @@ import android.graphics.Picture;
import android.graphics.PixelFormat;
import android.graphics.PointF;
import android.graphics.Rect;
+import android.media.AudioManager;
import android.media.MediaActionSound;
import android.net.Uri;
import android.os.AsyncTask;
@@ -77,6 +78,8 @@ import android.os.ServiceManager;
import android.os.SystemClock;
import android.os.UserHandle;
import android.os.UserManager;
+import android.os.VibrationEffect;
+import android.os.Vibrator;
import android.provider.DeviceConfig;
import android.provider.MediaStore;
import android.text.TextUtils;
@@ -661,6 +664,8 @@ class GlobalScreenshot {
private AsyncTask<Void, Void, Void> mSaveInBgTask;
private MediaActionSound mCameraSound;
+ private AudioManager mAudioManager;
+ private Vibrator mVibrator;
/**
@@ -734,6 +739,10 @@ class GlobalScreenshot {
// Setup the Camera shutter sound
mCameraSound = new MediaActionSound();
mCameraSound.load(MediaActionSound.SHUTTER_CLICK);
+
+ // Grab system services needed for screenshot sound
+ mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
+ mVibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
}
/**
@@ -968,8 +977,21 @@ class GlobalScreenshot {
mScreenshotLayout.post(new Runnable() {
@Override
public void run() {
- // Play the shutter sound to notify that we've taken a screenshot
- mCameraSound.play(MediaActionSound.SHUTTER_CLICK);
+ switch (mAudioManager.getRingerMode()) {
+ case AudioManager.RINGER_MODE_SILENT:
+ // do nothing
+ break;
+ case AudioManager.RINGER_MODE_VIBRATE:
+ if (mVibrator != null && mVibrator.hasVibrator()) {
+ mVibrator.vibrate(VibrationEffect.createOneShot(50,
+ VibrationEffect.DEFAULT_AMPLITUDE));
+ }
+ break;
+ case AudioManager.RINGER_MODE_NORMAL:
+ // Play the shutter sound to notify that we've taken a screenshot
+ mCameraSound.play(MediaActionSound.SHUTTER_CLICK);
+ break;
+ }
mScreenshotView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
mScreenshotView.buildLayer();