Erro sqlLite no Android Studio

Bom dia galera,

Estou começar a estudar a parte de banco de dados (SqlLite) no Android e estou tendo um problema ao tentar criar uma tabela no mesmo, gostaria de pedir a ajuda dos colegas para tentar entender esse erro.

    06-11 11:09:39.459 2413-5589/? E/LocSvc_libulp: E/int ulp_brain_transition_all_providers(), no QUIPC/GNSS transition logic run due to both engines are OFF 
    06-11 11:09:39.462 2413-4530/? E/LocSvc_LBSApiV02: E/virtual int lbs_core::LBSApiV02::injectCoarsePosition(const CoarsePositionInfo &):353]: Error : st = 3, ind.status = 0
    06-11 11:09:39.463 2413-4555/? E/QMI_FW: QCCI qmi_cci_xport_recv: txn not found. svc_id: 16
    06-11 11:09:39.752 25498-25498/? E/ExtendedServiceUtils: Failed to load libdashplayer.so : dlopen failed: library "libdashplayer.so" not found
    06-11 11:09:40.297 5296-5301/? E/ANDR-PERF-MPCTL: Invalid profile no. 0, total profiles 0 only
   06-11 11:09:40.378 2413-21745/? E/ActivityManager: Sending non-protected broadcast 
   com.motorola.motocare.INTENT_TRIGGER from system 4541:com.motorola.process.system/1000 pkg 
   com.motorola.motgeofencesvc
                                               java.lang.Throwable
                                                   at 
   com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:18226)
                                                   at 
   com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:18826)
                                                   at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:512)
                                                   at 
  com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2906)
                                                   at android.os.Binder.execTransact(Binder.java:565)
   06-11 11:09:40.592 19430-26223/? E/Publisher: ProcessDatabaseInternal start
   06-11 11:09:42.569 2413-4294/? E/BatteryStatsService: no controller energy info supplied
   06-11 11:09:42.569 2413-4294/? E/BatteryStatsService: no controller energy info supplied
   06-11 11:09:42.583 2413-4294/? E/KernelUidCpuTimeReader: Failed to read uid_cputime: /proc/uid_cputime/show_uid_stat (No such file or directory)
   06-11 11:09:42.593 2413-4294/? E/BatteryStatsService: modem info is invalid: ModemActivityInfo{ 
   mTimestamp=3099243659 mSleepTimeMs=-1615062203 mIdleTimeMs=1615357965 mTxTimeMs[]=[1020, 1, 10360, 3761, 841] mRxTimeMs=43655 mEnergyUsed=0}
   06-11 11:09:45.118 25548-25548/? E/ExtendedServiceUtils: Failed to load libdashplayer.so : dlopen failed: library "libdashplayer.so" not found
   06-11 11:09:45.342 25553-25553/? E/ExtendedServiceUtils: Failed to load libdashplayer.so : dlopen failed: library "libdashplayer.so" not found
   06-11 11:09:46.319 25578-25578/? E/ExtendedServiceUtils: Failed to load libdashplayer.so : dlopen failed: library 
  "libdashplayer.so" not found
   06-11 11:09:46.453 5296-5301/? E/ANDR-PERF-MPCTL: Invalid profile no. 0, total profiles 0 only
   06-11 11:09:46.454 564-674/? E/ThermalEngine: override_notify: SS mode 1 overrid   
   06-11 11:09:46.481 2413-10031/? E/ActivityManager: Sending non-protected broadcast 
    com.motorola.motocare.INTENT_TRIGGER from system 4541:com.motorola.process.system/1000 pkg 
    com.motorola.motgeofencesvc
    java.lang.Throwable
                                                   at 
 com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:18226)
                                                   at 
 com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:18826)
                                                   at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:512)
                                                   at 
 com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2906)
                                                   at android.os.Binder.execTransact(Binder.java:565)
 06-11 11:09:46.609 2413-10030/? E/ActivityManager: Sending non-protected broadcast 
com.motorola.motocare.INTENT_TRIGGER from system 4541:com.motorola.process.system/1000 pkg 
com.motorola.motgeofencesvc
                                               java.lang.Throwable
                                                   at 
com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:18226)
                                                   at 
com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:18826)
                                                   at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:512)
                                                   at 
com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2906)
                                                   at android.os.Binder.execTransact(Binder.java:565)
06-11 11:09:46.815 25593-25593/? E/AndroidRuntime: FATAL EXCEPTION: main
                                               Process: bdsystems.com.br.lojavirtual, PID: 25593
                                               java.lang.RuntimeException: Unable to start activity 
ComponentInfo{bdsystems.com.br.lojavirtual/bdsystems.com.br.lojavirtual.LoginActivity}: 
java.lang.IllegalStateException: getDatabase called recursively
                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2659)
                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2724)
                                                   at android.app.ActivityThread.-wrap12(ActivityThread.java)
                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1473)
                                                   at android.os.Handler.dispatchMessage(Handler.java:102)
                                                   at android.os.Looper.loop(Looper.java:154)
                                                   at android.app.ActivityThread.main(ActivityThread.java:6123)
                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)
                                                Caused by: java.lang.IllegalStateException: getDatabase called recursively
                                                   at 
