Mholloway has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/323177

Change subject: Hygiene: Separate Activity classes into themed and unthemed 
variants
......................................................................

Hygiene: Separate Activity classes into themed and unthemed variants

The DescriptionEditSuccessActivity is an instance of a situation in which
we don't want some of the theming assumptions currently made in our
Activity class hierarchy.  For instance, SingleFragmentActivity, by virtue
of subclassing ThemedActionBarActivity, sets both a theme and a background
color that were unwanted for DescriptionEditSuccessActivity.

This patch removes the theming logic from the main branch of the Activity
classes and creates Themed variants of both the ActionBarActivity and
SingleFragmentActivity for when the default theming logic is desired.

No functional changes intended.

Change-Id: I3c2d07aa04c0f04a9f1d07a1c2fc72b410ab8ded
---
A app/src/main/java/org/wikipedia/activity/ActionBarActivity.java
M app/src/main/java/org/wikipedia/activity/SingleFragmentActivity.java
D 
app/src/main/java/org/wikipedia/activity/SingleFragmentActivityTransparent.java
M 
app/src/main/java/org/wikipedia/activity/SingleFragmentActivityWithToolbar.java
M app/src/main/java/org/wikipedia/activity/ThemedActionBarActivity.java
A app/src/main/java/org/wikipedia/activity/ThemedSingleFragmentActivity.java
M app/src/main/java/org/wikipedia/crash/CrashReportActivity.java
M app/src/main/java/org/wikipedia/descriptions/DescriptionEditActivity.java
M 
app/src/main/java/org/wikipedia/descriptions/DescriptionEditSuccessActivity.java
M app/src/main/java/org/wikipedia/main/MainActivity.java
M app/src/main/java/org/wikipedia/news/NewsActivity.java
M app/src/main/java/org/wikipedia/settings/DeveloperSettingsActivity.java
M app/src/main/java/org/wikipedia/settings/SettingsActivity.java
M app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowActivity.java
M app/src/main/res/layout/activity_single_fragment.xml
A app/src/main/res/layout/activity_single_fragment_themed.xml
16 files changed, 207 insertions(+), 208 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/77/323177/1

