I am receiving some data from an USB component, component will send me continuous data, if I have received the data I have to stop reading the data myself and the component will not stop sending data, I am trying to break the loop if I received some key I tried using boolean, but it is not terminating the loop.
 boolean shouldBreak = false;
    switch(msg.what)
    {               
    case USBAccessoryWhat:
    switch(((USBAccessoryManagerMessage)msg.obj).type) {
    case READ:
        if(accessoryManager.isConnected() == false) {
            return;
        }
        while(true) {
            if(accessoryManager.available() < 2) {
                break;
            }
            switch(commandPacket[0]){
                case 0:
                    test = Integer.toString(commandPacket[0]) + ", " + Integer.toString(commandPacket[1]);
                    Test_one(test);
                break;
                case 1:
                    test = Integer.toString(commandPacket[0]) + ", " + Integer.toString(commandPacket[1]);
                    Test_one(test);
                break;
                case 2:
                    test = Integer.toString(commandPacket[0]) + ", " + Integer.toString(commandPacket[1]);
                    Test_one(test);
                    shouldBreak = true; // have to break here
                break;
                default:
                break;
            } 
             if (shouldBreak) break; //To break this while
        }
        break;
    }
    break;
    }
 
     
     
     
    