diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index cfa7ae772fce2..20e26e6a8bbe8 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -5131,6 +5131,13 @@ public final class Settings { */ public static final String UNLOCK_SOUND = "unlock_sound"; + /** + * URI for the "device is trusted" sound, which is played when the device enters the trusted + * state without unlocking. + * @hide + */ + public static final String TRUSTED_SOUND = "trusted_sound"; + /** * URI for the low battery sound file. * @hide diff --git a/data/sounds/AllAudio.mk b/data/sounds/AllAudio.mk index ed9bea52cb825..f6d8ee962fcc7 100644 --- a/data/sounds/AllAudio.mk +++ b/data/sounds/AllAudio.mk @@ -226,6 +226,7 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/effects/ogg/LowBattery.ogg:system/media/audio/ui/LowBattery.ogg \ $(LOCAL_PATH)/effects/ogg/Undock.ogg:system/media/audio/ui/Undock.ogg \ $(LOCAL_PATH)/effects/ogg/Unlock.ogg:system/media/audio/ui/Unlock.ogg \ + $(LOCAL_PATH)/effects/ogg/Trusted_48k.ogg:system/media/audio/ui/Trusted.ogg \ $(LOCAL_PATH)/effects/ogg/VideoRecord_48k.ogg:system/media/audio/ui/VideoRecord.ogg \ $(LOCAL_PATH)/effects/ogg/WirelessChargingStarted.ogg:system/media/audio/ui/WirelessChargingStarted.ogg \ $(LOCAL_PATH)/effects/ogg/camera_click_48k.ogg:system/media/audio/ui/camera_click.ogg \ diff --git a/data/sounds/AudioPackage10.mk b/data/sounds/AudioPackage10.mk index ae4bc8839aa0c..879e57a7c1472 100644 --- a/data/sounds/AudioPackage10.mk +++ b/data/sounds/AudioPackage10.mk @@ -30,6 +30,7 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/effects/ogg/Undock.ogg:system/media/audio/ui/Undock.ogg \ $(LOCAL_PATH)/effects/ogg/Lock_48k.ogg:system/media/audio/ui/Lock.ogg \ $(LOCAL_PATH)/effects/ogg/Unlock_48k.ogg:system/media/audio/ui/Unlock.ogg \ + $(LOCAL_PATH)/effects/ogg/Trusted_48k.ogg:system/media/audio/ui/Trusted.ogg \ $(LOCAL_PATH)/effects/ogg/WirelessChargingStarted.ogg:system/media/audio/ui/WirelessChargingStarted.ogg \ $(LOCAL_PATH)/notifications/ogg/Adara.ogg:system/media/audio/notifications/Adara.ogg \ $(LOCAL_PATH)/notifications/ogg/Alya.ogg:system/media/audio/notifications/Alya.ogg \ diff --git a/data/sounds/AudioPackage11.mk b/data/sounds/AudioPackage11.mk index 3c0929720449d..03e205b5d588a 100644 --- a/data/sounds/AudioPackage11.mk +++ b/data/sounds/AudioPackage11.mk @@ -30,6 +30,7 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/effects/ogg/Undock.ogg:system/media/audio/ui/Undock.ogg \ $(LOCAL_PATH)/effects/ogg/Lock_48k.ogg:system/media/audio/ui/Lock.ogg \ $(LOCAL_PATH)/effects/ogg/Unlock_48k.ogg:system/media/audio/ui/Unlock.ogg \ + $(LOCAL_PATH)/effects/ogg/Trusted_48k.ogg:system/media/audio/ui/Trusted.ogg \ $(LOCAL_PATH)/effects/ogg/WirelessChargingStarted.ogg:system/media/audio/ui/WirelessChargingStarted.ogg \ $(LOCAL_PATH)/notifications/ogg/Adara.ogg:system/media/audio/notifications/Adara.ogg \ $(LOCAL_PATH)/notifications/ogg/Alya.ogg:system/media/audio/notifications/Alya.ogg \ diff --git a/data/sounds/AudioPackage12.mk b/data/sounds/AudioPackage12.mk index af89a821024ab..c37c392faef2c 100644 --- a/data/sounds/AudioPackage12.mk +++ b/data/sounds/AudioPackage12.mk @@ -12,7 +12,8 @@ ALARM_FILES := Argon Carbon Helium Krypton Neon Oxygen Osmium Platinum NOTIFICATION_FILES := Ariel Ceres Carme Elara Europa Iapetus Io Rhea Salacia Titan Tethys RINGTONE_FILES := Callisto Dione Ganymede Luna Oberon Phobos Sedna Titania Triton Umbriel EFFECT_FILES := Effect_Tick KeypressReturn KeypressInvalid KeypressDelete KeypressSpacebar KeypressStandard \ - VideoRecord camera_click camera_focus LowBattery Dock Undock Lock Unlock WirelessChargingStarted + VideoRecord camera_click camera_focus LowBattery Dock Undock Lock Unlock WirelessChargingStarted \ + Trusted PRODUCT_COPY_FILES += $(foreach fn,$(ALARM_FILES),\ $(LOCAL_PATH)/alarms/ogg/$(fn).ogg:system/media/audio/alarms/$(fn).ogg) diff --git a/data/sounds/AudioPackage12_48.mk b/data/sounds/AudioPackage12_48.mk index 636bb9f07c40d..2a5efb01c397b 100644 --- a/data/sounds/AudioPackage12_48.mk +++ b/data/sounds/AudioPackage12_48.mk @@ -12,7 +12,7 @@ ALARM_FILES := Argon Carbon Helium Krypton Neon Oxygen Osmium Platinum NOTIFICATION_FILES := Ariel Ceres Carme Elara Europa Iapetus Io Rhea Salacia Titan Tethys RINGTONE_FILES := Callisto Dione Ganymede Luna Oberon Phobos Sedna Titania Triton Umbriel EFFECT_FILES := Effect_Tick KeypressReturn KeypressInvalid KeypressDelete KeypressSpacebar KeypressStandard \ - VideoRecord camera_click Lock Unlock + VideoRecord camera_click Lock Unlock Trusted # Alarms not yet available in 48 kHz PRODUCT_COPY_FILES += $(foreach fn,$(ALARM_FILES),\ @@ -33,4 +33,4 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/effects/ogg/LowBattery.ogg:system/media/audio/ui/LowBattery.ogg \ $(LOCAL_PATH)/effects/ogg/WirelessChargingStarted.ogg:system/media/audio/ui/WirelessChargingStarted.ogg \ $(LOCAL_PATH)/effects/ogg/Dock.ogg:system/media/audio/ui/Dock.ogg \ - $(LOCAL_PATH)/effects/ogg/Undock.ogg:system/media/audio/ui/Undock.ogg + $(LOCAL_PATH)/effects/ogg/Undock.ogg:system/media/audio/ui/Undock.ogg \ No newline at end of file diff --git a/data/sounds/AudioPackage2.mk b/data/sounds/AudioPackage2.mk index ea07acd94148e..ba9d7e22e0d01 100644 --- a/data/sounds/AudioPackage2.mk +++ b/data/sounds/AudioPackage2.mk @@ -40,6 +40,7 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/effects/Undock.ogg:system/media/audio/ui/Undock.ogg \ $(LOCAL_PATH)/effects/Lock.ogg:system/media/audio/ui/Lock.ogg \ $(LOCAL_PATH)/effects/Unlock.ogg:system/media/audio/ui/Unlock.ogg \ + $(LOCAL_PATH)/effects/ogg/Trusted.ogg:system/media/audio/ui/Trusted.ogg \ $(LOCAL_PATH)/notifications/moonbeam.ogg:system/media/audio/notifications/moonbeam.ogg \ $(LOCAL_PATH)/notifications/pixiedust.ogg:system/media/audio/notifications/pixiedust.ogg \ $(LOCAL_PATH)/notifications/pizzicato.ogg:system/media/audio/notifications/pizzicato.ogg \ diff --git a/data/sounds/AudioPackage3.mk b/data/sounds/AudioPackage3.mk index a8a3b7604dca7..5bfeb42724489 100644 --- a/data/sounds/AudioPackage3.mk +++ b/data/sounds/AudioPackage3.mk @@ -40,6 +40,7 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/effects/Undock.ogg:system/media/audio/ui/Undock.ogg \ $(LOCAL_PATH)/effects/Lock.ogg:system/media/audio/ui/Lock.ogg \ $(LOCAL_PATH)/effects/Unlock.ogg:system/media/audio/ui/Unlock.ogg \ + $(LOCAL_PATH)/effects/ogg/Trusted.ogg:system/media/audio/ui/Trusted.ogg \ $(LOCAL_PATH)/notifications/moonbeam.ogg:system/media/audio/notifications/moonbeam.ogg \ $(LOCAL_PATH)/notifications/pixiedust.ogg:system/media/audio/notifications/pixiedust.ogg \ $(LOCAL_PATH)/notifications/pizzicato.ogg:system/media/audio/notifications/pizzicato.ogg \ diff --git a/data/sounds/AudioPackage4.mk b/data/sounds/AudioPackage4.mk index bde3ba0d9d8f8..43dbe207edd5b 100644 --- a/data/sounds/AudioPackage4.mk +++ b/data/sounds/AudioPackage4.mk @@ -45,6 +45,7 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/effects/Undock.ogg:system/media/audio/ui/Undock.ogg \ $(LOCAL_PATH)/effects/Lock.ogg:system/media/audio/ui/Lock.ogg \ $(LOCAL_PATH)/effects/Unlock.ogg:system/media/audio/ui/Unlock.ogg \ + $(LOCAL_PATH)/effects/ogg/Trusted.ogg:system/media/audio/ui/Trusted.ogg \ $(LOCAL_PATH)/Ring_Classic_02.ogg:system/media/audio/ringtones/Ring_Classic_02.ogg \ $(LOCAL_PATH)/Ring_Digital_02.ogg:system/media/audio/ringtones/Ring_Digital_02.ogg \ $(LOCAL_PATH)/Ring_Synth_04.ogg:system/media/audio/ringtones/Ring_Synth_04.ogg \ diff --git a/data/sounds/AudioPackage5.mk b/data/sounds/AudioPackage5.mk index 077335b56127d..fbbb16a3572e0 100644 --- a/data/sounds/AudioPackage5.mk +++ b/data/sounds/AudioPackage5.mk @@ -27,6 +27,7 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/effects/Undock.ogg:system/media/audio/ui/Undock.ogg \ $(LOCAL_PATH)/effects/Lock.ogg:system/media/audio/ui/Lock.ogg \ $(LOCAL_PATH)/effects/Unlock.ogg:system/media/audio/ui/Unlock.ogg \ + $(LOCAL_PATH)/effects/ogg/Trusted.ogg:system/media/audio/ui/Trusted.ogg \ $(LOCAL_PATH)/notifications/Aldebaran.ogg:system/media/audio/notifications/Aldebaran.ogg \ $(LOCAL_PATH)/notifications/Altair.ogg:system/media/audio/notifications/Altair.ogg \ $(LOCAL_PATH)/notifications/Antares.ogg:system/media/audio/notifications/Antares.ogg \ diff --git a/data/sounds/AudioPackage6.mk b/data/sounds/AudioPackage6.mk index 2cdd702f8919e..3205c0ee04509 100644 --- a/data/sounds/AudioPackage6.mk +++ b/data/sounds/AudioPackage6.mk @@ -26,6 +26,7 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/effects/ogg/Undock.ogg:system/media/audio/ui/Undock.ogg \ $(LOCAL_PATH)/effects/ogg/Lock.ogg:system/media/audio/ui/Lock.ogg \ $(LOCAL_PATH)/effects/ogg/Unlock.ogg:system/media/audio/ui/Unlock.ogg \ + $(LOCAL_PATH)/effects/ogg/Trusted.ogg:system/media/audio/ui/Trusted.ogg \ $(LOCAL_PATH)/notifications/ogg/Antimony.ogg:system/media/audio/notifications/Antimony.ogg \ $(LOCAL_PATH)/notifications/ogg/Argon.ogg:system/media/audio/notifications/Argon.ogg \ $(LOCAL_PATH)/notifications/ogg/Beryllium.ogg:system/media/audio/notifications/Beryllium.ogg \ diff --git a/data/sounds/AudioPackage7.mk b/data/sounds/AudioPackage7.mk index e909235d9a24e..c92c1d061198c 100644 --- a/data/sounds/AudioPackage7.mk +++ b/data/sounds/AudioPackage7.mk @@ -28,6 +28,7 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/effects/ogg/Undock.ogg:system/media/audio/ui/Undock.ogg \ $(LOCAL_PATH)/effects/ogg/Lock.ogg:system/media/audio/ui/Lock.ogg \ $(LOCAL_PATH)/effects/ogg/Unlock.ogg:system/media/audio/ui/Unlock.ogg \ + $(LOCAL_PATH)/effects/ogg/Trusted.ogg:system/media/audio/ui/Trusted.ogg \ $(LOCAL_PATH)/notifications/ogg/Adara.ogg:system/media/audio/notifications/Adara.ogg \ $(LOCAL_PATH)/notifications/ogg/Arcturus.ogg:system/media/audio/notifications/Arcturus.ogg \ $(LOCAL_PATH)/notifications/ogg/Bellatrix.ogg:system/media/audio/notifications/Bellatrix.ogg \ diff --git a/data/sounds/AudioPackage7alt.mk b/data/sounds/AudioPackage7alt.mk index 1132fa951812b..9c35a2ee2cdb8 100644 --- a/data/sounds/AudioPackage7alt.mk +++ b/data/sounds/AudioPackage7alt.mk @@ -27,6 +27,7 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/effects/ogg/Undock.ogg:system/media/audio/ui/Undock.ogg \ $(LOCAL_PATH)/effects/ogg/Lock.ogg:system/media/audio/ui/Lock.ogg \ $(LOCAL_PATH)/effects/ogg/Unlock.ogg:system/media/audio/ui/Unlock.ogg \ + $(LOCAL_PATH)/effects/ogg/Trusted.ogg:system/media/audio/ui/Trusted.ogg \ $(LOCAL_PATH)/notifications/ogg/Adara.ogg:system/media/audio/notifications/Adara.ogg \ $(LOCAL_PATH)/notifications/ogg/Arcturus.ogg:system/media/audio/notifications/Arcturus.ogg \ $(LOCAL_PATH)/notifications/ogg/Bellatrix.ogg:system/media/audio/notifications/Bellatrix.ogg \ diff --git a/data/sounds/AudioPackage8.mk b/data/sounds/AudioPackage8.mk index 0f4b8adb27c76..b8be4e3e4964f 100644 --- a/data/sounds/AudioPackage8.mk +++ b/data/sounds/AudioPackage8.mk @@ -30,6 +30,7 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/effects/ogg/Undock.ogg:system/media/audio/ui/Undock.ogg \ $(LOCAL_PATH)/effects/ogg/Lock.ogg:system/media/audio/ui/Lock.ogg \ $(LOCAL_PATH)/effects/ogg/Unlock.ogg:system/media/audio/ui/Unlock.ogg \ + $(LOCAL_PATH)/effects/ogg/Trusted.ogg:system/media/audio/ui/Trusted.ogg \ $(LOCAL_PATH)/notifications/ogg/Adara.ogg:system/media/audio/notifications/Adara.ogg \ $(LOCAL_PATH)/notifications/ogg/Arcturus.ogg:system/media/audio/notifications/Arcturus.ogg \ $(LOCAL_PATH)/notifications/ogg/Bellatrix.ogg:system/media/audio/notifications/Bellatrix.ogg \ diff --git a/data/sounds/AudioPackage9.mk b/data/sounds/AudioPackage9.mk index 36dc921501e4c..9b761bc0fdbcc 100644 --- a/data/sounds/AudioPackage9.mk +++ b/data/sounds/AudioPackage9.mk @@ -30,6 +30,7 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/effects/ogg/Undock.ogg:system/media/audio/ui/Undock.ogg \ $(LOCAL_PATH)/effects/ogg/Lock.ogg:system/media/audio/ui/Lock.ogg \ $(LOCAL_PATH)/effects/ogg/Unlock.ogg:system/media/audio/ui/Unlock.ogg \ + $(LOCAL_PATH)/effects/ogg/Trusted.ogg:system/media/audio/ui/Trusted.ogg \ $(LOCAL_PATH)/notifications/ogg/Adara.ogg:system/media/audio/notifications/Adara.ogg \ $(LOCAL_PATH)/notifications/ogg/Alya.ogg:system/media/audio/notifications/Alya.ogg \ $(LOCAL_PATH)/notifications/ogg/Arcturus.ogg:system/media/audio/notifications/Arcturus.ogg \ diff --git a/data/sounds/effects/ogg/Trusted.ogg b/data/sounds/effects/ogg/Trusted.ogg new file mode 100644 index 0000000000000..d7f65ee59ac55 Binary files /dev/null and b/data/sounds/effects/ogg/Trusted.ogg differ diff --git a/data/sounds/effects/ogg/Trusted_48k.ogg b/data/sounds/effects/ogg/Trusted_48k.ogg new file mode 100644 index 0000000000000..2b63c39f66808 Binary files /dev/null and b/data/sounds/effects/ogg/Trusted_48k.ogg differ diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardSimpleHostView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardSimpleHostView.java index f009787796812..828c921df8e2f 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardSimpleHostView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardSimpleHostView.java @@ -77,7 +77,7 @@ public class KeyguardSimpleHostView extends KeyguardViewBase { if (isVisibleToUser()) { dismiss(false /* authenticated */); } else { - // TODO: Play first half of unlock sound. + mViewMediatorCallback.playTrustedSound(); } } }; diff --git a/packages/Keyguard/src/com/android/keyguard/ViewMediatorCallback.java b/packages/Keyguard/src/com/android/keyguard/ViewMediatorCallback.java index 2e5450de1d1df..0c9dbc4a442e5 100644 --- a/packages/Keyguard/src/com/android/keyguard/ViewMediatorCallback.java +++ b/packages/Keyguard/src/com/android/keyguard/ViewMediatorCallback.java @@ -66,4 +66,9 @@ public interface ViewMediatorCallback { * Report when the UI is ready for dismissing the whole Keyguard. */ void readyForKeyguardDone(); + + /** + * Play the "device trusted" sound. + */ + void playTrustedSound(); } diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml index 478a5decd6c7a..299e50cf73f99 100644 --- a/packages/SettingsProvider/res/values/defaults.xml +++ b/packages/SettingsProvider/res/values/defaults.xml @@ -73,6 +73,7 @@ 1 /system/media/audio/ui/Lock.ogg /system/media/audio/ui/Unlock.ogg + /system/media/audio/ui/Trusted.ogg /system/media/audio/ui/WirelessChargingStarted.ogg false diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java index 7c92cded7bcfd..13301fbd5c11f 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java @@ -70,7 +70,7 @@ public class DatabaseHelper extends SQLiteOpenHelper { // database gets upgraded properly. At a minimum, please confirm that 'upgradeVersion' // is properly propagated through your change. Not doing so will result in a loss of user // settings. - private static final int DATABASE_VERSION = 106; + private static final int DATABASE_VERSION = 107; private Context mContext; private int mUserHandle; @@ -1694,6 +1694,26 @@ public class DatabaseHelper extends SQLiteOpenHelper { } upgradeVersion = 106; } + + if (upgradeVersion < 107) { + // Add trusted sound setting + if (mUserHandle == UserHandle.USER_OWNER) { + db.beginTransaction(); + SQLiteStatement stmt = null; + try { + stmt = db.compileStatement("INSERT OR REPLACE INTO global(name,value)" + + " VALUES(?,?);"); + loadStringSetting(stmt, Settings.Global.TRUSTED_SOUND, + R.string.def_trusted_sound); + db.setTransactionSuccessful(); + } finally { + db.endTransaction(); + if (stmt != null) stmt.close(); + } + } + upgradeVersion = 107; + } + // *** Remember to update DATABASE_VERSION above! if (upgradeVersion != currentVersion) { @@ -2373,6 +2393,8 @@ public class DatabaseHelper extends SQLiteOpenHelper { R.string.def_lock_sound); loadStringSetting(stmt, Settings.Global.UNLOCK_SOUND, R.string.def_unlock_sound); + loadStringSetting(stmt, Settings.Global.TRUSTED_SOUND, + R.string.def_trusted_sound); loadIntegerSetting(stmt, Settings.Global.POWER_SOUNDS_ENABLED, R.integer.def_power_sounds_enabled); loadStringSetting(stmt, Settings.Global.LOW_BATTERY_SOUND, diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java index be1122059635f..ad568b82cb652 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java @@ -262,6 +262,7 @@ public class KeyguardViewMediator extends SystemUI { private SoundPool mLockSounds; private int mLockSoundId; private int mUnlockSoundId; + private int mTrustedSoundId; private int mLockSoundStreamId; /** @@ -451,6 +452,11 @@ public class KeyguardViewMediator extends SystemUI { KeyguardViewMediator.this.keyguardDone(true /* authenticated */, true /* wakeUp */); } } + + @Override + public void playTrustedSound() { + KeyguardViewMediator.this.playTrustedSound(); + } }; public void userActivity() { @@ -500,6 +506,14 @@ public class KeyguardViewMediator extends SystemUI { if (soundPath == null || mUnlockSoundId == 0) { Log.w(TAG, "failed to load unlock sound from " + soundPath); } + soundPath = Settings.Global.getString(cr, Settings.Global.TRUSTED_SOUND); + if (soundPath != null) { + mTrustedSoundId = mLockSounds.load(soundPath, 1); + } + if (soundPath == null || mTrustedSoundId == 0) { + Log.w(TAG, "failed to load trusted sound from " + soundPath); + } + int lockSoundDefaultAttenuation = mContext.getResources().getInteger( com.android.internal.R.integer.config_lockSoundVolumeDb); mLockSoundVolume = (float)Math.pow(10, (float)lockSoundDefaultAttenuation/20); @@ -1155,11 +1169,14 @@ public class KeyguardViewMediator extends SystemUI { return; } + playSound(locked ? mLockSoundId : mUnlockSoundId); + } + + private void playSound(int soundId) { + if (soundId == 0) return; final ContentResolver cr = mContext.getContentResolver(); if (Settings.System.getInt(cr, Settings.System.LOCKSCREEN_SOUNDS_ENABLED, 1) == 1) { - final int whichSound = locked - ? mLockSoundId - : mUnlockSoundId; + mLockSounds.stop(mLockSoundStreamId); // Init mAudioManager if (mAudioManager == null) { @@ -1170,11 +1187,18 @@ public class KeyguardViewMediator extends SystemUI { // If the stream is muted, don't play the sound if (mAudioManager.isStreamMute(mMasterStreamType)) return; - mLockSoundStreamId = mLockSounds.play(whichSound, + mLockSoundStreamId = mLockSounds.play(soundId, mLockSoundVolume, mLockSoundVolume, 1/*priortiy*/, 0/*loop*/, 1.0f/*rate*/); } } + private void playTrustedSound() { + if (mSuppressNextLockSound) { + return; + } + playSound(mTrustedSoundId); + } + private void updateActivityLockScreenState() { try { ActivityManagerNative.getDefault().setLockScreenShown(mShowing && !mOccluded);