summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/bluetooth/A2dpProfile.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/bluetooth/A2dpProfile.java')
-rwxr-xr-xsrc/com/android/settings/bluetooth/A2dpProfile.java214
1 files changed, 0 insertions, 214 deletions
diff --git a/src/com/android/settings/bluetooth/A2dpProfile.java b/src/com/android/settings/bluetooth/A2dpProfile.java
deleted file mode 100755
index 435a659..0000000
--- a/src/com/android/settings/bluetooth/A2dpProfile.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.bluetooth;
-
-import android.bluetooth.BluetoothA2dp;
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothClass;
-import android.bluetooth.BluetoothDevice;
-import android.bluetooth.BluetoothProfile;
-import android.bluetooth.BluetoothUuid;
-import android.content.Context;
-import android.os.ParcelUuid;
-import android.util.Log;
-
-import com.android.settings.R;
-
-import java.util.ArrayList;
-import java.util.List;
-
-final class A2dpProfile implements LocalBluetoothProfile {
- private static final String TAG = "A2dpProfile";
- private static boolean V = true;
-
- private BluetoothA2dp mService;
- private boolean mIsProfileReady;
-
- private final LocalBluetoothAdapter mLocalAdapter;
- private final CachedBluetoothDeviceManager mDeviceManager;
-
- static final ParcelUuid[] SINK_UUIDS = {
- BluetoothUuid.AudioSink,
- BluetoothUuid.AdvAudioDist,
- };
-
- static final String NAME = "A2DP";
- private final LocalBluetoothProfileManager mProfileManager;
-
- // Order of this profile in device profiles list
- private static final int ORDINAL = 1;
-
- // These callbacks run on the main thread.
- private final class A2dpServiceListener
- implements BluetoothProfile.ServiceListener {
-
- public void onServiceConnected(int profile, BluetoothProfile proxy) {
- if (V) Log.d(TAG,"Bluetooth service connected");
- mService = (BluetoothA2dp) proxy;
- // We just bound to the service, so refresh the UI for any connected A2DP devices.
- List<BluetoothDevice> deviceList = mService.getConnectedDevices();
- while (!deviceList.isEmpty()) {
- BluetoothDevice nextDevice = deviceList.remove(0);
- CachedBluetoothDevice device = mDeviceManager.findDevice(nextDevice);
- // we may add a new device here, but generally this should not happen
- if (device == null) {
- Log.w(TAG, "A2dpProfile found new device: " + nextDevice);
- device = mDeviceManager.addDevice(mLocalAdapter, mProfileManager, nextDevice);
- }
- device.onProfileStateChanged(A2dpProfile.this, BluetoothProfile.STATE_CONNECTED);
- device.refresh();
- }
- mIsProfileReady=true;
- }
-
- public void onServiceDisconnected(int profile) {
- if (V) Log.d(TAG,"Bluetooth service disconnected");
- mIsProfileReady=false;
- }
- }
-
- public boolean isProfileReady() {
- return mIsProfileReady;
- }
-
- A2dpProfile(Context context, LocalBluetoothAdapter adapter,
- CachedBluetoothDeviceManager deviceManager,
- LocalBluetoothProfileManager profileManager) {
- mLocalAdapter = adapter;
- mDeviceManager = deviceManager;
- mProfileManager = profileManager;
- mLocalAdapter.getProfileProxy(context, new A2dpServiceListener(),
- BluetoothProfile.A2DP);
- }
-
- public boolean isConnectable() {
- return true;
- }
-
- public boolean isAutoConnectable() {
- return true;
- }
-
- public List<BluetoothDevice> getConnectedDevices() {
- if (mService == null) return new ArrayList<BluetoothDevice>(0);
- return mService.getDevicesMatchingConnectionStates(
- new int[] {BluetoothProfile.STATE_CONNECTED,
- BluetoothProfile.STATE_CONNECTING,
- BluetoothProfile.STATE_DISCONNECTING});
- }
-
- public boolean connect(BluetoothDevice device) {
- if (mService == null) return false;
- List<BluetoothDevice> sinks = getConnectedDevices();
- if (sinks != null) {
- for (BluetoothDevice sink : sinks) {
- mService.disconnect(sink);
- }
- }
- return mService.connect(device);
- }
-
- public boolean disconnect(BluetoothDevice device) {
- if (mService == null) return false;
- // Downgrade priority as user is disconnecting the headset.
- if (mService.getPriority(device) > BluetoothProfile.PRIORITY_ON){
- mService.setPriority(device, BluetoothProfile.PRIORITY_ON);
- }
- return mService.disconnect(device);
- }
-
- public int getConnectionStatus(BluetoothDevice device) {
- if (mService == null) {
- return BluetoothProfile.STATE_DISCONNECTED;
- }
- return mService.getConnectionState(device);
- }
-
- public boolean isPreferred(BluetoothDevice device) {
- if (mService == null) return false;
- return mService.getPriority(device) > BluetoothProfile.PRIORITY_OFF;
- }
-
- public int getPreferred(BluetoothDevice device) {
- if (mService == null) return BluetoothProfile.PRIORITY_OFF;
- return mService.getPriority(device);
- }
-
- public void setPreferred(BluetoothDevice device, boolean preferred) {
- if (mService == null) return;
- if (preferred) {
- if (mService.getPriority(device) < BluetoothProfile.PRIORITY_ON) {
- mService.setPriority(device, BluetoothProfile.PRIORITY_ON);
- }
- } else {
- mService.setPriority(device, BluetoothProfile.PRIORITY_OFF);
- }
- }
- boolean isA2dpPlaying() {
- if (mService == null) return false;
- List<BluetoothDevice> sinks = mService.getConnectedDevices();
- if (!sinks.isEmpty()) {
- if (mService.isA2dpPlaying(sinks.get(0))) {
- return true;
- }
- }
- return false;
- }
-
- public String toString() {
- return NAME;
- }
-
- public int getOrdinal() {
- return ORDINAL;
- }
-
- public int getNameResource(BluetoothDevice device) {
- return R.string.bluetooth_profile_a2dp;
- }
-
- public int getSummaryResourceForDevice(BluetoothDevice device) {
- int state = getConnectionStatus(device);
- switch (state) {
- case BluetoothProfile.STATE_DISCONNECTED:
- return R.string.bluetooth_a2dp_profile_summary_use_for;
-
- case BluetoothProfile.STATE_CONNECTED:
- return R.string.bluetooth_a2dp_profile_summary_connected;
-
- default:
- return Utils.getConnectionStateSummary(state);
- }
- }
-
- public int getDrawableResource(BluetoothClass btClass) {
- return R.drawable.ic_bt_headphones_a2dp;
- }
-
- protected void finalize() {
- if (V) Log.d(TAG, "finalize()");
- if (mService != null) {
- try {
- BluetoothAdapter.getDefaultAdapter().closeProfileProxy(BluetoothProfile.A2DP,
- mService);
- mService = null;
- }catch (Throwable t) {
- Log.w(TAG, "Error cleaning up A2DP proxy", t);
- }
- }
- }
-}