diff --git a/app/src/main/java/org/wikipedia/activity/ActionBarActivity.java 
b/app/src/main/java/org/wikipedia/activity/ActionBarActivity.java
new file mode 100644
index 0000000..8d39e98
--- /dev/null
+++ b/app/src/main/java/org/wikipedia/activity/ActionBarActivity.java
@@ -0,0 +1,137 @@
+package org.wikipedia.activity;
+
+import android.annotation.TargetApi;
+import android.app.Activity;
+import android.os.Build;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.v7.app.AppCompatActivity;
+import android.view.KeyEvent;
+import android.view.ViewConfiguration;
+
+import com.squareup.otto.Subscribe;
+
+import org.wikipedia.R;
+import org.wikipedia.WikipediaApp;
+import org.wikipedia.auth.AccountUtil;
+import org.wikipedia.events.WikipediaZeroEnterEvent;
+import org.wikipedia.recurring.RecurringTasksExecutor;
+import org.wikipedia.settings.Prefs;
+
+import java.lang.reflect.Field;
+
+public abstract class ActionBarActivity extends AppCompatActivity {
+    private boolean mDestroyed;
+    private EventBusMethods busMethods;
+
+    @Override
+    public void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        busMethods = new EventBusMethods();
+
+        ActivityUtil.requestFullUserOrientation(this);
+
+        removeSplashBackground();
+
+        if (getSupportActionBar() != null) {
+            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+        }
+        forceOverflowMenuIcon(this);
+
+        // Conditionally execute all recurring tasks
+        new RecurringTasksExecutor(WikipediaApp.getInstance()).run();
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        WikipediaApp.getInstance().getBus().register(busMethods);
+        AccountUtil.logOutIfAccountRemoved();
+
+        // The UI is likely shown, giving the user the opportunity to exit and 
making a crash loop
+        // less probable.
+        Prefs.crashedBeforeActivityCreated(false);
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+        WikipediaApp.getInstance().getBus().unregister(busMethods);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        mDestroyed = true;
+    }
+
+    @Override
+    @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
+    public boolean isDestroyed() {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
+            return super.isDestroyed();
+        }
+        return mDestroyed;
+    }
+
+    protected void setActionBarTheme() {
+        setTheme(WikipediaApp.getInstance().isCurrentThemeLight()
+                ? R.style.Theme_Light_ActionBar
+                : R.style.Theme_Dark_ActionBar);
+    }
+
+    /**
+     * Helper function to force the Activity to show the three-dot overflow 
icon in its ActionBar.
+     * @param activity Activity whose overflow icon will be forced.
+     */
+    private static void forceOverflowMenuIcon(Activity activity) {
+        try {
+            ViewConfiguration config = ViewConfiguration.get(activity);
+            // This field doesn't exist in 4.4, where the overflow icon is 
always shown:
+            // 
https://android.googlesource.com/platform/frameworks/base.git/+/ea04f3cfc6e245fb415fd352ed0048cd940a46fe%5E!/
+            Field menuKeyField = 
ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
+            if (menuKeyField != null) {
+                menuKeyField.setAccessible(true);
+                menuKeyField.setBoolean(config, false);
+            }
+        } catch (Exception ex) {
+            // multiple exceptions may be thrown above, but it's not super 
critical if it fails.
+        }
+    }
+
+    // Hack for https://phabricator.wikimedia.org/T78117: onKeyDown + onKeyUp
+    // Consider removing once updating appcompat-v7.
+
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        if (keyCode == KeyEvent.KEYCODE_MENU && 
"LGE".equalsIgnoreCase(Build.BRAND)) {
+            return true;
+        }
+        return super.onKeyDown(keyCode, event);
+    }
+
+    @Override
+    public boolean onKeyUp(int keyCode, @NonNull KeyEvent event) {
+        if (keyCode == KeyEvent.KEYCODE_MENU && 
"LGE".equalsIgnoreCase(Build.BRAND)) {
+            openOptionsMenu();
+            return true;
+        }
+        return super.onKeyUp(keyCode, event);
+    }
+
+    private void removeSplashBackground() {
+        getWindow().setBackgroundDrawable(null);
+    }
+
+    private class EventBusMethods {
+        @Subscribe
+        public void onZeroEnter(WikipediaZeroEnterEvent event) {
+            if (Prefs.isZeroTutorialEnabled()) {
+                Prefs.setZeroTutorialEnabled(false);
+                WikipediaApp.getInstance().getWikipediaZeroHandler()
+                        .showZeroTutorialDialog(ActionBarActivity.this);
+            }
+        }
+    }
+}
diff --git 
a/app/src/main/java/org/wikipedia/activity/SingleFragmentActivity.java 
b/app/src/main/java/org/wikipedia/activity/SingleFragmentActivity.java
index 6c45d68..8642518 100644
--- a/app/src/main/java/org/wikipedia/activity/SingleFragmentActivity.java
+++ b/app/src/main/java/org/wikipedia/activity/SingleFragmentActivity.java
@@ -15,7 +15,7 @@
  * Boilerplate for a {@link android.support.v4.app.FragmentActivity} 
containing a single stack of
  * Fragments.
  */
