diff options
author | Robert Greenwalt <robdroid@android.com> | 2010-03-02 17:25:02 -0800 |
---|---|---|
committer | Robert Greenwalt <robdroid@android.com> | 2010-03-03 15:14:29 -0800 |
commit | 5a73506cdd466f2b96686ced3ff0f7ca224d1143 (patch) | |
tree | 9818d6ef9b3f3dd9658d9ea7eb6ccb9de65d38f5 /core/java/android/net | |
parent | 9b10ef5fe85e9d29721ff0cd15161f960d38a8db (diff) | |
download | frameworks_base-5a73506cdd466f2b96686ced3ff0f7ca224d1143.zip frameworks_base-5a73506cdd466f2b96686ced3ff0f7ca224d1143.tar.gz frameworks_base-5a73506cdd466f2b96686ced3ff0f7ca224d1143.tar.bz2 |
Add error reporting for Tethering.
Also make the usb interface configuration more robust so retries are possible.
Makes all Tethering errors recoverable - no harm letting them try again anyway. Worst case
is they need to reboot.
Diffstat (limited to 'core/java/android/net')
-rw-r--r-- | core/java/android/net/ConnectivityManager.java | 60 | ||||
-rw-r--r-- | core/java/android/net/IConnectivityManager.aidl | 8 |
2 files changed, 61 insertions, 7 deletions
diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index c76aca1..a6668e7 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -364,7 +364,7 @@ public class ConnectivityManager /** * Sets the persisted value for enabling/disabling Mobile data. * - * @param allowMobileData Whether the mobile data connection should be + * @param enabled Whether the mobile data connection should be * used or not. * @hide */ @@ -418,22 +418,35 @@ public class ConnectivityManager /** * {@hide} */ - public boolean tether(String iface) { + public String[] getTetheringErroredIfaces() { + try { + return mService.getTetheringErroredIfaces(); + } catch (RemoteException e) { + return new String[0]; + } + } + + /** + * @return error A TETHER_ERROR value indicating success or failure type + * {@hide} + */ + public int tether(String iface) { try { return mService.tether(iface); } catch (RemoteException e) { - return false; + return TETHER_ERROR_SERVICE_UNAVAIL; } } /** + * @return error A TETHER_ERROR value indicating success or failure type * {@hide} */ - public boolean untether(String iface) { + public int untether(String iface) { try { return mService.untether(iface); } catch (RemoteException e) { - return false; + return TETHER_ERROR_SERVICE_UNAVAIL; } } @@ -469,4 +482,41 @@ public class ConnectivityManager return new String[0]; } } + + /** {@hide} */ + public static final int TETHER_ERROR_NO_ERROR = 0; + /** {@hide} */ + public static final int TETHER_ERROR_UNKNOWN_IFACE = 1; + /** {@hide} */ + public static final int TETHER_ERROR_SERVICE_UNAVAIL = 2; + /** {@hide} */ + public static final int TETHER_ERROR_UNSUPPORTED = 3; + /** {@hide} */ + public static final int TETHER_ERROR_UNAVAIL_IFACE = 4; + /** {@hide} */ + public static final int TETHER_ERROR_MASTER_ERROR = 5; + /** {@hide} */ + public static final int TETHER_ERROR_TETHER_IFACE_ERROR = 6; + /** {@hide} */ + public static final int TETHER_ERROR_UNTETHER_IFACE_ERROR = 7; + /** {@hide} */ + public static final int TETHER_ERROR_ENABLE_NAT_ERROR = 8; + /** {@hide} */ + public static final int TETHER_ERROR_DISABLE_NAT_ERROR = 9; + /** {@hide} */ + public static final int TETHER_ERROR_IFACE_CFG_ERROR = 10; + + /** + * @param iface The name of the interface we're interested in + * @return error The error code of the last error tethering or untethering the named + * interface + * {@hide} + */ + public int getLastTetherError(String iface) { + try { + return mService.getLastTetherError(iface); + } catch (RemoteException e) { + return TETHER_ERROR_SERVICE_UNAVAIL; + } + } } diff --git a/core/java/android/net/IConnectivityManager.aidl b/core/java/android/net/IConnectivityManager.aidl index 2514693..b05c2ed 100644 --- a/core/java/android/net/IConnectivityManager.aidl +++ b/core/java/android/net/IConnectivityManager.aidl @@ -55,9 +55,11 @@ interface IConnectivityManager void setMobileDataEnabled(boolean enabled); - boolean tether(String iface); + int tether(String iface); - boolean untether(String iface); + int untether(String iface); + + int getLastTetherError(String iface); boolean isTetheringSupported(); @@ -65,6 +67,8 @@ interface IConnectivityManager String[] getTetheredIfaces(); + String[] getTetheringErroredIfaces(); + String[] getTetherableUsbRegexs(); String[] getTetherableWifiRegexs(); |