Loading core/java/android/os/INetworkManagementService.aidl +14 −0 Original line number Diff line number Diff line Loading @@ -148,4 +148,18 @@ interface INetworkManagementService */ void detachPppd(String tty); /** * Turn on USB RNDIS support - this will turn off thinks like adb/mass-storage */ void startUsbRNDIS(); /** * Turn off USB RNDIS support */ void stopUsbRNDIS(); /** * Check the status of USB RNDIS support */ boolean isUsbRNDISStarted(); } services/java/com/android/server/NetworkManagementService.java +31 −0 Original line number Diff line number Diff line Loading @@ -425,4 +425,35 @@ class NetworkManagementService extends INetworkManagementService.Stub { android.Manifest.permission.CHANGE_NETWORK_STATE, "NetworkManagementService"); mConnector.doCommand(String.format("pppd detach %s", tty)); } public void startUsbRNDIS() throws IllegalStateException { mContext.enforceCallingOrSelfPermission( android.Manifest.permission.CHANGE_NETWORK_STATE, "NetworkManagementService"); mConnector.doCommand("usb startrndis"); } public void stopUsbRNDIS() throws IllegalStateException { mContext.enforceCallingOrSelfPermission( android.Manifest.permission.CHANGE_NETWORK_STATE, "NetworkManagementService"); mConnector.doCommand("usb stoprndis"); } public boolean isUsbRNDISStarted() throws IllegalStateException { mContext.enforceCallingOrSelfPermission( android.Manifest.permission.ACCESS_NETWORK_STATE, "NetworkManagementService"); ArrayList<String> rsp = mConnector.doCommand("usb rndisstatus"); for (String line : rsp) { String []tok = line.split(" "); int code = Integer.parseInt(tok[0]); if (code == NetdResponseCode.UsbRNDISStatusResult) { if (tok[2].equals("started")) return true; return false; } else { throw new IllegalStateException(String.format("Unexpected response code %d", code)); } } throw new IllegalStateException("Got an empty response"); } } Loading
core/java/android/os/INetworkManagementService.aidl +14 −0 Original line number Diff line number Diff line Loading @@ -148,4 +148,18 @@ interface INetworkManagementService */ void detachPppd(String tty); /** * Turn on USB RNDIS support - this will turn off thinks like adb/mass-storage */ void startUsbRNDIS(); /** * Turn off USB RNDIS support */ void stopUsbRNDIS(); /** * Check the status of USB RNDIS support */ boolean isUsbRNDISStarted(); }
services/java/com/android/server/NetworkManagementService.java +31 −0 Original line number Diff line number Diff line Loading @@ -425,4 +425,35 @@ class NetworkManagementService extends INetworkManagementService.Stub { android.Manifest.permission.CHANGE_NETWORK_STATE, "NetworkManagementService"); mConnector.doCommand(String.format("pppd detach %s", tty)); } public void startUsbRNDIS() throws IllegalStateException { mContext.enforceCallingOrSelfPermission( android.Manifest.permission.CHANGE_NETWORK_STATE, "NetworkManagementService"); mConnector.doCommand("usb startrndis"); } public void stopUsbRNDIS() throws IllegalStateException { mContext.enforceCallingOrSelfPermission( android.Manifest.permission.CHANGE_NETWORK_STATE, "NetworkManagementService"); mConnector.doCommand("usb stoprndis"); } public boolean isUsbRNDISStarted() throws IllegalStateException { mContext.enforceCallingOrSelfPermission( android.Manifest.permission.ACCESS_NETWORK_STATE, "NetworkManagementService"); ArrayList<String> rsp = mConnector.doCommand("usb rndisstatus"); for (String line : rsp) { String []tok = line.split(" "); int code = Integer.parseInt(tok[0]); if (code == NetdResponseCode.UsbRNDISStatusResult) { if (tok[2].equals("started")) return true; return false; } else { throw new IllegalStateException(String.format("Unexpected response code %d", code)); } } throw new IllegalStateException("Got an empty response"); } }