Browse Source

first implementation of record detail

Fabio Arnold 10 years ago
parent
commit
4c518d0c2c

+ 194 - 6
res/layout/fragment_record_detail.xml

@@ -1,10 +1,198 @@
 <?xml version="1.0" encoding="utf-8"?>
 
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@android:color/transparent"
-    >
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+			  android:layout_width="match_parent"
+			  android:layout_height="match_parent"
+			  android:orientation="vertical"
+			  android:padding="8dp">
 
+	<TableLayout
+			android:layout_width="match_parent"
+			android:layout_height="wrap_content" android:stretchColumns="*">
+		<TableRow
+				android:layout_width="match_parent"
+				android:layout_height="match_parent">
+			<TextView
+					android:layout_width="wrap_content"
+					android:layout_height="wrap_content"
+					android:textAppearance="?android:attr/textAppearanceMedium"
+					android:text="@string/ssid"
+					android:id="@+id/textView2"/>
+			<TextView
+					android:layout_width="wrap_content"
+					android:layout_height="wrap_content"
+					android:textAppearance="?android:attr/textAppearanceMedium"
+					android:text="undefined"
+					android:id="@+id/record_detail_ssid_value" android:layout_column="1"
+					android:gravity="right"/>
+		</TableRow>
+		<TableRow
+				android:layout_width="match_parent"
+				android:layout_height="match_parent">
+			<TextView
+					android:layout_width="wrap_content"
+					android:layout_height="wrap_content"
+					android:textAppearance="?android:attr/textAppearanceMedium"
+					android:text="@string/bssid"
+					android:id="@+id/textView" android:layout_column="0"/>
+			<TextView
+					android:layout_width="wrap_content"
+					android:layout_height="wrap_content"
+					android:textAppearance="?android:attr/textAppearanceMedium"
+					android:text="undefined"
+					android:id="@+id/record_detail_bssid_value"
+					android:gravity="right"/>
+		</TableRow>
+		<TableRow
+				android:layout_width="match_parent"
+				android:layout_height="match_parent">
+			<TextView
+					android:layout_width="wrap_content"
+					android:layout_height="wrap_content"
+					android:textAppearance="?android:attr/textAppearanceMedium"
+					android:text="@string/protocol"
+					android:id="@+id/textView3" android:layout_column="0"/>
+			<TextView
+					android:layout_width="wrap_content"
+					android:layout_height="wrap_content"
+					android:textAppearance="?android:attr/textAppearanceMedium"
+					android:text="undefined"
+					android:id="@+id/record_detail_protocol_value"
+					android:gravity="right"/>
+		</TableRow>
+		<TableRow
+				android:layout_width="match_parent"
+				android:layout_height="match_parent">
+			<TextView
+					android:layout_width="wrap_content"
+					android:layout_height="wrap_content"
+					android:textAppearance="?android:attr/textAppearanceMedium"
+					android:text="@string/timestamp"
+					android:id="@+id/textView4" android:layout_column="0"/>
+			<TextView
+					android:layout_width="wrap_content"
+					android:layout_height="wrap_content"
+					android:textAppearance="?android:attr/textAppearanceMedium"
+					android:text="undefined"
+					android:id="@+id/record_detail_timestamp_value"
+					android:gravity="right"/>
+		</TableRow>
+		<TableRow
+				android:layout_width="match_parent"
+				android:layout_height="match_parent">
+			<TextView
+					android:layout_width="wrap_content"
+					android:layout_height="wrap_content"
+					android:textAppearance="?android:attr/textAppearanceMedium"
+					android:text="@string/location"
+					android:id="@+id/textView5" android:layout_column="0"/>
+			<TextView
+					android:layout_width="wrap_content"
+					android:layout_height="wrap_content"
+					android:textAppearance="?android:attr/textAppearanceMedium"
+					android:text="undefined"
+					android:id="@+id/record_detail_location_value"
+					android:gravity="right"/>
+		</TableRow>
+		<TableRow
+				android:layout_width="match_parent"
+				android:layout_height="match_parent">
+			<TextView
+					android:layout_width="wrap_content"
+					android:layout_height="wrap_content"
+					android:textAppearance="?android:attr/textAppearanceMedium"
+					android:text="@string/internal_ip"
+					android:id="@+id/textView7" android:layout_column="0"/>
+			<TextView
+					android:layout_width="wrap_content"
+					android:layout_height="wrap_content"
+					android:textAppearance="?android:attr/textAppearanceMedium"
+					android:text="undefined"
+					android:id="@+id/record_detail_internalip_value"
+					android:gravity="right"/>
+		</TableRow>
+		<TableRow
+				android:layout_width="match_parent"
+				android:layout_height="match_parent">
+			<TextView
+					android:layout_width="wrap_content"
+					android:layout_height="wrap_content"
+					android:textAppearance="?android:attr/textAppearanceMedium"
+					android:text="@string/external_ip"
+					android:id="@+id/textView6" android:layout_column="0"/>
+			<TextView
+					android:layout_width="wrap_content"
+					android:layout_height="wrap_content"
+					android:textAppearance="?android:attr/textAppearanceMedium"
+					android:text="undefined"
+					android:id="@+id/record_detail_externalip_value"
+					android:gravity="right"/>
+		</TableRow>
+		<TableRow
+				android:layout_width="match_parent"
+				android:layout_height="match_parent">
+			<TextView
+					android:layout_width="wrap_content"
+					android:layout_height="wrap_content"
+					android:textAppearance="?android:attr/textAppearanceMedium"
+					android:text="@string/remote_ip"
+					android:id="@+id/textView6" android:layout_column="0"/>
+			<TextView
+					android:layout_width="wrap_content"
+					android:layout_height="wrap_content"
+					android:textAppearance="?android:attr/textAppearanceMedium"
+					android:text="undefined"
+					android:id="@+id/record_detail_remoteip_value"
+					android:gravity="right"/>
+		</TableRow>
+		<TableRow
+				android:layout_width="match_parent"
+				android:layout_height="match_parent">
+			<TextView
+					android:layout_width="wrap_content"
+					android:layout_height="wrap_content"
+					android:textAppearance="?android:attr/textAppearanceMedium"
+					android:text="@string/packet_type"
+					android:id="@+id/textView8" android:layout_column="0"/>
+			<TextView
+					android:layout_width="wrap_content"
+					android:layout_height="wrap_content"
+					android:textAppearance="?android:attr/textAppearanceMedium"
+					android:text="undefined"
+					android:id="@+id/record_detail_packettype_value"
+					android:gravity="right"/>
+		</TableRow>
+	</TableLayout>
+	<TextView
+			android:layout_width="wrap_content"
+			android:layout_height="wrap_content"
+			android:textAppearance="?android:attr/textAppearanceMedium"
+			android:text="@string/packet_content"
+			android:id="@+id/textView9"/>
+	<ScrollView
+			android:layout_width="match_parent"
+			android:layout_height="wrap_content"
+			android:id="@+id/scrollView"
+			android:layout_gravity="bottom"
+			android:layout_weight="1">
+		<TextView
+				android:layout_width="wrap_content"
+				android:layout_height="wrap_content"
+				android:padding="8dp"
+				android:textAppearance="?android:attr/textAppearanceMedium"
+				android:text="undefinedsajdsdbjkfhjkashjf kljsdlfkaskldfdsaklhfhl klhkl fdslkhkfls dhklfads hklf hklsdfklh salkhflkhsadklfkhlsad klf asklfhkl safklaslhkdf klsad klhf sdklfdlkhö klsdlfkhö sklflhkslhkdf dklsfklh s dfklhöds kdklshf kdsklhflhksdfhkldkls klhf sdkl dkfhldsjfhj sdhflhjksd fjkldsklj fsljkf ljksd fljksdjklfdskljfjksd klj dklsfklösadjklfjkeifjih klds f"
+				android:id="@+id/record_detail_packetcontent_value" android:autoText="false"
+				android:typeface="monospace"
+				android:singleLine="false"
+				android:textIsSelectable="true"
+				android:background="@color/holo_yellow"/>
+	</ScrollView>
 
