Dbrant has uploaded a new change for review. https://gerrit.wikimedia.org/r/135721
Change subject: [WIP] implement nav tweaks. ...................................................................... [WIP] implement nav tweaks. Change-Id: I581e0ded7aa7018828b9bb5cde879178a5e49cb1 --- M wikipedia/AndroidManifest.xml M wikipedia/res/layout/fragment_navdrawer.xml M wikipedia/res/values-qq/strings.xml M wikipedia/res/values/preference_keys.xml M wikipedia/res/values/strings.xml A wikipedia/res/xml/about.xml M wikipedia/res/xml/preferences.xml M wikipedia/src/main/java/org/wikipedia/NavDrawerFragment.java A wikipedia/src/main/java/org/wikipedia/settings/AboutActivity.java A wikipedia/src/main/java/org/wikipedia/settings/PreferenceActivityWithBack.java M wikipedia/src/main/java/org/wikipedia/settings/SettingsActivity.java 11 files changed, 99 insertions(+), 67 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia refs/changes/21/135721/1 diff --git a/wikipedia/AndroidManifest.xml b/wikipedia/AndroidManifest.xml index 781a55e..0d065aa 100644 --- a/wikipedia/AndroidManifest.xml +++ b/wikipedia/AndroidManifest.xml @@ -59,6 +59,14 @@ android:label="@string/settings_activity_title" android:configChanges="orientation|keyboardHidden|keyboard|screenSize" /> + <activity android:name=".settings.AboutActivity" + android:label="@string/about_activity_title" + android:configChanges="orientation|keyboardHidden|keyboard|screenSize"> + <intent-filter> + <action android:name=".settings.AboutActivity" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + </activity> <activity android:name=".interlanguage.LangLinksActivity" android:label="@string/langlinks_activity_title" android:configChanges="orientation|keyboardHidden|keyboard|screenSize" diff --git a/wikipedia/res/layout/fragment_navdrawer.xml b/wikipedia/res/layout/fragment_navdrawer.xml index 414634e..e330d18 100644 --- a/wikipedia/res/layout/fragment_navdrawer.xml +++ b/wikipedia/res/layout/fragment_navdrawer.xml @@ -4,7 +4,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" - android:background="#00af89"> + android:background="#000000"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" @@ -42,13 +42,6 @@ android:text="@string/nav_item_login" style="?android:textAppearanceMediumInverse" /> - <org.wikipedia.styledviews.StyledTextView - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - android:text="@string/nav_item_login_benefits" - style="?android:textAppearanceSmallInverse" - /> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="match_parent" @@ -78,7 +71,7 @@ </LinearLayout> </LinearLayout> - <View android:layout_width="match_parent" android:layout_height="0.5dp" android:background="#038368" /> + <View android:layout_width="match_parent" android:layout_height="0.5dp" android:background="#ffffff" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" @@ -153,17 +146,7 @@ <!-- Separator view for providing gap between top items and bottom ones --> <View android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /> - <org.wikipedia.styledviews.StyledTextView - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:textSize="12sp" - android:textColor="#fff" - android:padding="4dp" - android:id="@+id/nav_drawer_version" - android:gravity="right" - /> - - <View android:layout_width="match_parent" android:layout_height="0.5dp" android:background="#038368" /> + <View android:layout_width="match_parent" android:layout_height="0.5dp" android:background="#ffffff" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" @@ -184,25 +167,6 @@ /> </LinearLayout> - <LinearLayout android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:id="@+id/nav_item_send_feedback" - android:background="@drawable/item_background_holo_light" - > - <ImageView android:layout_width="24dp" android:layout_height="24dp" - android:layout_margin="12dp" - android:layout_gravity="center_vertical" - android:src="@drawable/envelope_white" - /> - <org.wikipedia.styledviews.StyledTextView - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - android:text="@string/nav_item_send_feedback" - style="?android:textAppearanceMediumInverse" - /> - </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" diff --git a/wikipedia/res/values-qq/strings.xml b/wikipedia/res/values-qq/strings.xml index ef958b1..7afb2f2 100644 --- a/wikipedia/res/values-qq/strings.xml +++ b/wikipedia/res/values-qq/strings.xml @@ -130,4 +130,9 @@ <string name="history_search_list_hint">Hint for textbox that searches list of items in browsing history as user typesj</string> <string name="history_search_empty_message">Message shown when no history itmes were found that match the user\'s query. %s is replaced with the query string.</string> <string name="error_can_not_process_link">Message shown in a toast when the app encounters a link it can not process.</string> + <string name="about_activity_title">Text for the preference item to show the About screen.</string> + <string name="about_description">Summary of the preference item to show the About screen.</string> + <string name="preference_title_send_feedback">Text for the preference item to send feedback.</string> + <string name="preference_summary_send_feedback">Summary of the preference item to send feedback.</string> + <string name="preference_title_version">Text for the preference item that shows the app version number.</string> </resources> diff --git a/wikipedia/res/values/preference_keys.xml b/wikipedia/res/values/preference_keys.xml index 0eecae1..7a61887 100644 --- a/wikipedia/res/values/preference_keys.xml +++ b/wikipedia/res/values/preference_keys.xml @@ -10,4 +10,6 @@ <string name="preference_key_remote_config">remote_config</string> <string name="preference_key_eventlogging_opt_in">eventlogging_opt_in</string> <string name="preference_key_styles_last_updated">styles_last_updated</string> + <string name="preference_key_version">app_version</string> + <string name="preference_key_feedback">send_feedback</string> </resources> \ No newline at end of file diff --git a/wikipedia/res/values/strings.xml b/wikipedia/res/values/strings.xml index 3961236..03db713 100644 --- a/wikipedia/res/values/strings.xml +++ b/wikipedia/res/values/strings.xml @@ -38,7 +38,7 @@ <string name="content_license_html"><![CDATA[Content is available under <a class=\"external\" rel=\"nofollow\" href=\"//creativecommons.org/licenses/by-sa/3.0/\">CC BY-SA 3.0</a> unless otherwise noted]]></string> <string name="preference_title_language">Wikipedia language</string> <string name="preference_summary_language">Content language</string> - <string name="nav_item_preferences">Settings</string> + <string name="nav_item_preferences">More...</string> <string name="preference_languages_filter_hint">Search</string> <string name="langlinks_filter_hint">Search</string> <string name="menu_other_languages">Other languages</string> @@ -117,7 +117,8 @@ <string name="edit_preview_fetching_dialog_message">Fetching preview...</string> <string name="edit_preview_activity_title">Preview edit</string> <string name="create_account_logging_in">Logging in...</string> - <string name="nav_item_send_feedback">Send app feedback</string> + <string name="preference_title_send_feedback">Send app feedback</string> + <string name="preference_summary_send_feedback">Tell us how we can improve the app.</string> <string name="edit_summary_guide_text">Tell us how you improved this article. This helps other editors review your edit quickly.</string> <string name="edit_summary_hint">Edit summary</string> <string name="nav_item_random">Random</string> @@ -137,4 +138,7 @@ <string name="history_search_list_hint">Search</string> <string name="history_search_empty_message">No pages found matching \'%s\'</string> <string name="error_can_not_process_link">Could not display this link</string> + <string name="about_activity_title">About...</string> + <string name="about_description">About the Wikipedia app</string> + <string name="preference_title_version">Version</string> </resources> diff --git a/wikipedia/res/xml/about.xml b/wikipedia/res/xml/about.xml new file mode 100644 index 0000000..2d0712a --- /dev/null +++ b/wikipedia/res/xml/about.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> + +<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" + android:title="@string/about_activity_title" + android:summary="@string/about_description"> + <Preference android:key="@string/preference_key_version" + android:title="@string/preference_title_version"> + </Preference> + <Preference android:key="@string/preference_key_feedback" + android:title="@string/preference_title_send_feedback" + android:summary="@string/preference_summary_send_feedback"> + <!-- intent is set programmatically, to include app version number --> + </Preference> +</PreferenceScreen> \ No newline at end of file diff --git a/wikipedia/res/xml/preferences.xml b/wikipedia/res/xml/preferences.xml index 5e383fb..214d80f 100644 --- a/wikipedia/res/xml/preferences.xml +++ b/wikipedia/res/xml/preferences.xml @@ -28,4 +28,9 @@ </Preference> </PreferenceCategory> + <PreferenceCategory android:title="@string/about_activity_title"> + <Preference android:title="@string/about_description"> + <intent android:action=".settings.AboutActivity"/> + </Preference> + </PreferenceCategory> </PreferenceScreen> \ 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 302af79..6d175b7 100644 --- a/wikipedia/src/main/java/org/wikipedia/NavDrawerFragment.java +++ b/wikipedia/src/main/java/org/wikipedia/NavDrawerFragment.java @@ -23,7 +23,6 @@ R.id.nav_item_settings, R.id.nav_item_login, R.id.nav_item_random, - R.id.nav_item_send_feedback, R.id.nav_item_logout // We don't actually need R.id.nav_item_zero here because we add it programmatically // below, and we don't need an on-tap as of now @@ -57,8 +56,6 @@ public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); app = (WikipediaApp)getActivity().getApplicationContext(); - - ((TextView)getView().findViewById(R.id.nav_drawer_version)).setText(WikipediaApp.APP_VERSION_STRING); for (int i = 0; i < ACTION_ITEMS_ALL.length; i++) { actionViews[i] = getView().findViewById(ACTION_ITEMS_ALL[i]); @@ -137,13 +134,6 @@ break; case R.id.nav_item_random: randomHandler.doVistRandomArticle(); - break; - case R.id.nav_item_send_feedback: - // Will be stripped out in prod builds - intent.setAction(Intent.ACTION_SENDTO); - // Will be moved to a better email address at some point - intent.setData(Uri.parse("mailto:mobile-android-wikipe...@wikimedia.org?subject=Android App " + WikipediaApp.APP_VERSION_STRING + " Feedback")); - startActivity(intent); break; case R.id.nav_item_logout: doLogout(); diff --git a/wikipedia/src/main/java/org/wikipedia/settings/AboutActivity.java b/wikipedia/src/main/java/org/wikipedia/settings/AboutActivity.java new file mode 100644 index 0000000..9883e8c --- /dev/null +++ b/wikipedia/src/main/java/org/wikipedia/settings/AboutActivity.java @@ -0,0 +1,27 @@ +package org.wikipedia.settings; + +import android.content.Intent; +import android.net.Uri; +import android.os.Bundle; +import android.preference.Preference; +import org.wikipedia.R; +import org.wikipedia.WikipediaApp; + +public class AboutActivity extends PreferenceActivityWithBack { + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + addPreferencesFromResource(R.xml.about); + + Preference pref = this.findPreference(getString(R.string.preference_key_version)); + pref.setSummary(WikipediaApp.APP_VERSION_STRING); + + pref = this.findPreference(getString(R.string.preference_key_feedback)); + // Will be stripped out in prod builds + Intent intent = new Intent(); + intent.setAction(Intent.ACTION_SENDTO); + // Will be moved to a better email address at some point + intent.setData(Uri.parse("mailto:mobile-android-wikipe...@wikimedia.org?subject=Android App " + WikipediaApp.APP_VERSION_STRING + " Feedback")); + pref.setIntent(intent); + } + +} diff --git a/wikipedia/src/main/java/org/wikipedia/settings/PreferenceActivityWithBack.java b/wikipedia/src/main/java/org/wikipedia/settings/PreferenceActivityWithBack.java new file mode 100644 index 0000000..c7bbcbd --- /dev/null +++ b/wikipedia/src/main/java/org/wikipedia/settings/PreferenceActivityWithBack.java @@ -0,0 +1,28 @@ +package org.wikipedia.settings; + +import android.os.Build; +import android.os.Bundle; +import android.preference.PreferenceActivity; +import android.view.MenuItem; + +public class PreferenceActivityWithBack extends PreferenceActivity { + + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + // Hmm. Can't use ActionBarActivity? + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { + getActionBar().setDisplayHomeAsUpEnabled(true); + } + } + + public boolean onMenuItemSelected(int featureId, MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + finish(); + return true; + default: + throw new RuntimeException("WAT"); + } + } + +} diff --git a/wikipedia/src/main/java/org/wikipedia/settings/SettingsActivity.java b/wikipedia/src/main/java/org/wikipedia/settings/SettingsActivity.java index 9472faf..e6cec17 100644 --- a/wikipedia/src/main/java/org/wikipedia/settings/SettingsActivity.java +++ b/wikipedia/src/main/java/org/wikipedia/settings/SettingsActivity.java @@ -3,30 +3,15 @@ import android.content.*; import android.os.*; import android.preference.*; -import android.view.*; import org.wikipedia.*; -public class SettingsActivity extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener { +public class SettingsActivity extends PreferenceActivityWithBack implements SharedPreferences.OnSharedPreferenceChangeListener { public static final int ACTIVITY_RESULT_LANGUAGE_CHANGED = 1; public static final int ACTIVITY_REQUEST_SHOW_SETTINGS = 1; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); - // Hmm. Can't use ActionBarActivity? - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { - getActionBar().setDisplayHomeAsUpEnabled(true); - } - } - - public boolean onMenuItemSelected(int featureId, MenuItem item) { - switch (item.getItemId()) { - case android.R.id.home: - finish(); - return true; - default: - throw new RuntimeException("WAT"); - } } @Override -- To view, visit https://gerrit.wikimedia.org/r/135721 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I581e0ded7aa7018828b9bb5cde879178a5e49cb1 Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Dbrant <dbr...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits