Fragmentize BluetoothSettings.
Add UserLeaveHintListener.java, so that the settings won't use its implementation around Activity#onUserLeaveHint(). Also fragmentize bluetooth tethering screen. Change-Id: Id06ae3161fbdb5854ddb7a257f464fb16ea9b089
This commit is contained in:
@@ -168,9 +168,10 @@
|
|||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<activity android:name=".bluetooth.BluetoothSettings"
|
<activity-alias android:name=".bluetooth.BluetoothSettings"
|
||||||
android:label="@string/bluetooth_settings_title"
|
android:label="@string/bluetooth_settings_title"
|
||||||
android:clearTaskOnLaunch="true"
|
android:clearTaskOnLaunch="true"
|
||||||
|
android:targetActivity="Settings"
|
||||||
>
|
>
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
@@ -183,7 +184,7 @@
|
|||||||
<action android:name="android.bluetooth.devicepicker.action.LAUNCH" />
|
<action android:name="android.bluetooth.devicepicker.action.LAUNCH" />
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity-alias>
|
||||||
|
|
||||||
<activity-alias android:name=".TetherSettings"
|
<activity-alias android:name=".TetherSettings"
|
||||||
android:clearTaskOnLaunch="true"
|
android:clearTaskOnLaunch="true"
|
||||||
|
@@ -3,4 +3,4 @@
|
|||||||
-keep class com.android.settings.*Picker
|
-keep class com.android.settings.*Picker
|
||||||
-keep class com.android.settings.*Settings
|
-keep class com.android.settings.*Settings
|
||||||
-keep class com.android.settings.wifi.*Settings
|
-keep class com.android.settings.wifi.*Settings
|
||||||
-keep class com.android.settings.deviceinfo.*
|
-keep class com.android.settings.deviceinfo.*
|
||||||
|
@@ -38,14 +38,13 @@
|
|||||||
android:title="@string/bluetooth_tether_checkbox_text"
|
android:title="@string/bluetooth_tether_checkbox_text"
|
||||||
android:persistent="false" />
|
android:persistent="false" />
|
||||||
|
|
||||||
|
<!-- BluetoothSettings will have extra argument to know this request is
|
||||||
|
for tethering, not for BT setting in general. -->
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
|
android:fragment="com.android.settings.bluetooth.BluetoothSettings"
|
||||||
android:key="bluetooth_tether_settings"
|
android:key="bluetooth_tether_settings"
|
||||||
android:title="@string/bluetooth_tether_settings_text"
|
android:title="@string/bluetooth_tether_settings_text"
|
||||||
android:summary="@string/bluetooth_tether_settings_subtext" >
|
android:summary="@string/bluetooth_tether_settings_subtext" >
|
||||||
<intent
|
|
||||||
android:action="com.android.settings.bluetooth.action.LAUNCH_TETHER_PICKER"
|
|
||||||
android:targetPackage="com.android.settings"
|
|
||||||
android:targetClass="com.android.settings.bluetooth.BluetoothSettings" />
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
|
@@ -45,13 +45,10 @@
|
|||||||
android:persistent="false" />
|
android:persistent="false" />
|
||||||
|
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
|
android:fragment="com.android.settings.bluetooth.BluetoothSettings"
|
||||||
android:key="bt_settings"
|
android:key="bt_settings"
|
||||||
android:title="@string/bluetooth_settings_title"
|
android:title="@string/bluetooth_settings_title"
|
||||||
android:summary="@string/bluetooth_settings_summary">
|
android:summary="@string/bluetooth_settings_summary">
|
||||||
<intent
|
|
||||||
android:action="android.intent.action.MAIN"
|
|
||||||
android:targetPackage="com.android.settings"
|
|
||||||
android:targetClass="com.android.settings.bluetooth.BluetoothSettings" />
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
|
@@ -175,6 +175,10 @@ public class SettingsPreferenceFragment extends PreferenceFragment
|
|||||||
return mNextButton;
|
return mNextButton;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void finish() {
|
||||||
|
getActivity().onBackPressed();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets up Button Bar possibly required in the Fragment. Probably available only in
|
* Sets up Button Bar possibly required in the Fragment. Probably available only in
|
||||||
* phones.
|
* phones.
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.settings;
|
package com.android.settings;
|
||||||
|
|
||||||
|
import com.android.settings.bluetooth.BluetoothSettings;
|
||||||
import com.android.settings.wifi.WifiApEnabler;
|
import com.android.settings.wifi.WifiApEnabler;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
@@ -34,6 +35,7 @@ import android.os.Environment;
|
|||||||
import android.preference.CheckBoxPreference;
|
import android.preference.CheckBoxPreference;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
import android.preference.PreferenceScreen;
|
import android.preference.PreferenceScreen;
|
||||||
|
import android.util.Log;
|
||||||
import android.webkit.WebView;
|
import android.webkit.WebView;
|
||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
@@ -385,7 +387,7 @@ public class TetherSettings extends SettingsPreferenceFragment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
|
public boolean onPreferenceTreeClick(PreferenceScreen screen, Preference preference) {
|
||||||
if (preference == mUsbTether) {
|
if (preference == mUsbTether) {
|
||||||
boolean newState = mUsbTether.isChecked();
|
boolean newState = mUsbTether.isChecked();
|
||||||
|
|
||||||
@@ -457,11 +459,15 @@ public class TetherSettings extends SettingsPreferenceFragment {
|
|||||||
mBluetoothTether.setSummary(R.string.bluetooth_tethering_off_subtext);
|
mBluetoothTether.setSummary(R.string.bluetooth_tethering_off_subtext);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (preference == mBluetoothSettings) {
|
||||||
|
preference.getExtras().putString(BluetoothSettings.ACTION,
|
||||||
|
BluetoothSettings.ACTION_LAUNCH_TETHER_PICKER);
|
||||||
} else if (preference == mTetherHelp) {
|
} else if (preference == mTetherHelp) {
|
||||||
showDialog(DIALOG_TETHER_HELP);
|
showDialog(DIALOG_TETHER_HELP);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return super.onPreferenceTreeClick(preferenceScreen, preference);
|
return super.onPreferenceTreeClick(screen, preference);
|
||||||
}
|
}
|
||||||
|
|
||||||
private String findIface(String[] ifaces, String[] regexes) {
|
private String findIface(String[] ifaces, String[] regexes) {
|
||||||
|
24
src/com/android/settings/UserLeaveHintListener.java
Normal file
24
src/com/android/settings/UserLeaveHintListener.java
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2010 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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Interface enabling fragments to listen to Activity#onUserLeaveHint().
|
||||||
|
*/
|
||||||
|
public interface UserLeaveHintListener {
|
||||||
|
public void onUserLeaveHint();
|
||||||
|
}
|
@@ -18,8 +18,11 @@ package com.android.settings.bluetooth;
|
|||||||
|
|
||||||
import com.android.settings.ProgressCategory;
|
import com.android.settings.ProgressCategory;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.SettingsPreferenceFragment;
|
||||||
|
import com.android.settings.UserLeaveHintListener;
|
||||||
import com.android.settings.bluetooth.LocalBluetoothProfileManager.Profile;
|
import com.android.settings.bluetooth.LocalBluetoothProfileManager.Profile;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.bluetooth.BluetoothAdapter;
|
import android.bluetooth.BluetoothAdapter;
|
||||||
import android.bluetooth.BluetoothClass;
|
import android.bluetooth.BluetoothClass;
|
||||||
@@ -27,28 +30,22 @@ import android.bluetooth.BluetoothDevice;
|
|||||||
import android.bluetooth.BluetoothDevicePicker;
|
import android.bluetooth.BluetoothDevicePicker;
|
||||||
import android.bluetooth.BluetoothPan;
|
import android.bluetooth.BluetoothPan;
|
||||||
import android.bluetooth.BluetoothUuid;
|
import android.bluetooth.BluetoothUuid;
|
||||||
import android.bluetooth.IBluetooth;
|
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.IBinder;
|
|
||||||
import android.os.ParcelUuid;
|
import android.os.ParcelUuid;
|
||||||
import android.os.RemoteException;
|
|
||||||
import android.os.ServiceManager;
|
|
||||||
import android.preference.CheckBoxPreference;
|
import android.preference.CheckBoxPreference;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
import android.preference.PreferenceActivity;
|
|
||||||
import android.preference.PreferenceScreen;
|
import android.preference.PreferenceScreen;
|
||||||
import android.server.BluetoothService;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.ContextMenu;
|
import android.view.ContextMenu;
|
||||||
|
import android.view.ContextMenu.ContextMenuInfo;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ContextMenu.ContextMenuInfo;
|
|
||||||
import android.widget.AdapterView.AdapterContextMenuInfo;
|
import android.widget.AdapterView.AdapterContextMenuInfo;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -58,8 +55,8 @@ import java.util.WeakHashMap;
|
|||||||
* BluetoothSettings is the Settings screen for Bluetooth configuration and
|
* BluetoothSettings is the Settings screen for Bluetooth configuration and
|
||||||
* connection management.
|
* connection management.
|
||||||
*/
|
*/
|
||||||
public class BluetoothSettings extends PreferenceActivity
|
public class BluetoothSettings extends SettingsPreferenceFragment
|
||||||
implements LocalBluetoothManager.Callback {
|
implements LocalBluetoothManager.Callback, UserLeaveHintListener {
|
||||||
|
|
||||||
private static final String TAG = "BluetoothSettings";
|
private static final String TAG = "BluetoothSettings";
|
||||||
|
|
||||||
@@ -73,6 +70,7 @@ public class BluetoothSettings extends PreferenceActivity
|
|||||||
private static final int SCREEN_TYPE_DEVICEPICKER = 1;
|
private static final int SCREEN_TYPE_DEVICEPICKER = 1;
|
||||||
private static final int SCREEN_TYPE_TETHERING = 2;
|
private static final int SCREEN_TYPE_TETHERING = 2;
|
||||||
|
|
||||||
|
public static final String ACTION = "bluetooth_action";
|
||||||
public static final String ACTION_LAUNCH_TETHER_PICKER =
|
public static final String ACTION_LAUNCH_TETHER_PICKER =
|
||||||
"com.android.settings.bluetooth.action.LAUNCH_TETHER_PICKER";
|
"com.android.settings.bluetooth.action.LAUNCH_TETHER_PICKER";
|
||||||
|
|
||||||
@@ -123,11 +121,19 @@ public class BluetoothSettings extends PreferenceActivity
|
|||||||
};
|
};
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
}
|
||||||
|
|
||||||
mLocalManager = LocalBluetoothManager.getInstance(this);
|
@Override
|
||||||
if (mLocalManager == null) finish();
|
public void onActivityCreated(Bundle savedInstanceState) {
|
||||||
|
// We delay calling super.onActivityCreated(). See WifiSettings.java for more info.
|
||||||
|
|
||||||
|
final Activity activity = getActivity();
|
||||||
|
mLocalManager = LocalBluetoothManager.getInstance(activity);
|
||||||
|
if (mLocalManager == null) {
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
|
||||||
// Note:
|
// Note:
|
||||||
// If an application wish to show the BT device list, it can send an
|
// If an application wish to show the BT device list, it can send an
|
||||||
@@ -139,8 +145,13 @@ public class BluetoothSettings extends PreferenceActivity
|
|||||||
// -DEVICE_PICKER_NEED_AUTH: to show if bonding procedure needed.
|
// -DEVICE_PICKER_NEED_AUTH: to show if bonding procedure needed.
|
||||||
|
|
||||||
mFilterType = BluetoothDevicePicker.FILTER_TYPE_ALL;
|
mFilterType = BluetoothDevicePicker.FILTER_TYPE_ALL;
|
||||||
Intent intent = getIntent();
|
final Intent intent = activity.getIntent();
|
||||||
String action = intent.getAction();
|
|
||||||
|
// This additional argument comes from PreferenceScreen (See TetherSettings.java).
|
||||||
|
String action = getArguments().getString(ACTION);
|
||||||
|
if (TextUtils.isEmpty(action)) {
|
||||||
|
action = intent.getAction();
|
||||||
|
}
|
||||||
|
|
||||||
if (action.equals(BluetoothDevicePicker.ACTION_LAUNCH)) {
|
if (action.equals(BluetoothDevicePicker.ACTION_LAUNCH)) {
|
||||||
mScreenType = SCREEN_TYPE_DEVICEPICKER;
|
mScreenType = SCREEN_TYPE_DEVICEPICKER;
|
||||||
@@ -150,23 +161,23 @@ public class BluetoothSettings extends PreferenceActivity
|
|||||||
mLaunchPackage = intent.getStringExtra(BluetoothDevicePicker.EXTRA_LAUNCH_PACKAGE);
|
mLaunchPackage = intent.getStringExtra(BluetoothDevicePicker.EXTRA_LAUNCH_PACKAGE);
|
||||||
mLaunchClass = intent.getStringExtra(BluetoothDevicePicker.EXTRA_LAUNCH_CLASS);
|
mLaunchClass = intent.getStringExtra(BluetoothDevicePicker.EXTRA_LAUNCH_CLASS);
|
||||||
|
|
||||||
setTitle(getString(R.string.device_picker));
|
activity.setTitle(activity.getString(R.string.device_picker));
|
||||||
addPreferencesFromResource(R.xml.device_picker);
|
addPreferencesFromResource(R.xml.device_picker);
|
||||||
} else if (action.equals(ACTION_LAUNCH_TETHER_PICKER)){
|
} else if (action.equals(ACTION_LAUNCH_TETHER_PICKER)){
|
||||||
mScreenType = SCREEN_TYPE_TETHERING;
|
mScreenType = SCREEN_TYPE_TETHERING;
|
||||||
mFilterType = BluetoothDevicePicker.FILTER_TYPE_PANU;
|
mFilterType = BluetoothDevicePicker.FILTER_TYPE_PANU;
|
||||||
|
|
||||||
setTitle(getString(R.string.device_picker));
|
activity.setTitle(activity.getString(R.string.device_picker));
|
||||||
addPreferencesFromResource(R.xml.device_picker);
|
addPreferencesFromResource(R.xml.device_picker);
|
||||||
} else {
|
} else {
|
||||||
addPreferencesFromResource(R.xml.bluetooth_settings);
|
addPreferencesFromResource(R.xml.bluetooth_settings);
|
||||||
|
|
||||||
mEnabler = new BluetoothEnabler(
|
mEnabler = new BluetoothEnabler(
|
||||||
this,
|
activity,
|
||||||
(CheckBoxPreference) findPreference(KEY_BT_CHECKBOX));
|
(CheckBoxPreference) findPreference(KEY_BT_CHECKBOX));
|
||||||
|
|
||||||
mDiscoverableEnabler = new BluetoothDiscoverableEnabler(
|
mDiscoverableEnabler = new BluetoothDiscoverableEnabler(
|
||||||
this,
|
activity,
|
||||||
(CheckBoxPreference) findPreference(KEY_BT_DISCOVERABLE));
|
(CheckBoxPreference) findPreference(KEY_BT_DISCOVERABLE));
|
||||||
|
|
||||||
mNamePreference = (BluetoothNamePreference) findPreference(KEY_BT_NAME);
|
mNamePreference = (BluetoothNamePreference) findPreference(KEY_BT_NAME);
|
||||||
@@ -177,10 +188,12 @@ public class BluetoothSettings extends PreferenceActivity
|
|||||||
mDeviceList = (ProgressCategory) findPreference(KEY_BT_DEVICE_LIST);
|
mDeviceList = (ProgressCategory) findPreference(KEY_BT_DEVICE_LIST);
|
||||||
|
|
||||||
registerForContextMenu(getListView());
|
registerForContextMenu(getListView());
|
||||||
|
|
||||||
|
super.onActivityCreated(savedInstanceState);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
|
||||||
// Repopulate (which isn't too bad since it's cached in the settings
|
// Repopulate (which isn't too bad since it's cached in the settings
|
||||||
@@ -203,18 +216,17 @@ public class BluetoothSettings extends PreferenceActivity
|
|||||||
IntentFilter intentFilter = new IntentFilter();
|
IntentFilter intentFilter = new IntentFilter();
|
||||||
intentFilter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
|
intentFilter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
|
||||||
intentFilter.addAction(BluetoothDevice.ACTION_BOND_STATE_CHANGED);
|
intentFilter.addAction(BluetoothDevice.ACTION_BOND_STATE_CHANGED);
|
||||||
registerReceiver(mReceiver, intentFilter);
|
getActivity().registerReceiver(mReceiver, intentFilter);
|
||||||
mLocalManager.setForegroundActivity(this);
|
mLocalManager.setForegroundActivity(getActivity());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPause() {
|
public void onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
|
|
||||||
mLocalManager.setForegroundActivity(null);
|
mLocalManager.setForegroundActivity(null);
|
||||||
mDevicePreferenceMap.clear();
|
mDevicePreferenceMap.clear();
|
||||||
mDeviceList.removeAll();
|
mDeviceList.removeAll();
|
||||||
unregisterReceiver(mReceiver);
|
getActivity().unregisterReceiver(mReceiver);
|
||||||
|
|
||||||
mLocalManager.unregisterCallback(this);
|
mLocalManager.unregisterCallback(this);
|
||||||
if (mScreenType == SCREEN_TYPE_SETTINGS) {
|
if (mScreenType == SCREEN_TYPE_SETTINGS) {
|
||||||
@@ -225,8 +237,7 @@ public class BluetoothSettings extends PreferenceActivity
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onUserLeaveHint() {
|
public void onUserLeaveHint() {
|
||||||
super.onUserLeaveHint();
|
|
||||||
mLocalManager.stopScanning();
|
mLocalManager.stopScanning();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -390,10 +401,10 @@ public class BluetoothSettings extends PreferenceActivity
|
|||||||
BluetoothDevicePreference preference;
|
BluetoothDevicePreference preference;
|
||||||
if (mScreenType == SCREEN_TYPE_TETHERING) {
|
if (mScreenType == SCREEN_TYPE_TETHERING) {
|
||||||
preference = new BluetoothDevicePreference(
|
preference = new BluetoothDevicePreference(
|
||||||
this, cachedDevice, CachedBluetoothDevice.PAN_PROFILE);
|
getActivity(), cachedDevice, CachedBluetoothDevice.PAN_PROFILE);
|
||||||
} else {
|
} else {
|
||||||
preference = new BluetoothDevicePreference(
|
preference = new BluetoothDevicePreference(
|
||||||
this, cachedDevice, CachedBluetoothDevice.OTHER_PROFILES);
|
getActivity(), cachedDevice, CachedBluetoothDevice.OTHER_PROFILES);
|
||||||
}
|
}
|
||||||
mDeviceList.addPreference(preference);
|
mDeviceList.addPreference(preference);
|
||||||
mDevicePreferenceMap.put(cachedDevice, preference);
|
mDevicePreferenceMap.put(cachedDevice, preference);
|
||||||
@@ -421,22 +432,23 @@ public class BluetoothSettings extends PreferenceActivity
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void onPanDevicePicked() {
|
private void onPanDevicePicked() {
|
||||||
|
final Activity activity = getActivity();
|
||||||
final LocalBluetoothProfileManager profileManager =
|
final LocalBluetoothProfileManager profileManager =
|
||||||
LocalBluetoothProfileManager.getProfileManager(mLocalManager, Profile.PAN);
|
LocalBluetoothProfileManager.getProfileManager(mLocalManager, Profile.PAN);
|
||||||
int status = profileManager.getConnectionStatus(mSelectedDevice);
|
int status = profileManager.getConnectionStatus(mSelectedDevice);
|
||||||
if (SettingsBtStatus.isConnectionStatusConnected(status)) {
|
if (SettingsBtStatus.isConnectionStatusConnected(status)) {
|
||||||
String name = mSelectedDevice.getName();
|
String name = mSelectedDevice.getName();
|
||||||
if (TextUtils.isEmpty(name)) {
|
if (TextUtils.isEmpty(name)) {
|
||||||
name = getString(R.string.bluetooth_device);
|
name = activity.getString(R.string.bluetooth_device);
|
||||||
}
|
}
|
||||||
String message = getString(R.string.bluetooth_untether_blank, name);
|
String message = activity.getString(R.string.bluetooth_untether_blank, name);
|
||||||
DialogInterface.OnClickListener disconnectListener =
|
DialogInterface.OnClickListener disconnectListener =
|
||||||
new DialogInterface.OnClickListener() {
|
new DialogInterface.OnClickListener() {
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
profileManager.disconnect(mSelectedDevice);
|
profileManager.disconnect(mSelectedDevice);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
new AlertDialog.Builder(this)
|
new AlertDialog.Builder(activity)
|
||||||
.setTitle(name)
|
.setTitle(name)
|
||||||
.setMessage(message)
|
.setMessage(message)
|
||||||
.setPositiveButton(android.R.string.ok, disconnectListener)
|
.setPositiveButton(android.R.string.ok, disconnectListener)
|
||||||
@@ -445,10 +457,10 @@ public class BluetoothSettings extends PreferenceActivity
|
|||||||
.show();
|
.show();
|
||||||
} else if (status == SettingsBtStatus.CONNECTION_STATUS_DISCONNECTED) {
|
} else if (status == SettingsBtStatus.CONNECTION_STATUS_DISCONNECTED) {
|
||||||
if (profileManager.getConnectedDevices().size() >= BluetoothPan.MAX_CONNECTIONS) {
|
if (profileManager.getConnectedDevices().size() >= BluetoothPan.MAX_CONNECTIONS) {
|
||||||
new AlertDialog.Builder(this)
|
new AlertDialog.Builder(activity)
|
||||||
.setIcon(android.R.drawable.ic_dialog_alert)
|
.setIcon(android.R.drawable.ic_dialog_alert)
|
||||||
.setTitle(R.string.bluetooth_error_title)
|
.setTitle(R.string.bluetooth_error_title)
|
||||||
.setMessage(getString(R.string.bluetooth_tethering_overflow_error,
|
.setMessage(activity.getString(R.string.bluetooth_tethering_overflow_error,
|
||||||
BluetoothPan.MAX_CONNECTIONS))
|
BluetoothPan.MAX_CONNECTIONS))
|
||||||
.setNegativeButton(android.R.string.ok, null)
|
.setNegativeButton(android.R.string.ok, null)
|
||||||
.create()
|
.create()
|
||||||
@@ -466,6 +478,6 @@ public class BluetoothSettings extends PreferenceActivity
|
|||||||
mLaunchPackage != null && mLaunchClass != null) {
|
mLaunchPackage != null && mLaunchClass != null) {
|
||||||
intent.setClassName(mLaunchPackage, mLaunchClass);
|
intent.setClassName(mLaunchPackage, mLaunchClass);
|
||||||
}
|
}
|
||||||
sendBroadcast(intent);
|
getActivity().sendBroadcast(intent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user