From bf5b29da7675d1dd2e0fe5f25a62a03222e3d245 Mon Sep 17 00:00:00 2001 From: str4d <str4d@mail.i2p> Date: Mon, 11 Nov 2013 04:03:08 +0000 Subject: [PATCH] Fixed NetDB detail filling --- .../router/activity/NetDbDetailActivity.java | 12 ++++++++++-- .../router/fragment/NetDbDetailFragment.java | 13 ++++++++++++- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/net/i2p/android/router/activity/NetDbDetailActivity.java b/src/net/i2p/android/router/activity/NetDbDetailActivity.java index 0c9d2dc81..832b4a479 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 9a999498f..a55165e40 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)); -- GitLab