diff --git a/src/net/i2p/android/router/activity/NetDbDetailActivity.java b/src/net/i2p/android/router/activity/NetDbDetailActivity.java index 0c9d2dc819aa692a15474075e761df4fefe4160d..832b4a479cf3747e596df98e6152c70b1f80db81 100644 --- a/src/net/i2p/android/router/activity/NetDbDetailActivity.java +++ b/src/net/i2p/android/router/activity/NetDbDetailActivity.java @@ -2,11 +2,14 @@ package net.i2p.android.router.activity; import net.i2p.android.router.R; import net.i2p.android.router.fragment.NetDbDetailFragment; +import net.i2p.android.router.service.RouterService; import net.i2p.data.DataFormatException; import net.i2p.data.Hash; import android.os.Bundle; public class NetDbDetailActivity extends I2PActivityBase { + NetDbDetailFragment mDetailFrag; + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -17,12 +20,17 @@ public class NetDbDetailActivity extends I2PActivityBase { Hash hash = new Hash(); try { hash.fromBase64(getIntent().getStringExtra(NetDbDetailFragment.ENTRY_HASH)); - NetDbDetailFragment detailFrag = NetDbDetailFragment.newInstance(isRI, hash); + mDetailFrag = NetDbDetailFragment.newInstance(isRI, hash); getSupportFragmentManager().beginTransaction() - .add(R.id.main_fragment, detailFrag).commit(); + .add(R.id.main_fragment, mDetailFrag).commit(); } catch (DataFormatException e) { e.printStackTrace(); } } } + + @Override + protected void onRouterBind(RouterService svc) { + mDetailFrag.onRouterBind(); + } } diff --git a/src/net/i2p/android/router/fragment/NetDbDetailFragment.java b/src/net/i2p/android/router/fragment/NetDbDetailFragment.java index 9a999498f31c3799bc611f0a7320f1d892ee6c5f..a55165e40f9a70233d1a4aee75757c54ca77bfee 100644 --- a/src/net/i2p/android/router/fragment/NetDbDetailFragment.java +++ b/src/net/i2p/android/router/fragment/NetDbDetailFragment.java @@ -43,7 +43,18 @@ public class NetDbDetailFragment extends I2PFragmentBase { public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); - if (getRouterContext() != null && getNetDb().isInitialized()) { + if (getRouterContext() != null && mEntry == null) + loadEntry(); + } + + // Called by NetDbDetailActivity + public void onRouterBind() { + if (mEntry == null) + loadEntry(); + } + + private void loadEntry() { + if (getNetDb().isInitialized()) { Hash hash = new Hash(); try { hash.fromBase64(getArguments().getString(ENTRY_HASH));