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

Change subject: Hygiene: collapse platform and compat Fragments
......................................................................


Hygiene: collapse platform and compat Fragments

Consolidate platform and compatibility Fragments. No functional changes
intended.

Change-Id: Ib8a5740a8b10bd8f13d6fa18d5f06ded9b68d653
---
M app/src/main/java/org/wikipedia/activity/CallbackFragment.java
D app/src/main/java/org/wikipedia/activity/CompatSingleFragmentActivity.java
A app/src/main/java/org/wikipedia/activity/FragmentUtil.java
D app/src/main/java/org/wikipedia/activity/PlatformSingleFragmentActivity.java
R app/src/main/java/org/wikipedia/activity/SingleFragmentActivity.java
M app/src/main/java/org/wikipedia/crash/CrashReportActivity.java
M app/src/main/java/org/wikipedia/crash/CrashReportFragment.java
M app/src/main/java/org/wikipedia/model/EnumCodeMap.java
M app/src/main/java/org/wikipedia/settings/DeveloperSettingsActivity.java
M app/src/main/java/org/wikipedia/settings/DeveloperSettingsFragment.java
M app/src/main/java/org/wikipedia/settings/PreferenceLoaderFragment.java
M app/src/main/java/org/wikipedia/settings/SettingsActivity.java
M app/src/main/java/org/wikipedia/settings/SettingsFragment.java
M app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowActivity.java
M app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowFragment.java
15 files changed, 83 insertions(+), 83 deletions(-)

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



diff --git a/app/src/main/java/org/wikipedia/activity/CallbackFragment.java 
b/app/src/main/java/org/wikipedia/activity/CallbackFragment.java
index 6d2b139..c35aa62 100644
--- a/app/src/main/java/org/wikipedia/activity/CallbackFragment.java
+++ b/app/src/main/java/org/wikipedia/activity/CallbackFragment.java
@@ -1,18 +1,7 @@
 package org.wikipedia.activity;
 
 import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
 
