Browse Source

Added home fragment view

alexander.brakowski 10 years ago
parent
commit
1d4b7d20eb

+ 1 - 1
AndroidManifest.xml

@@ -22,7 +22,7 @@
         android:label="@string/app_name"
         android:theme="@style/AppTheme" >
         <activity
-            android:name="de.tudarmstadt.informatik.hostage.ui2.MainActivity"
+            android:name="de.tudarmstadt.informatik.hostage.ui2.activity.MainActivity"
             android:configChanges="keyboardHidden|orientation|screenSize"
             android:label="@string/app_name" >
             <intent-filter>

+ 119 - 0
res/layout/fragment_home.xml

@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical" android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:weightSum="1">
+
+    <Space
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_weight="0.93" />
+
+    <TextView
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:text="Current connection"
+        android:id="@+id/textView"
+        android:layout_weight="0"
+        android:layout_marginLeft="15dp"
+        android:layout_marginTop="5dp"
+        android:layout_marginRight="15dp"
+        android:layout_marginBottom="5dp"
+        android:textStyle="bold" />
+
+    <View
+        android:layout_width="fill_parent"
+        android:layout_height="1dp"
+        android:background="@android:color/darker_gray"
+        android:layout_marginLeft="15dp"
+        android:layout_marginRight="15dp" />
+
+    <LinearLayout
+        android:orientation="vertical"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginRight="15dp"
+        android:layout_marginLeft="15dp"
+        android:weightSum="1">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textAppearance="?android:attr/textAppearanceLarge"
+            android:text="Eduroam"
+            android:id="@+id/textView2"
+            android:layout_gravity="center_horizontal"
+            android:layout_marginTop="20dp"
+            android:textSize="26sp" />
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textAppearance="@android:style/TextAppearance.Holo.Small"
+            android:text="Insecure"
+            android:id="@+id/textView3"
+            android:layout_gravity="center_horizontal"
+            android:textSize="13sp"
+            android:textColor="@color/holo_red" />
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="125 attacks recorded"
+            android:id="@+id/textView4"
+            android:layout_gravity="center_horizontal"
+            android:textSize="11sp"
+            android:textColor="@color/holo_red" />
+
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="79dp"
+            android:layout_weight="0.32">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textAppearance="?android:attr/textAppearanceSmall"
+                android:text="This network is monitored by HosTaGe"
+                android:id="@+id/textView5"
+                android:textSize="11sp"
+                android:textColor="@color/holo_dark_green"
+                android:layout_centerVertical="true"
+                android:layout_centerHorizontal="true" />
+
+            <Button
+                style="?android:attr/buttonStyleSmall"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="Stop monitoring"
+                android:id="@+id/button"
+                android:layout_gravity="right"
+                android:textSize="12dp"
+                android:layout_alignParentBottom="true"
+                android:layout_alignLeft="@+id/textView5"
+                android:layout_alignStart="@+id/textView5"
+                android:layout_below="@+id/imageView"
+                android:layout_alignRight="@+id/textView5"
+                android:layout_alignEnd="@+id/textView5" />
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:id="@+id/imageView"
+                android:src="@android:drawable/presence_online"
+                android:layout_centerVertical="true"
+                android:layout_toLeftOf="@+id/textView5"
+                android:layout_marginRight="19dp" />
+
+        </RelativeLayout>
+    </LinearLayout>
+
+    <View
+        android:layout_width="fill_parent"
+        android:layout_height="1dp"
+        android:background="@android:color/darker_gray"
+        android:layout_marginLeft="15dp"
+        android:layout_marginRight="15dp"
+        android:layout_marginTop="10dp" />
+</LinearLayout>

+ 2 - 0
res/values/colors.xml

@@ -2,4 +2,6 @@
 <resources>
     	<color name="light_grey">#FFC0C0C0</color>
         <color name="dark_grey">#FF808080</color>
+        <color name="holo_red">#FFF44444</color>
+        <color name="holo_dark_green">#ff669900</color>
 </resources>

+ 45 - 13
src/de/tudarmstadt/informatik/hostage/ui2/MainActivity.java → src/de/tudarmstadt/informatik/hostage/ui2/activity/MainActivity.java

@@ -1,23 +1,24 @@
-package de.tudarmstadt.informatik.hostage.ui2;
+package de.tudarmstadt.informatik.hostage.ui2.activity;
 
 import android.app.ActionBar;
 import android.app.Activity;
+import android.app.Fragment;
+import android.app.FragmentManager;
 import android.content.res.Configuration;
 import android.os.Bundle;
 import android.support.v4.app.ActionBarDrawerToggle;
 import android.support.v4.widget.DrawerLayout;
