diff --git a/app/src/main/java/org/mian/gitnex/activities/LoginActivity.java b/app/src/main/java/org/mian/gitnex/activities/LoginActivity.java index 11db7653..cc5b9672 100644 --- a/app/src/main/java/org/mian/gitnex/activities/LoginActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/LoginActivity.java @@ -724,9 +724,61 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener } else { - tinyDb.putBoolean("loggedInMode", true); - startActivity(new Intent(LoginActivity.this, MainActivity.class)); - finish(); + String instanceToken = "token " + tinyDb.getString(loginUid + "-token"); + + Call callGetUsername = RetrofitClient + .getInstance(instanceUrl, getApplicationContext()) + .getApiInterface() + .getUserInfo(instanceToken); + + callGetUsername.enqueue(new Callback() { + + @Override + public void onResponse(@NonNull Call call, @NonNull retrofit2.Response response) { + + UserInfo userDetails = response.body(); + + if (response.isSuccessful()) { + + if (response.code() == 200) { + + assert userDetails != null; + tinyDb.putString("userLogin", userDetails.getUsername()); + + tinyDb.putBoolean("loggedInMode", true); + startActivity(new Intent(LoginActivity.this, MainActivity.class)); + finish(); + + } + + } + else if(response.code() == 401) { + + SnackBar.error(getApplicationContext(), layoutView, getResources().getString(R.string.unauthorizedApiError)); + enableProcessButton(); + loginButton.setText(R.string.btnLogin); + + } + else { + + SnackBar.error(getApplicationContext(), layoutView, getResources().getString(R.string.genericApiStatusError) + response.code()); + enableProcessButton(); + loginButton.setText(R.string.btnLogin); + + } + + } + + @Override + public void onFailure(@NonNull Call call, @NonNull Throwable t) { + + Log.e("onFailure", t.toString()); + SnackBar.error(getApplicationContext(), layoutView, getResources().getString(R.string.genericError)); + enableProcessButton(); + loginButton.setText(R.string.btnLogin); + + } + }); }