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
diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java
index 272a3d4..87726c1 100644
--- a/src/com/android/settings/TetherSettings.java
+++ b/src/com/android/settings/TetherSettings.java
@@ -16,6 +16,7 @@
 
 package com.android.settings;
 
+import com.android.settings.bluetooth.BluetoothSettings;
 import com.android.settings.wifi.WifiApEnabler;
 
 import android.app.Activity;
@@ -34,6 +35,7 @@
 import android.preference.CheckBoxPreference;
 import android.preference.Preference;
 import android.preference.PreferenceScreen;
+import android.util.Log;
 import android.webkit.WebView;
 
 import java.io.InputStream;
@@ -385,7 +387,7 @@
     }
 
     @Override
-    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
+    public boolean onPreferenceTreeClick(PreferenceScreen screen, Preference preference) {
         if (preference == mUsbTether) {
             boolean newState = mUsbTether.isChecked();
 
@@ -457,11 +459,15 @@
                     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) {
             showDialog(DIALOG_TETHER_HELP);
+            return true;
         }
 
-        return super.onPreferenceTreeClick(preferenceScreen, preference);
+        return super.onPreferenceTreeClick(screen, preference);
     }
 
     private String findIface(String[] ifaces, String[] regexes) {