-import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
 import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
 import android.widget.ListView;
 
 import java.util.ArrayList;
 
 import de.tudarmstadt.informatik.hostage.R;
 import de.tudarmstadt.informatik.hostage.ui2.adapter.DrawerListAdapter;
-import de.tudarmstadt.informatik.hostage.ui2.adapter.DrawerListItem;
+import de.tudarmstadt.informatik.hostage.ui2.fragment.HomeFragment;
+import de.tudarmstadt.informatik.hostage.ui2.model.DrawerListItem;
 
 /**
  * @author  Alexander Brakowski
@@ -31,6 +32,8 @@ public class MainActivity extends Activity {
     private CharSequence mDrawerTitle;
     private CharSequence mTitle;
 
+    private ArrayList<DrawerListItem> drawerItems;
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -45,15 +48,15 @@ public class MainActivity extends Activity {
         mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
         mDrawerList = (ListView) findViewById(R.id.left_drawer);
 
-        ArrayList<DrawerListItem> lst = new ArrayList<DrawerListItem>();
-        lst.add(new DrawerListItem(R.string.drawer_overview, R.drawable.ic_menu_home));
-        lst.add(new DrawerListItem(R.string.drawer_threat_map, R.drawable.ic_menu_mapmode));
-        lst.add(new DrawerListItem(R.string.drawer_records, R.drawable.ic_menu_gallery));
-        lst.add(new DrawerListItem(R.string.drawer_services, R.drawable.ic_menu_set_as));
-        lst.add(new DrawerListItem(R.string.drawer_settings, R.drawable.ic_menu_settings_holo_light));
-        lst.add(new DrawerListItem(R.string.drawer_app_info, R.drawable.ic_menu_info_details));
+        drawerItems = new ArrayList<DrawerListItem>();
+        drawerItems.add(new DrawerListItem(R.string.drawer_overview, R.drawable.ic_menu_home));
+        drawerItems.add(new DrawerListItem(R.string.drawer_threat_map, R.drawable.ic_menu_mapmode));
+        drawerItems.add(new DrawerListItem(R.string.drawer_records, R.drawable.ic_menu_gallery));
+        drawerItems.add(new DrawerListItem(R.string.drawer_services, R.drawable.ic_menu_set_as));
+        drawerItems.add(new DrawerListItem(R.string.drawer_settings, R.drawable.ic_menu_settings_holo_light));
+        drawerItems.add(new DrawerListItem(R.string.drawer_app_info, R.drawable.ic_menu_info_details));
 
-        DrawerListAdapter listAdapter = new DrawerListAdapter(this, lst);
+        DrawerListAdapter listAdapter = new DrawerListAdapter(this, drawerItems);
 
         mDrawerList.setAdapter(listAdapter);
         mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
@@ -79,6 +82,11 @@ public class MainActivity extends Activity {
             }
         };
         mDrawerLayout.setDrawerListener(mDrawerToggle);
+
+        if (savedInstanceState == null) {
+            // on first time display view for first nav item
+            displayView(0);
+        }
     }
 
     @Override
@@ -117,10 +125,34 @@ public class MainActivity extends Activity {
         mDrawerToggle.onConfigurationChanged(newConfig);
     }
 
+    private void displayView(int position) {
+        // update the main content by replacing fragments
+        Fragment fragment = null;
+        switch (position) {
+            case 0:
+                fragment = new HomeFragment();
+                break;
+            default:
+                break;
+        }
+
+        if (fragment != null) {
+            FragmentManager fragmentManager = getFragmentManager();
+            fragmentManager.beginTransaction()
+                    .replace(R.id.content_frame, fragment).commit();
+
+            // update selected item and title, then close the drawer
+            mDrawerList.setItemChecked(position, true);
+            mDrawerList.setSelection(position);
+            setTitle(drawerItems.get(position).text);
+            mDrawerLayout.closeDrawer(mDrawerList);
+        }
+    }
+
     private class DrawerItemClickListener implements ListView.OnItemClickListener {
         @Override
         public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-
+            displayView(position);
         }
     }
 }

+ 1 - 0
src/de/tudarmstadt/informatik/hostage/ui2/adapter/DrawerListAdapter.java

@@ -11,6 +11,7 @@ import android.widget.TextView;
 import java.util.List;
 
 import de.tudarmstadt.informatik.hostage.R;
+import de.tudarmstadt.informatik.hostage.ui2.model.DrawerListItem;
 
 /**
  * @author Alexander Brakowski

+ 27 - 0
src/de/tudarmstadt/informatik/hostage/ui2/fragment/HomeFragment.java

@@ -0,0 +1,27 @@
+package de.tudarmstadt.informatik.hostage.ui2.fragment;
+import android.app.Fragment;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import de.tudarmstadt.informatik.hostage.R;
+
+/**
+ * @author Alexander Brakowski
+ * @created 13.01.14 19:06
+ */
+
+public class HomeFragment extends Fragment {
+
+    public HomeFragment(){}
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+                             Bundle savedInstanceState) {
+
+        View rootView = inflater.inflate(R.layout.fragment_home, container, false);
+
+        return rootView;
+    }
+}

