diff options
Diffstat (limited to 'src/com/android/settings/bluetooth/MapProfile.java')
-rw-r--r-- | src/com/android/settings/bluetooth/MapProfile.java | 213 |
1 files changed, 0 insertions, 213 deletions
diff --git a/src/com/android/settings/bluetooth/MapProfile.java b/src/com/android/settings/bluetooth/MapProfile.java deleted file mode 100644 index f47e24f..0000000 --- a/src/com/android/settings/bluetooth/MapProfile.java +++ /dev/null @@ -1,213 +0,0 @@ -/* - * Copyright (C) 2012 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.BluetoothAdapter; -import android.bluetooth.BluetoothClass; -import android.bluetooth.BluetoothDevice; -import android.bluetooth.BluetoothMap; -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; - -/** - * MapProfile handles Bluetooth MAP profile. - */ -final class MapProfile implements LocalBluetoothProfile { - private static final String TAG = "MapProfile"; - private static boolean V = true; - - private BluetoothMap mService; - private boolean mIsProfileReady; - - private final LocalBluetoothAdapter mLocalAdapter; - private final CachedBluetoothDeviceManager mDeviceManager; - private final LocalBluetoothProfileManager mProfileManager; - - static final ParcelUuid[] UUIDS = { - BluetoothUuid.MAP, - BluetoothUuid.MNS, - BluetoothUuid.MAS, - }; - - static final String NAME = "MAP"; - - // Order of this profile in device profiles list - - // These callbacks run on the main thread. - private final class MapServiceListener - implements BluetoothProfile.ServiceListener { - - public void onServiceConnected(int profile, BluetoothProfile proxy) { - if (V) Log.d(TAG,"Bluetooth service connected"); - mService = (BluetoothMap) proxy; - // We just bound to the service, so refresh the UI for any connected MAP 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, "MapProfile found new device: " + nextDevice); - device = mDeviceManager.addDevice(mLocalAdapter, mProfileManager, nextDevice); - } - device.onProfileStateChanged(MapProfile.this, - BluetoothProfile.STATE_CONNECTED); - device.refresh(); - } - - mProfileManager.callServiceConnectedListeners(); - mIsProfileReady=true; - } - - public void onServiceDisconnected(int profile) { - if (V) Log.d(TAG,"Bluetooth service disconnected"); - mProfileManager.callServiceDisconnectedListeners(); - mIsProfileReady=false; - } - } - - public boolean isProfileReady() { - if(V) Log.d(TAG,"isProfileReady(): "+ mIsProfileReady); - return mIsProfileReady; - } - - MapProfile(Context context, LocalBluetoothAdapter adapter, - CachedBluetoothDeviceManager deviceManager, - LocalBluetoothProfileManager profileManager) { - mLocalAdapter = adapter; - mDeviceManager = deviceManager; - mProfileManager = profileManager; - mLocalAdapter.getProfileProxy(context, new MapServiceListener(), - BluetoothProfile.MAP); - } - - public boolean isConnectable() { - return true; - } - - public boolean isAutoConnectable() { - return true; - } - - public boolean connect(BluetoothDevice device) { - if(V)Log.d(TAG,"connect() - should not get called"); - return false; // MAP never connects out - } - - public boolean disconnect(BluetoothDevice device) { - if (mService == null) return false; - List<BluetoothDevice> deviceList = mService.getConnectedDevices(); - if (!deviceList.isEmpty() && deviceList.get(0).equals(device)) { - if (mService.getPriority(device) > BluetoothProfile.PRIORITY_ON) { - mService.setPriority(device, BluetoothProfile.PRIORITY_ON); - } - return mService.disconnect(device); - } else { - return false; - } - } - - public int getConnectionStatus(BluetoothDevice device) { - if (mService == null) return BluetoothProfile.STATE_DISCONNECTED; - List<BluetoothDevice> deviceList = mService.getConnectedDevices(); - if(V) Log.d(TAG,"getConnectionStatus: status is: "+ mService.getConnectionState(device)); - - return !deviceList.isEmpty() && deviceList.get(0).equals(device) - ? mService.getConnectionState(device) - : BluetoothProfile.STATE_DISCONNECTED; - } - - 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); - } - } - - 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 String toString() { - return NAME; - } - - public int getOrdinal() { - return BluetoothProfile.MAP; - } - - public int getNameResource(BluetoothDevice device) { - return R.string.bluetooth_profile_map; - } - - public int getSummaryResourceForDevice(BluetoothDevice device) { - int state = getConnectionStatus(device); - switch (state) { - case BluetoothProfile.STATE_DISCONNECTED: - return R.string.bluetooth_map_profile_summary_use_for; - - case BluetoothProfile.STATE_CONNECTED: - return R.string.bluetooth_map_profile_summary_connected; - - default: - return Utils.getConnectionStateSummary(state); - } - } - - public int getDrawableResource(BluetoothClass btClass) { - return R.drawable.ic_bt_cellphone; - } - - protected void finalize() { - if (V) Log.d(TAG, "finalize()"); - if (mService != null) { - try { - BluetoothAdapter.getDefaultAdapter().closeProfileProxy(BluetoothProfile.MAP, - mService); - mService = null; - }catch (Throwable t) { - Log.w(TAG, "Error cleaning up MAP proxy", t); - } - } - } -} |