From af5b246d7b5a3b43cbde76d0b0cbda143527c99a Mon Sep 17 00:00:00 2001
From: Torsten Grote <t@grobox.de>
Date: Thu, 8 Sep 2016 11:25:02 -0300
Subject: [PATCH] Introduce a DestroyableActivity for UI result handlers

---
 .../src/org/briarproject/android/BaseActivity.java          | 2 +-
 .../src/org/briarproject/android/BriarActivity.java         | 1 -
 .../android/{Destroyable.java => DestroyableActivity.java}  | 4 +++-
 .../src/org/briarproject/android/blogs/FeedFragment.java    | 2 +-
 .../controller/handler/UiResultExceptionHandler.java        | 6 +++---
 .../android/controller/handler/UiResultHandler.java         | 5 +++--
 .../src/org/briarproject/android/fragment/BaseFragment.java | 6 ++----
 7 files changed, 13 insertions(+), 13 deletions(-)
 rename briar-android/src/org/briarproject/android/{Destroyable.java => DestroyableActivity.java} (60%)

diff --git a/briar-android/src/org/briarproject/android/BaseActivity.java b/briar-android/src/org/briarproject/android/BaseActivity.java
index 33d66909c8..92f31ef7e5 100644
--- a/briar-android/src/org/briarproject/android/BaseActivity.java
+++ b/briar-android/src/org/briarproject/android/BaseActivity.java
@@ -18,7 +18,7 @@ import static android.view.inputmethod.InputMethodManager.SHOW_IMPLICIT;
 import static org.briarproject.android.TestingConstants.PREVENT_SCREENSHOTS;
 
 public abstract class BaseActivity extends AppCompatActivity
-		implements Destroyable {
+		implements DestroyableActivity {
 
 	protected ActivityComponent activityComponent;
 
diff --git a/briar-android/src/org/briarproject/android/BriarActivity.java b/briar-android/src/org/briarproject/android/BriarActivity.java
index cffc9727e6..d13dda3826 100644
--- a/briar-android/src/org/briarproject/android/BriarActivity.java
+++ b/briar-android/src/org/briarproject/android/BriarActivity.java
@@ -59,7 +59,6 @@ public abstract class BriarActivity extends BaseActivity {
 
 	protected void signOut(final boolean removeFromRecentApps) {
 		briarController.signOut(new UiResultHandler<Void>(this) {
-
 			@Override
 			public void onResultUi(Void result) {
 				if (removeFromRecentApps) startExitActivity();
diff --git a/briar-android/src/org/briarproject/android/Destroyable.java b/briar-android/src/org/briarproject/android/DestroyableActivity.java
similarity index 60%
rename from briar-android/src/org/briarproject/android/Destroyable.java
rename to briar-android/src/org/briarproject/android/DestroyableActivity.java
index 17c7dc8503..94622406de 100644
--- a/briar-android/src/org/briarproject/android/Destroyable.java
+++ b/briar-android/src/org/briarproject/android/DestroyableActivity.java
@@ -2,7 +2,9 @@ package org.briarproject.android;
 
 import android.support.annotation.UiThread;
 
-public interface Destroyable {
+public interface DestroyableActivity {
+
+	void runOnUiThread(Runnable runnable);
 
 	@UiThread
 	boolean hasBeenDestroyed();
diff --git a/briar-android/src/org/briarproject/android/blogs/FeedFragment.java b/briar-android/src/org/briarproject/android/blogs/FeedFragment.java
index 41791e962c..c7ed706221 100644
--- a/briar-android/src/org/briarproject/android/blogs/FeedFragment.java
+++ b/briar-android/src/org/briarproject/android/blogs/FeedFragment.java
@@ -100,7 +100,7 @@ public class FeedFragment extends BaseFragment implements
 		super.onStart();
 		feedController.onStart();
 		feedController.loadPersonalBlog(
-				new UiResultHandler<Blog>(getActivity()) {
+				new UiResultHandler<Blog>(listener) {
 					@Override
 					public void onResultUi(Blog b) {
 						personalBlog = b;
diff --git a/briar-android/src/org/briarproject/android/controller/handler/UiResultExceptionHandler.java b/briar-android/src/org/briarproject/android/controller/handler/UiResultExceptionHandler.java
index 1f9cab0937..04ea2ebad2 100644
--- a/briar-android/src/org/briarproject/android/controller/handler/UiResultExceptionHandler.java
+++ b/briar-android/src/org/briarproject/android/controller/handler/UiResultExceptionHandler.java
@@ -2,14 +2,14 @@ package org.briarproject.android.controller.handler;
 
 import android.support.annotation.UiThread;
 
-import org.briarproject.android.fragment.BaseFragment.BaseFragmentListener;
+import org.briarproject.android.DestroyableActivity;
 
 public abstract class UiResultExceptionHandler<R, E extends Exception>
 		implements ResultExceptionHandler<R, E> {
 
-	private final BaseFragmentListener listener;
+	private final DestroyableActivity listener;
 
-	protected UiResultExceptionHandler(BaseFragmentListener listener) {
+	protected UiResultExceptionHandler(DestroyableActivity listener) {
 		this.listener = listener;
 	}
 
diff --git a/briar-android/src/org/briarproject/android/controller/handler/UiResultHandler.java b/briar-android/src/org/briarproject/android/controller/handler/UiResultHandler.java
index 03c68d7ac6..9c2fbe6142 100644
--- a/briar-android/src/org/briarproject/android/controller/handler/UiResultHandler.java
+++ b/briar-android/src/org/briarproject/android/controller/handler/UiResultHandler.java
@@ -2,13 +2,14 @@ package org.briarproject.android.controller.handler;
 
 import android.support.annotation.UiThread;
 
+import org.briarproject.android.DestroyableActivity;
 import org.briarproject.android.fragment.BaseFragment.BaseFragmentListener;
 
 public abstract class UiResultHandler<R> implements ResultHandler<R> {
 
-	private final BaseFragmentListener listener;
+	private final DestroyableActivity listener;
 
-	protected UiResultHandler(BaseFragmentListener listener) {
+	protected UiResultHandler(DestroyableActivity listener) {
 		this.listener = listener;
 	}
 
diff --git a/briar-android/src/org/briarproject/android/fragment/BaseFragment.java b/briar-android/src/org/briarproject/android/fragment/BaseFragment.java
index d6f4ed363a..82d8f8ebc6 100644
--- a/briar-android/src/org/briarproject/android/fragment/BaseFragment.java
+++ b/briar-android/src/org/briarproject/android/fragment/BaseFragment.java
@@ -7,7 +7,7 @@ import android.support.annotation.UiThread;
 import android.support.v4.app.Fragment;
 
 import org.briarproject.android.ActivityComponent;
-import org.briarproject.android.Destroyable;
+import org.briarproject.android.DestroyableActivity;
 
 public abstract class BaseFragment extends Fragment {
 
@@ -46,7 +46,7 @@ public abstract class BaseFragment extends Fragment {
 		getActivity().supportFinishAfterTransition();
 	}
 
-	public interface BaseFragmentListener extends Destroyable {
+	public interface BaseFragmentListener extends DestroyableActivity {
 
 		@UiThread
 		void showLoadingScreen(boolean isBlocking, int stringId);
@@ -54,8 +54,6 @@ public abstract class BaseFragment extends Fragment {
 		@UiThread
 		void hideLoadingScreen();
 
-		void runOnUiThread(Runnable runnable);
-
 		void runOnDbThread(Runnable runnable);
 
 		@UiThread
-- 
GitLab