jenkins-bot has submitted this change and it was merged.

Change subject: Add language selection button to search bar
......................................................................


Add language selection button to search bar

Currently, switching the app language requires accessing the preferences screen
via the nav drawer and selecting the desired language from there.  That's
inconvenient when one is in the middle of something, a search for instance.

This patch puts a language selection button right on the search bar to make it
more convenient to change the app language on the fly.

Bug: T73136
Change-Id: I1b638ffe8909307aac9e4355a7fceca1631643c7
---
M wikipedia/AndroidManifest.xml
A wikipedia/res/drawable/lang_button_shape.xml
M wikipedia/res/layout/activity_page.xml
M wikipedia/res/values/styles_wikidark.xml
M wikipedia/res/xml/preferences.xml
M wikipedia/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
M wikipedia/src/main/java/org/wikipedia/search/SearchResultsFragment.java
R wikipedia/src/main/java/org/wikipedia/settings/LanguagePreferenceDialog.java
M wikipedia/src/main/java/org/wikipedia/settings/SettingsActivity.java
M wikipedia/src/main/java/org/wikipedia/settings/SettingsActivityGB.java
M wikipedia/src/main/java/org/wikipedia/settings/SettingsFragment.java
11 files changed, 190 insertions(+), 107 deletions(-)

Approvals:
  BearND: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/wikipedia/AndroidManifest.xml b/wikipedia/AndroidManifest.xml
index 692eaf2..77741a5 100644
--- a/wikipedia/AndroidManifest.xml
+++ b/wikipedia/AndroidManifest.xml
@@ -62,7 +62,6 @@
                 <data android:mimeType="text/plain" />
             </intent-filter>
         </activity>
-
         <activity android:name="org.acra.CrashReportDialog"
                   android:launchMode="singleInstance"
                   android:excludeFromRecents="true"
diff --git a/wikipedia/res/drawable/lang_button_shape.xml 
b/wikipedia/res/drawable/lang_button_shape.xml
new file mode 100644
index 0000000..25016b6
--- /dev/null
+++ b/wikipedia/res/drawable/lang_button_shape.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android";
+    android:shape="rectangle" >
+
+    <corners
+        android:radius="7dp" />
+
+    <stroke
+        android:width="1dp"
+        android:color="@android:color/darker_gray" />
+
+</shape>
\ No newline at end of file
diff --git a/wikipedia/res/layout/activity_page.xml 
b/wikipedia/res/layout/activity_page.xml
index b1877d1..37273b3 100644
--- a/wikipedia/res/layout/activity_page.xml
+++ b/wikipedia/res/layout/activity_page.xml
@@ -106,21 +106,40 @@
                                     android:shadowRadius="2"
                                     android:layout_gravity="center_vertical"/>
                             </LinearLayout>
-                            <org.wikipedia.views.CabSearchView
-                                android:id="@+id/main_search_view"
+                            <LinearLayout
+                                android:id="@+id/search_bar_enabled"
                                 android:layout_width="match_parent"
                                 android:layout_height="36dp"
+                                android:orientation="horizontal"
                                 android:layout_gravity="center_vertical"
-                                android:layout_marginRight="8dp"
-                                android:layout_marginEnd="8dp"
-                                android:textSize="16sp"
-                                android:visibility="gone"
-                                android:focusable="true"
-                                android:inputType="text"
-                                android:imeOptions="actionGo|flagNoExtractUi"
+                                android:layout_marginLeft="4dp"
+                                android:layout_marginRight="4dp"
                                 style="@style/AppTheme.SearchViewStyle"
-                                app:cabEnabled="false"
-                                />
+                                android:visibility="gone">
+                                <org.wikipedia.views.CabSearchView
+                                    android:id="@+id/main_search_view"
+                                    android:layout_width="0dp"
+                                    android:layout_height="36dp"
+                                    android:layout_weight="1"
+                                    android:layout_gravity="center_vertical"
+                                    android:layout_marginLeft="8dp"
+                                    android:layout_marginRight="8dp"
+                                    android:layout_marginStart="8dp"
+                                    android:layout_marginEnd="8dp"
+                                    android:textSize="16sp"
+                                    android:focusable="true"
+                                    android:inputType="text"
+                                    
android:imeOptions="actionGo|flagNoExtractUi"
+                                    app:cabEnabled="false" />
+                                <Button
+                                    android:id="@+id/search_lang_button"
+                                    android:layout_width="36dp"
+                                    android:layout_height="36dp"
+                                    android:gravity="center"
+                                    
android:background="@drawable/lang_button_shape"
+                                    style="@style/AppTheme.ActionModeStyle"
+                                    android:textColor="@android:color/white" />
+                            </LinearLayout>
                         </FrameLayout>
                     </android.support.v7.widget.Toolbar>
                     <ProgressBar