android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:203)
                                                   at 
android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
                                                   at Repository.LoginRepository.popularBD(LoginRepository.java:65)
                                                   at Repository.LoginRepository.onCreate(LoginRepository.java:45)
                                                   at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:251)
                                                   at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
                                                   at Repository.LoginRepository.popularBD(LoginRepository.java:65)
                                                   at BO.LoginBo.<init>(LoginBo.java:23)
                                                   at bdsystems.com.br.lojavirtual.LoginActivity.onCreate(LoginActivity.java:40)
                                                   at android.app.Activity.performCreate(Activity.java:6672)
                                                   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1140)
                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2612)
                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2724) 
                                                   at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1473) 
                                                   at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                   at android.os.Looper.loop(Looper.java:154) 
                                                   at android.app.ActivityThread.main(ActivityThread.java:6123) 
                                                   at java.lang.reflect.Method.invoke(Native Method) 
                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757) 
      06-11 11:09:46.834 2413-5457/? E/ActivityManager: Sending non-protected broadcast com.motorola.motocare.INTENT_TRIGGER from system 4541:com.motorola.process.system/1000 pkg com.motorola.motgeofencesvc
                                              java.lang.Throwable
                                                  at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:18226)
                                                  at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:18826)
                                                  at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:512)
                                                  at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2906)
                                                  at android.os.Binder.execTransact(Binder.java:565)
    06-11 11:09:47.150 2413-2748/? E/BatteryStatsService: no controller energy info supplied
    06-11 11:09:47.150 2413-2748/? E/BatteryStatsService: no controller energy info supplied
    06-11 11:09:47.168 2413-2748/? E/BatteryStatsService: power: Missing API
    06-11 11:09:47.171 2413-2748/? E/KernelUidCpuTimeReader: Failed to read uid_cputime: /proc/uid_cputime/show_uid_stat (No such file or directory)
    06-11 11:09:47.184 2413-2748/? E/BatteryStatsService: modem info is invalid: ModemActivityInfo{ mTimestamp=3099248240 mSleepTimeMs=-1615062203 mIdleTimeMs=1615357965 mTxTimeMs[]=[1020, 1, 10360, 3761, 841] mRxTimeMs=43655 mEnergyUsed=0}
   06-11 11:09:47.186 2413-2725/? E/KernelUidCpuTimeReader: Failed to read uid_cputime: /proc/uid_cputime/show_uid_stat (No such file or directory)
   06-11 11:09:47.442 2413-7855/? E/ActivityManager: Sending non-protected broadcast com.motorola.motocare.INTENT_TRIGGER from system 4541:com.motorola.process.system/1000 pkg com.motorola.motgeofencesvc
                                              java.lang.Throwable
                                                  at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:18226)
                                                  at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:18826)
                                                  at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:512)
                                                  at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2906)
                                                  at android.os.Binder.execTransact(Binder.java:565)
  06-11 11:09:49.456 564-674/? E/ThermalEngine: override_notify: SS mode 0 override
  06-11 11:09:51.409 2413-4578/? E/ActivityManager: Sending non-protected broadcast com.motorola.motocare.INTENT_TRIGGER from system 4541:com.motorola.process.system/1000 pkg com.motorola.motgeofencesvc
                                              java.lang.Throwable
                                                  at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:18226)
                                                  at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:18826)
                                                  at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:512)
                                                  at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2906)
                                                  at android.os.Binder.execTransact(Binder.java:565)
 06-11 11:09:51.602 5296-5301/? E/ANDR-PERF-MPCTL: Invalid profile no. 0, total profiles 0 only
 06-11 11:09:51.742 23679-23679/? E/MotoDisplay: Exception getting package info! e=[com.android.nfc]
 06-11 11:09:51.743 23679-23679/? E/MotoDisplay: Exception getting package info! e=[com.android.calculator2]
 06-11 11:09:51.745 23679-23679/? E/MotoDisplay: Exception getting package info! e=[com.motorola.tools.batterytracer]
 06-11 11:09:52.117 19430-19578/? E/Publisher: ProcessDatabaseInternal start
 06-11 11:09:52.173 2413-9799/? E/ActivityManager: Sending non-protected broadcast com.motorola.motocare.INTENT_TRIGGER from system 4541:com.motorola.process.system/1000 pkg com.motorola.motgeofencesvc
                                              java.lang.Throwable
                                                  at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:18226)
                                                  at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:18826)
                                                  at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:512)
                                                  at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2906)
                                                  at android.os.Binder.execTransact(Binder.java:565)
 06-11 11:09:52.183 2413-10030/? E/ActivityManager: Sending non-protected broadcast com.motorola.motocare.INTENT_TRIGGER from system 4541:com.motorola.process.system/1000 pkg com.motorola.motgeofencesvc
                                               java.lang.Throwable
                                                   at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:18226)
                                                   at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:18826)
                                                   at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:512)
                                                   at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2906)
                                                   at android.os.Binder.execTransact(Binder.java:565)
 06-11 11:09:52.215 2413-5405/? E/ActivityManager: Sending non-protected broadcast com.motorola.motocare.INTENT_TRIGGER from system 4541:com.motorola.process.system/1000 pkg com.motorola.motgeofencesvc
                                              java.lang.Throwable
                                                  at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:18226)
                                                  at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:18826)
                                                  at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:512)
                                                  at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2906)
                                                  at android.os.Binder.execTransact(Binder.java:565)
 06-11 11:09:52.219 2413-14320/? E/ActivityManager: Sending non-protected broadcast com.motorola.motocare.INTENT_TRIGGER from system 4541:com.motorola.process.system/1000 pkg com.motorola.motgeofencesvc
                                               java.lang.Throwable
                                                   at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:18226)
                                                   at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:18826)
                                                   at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:512)
                                                   at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2906)
                                                   at android.os.Binder.execTransact(Binder.java:565)
 06-11 11:09:52.365 21436-21445/? E/DataBuffer: Internal data leak within a DataBuffer object detected!  Be sure to explicitly call release() on all DataBuffer extending objects when you are done with them. (internal object: com.google.android.gms.common.data.DataHolder@75b0810)
 06-11 11:09:52.367 21436-21445/? E/DataBuffer: Internal data leak within a DataBuffer object detected!  Be sure to explicitly call release() on all DataBuffer extending objects when you are done with them. (internal object: com.google.android.gms.common.data.DataHolder@a977f09)

