preferences: add Settings page

* Allow user to select system contact integration
* Allow user to enable mobile connectivity

Tuleap: #102
Change-Id: Ieb161d97d5dc61b3664597def130dea6c7eefb5f
diff --git a/ring-android/app/src/main/res/drawable-hdpi/ic_group_black_24dp.png b/ring-android/app/src/main/res/drawable-hdpi/ic_group_black_24dp.png
new file mode 100644
index 0000000..0782166
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-hdpi/ic_group_black_24dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-hdpi/ic_mic_black_48dp.png b/ring-android/app/src/main/res/drawable-hdpi/ic_mic_black_48dp.png
new file mode 100644
index 0000000..ad8299e
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-hdpi/ic_mic_black_48dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-hdpi/ic_perm_data_setting_black_24dp.png b/ring-android/app/src/main/res/drawable-hdpi/ic_perm_data_setting_black_24dp.png
new file mode 100644
index 0000000..1643436
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-hdpi/ic_perm_data_setting_black_24dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-hdpi/ic_settings_black_24dp.png b/ring-android/app/src/main/res/drawable-hdpi/ic_settings_black_24dp.png
new file mode 100644
index 0000000..acf1ddf
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-hdpi/ic_settings_black_24dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-mdpi/ic_group_black_24dp.png b/ring-android/app/src/main/res/drawable-mdpi/ic_group_black_24dp.png
new file mode 100644
index 0000000..e2600a4
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-mdpi/ic_group_black_24dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-mdpi/ic_mic_black_48dp.png b/ring-android/app/src/main/res/drawable-mdpi/ic_mic_black_48dp.png
new file mode 100644
index 0000000..cac51c3
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-mdpi/ic_mic_black_48dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-mdpi/ic_perm_data_setting_black_24dp.png b/ring-android/app/src/main/res/drawable-mdpi/ic_perm_data_setting_black_24dp.png
new file mode 100644
index 0000000..6686406
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-mdpi/ic_perm_data_setting_black_24dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-mdpi/ic_settings_black_24dp.png b/ring-android/app/src/main/res/drawable-mdpi/ic_settings_black_24dp.png
new file mode 100644
index 0000000..c59419c
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-mdpi/ic_settings_black_24dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-xhdpi/ic_group_black_24dp.png b/ring-android/app/src/main/res/drawable-xhdpi/ic_group_black_24dp.png
new file mode 100644
index 0000000..c2e9ffe
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-xhdpi/ic_group_black_24dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-xhdpi/ic_mic_black_48dp.png b/ring-android/app/src/main/res/drawable-xhdpi/ic_mic_black_48dp.png
new file mode 100644
index 0000000..cf70b63
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-xhdpi/ic_mic_black_48dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-xhdpi/ic_perm_data_setting_black_24dp.png b/ring-android/app/src/main/res/drawable-xhdpi/ic_perm_data_setting_black_24dp.png
new file mode 100644
index 0000000..a8a97f2
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-xhdpi/ic_perm_data_setting_black_24dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-xhdpi/ic_settings_black_24dp.png b/ring-android/app/src/main/res/drawable-xhdpi/ic_settings_black_24dp.png
new file mode 100644
index 0000000..e84e188
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-xhdpi/ic_settings_black_24dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-xxhdpi/ic_group_black_24dp.png b/ring-android/app/src/main/res/drawable-xxhdpi/ic_group_black_24dp.png
new file mode 100644
index 0000000..5a8b5d0
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-xxhdpi/ic_group_black_24dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-xxhdpi/ic_mic_black_48dp.png b/ring-android/app/src/main/res/drawable-xxhdpi/ic_mic_black_48dp.png
new file mode 100644
index 0000000..0b214ab
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-xxhdpi/ic_mic_black_48dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-xxhdpi/ic_perm_data_setting_black_24dp.png b/ring-android/app/src/main/res/drawable-xxhdpi/ic_perm_data_setting_black_24dp.png
new file mode 100644
index 0000000..d9e712d
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-xxhdpi/ic_perm_data_setting_black_24dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-xxhdpi/ic_settings_black_24dp.png b/ring-android/app/src/main/res/drawable-xxhdpi/ic_settings_black_24dp.png
new file mode 100644
index 0000000..3023ff8
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-xxhdpi/ic_settings_black_24dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-xxxhdpi/ic_group_black_24dp.png b/ring-android/app/src/main/res/drawable-xxxhdpi/ic_group_black_24dp.png
new file mode 100644
index 0000000..2994e7c
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-xxxhdpi/ic_group_black_24dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-xxxhdpi/ic_mic_black_48dp.png b/ring-android/app/src/main/res/drawable-xxxhdpi/ic_mic_black_48dp.png
new file mode 100644
index 0000000..e365a0f
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-xxxhdpi/ic_mic_black_48dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-xxxhdpi/ic_perm_data_setting_black_24dp.png b/ring-android/app/src/main/res/drawable-xxxhdpi/ic_perm_data_setting_black_24dp.png
new file mode 100644
index 0000000..a451d53
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-xxxhdpi/ic_perm_data_setting_black_24dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/drawable-xxxhdpi/ic_settings_black_24dp.png b/ring-android/app/src/main/res/drawable-xxxhdpi/ic_settings_black_24dp.png
new file mode 100644
index 0000000..476d5c9
--- /dev/null
+++ b/ring-android/app/src/main/res/drawable-xxxhdpi/ic_settings_black_24dp.png
Binary files differ
diff --git a/ring-android/app/src/main/res/menu/drawer.xml b/ring-android/app/src/main/res/menu/drawer.xml
index 0c0a18b..2c2cc83 100644
--- a/ring-android/app/src/main/res/menu/drawer.xml
+++ b/ring-android/app/src/main/res/menu/drawer.xml
@@ -11,6 +11,10 @@
             android:icon="@drawable/ic_group_black_48dp"
             android:title="@string/menu_item_accounts"/>
         <item
+            android:id="@+id/menuitem_prefs"
+            android:icon="@drawable/ic_settings_black_24dp"
+            android:title="@string/menu_item_settings"/>
+        <item
             android:id="@+id/menuitem_about"
             android:icon="@drawable/ic_info_black_48dp"
             android:title="@string/menu_item_about"/>
diff --git a/ring-android/app/src/main/res/values/strings.xml b/ring-android/app/src/main/res/values/strings.xml
index f4cf563..17496e2 100644
--- a/ring-android/app/src/main/res/values/strings.xml
+++ b/ring-android/app/src/main/res/values/strings.xml
@@ -122,5 +122,8 @@
     <string name="ongoing_call">Ongoing call</string>
     <string name="hist_in_call">Incoming call of %1$s</string>
     <string name="hist_out_call">Outgoing call of %1$s</string>
+    <string name="add_to_contacts">Add to contacts</string>
+    <string name="start_error_title">Can\'t start Ring !</string>
+    <string name="start_error_mic_required">Ring requires the microphone permission to work.</string>
 
 </resources>
diff --git a/ring-android/app/src/main/res/values/styles.xml b/ring-android/app/src/main/res/values/styles.xml
index e45bed5..4d7f03a 100644
--- a/ring-android/app/src/main/res/values/styles.xml
+++ b/ring-android/app/src/main/res/values/styles.xml
@@ -7,6 +7,7 @@
         <item name="colorPrimaryDark">@color/color_primary_dark</item>
         <item name="android:windowActionBarOverlay">true</item>
         <item name="windowActionBarOverlay">true</item>
+        <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
     </style>
 
     <style name="AppThemeWithOverlay" parent="AppThemeBase">
@@ -31,6 +32,11 @@
         <item name="colorPrimary">@color/color_primary_light</item>
         <item name="colorPrimaryDark">@color/color_primary_dark</item>
         <item name="android:actionBarStyle">@style/NativeActionBar</item>
+        <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
+    </style>
+
+    <style name="AppThemeWithoutOverlayCompatNoShadow" parent="AppThemeWithoutOverlayCompat">
+        <item name="android:windowContentOverlay">@null</item>
     </style>
 
     <style name="NativeActionBar" parent="@android:style/Widget.DeviceDefault.Light.ActionBar.Solid.Inverse">
diff --git a/ring-android/app/src/main/res/xml/preferences.xml b/ring-android/app/src/main/res/xml/preferences.xml
new file mode 100644
index 0000000..cc8be1b
--- /dev/null
+++ b/ring-android/app/src/main/res/xml/preferences.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <PreferenceCategory android:title="Network">
+        <android.support.v14.preference.SwitchPreference
+            android:key="pref_mobileData"
+            android:title="Mobile data"
+            android:summary="Allow Ring on 3G/LTE networks additionally to Wi-Fi"
+            android:defaultValue="false"
+            android:icon="@drawable/ic_perm_data_setting_black_24dp"/>
+    </PreferenceCategory>
+
+    <PreferenceCategory android:title="Contacts">
+        <android.support.v14.preference.SwitchPreference
+            android:key="pref_systemContacts"
+            android:title="Use system contacts"
+            android:summary="Use system contacts to show caller details."
+            android:defaultValue="true"
+            android:icon="@drawable/ic_group_black_24dp"/>
+
+    </PreferenceCategory>
+
+</PreferenceScreen>
\ No newline at end of file