bluetooth tethering

Change-Id: Id6d5fb1922facc7013abc29214d3e1141995b767
This commit is contained in:
Danica Chang
2010-08-11 14:54:43 -07:00
parent f55f8c3d3c
commit 965670546b
3 changed files with 34 additions and 11 deletions

View File

@@ -324,14 +324,14 @@ public class ConnectivityManager
* <p> * <p>
* All applications that have background services that use the network * All applications that have background services that use the network
* should listen to {@link #ACTION_BACKGROUND_DATA_SETTING_CHANGED}. * should listen to {@link #ACTION_BACKGROUND_DATA_SETTING_CHANGED}.
* *
* @return Whether background data usage is allowed. * @return Whether background data usage is allowed.
*/ */
public boolean getBackgroundDataSetting() { public boolean getBackgroundDataSetting() {
try { try {
return mService.getBackgroundDataSetting(); return mService.getBackgroundDataSetting();
} catch (RemoteException e) { } catch (RemoteException e) {
// Err on the side of safety // Err on the side of safety
return false; return false;
} }
} }
@@ -489,6 +489,17 @@ public class ConnectivityManager
} }
} }
/**
* {@hide}
*/
public String[] getTetherableBluetoothRegexs() {
try {
return mService.getTetherableBluetoothRegexs();
} catch (RemoteException e) {
return new String[0];
}
}
/** {@hide} */ /** {@hide} */
public static final int TETHER_ERROR_NO_ERROR = 0; public static final int TETHER_ERROR_NO_ERROR = 0;
/** {@hide} */ /** {@hide} */

View File

@@ -1,16 +1,16 @@
/** /**
* Copyright (c) 2008, The Android Open Source Project * Copyright (c) 2008, The Android Open Source Project
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
@@ -73,5 +73,7 @@ interface IConnectivityManager
String[] getTetherableWifiRegexs(); String[] getTetherableWifiRegexs();
String[] getTetherableBluetoothRegexs();
void requestNetworkTransitionWakelock(in String forWhom); void requestNetworkTransitionWakelock(in String forWhom);
} }

View File

@@ -344,7 +344,8 @@ public class ConnectivityService extends IConnectivityManager.Stub {
mTetheringConfigValid = (((mNetTrackers[ConnectivityManager.TYPE_MOBILE_DUN] != null) || mTetheringConfigValid = (((mNetTrackers[ConnectivityManager.TYPE_MOBILE_DUN] != null) ||
!mTethering.isDunRequired()) && !mTethering.isDunRequired()) &&
(mTethering.getTetherableUsbRegexs().length != 0 || (mTethering.getTetherableUsbRegexs().length != 0 ||
mTethering.getTetherableWifiRegexs().length != 0) && mTethering.getTetherableWifiRegexs().length != 0 ||
mTethering.getTetherableBluetoothRegexs().length != 0) &&
mTethering.getUpstreamIfaceRegexs().length != 0); mTethering.getUpstreamIfaceRegexs().length != 0);
} }
@@ -1676,6 +1677,15 @@ public class ConnectivityService extends IConnectivityManager.Stub {
} }
} }
public String[] getTetherableBluetoothRegexs() {
enforceTetherAccessPermission();
if (isTetheringSupported()) {
return mTethering.getTetherableBluetoothRegexs();
} else {
return new String[0];
}
}
// TODO - move iface listing, queries, etc to new module // TODO - move iface listing, queries, etc to new module
// javadoc from interface // javadoc from interface
public String[] getTetherableIfaces() { public String[] getTetherableIfaces() {