-public abstract class SingleFragmentActivity<T extends Fragment> extends 
ThemedActionBarActivity {
+public abstract class SingleFragmentActivity<T extends Fragment> extends 
ActionBarActivity {
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
diff --git 
a/app/src/main/java/org/wikipedia/activity/SingleFragmentActivityTransparent.java
 
b/app/src/main/java/org/wikipedia/activity/SingleFragmentActivityTransparent.java
deleted file mode 100644
index 4679f84..0000000
--- 
a/app/src/main/java/org/wikipedia/activity/SingleFragmentActivityTransparent.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.wikipedia.activity;
-
-import android.os.Bundle;
-import android.support.annotation.IdRes;
-import android.support.annotation.LayoutRes;
-import android.support.v4.app.Fragment;
-import android.support.v7.app.AppCompatActivity;
-import android.view.MenuItem;
-
-import org.wikipedia.R;
-
-/**
- * Boilerplate for a {@link android.support.v4.app.FragmentActivity} 
containing a single stack of
- * Fragments, with a transparent background.
- *
- * Set a theme on the activity in AndroidManifest.xml to specify a background 
tint.
- */
-public abstract class SingleFragmentActivityTransparent<T extends Fragment> 
extends AppCompatActivity {
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(getLayout());
-        findViewById(getContainerId()).setBackground(null);
-
-        if (!isFragmentCreated()) {
-            addFragment(createFragment());
-        }
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        return ActivityUtil.defaultOnOptionsItemSelected(this, item)
-                || super.onOptionsItemSelected(item);
-    }
-
-    protected void addFragment(T fragment) {
-        getSupportFragmentManager().beginTransaction().add(getContainerId(), 
fragment).commit();
-    }
-
-    protected abstract T createFragment();
-
-    /** @return The Fragment added to the stack. */
-    protected T getFragment() {
-        //noinspection unchecked
-        return (T) 
getSupportFragmentManager().findFragmentById(getContainerId());
-    }
-
-    /** @return The resource layout to inflate which must contain a {@link 
android.view.ViewGroup}
-     * whose ID is {@link #getContainerId()}. */
-    @LayoutRes
-    protected int getLayout() {
-        return R.layout.activity_single_fragment;
-    }
-
-    /** @return The resource identifier for the Fragment container. */
-    @IdRes
-    protected int getContainerId() {
-        return R.id.fragment_container;
-    }
-
-    protected boolean isFragmentCreated() {
-        return getFragment() != null;
-    }
-}
\ No newline at end of file
diff --git 
a/app/src/main/java/org/wikipedia/activity/SingleFragmentActivityWithToolbar.java
 
b/app/src/main/java/org/wikipedia/activity/SingleFragmentActivityWithToolbar.java
index 4332bef..f4681ac 100644
--- 
a/app/src/main/java/org/wikipedia/activity/SingleFragmentActivityWithToolbar.java
+++ 
b/app/src/main/java/org/wikipedia/activity/SingleFragmentActivityWithToolbar.java
@@ -13,7 +13,7 @@
  * Boilerplate for a {@link android.support.v4.app.FragmentActivity} 
containing a single stack of
  * Fragments, with a Toolbar overlaid on top.
  */
-public abstract class SingleFragmentActivityWithToolbar<T extends Fragment> 
extends SingleFragmentActivity<T> {
+public abstract class SingleFragmentActivityWithToolbar<T extends Fragment> 
extends ThemedSingleFragmentActivity<T> {
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
diff --git 
a/app/src/main/java/org/wikipedia/activity/ThemedActionBarActivity.java 
b/app/src/main/java/org/wikipedia/activity/ThemedActionBarActivity.java
index 5831e4e..4cc1ac3 100644
--- a/app/src/main/java/org/wikipedia/activity/ThemedActionBarActivity.java
+++ b/app/src/main/java/org/wikipedia/activity/ThemedActionBarActivity.java
@@ -1,142 +1,17 @@
 package org.wikipedia.activity;
 
-import android.annotation.TargetApi;
-import android.app.Activity;
-import android.os.Build;
 import android.os.Bundle;
-import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
-import android.support.v7.app.AppCompatActivity;
-import android.view.KeyEvent;
-import android.view.ViewConfiguration;
 
-import com.squareup.otto.Subscribe;
-
-import org.wikipedia.R;
 import org.wikipedia.WikipediaApp;
-import org.wikipedia.auth.AccountUtil;
-import org.wikipedia.events.WikipediaZeroEnterEvent;
-import org.wikipedia.recurring.RecurringTasksExecutor;
-import org.wikipedia.settings.Prefs;
 
-import java.lang.reflect.Field;
-
-public abstract class ThemedActionBarActivity extends AppCompatActivity {
-    private boolean mDestroyed;
-    private EventBusMethods busMethods;
-
-    @Override
-    public void onCreate(@Nullable Bundle savedInstanceState) {
+public abstract class ThemedActionBarActivity extends ActionBarActivity {
+    @Override public void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        busMethods = new EventBusMethods();
-
-        ActivityUtil.requestFullUserOrientation(this);
-
         setTheme();
-        removeSplashBackground();
-
-        if (getSupportActionBar() != null) {
-            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
-        }
-        forceOverflowMenuIcon(this);
-
-        // Conditionally execute all recurring tasks
-        new RecurringTasksExecutor(WikipediaApp.getInstance()).run();
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-        WikipediaApp.getInstance().getBus().register(busMethods);
-        AccountUtil.logOutIfAccountRemoved();
-
-        // The UI is likely shown, giving the user the opportunity to exit and 
making a crash loop
-        // less probable.
-        Prefs.crashedBeforeActivityCreated(false);
-    }
-
-    @Override
-    protected void onPause() {
-        super.onPause();
-        WikipediaApp.getInstance().getBus().unregister(busMethods);
-    }
-
-    @Override
-    public void onDestroy() {
-        super.onDestroy();
-        mDestroyed = true;
-    }
-
-    @Override
-    @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
-    public boolean isDestroyed() {
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
-            return super.isDestroyed();
-        }
-        return mDestroyed;
     }
 
     protected void setTheme() {
         setTheme(WikipediaApp.getInstance().getCurrentTheme().getResourceId());
-    }
-
-    protected void setActionBarTheme() {
-        setTheme(WikipediaApp.getInstance().isCurrentThemeLight()
-                ? R.style.Theme_Light_ActionBar
-                : R.style.Theme_Dark_ActionBar);
-    }
-
-    /**
-     * Helper function to force the Activity to show the three-dot overflow 
icon in its ActionBar.
-     * @param activity Activity whose overflow icon will be forced.
-     */
-    private static void forceOverflowMenuIcon(Activity activity) {
-        try {
-            ViewConfiguration config = ViewConfiguration.get(activity);
-            // This field doesn't exist in 4.4, where the overflow icon is 
always shown:
-            // 
https://android.googlesource.com/platform/frameworks/base.git/+/ea04f3cfc6e245fb415fd352ed0048cd940a46fe%5E!/
-            Field menuKeyField = 
ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
-            if (menuKeyField != null) {
-                menuKeyField.setAccessible(true);
-                menuKeyField.setBoolean(config, false);
-            }
-        } catch (Exception ex) {
-            // multiple exceptions may be thrown above, but it's not super 
critical if it fails.
-        }
-    }
-
-    // Hack for https://phabricator.wikimedia.org/T78117: onKeyDown + onKeyUp
-    // Consider removing once updating appcompat-v7.
-
-    @Override
-    public boolean onKeyDown(int keyCode, KeyEvent event) {
-        if (keyCode == KeyEvent.KEYCODE_MENU && 
"LGE".equalsIgnoreCase(Build.BRAND)) {
-            return true;
-        }
-        return super.onKeyDown(keyCode, event);
-    }
-
-    @Override
-    public boolean onKeyUp(int keyCode, @NonNull KeyEvent event) {
-        if (keyCode == KeyEvent.KEYCODE_MENU && 
"LGE".equalsIgnoreCase(Build.BRAND)) {
-            openOptionsMenu();
-            return true;
-        }
-        return super.onKeyUp(keyCode, event);
-    }
-
-    private void removeSplashBackground() {
-        getWindow().setBackgroundDrawable(null);
-    }
-
-    private class EventBusMethods {
-        @Subscribe
-        public void onZeroEnter(WikipediaZeroEnterEvent event) {
-            if (Prefs.isZeroTutorialEnabled()) {
-                Prefs.setZeroTutorialEnabled(false);
-                WikipediaApp.getInstance().getWikipediaZeroHandler()
-                        .showZeroTutorialDialog(ThemedActionBarActivity.this);
-            }
-        }
     }
 }
diff --git 
a/app/src/main/java/org/wikipedia/activity/ThemedSingleFragmentActivity.java 
b/app/src/main/java/org/wikipedia/activity/ThemedSingleFragmentActivity.java
new file mode 100644
index 0000000..9c19452
--- /dev/null
+++ b/app/src/main/java/org/wikipedia/activity/ThemedSingleFragmentActivity.java
@@ -0,0 +1,23 @@
+package org.wikipedia.activity;
+
+import android.os.Bundle;
+import android.support.annotation.LayoutRes;
+import android.support.v4.app.Fragment;
+
+import org.wikipedia.R;
+
+public abstract class ThemedSingleFragmentActivity<T extends Fragment> extends 
SingleFragmentActivity<T> {
+    @Override public void onCreate(Bundle savedInstanceState) {
+        setTheme();
+        super.onCreate(savedInstanceState);
+    }
+
+    protected abstract void setTheme();
+
+    /** @return The resource layout to inflate which must contain a {@link 
android.view.ViewGroup}
+     * whose ID is {@link #getContainerId()}. */
+    @LayoutRes @Override
+    protected int getLayout() {
+        return R.layout.activity_single_fragment_themed;
+    }
+}
diff --git a/app/src/main/java/org/wikipedia/crash/CrashReportActivity.java 
b/app/src/main/java/org/wikipedia/crash/CrashReportActivity.java
index e3a27ff..a758da0 100644
--- a/app/src/main/java/org/wikipedia/crash/CrashReportActivity.java
+++ b/app/src/main/java/org/wikipedia/crash/CrashReportActivity.java
@@ -5,9 +5,9 @@
 
 import org.wikipedia.WikipediaApp;
 import org.wikipedia.activity.ActivityUtil;
-import org.wikipedia.activity.SingleFragmentActivity;
+import org.wikipedia.activity.ThemedSingleFragmentActivity;
 
-public class CrashReportActivity extends 
SingleFragmentActivity<CrashReportFragment>
+public class CrashReportActivity extends 
ThemedSingleFragmentActivity<CrashReportFragment>
         implements CrashReportFragment.Callback {
     @Override
     protected CrashReportFragment createFragment() {
@@ -32,4 +32,9 @@
     public void onQuit() {
         finish();
     }
+
+    @Override
+    protected void setTheme() {
+        setTheme(WikipediaApp.getInstance().getCurrentTheme().getResourceId());
+    }
 }
diff --git 
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditActivity.java 
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditActivity.java
index 3733b9a..17c9b86 100644
--- a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditActivity.java
+++ b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditActivity.java
@@ -5,6 +5,7 @@
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 
+import org.wikipedia.WikipediaApp;
 import org.wikipedia.activity.SingleFragmentActivityWithToolbar;
 import org.wikipedia.json.GsonMarshaller;
 import org.wikipedia.json.GsonUnmarshaller;
@@ -40,4 +41,9 @@
         hideSoftKeyboard(this);
         super.onBackPressed();
     }
+
+    @Override
+    protected void setTheme() {
+        setTheme(WikipediaApp.getInstance().getCurrentTheme().getResourceId());
+    }
 }
\ No newline at end of file
diff --git 
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditSuccessActivity.java
 
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditSuccessActivity.java
index 68438b3..838a657 100644
--- 
a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditSuccessActivity.java
+++ 
b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditSuccessActivity.java
@@ -4,10 +4,9 @@
 import android.content.Intent;
 import android.support.annotation.NonNull;
 
-import org.wikipedia.activity.SingleFragmentActivityTransparent;
+import org.wikipedia.activity.SingleFragmentActivity;
 
-public class DescriptionEditSuccessActivity
-        extends 
SingleFragmentActivityTransparent<DescriptionEditSuccessFragment>
+public class DescriptionEditSuccessActivity extends 
SingleFragmentActivity<DescriptionEditSuccessFragment>
         implements DescriptionEditSuccessFragment.Callback {
 
     static Intent newIntent(@NonNull Context context) {
diff --git a/app/src/main/java/org/wikipedia/main/MainActivity.java 
b/app/src/main/java/org/wikipedia/main/MainActivity.java
index a4de4b7..d1f2bf6 100644
--- a/app/src/main/java/org/wikipedia/main/MainActivity.java
+++ b/app/src/main/java/org/wikipedia/main/MainActivity.java
@@ -93,6 +93,11 @@
         super.onDestroy();
     }
 
+    @Override
+    protected void setTheme() {
+        setTheme(WikipediaApp.getInstance().getCurrentTheme().getResourceId());
+    }
+
     private void registerBus() {
         bus = app.getBus();
         bus.register(busMethods);
@@ -106,7 +111,6 @@
     }
 
     private class EventBusMethods {
-
         @Subscribe
         public void onChangeTheme(ThemeChangeEvent event) {
             MainActivity.this.recreate();
diff --git a/app/src/main/java/org/wikipedia/news/NewsActivity.java 
b/app/src/main/java/org/wikipedia/news/NewsActivity.java
index 2c8428b..ff457c6 100644
--- a/app/src/main/java/org/wikipedia/news/NewsActivity.java
+++ b/app/src/main/java/org/wikipedia/news/NewsActivity.java
@@ -8,13 +8,14 @@
 import android.support.annotation.Nullable;
 import android.view.WindowManager;
 
-import org.wikipedia.activity.SingleFragmentActivity;
+import org.wikipedia.WikipediaApp;
+import org.wikipedia.activity.ThemedSingleFragmentActivity;
 import org.wikipedia.dataclient.WikiSite;
 import org.wikipedia.feed.news.NewsItem;
 import org.wikipedia.json.GsonMarshaller;
 import org.wikipedia.json.GsonUnmarshaller;
 
-public class NewsActivity extends SingleFragmentActivity<NewsFragment> {
+public class NewsActivity extends ThemedSingleFragmentActivity<NewsFragment> {
     protected static final String EXTRA_NEWS_ITEM = "item";
     protected static final String EXTRA_WIKI = "wiki";
 
@@ -38,4 +39,9 @@
         return 
NewsFragment.newInstance(GsonUnmarshaller.unmarshal(NewsItem.class, 
getIntent().getStringExtra(EXTRA_NEWS_ITEM)),
                 GsonUnmarshaller.unmarshal(WikiSite.class, 
getIntent().getStringExtra(EXTRA_WIKI)));
     }
+
+    @Override
+    protected void setTheme() {
+        setTheme(WikipediaApp.getInstance().getCurrentTheme().getResourceId());
+    }
 }
\ No newline at end of file
diff --git 
a/app/src/main/java/org/wikipedia/settings/DeveloperSettingsActivity.java 
b/app/src/main/java/org/wikipedia/settings/DeveloperSettingsActivity.java
index 9cb8f70..6fbcba1 100644
--- a/app/src/main/java/org/wikipedia/settings/DeveloperSettingsActivity.java
+++ b/app/src/main/java/org/wikipedia/settings/DeveloperSettingsActivity.java
@@ -3,9 +3,9 @@
 import android.content.Context;
 import android.content.Intent;
 
-import org.wikipedia.activity.SingleFragmentActivity;
+import org.wikipedia.activity.ThemedSingleFragmentActivity;
 
-public class DeveloperSettingsActivity extends 
SingleFragmentActivity<DeveloperSettingsFragment> {
+public class DeveloperSettingsActivity extends 
ThemedSingleFragmentActivity<DeveloperSettingsFragment> {
     public static Intent newIntent(Context context) {
         return new Intent(context, DeveloperSettingsActivity.class);
     }
diff --git a/app/src/main/java/org/wikipedia/settings/SettingsActivity.java 
b/app/src/main/java/org/wikipedia/settings/SettingsActivity.java
index c21a7b3..619825a 100644
--- a/app/src/main/java/org/wikipedia/settings/SettingsActivity.java
+++ b/app/src/main/java/org/wikipedia/settings/SettingsActivity.java
@@ -4,9 +4,9 @@
 import android.content.Intent;
 import android.support.annotation.NonNull;
 
-import org.wikipedia.activity.SingleFragmentActivity;
+import org.wikipedia.activity.ThemedSingleFragmentActivity;
 
-public class SettingsActivity extends SingleFragmentActivity<SettingsFragment> 
{
+public class SettingsActivity extends 
ThemedSingleFragmentActivity<SettingsFragment> {
     public static final int ACTIVITY_REQUEST_SHOW_SETTINGS = 1;
     public static final int ACTIVITY_RESULT_LANGUAGE_CHANGED = 1;
 
diff --git 
a/app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowActivity.java 
b/app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowActivity.java
index 5c3739e..b4638d7 100644
--- a/app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowActivity.java
+++ b/app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowActivity.java
@@ -4,9 +4,9 @@
 import android.content.Intent;
 import android.support.annotation.NonNull;
 
-import org.wikipedia.activity.SingleFragmentActivity;
+import org.wikipedia.activity.ThemedSingleFragmentActivity;
 
-public class UserOptionRowActivity extends 
SingleFragmentActivity<UserOptionRowFragment> {
+public class UserOptionRowActivity extends 
ThemedSingleFragmentActivity<UserOptionRowFragment> {
     public static Intent newIntent(@NonNull Context context) {
         return new Intent().setClass(context, UserOptionRowActivity.class);
     }
diff --git a/app/src/main/res/layout/activity_single_fragment.xml 
b/app/src/main/res/layout/activity_single_fragment.xml
index 2a6694a..aa609c5 100644
--- a/app/src/main/res/layout/activity_single_fragment.xml
+++ b/app/src/main/res/layout/activity_single_fragment.xml
@@ -5,5 +5,4 @@
     android:id="@+id/fragment_container"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="?attr/window_background_color"
     tools:context=".activity.SingleFragmentActivity" />
diff --git a/app/src/main/res/layout/activity_single_fragment_themed.xml 
b/app/src/main/res/layout/activity_single_fragment_themed.xml
new file mode 100644
index 0000000..5760d1e
--- /dev/null
+++ b/app/src/main/res/layout/activity_single_fragment_themed.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android";
+    xmlns:tools="http://schemas.android.com/tools";
+    android:id="@+id/fragment_container"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="?attr/window_background_color"
+    tools:context=".activity.SingleFragmentActivity" />
\ No newline at end of file

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3c2d07aa04c0f04a9f1d07a1c2fc72b410ab8ded
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Mholloway <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to