diff --git a/wikipedia/res/values/styles_wikidark.xml 
b/wikipedia/res/values/styles_wikidark.xml
index 4452c8b..8336e8c 100644
--- a/wikipedia/res/values/styles_wikidark.xml
+++ b/wikipedia/res/values/styles_wikidark.xml
@@ -39,4 +39,8 @@
         <item 
name="android:listSelector">@drawable/selectable_item_background</item>
     </style>
 
+    <style name="NoTitleWikiDark" parent="@style/Theme.WikiDark">
+        <item name="windowActionBar">false</item>
+        <item name="windowNoTitle">true</item>
+    </style>
 </resources>
diff --git a/wikipedia/res/xml/preferences.xml 
b/wikipedia/res/xml/preferences.xml
index e847076..3c1967d 100644
--- a/wikipedia/res/xml/preferences.xml
+++ b/wikipedia/res/xml/preferences.xml
@@ -2,10 +2,10 @@
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android";>
     <PreferenceCategory android:title="@string/preferences_general_heading">
-        <org.wikipedia.settings.LanguagePreference
+        <org.wikipedia.settings.PreferenceMultiLine
                 android:key="@string/preference_key_language"
-                android:title="@string/preference_title_language"
-                />
+                android:title="@string/preference_title_language">
+        </org.wikipedia.settings.PreferenceMultiLine>
         <org.wikipedia.settings.CheckBoxPreferenceMultiLine
             android:key="@string/preference_key_eventlogging_opt_in"
             android:defaultValue="true"
diff --git 
a/wikipedia/src/main/java/org/wikipedia/search/SearchArticlesFragment.java 
b/wikipedia/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
index 427769b..a2f9791 100644
--- a/wikipedia/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
+++ b/wikipedia/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
@@ -10,6 +10,8 @@
 import org.wikipedia.events.WikipediaZeroStateChangeEvent;
 import org.wikipedia.history.HistoryEntry;
 import org.wikipedia.page.PageActivity;
+import org.wikipedia.settings.LanguagePreferenceDialog;
+
 import com.squareup.otto.Subscribe;
 
 import android.app.AlertDialog;
@@ -25,6 +27,7 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.Button;
 import android.widget.EditText;
 import android.widget.LinearLayout;
 import android.widget.TextView;
@@ -40,6 +43,8 @@
     private SearchView searchView;
     private EditText searchEditText;
     private SearchFunnel funnel;
+    private Button langButton;
+
     public SearchFunnel getFunnel() {
         return funnel;
     }
@@ -278,9 +283,33 @@
     }
 
     private void setSearchViewEnabled(boolean enabled) {
+        LinearLayout enabledSearchBar = (LinearLayout) 
getActivity().findViewById(R.id.search_bar_enabled);
         View searchButton = getActivity().findViewById(R.id.main_search_bar);
+        langButton = (Button) 
getActivity().findViewById(R.id.search_lang_button);
+
         if (enabled) {
-            // set up the SearchView...
+            // set up the language picker
+            langButton.setText(app.getAppOrSystemLanguageCode());
+            formatLangButtonText();
+            langButton.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View view) {
+                    LanguagePreferenceDialog langPrefDialog = new 
LanguagePreferenceDialog(getActivity());
+                    langPrefDialog.setOnDismissListener(new 
DialogInterface.OnDismissListener() {
+                        @Override
+                        public void onDismiss(DialogInterface dialog) {
+                            
langButton.setText(app.getAppOrSystemLanguageCode());
+                            formatLangButtonText();
+                            if (!TextUtils.isEmpty(lastSearchedText)) {
+                                startSearch(lastSearchedText, true);
+                            }
+                        }
+                    });
+                    langPrefDialog.show();
+                }
+            });
+
+            // set up the SearchView
             if (searchView == null) {
                 searchView = 
(SearchView)getActivity().findViewById(R.id.main_search_view);
                 searchView.setOnQueryTextListener(searchQueryListener);
@@ -323,9 +352,9 @@
                 }
             }
             searchButton.setVisibility(View.GONE);
