java – Missing first character off incoming string from Bluetooth, not every string

I am currently trying to create a water level readout as a progress bar in a simple Android app. Currently, I am using an Arduino Mega 2560 with a HC-05 to transmit the readout of the water level sensor. To simplify things, the arduino code is just counting up and down from 0 to 1000 and back, as follows.

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  Serial.println("Test for Water Sensor");
  Serial1.begin(9600);

}

void loop() {
  // put your main code here, to run repeatedly:

  for (int i = 0; i <= 1000; i++)
  {
    Serial1.println(i);
    Serial.println(i);
    delay(100);
  }
  for (int i = 1000; i >= 0; i--)
  {
    Serial1.println(i);
    Serial.println(i);
    delay(100);
  }
}

On the android end, I am using this to convert to int, then change the progress bar. It also currently displays the unconverted message in a TextView. In the below code, mReadBuffer refers to a TextView object, and waterLevel is a Progress Bar object.

 mHandler = new Handler(Looper.getMainLooper()){
            @Override
            public void handleMessage(Message msg){
                if(msg.what == MESSAGE_READ){
                    String readMessage = null;
                    try {
                        readMessage = new String((byte()) msg.obj, "UTF-8");
                    } catch (UnsupportedEncodingException e) {
                        e.printStackTrace();
                    }
                    mReadBuffer.setText(readMessage);
                    try {
                        waterLevelValue = NumberFormat.getInstance().parse(readMessage).intValue();
                        waterLevel.setProgress(waterLevelValue);
                    } catch (ParseException e) {
                        e.printStackTrace();
                    }
                }

                if(msg.what == CONNECTING_STATUS){
                    if(msg.arg1 == 1)
                        mBluetoothStatus.setText("Connected to Device: " + msg.obj);
                    else
                        mBluetoothStatus.setText("Connection Failed");
                }
            }
        };

The issue I am getting is that quite often (maybe 1-2 times a second) it is not reading the first digit. I can see on the Serial Monitor that all digits are going there, but on the android app, it will sometimes miss the first (eg: 543, 544, 45, 546, 547, etc)

What could be causing the issue here, I am very new to Bluetooth, so please help! More than happy to send more portions of code if needed.