Niedzielski has uploaded a new change for review.

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

Change subject: Hygiene: move Fragment callbacks into Fragments
......................................................................

Hygiene: move Fragment callbacks into Fragments

Fragment callbacks are often tiny interfaces and not worth distinct
files. Roll the callbacks into their Fragments:

• FragmentCallback -> CallbackFragment.Callback

• CrashReportFragmentCallback -> CrashReportFragment.Callback

No functional changes intended.

Change-Id: If3d8f6b31d3ce61b9ddcf56b1185640eea512627
---
M app/src/main/java/org/wikipedia/activity/CallbackFragment.java
D app/src/main/java/org/wikipedia/activity/FragmentCallback.java
M app/src/main/java/org/wikipedia/activity/FragmentUtil.java
M 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
D app/src/main/java/org/wikipedia/crash/CrashReportFragmentCallback.java
M app/src/main/java/org/wikipedia/settings/PreferenceLoaderFragment.java
M app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowActivity.java
M app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowFragment.java
10 files changed, 35 insertions(+), 32 deletions(-)


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

diff --git a/app/src/main/java/org/wikipedia/activity/CallbackFragment.java 
b/app/src/main/java/org/wikipedia/activity/CallbackFragment.java
index c35aa62..dffa787 100644
--- a/app/src/main/java/org/wikipedia/activity/CallbackFragment.java
+++ b/app/src/main/java/org/wikipedia/activity/CallbackFragment.java
@@ -2,6 +2,10 @@
 
 import android.support.annotation.Nullable;
 