-            searchView.setVisibility(View.VISIBLE);
+            enabledSearchBar.setVisibility(View.VISIBLE);
         } else {
-            searchView.setVisibility(View.GONE);
+            enabledSearchBar.setVisibility(View.GONE);
             searchButton.setVisibility(View.VISIBLE);
         }
     }
@@ -420,4 +449,23 @@
             Log.w("SaveRecentSearchTask", "Caught " + caught.getMessage(), 
caught);
         }
     }
+
+    private void formatLangButtonText() {
+        final int langCodeStandardLength = 3;
+        final int langButtonTextMaxLength = 7;
+
+        // These values represent scaled pixels (sp)
+        final int langButtonTextSizeSmaller = 10;
+        final int langButtonTextSizeLarger = 12;
+
+        String langCode = app.getAppOrSystemLanguageCode();
+        if (langCode.length() > langCodeStandardLength) {
+            langButton.setTextSize(langButtonTextSizeSmaller);
+            if (langCode.length() > langButtonTextMaxLength) {
+                langButton.setText(langCode.substring(0, 
langButtonTextMaxLength));
+            }
+            return;
+        }
+        langButton.setTextSize(langButtonTextSizeLarger);
+    }
 }
diff --git 
a/wikipedia/src/main/java/org/wikipedia/search/SearchResultsFragment.java 
b/wikipedia/src/main/java/org/wikipedia/search/SearchResultsFragment.java
index 489a02c..f22165a 100644
--- a/wikipedia/src/main/java/org/wikipedia/search/SearchResultsFragment.java
+++ b/wikipedia/src/main/java/org/wikipedia/search/SearchResultsFragment.java
@@ -156,7 +156,7 @@
      *              too often.  If the search is forced, the network request 
