Merge "Hide tethering option when in a guest account" into rvc-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
ab41be5607
@@ -50,6 +50,7 @@ public class UsbBackend {
|
|||||||
private final boolean mTetheringRestrictedBySystem;
|
private final boolean mTetheringRestrictedBySystem;
|
||||||
private final boolean mMidiSupported;
|
private final boolean mMidiSupported;
|
||||||
private final boolean mTetheringSupported;
|
private final boolean mTetheringSupported;
|
||||||
|
private final boolean mIsAdminUser;
|
||||||
|
|
||||||
private UsbManager mUsbManager;
|
private UsbManager mUsbManager;
|
||||||
|
|
||||||
@@ -70,6 +71,7 @@ public class UsbBackend {
|
|||||||
mFileTransferRestrictedBySystem = isUsbFileTransferRestrictedBySystem(userManager);
|
mFileTransferRestrictedBySystem = isUsbFileTransferRestrictedBySystem(userManager);
|
||||||
mTetheringRestricted = isUsbTetheringRestricted(userManager);
|
mTetheringRestricted = isUsbTetheringRestricted(userManager);
|
||||||
mTetheringRestrictedBySystem = isUsbTetheringRestrictedBySystem(userManager);
|
mTetheringRestrictedBySystem = isUsbTetheringRestrictedBySystem(userManager);
|
||||||
|
mIsAdminUser = userManager.isAdminUser();
|
||||||
|
|
||||||
mMidiSupported = context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_MIDI);
|
mMidiSupported = context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_MIDI);
|
||||||
ConnectivityManager cm =
|
ConnectivityManager cm =
|
||||||
@@ -100,7 +102,8 @@ public class UsbBackend {
|
|||||||
|| (!mTetheringSupported && (functions & UsbManager.FUNCTION_RNDIS) != 0)) {
|
|| (!mTetheringSupported && (functions & UsbManager.FUNCTION_RNDIS) != 0)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return !(areFunctionDisallowed(functions) || areFunctionsDisallowedBySystem(functions));
|
return !(areFunctionDisallowed(functions) || areFunctionsDisallowedBySystem(functions)
|
||||||
|
|| areFunctionsDisallowedByNonAdminUser(functions));
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getPowerRole() {
|
public int getPowerRole() {
|
||||||
@@ -207,6 +210,11 @@ public class UsbBackend {
|
|||||||
|| (mTetheringRestrictedBySystem && ((functions & UsbManager.FUNCTION_RNDIS) != 0));
|
|| (mTetheringRestrictedBySystem && ((functions & UsbManager.FUNCTION_RNDIS) != 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
boolean areFunctionsDisallowedByNonAdminUser(long functions) {
|
||||||
|
return !mIsAdminUser && (functions & UsbManager.FUNCTION_RNDIS) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
private void updatePorts() {
|
private void updatePorts() {
|
||||||
mPort = null;
|
mPort = null;
|
||||||
mPortStatus = null;
|
mPortStatus = null;
|
||||||
|
@@ -181,4 +181,24 @@ public class UsbBackendTest {
|
|||||||
|
|
||||||
assertThat(usbBackend.areFunctionsSupported(UsbManager.FUNCTION_MTP)).isTrue();
|
assertThat(usbBackend.areFunctionsSupported(UsbManager.FUNCTION_MTP)).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void areFunctionsDisallowedByNonAdminUser_isAdminUser_returnFalse() {
|
||||||
|
when(mUserManager.isAdminUser()).thenReturn(true);
|
||||||
|
|
||||||
|
final UsbBackend usbBackend = new UsbBackend(mContext, mUserManager);
|
||||||
|
|
||||||
|
assertThat(usbBackend.areFunctionsDisallowedByNonAdminUser(
|
||||||
|
UsbManager.FUNCTION_RNDIS)).isFalse();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void areFunctionsDisallowedByNonAdminUser_isNotAdminUser_returnTrue() {
|
||||||
|
when(mUserManager.isAdminUser()).thenReturn(false);
|
||||||
|
|
||||||
|
final UsbBackend usbBackend = new UsbBackend(mContext, mUserManager);
|
||||||
|
|
||||||
|
assertThat(usbBackend.areFunctionsDisallowedByNonAdminUser(
|
||||||
|
UsbManager.FUNCTION_RNDIS)).isTrue();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user