-public interface CallbackFragment<T extends FragmentCallback> {
+import org.wikipedia.activity.CallbackFragment.Callback;
+
+public interface CallbackFragment<T extends Callback> {
+    interface Callback { }
+
     @Nullable T getCallback();
 }
\ No newline at end of file
diff --git a/app/src/main/java/org/wikipedia/activity/FragmentCallback.java 
b/app/src/main/java/org/wikipedia/activity/FragmentCallback.java
deleted file mode 100644
index 52b0976..0000000
--- a/app/src/main/java/org/wikipedia/activity/FragmentCallback.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package org.wikipedia.activity;
-
-public interface FragmentCallback { }
\ 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
index 17a9440..167c3a8 100644
--- a/app/src/main/java/org/wikipedia/activity/FragmentUtil.java
+++ b/app/src/main/java/org/wikipedia/activity/FragmentUtil.java
@@ -4,13 +4,15 @@
 import android.support.annotation.Nullable;
 import android.support.v4.app.Fragment;
 
+import org.wikipedia.activity.CallbackFragment.Callback;
+
 public final class FragmentUtil {
-    @Nullable public static FragmentCallback getCallback(@NonNull Fragment 
fragment) {
-        return getCallback(fragment, FragmentCallback.class);
+    @Nullable public static Callback getCallback(@NonNull Fragment fragment) {
+        return getCallback(fragment, Callback.class);
     }
 
-    @Nullable public static <T extends FragmentCallback> T 
getCallback(@NonNull Fragment fragment,
-                                                                       
@NonNull Class<T> callback) {
+    @Nullable public static <T extends Callback> T getCallback(@NonNull 
Fragment fragment,
+                                                               @NonNull 
Class<T> callback) {
         if (callback.isInstance(fragment.getTargetFragment())) {
             //noinspection unchecked
             return (T) fragment.getTargetFragment();
@@ -23,4 +25,4 @@
     }
 
     private FragmentUtil() { }
-}
\ No newline at end of file
+}
diff --git 
a/app/src/main/java/org/wikipedia/activity/SingleFragmentActivity.java 
b/app/src/main/java/org/wikipedia/activity/SingleFragmentActivity.java
index 672b583..00c5af0 100644
--- a/app/src/main/java/org/wikipedia/activity/SingleFragmentActivity.java
+++ b/app/src/main/java/org/wikipedia/activity/SingleFragmentActivity.java
@@ -7,12 +7,13 @@
 import android.view.MenuItem;
 
 import org.wikipedia.R;
+import org.wikipedia.activity.CallbackFragment.Callback;
 
 /**
  * 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>>
+public abstract class SingleFragmentActivity<T extends Fragment & 
CallbackFragment<? extends Callback>>
         extends ThemedActionBarActivity {
     @Override
     public void onCreate(Bundle savedInstanceState) {
diff --git a/app/src/main/java/org/wikipedia/crash/CrashReportActivity.java 
b/app/src/main/java/org/wikipedia/crash/CrashReportActivity.java
index 4fc3489..e3a27ff 100644
--- a/app/src/main/java/org/wikipedia/crash/CrashReportActivity.java
+++ b/app/src/main/java/org/wikipedia/crash/CrashReportActivity.java
@@ -8,7 +8,7 @@
 import org.wikipedia.activity.SingleFragmentActivity;
 
 public class CrashReportActivity extends 
SingleFragmentActivity<CrashReportFragment>
-        implements CrashReportFragmentCallback {
+        implements CrashReportFragment.Callback {
     @Override
     protected CrashReportFragment createFragment() {
         return CrashReportFragment.newInstance();
diff --git a/app/src/main/java/org/wikipedia/crash/CrashReportFragment.java 
b/app/src/main/java/org/wikipedia/crash/CrashReportFragment.java
index b40e0ba..7e7f069 100644
--- a/app/src/main/java/org/wikipedia/crash/CrashReportFragment.java
+++ b/app/src/main/java/org/wikipedia/crash/CrashReportFragment.java
@@ -11,9 +11,15 @@
 import org.wikipedia.R;
 import org.wikipedia.activity.CallbackFragment;
 import org.wikipedia.activity.FragmentUtil;
+import org.wikipedia.crash.CrashReportFragment.Callback;
 
 public class CrashReportFragment extends Fragment
-        implements CallbackFragment<CrashReportFragmentCallback> {
+        implements CallbackFragment<Callback> {
+    public interface Callback extends CallbackFragment.Callback {
+        void onStartOver();
+        void onQuit();
+    }
+
     public static CrashReportFragment newInstance() {
         return new CrashReportFragment();
     }
@@ -30,8 +36,8 @@
         return view;
     }
 
-    @Override @Nullable public CrashReportFragmentCallback getCallback() {
-        return FragmentUtil.getCallback(this, 
CrashReportFragmentCallback.class);
+    @Override @Nullable public Callback getCallback() {
+        return FragmentUtil.getCallback(this, Callback.class);
     }
 
     private void setOnClickListener(View view, @IdRes int id, 
View.OnClickListener listener) {
diff --git 
a/app/src/main/java/org/wikipedia/crash/CrashReportFragmentCallback.java 
b/app/src/main/java/org/wikipedia/crash/CrashReportFragmentCallback.java
deleted file mode 100644
index 6861ac7..0000000
--- a/app/src/main/java/org/wikipedia/crash/CrashReportFragmentCallback.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.wikipedia.crash;
-
-import org.wikipedia.activity.FragmentCallback;
-
-public interface CrashReportFragmentCallback extends FragmentCallback {
-    void onStartOver();
-    void onQuit();
-}
\ 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 9ef6a8e..6e47504 100644
--- a/app/src/main/java/org/wikipedia/settings/PreferenceLoaderFragment.java
+++ b/app/src/main/java/org/wikipedia/settings/PreferenceLoaderFragment.java
@@ -5,18 +5,18 @@
 import android.support.v7.preference.PreferenceFragmentCompat;
 
 import org.wikipedia.activity.CallbackFragment;
-import org.wikipedia.activity.FragmentCallback;
+import org.wikipedia.activity.CallbackFragment.Callback;
 import org.wikipedia.activity.FragmentUtil;
 
 abstract class PreferenceLoaderFragment extends PreferenceFragmentCompat
-        implements PreferenceLoader, CallbackFragment<FragmentCallback> {
+        implements PreferenceLoader, CallbackFragment<Callback> {
     @Override
     public void onCreatePreferences(Bundle bundle, String s) {
         loadPreferences();
     }
 
     @Nullable
-    @Override public FragmentCallback getCallback() {
+    @Override public Callback getCallback() {
         return FragmentUtil.getCallback(this);
     }
 }
\ 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 d00b62f..ddc2986 100644
--- a/app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowActivity.java
+++ b/app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowActivity.java
@@ -4,11 +4,11 @@
 import android.content.Intent;
 import android.support.annotation.NonNull;
 
+import org.wikipedia.activity.CallbackFragment.Callback;
 import org.wikipedia.activity.SingleFragmentActivity;
-import org.wikipedia.activity.FragmentCallback;
 
 public class UserOptionRowActivity extends 
SingleFragmentActivity<UserOptionRowFragment>
-        implements FragmentCallback {
+        implements Callback {
     public static Intent newIntent(@NonNull Context context) {
         return new Intent().setClass(context, UserOptionRowActivity.class);
     }
@@ -22,4 +22,4 @@
     protected void setTheme() {
         setActionBarTheme();
     }
-}
\ No newline at end of file
+}
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 45af2fc..3aaa1c5 100644
--- a/app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowFragment.java
+++ b/app/src/main/java/org/wikipedia/useroption/ui/UserOptionRowFragment.java
@@ -20,7 +20,7 @@
 
 import org.wikipedia.R;
 import org.wikipedia.activity.CallbackFragment;
-import org.wikipedia.activity.FragmentCallback;
+import org.wikipedia.activity.CallbackFragment.Callback;
 import org.wikipedia.activity.FragmentUtil;
 import org.wikipedia.database.CursorAdapterLoaderCallback;
 import org.wikipedia.database.contract.UserOptionContract;
@@ -32,7 +32,8 @@
 
 import static org.wikipedia.Constants.USER_OPTION_ROW_FRAGMENT_LOADER_ID;
 
-public class UserOptionRowFragment extends Fragment implements 
CallbackFragment<FragmentCallback> {
+public class UserOptionRowFragment extends Fragment
+        implements CallbackFragment<Callback> {
     @BindView(R.id.fragment_user_option_list) ListView list;
     private Unbinder unbinder;
 
@@ -83,7 +84,7 @@
         }
     }
 
-    @Nullable @Override public FragmentCallback getCallback() {
+    @Nullable @Override public Callback getCallback() {
         return FragmentUtil.getCallback(this);
     }
 
@@ -102,4 +103,4 @@
             return new CursorLoader(context(), uri, projection, selection, 
selectionArgs, order);
         }
     }
-}
\ No newline at end of file
+}

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: If3d8f6b31d3ce61b9ddcf56b1185640eea512627
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Niedzielski <sniedziel...@wikimedia.org>

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

Reply via email to