Segue minha classe de regra de negócio.

    public class LoginBo {

private LoginRepository loginRepository;


public LoginBo(Activity activity) {

    loginRepository = new LoginRepository(activity);
    loginRepository.popularBD();
}


public boolean validarCamposLogin(LoginValidation validation) {

    boolean resultado = true;

    if(validation.getLogin() == null || "".equals(validation.getLogin())) {

        validation.getEdtLogin().setError("Campo obrigatório");
        // Toast.makeText(getApplicationContext(), "O campo login é obrigatório de ser preenchido", Toast.LENGTH_SHORT).show();
        resultado = false;
    }
    else if(validation.getLogin().length() < 3) {

        validation.getEdtLogin().setError("O campo deve ter pelo menos 3 caracteres");
    }

    if(validation.getSenha() == null || "".equals(validation.getSenha())){

        validation.getEdtSenha().setError("Campo obrigatório");
       // Toast.makeText(getApplicationContext(), "O campo senha é obrigatório de ser preenchido", Toast.LENGTH_SHORT).show();
        resultado = false;
    }

    if(resultado) {

        if(!validation.getLogin().equals("admin") || !validation.getSenha().equals("admin")) {

            Util.showMsgToast(validation.getActivity(), "Login/Senha inválidos!");
            resultado = false;
        }
        else {

            SharedPreferences.Editor editor = validation.getActivity().getSharedPreferences("pref", Context.MODE_PRIVATE).edit();
            editor.putString("login", validation.getLogin());
            editor.putString("senha", validation.getSenha());
            editor.commit();
        }
    }
    return resultado;
}

Segue minha classe responsável por criar a tabela.

    public class LoginRepository extends SQLiteOpenHelper {



/**
 *
 * @param context - é a propria activity

// * @param name
// * @param factory - fabrica de conexões do meu cursor
// * @param version - versão do meu banco de dados
*/
//public LoginRepository(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
public LoginRepository(Context context) {

    super(context, Constantes.BD_NOME, null, Constantes.BD_VERSAO);
}

/**
 * Cria, atualiza e carrega os dados das tabelas na hora que a classe é chamada
 * Tem que se tomar cuidado, pois se você não souber trabalhar corretamente com esse metodo, ele pode recriar a tabela.
 * @param db
 */
@Override
public void onCreate(SQLiteDatabase db) {

    StringBuilder query = new StringBuilder();
    query.append("CREATE TABLE LOGIN ( ");
    query.append(" ID INTEGER PRIMARY KEY AUTOINCREMENT,");
    query.append(" USUARIO TEXT(20) NOT NULL,");
    query.append(" SENHA TEXT(20) NOT NULL)");

    db.execSQL(query.toString());
    popularBD();
}

/**
 * Atualiza as tabelas de acordo com a informação vinda do campo version do seu construtor, se for uma informação diferente,
 * ele entenderá que houve atualização e atualização os dados
 * @param db
 * @param oldVersion
 * @param newVersion
 */
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}

public void popularBD() {

    StringBuilder query = new StringBuilder();
    query.append("INSERT INTO LOGIN(USUARIO, SENHA) VALUES(?, ?)");

    SQLiteDatabase db = this.getWritableDatabase();    // metodo utilizado para escrever na base de dados
    db.execSQL(query.toString(), new String[] {"admin", "admin"});   // criando um vetor de strings para utiliza-lo ao executar a query abaixo, pois é exigencia do metodo.

}

}

Desde já agradeço por qualquer ajuda.