Hi I'm writing an app to pair a Bluetooth device. While device pairing, I'm adding a loading bar (progressDialog) and the loading bar should timeout (disappear) after 5 seconds. And set a text box from invisible to visible displaying the device name. And set a pair button from invisible to visible in order to jump to the next activity. However, I don't know how to timeout the loading bar, the closest thing I can do is to do a onBackPress. Could someone show me how to do the time out for the loading bar please?
package com.example.ecyclebin;
import androidx.appcompat.app.AppCompatActivity;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class SetUpScreen extends AppCompatActivity {
    // Initialization
    Button btStart; // start bluetooth button 
    Button prButton; // start pairing button
    TextView deviceName;
    ProgressDialog progressDialog;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_set_up_screen);
        // set bt scan button 
        btStart = findViewById(R.id.scan_bt);
        
        // set pair button invisible 
        prButton = findViewById(R.id.pair);
        prButton.setVisibility(View.INVISIBLE);
        // set device name invisible 
        deviceName = findViewById(R.id.deviceName);
        deviceName.setVisibility(View.INVISIBLE);
        
        btStart.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Init progress dialog
                progressDialog = new ProgressDialog(SetUpScreen.this);
                // Show Dialog
                progressDialog.show();
                // set content view
                progressDialog.setContentView(R.layout.progress_dialog);
                // set transparent background
                progressDialog.getWindow().setBackgroundDrawableResource(
                        android.R.color.transparent
                );
            }
        });
    }
    @Override
    public void onBackPressed() {
        // Dismiss Progress Bar
        progressDialog.dismiss();
        
        prButton = findViewById(R.id.pair);
        prButton.setVisibility(View.VISIBLE);
        deviceName = findViewById(R.id.deviceName);
        deviceName.setVisibility(View.VISIBLE);
    }
}
Additional Attempt:
    public void start(View v){
        Timer t = new Timer();
        TimerTask tt = new TimerTask(){
            @Override
            public void run() {
                progressDialog.dismiss();
                deviceName = findViewById(R.id.deviceName);
                deviceName.setVisibility(View.VISIBLE);
                prButton = findViewById(R.id.pair);
                prButton.setVisibility(View.VISIBLE);
            }
        };
        t.schedule(tt, 0, 3000);
    }
