summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/bluetooth/MapProfile.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/bluetooth/MapProfile.java')
-rw-r--r--src/com/android/settings/bluetooth/MapProfile.java213
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);
- }
- }
- }
-}