is sent immediately.
      */
     public void startSearch(String term, boolean force) {
-        if (currentSearchTerm.equals(term)) {
+        if (!force && currentSearchTerm.equals(term)) {
             return;
         }
 
diff --git 
a/wikipedia/src/main/java/org/wikipedia/settings/LanguagePreference.java 
b/wikipedia/src/main/java/org/wikipedia/settings/LanguagePreferenceDialog.java
similarity index 78%
rename from 
wikipedia/src/main/java/org/wikipedia/settings/LanguagePreference.java
rename to 
wikipedia/src/main/java/org/wikipedia/settings/LanguagePreferenceDialog.java
index 096b035..a7722c8 100644
--- a/wikipedia/src/main/java/org/wikipedia/settings/LanguagePreference.java
+++ 
b/wikipedia/src/main/java/org/wikipedia/settings/LanguagePreferenceDialog.java
@@ -1,12 +1,12 @@
 package org.wikipedia.settings;
 
 import android.content.Context;
-import android.preference.DialogPreference;
+import android.os.Bundle;
 import android.support.annotation.NonNull;
+import android.support.v7.app.AppCompatDialog;
 import android.support.v7.widget.SwitchCompat;
 import android.text.Editable;
 import android.text.TextWatcher;
-import android.util.AttributeSet;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -25,11 +25,10 @@
 
 import static org.wikipedia.util.StringUtil.emptyIfNull;
 
-public class LanguagePreference extends DialogPreference {
+public class LanguagePreferenceDialog extends AppCompatDialog {
     private static final float LIST_DISABLED_ALPHA = .5f;
     private static final float LIST_ENABLED_ALPHA = 1;
 
-    private SwitchCompat systemLanguageSwitch;
     private EditText languagesFilter;
     private ListView languagesList;
 
@@ -39,35 +38,26 @@
     @NonNull
     private final WikipediaApp app;
 
-    public LanguagePreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        setPersistent(false);
-        setDialogLayoutResource(R.layout.dialog_preference_languages);
+    public LanguagePreferenceDialog(Context context) {
+        super(context);
+        setContentView(R.layout.dialog_preference_languages);
 
         app = WikipediaApp.getInstance();
-
         languageCodes = app.getAppMruLanguageCodes();
-
-        updateSummary();
-
-        hideDialogButtons();
     }
 
     @Override
-    protected void onBindView(@NonNull View view) {
-        super.onBindView(view);
-        TextView textView = (TextView) view.findViewById(android.R.id.title);
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        TextView textView = (TextView) findViewById(android.R.id.title);
         if (textView != null) {
             textView.setSingleLine(false);
         }
-    }
 
-    @Override
-    protected void onBindDialogView(@NonNull View view) {
-        super.onBindDialogView(view);
-        systemLanguageSwitch = (SwitchCompat) 
view.findViewById(R.id.system_language_switch);
-        languagesList = (ListView) 
view.findViewById(R.id.preference_languages_list);
-        languagesFilter = (EditText) 
view.findViewById(R.id.preference_languages_filter);
+        SwitchCompat systemLanguageSwitch = (SwitchCompat) 
findViewById(R.id.system_language_switch);
+        languagesList = (ListView) 
findViewById(R.id.preference_languages_list);
+        languagesFilter = (EditText) 
findViewById(R.id.preference_languages_filter);
 
         systemLanguageSwitch.setChecked(app.isSystemLanguageEnabled());
         setSystemLanguageEnabled(app.isSystemLanguageEnabled());
@@ -75,8 +65,9 @@
             @Override
             public void onCheckedChanged(CompoundButton buttonView, boolean 
isChecked) {
                 setSystemLanguageEnabled(isChecked);
+                app.resetSite();
                 if (isChecked) {
-                    closeDialog();
+                    dismiss();
                 }
             }
         });
@@ -85,10 +76,11 @@
             @Override
             public void onItemClick(AdapterView<?> adapterView, View view, int 
i, long l) {
                 String lang = (String) languagesList.getAdapter().getItem(i);
-                app.setAppLanguageCode(lang);
-                app.setMruLanguageCode(lang);
-                updateSummary();
-                closeDialog();
+                if (!lang.equals(app.getAppOrSystemLanguageCode())) {
+                    app.setAppLanguageCode(lang);
+                    app.setMruLanguageCode(lang);
+                }
+                dismiss();
             }
         });
 
@@ -115,10 +107,6 @@
         });
     }
 
-    private void updateSummary() {
-        setSummary(app.getAppLanguageLocalizedName());
-    }
-
     private void setSystemLanguageEnabled(boolean enabled) {
         languagesFilter.setEnabled(!enabled);
         languagesList.setEnabled(!enabled);
@@ -129,15 +117,6 @@
             languagesList.clearChoices();
             app.setSystemLanguageEnabled();
         }