+ 1 - 1
src/de/tudarmstadt/informatik/hostage/ui2/adapter/DrawerListItem.java → src/de/tudarmstadt/informatik/hostage/ui2/model/DrawerListItem.java

@@ -1,4 +1,4 @@
-package de.tudarmstadt.informatik.hostage.ui2.adapter;
+package de.tudarmstadt.informatik.hostage.ui2.model;
 
 import android.widget.ImageView;
 import android.widget.TextView;

+ 21 - 11
target/generated-sources/r/de/tudarmstadt/informatik/hostage/R.java

@@ -23,6 +23,8 @@ public final class R {
     }
     public static final class color {
         public static final int dark_grey=0x7f070001;
+        public static final int holo_dark_green=0x7f070003;
+        public static final int holo_red=0x7f070002;
         public static final int light_grey=0x7f070000;
     }
     public static final class dimen {
@@ -57,14 +59,15 @@ public final class R {
         public static final int light_yellow_large=0x7f020012;
     }
     public static final class id {
-        public static final int RecordTextFieldBSSID=0x7f0c002f;
-        public static final int RecordTextFieldProtocol=0x7f0c0031;
-        public static final int RecordTextFieldSSID=0x7f0c0030;
-        public static final int RecordTextFieldTimestamp=0x7f0c0032;
+        public static final int RecordTextFieldBSSID=0x7f0c0036;
+        public static final int RecordTextFieldProtocol=0x7f0c0038;
+        public static final int RecordTextFieldSSID=0x7f0c0037;
+        public static final int RecordTextFieldTimestamp=0x7f0c0039;
         public static final int TextViewServices=0x7f0c001d;
-        public static final int action_about=0x7f0c0034;
-        public static final int action_settings=0x7f0c0033;
+        public static final int action_about=0x7f0c003b;
+        public static final int action_settings=0x7f0c003a;
         public static final int attack_info=0x7f0c0029;
+        public static final int button=0x7f0c0031;
         public static final int buttonDeleteLog=0x7f0c0028;
         public static final int buttonExportDatabase=0x7f0c0026;
         public static final int buttonShowLog=0x7f0c0013;
@@ -74,6 +77,7 @@ public final class R {
         public static final int drawer_layout=0x7f0c000a;
         public static final int drawer_listitem_icon=0x7f0c002a;
         public static final int drawer_listitem_text=0x7f0c002b;
+        public static final int imageView=0x7f0c0032;
         public static final int imageViewLight=0x7f0c0010;
         public static final int layoutContainer=0x7f0c0020;
         public static final int left_drawer=0x7f0c000c;
@@ -88,16 +92,21 @@ public final class R {
         public static final int textLastAttackValue=0x7f0c0024;
         public static final int textLogFile=0x7f0c0025;
         public static final int textStatistics=0x7f0c001f;
+        public static final int textView=0x7f0c002c;
+        public static final int textView2=0x7f0c002d;
+        public static final int textView3=0x7f0c002e;
+        public static final int textView4=0x7f0c002f;
+        public static final int textView5=0x7f0c0030;
         public static final int textViewBSSID=0x7f0c0017;
         public static final int textViewBSSIDValue=0x7f0c0018;
-        public static final int textViewConnections=0x7f0c002d;
-        public static final int textViewConnectionsValue=0x7f0c002e;
+        public static final int textViewConnections=0x7f0c0034;
+        public static final int textViewConnectionsValue=0x7f0c0035;
         public static final int textViewDetails=0x7f0c0014;
         public static final int textViewExternalIP=0x7f0c001b;
         public static final int textViewExternalIPValue=0x7f0c001c;
         public static final int textViewInternalIP=0x7f0c0019;
         public static final int textViewInternalIPValue=0x7f0c001a;
-        public static final int textViewProtocol=0x7f0c002c;
+        public static final int textViewProtocol=0x7f0c0033;
         public static final int textViewSSID=0x7f0c0015;
         public static final int textViewSSIDValue=0x7f0c0016;
         public static final int textViewStatus=0x7f0c000f;
@@ -118,8 +127,9 @@ public final class R {
         public static final int activity_main=0x7f030003;
         public static final int activity_viewlog=0x7f030004;
         public static final int drawer_list_item=0x7f030005;
-        public static final int list_view_protocols_row=0x7f030006;
-        public static final int loglist_row=0x7f030007;
+        public static final int fragment_home=0x7f030006;
+        public static final int list_view_protocols_row=0x7f030007;
+        public static final int loglist_row=0x7f030008;
     }
     public static final class menu {
         public static final int main=0x7f0b0000;

BIN
target/hostage.jar


+ 5 - 4
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -21,18 +21,18 @@ de/tudarmstadt/informatik/hostage/net/MyServerSocketFactory.class
 de/tudarmstadt/informatik/hostage/protocol/FTP.class
 de/tudarmstadt/informatik/hostage/R$color.class
 de/tudarmstadt/informatik/hostage/logging/Record.class
-de/tudarmstadt/informatik/hostage/ui2/MainActivity$DrawerItemClickListener.class
 de/tudarmstadt/informatik/hostage/net/MySSLSocketFactory$1.class
 de/tudarmstadt/informatik/hostage/BuildConfig.class
 de/tudarmstadt/informatik/hostage/R$style.class
 de/tudarmstadt/informatik/hostage/protocol/MySQL$STATE.class
+de/tudarmstadt/informatik/hostage/ui2/activity/MainActivity$DrawerItemClickListener.class
 de/tudarmstadt/informatik/hostage/ui/MainActivity$2.class
 de/tudarmstadt/informatik/hostage/R$anim.class
+de/tudarmstadt/informatik/hostage/ui2/model/DrawerListItem.class
 de/tudarmstadt/informatik/hostage/protocol/Protocol$TALK_FIRST.class
 de/tudarmstadt/informatik/hostage/ui/ViewLog$8.class
 de/tudarmstadt/informatik/hostage/logging/DatabaseHandler.class
 de/tudarmstadt/informatik/hostage/R$id.class
-de/tudarmstadt/informatik/hostage/ui2/MainActivity.class
 de/tudarmstadt/informatik/hostage/ui/ViewLog$7.class
 de/tudarmstadt/informatik/hostage/protocol/Protocol.class
 de/tudarmstadt/informatik/hostage/format/ProtocolFormatter.class
@@ -40,8 +40,10 @@ de/tudarmstadt/informatik/hostage/R$drawable.class
 de/tudarmstadt/informatik/hostage/logging/Logger.class
 de/tudarmstadt/informatik/hostage/R$layout.class
 de/tudarmstadt/informatik/hostage/format/LogViewFormatter.class
+de/tudarmstadt/informatik/hostage/ui2/fragment/HomeFragment.class
 de/tudarmstadt/informatik/hostage/protocol/SSH$1.class
 de/tudarmstadt/informatik/hostage/protocol/MySQL$1.class
+de/tudarmstadt/informatik/hostage/ui2/activity/MainActivity.class
 de/tudarmstadt/informatik/hostage/ui/ViewLog$3.class
 de/tudarmstadt/informatik/hostage/R$xml.class
 de/tudarmstadt/informatik/hostage/protocol/HTTP.class
@@ -66,7 +68,6 @@ de/tudarmstadt/informatik/hostage/ui2/adapter/DrawerListAdapter.class
 de/tudarmstadt/informatik/hostage/ui/ViewLog$1.class
 de/tudarmstadt/informatik/hostage/ui/SettingsActivity.class
 de/tudarmstadt/informatik/hostage/protocol/FTP$1.class
-de/tudarmstadt/informatik/hostage/ui2/MainActivity$1.class
 de/tudarmstadt/informatik/hostage/wrapper/ByteArray.class
 de/tudarmstadt/informatik/hostage/R$string.class
 de/tudarmstadt/informatik/hostage/ui/ViewLog$6.class
@@ -77,6 +78,7 @@ de/tudarmstadt/informatik/hostage/ui/AboutActivity.class
 de/tudarmstadt/informatik/hostage/R$attr.class
 de/tudarmstadt/informatik/hostage/protocol/SSH.class
 de/tudarmstadt/informatik/hostage/ui/ViewLog$4.class
+de/tudarmstadt/informatik/hostage/ui2/activity/MainActivity$1.class
 de/tudarmstadt/informatik/hostage/logging/SQLLogger.class
 de/tudarmstadt/informatik/hostage/protocol/SMB$STATE.class
 de/tudarmstadt/informatik/hostage/protocol/ECHO.class
@@ -85,7 +87,6 @@ de/tudarmstadt/informatik/hostage/ui/MainActivity.class
 de/tudarmstadt/informatik/hostage/protocol/MySQL.class
 de/tudarmstadt/informatik/hostage/ui/MainActivity$1.class
 de/tudarmstadt/informatik/hostage/logging/Record$TYPE.class
-de/tudarmstadt/informatik/hostage/ui2/adapter/DrawerListItem.class
 de/tudarmstadt/informatik/hostage/handler/StringHandler.class
 de/tudarmstadt/informatik/hostage/ui/MainActivity$6.class
 de/tudarmstadt/informatik/hostage/R$menu.class