diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java index 2a9e20f83..be96f8e60 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java @@ -699,6 +699,12 @@ public class PojavLoginActivity extends BaseActivity } public void loginSavedAcc(View view) { + String[] accountArr = new File(Tools.DIR_ACCOUNT_NEW).list(); + if(accountArr.length == 0){ + showNoAccountDialog(); + return; + } + final Dialog accountDialog = new Dialog(PojavLoginActivity.this); int xScreen = PojavLoginActivity.this.getResources().getDisplayMetrics().widthPixels; @@ -710,7 +716,7 @@ public class PojavLoginActivity extends BaseActivity LinearLayout accountListLayout = accountDialog.findViewById(R.id.accountListLayout); LayoutInflater inflater = (LayoutInflater) this.getSystemService(LAYOUT_INFLATER_SERVICE); - String[] accountArr = new File(Tools.DIR_ACCOUNT_NEW).list(); + for (int accountIndex = 0; accountIndex < accountArr.length; accountIndex++) { String s = accountArr[accountIndex]; View child = inflater.inflate(R.layout.simple_account_list_item, null); @@ -791,6 +797,10 @@ public class PojavLoginActivity extends BaseActivity new InvalidateTokenTask(PojavLoginActivity.this).execute(selectedAccName); accountListLayout.removeViewsInLayout(accountIndex_final, 1); //Resize the window + if (accountListLayout.getChildCount() == 0) { + accountDialog.dismiss(); //No need to keep it, since there is no account + return; + } accountDialog.getWindow().setLayout((int)(xScreen*0.4),(int) Math.min((yScreen*0.8), (73 + accountListLayout.getChildCount()*55)*(PojavLoginActivity.this.getResources().getDisplayMetrics().densityDpi/160f) )); } }); @@ -926,4 +936,21 @@ public class PojavLoginActivity extends BaseActivity } } } + + //When the user have no saved account, you can show him this dialog + private void showNoAccountDialog(){ + AlertDialog.Builder builder = new AlertDialog.Builder(PojavLoginActivity.this); + + + builder.setMessage(R.string.login_dialog_no_saved_account) + .setTitle(R.string.login_title_no_saved_account) + .setPositiveButton(android.R.string.ok, (dialog, which) -> { + //Fucking nothing + }); + + + AlertDialog dialog = builder.create(); + dialog.show(); + } + } diff --git a/app_pojavlauncher/src/main/res/values/strings.xml b/app_pojavlauncher/src/main/res/values/strings.xml index 7c6b8a349..e4284f7b2 100644 --- a/app_pojavlauncher/src/main/res/values/strings.xml +++ b/app_pojavlauncher/src/main/res/values/strings.xml @@ -29,8 +29,10 @@ This username already exist Microsoft login - + Select account + No account found ! + You don\'t have any saved account.\nUse the option \"Keep me logged in\" to save an account upon first login. "Swipe from right to left to open menu ◀\nHold a button to customize: edit, resize or delete."