From f55c27a625c9c9201e725d58cc76c65f5411f189 Mon Sep 17 00:00:00 2001 From: Paul Hawke Date: Fri, 6 Oct 2017 07:29:35 -0500 Subject: [PATCH] Updated theming for the new login screen --- app/src/main/AndroidManifest.xml | 2 +- .../free/nrw/commons/auth/LoginActivity.java | 152 ++++++++++++------ .../main/res/drawable/blue_rinse_circle.xml | 5 + .../main/res/layout-land/activity_login.xml | 40 ++--- .../main/res/layout-xlarge/activity_login.xml | 38 ++--- app/src/main/res/layout/activity_login.xml | 40 ++--- app/src/main/res/values/colors.xml | 18 ++- app/src/main/res/values/styles.xml | 12 +- 8 files changed, 193 insertions(+), 114 deletions(-) create mode 100644 app/src/main/res/drawable/blue_rinse_circle.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 882e1fb13..7572a9a73 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -19,7 +19,7 @@ android:name=".CommonsApplication" android:icon="@drawable/ic_launcher" android:label="@string/app_name" - android:theme="@style/Theme.AppCompat" + android:theme="@style/LightAppTheme" android:supportsRtl="true" > performLogin()); + signupButton.setOnClickListener(view -> signUp()); + } + + @Override + protected void onPostCreate(Bundle savedInstanceState) { + super.onPostCreate(savedInstanceState); + getDelegate().onPostCreate(savedInstanceState); + } + + @Override + protected void onResume() { + super.onResume(); + if (prefs.getBoolean("firstrun", true)) { + WelcomeActivity.startYourself(this); + prefs.edit().putBoolean("firstrun", false).apply(); + } + if (app.getCurrentAccount() != null) { + startMainActivity(); + } + } + + @Override + protected void onDestroy() { + try { + // To prevent leaked window when finish() is called, see http://stackoverflow.com/questions/32065854/activity-has-leaked-window-at-alertdialog-show-method + if (progressDialog != null && progressDialog.isShowing()) { + progressDialog.dismiss(); + } + } catch (Exception e) { + e.printStackTrace(); + } + usernameEdit.removeTextChangedListener(textWatcher); + passwordEdit.removeTextChangedListener(textWatcher); + twoFactorEdit.removeTextChangedListener(textWatcher); + delegate.onDestroy(); + super.onDestroy(); + } + + @Override + protected void onStart() { + super.onStart(); + delegate.onStart(); + } + + @Override + protected void onStop() { + super.onStop(); + delegate.onStop(); + } + + @Override + protected void onPostResume() { + super.onPostResume(); + getDelegate().onPostResume(); + } + + @Override + public void setContentView(View view, ViewGroup.LayoutParams params) { + getDelegate().setContentView(view, params); + } + + private void performLogin() { + Timber.d("Login to start!"); + LoginTask task = getLoginTask(); + task.execute(); + } + + private void signUp() { + Intent intent = new Intent(this, SignupActivity.class); + startActivity(intent); } private class LoginTextWatcher implements TextWatcher { @@ -92,10 +168,10 @@ public class LoginActivity extends AccountAuthenticatorActivity { return (textView, actionId, keyEvent) -> { if (loginButton.isEnabled()) { if (actionId == IME_ACTION_DONE) { - performLogin(textView); + performLogin(); return true; } else if ((keyEvent != null) && keyEvent.getKeyCode() == KEYCODE_ENTER) { - performLogin(textView); + performLogin(); return true; } } @@ -103,39 +179,6 @@ public class LoginActivity extends AccountAuthenticatorActivity { }; } - protected void onResume() { - super.onResume(); - if (prefs.getBoolean("firstrun", true)) { - WelcomeActivity.startYourself(this); - prefs.edit().putBoolean("firstrun", false).apply(); - } - if (app.getCurrentAccount() != null) { - startMainActivity(); - } - } - - @Override - protected void onDestroy() { - try { - // To prevent leaked window when finish() is called, see http://stackoverflow.com/questions/32065854/activity-has-leaked-window-at-alertdialog-show-method - if (progressDialog != null && progressDialog.isShowing()) { - progressDialog.dismiss(); - } - } catch (Exception e) { - e.printStackTrace(); - } - usernameEdit.removeTextChangedListener(textWatcher); - passwordEdit.removeTextChangedListener(textWatcher); - twoFactorEdit.removeTextChangedListener(textWatcher); - super.onDestroy(); - } - - private void performLogin(View view) { - Timber.d("Login to start!"); - LoginTask task = getLoginTask(); - task.execute(); - } - private LoginTask getLoginTask() { return new LoginTask( this, @@ -164,13 +207,10 @@ public class LoginActivity extends AccountAuthenticatorActivity { return super.onOptionsItemSelected(item); } - /** - * Called when Sign Up button is clicked. - * @param view View - */ - public void signUp(View view) { - Intent intent = new Intent(this, SignupActivity.class); - startActivity(intent); + @Override + @NonNull + public MenuInflater getMenuInflater() { + return getDelegate().getMenuInflater(); } public void askUserForTwoFactorAuth() { @@ -207,4 +247,10 @@ public class LoginActivity extends AccountAuthenticatorActivity { finish(); } + private AppCompatDelegate getDelegate() { + if (delegate == null) { + delegate = AppCompatDelegate.create(this, null); + } + return delegate; + } } diff --git a/app/src/main/res/drawable/blue_rinse_circle.xml b/app/src/main/res/drawable/blue_rinse_circle.xml new file mode 100644 index 000000000..e63317a5b --- /dev/null +++ b/app/src/main/res/drawable/blue_rinse_circle.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout-land/activity_login.xml b/app/src/main/res/layout-land/activity_login.xml index 888ad6678..008e7b4f9 100644 --- a/app/src/main/res/layout-land/activity_login.xml +++ b/app/src/main/res/layout-land/activity_login.xml @@ -5,20 +5,20 @@ android:layout_height="match_parent"> + android:layout_gravity="center" + android:layout_marginTop="8dp"> @@ -32,7 +32,7 @@ android:id="@+id/title" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="@color/action_bar_blue" + android:background="@color/primaryColor" android:gravity="center" android:paddingBottom="32dp" android:paddingTop="32dp" @@ -127,6 +127,7 @@