aboutsummaryrefslogtreecommitdiffstats
path: root/ccnxandroidmetis/MetisControl/src/main/res
diff options
context:
space:
mode:
authorAngelo Mantellini (manangel) <angelo.mantellini@irt-systemx.fr>2017-03-29 18:00:06 +0200
committerAngelo Mantellini (manangel) <angelo.mantellini@irt-systemx.fr>2017-03-30 18:58:33 +0200
commit3137acdd5a45285dab9903f9d41560c63eca8523 (patch)
tree38bd8525a9e214d848a73fc40e81ddb182cf91b6 /ccnxandroidmetis/MetisControl/src/main/res
parent9b30fc10fb1cbebe651e5a107e8ca5b24de54675 (diff)
first commit
Change-Id: I8412b8e7d966c2fbc508b537fd9a9bbcfc628ca8 Signed-off-by: Angelo Mantellini (manangel) <angelo.mantellini@irt-systemx.fr>
Diffstat (limited to 'ccnxandroidmetis/MetisControl/src/main/res')
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/drawable/add_panel_border.xml9
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/drawable/ic_plus_48.pngbin0 -> 836 bytes
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/drawable/ic_plus_96.pngbin0 -> 1726 bytes
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/layout/activity_forwarder_status.xml45
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_forwarder_status.xml16
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_metis_links.xml99
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_metis_routes.xml80
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_metis_script.xml54
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_metis_status.xml208
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/layout/listitem_metis_links.xml50
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/layout/listitem_metis_routes.xml43
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/menu/menu_forwarder_status.xml10
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/mipmap-hdpi/ic_launcher.pngbin0 -> 5005 bytes
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/mipmap-mdpi/ic_launcher.pngbin0 -> 3062 bytes
-rwxr-xr-xccnxandroidmetis/MetisControl/src/main/res/mipmap-mdpi/ic_notification.pngbin0 -> 2727 bytes
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/mipmap-xhdpi/ic_launcher.pngbin0 -> 6969 bytes
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/mipmap-xxhdpi/ic_launcher.pngbin0 -> 10840 bytes
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/mipmap-xxxhdpi/ic_launcher.pngbin0 -> 15229 bytes
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/values-v21/styles.xml10
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/values-w820dp/dimens.xml6
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/values/colors.xml10
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/values/dimens.xml7
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/values/strings.xml37
-rw-r--r--ccnxandroidmetis/MetisControl/src/main/res/values/styles.xml20
24 files changed, 704 insertions, 0 deletions
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/drawable/add_panel_border.xml b/ccnxandroidmetis/MetisControl/src/main/res/drawable/add_panel_border.xml
new file mode 100644
index 00000000..abb8d9a8
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/drawable/add_panel_border.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <stroke
+ android:width="3dp"
+ android:color="@color/colorPrimaryDark" />
+
+ <corners android:radius="10dip" />
+</shape>
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/drawable/ic_plus_48.png b/ccnxandroidmetis/MetisControl/src/main/res/drawable/ic_plus_48.png
new file mode 100644
index 00000000..660a9e50
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/drawable/ic_plus_48.png
Binary files differ
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/drawable/ic_plus_96.png b/ccnxandroidmetis/MetisControl/src/main/res/drawable/ic_plus_96.png
new file mode 100644
index 00000000..f73a233c
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/drawable/ic_plus_96.png
Binary files differ
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/layout/activity_forwarder_status.xml b/ccnxandroidmetis/MetisControl/src/main/res/layout/activity_forwarder_status.xml
new file mode 100644
index 00000000..5e627c02
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/layout/activity_forwarder_status.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/main_content"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:fitsSystemWindows="true"
+ tools:context=".ForwarderStatusActivity">
+
+ <android.support.design.widget.AppBarLayout
+ android:id="@+id/appbar"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="@dimen/appbar_padding_top"
+ android:theme="@style/AppTheme.AppBarOverlay">
+
+ <android.support.v7.widget.Toolbar
+ android:id="@+id/toolbar"
+ android:layout_width="match_parent"
+ android:layout_height="?attr/actionBarSize"
+ android:background="?attr/colorPrimary"
+ app:layout_scrollFlags="scroll|enterAlways"
+ app:popupTheme="@style/AppTheme.PopupOverlay">
+
+ </android.support.v7.widget.Toolbar>
+
+ </android.support.design.widget.AppBarLayout>
+
+ <android.support.v4.view.ViewPager
+ android:id="@+id/container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior" />
+
+
+ <android.support.design.widget.FloatingActionButton
+ android:id="@+id/fab"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="end|bottom"
+ android:layout_margin="@dimen/fab_margin"
+ android:src="@android:drawable/ic_input_add" />
+
+</android.support.design.widget.CoordinatorLayout>
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_forwarder_status.xml b/ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_forwarder_status.xml
new file mode 100644
index 00000000..943d2ad2
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_forwarder_status.xml
@@ -0,0 +1,16 @@
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:paddingBottom="@dimen/activity_vertical_margin"
+ android:paddingLeft="@dimen/activity_horizontal_margin"
+ android:paddingRight="@dimen/activity_horizontal_margin"
+ android:paddingTop="@dimen/activity_vertical_margin"
+ tools:context=".ForwarderStatusActivity$PlaceholderFragment">
+
+ <TextView
+ android:id="@+id/section_label"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+
+</RelativeLayout>
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_metis_links.xml b/ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_metis_links.xml
new file mode 100644
index 00000000..1041eeb4
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_metis_links.xml
@@ -0,0 +1,99 @@
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:animateLayoutChanges="true"
+
+ tools:context=".MetisLinksFragment">
+
+ <!-- TODO: Update blank fragment layout -->
+
+ <RelativeLayout
+ android:id="@+id/rlLinkAddPanel"
+ android:visibility="visible"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="10dp"
+ android:layout_marginRight="10dp"
+ android:layout_marginTop="10dp"
+ android:background="@drawable/add_panel_border"
+ android:gravity="top"
+ android:layout_marginBottom="10dp"
+ android:padding="10px"
+
+ >
+
+ <android.support.v7.widget.AppCompatSpinner
+ android:id="@+id/spinnerLinkTypeAdd"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="10dp"
+ android:layout_marginRight="8dp"
+ android:layout_centerVertical="true"
+ android:entries="@array/metis_link_type_array" />
+
+
+ <Button
+ android:id="@+id/btnAddLink"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerVertical="true"
+ android:text="Add Link"
+ android:layout_marginRight="10dp"
+ android:layout_alignParentEnd="true" />
+
+ <EditText
+ android:id="@+id/etLinkAddAddress"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:hint="192.168.0.100:9695"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:layout_toRightOf="@id/spinnerLinkTypeAdd"
+ android:layout_toLeftOf="@id/btnAddLink" />
+
+ <CheckBox
+ android:id="@+id/cbLinkListener"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="listener?"
+ android:layout_toRightOf="@id/spinnerLinkTypeAdd"
+ android:layout_below="@+id/etLinkAddAddress" />
+
+
+ </RelativeLayout>
+
+ <android.support.v7.widget.LinearLayoutCompat
+ android:id="@+id/llLinkButtons"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerHorizontal="true"
+ android:layout_marginBottom="20dp"
+ android:layout_marginTop="10dp"
+ android:layout_below="@id/rlLinkAddPanel"
+ android:orientation="horizontal">
+
+ <Button
+ android:id="@+id/btnRefresh"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@id/rlLinkAddPanel"
+ android:text="Refresh" />
+
+ </android.support.v7.widget.LinearLayoutCompat>
+
+ <ListView
+ android:id="@+id/lvLinkList"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_below="@id/llLinkButtons"
+ android:layout_gravity="top|center_horizontal"
+ android:layout_marginLeft="10dp"
+ android:layout_marginRight="10dp"
+ android:layout_marginBottom="80dp"
+ android:padding="10dp"
+ android:background="@drawable/add_panel_border"
+ android:divider="@android:color/transparent"
+ android:layout_alignParentBottom="true"
+ android:dividerHeight="10dp" />
+
+</RelativeLayout>
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_metis_routes.xml b/ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_metis_routes.xml
new file mode 100644
index 00000000..bd0857b5
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_metis_routes.xml
@@ -0,0 +1,80 @@
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:animateLayoutChanges="true"
+
+ tools:context=".MetisRoutesFragment">
+
+ <!-- TODO: Update blank fragment layout -->
+
+ <RelativeLayout
+ android:id="@+id/rlRouteAddPanel"
+ android:visibility="visible"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="10dp"
+ android:layout_marginRight="10dp"
+ android:layout_marginTop="10dp"
+ android:background="@drawable/add_panel_border"
+ android:gravity="top"
+ android:layout_marginBottom="10dp"
+ android:padding="10px"
+
+ >
+
+ <Button
+ android:id="@+id/btnAddRoute"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerVertical="true"
+ android:text="Add Route"
+ android:layout_marginRight="10dp"
+ android:layout_alignParentEnd="true" />
+
+ <EditText
+ android:id="@+id/etRouteAddAddress"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:hint="192.168.0.100:9695"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:layout_toLeftOf="@id/btnAddRoute" />
+
+
+ </RelativeLayout>
+
+ <android.support.v7.widget.LinearLayoutCompat
+ android:id="@+id/llRouteButtons"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerHorizontal="true"
+ android:layout_marginBottom="20dp"
+ android:layout_marginTop="10dp"
+ android:layout_below="@id/rlRouteAddPanel"
+ android:orientation="horizontal">
+
+ <Button
+ android:id="@+id/btnRefresh"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@id/rlRouteAddPanel"
+ android:text="Refresh" />
+
+ </android.support.v7.widget.LinearLayoutCompat>
+
+ <ListView
+ android:id="@+id/lvRouteList"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_below="@id/llRouteButtons"
+ android:layout_gravity="top|center_horizontal"
+ android:layout_marginLeft="10dp"
+ android:layout_marginRight="10dp"
+ android:layout_marginBottom="80dp"
+ android:background="@drawable/add_panel_border"
+ android:padding="10dp"
+ android:divider="@android:color/transparent"
+ android:layout_alignParentBottom="true"
+ android:dividerHeight="10dp" />
+
+</RelativeLayout>
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_metis_script.xml b/ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_metis_script.xml
new file mode 100644
index 00000000..c248203c
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_metis_script.xml
@@ -0,0 +1,54 @@
+
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:animateLayoutChanges="true"
+ tools:context=".MetisStatusFragment">
+
+ <Button
+ android:id="@+id/btnRunScript"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal|top"
+ android:text="Run Script"
+ android:layout_alignParentTop="true"
+ android:layout_marginTop="20dp"
+ android:layout_centerHorizontal="true" />
+
+ <TextView
+ android:id="@+id/etScript"
+ style="@style/Base.TextAppearance.AppCompat.Small"
+ android:layout_below="@id/btnRunScript"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:enabled="true"
+ android:isScrollContainer="true"
+ android:maxLines="100"
+ android:minLines="6"
+ android:padding="24dp"
+ android:layout_marginLeft="10dp"
+ android:layout_marginRight="10dp"
+ android:layout_marginTop="10dp"
+ android:layout_marginBottom="80dp"
+ android:focusable="true"
+ android:inputType="textMultiLine|textNoSuggestions"
+ android:textIsSelectable="true"
+ android:layout_centerVertical="true"
+ android:layout_alignParentStart="true"
+ android:background="@drawable/add_panel_border"
+
+ />
+
+ <TextView
+ android:id="@+id/tvMetisScriptHelp"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/metis_script_help"
+ android:gravity="center_horizontal"
+ android:layout_centerInParent="true"
+ android:paddingBottom="60dp"
+ android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"
+ />
+
+</RelativeLayout>
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_metis_status.xml b/ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_metis_status.xml
new file mode 100644
index 00000000..5678f0d4
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/layout/fragment_metis_status.xml
@@ -0,0 +1,208 @@
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ tools:context=".MetisStatusFragment">
+
+ <!-- TODO: Update blank fragment layout -->
+
+ <RelativeLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+
+ android:layout_gravity="top|center_horizontal"
+ android:layout_marginTop="80dp">
+
+ <EditText
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:inputType="textPersonName"
+ android:text="/storage/emulated/0/MetisConf/metis.cfg"
+ android:layout_marginBottom="30dp"
+ android:layout_gravity="top"
+ android:ems="10"
+ android:id="@+id/pathText"
+ android:typeface="normal" />
+
+ <Switch
+ android:id="@+id/switchMetisOnOff"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:layout_below="@id/pathText"
+ android:layout_marginBottom="30dp"
+ android:checked="false"
+ android:text="Metis Enabled "
+
+ android:textAppearance="?android:attr/textAppearanceLarge" />
+
+ <Switch
+ android:id="@+id/switchMetisContentStoreOnOff"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@id/switchMetisOnOff"
+ android:layout_gravity="center"
+ android:text="Content Store (cache) "
+ android:enabled="false"
+ android:layout_marginBottom="20dp"
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+
+ <TextView
+ android:id="@+id/tvLoggingLevelLabel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:enabled="false"
+ android:text = "Logging level:"
+ android:layout_below="@id/switchMetisContentStoreOnOff"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+
+ />
+
+ <android.support.v7.widget.AppCompatSpinner
+ android:id="@+id/spinnerMetisLoggingLevel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@id/switchMetisContentStoreOnOff"
+ android:layout_toRightOf="@id/tvLoggingLevelLabel"
+ android:enabled="true"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:entries="@array/metis_log_levels" />
+
+
+ </RelativeLayout>
+
+ <TableLayout
+ android:visibility="invisible"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="bottom|center_horizontal"
+ android:background="@drawable/add_panel_border"
+ android:padding="20dp"
+ android:layout_marginBottom="80dp"
+ android:orientation="vertical">
+
+ <TableRow
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="4dp"
+
+ android:layout_gravity="center_horizontal"
+ android:orientation="horizontal">
+
+ <TextView
+ android:id="@+id/tvStatsNumInterestsLabel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="# Interests Processed: "
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+
+ <TextView
+ android:id="@+id/tvStatsNumInterests"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_toRightOf="@+id/tvStatsNumInterestsLabel"
+ android:text="0"
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+
+ </TableRow>
+
+ <TableRow
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="4dp"
+
+ android:layout_gravity="center_horizontal"
+ android:orientation="horizontal">
+
+ <TextView
+ android:id="@+id/tvStatsNumContentObjectsLabel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="# ContentObjects Processed: "
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+
+ <TextView
+ android:id="@+id/tvStatsNumContentObjects"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_toRightOf="@+id/tvStatsNumInterestsLabel"
+ android:text="0"
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+
+ </TableRow>
+
+ <TableRow
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:layout_marginBottom="4dp"
+ android:orientation="horizontal">
+
+ <TextView
+ android:id="@+id/tvStatsNumControlLabel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="# Control Messages Processed: "
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+
+ <TextView
+ android:id="@+id/tvStatsNumControl"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_toRightOf="@+id/tvStatsNumInterestsLabel"
+ android:text="0"
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+
+ </TableRow>
+
+ <TableRow
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:layout_marginBottom="4dp"
+ android:orientation="horizontal">
+
+ <TextView
+ android:id="@+id/tvStatsNumInterestReturnsLabel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="# InterestReturns Processed: "
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+
+ <TextView
+ android:id="@+id/tvStatsNumInterestReturns"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_toRightOf="@+id/tvStatsNumInterestsLabel"
+ android:text="0"
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+
+ </TableRow>
+
+ <TableRow
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:orientation="horizontal">
+
+ <TextView
+ android:id="@+id/tvStatsPITSizeLabel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="# PIT entries: "
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+
+ <TextView
+ android:id="@+id/tvStatsPITSize"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_toRightOf="@+id/tvStatsNumInterestsLabel"
+ android:text="0"
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+
+ </TableRow>
+
+ </TableLayout>
+
+</FrameLayout>
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/layout/listitem_metis_links.xml b/ccnxandroidmetis/MetisControl/src/main/res/layout/listitem_metis_links.xml
new file mode 100644
index 00000000..19bc5548
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/layout/listitem_metis_links.xml
@@ -0,0 +1,50 @@
+<?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:paddingLeft="10dp"
+ android:paddingTop="3dp"
+ >
+
+ <TextView
+ android:id="@+id/tvLinkName"
+ android:text="foo bar bar"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.AppCompat.Medium"
+ android:textColor="@color/colorPrimaryDark"
+ />
+
+
+ <TextView
+ android:id="@+id/tvLinkLocalOrRemote"
+ android:text="local"
+ android:layout_below="@id/tvLinkName"
+
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="5dp"
+ />
+
+ <TextView
+ android:id="@+id/tvLinkListener"
+ android:text="listener"
+ android:layout_toRightOf="@id/tvLinkLocalOrRemote"
+ android:layout_below="@id/tvLinkName"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="5dp"
+ />
+
+ <TextView
+ android:id="@+id/tvLinkIPAddress"
+ android:layout_below="@id/tvLinkName"
+ android:text=""
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingRight="5dp"
+ android:layout_toRightOf="@id/tvLinkListener"
+ />
+
+</RelativeLayout>
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/layout/listitem_metis_routes.xml b/ccnxandroidmetis/MetisControl/src/main/res/layout/listitem_metis_routes.xml
new file mode 100644
index 00000000..2372b352
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/layout/listitem_metis_routes.xml
@@ -0,0 +1,43 @@
+<?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:paddingLeft="5dp"
+ android:paddingTop="3dp"
+ android:background="@color/list_bg_1"
+ >
+
+ <TextView
+ android:id="@+id/tvRouteName"
+ android:text="ccnx:/foo/bar"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.AppCompat.Medium"
+ android:textColor="@color/colorPrimaryDark"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:id="@+id/tvRouteArrow"
+ android:text="==>"
+ android:layout_marginLeft="20dp"
+ android:layout_below="@id/tvRouteName"
+ android:textAppearance="@style/TextAppearance.AppCompat.Medium"
+
+ />
+
+ <TextView
+ android:id="@+id/tvRouteLink"
+ android:text="dest"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@id/tvRouteName"
+ android:layout_marginLeft="15dp"
+ android:layout_toRightOf="@id/tvRouteArrow"
+ android:textAppearance="@style/TextAppearance.AppCompat.Medium"
+
+ />
+
+</RelativeLayout>
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/menu/menu_forwarder_status.xml b/ccnxandroidmetis/MetisControl/src/main/res/menu/menu_forwarder_status.xml
new file mode 100644
index 00000000..e94f118a
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/menu/menu_forwarder_status.xml
@@ -0,0 +1,10 @@
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ tools:context=".metiscontrol.ForwarderStatusActivity">
+ <item
+ android:id="@+id/action_settings"
+ android:orderInCategory="100"
+ android:title="@string/action_settings"
+ app:showAsAction="never" />
+</menu>
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/mipmap-hdpi/ic_launcher.png b/ccnxandroidmetis/MetisControl/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 00000000..96715136
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/mipmap-hdpi/ic_launcher.png
Binary files differ
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/mipmap-mdpi/ic_launcher.png b/ccnxandroidmetis/MetisControl/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 00000000..a74e9a0d
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/mipmap-mdpi/ic_launcher.png
Binary files differ
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/mipmap-mdpi/ic_notification.png b/ccnxandroidmetis/MetisControl/src/main/res/mipmap-mdpi/ic_notification.png
new file mode 100755
index 00000000..82552e85
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/mipmap-mdpi/ic_notification.png
Binary files differ
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/mipmap-xhdpi/ic_launcher.png b/ccnxandroidmetis/MetisControl/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 00000000..760fec0f
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/mipmap-xhdpi/ic_launcher.png
Binary files differ
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/mipmap-xxhdpi/ic_launcher.png b/ccnxandroidmetis/MetisControl/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 00000000..d840ecb4
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/mipmap-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/ccnxandroidmetis/MetisControl/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 00000000..0844619e
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Binary files differ
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/values-v21/styles.xml b/ccnxandroidmetis/MetisControl/src/main/res/values-v21/styles.xml
new file mode 100644
index 00000000..de6d88e2
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/values-v21/styles.xml
@@ -0,0 +1,10 @@
+
+<resources>
+
+ <style name="AppTheme.NoActionBar">
+ <item name="windowActionBar">false</item>
+ <item name="windowNoTitle">true</item>
+ <item name="android:windowDrawsSystemBarBackgrounds">true</item>
+ <item name="android:statusBarColor">@android:color/transparent</item>
+ </style>
+</resources>
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/values-w820dp/dimens.xml b/ccnxandroidmetis/MetisControl/src/main/res/values-w820dp/dimens.xml
new file mode 100644
index 00000000..63fc8164
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/values-w820dp/dimens.xml
@@ -0,0 +1,6 @@
+<resources>
+ <!-- Example customization of dimensions originally defined in res/values/dimens.xml
+ (such as screen margins) for screens with more than 820dp of available width. This
+ would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). -->
+ <dimen name="activity_horizontal_margin">64dp</dimen>
+</resources>
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/values/colors.xml b/ccnxandroidmetis/MetisControl/src/main/res/values/colors.xml
new file mode 100644
index 00000000..2c04684a
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/values/colors.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <color name="colorPrimary">#3F51B5</color>
+ <color name="colorPrimaryDark">#303F9F</color>
+ <color name="colorAccent">#FF4081</color>
+
+ <color name="list_bg_1">#ffffff</color>
+ <color name="list_bg_2">#eafaea</color>
+
+</resources>
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/values/dimens.xml b/ccnxandroidmetis/MetisControl/src/main/res/values/dimens.xml
new file mode 100644
index 00000000..cef3abc4
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/values/dimens.xml
@@ -0,0 +1,7 @@
+<resources>
+ <!-- Default screen margins, per the Android Design guidelines. -->
+ <dimen name="activity_horizontal_margin">16dp</dimen>
+ <dimen name="activity_vertical_margin">16dp</dimen>
+ <dimen name="fab_margin">16dp</dimen>
+ <dimen name="appbar_padding_top">8dp</dimen>
+</resources>
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/values/strings.xml b/ccnxandroidmetis/MetisControl/src/main/res/values/strings.xml
new file mode 100644
index 00000000..e5a7f500
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/values/strings.xml
@@ -0,0 +1,37 @@
+<resources>
+ <string name="app_name">Metis Control</string>
+ <string name="action_settings">Settings</string>
+ <string name="section_format">Hello World from section: %1$d</string>
+
+ <!-- TODO: Remove or change this placeholder text -->
+ <string name="asf_hello">Metis Status Fragment</string>
+ <string name="asf_big_text">METIS STATUS</string>
+
+ <!-- TODO: Remove or change this placeholder text -->
+ <string name="hello_blank_fragment">Hello blank fragment</string>
+
+
+ <string-array name="metis_link_type_array">
+ <item>TCP</item>
+ <item>UDP</item>
+ </string-array>
+
+ <string-array name="metis_log_levels">
+ <item>Off</item>
+ <item>Notice</item>
+ <item>Error</item>
+ <item>Info</item>
+ <item>Debug</item>
+ <item>All</item>
+ </string-array>
+
+ <string name="cancel">Cancel</string>
+ <string name="add">Add</string>
+
+ <string name="listener_remote">remote</string>
+ <string name="listener_local">local</string>
+ <string name="listener_listener">listener</string>
+
+ <string name="metis_script_help">Place an Metis statefile in:\n /mnt/sdcard/ccnx/metis.statefile\nif you want to initialize Metis with\nmany commands.</string>
+
+</resources>
diff --git a/ccnxandroidmetis/MetisControl/src/main/res/values/styles.xml b/ccnxandroidmetis/MetisControl/src/main/res/values/styles.xml
new file mode 100644
index 00000000..545b9c6d
--- /dev/null
+++ b/ccnxandroidmetis/MetisControl/src/main/res/values/styles.xml
@@ -0,0 +1,20 @@
+<resources>
+
+ <!-- Base application theme. -->
+ <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
+ <!-- Customize your theme here. -->
+ <item name="colorPrimary">@color/colorPrimary</item>
+ <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
+ <item name="colorAccent">@color/colorAccent</item>
+ </style>
+
+ <style name="AppTheme.NoActionBar">
+ <item name="windowActionBar">false</item>
+ <item name="windowNoTitle">true</item>
+ </style>
+
+ <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
+
+ <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
+
+</resources>