From c748610280d5c0d0108517488b66387e02f06123 Mon Sep 17 00:00:00 2001
From: str4d <str4d@mail.i2p>
Date: Thu, 5 Sep 2013 11:43:41 +0000
Subject: [PATCH] Added PeersActivity; moved peers link to nav drawer for now

---
 AndroidManifest.xml.in                        |  4 +++
 res/layout/fragment_main.xml                  | 14 ---------
 res/values/arrays.xml                         |  1 +
 .../router/activity/I2PActivityBase.java      |  6 +++-
 .../router/activity/PeersActivity.java        | 31 +++++++++++++++++++
 .../android/router/fragment/MainFragment.java | 12 -------
 .../router/fragment/PeersFragment.java        | 12 +------
 7 files changed, 42 insertions(+), 38 deletions(-)
 create mode 100644 src/net/i2p/android/router/activity/PeersActivity.java

diff --git a/AndroidManifest.xml.in b/AndroidManifest.xml.in
index d10c4c7ad..c80604813 100644
--- a/AndroidManifest.xml.in
+++ b/AndroidManifest.xml.in
@@ -40,6 +40,10 @@
                   android:label="I2P License Information"
                   android:parentActivityName=".activity.HelpActivity" >
         </activity>
+        <activity android:name=".activity.PeersActivity"
+                  android:label="Peers Information"
+                  android:parentActivityName=".activity.MainActivity" >
+        </activity>
         <activity android:name=".activity.WebActivity"
                   android:label="I2P Web Browser"
                   android:configChanges="orientation|keyboardHidden" >
diff --git a/res/layout/fragment_main.xml b/res/layout/fragment_main.xml
index c4ec6e410..9188c4771 100644
--- a/res/layout/fragment_main.xml
+++ b/res/layout/fragment_main.xml
@@ -59,20 +59,6 @@
     android:drawableLeft="@drawable/stop_router_icon" />
 -->
 
-<TextView
-    android:id="@+id/textView2"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:text="@string/label_tools"
-    android:textAppearance="?android:attr/textAppearanceMedium" />
-
-<Button
-    android:id="@+id/peers_button"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:text="@string/label_peers_status"
-    android:drawableLeft="@drawable/peers_icon" />
-
 <TextView
     android:id="@+id/textView3"
     android:layout_width="wrap_content"
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index c515ecd0e..44d1430d6 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -6,6 +6,7 @@
         <item>@string/label_i2ptunnel</item>
         <item>@string/label_logs</item>
         <item>@string/label_error_logs</item>
+        <item>@string/label_peers_status</item>
     </string-array>
     <string-array name="setting0to3">
         <item>0</item>
