From 8b79af434e5805173f66b4e0f88b30eb53f20d6b Mon Sep 17 00:00:00 2001
From: str4d <str4d@mail.i2p>
Date: Sat, 16 Nov 2013 22:07:32 +0000
Subject: [PATCH] Use new callbacks for NetDB

---
 .../router/fragment/NetDbListFragment.java    | 21 +++++++++++++++++--
 .../fragment/NetDbSummaryPagerFragment.java   |  4 +---
 2 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/src/net/i2p/android/router/fragment/NetDbListFragment.java b/src/net/i2p/android/router/fragment/NetDbListFragment.java
index 7a3ad21a7..beb379bb5 100644
--- a/src/net/i2p/android/router/fragment/NetDbListFragment.java
+++ b/src/net/i2p/android/router/fragment/NetDbListFragment.java
@@ -21,8 +21,9 @@ import android.view.MenuItem;
 import android.view.View;
 import android.widget.ListView;
 
-public class NetDbListFragment extends ListFragment
-        implements LoaderManager.LoaderCallbacks<List<NetDbEntry>> {
+public class NetDbListFragment extends ListFragment implements 
+        I2PFragmentBase.RouterContextUser,
+        LoaderManager.LoaderCallbacks<List<NetDbEntry>> {
     public static final String SHOW_ROUTERS = "show_routers";
 
     private static final int ROUTER_LOADER_ID = 1;
@@ -33,6 +34,8 @@ public class NetDbListFragment extends ListFragment
      */
     private static final String STATE_ACTIVATED_POSITION = "activated_position";
 
+    private boolean mOnActivityCreated;
+    private boolean mOnRouterBind;
     RouterContextProvider mRouterContextProvider;
     OnEntrySelectedListener mEntrySelectedCallback;
     private NetDbEntryAdapter mAdapter;
@@ -104,6 +107,12 @@ public class NetDbListFragment extends ListFragment
 
         setListAdapter(mAdapter);
 
+        mOnActivityCreated = true;
+        if (mOnRouterBind)
+            onRouterConnectionReady();
+    }
+
+    public void onRouterConnectionReady() {
         LoaderManager lm = getLoaderManager();
         // If the Router is running, or there is an existing Loader
         if (getRouterContext() != null || lm.getLoader(mRouters ?
@@ -180,6 +189,14 @@ public class NetDbListFragment extends ListFragment
         return mRouterContextProvider.getRouterContext();
     }
 
+    // I2PFragmentBase.RouterContextUser
+
+    public void onRouterBind() {
+        mOnRouterBind = true;
+        if (mOnActivityCreated)
+            onRouterConnectionReady();
+    }
+
     // LoaderManager.LoaderCallbacks<List<NetDbEntry>>
 
     public Loader<List<NetDbEntry>> onCreateLoader(int id, Bundle args) {
diff --git a/src/net/i2p/android/router/fragment/NetDbSummaryPagerFragment.java b/src/net/i2p/android/router/fragment/NetDbSummaryPagerFragment.java
index c5c5e4813..2e873e731 100644
--- a/src/net/i2p/android/router/fragment/NetDbSummaryPagerFragment.java
+++ b/src/net/i2p/android/router/fragment/NetDbSummaryPagerFragment.java
@@ -57,9 +57,7 @@ public class NetDbSummaryPagerFragment extends I2PFragmentBase implements
     }
 
     @Override
-    public void onActivityCreated(Bundle savedInstanceState) {
-        super.onActivityCreated(savedInstanceState);
-
+    public void onRouterConnectionReady() {
         LoaderManager lm = getLoaderManager();
         // If the Router is running, or there is an existing Loader
         if (getRouterContext() != null || lm.getLoader(0) != null) {
-- 
GitLab