-</RelativeLayout>
+	<Button
+			android:layout_width="wrap_content"
+			android:layout_height="wrap_content"
+			android:text="@string/delete"
+			android:id="@+id/button"
+			android:layout_gravity="center_horizontal|bottom"
+			android:layout_weight="0"/>
+</LinearLayout>

+ 8 - 0
res/values/strings.xml

@@ -10,10 +10,18 @@
     <string name="status">Status</string>
     <string name="paranoid">Paranoid Mode</string>
     <string name="details">Connection info</string>
+
     <string name="ssid">SSID:</string>
     <string name="bssid">BSSID:</string>
+	<string name="protocol">Protocol:</string>
+	<string name="timestamp">Timestamp:</string>
+	<string name="location">Location:</string>
     <string name="internal_ip">Internal IP:</string>
     <string name="external_ip">External IP:</string>
+	<string name="remote_ip">Remote IP:</string>
+	<string name="packet_type">Packet type:</string>
+	<string name="packet_content">Packet content:</string>
+
     <string name="services">Services</string>
     <string name="connections">Recorded connections:</string>
     <string name="statistics">Statistics</string>

+ 21 - 7
src/de/tudarmstadt/informatik/hostage/ui2/fragment/RecordDetailFragment.java

@@ -8,6 +8,7 @@ import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.TextView;
 
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
@@ -21,7 +22,6 @@ import de.tudarmstadt.informatik.hostage.logging.UglyDbHelper;
  * Created by Julien on 02.03.14.
  */
 public class RecordDetailFragment extends Fragment {
-
     private class Location{
         private double longitude;
         private double latitude;
@@ -36,10 +36,12 @@ public class RecordDetailFragment extends Fragment {
         public float getAccuracy() {
             return accuracy;
         }
-        public void setAccuracy(float accuracy) {
-            this.accuracy = accuracy;
-        }
-        public double getLongitude(){
+
+		public void setAccuracy(float accuracy) {
+			this.accuracy = accuracy;
+		}
+
+		public double getLongitude(){
             return this.longitude;
         }
         public void setLongitude(double longitude){
@@ -72,7 +74,6 @@ public class RecordDetailFragment extends Fragment {
         return R.layout.fragment_record_detail;
     }
 
-
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setHasOptionsMenu(true);
@@ -97,6 +98,7 @@ public class RecordDetailFragment extends Fragment {
     }
 
     private void configurateRootView(View rootView) {
+		/*
         String protocol = this.record.getProtocol();
         String type = "" + this.record.getType();
         String externalIP = this.record.getExternalIP();
@@ -113,7 +115,19 @@ public class RecordDetailFragment extends Fragment {
 
         String packet = this.record.getPacket();
         String timeStamp = this.getDateAsString(this.record.getTimestamp());
-
+        */
+
+		((TextView)rootView.findViewById(R.id.record_detail_ssid_value)).setText(record.getSsid());
+		((TextView)rootView.findViewById(R.id.record_detail_bssid_value)).setText(record.getBssid());
+		((TextView)rootView.findViewById(R.id.record_detail_protocol_value)).setText(record.getProtocol());
+		((TextView)rootView.findViewById(R.id.record_detail_timestamp_value)).setText(getDateAsString(record.getTimestamp()));
+		((TextView)rootView.findViewById(R.id.record_detail_location_value)).setText(record.getLatitude() + ", " + record.getLongitude());
+		((TextView)rootView.findViewById(R.id.record_detail_externalip_value)).setText(record.getExternalIP());
+		((TextView)rootView.findViewById(R.id.record_detail_internalip_value)).setText(record.getLocalIP() + ":" + record.getLocalPort());
+		((TextView)rootView.findViewById(R.id.record_detail_remoteip_value)).setText(record.getRemoteIP() + ":" + record.getRemotePort());
+		((TextView)rootView.findViewById(R.id.record_detail_packettype_value)).setText(
+				record.getType() == Record.TYPE.SEND ? "SEND" : "RECV");
+		((TextView)rootView.findViewById(R.id.record_detail_packetcontent_value)).setText(record.getPacket());
     }