-    }
-
-    private void hideDialogButtons() {
-        setPositiveButtonText(null);
-        setNegativeButtonText(null);
-    }
-
-    private void closeDialog() {
-        getDialog().dismiss();
     }
 
     private static final class LanguagesAdapter extends BaseAdapter {
diff --git 
a/wikipedia/src/main/java/org/wikipedia/settings/SettingsActivity.java 
b/wikipedia/src/main/java/org/wikipedia/settings/SettingsActivity.java
index 776185e..b08ba65 100644
--- a/wikipedia/src/main/java/org/wikipedia/settings/SettingsActivity.java
+++ b/wikipedia/src/main/java/org/wikipedia/settings/SettingsActivity.java
@@ -7,9 +7,9 @@
 import org.wikipedia.ThemedActionBarActivity;
 
 public class SettingsActivity extends ThemedActionBarActivity {
+    public static final int ACTIVITY_REQUEST_SHOW_SETTINGS = 1;
     public static final int ACTIVITY_RESULT_LANGUAGE_CHANGED = 1;
     public static final int ACTIVITY_RESULT_LOGOUT = 2;
-    public static final int ACTIVITY_REQUEST_SHOW_SETTINGS = 1;
 
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
diff --git 
a/wikipedia/src/main/java/org/wikipedia/settings/SettingsActivityGB.java 
b/wikipedia/src/main/java/org/wikipedia/settings/SettingsActivityGB.java
index eb70f4d..b94373a 100644
--- a/wikipedia/src/main/java/org/wikipedia/settings/SettingsActivityGB.java
+++ b/wikipedia/src/main/java/org/wikipedia/settings/SettingsActivityGB.java
@@ -3,13 +3,16 @@
 import org.wikipedia.BuildConfig;
 import org.wikipedia.R;
 import org.wikipedia.WikipediaApp;
+import org.wikipedia.util.StringUtil;
+
+import android.content.Context;
+import android.content.DialogInterface;
 import android.content.Intent;
-import android.content.SharedPreferences;
 import android.os.Bundle;
 import android.preference.Preference;
 import android.preference.PreferenceActivity;
-import android.preference.PreferenceManager;
 import android.support.annotation.NonNull;
+import android.support.v7.internal.view.ContextThemeWrapper;
 import android.view.MenuItem;
 
 /**
@@ -19,12 +22,38 @@
  * ActionBarActivity, and uses a PreferenceFragment, all of which are 
necessary for all the
  * components to render properly (specifically checkboxes).
  */
-public class SettingsActivityGB extends PreferenceActivity implements 
SharedPreferences.OnSharedPreferenceChangeListener {
+public class SettingsActivityGB extends PreferenceActivity {
 
     public void onCreate(Bundle savedInstanceState) {
         setTheme(WikipediaApp.getInstance().getCurrentTheme().getResourceId());
         super.onCreate(savedInstanceState);
         addPreferencesFromResource(R.xml.preferences);
+
+        final Context context = this;
+        updateLanguagePrefSummary();
+
+        Preference languagePref = 
findPreference(getString(R.string.preference_key_language));
+        languagePref.setOnPreferenceClickListener(new 
Preference.OnPreferenceClickListener() {
+            @Override
+            public boolean onPreferenceClick(Preference preference) {
+                LanguagePreferenceDialog langPrefDialog = new 
LanguagePreferenceDialog(
+                        new ContextThemeWrapper(context,
+                            (WikipediaApp.getInstance().isCurrentThemeLight() 
?  R.style.NoTitle : R.style.NoTitleWikiDark)));
+                langPrefDialog.setOnDismissListener(new 
DialogInterface.OnDismissListener() {
+                    @Override
+                    public void onDismiss(DialogInterface dialog) {
+                        if 
(!findPreference(getString(R.string.preference_key_language)).getSummary()
+                                
.equals(WikipediaApp.getInstance().getAppLanguageLocalizedName())) {
+                            
findPreference(getString(R.string.preference_key_language)).setSummary(
+                                    
StringUtil.emptyIfNull(WikipediaApp.getInstance().getAppLanguageLocalizedName()));
+                            
setResult(SettingsActivity.ACTIVITY_RESULT_LANGUAGE_CHANGED);
+                        }
+                    }
+                });
+                langPrefDialog.show();
+                return true;
+            }
+        });
 
         Preference logoutPref = 
findPreference(getString(R.string.preference_key_logout));
         if (!WikipediaApp.getInstance().getUserInfoStorage().isLoggedIn()) {
@@ -73,25 +102,8 @@
         });
     }
 
-    @Override
-    protected void onStop() {
-        super.onStop();
-        
PreferenceManager.getDefaultSharedPreferences(this).unregisterOnSharedPreferenceChangeListener(this);
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-        
PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(this);
-    }
-
-    @Override
-    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, 
String key) {
-        String languageKey = Prefs.getAppLanguageCodeKey();
-        if (key.equals(languageKey)) {
-            LanguagePreference pref = (LanguagePreference) 
findPreference(languageKey);
-            
pref.setSummary(WikipediaApp.getInstance().getAppLanguageLocalizedName());
-            setResult(SettingsActivity.ACTIVITY_RESULT_LANGUAGE_CHANGED);
-        }
+    private void updateLanguagePrefSummary() {
+        Preference languagePref = 
findPreference(getString(R.string.preference_key_language));
+        
languagePref.setSummary(WikipediaApp.getInstance().getAppLanguageLocalizedName());
     }
 }
diff --git 
a/wikipedia/src/main/java/org/wikipedia/settings/SettingsFragment.java 
b/wikipedia/src/main/java/org/wikipedia/settings/SettingsFragment.java
index b559ac0..45d6fc2 100644
--- a/wikipedia/src/main/java/org/wikipedia/settings/SettingsFragment.java
+++ b/wikipedia/src/main/java/org/wikipedia/settings/SettingsFragment.java
@@ -3,21 +3,48 @@
 import org.wikipedia.BuildConfig;
 import org.wikipedia.R;
 import org.wikipedia.WikipediaApp;
+import org.wikipedia.util.StringUtil;
 
 import android.annotation.TargetApi;
+import android.content.DialogInterface;
 import android.content.Intent;
-import android.content.SharedPreferences;
 import android.os.Bundle;
 import android.preference.Preference;
 import android.preference.PreferenceFragment;
-import android.preference.PreferenceManager;
+import android.support.v7.internal.view.ContextThemeWrapper;
 
 @TargetApi(11)
-public class SettingsFragment extends PreferenceFragment implements 
SharedPreferences.OnSharedPreferenceChangeListener {
+public class SettingsFragment extends PreferenceFragment {
 
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         addPreferencesFromResource(R.xml.preferences);
+
+        updateLanguagePrefSummary();
+
+        Preference languagePref = 
findPreference(getString(R.string.preference_key_language));
+        languagePref.setOnPreferenceClickListener(new 
Preference.OnPreferenceClickListener() {
+            @Override
+            public boolean onPreferenceClick(Preference preference) {
+                LanguagePreferenceDialog langPrefDialog =
+                        new LanguagePreferenceDialog(
+                                new ContextThemeWrapper(getActivity(),
+                                        
(WikipediaApp.getInstance().isCurrentThemeLight() ?  R.style.NoTitle : 
R.style.NoTitleWikiDark)));
+                langPrefDialog.setOnDismissListener(new 
DialogInterface.OnDismissListener() {
+                    @Override
+                    public void onDismiss(DialogInterface dialog) {
+                        if 
(!findPreference(getString(R.string.preference_key_language)).getSummary()
+                                
.equals(WikipediaApp.getInstance().getAppLanguageLocalizedName())) {
+                            
findPreference(getString(R.string.preference_key_language)).setSummary(
+                                    
StringUtil.emptyIfNull(WikipediaApp.getInstance().getAppLanguageLocalizedName()));
+                            
getActivity().setResult(SettingsActivity.ACTIVITY_RESULT_LANGUAGE_CHANGED);
+                        }
+                    }
+                });
+                langPrefDialog.show();
+                return true;
+            }
+        });
 
         Preference logoutPref = 
findPreference(getString(R.string.preference_key_logout));
         if (!WikipediaApp.getInstance().getUserInfoStorage().isLoggedIn()) {
@@ -56,25 +83,8 @@
         });
     }
 
-    @Override
-    public void onStop() {
-        super.onStop();
-        
PreferenceManager.getDefaultSharedPreferences(getActivity()).unregisterOnSharedPreferenceChangeListener(this);
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        
PreferenceManager.getDefaultSharedPreferences(getActivity()).registerOnSharedPreferenceChangeListener(this);
-    }
-
-    @Override
-    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, 
String key) {
-        String languageKey = Prefs.getAppLanguageCodeKey();
-        if (key.equals(languageKey)) {
-            LanguagePreference pref = (LanguagePreference) 
findPreference(languageKey);
-            
pref.setSummary(WikipediaApp.getInstance().getAppLanguageLocalizedName());
-            
getActivity().setResult(SettingsActivity.ACTIVITY_RESULT_LANGUAGE_CHANGED);
-        }
+    private void updateLanguagePrefSummary() {
+        Preference languagePref = 
findPreference(getString(R.string.preference_key_language));
+        
languagePref.setSummary(WikipediaApp.getInstance().getAppLanguageLocalizedName());
     }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/220662
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I1b638ffe8909307aac9e4355a7fceca1631643c7
Gerrit-PatchSet: 12
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Mholloway <mhollo...@wikimedia.org>
Gerrit-Reviewer: BearND <bsitzm...@wikimedia.org>
Gerrit-Reviewer: Dbrant <dbr...@wikimedia.org>
Gerrit-Reviewer: Mholloway <mhollo...@wikimedia.org>
Gerrit-Reviewer: Niedzielski <sniedziel...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to