Yuvipanda has uploaded a new change for review.
https://gerrit.wikimedia.org/r/110622
Change subject: Add Login Activity, link from Left Nav
......................................................................
Add Login Activity, link from Left Nav
- Simple stub, does not do anything
- Also adds StyledCheckBox
Change-Id: I316a42098619202256ded314839d370b60d8d652
---
M wikipedia/AndroidManifest.xml
A wikipedia/res/layout/activity_login.xml
A wikipedia/res/menu/menu_login.xml
M wikipedia/res/values/strings.xml
M wikipedia/src/main/java/org/wikipedia/NavDrawerFragment.java
A wikipedia/src/main/java/org/wikipedia/login/LoginActivity.java
A wikipedia/src/main/java/org/wikipedia/styledviews/StyledCheckBox.java
7 files changed, 148 insertions(+), 2 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/22/110622/1
diff --git a/wikipedia/AndroidManifest.xml b/wikipedia/AndroidManifest.xml
index f83b285..31d7185 100644
--- a/wikipedia/AndroidManifest.xml
+++ b/wikipedia/AndroidManifest.xml
@@ -57,6 +57,10 @@
<activity android:name=".editing.EditSectionActivity"
android:windowSoftInputMode="adjustResize"
/>
+ <activity android:name=".login.LoginActivity"
+ android:label="@string/login_activity_title"
+ android:windowSoftInputMode="stateAlwaysVisible"
+ />
<provider
android:authorities="org.wikipedia.history"
diff --git a/wikipedia/res/layout/activity_login.xml
b/wikipedia/res/layout/activity_login.xml
new file mode 100644
index 0000000..3cc3167
--- /dev/null
+++ b/wikipedia/res/layout/activity_login.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:padding="16dp"
+ >
+ <org.wikipedia.styledviews.StylizedEditText
+ android:id="@+id/login_username_text"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ style="?android:textAppearanceMedium"
+ android:hint="@string/login_username_hint"
+ android:inputType="textNoSuggestions"
+ />
+ <org.wikipedia.styledviews.StylizedEditText
+ android:id="@+id/login_password_text"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="textPassword"
+ style="?android:textAppearanceMedium"
+ android:hint="@string/login_password_hint"
+ />
+ <org.wikipedia.styledviews.StyledCheckBox
+ android:id="@+id/login_show_password"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:checked="false"
+ android:text="@string/login_password_show_check"
+ style="?android:textAppearanceMedium"
+ />
+
+
+</LinearLayout>
\ No newline at end of file
diff --git a/wikipedia/res/menu/menu_login.xml
b/wikipedia/res/menu/menu_login.xml
new file mode 100644
index 0000000..df0aa26
--- /dev/null
+++ b/wikipedia/res/menu/menu_login.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:id="@+id/menu_login"
+ android:icon="@android:drawable/ic_menu_send"
+ android:title="@string/menu_login"
+ android:showAsAction="always" />
+</menu>
\ No newline at end of file
diff --git a/wikipedia/res/values/strings.xml b/wikipedia/res/values/strings.xml
index ac56f9a..a6eea17 100644
--- a/wikipedia/res/values/strings.xml
+++ b/wikipedia/res/values/strings.xml
@@ -60,4 +60,10 @@
<string name="edit_section_title_captcha">Enter captcha</string>
<string name="edit_section_abusefilter_back_text">Make changes to my
edit</string>
<string name="edit_section_captcha_reload">Tap captcha to reload</string>
+ <string name="nav_item_login">Log in</string>
+ <string name="login_username_hint">Username</string>
+ <string name="login_password_hint">Password</string>
+ <string name="login_password_show_check">Display password</string>
+ <string name="menu_login">Log in</string>
+ <string name="login_activity_title">Login to Wikipedia</string>
</resources>
\ No newline at end of file
diff --git a/wikipedia/src/main/java/org/wikipedia/NavDrawerFragment.java
b/wikipedia/src/main/java/org/wikipedia/NavDrawerFragment.java
index 74928aa..0219332 100644
--- a/wikipedia/src/main/java/org/wikipedia/NavDrawerFragment.java
+++ b/wikipedia/src/main/java/org/wikipedia/NavDrawerFragment.java
@@ -8,6 +8,7 @@
import android.view.ViewGroup;
import android.widget.*;
import org.wikipedia.history.HistoryActivity;
+import org.wikipedia.login.LoginActivity;
import org.wikipedia.savedpages.SavedPagesActivity;
import org.wikipedia.settings.SettingsActivity;
@@ -15,12 +16,14 @@
private static final int[] ACTION_ITEMS_TEXT = {
R.string.nav_item_history,
R.string.nav_item_saved_pages,
- R.string.nav_item_preferences
+ R.string.nav_item_preferences,
+ R.string.nav_item_login
};
private static final int[] ACTION_ITEM_IMAGES = {
android.R.drawable.ic_menu_recent_history,
android.R.drawable.ic_menu_save,
- android.R.drawable.ic_menu_preferences
+ android.R.drawable.ic_menu_preferences,
+ android.R.drawable.ic_menu_add
};
private ListView navList;
@@ -50,6 +53,9 @@
case R.string.nav_item_preferences:
intent.setClass(this.getActivity(), SettingsActivity.class);
break;
+ case R.string.nav_item_login:
+ intent.setClass(this.getActivity(), LoginActivity.class);
+ break;
default:
throw new RuntimeException("Unknown ID clicked!");
}
diff --git a/wikipedia/src/main/java/org/wikipedia/login/LoginActivity.java
b/wikipedia/src/main/java/org/wikipedia/login/LoginActivity.java
new file mode 100644
index 0000000..1e8109c
--- /dev/null
+++ b/wikipedia/src/main/java/org/wikipedia/login/LoginActivity.java
@@ -0,0 +1,63 @@
+package org.wikipedia.login;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.text.InputType;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
+import android.widget.EditText;
+import org.wikipedia.R;
+
+public class LoginActivity extends Activity {
+ private EditText usernameText;
+ private EditText passwordText;
+ private CheckBox showPassword;
+
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_login);
+
+ getActionBar().setDisplayHomeAsUpEnabled(true);
+
+ usernameText = (EditText) findViewById(R.id.login_username_text);
+ passwordText = (EditText) findViewById(R.id.login_password_text);
+ showPassword = (CheckBox) findViewById(R.id.login_show_password);
+
+ showPassword.setOnCheckedChangeListener(new
CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean
isChecked) {
+ // EditText loses the cursor position when you change the
InputType
+ int curPos = passwordText.getSelectionStart();
+ if (isChecked) {
+ passwordText.setInputType(InputType.TYPE_CLASS_TEXT);
+ } else {
+ passwordText.setInputType(InputType.TYPE_CLASS_TEXT |
InputType.TYPE_TEXT_VARIATION_PASSWORD);
+ }
+ passwordText.setSelection(curPos);
+ }
+ });
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ getMenuInflater().inflate(R.menu.menu_login, menu);
+ return true;
+ }
+
+ @Override
+ public boolean onMenuItemSelected(int featureId, MenuItem item) {
+ switch (item.getItemId()) {
+ case android.R.id.home:
+ finish();
+ break;
+ case R.id.menu_login:
+ // Do something!
+ break;
+ default:
+ throw new RuntimeException("Some menu item case is not
handled");
+ }
+ return true;
+ }
+}
\ No newline at end of file
diff --git
a/wikipedia/src/main/java/org/wikipedia/styledviews/StyledCheckBox.java
b/wikipedia/src/main/java/org/wikipedia/styledviews/StyledCheckBox.java
new file mode 100644
index 0000000..32ae5eb
--- /dev/null
+++ b/wikipedia/src/main/java/org/wikipedia/styledviews/StyledCheckBox.java
@@ -0,0 +1,24 @@
+package org.wikipedia.styledviews;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.CheckBox;
+import android.widget.TextView;
+import org.wikipedia.WikipediaApp;
+
+public class StyledCheckBox extends CheckBox {
+ public StyledCheckBox(Context context) {
+ super(context);
+
setTypeface(((WikipediaApp)context.getApplicationContext()).getPrimaryType());
+ }
+
+ public StyledCheckBox(Context context, AttributeSet attrs) {
+ super(context, attrs);
+
setTypeface(((WikipediaApp)context.getApplicationContext()).getPrimaryType());
+ }
+
+ public StyledCheckBox(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+
setTypeface(((WikipediaApp)context.getApplicationContext()).getPrimaryType());
+ }
+}
--
To view, visit https://gerrit.wikimedia.org/r/110622
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I316a42098619202256ded314839d370b60d8d652
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Yuvipanda <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits