gui: Convert UI to use Fragments

Change-Id: I7269604a1da72e6b22f4bbac31c1f5561660ccf5
Refs: #2646, #2667
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
new file mode 100644
index 0000000..92b2b4b
--- /dev/null
+++ b/app/src/main/res/values/colors.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <item name="ndn_color_fire_bush" type="color">#DB9710</item>
+    <item name="ndn_color_grenadier" type="color">#C04818</item>
+</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 47c8224..5d96952 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -2,4 +2,8 @@
     <!-- Default screen margins, per the Android Design guidelines. -->
     <dimen name="activity_horizontal_margin">16dp</dimen>
     <dimen name="activity_vertical_margin">16dp</dimen>
+
+    <dimen name="default_padding_left">16dp</dimen>
+    <dimen name="default_padding_right">16dp</dimen>
+    <dimen name="drawer_width">192dp</dimen>
 </resources>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index a8f78fd..dc86688 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -2,15 +2,56 @@
     <string name="app_name">NFD</string>
     <string name="service_name">NFD Service</string>
     <string name="action_settings">Settings</string>
-    <string name="stop_nfd">Stop NFD</string>
-    <string name="start_nfd">Start NFD</string>
-    <string name="reconnecting_to_nfd">Please wait while we connect to the NFD Service.</string>
-    <string name="stopping_nfd">Stopping NFD ...</string>
-    <string name="starting_nfd">Starting NFD ...</string>
-    <string name="reconnect_to_nfd">Reconnecting to NFD Service</string>
-    <string name="loading_logger">Loading logger ...</string>
-    <string name="nfd_logger">NFD Logger</string>
+    <string name="nfd_stopped">NFD is stopped</string>
+    <string name="nfd_started">NFD is started</string>
+    <string name="stopping_nfd">Stopping NFD …</string>
+    <string name="starting_nfd">Starting NFD …</string>
+    <string name="reconnect_to_nfd">Reconnecting to NFD Service …</string>
+    <string name="loading_logger">Loading logger …</string>
     <string name="log_settings">Log Settings</string>
-    <string name="nfd_log_settings">NFD Log Settings</string>
-    <string name="checking_on_nfd">Checking on NFD Service ...</string>
+    <string name="checking_on_nfd">Checking on NFD Service …</string>
+    <string name="accessibility_open_drawer">Open NFD Navigation Drawer</string>
+    <string name="accessibility_close_drawer">Close NFD Navigation Drawer</string>
+    <string name="drawer_item_general">General</string>
+    <string name="drawer_item_faces">Faces</string>
+    <string name="drawer_item_routes">Routes</string>
+    <string name="drawer_item_strategies">Strategies</string>
+    <string name="drawer_item_logcat">Logcat</string>
+    <string name="menu_item_delete_setting_item">Delete</string>
+    <string name="fragment_logcat_general_operations_category">General Actions</string>
+    <string name="fragment_logcat_tags_n_log_levels">Tags &amp; Log Levels</string>
+    <string name="logcat_reset_log_level_defaults">Reset Log Level Defaults</string>
+    <string name="reset_log_level_dialog_title">Select default value for all tags</string>
+    <string name="route_list_actions_title">Route List Actions</string>
+    <string name="oops">Oops!</string>
+    <string name="error_cannot_communicate_with_nfd">Not available, check that NFD is started</string>
+    <string name="route_list_list_of_routes_title">List of Routes</string>
+    <string name="route_list_refresh_route_list">Refresh Route List</string>
+    <string name="route_list_add_route">Add Route</string>
+    <string name="face_list_actions_title">Face List Actions</string>
+    <string name="face_list_refresh_face_list">Refresh Face List</string>
+    <string name="face_list_add_face">Add Face</string>
+    <string name="face_list_list_of_faces_title">List of Faces</string>
+    <string name="fragment_face_details_title">Face Details</string>
+    <string name="menu_item_delete_face_item">Delete</string>
+    <string name="expire_never">Never</string>
+
+    <string-array name="face_scopes">
+        <item>Local</item>
+        <item>Non-local</item>
+    </string-array>
+
+    <string-array name="face_persistency">
+        <item>Persistent</item>
+        <item>On-demand</item>
+        <item>Permanent</item>
+    </string-array>
+
+    <string-array name="face_link_types">
+        <item>Point-to-point</item>
+        <item>Multi-access</item>
+    </string-array>
+
+    <string name="face_add_dialog_create_face">Create face</string>
+    <string name="route_add_dialog_create_route">Create route</string>
 </resources>
diff --git a/app/src/main/res/values/strings_logcat_settings_activity.xml b/app/src/main/res/values/strings_logcat_settings_activity.xml
index 36e89a7..47d5221 100644
--- a/app/src/main/res/values/strings_logcat_settings_activity.xml
+++ b/app/src/main/res/values/strings_logcat_settings_activity.xml
@@ -2,56 +2,8 @@
 
     <!-- Strings related to NFD Log Settings -->
 
-    <!-- Set all tags log level -->
-    <string name="pref_tags_log_level_title_key">All_Log_Levels_Key</string>
-    <string name="pref_tags_log_level_title">All Log Levels</string>
-    <string name="pref_tags_log_level_key">Reset_All_Tags_Log_Level_Key</string>
-    <string name="pref_tags_log_level">Reset</string>
-
-    <!-- Tags -->
-    <string name="pref_category_title_tags">NFD Tags &amp; Log Levels</string>
-    <string name="pref_category_title_tags_key">NFD_Tags_Key</string>
-
-    <!-- Tag Display Names -->
-    <string name="pref_tag_commandvalidator">CommandValidator</string>
-    <string name="pref_tag_facemanager">FaceManager</string>
-    <string name="pref_tag_facetable">FaceTable</string>
-    <string name="pref_tag_fibmanager">FibManager</string>
-    <string name="pref_tag_generalconfigsection">GeneralConfigSection</string>
-    <string name="pref_tag_internalface">InternalFace</string>
-    <string name="pref_tag_managerbase">ManagerBase</string>
-    <string name="pref_tag_privilegehelper">PrivilegeHelper</string>
-    <string name="pref_tag_remoteregistrator">RemoteRegistrator</string>
-    <string name="pref_tag_ribmanager">RibManager</string>
-    <string name="pref_tag_strategy">Strategy</string>
-    <string name="pref_tag_strategychoice">StrategyChoice</string>
-    <string name="pref_tag_tablesconfigsection">TablesConfigSection</string>
-    <string name="pref_tag_tcpchannel">TcpChannel</string>
-    <string name="pref_tag_tcpfactory">TcpFactory</string>
-    <string name="pref_tag_tcplocalface">TcpLocalFace</string>
-    <string name="pref_tag_udpfactory">UdpFactory</string>
-
-    <!-- Tag Keys -->
-    <string name="pref_tag_commandvalidator_key">CommandValidator</string>
-    <string name="pref_tag_facemanager_key">FaceManager</string>
-    <string name="pref_tag_facetable_key">FaceTable</string>
-    <string name="pref_tag_fibmanager_key">FibManager</string>
-    <string name="pref_tag_generalconfigsection_key">GeneralConfigSection</string>
-    <string name="pref_tag_internalface_key">InternalFace</string>
-    <string name="pref_tag_managerbase_key">ManagerBase</string>
-    <string name="pref_tag_privilegehelper_key">PrivilegeHelper</string>
-    <string name="pref_tag_remoteregistrator_key">RemoteRegistrator</string>
-    <string name="pref_tag_ribmanager_key">RibManager</string>
-    <string name="pref_tag_strategy_key">Strategy</string>
-    <string name="pref_tag_strategychoice_key">StrategyChoice</string>
-    <string name="pref_tag_tablesconfigsection_key">TablesConfigSection</string>
-    <string name="pref_tag_tcpchannel_key">TcpChannel</string>
-    <string name="pref_tag_tcpfactory_key">TcpFactory</string>
-    <string name="pref_tag_tcplocalface_key">TcpLocalFace</string>
-    <string name="pref_tag_udpfactory_key">UdpFactory</string>
-
     <!-- Log Levels -->
-    <string-array name="pref_log_levels">
+    <string-array name="reset_log_level_values">
         <item>Verbose</item>
         <item>Debug</item>
         <item>Info</item>
@@ -61,15 +13,40 @@
         <item>Silent</item>
     </string-array>
 
-    <!-- Log Level Command Tag-->
-    <string-array name="pref_log_level_values">
-        <item>V</item>
-        <item>D</item>
-        <item>I</item>
-        <item>W</item>
-        <item>E</item>
-        <item>F</item>
-        <item>S</item>
+    <!-- Log Level Mapping -->
+    <!--
+     This mapping is used for Logcat arguments and should be in the format of:
+        <display description>:<logcat priority value>
+    -->
+    <string-array name="logcat_log_level_map">
+        <item>Verbose:V</item>
+        <item>Debug:D</item>
+        <item>Info:I</item>
+        <item>Warn:W</item>
+        <item>Error:E</item>
+        <item>Fatal:F</item>
+        <item>Silent:S</item>
+    </string-array>
+
+    <!-- Default lag tags and log levels when no previous settings are found -->
+    <string-array name="default_log_tags_and_levels">
+        <item>CommandValidator:V</item>
+        <item>FaceManager:V</item>
+        <item>FaceTable:V</item>
+        <item>FibManager:V</item>
+        <item>GeneralConfigSection:V</item>
+        <item>InternalFace:V</item>
+        <item>ManagerBase:V</item>
+        <item>PrivilegeHelper:V</item>
+        <item>RemoteRegistrator:V</item>
+        <item>RibManager:V</item>
+        <item>Strategy:V</item>
+        <item>StrategyChoice:V</item>
+        <item>TablesConfigSection:V</item>
+        <item>TcpChannel:V</item>
+        <item>TcpFactory:V</item>
+        <item>TcpLocalFace:V</item>
+        <item>UdpFactory:V</item>
     </string-array>
 
 </resources>
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 9484591..08a8a5c 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -5,11 +5,57 @@
         <!-- Customize your theme here. -->
     </style>
 
-    <style name="dialog_margin">
+    <style name="default_dialog_margin">
         <item name="android:layout_marginTop">16dp</item>
         <item name="android:layout_marginLeft">4dp</item>
         <item name="android:layout_marginRight">4dp</item>
         <item name="android:layout_marginBottom">4dp</item>
     </style>
 
+    <style name="default_linear_layout_padding">
+        <item name="android:paddingLeft">@dimen/default_padding_left</item>
+        <item name="android:paddingRight">@dimen/default_padding_right</item>
+    </style>
+    
+    <style name="default_custom_white_button">
+        <item name="android:gravity">left|center_vertical</item>
+        <item name="android:background">@drawable/custom_white_button</item>
+        <item name="android:textColor">@android:color/primary_text_light</item>
+        <item name="android:textAppearance">?android:textAppearanceSmall</item>
+    </style>
+
+    <style name="item_title">
+        <item name="android:textAppearance">?android:textAppearanceSmall</item>
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:textColor">@android:color/primary_text_light</item>
+    </style>
+
+    <style name="item_secondary">
+        <item name="android:textAppearance">?android:textAppearanceSmall</item>
+        <item name="android:textColor">@android:color/secondary_text_dark</item>
+    </style>
+
+    <style name="two_row_item_title" parent="item_title">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">wrap_content</item>
+    </style>
+
+    <style name="two_row_item_secondary" parent="item_secondary">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">wrap_content</item>
+    </style>
+
+    <style name="two_column_item_title" parent="item_title">
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+    </style>
+
+    <style name="two_column_item_secondary" parent="item_secondary">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:gravity">right</item>
+        <item name="android:layout_gravity">right</item>
+    </style>
+
 </resources>