summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/bluetooth/PanProfile.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/bluetooth/PanProfile.java')
-rwxr-xr-xsrc/com/android/settings/bluetooth/PanProfile.java183
1 files changed, 0 insertions, 183 deletions
diff --git a/src/com/android/settings/bluetooth/PanProfile.java b/src/com/android/settings/bluetooth/PanProfile.java
deleted file mode 100755
index f6e0691..0000000
--- a/src/com/android/settings/bluetooth/PanProfile.java
+++ /dev/null
@@ -1,183 +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.BluetoothAdapter;
-import android.bluetooth.BluetoothClass;
-import android.bluetooth.BluetoothDevice;
-import android.bluetooth.BluetoothPan;
-import android.bluetooth.BluetoothProfile;
-import android.content.Context;
-import android.util.Log;
-
-import com.android.settings.R;
-
-import java.util.HashMap;
-import java.util.List;
-
-/**
- * PanProfile handles Bluetooth PAN profile (NAP and PANU).
- */
-final class PanProfile implements LocalBluetoothProfile {
- private static final String TAG = "PanProfile";
- private static boolean V = true;
-
- private BluetoothPan mService;
- private boolean mIsProfileReady;
-
- // Tethering direction for each device
- private final HashMap<BluetoothDevice, Integer> mDeviceRoleMap =
- new HashMap<BluetoothDevice, Integer>();
-
- static final String NAME = "PAN";
-
- // Order of this profile in device profiles list
- private static final int ORDINAL = 4;
-
- // These callbacks run on the main thread.
- private final class PanServiceListener
- implements BluetoothProfile.ServiceListener {
-
- public void onServiceConnected(int profile, BluetoothProfile proxy) {
- if (V) Log.d(TAG,"Bluetooth service connected");
- mService = (BluetoothPan) proxy;
- mIsProfileReady=true;
- }
-
- public void onServiceDisconnected(int profile) {
- if (V) Log.d(TAG,"Bluetooth service disconnected");
- mIsProfileReady=false;
- }
- }
-
- public boolean isProfileReady() {
- return mIsProfileReady;
- }
-
- PanProfile(Context context) {
- BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
- adapter.getProfileProxy(context, new PanServiceListener(),
- BluetoothProfile.PAN);
- }
-
- public boolean isConnectable() {
- return true;
- }
-
- public boolean isAutoConnectable() {
- return false;
- }
-
- public boolean connect(BluetoothDevice device) {
- if (mService == null) return false;
- List<BluetoothDevice> sinks = mService.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;
- 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) {
- // return current connection status so profile checkbox is set correctly
- return getConnectionStatus(device) == BluetoothProfile.STATE_CONNECTED;
- }
-
- public int getPreferred(BluetoothDevice device) {
- return -1;
- }
-
- public void setPreferred(BluetoothDevice device, boolean preferred) {
- // ignore: isPreferred is always true for PAN
- }
-
- public String toString() {
- return NAME;
- }
-
- public int getOrdinal() {
- return ORDINAL;
- }
-
- public int getNameResource(BluetoothDevice device) {
- if (isLocalRoleNap(device)) {
- return R.string.bluetooth_profile_pan_nap;
- } else {
- return R.string.bluetooth_profile_pan;
- }
- }
-
- public int getSummaryResourceForDevice(BluetoothDevice device) {
- int state = getConnectionStatus(device);
- switch (state) {
- case BluetoothProfile.STATE_DISCONNECTED:
- return R.string.bluetooth_pan_profile_summary_use_for;
-
- case BluetoothProfile.STATE_CONNECTED:
- if (isLocalRoleNap(device)) {
- return R.string.bluetooth_pan_nap_profile_summary_connected;
- } else {
- return R.string.bluetooth_pan_user_profile_summary_connected;
- }
-
- default:
- return Utils.getConnectionStateSummary(state);
- }
- }
-
- public int getDrawableResource(BluetoothClass btClass) {
- return R.drawable.ic_bt_network_pan;
- }
-
- // Tethering direction determines UI strings.
- void setLocalRole(BluetoothDevice device, int role) {
- mDeviceRoleMap.put(device, role);
- }
-
- boolean isLocalRoleNap(BluetoothDevice device) {
- if (mDeviceRoleMap.containsKey(device)) {
- return mDeviceRoleMap.get(device) == BluetoothPan.LOCAL_NAP_ROLE;
- } else {
- return false;
- }
- }
-
- protected void finalize() {
- if (V) Log.d(TAG, "finalize()");
- if (mService != null) {
- try {
- BluetoothAdapter.getDefaultAdapter().closeProfileProxy(BluetoothProfile.PAN, mService);
- mService = null;
- }catch (Throwable t) {
- Log.w(TAG, "Error cleaning up PAN proxy", t);
- }
- }
- }
-}