Skip to content

Commit ec55f27

Browse files
ooroscniftynei
authored andcommitted
Login orientation persistance added, stops login from reseting on rotation.
touch ups reset pointless auto styling fixes Removed line space, fix spelling based on pr. Fixes: nodejs#147 Removed fabricKey, removed extra line Removed line
1 parent be23bbc commit ec55f27

File tree

1 file changed

+28
-5
lines changed

1 file changed

+28
-5
lines changed

app/src/main/java/com/zulip/android/activities/LoginActivity.java

+28-5
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import android.util.Log;
1313
import android.util.Patterns;
1414
import android.view.View;
15+
import android.widget.Button;
1516
import android.widget.EditText;
1617
import android.widget.Toast;
1718

@@ -23,13 +24,13 @@
2324
import com.google.android.gms.common.api.GoogleApiClient;
2425
import com.zulip.android.BuildConfig;
2526
import com.zulip.android.R;
27+
import com.zulip.android.ZulipApp;
2628
import com.zulip.android.networking.AsyncDevGetEmails;
2729
import com.zulip.android.networking.AsyncGetBackends;
30+
import com.zulip.android.networking.AsyncLogin;
31+
import com.zulip.android.networking.ZulipAsyncPushTask.AsyncTaskCompleteListener;
2832
import com.zulip.android.util.AnimationHelper;
2933
import com.zulip.android.util.ZLog;
30-
import com.zulip.android.ZulipApp;
31-
import com.zulip.android.networking.ZulipAsyncPushTask.AsyncTaskCompleteListener;
32-
import com.zulip.android.networking.AsyncLogin;
3334

3435
import org.json.JSONException;
3536
import org.json.JSONObject;
@@ -52,6 +53,12 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList
5253
private EditText mUserName;
5354
private EditText mPassword;
5455
private EditText serverIn;
56+
//region state-restoration
57+
static final String USERNAME = "username";
58+
static final String PASSWORD = "password";
59+
static final String SERVER_IN = "serverIn";
60+
private boolean skipAnimations = false;
61+
//endregion
5562

5663
private View mGoogleSignInButton;
5764

@@ -95,11 +102,19 @@ public void onClick(View view) {
95102
findViewById(R.id.local_server_button).setVisibility(View.GONE);
96103
}
97104
});
105+
//restore instance state on orientation change
106+
if (savedInstanceState != null){
107+
skipAnimations = true;
108+
serverIn.setText(savedInstanceState.getString(SERVER_IN));
109+
((Button) findViewById(R.id.server_btn)).performClick();
110+
mUserName.setText(savedInstanceState.getString(USERNAME));
111+
mPassword.setText(savedInstanceState.getString(PASSWORD));
112+
}
98113
}
99114

100115
private void showLoginFields() {
101-
AnimationHelper.showView(findViewById(R.id.serverInput), 201);
102-
AnimationHelper.hideView(findViewById(R.id.serverFieldLayout), 100);
116+
AnimationHelper.showView(findViewById(R.id.serverInput), skipAnimations ? 0 : 201);
117+
AnimationHelper.hideView(findViewById(R.id.serverFieldLayout), skipAnimations ? 0 : 100);
103118
}
104119

105120
@Override
@@ -156,6 +171,14 @@ private void checkForError() {
156171
}
157172
}
158173

174+
@Override
175+
public void onSaveInstanceState(Bundle savedInstanceState){
176+
Boolean inLogin = mUserName.isShown();
177+
savedInstanceState.putString(SERVER_IN,mServerEditText.getText().toString());
178+
savedInstanceState.putString(USERNAME,mUserName.getText().toString());
179+
savedInstanceState.putString(PASSWORD,mPassword.getText().toString());
180+
}
181+
159182
private void showBackends(String httpScheme, String serverURL) {
160183
Uri serverUri = Uri.parse(serverURL);
161184

0 commit comments

Comments
 (0)