From ec323a0849155302b3b522fe34a2638be74af420 Mon Sep 17 00:00:00 2001 From: Zoltan Szatmary-Ban Date: Tue, 7 Jul 2015 13:24:07 +0100 Subject: [PATCH] Filter USB options on chooser when DISALLOW_USB_FILE_TRANSFER is on Bug: 22291579 Change-Id: I32611404ef5f58c7484fe5c4b7a4f7782cc8daa3 --- .../deviceinfo/UsbModeChooserActivity.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java b/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java index 268f87d5f7c..1cec2815167 100644 --- a/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java +++ b/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java @@ -24,14 +24,13 @@ import android.content.Context; import android.content.DialogInterface; import android.hardware.usb.UsbManager; import android.os.Bundle; -import android.util.Log; +import android.os.UserManager; import com.android.settings.R; /** * UI for the USB chooser dialog. * - * TODO: Don't show some UI elements if UserManager.DISALLOW_USB_FILE_TRANSFER is disabled. */ public class UsbModeChooserActivity extends Activity { @@ -41,10 +40,19 @@ public class UsbModeChooserActivity extends Activity { protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); mUsbManager = (UsbManager) getSystemService(Context.USB_SERVICE); + CharSequence[] items; + UserManager userManager = + (UserManager) getSystemService(Context.USER_SERVICE); + if (userManager.hasUserRestriction(UserManager.DISALLOW_USB_FILE_TRANSFER)) { + items = new CharSequence[] { getText(R.string.usb_use_charging_only) }; + } else { + items = getResources().getTextArray(R.array.usb_available_functions); + } + final AlertDialog levelDialog; AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(R.string.usb_use); - builder.setSingleChoiceItems(R.array.usb_available_functions, getCurrentFunction(), + builder.setSingleChoiceItems(items, getCurrentFunction(), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) {