diff --git a/src/net/i2p/android/router/activity/I2PActivityBase.java b/src/net/i2p/android/router/activity/I2PActivityBase.java
index 84c7e68fa..d5b9747bd 100644
--- a/src/net/i2p/android/router/activity/I2PActivityBase.java
+++ b/src/net/i2p/android/router/activity/I2PActivityBase.java
@@ -73,6 +73,7 @@ public abstract class I2PActivityBase extends ActionBarActivity implements
     {
         Util.i(this + " onCreate called");
         super.onCreate(savedInstanceState);
+        _sharedPrefs = getSharedPreferences(SHARED_PREFS, 0);
         _myDir = getFilesDir().getAbsolutePath();
 
         // If the Activity can make use of two panes (if available),
@@ -146,6 +147,10 @@ public abstract class I2PActivityBase extends ActionBarActivity implements
             err.putExtra(LogActivity.ERRORS_ONLY, true);
             startActivity(err);
             break;
+        case 5:
+            Intent peers = new Intent(I2PActivityBase.this, PeersActivity.class);
+            startActivity(peers);
+            break;
         default:
             Intent main = new Intent(I2PActivityBase.this, MainActivity.class);
             startActivity(main);
@@ -166,7 +171,6 @@ public abstract class I2PActivityBase extends ActionBarActivity implements
     {
         Util.i(this + " onStart called");
         super.onStart();
-        _sharedPrefs = getSharedPreferences(SHARED_PREFS, 0);
         if (_sharedPrefs.getBoolean(PREF_AUTO_START, DEFAULT_AUTO_START))
             startRouter();
         else
diff --git a/src/net/i2p/android/router/activity/PeersActivity.java b/src/net/i2p/android/router/activity/PeersActivity.java
new file mode 100644
index 000000000..321eb806b
--- /dev/null
+++ b/src/net/i2p/android/router/activity/PeersActivity.java
@@ -0,0 +1,31 @@
+package net.i2p.android.router.activity;
+
+import net.i2p.android.router.R;
+import net.i2p.android.router.fragment.PeersFragment;
+import net.i2p.android.router.service.RouterService;
+import android.os.Bundle;
+
+public class PeersActivity extends I2PActivityBase {
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        mDrawerToggle.setDrawerIndicatorEnabled(false);
+        // Start with the base view
+        if (savedInstanceState == null) {
+            PeersFragment f = new PeersFragment();
+            f.setArguments(getIntent().getExtras());
+            getSupportFragmentManager().beginTransaction()
+                    .add(R.id.main_fragment, f).commit();
+        }
+    }
+
+    /**
+     *  Not bound by the time onResume() is called, so we have to do it here.
+     *  If it is bound we update twice.
+     */
+    @Override
+    protected void onRouterBind(RouterService svc) {
+        PeersFragment f = (PeersFragment) getSupportFragmentManager().findFragmentById(R.id.main_fragment);
+        f.update();
+    }
+}
diff --git a/src/net/i2p/android/router/fragment/MainFragment.java b/src/net/i2p/android/router/fragment/MainFragment.java
index 41a550dd6..5ff43d499 100644
--- a/src/net/i2p/android/router/fragment/MainFragment.java
+++ b/src/net/i2p/android/router/fragment/MainFragment.java
@@ -140,18 +140,6 @@ public class MainFragment extends I2PFragmentBase {
             }
         });
 
-        b = (Button) v.findViewById(R.id.peers_button);
-        b.setOnClickListener(new View.OnClickListener() {
-
-            public void onClick(View view) {
-                getActivity().getSupportFragmentManager()
-                             .beginTransaction()
-                             .replace(R.id.main_fragment, new PeersFragment())
-                             .addToBackStack(null)
-                             .commit();
-            }
-        });
-
         /*
          * hidden, unused b = (Button) v.findViewById(R.id.router_stop_button);
          * b.setOnClickListener(new View.OnClickListener() { public void
diff --git a/src/net/i2p/android/router/fragment/PeersFragment.java b/src/net/i2p/android/router/fragment/PeersFragment.java
index 010b5d648..893ebfe09 100644
--- a/src/net/i2p/android/router/fragment/PeersFragment.java
+++ b/src/net/i2p/android/router/fragment/PeersFragment.java
@@ -9,7 +9,6 @@ import android.webkit.WebView;
 import java.io.IOException;
 import java.io.StringWriter;
 import net.i2p.android.router.R;
-import net.i2p.android.router.service.RouterService;
 import net.i2p.router.CommSystemFacade;
 
 public class PeersFragment extends I2PFragmentBase {
@@ -41,16 +40,7 @@ public class PeersFragment extends I2PFragmentBase {
         update();
     }
 
-    /**
-     *  Not bound by the time onResume() is called, so we have to do it here.
-     *  If it is bound we update twice.
-     */
-    @Override
-    protected void onRouterBind(RouterService svc) {
-        update();
-    }
-
-    private void update() {
+    public void update() {
         WebView wv = (WebView) getActivity().findViewById(R.id.peers_webview);
         wv.clearHistory(); // fixes having to hit back.
         CommSystemFacade comm = getCommSystem();
-- 
GitLab