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