From 8a50cda8f72738e943904fdf7cae189b2b0a8ea8 Mon Sep 17 00:00:00 2001 From: Zhou Song Date: Sat, 10 Jan 2015 00:01:36 +0800 Subject: camera: override shutter sound volume -Override shutter sound volume by reading property and using the value from the property. The global volume is re-set when camera recording is stopped or when the application exits CRs-Fixed: 716717 Change-Id: I6b40cddad99fdb12f6a3266217b1e98d347e0cd5 --- src/com/android/camera/CameraActivity.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java index d460867a6..9d2681723 100644 --- a/src/com/android/camera/CameraActivity.java +++ b/src/com/android/camera/CameraActivity.java @@ -49,6 +49,7 @@ import android.os.Handler; import android.os.IBinder; import android.os.Looper; import android.os.Message; +import android.os.SystemProperties; import android.preference.PreferenceManager; import android.provider.MediaStore; import android.provider.Settings; @@ -101,6 +102,8 @@ import java.io.File; import static com.android.camera.CameraManager.CameraOpenErrorCallback; +import android.media.AudioManager; + public class CameraActivity extends Activity implements ModuleSwitcher.ModuleSwitchListener, ActionBar.OnMenuVisibilityListener, @@ -213,6 +216,10 @@ public class CameraActivity extends Activity public static int SETTING_LIST_WIDTH_2 = 250; private Bitmap mPreviewThumbnailBitmap; + private AudioManager mAudioManager; + private int mShutterVol; + private int mOriginalMasterVol; + private class MyOrientationEventListener extends OrientationEventListener { public MyOrientationEventListener(Context context) { @@ -1159,6 +1166,12 @@ public class CameraActivity extends Activity super.onCreate(state); GcamHelper.init(getContentResolver()); + mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); + mOriginalMasterVol = mAudioManager.getMasterVolume(); + mShutterVol = SystemProperties.getInt("persist.camera.snapshot.volume", -1); + if (mShutterVol >= 0 && mShutterVol <= 100 ) + mAudioManager.setMasterVolume(mShutterVol,0); + getWindow().requestFeature(Window.FEATURE_ACTION_BAR); setContentView(R.layout.camera_filmstrip); @@ -1369,6 +1382,8 @@ public class CameraActivity extends Activity @Override public void onPause() { + if (mShutterVol >= 0 && mShutterVol <= 100) + mAudioManager.setMasterVolume(mOriginalMasterVol,0); // Delete photos that are pending deletion performDeletion(); mOrientationListener.disable(); @@ -1392,6 +1407,8 @@ public class CameraActivity extends Activity @Override public void onResume() { + if (mShutterVol >= 0 && mShutterVol <= 100) + mAudioManager.setMasterVolume(mShutterVol,0); // TODO: Handle this in OrientationManager. // Auto-rotate off if (Settings.System.getInt(getContentResolver(), @@ -1459,6 +1476,8 @@ public class CameraActivity extends Activity @Override public void onDestroy() { + if (mShutterVol >= 0 && mShutterVol <= 100) + mAudioManager.setMasterVolume(mOriginalMasterVol,0); if (mSecureCamera) { unregisterReceiver(mScreenOffReceiver); } -- cgit v1.2.3