Lines Matching refs:device

237      * Some streams alias to different streams according to device category (phone or tablet) or
239 * mStreamVolumeAlias contains the default aliases for a voice capable device (phone) and
240 * STREAM_VOLUME_ALIAS_NON_VOICE for a non voice capable device (tablet).*/
331 // Broadcast receiver for device connections intent broadcasts
340 // Forced device usage for communications
358 // Bluetooth headset device
498 // Register for device connection intent broadcasts.
515 Log.v(TAG, "monitoring device orientation");
597 pw.println("\nStream volumes (device: index)");
664 // sanity check in case the settings are restored from a device with incompatible
690 // make sure settings for ringer mode are consistent with device type: non voice capable
814 final int device = getDeviceForStream(streamTypeAlias);
816 final int aliasIndex = streamState.getIndex(device,
824 !checkSafeMediaVolume(streamTypeAlias, aliasIndex + step, device)) {
833 ((device & mFixedVolumeDevices) != 0)) {
852 streamState.setLastAudibleIndex(0, device);
857 oldIndex = mStreamStates[streamType].getIndex(device,
864 streamState.adjustLastAudibleIndex(direction * step, device);
869 device,
873 index = mStreamStates[streamType].getIndex(device, true /* lastAudible */);
875 if (adjustVolume && streamState.adjustIndex(direction * step, device)) {
881 device,
886 index = mStreamStates[streamType].getIndex(device, false /* lastAudible */);
913 final int device = getDeviceForStream(streamType);
918 ((device & mFixedVolumeDevices) != 0)) {
924 oldIndex = streamState.getIndex(device,
929 if (!checkSafeMediaVolume(mStreamVolumeAlias[streamType], index, device)) {
942 device,
951 setStreamVolumeInt(mStreamVolumeAlias[streamType], index, device, false, true);
953 index = mStreamStates[streamType].getIndex(device,
1112 * @param device the device whose volume must be changed
1119 int device,
1128 streamState.setLastAudibleIndex(index, device);
1134 device,
1139 if (streamState.setIndex(index, device, lastAudible) || force) {
1145 device,
1193 int device = getDeviceForStream(streamType);
1197 (device & mFixedVolumeDevices) != 0) {
1200 index = mStreamStates[streamType].getIndex(device, false /* lastAudible */);
1249 int device = getDeviceForStream(streamType);
1250 return (mStreamStates[streamType].getIndex(device, true /* lastAudible */) + 5) / 10;
1553 int device = getDeviceForStream(streamType);
1554 int index = mStreamStates[mStreamVolumeAlias[streamType]].getIndex(device, false);
1555 setStreamVolumeInt(mStreamVolumeAlias[streamType], index, device, true, false);
2272 int device = getDeviceForStream(AudioSystem.STREAM_MUSIC);
2274 if ((device & mSafeMediaVolumeDevices) != 0) {
2282 int index = mStreamStates[AudioSystem.STREAM_MUSIC].getIndex(device,
2559 int device = AudioSystem.getDevicesForStream(stream);
2560 if ((device & (device - 1)) != 0) {
2561 // Multiple device selection is either:
2562 // - speaker + one other device: give priority to speaker in this case.
2563 // - one A2DP device + another device: happens with duplicated output. In this case
2564 // retain the device on the A2DP output as the other must not correspond to an active
2566 if ((device & AudioSystem.DEVICE_OUT_SPEAKER) != 0) {
2567 device = AudioSystem.DEVICE_OUT_SPEAKER;
2569 device &= AudioSystem.DEVICE_OUT_ALL_A2DP;
2572 return device;
2575 public void setWiredDeviceConnectionState(int device, int state, String name) {
2577 int delay = checkSendBecomingNoisyIntent(device, state);
2580 device,
2587 public int setBluetoothA2dpDeviceConnectionState(BluetoothDevice device, int state)
2597 device,
2635 public String getSettingNameForDevice(boolean lastAudible, int device) {
2639 String suffix = AudioSystem.getDeviceName(device);
2653 // always create entries for default device
2670 int device = (1 << i);
2671 if ((device & remainingDevices) == 0) {
2674 remainingDevices &= ~device;
2678 ((device & mFixedVolumeDevices) != 0)) {
2680 mIndex.put(device, mIndexMax);
2682 mLastAudibleIndex.put(device, mIndexMax);
2685 // retrieve current volume for device
2686 String name = getSettingNameForDevice(false /* lastAudible */, device);
2687 // if no volume stored for current stream and device, use default volume if default
2688 // device, continue otherwise
2689 int defaultIndex = (device == AudioSystem.DEVICE_OUT_DEFAULT) ?
2697 // retrieve last audible volume for device
2698 name = getSettingNameForDevice(true /* lastAudible */, device);
2716 device,
2720 mLastAudibleIndex.put(device, getValidIndex(10 * lastAudibleIndex));
2732 device,
2737 mIndex.put(device, getValidIndex(10 * index));
2742 public void applyDeviceVolume(int device) {
2744 (getIndex(device, false /* lastAudible */) + 5)/10,
2745 device);
2754 // then apply device specific volumes
2759 int device = ((Integer)entry.getKey()).intValue();
2760 if (device != AudioSystem.DEVICE_OUT_DEFAULT) {
2763 device);
2768 public boolean adjustIndex(int deltaIndex, int device) {
2769 return setIndex(getIndex(device,
2771 device,
2775 public synchronized boolean setIndex(int index, int device, boolean lastAudible) {
2776 int oldIndex = getIndex(device, false /* lastAudible */);
2783 mIndex.put(device, getValidIndex(index));
2787 mLastAudibleIndex.put(device, index);
2790 // if changing volume of current device, also change volume of current
2791 // device on aliased stream
2792 boolean currentDevice = (device == getDeviceForStream(mStreamType));
2799 device,
2814 public synchronized int getIndex(int device, boolean lastAudible) {
2821 Integer index = indexes.get(device);
2829 public synchronized void setLastAudibleIndex(int index, int device) {
2831 // if changing volume of current device, also change volume of current
2832 // device on aliased stream
2833 boolean currentDevice = (device == getDeviceForStream(mStreamType));
2839 mStreamStates[streamType].setLastAudibleIndex(scaledIndex, device);
2846 mLastAudibleIndex.put(device, getValidIndex(index));
2849 public synchronized void adjustLastAudibleIndex(int deltaIndex, int device) {
2850 setLastAudibleIndex(getIndex(device,
2852 device);
2874 int device = ((Integer)entry.getKey()).intValue();
2879 setLastAudibleIndex(index, device);
2881 setIndex(index, device, false /* lastAudible */);
2949 int device = ((Integer)entry.getKey()).intValue();
2950 setIndex(0, device, false /* lastAudible */);
2989 int device = ((Integer)entry.getKey()).intValue();
2990 setIndex(getIndex(device,
2992 device,
3096 private void setDeviceVolume(VolumeStreamState streamState, int device) {
3099 streamState.applyDeviceVolume(device);
3115 device,
3138 int device) {
3141 streamState.getSettingNameForDevice(false /* lastAudible */, device),
3142 (streamState.getIndex(device, false /* lastAudible */) + 5)/ 10,
3147 streamState.getSettingNameForDevice(true /* lastAudible */, device),
3148 (streamState.getIndex(device, true /* lastAudible */) + 5) / 10,
3281 // Restore device connection states
3286 Map.Entry device = (Map.Entry)i.next();
3288 ((Integer)device.getKey()).intValue(),
3290 (String)device.getValue());
3317 // Reset device orientation (if monitored for this device)
3340 // msg.obj == address of BTA2DP device
3510 // the device will be made unavailable later, so consider it disconnected right away
3512 // send the delayed message to make the device unavailable later
3567 // this could be a connection of another A2DP device before the timeout of
3587 private boolean handleDeviceConnection(boolean connected, int device, String params) {
3589 boolean isConnected = (mConnectedDevices.containsKey(device) &&
3590 (params.isEmpty() || mConnectedDevices.get(device).equals(params)));
3593 AudioSystem.setDeviceConnectionState(device,
3595 mConnectedDevices.get(device));
3596 mConnectedDevices.remove(device);
3599 AudioSystem.setDeviceConnectionState(device,
3602 mConnectedDevices.put(new Integer(device), params);
3617 // must be called before removing the device from mConnectedDevices
3618 private int checkSendBecomingNoisyIntent(int device, int state) {
3620 if ((state == 0) && ((device & mBecomingNoisyIntentDevices) != 0)) {
3627 if (devices == device) {
3646 private void sendDeviceConnectionIntent(int device, int state, String name)
3656 if (device == AudioSystem.DEVICE_OUT_WIRED_HEADSET) {
3660 } else if (device == AudioSystem.DEVICE_OUT_WIRED_HEADPHONE) {
3664 } else if (device == AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET) {
3667 } else if (device == AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET) {
3670 } else if (device == AudioSystem.DEVICE_OUT_AUX_DIGITAL) {
3699 private void onSetWiredDeviceConnectionState(int device, int state, String name)
3702 if ((state == 0) && ((device == AudioSystem.DEVICE_OUT_WIRED_HEADSET) ||
3703 (device == AudioSystem.DEVICE_OUT_WIRED_HEADPHONE))) {
3706 boolean isUsb = ((device & AudioSystem.DEVICE_OUT_ALL_USB) != 0);
3707 handleDeviceConnection((state == 1), device, (isUsb ? name : ""));
3709 if ((device == AudioSystem.DEVICE_OUT_WIRED_HEADSET) ||
3710 (device == AudioSystem.DEVICE_OUT_WIRED_HEADPHONE)) {
3713 if ((device & mSafeMediaVolumeDevices) != 0) {
3724 sendDeviceConnectionIntent(device, state, name);
3729 /* cache of the address of the last dock the device was connected to */
3739 int device;
3774 device = AudioSystem.DEVICE_OUT_BLUETOOTH_SCO;
3788 device = AudioSystem.DEVICE_OUT_BLUETOOTH_SCO_HEADSET;
3791 device = AudioSystem.DEVICE_OUT_BLUETOOTH_SCO_CARKIT;
3801 if (handleDeviceConnection(connected, device, address)) {
3815 int alsaDevice = intent.getIntExtra("device", -1);
3817 : "card=" + alsaCard + ";device=" + alsaDevice);
3818 device = action.equals(Intent.ACTION_USB_AUDIO_ACCESSORY_PLUG) ?
3823 + ", state = " + state + ", card: " + alsaCard + ", device: " + alsaDevice);
3824 setWiredDeviceConnectionState(device, state, params);
4507 // - screen on and device unlocked: action is ACTION_WEB_SEARCH
4508 // - device locked or screen off: action is ACTION_VOICE_SEARCH_HANDS_FREE
4509 // with EXTRA_SECURE set to true if the device is securely locked
5698 * Handles device configuration changes that may map to a change in the orientation.
5764 Log.e(TAG, "Error retrieving device orientation: " + e);
5888 int device = 1 << i++;
5889 if ((device & devices) == 0) {
5892 int index = streamState.getIndex(device, lastAudible);
5895 streamState.setLastAudibleIndex(mSafeMediaVolumeIndex, device);
5900 device,
5904 streamState.setIndex(mSafeMediaVolumeIndex, device, true);
5908 device,
5914 devices &= ~device;
5918 private boolean checkSafeMediaVolume(int streamType, int index, int device) {
5922 ((device & mSafeMediaVolumeDevices) != 0) &&
5941 // sound is forced (sound even if the device is in silent mode) or not. This option is false by