From c49ceff7f3062787007a714e2b9cfe08c7248c41 Mon Sep 17 00:00:00 2001 From: Robin Lee Date: Fri, 6 Dec 2013 16:40:47 +0000 Subject: [PATCH] Simplify UsbDeviceManager.containsFunction() This version handles cases like containsFunction("ab,a,b", "a") properly. Change-Id: Iac44b93807f29c442759e1943f483b5ed797bc71 --- .../java/com/android/server/usb/UsbDeviceManager.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/services/java/com/android/server/usb/UsbDeviceManager.java b/services/java/com/android/server/usb/UsbDeviceManager.java index 5a60de0f269b8..c1a364668a460 100644 --- a/services/java/com/android/server/usb/UsbDeviceManager.java +++ b/services/java/com/android/server/usb/UsbDeviceManager.java @@ -53,6 +53,7 @@ import java.io.FileDescriptor; import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintWriter; +import java.util.Arrays; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -287,12 +288,7 @@ public class UsbDeviceManager { } private static boolean containsFunction(String functions, String function) { - int index = functions.indexOf(function); - if (index < 0) return false; - if (index > 0 && functions.charAt(index - 1) != ',') return false; - int charAfter = index + function.length(); - if (charAfter < functions.length() && functions.charAt(charAfter) != ',') return false; - return true; + return Arrays.asList(functions.split(",")).contains(function); } private final class UsbHandler extends Handler {