-public class CallbackFragment<T extends FragmentCallback> extends Fragment {
-    @Nullable protected T getCallback() {
-        if (getTargetFragment() instanceof FragmentCallback) {
-            //noinspection unchecked
-            return (T) getTargetFragment();
-        } else if (getActivity() instanceof FragmentCallback) {
-            //noinspection unchecked
-            return (T) getActivity();
-        } else {
-            return null;
-        }
-    }
+public interface CallbackFragment<T extends FragmentCallback> {
+    @Nullable T getCallback();
 }
\ No newline at end of file
diff --git 
a/app/src/main/java/org/wikipedia/activity/CompatSingleFragmentActivity.java 
b/app/src/main/java/org/wikipedia/activity/CompatSingleFragmentActivity.java
deleted file mode 100644
index 767a942..0000000
--- a/app/src/main/java/org/wikipedia/activity/CompatSingleFragmentActivity.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.wikipedia.activity;
-
-/** Boilerplate for a {@link android.support.v4.app.FragmentActivity} 
containing a single stack of
- * compatibility {@link android.support.v4.app.Fragment}s. */
-public abstract class CompatSingleFragmentActivity<T extends 
CallbackFragment<? extends FragmentCallback>>
-        extends BaseSingleFragmentActivity<T> {
-    @Override
-    protected void addFragment(T fragment) {
-        getSupportFragmentManager().beginTransaction().add(getContainerId(), 
fragment).commit();
-    }
-
-    @Override
-    protected T getFragment() {
-        //noinspection unchecked
-        return (T) 
getSupportFragmentManager().findFragmentById(getContainerId());
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/org/wikipedia/activity/FragmentUtil.java 
b/app/src/main/java/org/wikipedia/activity/FragmentUtil.java
new file mode 100644
index 0000000..17a9440
--- /dev/null
+++ b/app/src/main/java/org/wikipedia/activity/FragmentUtil.java
@@ -0,0 +1,26 @@
+package org.wikipedia.activity;
+
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.v4.app.Fragment;
+
+public final class FragmentUtil {
+    @Nullable public static FragmentCallback getCallback(@NonNull Fragment 
fragment) {
+        return getCallback(fragment, FragmentCallback.class);
+    }
+
+    @Nullable public static <T extends FragmentCallback> T 
getCallback(@NonNull Fragment fragment,
+                                                                       
@NonNull Class<T> callback) {
+        if (callback.isInstance(fragment.getTargetFragment())) {
+            //noinspection unchecked
+            return (T) fragment.getTargetFragment();
+        } else if (callback.isInstance(fragment.getActivity())) {
+            //noinspection unchecked
+            return (T) fragment.getActivity();
+        } else {
+            return null;
+        }
+    }
+
+    private FragmentUtil() { }
+}
\ No newline at end of file
diff --git 
a/app/src/main/java/org/wikipedia/activity/PlatformSingleFragmentActivity.java 
b/app/src/main/java/org/wikipedia/activity/PlatformSingleFragmentActivity.java
deleted file mode 100644
index 7a5ff84..0000000
--- 
a/app/src/main/java/org/wikipedia/activity/PlatformSingleFragmentActivity.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.wikipedia.activity;
-
-import android.support.v4.app.Fragment;
-
-/** Boilerplate for a {@link android.support.v4.app.FragmentActivity} 
containing a single stack of
- * platform {@link Fragment}s. */
-public abstract class PlatformSingleFragmentActivity<T extends Fragment> 
extends BaseSingleFragmentActivity<T> {
-    @Override
-    protected void addFragment(Fragment fragment) {
-        getSupportFragmentManager().beginTransaction().add(getContainerId(), 
fragment).commit();
-    }
-
-    @Override
-    protected T getFragment() {
-        //noinspection unchecked
-        return (T) 
getSupportFragmentManager().findFragmentById(getContainerId());
-    }
-}
\ No newline at end of file
diff --git 
a/app/src/main/java/org/wikipedia/activity/BaseSingleFragmentActivity.java 
b/app/src/main/java/org/wikipedia/activity/SingleFragmentActivity.java
similarity index 67%
rename from 
app/src/main/java/org/wikipedia/activity/BaseSingleFragmentActivity.java
rename to app/src/main/java/org/wikipedia/activity/SingleFragmentActivity.java
index 928d57e..672b583 100644
--- a/app/src/main/java/org/wikipedia/activity/BaseSingleFragmentActivity.java
+++ b/app/src/main/java/org/wikipedia/activity/SingleFragmentActivity.java
@@ -3,13 +3,17 @@
 import android.os.Bundle;
 import android.support.annotation.IdRes;
 import android.support.annotation.LayoutRes;
+import android.support.v4.app.Fragment;
 import android.view.MenuItem;
 
 import org.wikipedia.R;
 
-/** Boilerplate for a {@link android.support.v4.app.FragmentActivity} 
containing a single stack of
- *  Fragments. */
-public abstract class BaseSingleFragmentActivity<T> extends 
ThemedActionBarActivity {
+/**
+ * Boilerplate for a {@link android.support.v4.app.FragmentActivity} 
containing a single stack of
+ * Fragments.
+ */
+public abstract class SingleFragmentActivity<T extends Fragment & 
CallbackFragment<? extends FragmentCallback>>
+        extends ThemedActionBarActivity {
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -25,13 +29,17 @@
         return ActivityUtil.defaultOnOptionsItemSelected(this, item)
                 || super.onOptionsItemSelected(item);
     }
-
-    protected abstract void addFragment(T fragment);
+    protected void addFragment(T fragment) {
+        getSupportFragmentManager().beginTransaction().add(getContainerId(), 
fragment).commit();
+    }
 
     protected abstract T createFragment();
 
     /** @return The Fragment added to the stack. */
-    protected abstract T getFragment();
+    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()}. */
@@ -49,4 +57,4 @@
     protected boolean isFragmentCreated() {
         return getFragment() != null;
     }
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/org/wikipedia/crash/CrashReportActivity.java 
b/app/src/main/java/org/wikipedia/crash/CrashReportActivity.java
index d84aaaf..4fc3489 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.CompatSingleFragmentActivity;
+import org.wikipedia.activity.SingleFragmentActivity;
 
-public class CrashReportActivity extends 
CompatSingleFragmentActivity<CrashReportFragment>
+public class CrashReportActivity extends 
SingleFragmentActivity<CrashReportFragment>
         implements CrashReportFragmentCallback {
     @Override
     protected CrashReportFragment createFragment() {
diff --git a/app/src/main/java/org/wikipedia/crash/CrashReportFragment.java 
b/app/src/main/java/org/wikipedia/crash/CrashReportFragment.java
index dc3ac3a..e23bf32 100644
--- a/app/src/main/java/org/wikipedia/crash/CrashReportFragment.java
+++ b/app/src/main/java/org/wikipedia/crash/CrashReportFragment.java
@@ -6,6 +6,7 @@
 import android.support.annotation.IdRes;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
+import android.support.v4.app.Fragment;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -13,9 +14,11 @@
 import org.wikipedia.R;
 import org.wikipedia.WikipediaApp;
 import org.wikipedia.activity.CallbackFragment;
+import org.wikipedia.activity.FragmentUtil;
 import org.wikipedia.drawable.DrawableUtil;
 
-public class CrashReportFragment extends 
CallbackFragment<CrashReportFragmentCallback> {
+public class CrashReportFragment extends Fragment
+        implements CallbackFragment<CrashReportFragmentCallback> {
     public static CrashReportFragment newInstance() {
         return new CrashReportFragment();
     }
@@ -36,6 +39,10 @@
         return view;
     }
 
+    @Override @Nullable public CrashReportFragmentCallback getCallback() {
+        return FragmentUtil.getCallback(this, 
CrashReportFragmentCallback.class);
+    }
+
     private void setIconColor(@NonNull Drawable icon, @ColorInt int color) {
         DrawableUtil.setTint(icon, color);
     }
diff --git a/app/src/main/java/org/wikipedia/model/EnumCodeMap.java 
b/app/src/main/java/org/wikipedia/model/EnumCodeMap.java
index 93ba953..c295510 100644
--- a/app/src/main/java/org/wikipedia/model/EnumCodeMap.java
+++ b/app/src/main/java/org/wikipedia/model/EnumCodeMap.java
@@ -6,8 +6,8 @@
 public class EnumCodeMap<T extends Enum<T> & EnumCode> {
     @NonNull private final SparseArray<T> map;
 
-    public EnumCodeMap(Class<T> clazz) {
-        map = codeToEnumMap(clazz);
+    public EnumCodeMap(@NonNull Class<T> enumeration) {
+        map = codeToEnumMap(enumeration);
     }
 
     @NonNull public T get(int code) {
@@ -18,7 +18,7 @@
         return status;
     }
 
-    private SparseArray<T> codeToEnumMap(Class<T> enumeration) {
+    @NonNull private SparseArray<T> codeToEnumMap(@NonNull Class<T> 
enumeration) {
         SparseArray<T> ret = new SparseArray<>();
         for (T value : enumeration.getEnumConstants()) {
             ret.put(value.code(), value);
diff --git 
a/app/src/main/java/org/wikipedia/settings/DeveloperSettingsActivity.java 
b/app/src/main/java/org/wikipedia/settings/DeveloperSettingsActivity.java
index 33d0643..9cb8f70 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.PlatformSingleFragmentActivity;
+import org.wikipedia.activity.SingleFragmentActivity;
 
-public class DeveloperSettingsActivity extends 
PlatformSingleFragmentActivity<DeveloperSettingsFragment> {
+public class DeveloperSettingsActivity extends 
SingleFragmentActivity<DeveloperSettingsFragment> {
     public static Intent newIntent(Context context) {
         return new Intent(context, DeveloperSettingsActivity.class);
     }
diff --git 
a/app/src/main/java/org/wikipedia/settings/DeveloperSettingsFragment.java 
b/app/src/main/java/org/wikipedia/settings/DeveloperSettingsFragment.java
index be2b51e..5df3cd5 100644
--- a/app/src/main/java/org/wikipedia/settings/DeveloperSettingsFragment.java
+++ b/app/src/main/java/org/wikipedia/settings/DeveloperSettingsFragment.java
@@ -1,7 +1,5 @@
 package org.wikipedia.settings;
 
-import android.os.Bundle;
-
 public class DeveloperSettingsFragment extends PreferenceLoaderFragment {
     public static DeveloperSettingsFragment newInstance() {
         return new DeveloperSettingsFragment();
@@ -11,9 +9,5 @@
     public void loadPreferences() {
         PreferenceLoader preferenceLoader = new 
DeveloperSettingsPreferenceLoader(this);
         preferenceLoader.loadPreferences();
-    }
-
-    @Override
-    public void onCreatePreferences(Bundle bundle, String s) {
     }
 }
\ No newline at end of file
diff --git 
a/app/src/main/java/org/wikipedia/settings/PreferenceLoaderFragment.java 
b/app/src/main/java/org/wikipedia/settings/PreferenceLoaderFragment.java
index 53a7936..9ef6a8e 100644
--- a/app/src/main/java/org/wikipedia/settings/PreferenceLoaderFragment.java
+++ b/app/src/main/java/org/wikipedia/settings/PreferenceLoaderFragment.java
@@ -1,13 +1,22 @@
 package org.wikipedia.settings;
 
 import android.os.Bundle;
+import android.support.annotation.Nullable;
 import android.support.v7.preference.PreferenceFragmentCompat;
 
-/*package*/ abstract class PreferenceLoaderFragment extends 
PreferenceFragmentCompat
-        implements PreferenceLoader {
+import org.wikipedia.activity.CallbackFragment;
+import org.wikipedia.activity.FragmentCallback;
+import org.wikipedia.activity.FragmentUtil;
+
+abstract class PreferenceLoaderFragment extends PreferenceFragmentCompat
+        implements PreferenceLoader, CallbackFragment<FragmentCallback> {
     @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
+    public void onCreatePreferences(Bundle bundle, String s) {
         loadPreferences();
     }
+
+    @Nullable
+    @Override public FragmentCallback getCallback() {
+        return FragmentUtil.getCallback(this);
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/org/wikipedia/settings/SettingsActivity.java 
b/app/src/main/java/org/wikipedia/settings/SettingsActivity.java
index 8558515..5356157 100644
--- a/app/src/main/java/org/wikipedia/settings/SettingsActivity.java
+++ b/app/src/main/java/org/wikipedia/settings/SettingsActivity.java
@@ -1,8 +1,8 @@
 package org.wikipedia.settings;
 
-import org.wikipedia.activity.PlatformSingleFragmentActivity;
+import org.wikipedia.activity.SingleFragmentActivity;
 
-public class SettingsActivity extends 
PlatformSingleFragmentActivity<SettingsFragment> {
+public class SettingsActivity extends SingleFragmentActivity<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/settings/SettingsFragment.java 
b/app/src/main/java/org/wikipedia/settings/SettingsFragment.java
index afc10dc..c92d948 100644
--- a/app/src/main/java/org/wikipedia/settings/SettingsFragment.java
+++ b/app/src/main/java/org/wikipedia/settings/SettingsFragment.java
@@ -19,10 +19,6 @@
     }
 
     @Override
-    public void onCreatePreferences(Bundle bundle, String s) {
-    }
-
-    @Override
     public void loadPreferences() {
         SettingsPreferenceLoader preferenceLoader = new 
SettingsPreferenceLoader(this);
         preferenceLoader.loadPreferences();
@@ -68,4 +64,4 @@
     private void invalidateOptionsMenu() {
         getActivity().supportInvalidateOptionsMenu();
     }
-}
+}
\ No newline at end of file
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 cec5388..d00b62f 100644
--- a/app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowActivity.java
+++ b/app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowActivity.java
@@ -4,10 +4,10 @@
 import android.content.Intent;
 import android.support.annotation.NonNull;
 
-import org.wikipedia.activity.CompatSingleFragmentActivity;
+import org.wikipedia.activity.SingleFragmentActivity;
 import org.wikipedia.activity.FragmentCallback;
 
-public class UserOptionRowActivity extends 
CompatSingleFragmentActivity<UserOptionRowFragment>
+public class UserOptionRowActivity extends 
SingleFragmentActivity<UserOptionRowFragment>
         implements FragmentCallback {
     public static Intent newIntent(@NonNull Context context) {
         return new Intent().setClass(context, UserOptionRowActivity.class);
diff --git 
a/app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowFragment.java 
b/app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowFragment.java
index 52c39e7..0eb40b2 100644
--- a/app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowFragment.java
+++ b/app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowFragment.java
@@ -6,6 +6,7 @@
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
+import android.support.v4.app.Fragment;
 import android.support.v4.content.CursorLoader;
 import android.support.v4.content.Loader;
 import android.support.v4.widget.CursorAdapter;
@@ -20,6 +21,7 @@
 import org.wikipedia.R;
 import org.wikipedia.activity.CallbackFragment;
 import org.wikipedia.activity.FragmentCallback;
+import org.wikipedia.activity.FragmentUtil;
 import org.wikipedia.database.CursorAdapterLoaderCallback;
 import org.wikipedia.useroption.database.UserOptionDatabaseTable;
 import org.wikipedia.useroption.database.UserOptionRow;
@@ -30,7 +32,7 @@
 
 import static org.wikipedia.Constants.USER_OPTION_ROW_FRAGMENT_LOADER_ID;
 
-public class UserOptionRowFragment extends CallbackFragment<FragmentCallback> {
+public class UserOptionRowFragment extends Fragment implements 
CallbackFragment<FragmentCallback> {
     @Bind(R.id.fragment_user_option_list) ListView list;
 
     public static UserOptionRowFragment newInstance() {
@@ -73,6 +75,10 @@
         }
     }
 
+    @Nullable @Override public FragmentCallback getCallback() {
+        return FragmentUtil.getCallback(this);
+    }
+
     private static class LoaderCallback extends CursorAdapterLoaderCallback {
         LoaderCallback(@NonNull Context context, @NonNull CursorAdapter 
adapter) {
             super(context, adapter);

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ib8a5740a8b10bd8f13d6fa18d5f06ded9b68d653
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Niedzielski <[email protected]>
Gerrit-Reviewer: BearND <[email protected]>
Gerrit-Reviewer: Brion VIBBER <[email protected]>
Gerrit-Reviewer: Dbrant <[email protected]>
Gerrit-Reviewer: Mholloway <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to