Loading core/java/android/provider/Settings.java +9 −0 Original line number Diff line number Diff line Loading @@ -5292,6 +5292,14 @@ public final class Settings { public static final String ALWAYS_FINISH_ACTIVITIES = "always_finish_activities"; /** * Use Dock audio output for media: * 0 = disabled * 1 = enabled * @hide */ public static final String DOCK_AUDIO_MEDIA_ENABLED = "dock_audio_media_enabled"; /** * Settings to backup. This is here so that it's in the same place as the settings * keys and easy to update. Loading Loading @@ -5323,6 +5331,7 @@ public final class Settings { WIFI_NUM_OPEN_NETWORKS_KEPT, EMERGENCY_TONE, CALL_AUTO_RETRY, DOCK_AUDIO_MEDIA_ENABLED }; // Populated lazily, guarded by class object: Loading media/java/android/media/AudioService.java +37 −1 Original line number Diff line number Diff line Loading @@ -429,10 +429,13 @@ public class AudioService extends IAudioService.Stub implements OnFinished { // Devices for which the volume is fixed and VolumePanel slider should be disabled final int mFixedVolumeDevices = AudioSystem.DEVICE_OUT_AUX_DIGITAL | AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET | AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET | AudioSystem.DEVICE_OUT_ALL_USB; private final boolean mMonitorOrientation; private boolean mDockAudioMediaEnabled = true; /////////////////////////////////////////////////////////////////////////// // Construction /////////////////////////////////////////////////////////////////////////// Loading Loading @@ -630,6 +633,27 @@ public class AudioService extends IAudioService.Stub implements OnFinished { } } private void readDockAudioSettings(ContentResolver cr) { mDockAudioMediaEnabled = Settings.Global.getInt( cr, Settings.Global.DOCK_AUDIO_MEDIA_ENABLED, 1) == 1; if (mDockAudioMediaEnabled) { mBecomingNoisyIntentDevices |= AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET; } else { mBecomingNoisyIntentDevices &= ~AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET; } sendMsg(mAudioHandler, MSG_SET_FORCE_USE, SENDMSG_QUEUE, AudioSystem.FOR_DOCK, mDockAudioMediaEnabled ? AudioSystem.FORCE_ANALOG_DOCK : AudioSystem.FORCE_NONE, null, 0); } private void readPersistedSettings() { final ContentResolver cr = mContentResolver; Loading Loading @@ -693,6 +717,8 @@ public class AudioService extends IAudioService.Stub implements OnFinished { Settings.System.MODE_RINGER_STREAMS_AFFECTED, mRingerModeAffectedStreams, UserHandle.USER_CURRENT); readDockAudioSettings(cr); } mMuteAffectedStreams = System.getIntForUser(cr, Loading Loading @@ -3408,6 +3434,8 @@ public class AudioService extends IAudioService.Stub implements OnFinished { super(new Handler()); mContentResolver.registerContentObserver(Settings.System.getUriFor( Settings.System.MODE_RINGER_STREAMS_AFFECTED), false, this); mContentResolver.registerContentObserver(Settings.Global.getUriFor( Settings.Global.DOCK_AUDIO_MEDIA_ENABLED), false, this); } @Override Loading Loading @@ -3443,6 +3471,7 @@ public class AudioService extends IAudioService.Stub implements OnFinished { mRingerModeAffectedStreams = ringerModeAffectedStreams; setRingerModeInt(getRingerMode(), false); } readDockAudioSettings(mContentResolver); } } } Loading Loading @@ -3722,7 +3751,13 @@ public class AudioService extends IAudioService.Stub implements OnFinished { config = AudioSystem.FORCE_BT_CAR_DOCK; break; case Intent.EXTRA_DOCK_STATE_LE_DESK: synchronized (mSettingsLock) { if (mDockAudioMediaEnabled) { config = AudioSystem.FORCE_ANALOG_DOCK; } else { config = AudioSystem.FORCE_NONE; } } break; case Intent.EXTRA_DOCK_STATE_HE_DESK: config = AudioSystem.FORCE_DIGITAL_DOCK; Loading @@ -3731,6 +3766,7 @@ public class AudioService extends IAudioService.Stub implements OnFinished { default: config = AudioSystem.FORCE_NONE; } AudioSystem.setForceUse(AudioSystem.FOR_DOCK, config); } else if (action.equals(BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED)) { state = intent.getIntExtra(BluetoothProfile.EXTRA_STATE, Loading Loading
core/java/android/provider/Settings.java +9 −0 Original line number Diff line number Diff line Loading @@ -5292,6 +5292,14 @@ public final class Settings { public static final String ALWAYS_FINISH_ACTIVITIES = "always_finish_activities"; /** * Use Dock audio output for media: * 0 = disabled * 1 = enabled * @hide */ public static final String DOCK_AUDIO_MEDIA_ENABLED = "dock_audio_media_enabled"; /** * Settings to backup. This is here so that it's in the same place as the settings * keys and easy to update. Loading Loading @@ -5323,6 +5331,7 @@ public final class Settings { WIFI_NUM_OPEN_NETWORKS_KEPT, EMERGENCY_TONE, CALL_AUTO_RETRY, DOCK_AUDIO_MEDIA_ENABLED }; // Populated lazily, guarded by class object: Loading
media/java/android/media/AudioService.java +37 −1 Original line number Diff line number Diff line Loading @@ -429,10 +429,13 @@ public class AudioService extends IAudioService.Stub implements OnFinished { // Devices for which the volume is fixed and VolumePanel slider should be disabled final int mFixedVolumeDevices = AudioSystem.DEVICE_OUT_AUX_DIGITAL | AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET | AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET | AudioSystem.DEVICE_OUT_ALL_USB; private final boolean mMonitorOrientation; private boolean mDockAudioMediaEnabled = true; /////////////////////////////////////////////////////////////////////////// // Construction /////////////////////////////////////////////////////////////////////////// Loading Loading @@ -630,6 +633,27 @@ public class AudioService extends IAudioService.Stub implements OnFinished { } } private void readDockAudioSettings(ContentResolver cr) { mDockAudioMediaEnabled = Settings.Global.getInt( cr, Settings.Global.DOCK_AUDIO_MEDIA_ENABLED, 1) == 1; if (mDockAudioMediaEnabled) { mBecomingNoisyIntentDevices |= AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET; } else { mBecomingNoisyIntentDevices &= ~AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET; } sendMsg(mAudioHandler, MSG_SET_FORCE_USE, SENDMSG_QUEUE, AudioSystem.FOR_DOCK, mDockAudioMediaEnabled ? AudioSystem.FORCE_ANALOG_DOCK : AudioSystem.FORCE_NONE, null, 0); } private void readPersistedSettings() { final ContentResolver cr = mContentResolver; Loading Loading @@ -693,6 +717,8 @@ public class AudioService extends IAudioService.Stub implements OnFinished { Settings.System.MODE_RINGER_STREAMS_AFFECTED, mRingerModeAffectedStreams, UserHandle.USER_CURRENT); readDockAudioSettings(cr); } mMuteAffectedStreams = System.getIntForUser(cr, Loading Loading @@ -3408,6 +3434,8 @@ public class AudioService extends IAudioService.Stub implements OnFinished { super(new Handler()); mContentResolver.registerContentObserver(Settings.System.getUriFor( Settings.System.MODE_RINGER_STREAMS_AFFECTED), false, this); mContentResolver.registerContentObserver(Settings.Global.getUriFor( Settings.Global.DOCK_AUDIO_MEDIA_ENABLED), false, this); } @Override Loading Loading @@ -3443,6 +3471,7 @@ public class AudioService extends IAudioService.Stub implements OnFinished { mRingerModeAffectedStreams = ringerModeAffectedStreams; setRingerModeInt(getRingerMode(), false); } readDockAudioSettings(mContentResolver); } } } Loading Loading @@ -3722,7 +3751,13 @@ public class AudioService extends IAudioService.Stub implements OnFinished { config = AudioSystem.FORCE_BT_CAR_DOCK; break; case Intent.EXTRA_DOCK_STATE_LE_DESK: synchronized (mSettingsLock) { if (mDockAudioMediaEnabled) { config = AudioSystem.FORCE_ANALOG_DOCK; } else { config = AudioSystem.FORCE_NONE; } } break; case Intent.EXTRA_DOCK_STATE_HE_DESK: config = AudioSystem.FORCE_DIGITAL_DOCK; Loading @@ -3731,6 +3766,7 @@ public class AudioService extends IAudioService.Stub implements OnFinished { default: config = AudioSystem.FORCE_NONE; } AudioSystem.setForceUse(AudioSystem.FOR_DOCK, config); } else if (action.equals(BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED)) { state = intent.getIntExtra(BluetoothProfile.EXTRA_STATE, Loading