mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
fixes Progress Bar Visibility change with Orientation Change and login process terminated (#4001) (#4028)
* fixes #4001
* Overrides the onSaveInstanceState method and onRestoreInstanceState method in LoginActivity.java
* In onSaveInstanceState save ProgressDailog state or visiblity and text of TextView(errorMessage)
* In onRestoreInstanceState restore All saved Data
* Update the commit -1a92b17e37
* formatting the codechanges
* reformated the codechange
This commit is contained in:
parent
f7af27bfa1
commit
9375a8ba11
1 changed files with 40 additions and 1 deletions
|
|
@ -115,7 +115,10 @@ public class LoginActivity extends AccountAuthenticatorActivity {
|
||||||
private LoginTextWatcher textWatcher = new LoginTextWatcher();
|
private LoginTextWatcher textWatcher = new LoginTextWatcher();
|
||||||
private CompositeDisposable compositeDisposable = new CompositeDisposable();
|
private CompositeDisposable compositeDisposable = new CompositeDisposable();
|
||||||
private Call<MwQueryResponse> loginToken;
|
private Call<MwQueryResponse> loginToken;
|
||||||
|
final String saveProgressDailog="ProgressDailog_state";
|
||||||
|
final String saveErrorMessage ="errorMessage";
|
||||||
|
final String saveUsername="username";
|
||||||
|
final String savePassword="password";
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
@ -455,4 +458,40 @@ public class LoginActivity extends AccountAuthenticatorActivity {
|
||||||
Intent intent = new Intent(context, LoginActivity.class);
|
Intent intent = new Intent(context, LoginActivity.class);
|
||||||
context.startActivity(intent);
|
context.startActivity(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onSaveInstanceState(Bundle outState) {
|
||||||
|
// if progressDialog is visible during the configuration change then store state as true else false so that
|
||||||
|
// we maintain visiblity of progressDailog after configuration change
|
||||||
|
if(progressDialog!=null&&progressDialog.isShowing()) {
|
||||||
|
outState.putBoolean(saveProgressDailog,true);
|
||||||
|
} else {
|
||||||
|
outState.putBoolean(saveProgressDailog,false);
|
||||||
|
}
|
||||||
|
outState.putString(saveErrorMessage,errorMessage.getText().toString()); //Save the errorMessage
|
||||||
|
outState.putString(saveUsername,getUsername()); // Save the username
|
||||||
|
outState.putString(savePassword,getPassword()); // Save thte password
|
||||||
|
}
|
||||||
|
private String getUsername() {
|
||||||
|
return usernameEdit.getText().toString();
|
||||||
|
}
|
||||||
|
private String getPassword(){
|
||||||
|
return passwordEdit.getText().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onRestoreInstanceState(final Bundle savedInstanceState) {
|
||||||
|
super.onRestoreInstanceState(savedInstanceState);
|
||||||
|
usernameEdit.setText(savedInstanceState.getString(saveUsername));
|
||||||
|
passwordEdit.setText(savedInstanceState.getString(savePassword));
|
||||||
|
if(savedInstanceState.getBoolean(saveProgressDailog)) {
|
||||||
|
performLogin();
|
||||||
|
}
|
||||||
|
String errorMessage=savedInstanceState.getString(saveErrorMessage);
|
||||||
|
if(sessionManager.isUserLoggedIn()) {
|
||||||
|
showMessage(R.string.login_success, R.color.primaryDarkColor);
|
||||||
|
} else {
|
||||||
|
showMessage(errorMessage, R.color.secondaryDarkColor);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue