Loading services/usb/java/com/android/server/usb/UsbHostManager.java +8 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,7 @@ public class UsbHostManager { private final HashMap<String, ArrayList<UsbDirectMidiDevice>> mMidiDevices = new HashMap<String, ArrayList<UsbDirectMidiDevice>>(); private final HashSet<String> mMidiUniqueCodes = new HashSet<String>(); private static final int MAX_UNIQUE_CODE_GENERATION_ATTEMPTS = 10; private final Random mRandom = new Random(); private final boolean mHasMidiFeature; Loading Loading @@ -645,11 +646,18 @@ public class UsbHostManager { // Generate a 3 digit code. private String generateNewUsbDeviceIdentifier() { String code; int numberOfAttempts = 0; do { if (numberOfAttempts > MAX_UNIQUE_CODE_GENERATION_ATTEMPTS) { Slog.w(TAG, "MIDI unique code array resetting"); mMidiUniqueCodes.clear(); numberOfAttempts = 0; } code = ""; for (int i = 0; i < 3; i++) { code += mRandom.nextInt(10); } numberOfAttempts++; } while (mMidiUniqueCodes.contains(code)); mMidiUniqueCodes.add(code); return code; Loading Loading
services/usb/java/com/android/server/usb/UsbHostManager.java +8 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,7 @@ public class UsbHostManager { private final HashMap<String, ArrayList<UsbDirectMidiDevice>> mMidiDevices = new HashMap<String, ArrayList<UsbDirectMidiDevice>>(); private final HashSet<String> mMidiUniqueCodes = new HashSet<String>(); private static final int MAX_UNIQUE_CODE_GENERATION_ATTEMPTS = 10; private final Random mRandom = new Random(); private final boolean mHasMidiFeature; Loading Loading @@ -645,11 +646,18 @@ public class UsbHostManager { // Generate a 3 digit code. private String generateNewUsbDeviceIdentifier() { String code; int numberOfAttempts = 0; do { if (numberOfAttempts > MAX_UNIQUE_CODE_GENERATION_ATTEMPTS) { Slog.w(TAG, "MIDI unique code array resetting"); mMidiUniqueCodes.clear(); numberOfAttempts = 0; } code = ""; for (int i = 0; i < 3; i++) { code += mRandom.nextInt(10); } numberOfAttempts++; } while (mMidiUniqueCodes.contains(code)); mMidiUniqueCodes.add(code); return code; Loading