Android to Arduino BLE file transfer

Android code

public void bytesToHex(byte[] in) {
        final StringBuilder builder = new StringBuilder();
        int i=0;
        sendingData = true;
        Log.d("byteToHex", "sendingData = true, start sending data.");
        sendSerial("w"); //write command
        Log.d("byteToHex", "sending w");
        for(byte b : in) {

            while(!newData){//wait for response from Arduino, newData == true 
                if(resendData == true){ //timer on Arduino up, arduino sent command req for resend of prev hex chars
                    sendSerial(sendByte);
                    Log.d("byteToHex", "resendData = true, resending: " + sendByte);
                    resendData = false; //reset resendData flag
                }
            } 


            i++;
            sendByte = String.format("%02x", b); //send next byte(hex representation) if got response from Arduino
            sendSerial(sendByte);
            newData = false;
            Log.d("byteToHex", "newData = false");
            Log.d("byteToHex", "Sent " + i + " byte");


        }
        sentTerminator = true; //flag to check if terminator is received on mcu
        sendSerial("||"); //terminating command, tell teensy last hex has been sent
        while(sentTerminator == true){ //while terminator not yet received
            if(resendTerminator == true){ //
                sendSerial("||");
                Log.d("byteToHex", "resending terminator");
                resendTerminator = false; //Resend complete. reset resendTerminator flag.
            }
        }
        sendingData = false;
        
    }