diff --git a/src/net/i2p/android/router/fragment/NetDbListFragment.java b/src/net/i2p/android/router/fragment/NetDbListFragment.java index 7a3ad21a7cb5e0f4990f24595eee3d915936391d..beb379bb5ad10ae071d47881bce43a892d152de1 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 c5c5e4813c0606c3256ed998b1a5ab4aac8b9723..2e873e73194fe88024713e426c5e5ea85993b808 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) {