From 433a859933130275d0f86b48cf68da9f7bdcce34 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Wed, 17 Jun 2015 16:25:44 -0400
Subject: [PATCH] ui: bump to material design

Refs #75022

Change-Id: I9db3858c1ab365de8572323bc19ef630da9774fd
---
 ring-android/app/app.iml                      |   4 +-
 ring-android/app/build.gradle                 |   3 -
 .../adapters/AccountSelectionAdapter.java     |  48 ++++++-
 .../ring/adapters/SectionsPagerAdapter.java   |   7 +-
 .../java/cx/ring/client/CallActivity.java     |   6 +-
 .../java/cx/ring/client/HomeActivity.java     | 134 ++++++++++++------
 .../java/cx/ring/fragments/AboutFragment.java |   7 +-
 .../fragments/AccountWrapperFragment.java     |   2 +-
 .../fragments/AccountsManagementFragment.java |  39 +++--
 .../java/cx/ring/fragments/CallFragment.java  |   2 +-
 .../fragments/CallableWrapperFragment.java    |   2 +-
 .../cx/ring/fragments/DialingFragment.java    |   2 +-
 .../cx/ring/fragments/DropActionsChoice.java  |   2 +-
 .../cx/ring/fragments/HistoryFragment.java    |  11 +-
 .../java/cx/ring/fragments/HomeFragment.java  |   7 +-
 .../java/cx/ring/fragments/MenuFragment.java  |  50 ++-----
 .../cx/ring/fragments/TransferDFragment.java  |   2 +-
 .../java/cx/ring/loaders/AccountsLoader.java  |   3 +-
 .../java/cx/ring/loaders/HistoryLoader.java   |   2 +-
 .../ic_add_circle_white_48dp.png              | Bin 0 -> 613 bytes
 .../res/drawable-hdpi/ic_add_white_24dp.png   | Bin 0 -> 127 bytes
 .../res/drawable-hdpi/ic_error_white_24dp.png | Bin 0 -> 324 bytes
 .../res/drawable-hdpi/ic_group_black_48dp.png | Bin 0 -> 455 bytes
 .../res/drawable-hdpi/ic_home_black_48dp.png  | Bin 0 -> 303 bytes
 .../res/drawable-hdpi/ic_info_black_48dp.png  | Bin 0 -> 579 bytes
 .../drawable-hdpi/ic_reorder_black_24dp.png   | Bin 0 -> 107 bytes
 .../drawable-hdpi/ic_reorder_black_36dp.png   | Bin 0 -> 120 bytes
 .../ic_add_circle_white_48dp.png              | Bin 0 -> 428 bytes
 .../res/drawable-mdpi/ic_add_white_24dp.png   | Bin 0 -> 88 bytes
 .../res/drawable-mdpi/ic_error_white_24dp.png | Bin 0 -> 232 bytes
 .../res/drawable-mdpi/ic_group_black_48dp.png | Bin 0 -> 349 bytes
 .../res/drawable-mdpi/ic_home_black_48dp.png  | Bin 0 -> 239 bytes
 .../res/drawable-mdpi/ic_info_black_48dp.png  | Bin 0 -> 412 bytes
 .../drawable-mdpi/ic_reorder_black_24dp.png   | Bin 0 -> 82 bytes
 .../drawable-mdpi/ic_reorder_black_36dp.png   | Bin 0 -> 107 bytes
 .../ic_add_circle_white_48dp.png              | Bin 0 -> 815 bytes
 .../res/drawable-xhdpi/ic_add_white_24dp.png  | Bin 0 -> 97 bytes
 .../drawable-xhdpi/ic_error_white_24dp.png    | Bin 0 -> 431 bytes
 .../drawable-xhdpi/ic_group_black_48dp.png    | Bin 0 -> 591 bytes
 .../res/drawable-xhdpi/ic_home_black_48dp.png | Bin 0 -> 356 bytes
 .../res/drawable-xhdpi/ic_info_black_48dp.png | Bin 0 -> 766 bytes
 .../drawable-xhdpi/ic_reorder_black_24dp.png  | Bin 0 -> 101 bytes
 .../drawable-xhdpi/ic_reorder_black_36dp.png  | Bin 0 -> 113 bytes
 .../ic_add_circle_white_48dp.png              | Bin 0 -> 1229 bytes
 .../res/drawable-xxhdpi/ic_add_white_24dp.png | Bin 0 -> 97 bytes
 .../drawable-xxhdpi/ic_error_white_24dp.png   | Bin 0 -> 614 bytes
 .../drawable-xxhdpi/ic_group_black_48dp.png   | Bin 0 -> 896 bytes
 .../drawable-xxhdpi/ic_home_black_48dp.png    | Bin 0 -> 485 bytes
 .../drawable-xxhdpi/ic_info_black_48dp.png    | Bin 0 -> 1142 bytes
 .../drawable-xxhdpi/ic_reorder_black_24dp.png | Bin 0 -> 113 bytes
 .../drawable-xxhdpi/ic_reorder_black_36dp.png | Bin 0 -> 147 bytes
 .../ic_add_circle_white_48dp.png              | Bin 0 -> 1708 bytes
 .../drawable-xxxhdpi/ic_add_white_24dp.png    | Bin 0 -> 102 bytes
 .../drawable-xxxhdpi/ic_error_white_24dp.png  | Bin 0 -> 814 bytes
 .../drawable-xxxhdpi/ic_group_black_48dp.png  | Bin 0 -> 1178 bytes
 .../drawable-xxxhdpi/ic_home_black_48dp.png   | Bin 0 -> 589 bytes
 .../drawable-xxxhdpi/ic_info_black_48dp.png   | Bin 0 -> 1561 bytes
 .../ic_reorder_black_24dp.png                 | Bin 0 -> 116 bytes
 .../ic_reorder_black_36dp.png                 | Bin 0 -> 127 bytes
 .../app/src/main/res/layout/activity_home.xml |  80 ++++++++---
 .../main/res/layout/frag_accounts_list.xml    | 114 +++++++--------
 .../app/src/main/res/layout/frag_menu.xml     |  67 ---------
 .../src/main/res/layout/frag_menu_header.xml  |  42 ++++++
 .../app/src/main/res/layout/item_account.xml  |  23 ++-
 .../src/main/res/layout/item_account_pref.xml |   2 +-
 .../main/res/layout/item_account_selected.xml |  38 +++++
 .../app/src/main/res/layout/item_codec.xml    |   2 +-
 .../app/src/main/res/layout/menuheader.xml    |   7 +
 ring-android/app/src/main/res/menu/drawer.xml |  18 +++
 .../main/res/values-fr/strings_account.xml    |   2 +-
 .../app/src/main/res/values-v21/styles.xml    |  34 ++---
 .../src/main/res/values/strings_account.xml   |   2 +-
 .../app/src/main/res/values/styles.xml        |  56 ++++++--
 73 files changed, 496 insertions(+), 324 deletions(-)
 create mode 100644 ring-android/app/src/main/res/drawable-hdpi/ic_add_circle_white_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-hdpi/ic_add_white_24dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-hdpi/ic_error_white_24dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-hdpi/ic_group_black_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-hdpi/ic_home_black_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-hdpi/ic_info_black_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-hdpi/ic_reorder_black_24dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-hdpi/ic_reorder_black_36dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-mdpi/ic_add_circle_white_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-mdpi/ic_add_white_24dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-mdpi/ic_error_white_24dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-mdpi/ic_group_black_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-mdpi/ic_home_black_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-mdpi/ic_info_black_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-mdpi/ic_reorder_black_24dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-mdpi/ic_reorder_black_36dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xhdpi/ic_add_circle_white_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xhdpi/ic_add_white_24dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xhdpi/ic_error_white_24dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xhdpi/ic_group_black_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xhdpi/ic_home_black_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xhdpi/ic_info_black_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xhdpi/ic_reorder_black_24dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xhdpi/ic_reorder_black_36dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xxhdpi/ic_add_circle_white_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xxhdpi/ic_add_white_24dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xxhdpi/ic_error_white_24dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xxhdpi/ic_group_black_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xxhdpi/ic_home_black_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xxhdpi/ic_info_black_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xxhdpi/ic_reorder_black_24dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xxhdpi/ic_reorder_black_36dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xxxhdpi/ic_add_circle_white_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xxxhdpi/ic_add_white_24dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xxxhdpi/ic_error_white_24dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xxxhdpi/ic_group_black_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xxxhdpi/ic_home_black_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xxxhdpi/ic_info_black_48dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xxxhdpi/ic_reorder_black_24dp.png
 create mode 100644 ring-android/app/src/main/res/drawable-xxxhdpi/ic_reorder_black_36dp.png
 delete mode 100644 ring-android/app/src/main/res/layout/frag_menu.xml
 create mode 100644 ring-android/app/src/main/res/layout/frag_menu_header.xml
 create mode 100644 ring-android/app/src/main/res/layout/item_account_selected.xml
 create mode 100644 ring-android/app/src/main/res/menu/drawer.xml

diff --git a/ring-android/app/app.iml b/ring-android/app/app.iml
index 8535bf204..ece991d93 100644
--- a/ring-android/app/app.iml
+++ b/ring-android/app/app.iml
@@ -52,7 +52,7 @@
       <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
@@ -68,6 +68,7 @@
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex-cache" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/22.2.0/jars" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/design/22.2.0/jars" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v13/22.2.0/jars" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/22.2.0/jars" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.astuetz/pagerslidingtabstrip/1.0.1/jars" />
@@ -95,6 +96,7 @@
     <orderEntry type="library" exported="" name="support-annotations-22.2.0" level="project" />
     <orderEntry type="library" exported="" name="support-v13-22.2.0" level="project" />
     <orderEntry type="library" exported="" name="support-v4-22.2.0" level="project" />
+    <orderEntry type="library" exported="" name="design-22.2.0" level="project" />
     <orderEntry type="library" exported="" name="appcompat-v7-22.2.0" level="project" />
   </component>
 </module>
\ No newline at end of file
diff --git a/ring-android/app/build.gradle b/ring-android/app/build.gradle
index 07211289f..e1bcbff06 100644
--- a/ring-android/app/build.gradle
+++ b/ring-android/app/build.gradle
@@ -1,8 +1,5 @@
 apply plugin: 'com.android.application'
 
-repositories {
-    mavenCentral()
-}
 dependencies {
     compile fileTree(dir: 'libs', include: '*.jar')
     compile 'com.j256.ormlite:ormlite-core:4.48'
diff --git a/ring-android/app/src/main/java/cx/ring/adapters/AccountSelectionAdapter.java b/ring-android/app/src/main/java/cx/ring/adapters/AccountSelectionAdapter.java
index 9b480bf96..5f3ba7e0c 100644
--- a/ring-android/app/src/main/java/cx/ring/adapters/AccountSelectionAdapter.java
+++ b/ring-android/app/src/main/java/cx/ring/adapters/AccountSelectionAdapter.java
@@ -83,30 +83,66 @@ public class AccountSelectionAdapter extends BaseAdapter {
 
         if (rowView == null) {
             LayoutInflater inflater = LayoutInflater.from(mContext);
-            rowView = inflater.inflate(R.layout.item_account, null);
+            rowView = inflater.inflate(R.layout.item_account_selected, null);
 
             entryView = new AccountView();
             entryView.alias = (TextView) rowView.findViewById(R.id.account_alias);
             entryView.host = (TextView) rowView.findViewById(R.id.account_host);
-            entryView.select = (ImageView) rowView.findViewById(R.id.account_selected);
+            entryView.error = (ImageView) rowView.findViewById(R.id.error_indicator);
             rowView.setTag(entryView);
         } else {
             entryView = (AccountView) rowView.getTag();
         }
+/*
+        entryView.alias.setText(accounts.get(pos).getAlias());
+
+        entryView.host.setText(accounts.get(pos).getHost() + " - " + accounts.get(pos).getRegistered_state());
+        // accManager.displayAccountDetails(accounts.get(pos), entryView);
+        entryView.error.setVisibility(View.GONE);
+*/
+        updateAccountView(entryView, accounts.get(pos));
+
+        return rowView;
+    }
+
+    @Override
+    public View getDropDownView(int pos, View convertView, ViewGroup parent) {
+        View rowView = convertView;
+        AccountView entryView = null;
+
+        if (rowView == null) {
+            LayoutInflater inflater = LayoutInflater.from(mContext);
+            rowView = inflater.inflate(R.layout.item_account, null);
 
+            entryView = new AccountView();
+            entryView.alias = (TextView) rowView.findViewById(R.id.account_alias);
+            entryView.host = (TextView) rowView.findViewById(R.id.account_host);
+            entryView.error = (ImageView) rowView.findViewById(R.id.error_indicator);
+            rowView.setTag(entryView);
+        } else {
+            entryView = (AccountView) rowView.getTag();
+        }
+/*
         entryView.alias.setText(accounts.get(pos).getAlias());
 
         entryView.host.setText(accounts.get(pos).getHost() + " - " + accounts.get(pos).getRegistered_state());
         // accManager.displayAccountDetails(accounts.get(pos), entryView);
         if (pos == selectedAccount) {
-            entryView.select.setVisibility(View.VISIBLE);
+            entryView.error.setVisibility(View.VISIBLE);
         } else {
-            entryView.select.setVisibility(View.GONE);
+            entryView.error.setVisibility(View.GONE);
         }
-
+*/
+        updateAccountView(entryView, accounts.get(pos));
         return rowView;
     }
 
+    private void updateAccountView(AccountView entryView, Account acc) {
+        entryView.alias.setText(acc.getAlias());
+        entryView.host.setText(acc.getHost() + " - " + acc.getRegistered_state());
+        entryView.error.setVisibility(View.GONE);
+    }
+
     public Account getAccount(String accountID) {
         for(Account acc : accounts) {
             if(acc.getAccountID().contentEquals(accountID))
@@ -121,7 +157,7 @@ public class AccountSelectionAdapter extends BaseAdapter {
     public class AccountView {
         public TextView alias;
         public TextView host;
-        public ImageView select;
+        public ImageView error;
     }
 
     public void setSelectedAccount(int pos) {
diff --git a/ring-android/app/src/main/java/cx/ring/adapters/SectionsPagerAdapter.java b/ring-android/app/src/main/java/cx/ring/adapters/SectionsPagerAdapter.java
index bae0414c2..b9b2d132f 100644
--- a/ring-android/app/src/main/java/cx/ring/adapters/SectionsPagerAdapter.java
+++ b/ring-android/app/src/main/java/cx/ring/adapters/SectionsPagerAdapter.java
@@ -34,8 +34,8 @@ package cx.ring.adapters;
 import java.util.ArrayList;
 import java.util.Locale;
 
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
+import android.app.Fragment;
+import android.app.FragmentManager;
 import cx.ring.R;
 import cx.ring.fragments.CallListFragment;
 import cx.ring.fragments.DialingFragment;
@@ -43,9 +43,10 @@ import cx.ring.fragments.HistoryFragment;
 import com.astuetz.PagerSlidingTabStrip;
 
 import android.content.Context;
+import android.support.v13.app.FragmentStatePagerAdapter;
 import android.util.Log;
 
-public class SectionsPagerAdapter extends android.support.v4.app.FragmentStatePagerAdapter implements PagerSlidingTabStrip.IconTabProvider {
+public class SectionsPagerAdapter extends FragmentStatePagerAdapter implements PagerSlidingTabStrip.IconTabProvider {
 
     private static final String TAG = SectionsPagerAdapter.class.getSimpleName();
     Context mContext;
diff --git a/ring-android/app/src/main/java/cx/ring/client/CallActivity.java b/ring-android/app/src/main/java/cx/ring/client/CallActivity.java
index 9f2071c84..8df8c7286 100644
--- a/ring-android/app/src/main/java/cx/ring/client/CallActivity.java
+++ b/ring-android/app/src/main/java/cx/ring/client/CallActivity.java
@@ -35,7 +35,7 @@ package cx.ring.client;
 
 import java.util.*;
 
-import android.support.v4.app.FragmentActivity;
+import android.app.Activity;
 import android.util.Log;
 import cx.ring.R;
 import cx.ring.fragments.CallFragment;
@@ -68,7 +68,7 @@ import android.view.View;
 import android.view.Window;
 import android.view.WindowManager;
 
-public class CallActivity extends FragmentActivity implements IMFragment.Callbacks, CallFragment.Callbacks, CallProximityManager.ProximityDirector {
+public class CallActivity extends Activity implements IMFragment.Callbacks, CallFragment.Callbacks, CallProximityManager.ProximityDirector {
 
     @SuppressWarnings("unused")
     static final String TAG = "CallActivity";
@@ -112,7 +112,7 @@ public class CallActivity extends FragmentActivity implements IMFragment.Callbac
         }
 
         mSlidingPaneLayout.setCurFragment(mCurrentCallFragment);
-        getSupportFragmentManager().beginTransaction().replace(R.id.ongoingcall_pane, mCurrentCallFragment)
+        getFragmentManager().beginTransaction().replace(R.id.ongoingcall_pane, mCurrentCallFragment)
                 .replace(R.id.message_list_frame, mIMFragment).commit();
     }
 
diff --git a/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java b/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java
index 7b4049c5a..9358e7ef5 100644
--- a/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java
+++ b/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java
@@ -42,7 +42,6 @@ import java.util.TimerTask;
 
 import android.app.Activity;
 import android.app.AlertDialog;
-import android.support.v4.app.*;
 import cx.ring.R;
 import cx.ring.fragments.AboutFragment;
 import cx.ring.fragments.AccountsManagementFragment;
@@ -62,6 +61,10 @@ import cx.ring.service.SipService;
 import cx.ring.views.SlidingUpPanelLayout;
 import cx.ring.views.SlidingUpPanelLayout.PanelSlideListener;
 
+import android.app.Fragment;
+import android.app.FragmentManager;
+
+import android.app.FragmentTransaction;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -77,22 +80,31 @@ import android.preference.PreferenceManager;
 import android.provider.ContactsContract;
 import android.provider.ContactsContract.CommonDataKinds.Phone;
 import android.provider.ContactsContract.CommonDataKinds.SipAddress;
+import android.support.design.widget.FloatingActionButton;
+import android.support.design.widget.NavigationView;
+import android.support.v4.app.FragmentActivity;
 import android.support.v4.view.GravityCompat;
 import android.support.v4.widget.DrawerLayout;
+import android.support.v7.app.ActionBarDrawerToggle;
+import android.support.v7.app.AppCompatActivity;
+import android.support.v7.widget.Toolbar;
 import android.util.Log;
+import android.util.TypedValue;
 import android.view.Gravity;
 import android.view.MenuItem;
 import android.view.View;
+import android.view.ViewGroup;
 import android.widget.RelativeLayout;
 import android.widget.Toast;
 
-public class HomeActivity extends FragmentActivity implements DialingFragment.Callbacks, AccountsManagementFragment.Callbacks,
-        ContactListFragment.Callbacks, CallListFragment.Callbacks, HistoryFragment.Callbacks, MenuFragment.Callbacks {
+public class HomeActivity extends AppCompatActivity implements DialingFragment.Callbacks, AccountsManagementFragment.Callbacks,
+        ContactListFragment.Callbacks, CallListFragment.Callbacks, HistoryFragment.Callbacks, NavigationView.OnNavigationItemSelectedListener, MenuFragment.Callbacks {
 
     static final String TAG = HomeActivity.class.getSimpleName();
 
     private ContactListFragment mContactsFragment = null;
-    private MenuFragment fMenu;
+    private NavigationView fMenu;
+    private MenuFragment fMenuHead = null;
 
     private boolean mBound = false;
     private ISipService service;
@@ -103,6 +115,8 @@ public class HomeActivity extends FragmentActivity implements DialingFragment.Ca
     SlidingUpPanelLayout mContactDrawer;
     private DrawerLayout mNavigationDrawer;
     private ActionBarDrawerToggle mDrawerToggle;
+    private Toolbar toolbar;
+    private FloatingActionButton actionButton;
 
     private boolean isClosing = false;
     private Timer t = new Timer();
@@ -128,6 +142,13 @@ public class HomeActivity extends FragmentActivity implements DialingFragment.Ca
             bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
         }
 
+        toolbar = (Toolbar) findViewById(R.id.main_toolbar);
+        setSupportActionBar(toolbar);
+        actionButton = (FloatingActionButton) findViewById(R.id.action_button);
+
+        fMenu = (NavigationView) findViewById(R.id.left_drawer);
+        fMenu.setNavigationItemSelectedListener(this);
+
         mContactsFragment = new ContactListFragment();
         getFragmentManager().beginTransaction().replace(R.id.contacts_frame, mContactsFragment).commit();
 
@@ -141,12 +162,12 @@ public class HomeActivity extends FragmentActivity implements DialingFragment.Ca
             @Override
             public void onPanelSlide(View panel, float slideOffset) {
                 if (slideOffset < 0.2) {
-                    if (getActionBar().isShowing()) {
-                        getActionBar().hide();
+                    if (getSupportActionBar().isShowing()) {
+                        getSupportActionBar().hide();
                     }
                 } else {
-                    if (!getActionBar().isShowing()) {
-                        getActionBar().show();
+                    if (!getSupportActionBar().isShowing()) {
+                        getSupportActionBar().show();
                     }
                 }
             }
@@ -169,27 +190,23 @@ public class HomeActivity extends FragmentActivity implements DialingFragment.Ca
 
         mNavigationDrawer = (DrawerLayout) findViewById(R.id.drawer_layout);
 
-        // set a custom shadow that overlays the main content when the drawer opens
-        mNavigationDrawer.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
-
-        getActionBar().setDisplayHomeAsUpEnabled(true);
-        getActionBar().setHomeButtonEnabled(true);
+        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+        getSupportActionBar().setHomeButtonEnabled(true);
 
         mDrawerToggle = new ActionBarDrawerToggle(this, /* host Activity */
                 mNavigationDrawer, /* DrawerLayout object */
-                R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */
+                //  R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */
                 R.string.drawer_open, /* "open drawer" description for accessibility */
                 R.string.drawer_close /* "close drawer" description for accessibility */
         ) {
             @Override
             public void onDrawerClosed(View view) {
-                invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
+                invalidateOptionsMenu();
             }
 
             @Override
             public void onDrawerOpened(View drawerView) {
-                // getActionBar().setTitle(mDrawerTitle);
-                invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
+                invalidateOptionsMenu();
             }
         };
 
@@ -203,7 +220,7 @@ public class HomeActivity extends FragmentActivity implements DialingFragment.Ca
         // Sync the toggle state after onRestoreInstanceState has occurred.
         mDrawerToggle.syncState();
         if (mContactDrawer.isExpanded()) {
-            getActionBar().hide();
+            getSupportActionBar().hide();
         }
     }
 
@@ -227,6 +244,29 @@ public class HomeActivity extends FragmentActivity implements DialingFragment.Ca
 
     }
 
+    public void setToolbarState(boolean double_h, int title_res) {
+        TypedValue tv = new TypedValue();
+        if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
+            int abSz = TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics());
+            ViewGroup.LayoutParams params = toolbar.getLayoutParams();
+            if (double_h) {
+                params.height = abSz*2;
+                actionButton.setVisibility(View.VISIBLE);
+            }
+            else {
+                params.height = abSz;
+                actionButton.setVisibility(View.GONE);
+            }
+            toolbar.setLayoutParams(params);
+            toolbar.setMinimumHeight(abSz);
+        }
+        toolbar.setTitle(title_res);
+    }
+
+    public FloatingActionButton getActionButton() {
+        return actionButton;
+    }
+
     private static boolean copyAssetFolder(AssetManager assetManager, String fromAssetPath, String toPath) {
         try {
             String[] files = assetManager.list(fromAssetPath);
@@ -301,9 +341,9 @@ public class HomeActivity extends FragmentActivity implements DialingFragment.Ca
             return;
         }
 
-        if (getSupportFragmentManager().getBackStackEntryCount() > 1) {
+        if (getFragmentManager().getBackStackEntryCount() > 1) {
             popCustomBackStack();
-            fMenu.backToHome();
+            fMenu.getMenu().findItem(R.id.menuitem_home).setChecked(true);
             return;
         }
 
@@ -324,7 +364,7 @@ public class HomeActivity extends FragmentActivity implements DialingFragment.Ca
     }
 
     private void popCustomBackStack() {
-        FragmentManager fm = getSupportFragmentManager();
+        FragmentManager fm = getFragmentManager();
         FragmentManager.BackStackEntry entry = fm.getBackStackEntryAt(0);
         fContent = fm.findFragmentByTag(entry.getName());
         for (int i = 0; i < fm.getBackStackEntryCount() - 1; ++i) {
@@ -372,15 +412,23 @@ public class HomeActivity extends FragmentActivity implements DialingFragment.Ca
         @Override
         public void onServiceConnected(ComponentName className, IBinder binder) {
             service = ISipService.Stub.asInterface(binder);
-            fMenu = new MenuFragment();
             fContent = new HomeFragment();
-            getSupportFragmentManager().beginTransaction().replace(R.id.left_drawer, fMenu).replace(R.id.main_frame, fContent, "Home").addToBackStack("Home").commit();
+            if (fMenuHead != null)
+                fMenu.removeHeaderView(fMenuHead.getView());
+            fMenu.inflateHeaderView(R.layout.menuheader);
+            fMenuHead = (MenuFragment) getFragmentManager().findFragmentById(R.id.accountselector);
+
+            getFragmentManager().beginTransaction().replace(R.id.main_frame, fContent, "Home").addToBackStack("Home").commit();
             mBound = true;
             Log.d(TAG, "Service connected service=" + service);
         }
 
         @Override
         public void onServiceDisconnected(ComponentName arg0) {
+            if (fMenuHead != null) {
+                fMenu.removeHeaderView(fMenuHead.getView());
+                fMenuHead = null;
+            }
 
             mBound = false;
             Log.d(TAG, "Service disconnected service=" + service);
@@ -405,8 +453,8 @@ public class HomeActivity extends FragmentActivity implements DialingFragment.Ca
         switch (requestCode) {
             case REQUEST_CODE_PREFERENCES:
             case AccountsManagementFragment.ACCOUNT_EDIT_REQUEST:
-                if (fMenu != null)
-                    fMenu.updateAllAccounts();
+                if (fMenuHead != null)
+                    fMenuHead.updateAllAccounts();
                 break;
             case REQUEST_CODE_CALL:
                 if (resultCode == CallActivity.RESULT_FAILURE) {
@@ -438,17 +486,17 @@ public class HomeActivity extends FragmentActivity implements DialingFragment.Ca
     @Override
     public void onCallContact(final CallContact c) {
 
-        if (fMenu.getSelectedAccount() == null) {
+        if (fMenuHead.getSelectedAccount() == null) {
             createAccountDialog().show();
             return;
         }
 
-        if (!fMenu.getSelectedAccount().isRegistered()) {
+        if (!fMenuHead.getSelectedAccount().isRegistered()) {
             createNotRegisteredDialog().show();
             return;
         }
 
-        getActionBar().show();
+        getSupportActionBar().show();
         Thread launcher = new Thread(new Runnable() {
 
             final String[] CONTACTS_PHONES_PROJECTION = new String[]{Phone.NUMBER, Phone.TYPE};
@@ -459,7 +507,7 @@ public class HomeActivity extends FragmentActivity implements DialingFragment.Ca
 
                 Bundle args = new Bundle();
                 args.putString(SipCall.ID, Integer.toString(Math.abs(new Random().nextInt())));
-                args.putParcelable(SipCall.ACCOUNT, fMenu.getSelectedAccount());
+                args.putParcelable(SipCall.ACCOUNT, fMenuHead.getSelectedAccount());
                 args.putInt(SipCall.STATE, SipCall.state.CALL_STATE_NONE);
                 args.putInt(SipCall.TYPE, SipCall.direction.CALL_TYPE_OUTGOING);
 
@@ -492,7 +540,7 @@ public class HomeActivity extends FragmentActivity implements DialingFragment.Ca
     @Override
     public void onCallHistory(HistoryEntry to) {
 
-        Account usedAccount = fMenu.retrieveAccountById(to.getAccountID());
+        Account usedAccount = fMenuHead.retrieveAccountById(to.getAccountID());
 
         if (usedAccount == null) {
             createAccountDialog().show();
@@ -519,14 +567,14 @@ public class HomeActivity extends FragmentActivity implements DialingFragment.Ca
 
     @Override
     public void onCallDialed(String to) {
-        Account usedAccount = fMenu.getSelectedAccount();
+        Account usedAccount = fMenuHead.getSelectedAccount();
 
         if (usedAccount == null) {
             createAccountDialog().show();
             return;
         }
 
-        if (fMenu.getSelectedAccount().isRegistered()) {
+        if (usedAccount.isRegistered() || usedAccount.isIP2IP()) {
             Bundle args = new Bundle();
             args.putString(SipCall.ID, Integer.toString(Math.abs(new Random().nextInt())));
             args.putParcelable(SipCall.ACCOUNT, usedAccount);
@@ -615,37 +663,39 @@ public class HomeActivity extends FragmentActivity implements DialingFragment.Ca
     }
 
     @Override
-    public void onSectionSelected(int pos) {
-
+    public boolean onNavigationItemSelected(MenuItem pos) {
+        pos.setChecked(true);
         mNavigationDrawer.closeDrawers();
 
-        switch (pos) {
-            case 0:
+        switch (pos.getItemId()) {
+            case R.id.menuitem_home:
 
                 if (fContent instanceof HomeFragment)
                     break;
 
-                if (getSupportFragmentManager().getBackStackEntryCount() == 1)
+                if (getFragmentManager().getBackStackEntryCount() == 1)
                     break;
 
                 popCustomBackStack();
 
                 break;
-            case 1:
+            case  R.id.menuitem_accounts:
                 if (fContent instanceof AccountsManagementFragment)
                     break;
                 fContent = new AccountsManagementFragment();
-                getSupportFragmentManager().beginTransaction().setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE).replace(R.id.main_frame, fContent, "Accounts").addToBackStack("Accounts").commit();
+                getFragmentManager().beginTransaction().setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE).replace(R.id.main_frame, fContent, "Accounts").addToBackStack("Accounts").commit();
                 break;
-            case 2:
+            case R.id.menuitem_about:
                 if (fContent instanceof AboutFragment)
                     break;
                 fContent = new AboutFragment();
-                getSupportFragmentManager().beginTransaction().setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE).replace(R.id.main_frame, fContent, "About").addToBackStack("About").commit();
+                getFragmentManager().beginTransaction().setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE).replace(R.id.main_frame, fContent, "About").addToBackStack("About").commit();
                 break;
+            default:
+                return false;
         }
 
-
+        return true;
     }
 
 }
diff --git a/ring-android/app/src/main/java/cx/ring/fragments/AboutFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/AboutFragment.java
index be1037c7c..27605be26 100644
--- a/ring-android/app/src/main/java/cx/ring/fragments/AboutFragment.java
+++ b/ring-android/app/src/main/java/cx/ring/fragments/AboutFragment.java
@@ -2,7 +2,7 @@ package cx.ring.fragments;
 
 import android.content.pm.PackageManager;
 import android.os.Bundle;
-import android.support.v4.app.Fragment;
+import android.app.Fragment;
 import android.text.Html;
 import android.text.method.LinkMovementMethod;
 import android.view.LayoutInflater;
@@ -10,13 +10,14 @@ import android.view.View;
 import android.view.ViewGroup;
 import android.widget.TextView;
 import cx.ring.R;
+import cx.ring.client.HomeActivity;
 
 public class AboutFragment extends Fragment {
 
     @Override
     public void onResume() {
         super.onResume();
-        getActivity().getActionBar().setTitle(R.string.menu_item_about);
+        ((HomeActivity)getActivity()).setToolbarState(false, R.string.menu_item_about);
     }
 
     @Override
@@ -32,7 +33,7 @@ public class AboutFragment extends Fragment {
         }
 
         TextView link = (TextView) inflatedView.findViewById(R.id.web_site);
-        String linkText = "<a href='http://sflphone.org/'>" + getResources().getString(R.string.web_site) + "</a>";
+        String linkText = "<a href='http://ring.cx'>" + getResources().getString(R.string.web_site) + "</a>";
         link.setText(Html.fromHtml(linkText));
         link.setMovementMethod(LinkMovementMethod.getInstance());
 
diff --git a/ring-android/app/src/main/java/cx/ring/fragments/AccountWrapperFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/AccountWrapperFragment.java
index 61727084e..80257f380 100644
--- a/ring-android/app/src/main/java/cx/ring/fragments/AccountWrapperFragment.java
+++ b/ring-android/app/src/main/java/cx/ring/fragments/AccountWrapperFragment.java
@@ -36,7 +36,7 @@ import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.os.Bundle;
-import android.support.v4.app.Fragment;
+import android.app.Fragment;
 import android.util.Log;
 import cx.ring.interfaces.AccountsInterface;
 import cx.ring.service.ConfigurationManagerCallback;
diff --git a/ring-android/app/src/main/java/cx/ring/fragments/AccountsManagementFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/AccountsManagementFragment.java
index 09da403ca..7384c9a3f 100644
--- a/ring-android/app/src/main/java/cx/ring/fragments/AccountsManagementFragment.java
+++ b/ring-android/app/src/main/java/cx/ring/fragments/AccountsManagementFragment.java
@@ -35,24 +35,33 @@ package cx.ring.fragments;
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
 import android.app.Activity;
+import android.app.LoaderManager;
+import android.content.AsyncTaskLoader;
 import android.content.Context;
 import android.content.Intent;
+import android.content.Loader;
+import android.graphics.PorterDuff;
 import android.os.Bundle;
 import android.os.RemoteException;
-import android.support.v4.app.LoaderManager;
-import android.support.v4.content.AsyncTaskLoader;
-import android.support.v4.content.Loader;
+import android.support.design.widget.FloatingActionButton;
+import android.support.v7.app.ActionBar;
+import android.support.v7.widget.*;
+import android.support.v7.widget.Toolbar;
 import android.util.Log;
+import android.util.TypedValue;
 import android.view.*;
 import android.view.View.OnClickListener;
 import android.widget.*;
 import android.widget.AdapterView.OnItemClickListener;
+
 import cx.ring.R;
 import cx.ring.client.AccountEditionActivity;
 import cx.ring.client.AccountWizard;
+import cx.ring.client.HomeActivity;
 import cx.ring.loaders.AccountsLoader;
 import cx.ring.loaders.LoaderConstants;
 import cx.ring.model.account.Account;
+import cx.ring.model.account.AccountDetailBasic;
 import cx.ring.service.ISipService;
 import cx.ring.views.dragsortlv.DragSortListView;
 
@@ -60,7 +69,7 @@ import java.io.File;
 import java.util.ArrayList;
 
 public class AccountsManagementFragment extends AccountWrapperFragment implements LoaderManager.LoaderCallbacks<Bundle> {
-    static final String TAG = "AccountManagementFragment";
+    static final String TAG = "AccountManagementFrag";
     static final String DEFAULT_ACCOUNT_ID = "IP2IP";
     static final int ACCOUNT_CREATE_REQUEST = 1;
     public static final int ACCOUNT_EDIT_REQUEST = 2;
@@ -138,7 +147,7 @@ public class AccountsManagementFragment extends AccountWrapperFragment implement
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
         View inflatedView = inflater.inflate(R.layout.frag_accounts_list, parent, false);
-        ((ListView)inflatedView.findViewById(R.id.accounts_list)).setAdapter(mAccountsAdapter);
+        ((ListView) inflatedView.findViewById(R.id.accounts_list)).setAdapter(mAccountsAdapter);
 
         return inflatedView;
     }
@@ -179,7 +188,16 @@ public class AccountsManagementFragment extends AccountWrapperFragment implement
     public void onResume() {
         super.onResume();
         accountsLoader.onContentChanged();
-        getActivity().getActionBar().setTitle(R.string.menu_item_accounts);
+        ((HomeActivity) getActivity()).setToolbarState(true, R.string.menu_item_accounts);
+        FloatingActionButton btn = ((HomeActivity) getActivity()).getActionButton();
+        btn.setImageResource(R.drawable.ic_add_white_24dp);
+        btn.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Intent intent = new Intent().setClass(getActivity(), AccountWizard.class);
+                startActivityForResult(intent, ACCOUNT_CREATE_REQUEST);
+            }
+        });
     }
 
     @Override
@@ -287,6 +305,7 @@ public class AccountsManagementFragment extends AccountWrapperFragment implement
                 rowView = inflater.inflate(R.layout.item_account_pref, null);
 
                 entryView = new AccountView();
+                entryView.handle = (ImageView) rowView.findViewById(R.id.drag_handle);
                 entryView.alias = (TextView) rowView.findViewById(R.id.account_alias);
                 entryView.host = (TextView) rowView.findViewById(R.id.account_host);
                 entryView.enabled = (CheckBox) rowView.findViewById(R.id.account_checked);
@@ -300,15 +319,18 @@ public class AccountsManagementFragment extends AccountWrapperFragment implement
             if (item.isIP2IP()) {
                 entryView.host.setText(item.getRegistered_state());
                 entryView.enabled.setVisibility(View.GONE);
+                entryView.handle.setVisibility(View.INVISIBLE);
             } else {
-                entryView.host.setText(item.getHost() + " - " + item.getRegistered_state());
+                if (item.isSip())
+                    entryView.host.setText(item.getHost() + " - " + item.getRegistered_state());
+                else
+                    entryView.host.setText(item.getBasicDetails().getDetailString(AccountDetailBasic.CONFIG_ACCOUNT_USERNAME));
                 entryView.enabled.setChecked(item.isEnabled());
                 entryView.enabled.setOnClickListener(new OnClickListener() {
 
                     @Override
                     public void onClick(View v) {
                         item.setEnabled(!item.isEnabled());
-
                         try {
                             mCallbacks.getService().setAccountDetails(item.getAccountID(), item.getDetails());
                         } catch (RemoteException e) {
@@ -327,6 +349,7 @@ public class AccountsManagementFragment extends AccountWrapperFragment implement
          * *******************
          */
         public class AccountView {
+            public ImageView handle;
             public TextView alias;
             public TextView host;
             public CheckBox enabled;
diff --git a/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.java
index b2b24063e..24bd94f8d 100644
--- a/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.java
+++ b/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.java
@@ -32,6 +32,7 @@
 package cx.ring.fragments;
 
 import android.app.Activity;
+import android.app.FragmentManager;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -46,7 +47,6 @@ import android.os.Bundle;
 import android.os.PowerManager;
 import android.os.PowerManager.WakeLock;
 import android.os.RemoteException;
-import android.support.v4.app.FragmentManager;
 import android.util.FloatMath;
 import android.util.Log;
 import android.view.*;
diff --git a/ring-android/app/src/main/java/cx/ring/fragments/CallableWrapperFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/CallableWrapperFragment.java
index 53ccc01db..eb0a6328b 100644
--- a/ring-android/app/src/main/java/cx/ring/fragments/CallableWrapperFragment.java
+++ b/ring-android/app/src/main/java/cx/ring/fragments/CallableWrapperFragment.java
@@ -36,7 +36,7 @@ import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.os.Bundle;
-import android.support.v4.app.Fragment;
+import android.app.Fragment;
 import android.util.Log;
 import cx.ring.interfaces.CallInterface;
 import cx.ring.model.Conference;
diff --git a/ring-android/app/src/main/java/cx/ring/fragments/DialingFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/DialingFragment.java
index 7a634f98e..71425d431 100644
--- a/ring-android/app/src/main/java/cx/ring/fragments/DialingFragment.java
+++ b/ring-android/app/src/main/java/cx/ring/fragments/DialingFragment.java
@@ -33,7 +33,7 @@ package cx.ring.fragments;
 
 import java.util.Locale;
 
-import android.support.v4.app.Fragment;
+import android.app.Fragment;
 import cx.ring.R;
 import cx.ring.service.ISipService;
 import cx.ring.views.ClearableEditText;
diff --git a/ring-android/app/src/main/java/cx/ring/fragments/DropActionsChoice.java b/ring-android/app/src/main/java/cx/ring/fragments/DropActionsChoice.java
index 5e09f2353..9dd2ebc72 100644
--- a/ring-android/app/src/main/java/cx/ring/fragments/DropActionsChoice.java
+++ b/ring-android/app/src/main/java/cx/ring/fragments/DropActionsChoice.java
@@ -31,7 +31,7 @@
 
 package cx.ring.fragments;
 
-import android.support.v4.app.DialogFragment;
+import android.app.DialogFragment;
 import cx.ring.R;
 
 import android.app.AlertDialog;
diff --git a/ring-android/app/src/main/java/cx/ring/fragments/HistoryFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/HistoryFragment.java
index 7a04f0a35..c7221b3c7 100644
--- a/ring-android/app/src/main/java/cx/ring/fragments/HistoryFragment.java
+++ b/ring-android/app/src/main/java/cx/ring/fragments/HistoryFragment.java
@@ -34,10 +34,10 @@ import java.util.ArrayList;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
-import android.support.v4.app.ListFragment;
-import android.support.v4.app.LoaderManager;
-import android.support.v4.content.AsyncTaskLoader;
-import android.support.v4.content.Loader;
+import android.app.ListFragment;
+import android.app.LoaderManager;
+import android.content.AsyncTaskLoader;
+import android.content.Loader;
 import android.view.*;
 import cx.ring.R;
 import cx.ring.adapters.ContactPictureTask;
@@ -62,7 +62,8 @@ import android.widget.ImageButton;
 import android.widget.ListAdapter;
 import android.widget.TextView;
 
-public class HistoryFragment extends ListFragment implements LoaderManager.LoaderCallbacks<ArrayList<HistoryEntry>> {
+public class HistoryFragment extends ListFragment implements LoaderManager.LoaderCallbacks<ArrayList<HistoryEntry>>
+{
 
     private static final String TAG = HistoryFragment.class.getSimpleName();
 
diff --git a/ring-android/app/src/main/java/cx/ring/fragments/HomeFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/HomeFragment.java
index b89841d07..b0c58d865 100644
--- a/ring-android/app/src/main/java/cx/ring/fragments/HomeFragment.java
+++ b/ring-android/app/src/main/java/cx/ring/fragments/HomeFragment.java
@@ -30,12 +30,15 @@
  */
 package cx.ring.fragments;
 
-import android.support.v4.app.Fragment;
 import cx.ring.R;
 import cx.ring.adapters.SectionsPagerAdapter;
+import cx.ring.client.HomeActivity;
+
 import com.astuetz.PagerSlidingTabStrip;
 
 import android.app.Activity;
+import android.app.Fragment;
+
 import android.content.Intent;
 import android.os.Bundle;
 import android.support.v4.view.ViewPager;
@@ -55,7 +58,7 @@ public class HomeFragment extends Fragment {
     @Override
     public void onResume() {
         super.onResume();
-        getActivity().getActionBar().setTitle(R.string.menu_item_home);
+        ((HomeActivity)getActivity()).setToolbarState(false, R.string.app_name);
     }
 
     @Override
diff --git a/ring-android/app/src/main/java/cx/ring/fragments/MenuFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/MenuFragment.java
index d7653d862..42bc78648 100644
--- a/ring-android/app/src/main/java/cx/ring/fragments/MenuFragment.java
+++ b/ring-android/app/src/main/java/cx/ring/fragments/MenuFragment.java
@@ -31,18 +31,17 @@
 package cx.ring.fragments;
 
 import android.app.Activity;
+import android.app.LoaderManager;
+import android.content.AsyncTaskLoader;
 import android.content.Intent;
+import android.content.Loader;
 import android.os.Bundle;
 import android.os.RemoteException;
-import android.support.v4.app.LoaderManager;
-import android.support.v4.content.AsyncTaskLoader;
-import android.support.v4.content.Loader;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.*;
-import android.widget.AdapterView.OnItemClickListener;
 import android.widget.AdapterView.OnItemSelectedListener;
 import cx.ring.R;
 import cx.ring.adapters.AccountSelectionAdapter;
@@ -63,20 +62,11 @@ public class MenuFragment extends AccountWrapperFragment implements LoaderManage
     AccountSelectionAdapter mAccountAdapter;
     private Spinner spinnerAccounts;
     private Callbacks mCallbacks = sDummyCallbacks;
-
-    private ListView sections;
-
     private static Callbacks sDummyCallbacks = new Callbacks() {
-
         @Override
         public ISipService getService() {
             return null;
         }
-
-        @Override
-        public void onSectionSelected(int pos) {
-
-        }
     };
 
     public Account retrieveAccountById(String accountID) {
@@ -90,11 +80,7 @@ public class MenuFragment extends AccountWrapperFragment implements LoaderManage
     }
 
     public interface Callbacks {
-
-        public ISipService getService();
-
-        public void onSectionSelected(int pos);
-
+        ISipService getService();
     }
 
     @Override
@@ -140,20 +126,7 @@ public class MenuFragment extends AccountWrapperFragment implements LoaderManage
 
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
-        View inflatedView = inflater.inflate(R.layout.frag_menu, parent, false);
-
-        ArrayAdapter<String> paramAdapter = new ArrayAdapter<String>(getActivity(), R.layout.item_menu, getResources().getStringArray(
-                R.array.menu_items_param));
-        sections = (ListView) inflatedView.findViewById(R.id.listView);
-        sections.setAdapter(paramAdapter);
-        backToHome();
-        sections.setOnItemClickListener(new OnItemClickListener() {
-
-            @Override
-            public void onItemClick(AdapterView<?> arg0, View selected, int pos, long arg3) {
-                mCallbacks.onSectionSelected(pos);
-            }
-        });
+        View inflatedView = inflater.inflate(R.layout.frag_menu_header, parent, false);
 
         spinnerAccounts = (Spinner) inflatedView.findViewById(R.id.account_selection);
         mAccountAdapter = new AccountSelectionAdapter(getActivity(), new ArrayList<Account>());
@@ -162,8 +135,9 @@ public class MenuFragment extends AccountWrapperFragment implements LoaderManage
 
             @Override
             public void onItemSelected(AdapterView<?> arg0, View view, int pos, long arg3) {
+                Log.w(TAG, "onItemSelected -> setSelectedAccount" + pos);
                 mAccountAdapter.setSelectedAccount(pos);
-                view.findViewById(R.id.account_selected).setVisibility(View.GONE);
+                //view.findViewById(R.id.account_selected).setVisibility(View.GONE);
                 try {
                     mCallbacks.getService().setAccountOrder(mAccountAdapter.getAccountOrder());
                 } catch (RemoteException e) {
@@ -173,6 +147,7 @@ public class MenuFragment extends AccountWrapperFragment implements LoaderManage
 
             @Override
             public void onNothingSelected(AdapterView<?> arg0) {
+                Log.w(TAG, "onNothingSelected -1");
                 mAccountAdapter.setSelectedAccount(-1);
             }
         });
@@ -191,6 +166,8 @@ public class MenuFragment extends AccountWrapperFragment implements LoaderManage
     }
 
     public Account getSelectedAccount() {
+        Log.w(TAG, "getSelectedAccount " + mAccountAdapter.getSelectedAccount().getAccountID());
+
         return mAccountAdapter.getSelectedAccount();
     }
 
@@ -207,6 +184,8 @@ public class MenuFragment extends AccountWrapperFragment implements LoaderManage
 
     @Override
     public void accountStateChanged(String accoundID, String state, int code) {
+        Log.w(TAG, "accountStateChanged " + accoundID + " " + state);
+
         if (mAccountAdapter != null)
             mAccountAdapter.updateAccount(accoundID, state, code);
     }
@@ -222,6 +201,7 @@ public class MenuFragment extends AccountWrapperFragment implements LoaderManage
     public void onLoadFinished(Loader<Bundle> loader, Bundle data) {
         mAccountAdapter.removeAll();
         ArrayList<Account> accounts = data.getParcelableArrayList(AccountsLoader.ACCOUNTS);
+        accounts.add((Account)data.getParcelable(AccountsLoader.ACCOUNT_IP2IP));
         mAccountAdapter.addAll(accounts);
     }
 
@@ -230,8 +210,4 @@ public class MenuFragment extends AccountWrapperFragment implements LoaderManage
 
     }
 
-    public void backToHome() {
-        sections.setItemChecked(0, true);
-    }
-
 }
diff --git a/ring-android/app/src/main/java/cx/ring/fragments/TransferDFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/TransferDFragment.java
index 9d51c78ca..cb331defb 100644
--- a/ring-android/app/src/main/java/cx/ring/fragments/TransferDFragment.java
+++ b/ring-android/app/src/main/java/cx/ring/fragments/TransferDFragment.java
@@ -36,7 +36,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import android.app.Dialog;
-import android.support.v4.app.DialogFragment;
+import android.app.DialogFragment;
 import cx.ring.R;
 import cx.ring.loaders.ContactsLoader;
 import cx.ring.model.Conference;
diff --git a/ring-android/app/src/main/java/cx/ring/loaders/AccountsLoader.java b/ring-android/app/src/main/java/cx/ring/loaders/AccountsLoader.java
index 0f9eb3900..962fe0205 100644
--- a/ring-android/app/src/main/java/cx/ring/loaders/AccountsLoader.java
+++ b/ring-android/app/src/main/java/cx/ring/loaders/AccountsLoader.java
@@ -35,10 +35,10 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Map;
 
-import android.support.v4.content.AsyncTaskLoader;
 import cx.ring.model.account.Account;
 import cx.ring.service.ISipService;
 
+import android.content.AsyncTaskLoader;
 import android.content.Context;
 import android.os.Bundle;
 import android.os.RemoteException;
@@ -78,6 +78,7 @@ public class AccountsLoader extends AsyncTaskLoader<Bundle> {
                 if (id.contentEquals(ACCOUNT_IP2IP)) {
                     details = (HashMap<String, String>) service.getAccountDetails(id);
                     IP2IP = new Account(ACCOUNT_IP2IP, details, new ArrayList<Map<String, String>>()); // Empty credentials
+                    //accounts.add(IP2IP);
                     continue;
                 }
                 details = (Map<String, String>) service.getAccountDetails(id);
diff --git a/ring-android/app/src/main/java/cx/ring/loaders/HistoryLoader.java b/ring-android/app/src/main/java/cx/ring/loaders/HistoryLoader.java
index 5d878aa47..b6712ea9f 100644
--- a/ring-android/app/src/main/java/cx/ring/loaders/HistoryLoader.java
+++ b/ring-android/app/src/main/java/cx/ring/loaders/HistoryLoader.java
@@ -31,10 +31,10 @@
 
 package cx.ring.loaders;
 
+import android.content.AsyncTaskLoader;
 import android.content.Context;
 import android.database.Cursor;
 import android.provider.ContactsContract;
-import android.support.v4.content.AsyncTaskLoader;
 import cx.ring.history.HistoryCall;
 import cx.ring.history.HistoryEntry;
 import cx.ring.history.HistoryManager;
diff --git a/ring-android/app/src/main/res/drawable-hdpi/ic_add_circle_white_48dp.png b/ring-android/app/src/main/res/drawable-hdpi/ic_add_circle_white_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..de713bc3abda0aab76b84bdcfdf38d6a0d0fc194
GIT binary patch
literal 613
zcmV-r0-F7aP)<h;3K|Lk000e1NJLTq002k;002k`1ONa4|Kxkj0006kNkl<ZcmeI&
z!AcuJ7{Kwl7^`VKWgGEPYKUU19);%MQz+;~$wRbI3++h_t<c^SJropH4TexcA0gx(
zmf+3Zi2t5@*vahd%<LZa|D6|pFbNy-jVQ`%MMad^q(z$^Ljocq0*3Tx(_({pgx=^p
zRAZkG5wb$=+2f6U&?;9vquPW^8umbIJfKsD74x7aevzg#7EOY-c_eLPnr1+=e8W^n
zl+uD0@G;pnuhW1${$jd5o-Sx19Y;c{=zwPNvDFQw<e;zE>~m7kHn#ha1hm8>wi{DZ
z2mQoF-&H|tB<jCslhsfIJvam1seo3&83^jrL03*e7t=sBo}GdwcyiD_I0eD39Mo|R
zx|M;-M9x7^%*BH?!8r)l<3X)VK!@?5b|#>ccu+4BP&XblM3zV~vIg;>AQR9i9u#E)
z3iAuf|B+?=q0ax;zMTo^IB&0xgLu$JCZPB6p!vN0{1Dtb2l)sYXwNxlM-HknaSDp4
z%0Yrlr=WAhG*H7S=<RfnpyLeWBUC^ujzBLgtAPY(xabt23R+~0?E*Y?kf4d}wvzto
z`30MOLL>#1xW-n$nMn>3ROn-)Ka}-X3w;ZmYMSLsg&V_%RZhE}DshCVJ~Crwf!AbA
z+5)yrt~hJ_K))AG@ysuQ8{DCjPu<>{yv_v^REs!g+5SZWk6msFk@bYn4pr@o1R68P
zI)|LlWx$A#kP!pA9CN@sUOBmHp)m!h02QErAgUa1K?_5H00000NkvXXu0mjf=3^96

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-hdpi/ic_add_white_24dp.png b/ring-android/app/src/main/res/drawable-hdpi/ic_add_white_24dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..694179bd46b685e55da1b4dde2575bde0b2bfd64
GIT binary patch
literal 127
zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k0wldT1B8K;o2QFoh{y5d1PRu~4CX)Hf7s8+
zA**4&;-Ni<Nsp9CmcYrA{E~7E(j^SecN!&rcQW#p7<EL&N&C7lX1jPoAxre%;sgt3
ZhDJ{jm3_gFp8-u|@O1TaS?83{1OSN1BfbCt

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-hdpi/ic_error_white_24dp.png b/ring-android/app/src/main/res/drawable-hdpi/ic_error_white_24dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..69cbb1e0bd3807d27f4197a9328467df8397e169
GIT binary patch
literal 324
zcmV-K0lWT*P)<h;3K|Lk000e1NJLTq001Na001Ni1ONa4O9@aD0003CNkl<ZNXO;X
zL5jjK6vpu|>g<Lx*HU!hqA+(UBA&ovg*n0?%rQ!DB5mpg+RfjULfRxI4_*1K!;j?U
zy+o<^3!khgsL=HEXetgYnZ+UB?6_b{%a$aR`9b4LP5Ky_@JmPvCVu9h(40I};BIa?
zx@!}g)P7Ss8mcWf$j-G|DW#m$X54-k5!4P^l$Cq`UI-Q@REVM6geoyqnvfPljS2N)
zsCyCgw4+r>Gbr{!4DC&5DTe055otv=(oBcbwiQ9yc={9S=wqGvvb{)YG_-cTkwp}f
z`yT&OF!RTU{~tMq?Z(U8YgIoe@jCRcP1rd4N|RY{%7e{VkW<po(a}({XFh7bcgPiP
W!Gv}pi0nZC0000<MNUMnLSTZ<(UNlj

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-hdpi/ic_group_black_48dp.png b/ring-android/app/src/main/res/drawable-hdpi/ic_group_black_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..5a8b5d05e2b2ec602698111b2bf264db2a46aa6f
GIT binary patch
literal 455
zcmV;&0XY7NP)<h;3K|Lk000e1NJLTq002k;002k`1ONa4|Kxkj0004wNkl<ZcmeIs
z!O9Y06o>K0O|4qhq9EGDM|=qFYF8vSHF^zQK;3~?5kakTlj$AQB4`sS7Oo2yrCvd%
zQ$$YE$=#UK_;Naf6rA6G`|!R8=bUrSxqnlICOxL4teDUxw)A#YM##?IaLLe{)cJ~#
zU&3{LZ&%GdpKZyJzPG6`LiX&nzPD*2fz|ZAMGpzAZRz!<NMP?Ry<Un0wzTwmE9D2u
zUT=Z~_RiAlb&<dxTY9}13G9Zxw|R@~*(+<Wcgz>0U<)qld%Ie}7fY_0dV^zzx##;F
z*?WuIboj{k%|7siNZ&i>{ugIx(BdfrW+bdPOPJE9LyHEdDRzehQS<>PY4C_K64;oB
z#GK$yntW6Bg|5<Ofhe}1%@y(@(qJDDF+~1y1M2L$r|5Go@EkGj8Rz-k3tgXym?PNt
ziJNSz@-y7$#iU3{TXBnRFO@xTj?YMmn{$@TU1bkEKuX?yGMAM-Fhfe-gv=>r53G@r
x_k&DD*#lDk)bIO2evlt@(1V<F&N=4}<QK^3roV~hzk>h(002ovPDHLkV1g%=-gy83

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-hdpi/ic_home_black_48dp.png b/ring-android/app/src/main/res/drawable-hdpi/ic_home_black_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..2e86cc2557d602e22c29bf90ff3cd9b76c86bc6d
GIT binary patch
literal 303
zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY0wn)GsXhawzInPhhEy=Vow70Tu!9I|c%#we
zRg9M#vkY8k7=^U&Ht=1+cDYe1V2w|s9SaLj^TVd&_GdqoN#Dr$$=zdk%p~Ss?hQ^|
zeU^h$r^$Xe;89~yw7^Jq{So#2l8`48JAXVnGSTbHnIq=szJxsJY~AtrP-n`#$WHkf
z%gHAWxczx_Y=ZegjW14<O%DdG-x4XTQ~G2AkeOcsVm_JyWTyXG!#QnN!6d(c2d5&<
z94AUU-(q3i9O4&X;QbT}Lv*u<Ux2;$Ul!ps$rrlE9r=nb$o})4&@A&rf!*>1kUOFI
fTfgBkiO*~+jBK<YrTzH_3;_mDS3j3^P6<r_yR?0?

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-hdpi/ic_info_black_48dp.png b/ring-android/app/src/main/res/drawable-hdpi/ic_info_black_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..a81eeb9ee7ef8ab1662b5b6bc88cf74912e4cb5c
GIT binary patch
literal 579
zcmV-J0=)f+P)<h;3K|Lk000e1NJLTq002k;002k`1ONa4|Kxkj0006CNkl<ZcmeI!
zy-HhQ9LMqRVth&Cl+%cpQbQD5brhPxt5DEI$wjnK3+<$aR%kaxhl0XUgCUgAO9<IR
z2yV@Z`0v`~Ij_%4hV%K|z!#pJ@F$ncO|2qZG-%SH&yawCA$>YDX|Txx7F9T)MSz5C
z%me$p#<(@Ec}8Mx!WA`)S?3W+u@<Xnx6Dr@!_HYkqaB`*j2lr$i&?%Rns!Wqj27_`
zjl1C$8F>6bG_Q+CN{iWZ6iFpgn8im7?Un+GeL)QF6AA4ghWDNXmU%KBG@?RmKM)K1
zMojBSqWw=2twt=5)`ISdVGXesBvgrXZ8hkU2o;{K22Jn?b%0n667~qyLM-o&5Jdv(
zL4TP?X$x_%4U`&Af{svXIte;OspBN5jZz=6{@DvXl!i`%1}Ftig2q!9G`&wY{XgoC
zlb|+AO(#JoC^eh}9ip`9B<LMV3k24KLeCF)upZ<SYTtU$E}<$+tOf;?iEw2#=z>T!
zt3hvwp=B+|Cze%9K`*Qj(>Y>cXT-L|$au~Wj|A$*gSJWNv(cQ7Bv#<YSk5nINTEd6
zNX~DHq~y^xkW(gu61SQkt4Kx#j<w}{U<NJf8vd7tY@<<y?-^oVIKxA`8uzJke5x2z
z<ubtu7jVG}#(C^<$2j72_t~Y4Me}TM#3^lh3>Y(JK#w*j9P*Yqa=F};`Uf%+Z6V(b
RSUCUy002ovPDHLkV1jt6`k4R#

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-hdpi/ic_reorder_black_24dp.png b/ring-android/app/src/main/res/drawable-hdpi/ic_reorder_black_24dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..142d71505c8c1a4855394adf3a392990224b3ecf
GIT binary patch
literal 107
zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k0wldT1B8K;k*AAeNCjguLt~%;myCqei3UE2
xXAG?WCo@WCqzOEYJIu0pqnT7TjNo!(WLRe8?4Thc6$sSL;OXk;vd$@?2>^ks8BYKJ

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-hdpi/ic_reorder_black_36dp.png b/ring-android/app/src/main/res/drawable-hdpi/ic_reorder_black_36dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..b43993193ca61faa1d66676deb75e99aefdfc2ee
GIT binary patch
literal 120
zcmeAS@N?(olHy`uVBq!ia0vp^W+2SL0wmRZ7KH&Rdrud~kch)?FFW!wDDbcxoE*aG
zaa>a4!Sx9OX?_m!XVn<^SDkrw_2-QfS@(W?ym58DVpd?cRA6`1m5!(@i`Z_g6Tfcn
T<?`JVXcU8|tDnm{r-UW|274)r

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-mdpi/ic_add_circle_white_48dp.png b/ring-android/app/src/main/res/drawable-mdpi/ic_add_circle_white_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..4d1cbca8711dc5ce4fbbfb79d93e7bfb4a6c8a34
GIT binary patch
literal 428
zcmV;d0aN~oP)<h;3K|Lk000e1NJLTq001xm001xu1ONa4{R=S+0004VNkl<ZcmeI#
zziPrz6oBy<<4`wI9BlP16nzk(4nBu}9za`Hiv(<+KyVSE&mq2mqDwXHYO;J?x?Pi-
z+#H00-&w^UB!PR6b?-lfO^YE*ws-^tcx+iRpoxv88{H3TOgIwOffuUgK$$rKx_n$p
zCP0^O;^xsw2ITl4X)aD&AkQZzt;xp$a{9lIARImLPMTaD&?RlpQ9zj=(srg84$O(p
z`kUxxVL**Q1n_yh4opA<fbliJ<|qd2$*4dJ!~kfhz)%$EtH4qeSg62O6xgVMhnf|0
z)J`f8hywl%fEzy|`ImhA&vYOP^i-fJ3e;7=<{$>_$f$tDs~9l4ejZeX4x9^>up`qI
z0jA++atV*LeNhMpEIOpEt-E-+r0ESy2RN)TZACWL<=2o{@eud=?%*0coNTfMq{BJE
zm(w;`p^D7#(RE=;!F&mPV$7bfc8sX#mO%a3H0ZNn!wDas6B`!vsFN{YW2NQ}=;s$}
WBYI%WOI-T^0000<MNUMnLSTZQ+PFFZ

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-mdpi/ic_add_white_24dp.png b/ring-android/app/src/main/res/drawable-mdpi/ic_add_white_24dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..3856041d702e80237afa394e0900d507f67e0a8f
GIT binary patch
literal 88
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_*1c~2L|5R22v2@<RZALKdQOdkZb
la0j>_&aj!VDzSo@fq7N>%r!;1bAd`3JYD@<);T3K0RTZ}7R&$u

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-mdpi/ic_error_white_24dp.png b/ring-android/app/src/main/res/drawable-mdpi/ic_error_white_24dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..ca148fc7ca20a34ecf4aba8fa0245637046ded4f
GIT binary patch
literal 232
zcmV<E02lv>P)<h;3K|Lk000e1NJLTq000;O000;W1ONa4N`Cco00025Nkl<ZILp1#
zO$viB5QgEwh2F2AR20wDg3voCdL$)i4-q$Sm(l!apy0Ruo-jj3<mQmkFrwJlPz=;$
zXZ0sv?5q_2a>9pDS`rt8>j14g%vJK^s@CixA{JOk4QTA=JOC;K#wgGmprXKRz!nAc
zA3zb4$$%jWbOzK>BbED)TQ7myeVhoz<v<Vnn%dL)+jrh!^75RwhzL20Q&!F}2a;0J
iGo#T=bd-lxZ^;jJWN&!Rf}P|50000<MNUMnLSTYM++#8T

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-mdpi/ic_group_black_48dp.png b/ring-android/app/src/main/res/drawable-mdpi/ic_group_black_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..c2e9ffea1da3e3a7e4194e422487a2871be2b15e
GIT binary patch
literal 349
zcmV-j0iyniP)<h;3K|Lk000e1NJLTq001xm001xu1ONa4{R=S+0003bNkl<ZcmeIs
zze>YU6vy!|*e2o&_@}6=FQRWCx;p95Xz48aD1v(@@db3MZKP@jR~>W<LP3Kl$3XBB
z%OxiXh*<9DH-1UZ#c`ae<`K|mOu~>39+PJ25|Y@vuEhw+ZNw6J%R~iT<(c1`aZNM#
z`lzVu0>rXC)4NJn^%2W1O%Ii>8Y7m)rYA~QCBJ=Oh*)-^_p&;OWxIMW%jXuE*pP<a
z%WH9i<QB4^_iB6&81S0ziZ)HXJO9ZX8ywRkBIYAq%pE<BSWnAOJG@VHg~vAMBnbAs
zamE%N7@K@ryG4V2o)Ppt(PoBkhlSl(B}6K0z>0a;eNoRW@`zO21M_48r30r(jh&EL
vQ#$a1)L2Z$S2`dyr+x1Z{QUvPai+u<06T(#xSxZA00000NkvXXu0mjfE$o@U

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-mdpi/ic_home_black_48dp.png b/ring-android/app/src/main/res/drawable-mdpi/ic_home_black_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..dcdcfc0a80de0fe05a62160fc706e9363a0239e4
GIT binary patch
literal 239
zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA0wn)(8}b0DZJsWUAr*{oC+`((au8vg-ry4~
zb%Adko37L81$?_NsI6eMUeMTmlA}UM!ovJt4Ria&+qwyhkN!0FJD9pDLDeho#*?X&
zL~mS5@Rv4AS@x)J?~R~|6K!Ru-Pous+}N?#Q0T;giE_Ua&NsHsk=&rqHz&g3Y{%b%
zCG+g3b}svTGWaEe*cS3BWY?jZLm|5+D)=nbIHT^Pss$vLYM)6rp1RSpO5rH8+y{qq
d4eT<<D;b>ojwUa*oC)#{gQu&X%Q~loCIET=VpRYD

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-mdpi/ic_info_black_48dp.png b/ring-android/app/src/main/res/drawable-mdpi/ic_info_black_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..46ed12a89bd7303d12a00edee53504903c9fdaf1
GIT binary patch
literal 412
zcmV;N0b~A&P)<h;3K|Lk000e1NJLTq001xm001xu1ONa4{R=S+0004FNkl<ZcmeIy
zPj1>k7>D5($61se0<oZlTY%soNM+G;KyrYj%{EnJDeVa?d4rI84$BuPf=$8gHumQ0
zDyzZ&W<DVy@%;AlN;8(Zx(FUK?ukf9$;nAch`3{lhqDn+?2&@)_{tD#eO}3tie&`!
zu<(VyNX?}zXylfkNW%sA)YRq|VzCWvYPfB3ypiy!^aF8NQ2n&xxX+a6^UpbOq)VY!
zq;&73bT1Sbk*fqUK626%q7o1u!Q`=53v6j&m?4UrV7ONetT05Xfe=HY8i+BZh}t6y
z2MoDtAUk{D3|Ew>24W16Y9PdLry5vdn5qWG7(8}rf#0;i^i3`Bz)3@LmB1SV3Ir;F
zXA1R55y$<ZLy3iRU`~YqaoBe%`D_r&t+}Cwwq;_?2Ws*OEH3AUMiv|!d^vM0ba^2|
zD)z=R9jtxgk!{I8=YavvJSMCNi8+vwaUdpS$(R;b7vMjpGor`QfDTIl0000<MNUMn
GLSTYbg0Y4G

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-mdpi/ic_reorder_black_24dp.png b/ring-android/app/src/main/res/drawable-mdpi/ic_reorder_black_24dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..d18997cd4833993ac76fe0373ae0b07eed06adf1
GIT binary patch
literal 82
zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_*1NlzEYkP60RiIWfP6Ft_kojSNe
e-tDhJ5hH_ZdVgU6m&#+HA_h-aKbLh*2~7agcNFyi

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-mdpi/ic_reorder_black_36dp.png b/ring-android/app/src/main/res/drawable-mdpi/ic_reorder_black_36dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..142d71505c8c1a4855394adf3a392990224b3ecf
GIT binary patch
literal 107
zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k0wldT1B8K;k*AAeNCjguLt~%;myCqei3UE2
xXAG?WCo@WCqzOEYJIu0pqnT7TjNo!(WLRe8?4Thc6$sSL;OXk;vd$@?2>^ks8BYKJ

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xhdpi/ic_add_circle_white_48dp.png b/ring-android/app/src/main/res/drawable-xhdpi/ic_add_circle_white_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..4244b5effc453b912b42b9553b62ed2ba9a6e4a8
GIT binary patch
literal 815
zcmV+~1JL}5P)<h;3K|Lk000e1NJLTq003YB003YJ1ONa4NRhv@0008^Nkl<ZcmeI(
zOG_hJ6u|Lo1|%<CX|y+D9Fdm(9NkfZ2qG>53Vs0*iQP)~=MdZYU<O1G*Dm5~CnLBO
zGDC=lw4y|()fjQ1{Chu}x|O<Bb;8vD>;pfDu?o&nLFNhy3JMCMn=}h-a72MBFTC-_
z3snjnvd#i&x=<#^)Ca{GXO$8<70EG1ObQ@GnjN08Tb*r&3Hb|XCrcS8T`)(RKY$qD
z_=$<`SS0E-V3JErRw3gZppOIGC{M2!fN5&D)dQ360wVm0+pQ9I3((CeUi23UHvj{a
z@v0KPn+AN~8ZWzI&?I1hYrO7?ep7&Vl<}hy2@`+_r})(gVdsE9@Uu0ifNA`0$_b#4
z8h-akvT?ux63RCUm_$mMMgTD`agzGaIH^L^KHw{e0l;UwfOh^B1-K<{50C{>0GPD{
z_>HnSz&Rm(KpMmWAf*r35eeAR1;lw433wu^2N(yD02tK+tcnFJ>j6q)0e|ZNx<M=e
zI;{a|(SRXqz=CMNyft7$G$3aUI1&xmw+0l@OBo)$&a44d(SRFkz>8==-5T&F8u0o*
z05ttqsOkTRoBn6?Q1m~tJ!`<aXuwLdKg?yD{c$>F4d`n27aB#exnC(2IkA8xJ;0b)
zz=$3oMqMPJMnn&w*cJ)cMCk&CMFKwQ143Mg1C(gd2Po#m0cKEk0Bzif0#u3F11J_n
z0kSB&fG8C)fHD#L07V8VO*Fb{kViths73+3Jm7ct^jHHV?@MHyE<CN_XWvmy0bx$?
zt7BT70~85L_)(D#Q)`#~T;X+>Buy^94th-Z!F$uI$Nik+RYj6+EPr=#f)^dr;nw<n
zn04H4nO1iXAf|Z4t?tQqae|U0j~ngM<J}QZh6*OTV8ZJ&tSDc&#Y9!IMEp5~i!;kP
zPAV}&%<ogg6k9xDw;G##q(#axXp~Ww`3Ic}EHOgFr(;lyNif7bIrcf@hB~jjQs;&<
t_E;fHicSINxI!iXIG+Fz00KY&_yw!o45aQAri=gp002ovPDHLkV1i-mRe1ma

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xhdpi/ic_add_white_24dp.png b/ring-android/app/src/main/res/drawable-xhdpi/ic_add_white_24dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..67bb598e52a36b6caba846efe733501479965a41
GIT binary patch
literal 97
zcmeAS@N?(olHy`uVBq!ia0vp^1|ZA`BpB)|k7xlYrjj7PU<QV=$!9HqJSk5X$B+uf
r<OO00b`GVd{{8=NAE6m_!(EkuAxlVJcj3M@p&-4Uu6{1-oD!M<^XVA-

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xhdpi/ic_error_white_24dp.png b/ring-android/app/src/main/res/drawable-xhdpi/ic_error_white_24dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..9829698ddf0ad7df1e36f212ebb6b00c89d97075
GIT binary patch
literal 431
zcmV;g0Z{&lP)<h;3K|Lk000e1NJLTq001xm001xu1ONa4{R=S+0004YNkl<ZcmeI#
zzv|jh6u|Kq<6t)xhgRFCsI7euL7{yQ|Li}})nXNWgir@Te2<V9P;_b3*<|^4>2|$d
zb8`?1e$Og=AO=p3^FQ<omnH*Ngq%r8I1}=lK3{QhOk?`NC&nDnbznr@9;mV)!Botg
ziVg6c3y*f9lMX1bByDrNM}c>2v1vo`5um^p+ctP+U`du{Cg2BIYu^K^T*z8PSr06@
zpYw0-H`M_jNko7vwcEfLL;x7x0$h$_z@D56d;>86zNo-J6zHkIN)+%_AQS}x6*!9m
zkqRWDK>P&Y>5nKxvcT|~X3kfEK9Y4+powG+6>vF-{mDCWD&Q~@1Kw`$gF3O$!g;S-
znKKb!qTk6CPGs#5B|YHKA!{wuhu4fO{lqZ=9vf_1lQ#nnMN49>{rFYJ<Cn$5$)`I&
z+C(YdoR-ZARc1<zsVfso_D5iiA$xS~c;kcl2sDjLgC0Hs5iv0l0X|(mle0KurRN10
Z=P$VM$<p)jms0=$002ovPDHLkV1h|NwN?NC

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xhdpi/ic_group_black_48dp.png b/ring-android/app/src/main/res/drawable-xhdpi/ic_group_black_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..2994e7caa673cedf23fe03fb5102628ca43a9ec9
GIT binary patch
literal 591
zcmV-V0<iswP)<h;3K|Lk000e1NJLTq003YB003YJ1ONa4NRhv@0006ONkl<ZcmeI!
zze`nd7{~E<LvuEGH87PL>JNw-qEU!~s0ay{pec0`D$K~HhPHypA%`3!ETU1tzaavr
zCi{V1m&kidFLrPD+$V>Yd-Qt0^_=ga==1u_Zw?Qf0|)snA|fIpA|fLFOt46i+SZCJ
zGEQ$^y<Z=5Bv@*7X6f<w@eQ$owb)lKx%<ejW4o@wsJoA72y43r7u<a$eQaO>E79%l
zqnN`2H|_2t=qJGfSEJzWGdF<|z7cnyxkZfdy>$1PD`JH2t-H@$4I_MC{JjqN%U&UU
z#J4cQH=KFz)<=Q`u1cr7kKh>=xF=D1w}Y%>0b8Ts@8h_PwOztFe;>~njW&Pt*Zh54
zgM7nUtju|TA72l%)Unj+%y7Wn=cbpNEU-d#Ybz{pgP!=kh=_<+7Xyqj#XL)_QX!#E
zg;kcAXNoZfC=li%pV-90d!M6>@`8_8z&`Mt5suK#8P;8WkUgB@A@8w2*fI||$!?CZ
z*0y)(;x6wn=a!kIi&joh@${`7W`-)3(Z2JPL+otO(YMgSV}4*6uf`+xv6E?EpLUj2
zEYgacX1fkPJNlG6G_Z(Em|(kcN8jW=7Ju9$Z9ki?{+Fv*PP;<dD`yXMQ^s;yi2}`r
zojov#<+$54JMQd(H&~8)O|wpC50tSSSEAWoXAfAub3b1P=l~s{19X56_@@u}&xweL
dh=_=Y`~)|E3nQHQ?ot2%002ovPDHLkV1j_v89D#}

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xhdpi/ic_home_black_48dp.png b/ring-android/app/src/main/res/drawable-xhdpi/ic_home_black_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..04e2b26ff139fe6c17fdfd5ae816dfe8b94c32ec
GIT binary patch
literal 356
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%&M7z^Lu%;uuoF_~zh7UMEG7wu}8u
ze$iqVcxO1aUzmAM?7Zp>NAm>6EUQ`Ct*wSx>5qK>6$=Oo3Qm;g)G0o&@&xPba3#K6
z%^S&y&BmS5-@bSqnrJIp9eMMi%d*6LGb28kmp9tyGS|O5b6}s$oE^sD?xs9P9R!Z_
z75`B8Z(s2HaaOv+jvdD3_xj(@iQ5wQ?NL}~*gq)I8fJEYcY)~s9ia=R@)j^>s50MS
zi2B(b%@}o%$-H0e=-I`tg`YD5@7P3%U~s1aWuF3ND}l0d=Ka%-V{k(oZvXyV8UMT3
y0~izy3@`p?t4o+3U}gb<c}%?xXyAYmP?^9VEzx;TwXT=~*$kepelF{r5}E+<h?KJc

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xhdpi/ic_info_black_48dp.png b/ring-android/app/src/main/res/drawable-xhdpi/ic_info_black_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..c8f86b925366485cef1f43c089f785ab8415068d
GIT binary patch
literal 766
zcmV<a0s;MrP)<h;3K|Lk000e1NJLTq003YB003YJ1ONa4NRhv@0008TNkl<ZcmeI$
z%Sv-s7>DuaOF?qdkw!ZaV?`>xjy6gVLBv5If;S){v5mCXA=Y@H1rfw?2k|s36`TsO
zNHkbQ$!A*+5eLd!$4>T2_S$>D#r=D(;16rBEP_R$P$(1%^^m2=ItNs!^UUj8&(x`~
z&l*LtbfZ#|309~g2Axu3oCHcl$g<57(qs*`7$HKSIw(*>Ty)MH?F1shPyB;e=#~ZI
z_$<#QVzCQy_@<vd#DmK8;e%-&5RbYekEde%ig?@#Q9RPa5#mFCkir9l)DWMl@)eeS
z!!_b#R}5j%AlHb`T`_<qUs6K?s7eY8VjLj>bx0J~enA3k6_=)wfSbaFejbp3yC+S{
z_7DY?X;B_gQjQiRTt1lJbNASe)3hHEH3Nk2X;KG&s~Yf`BuyzGss;$NVD1ZQ>IR$<
z!B`eiH$cc>Y+L1kO$;S@QaRv}I7TKArHx@^1yR}(MyiO?PB74eD6Y%=3f0*#j*5ul
z=5e%+D6WK~14MDVII194dQYr$jH9~h0XH~$Rz0ABqgT}fUjFw3KEM%D{t<tGYjj`r
zfE^sIsUEP5qoV2o1sr8n56IxCTlIi044kSRaDtJN+5w9g8CN@C6e9^5DhE6e!_bz>
z0UH<_Q90l{j72zCH=xQV%rU2Kzzj`k=T_B#ItiMzplU#Yrp38XGoVI{7UU2mP12$=
zqM+YsSs!;u!2L@vF65Db%i+>05@0{$T9iX1pnj(f3sO{(06L`;O9r??eD0Do77h74
z;V-_%vH{L~JUnSU(9NMwpKd1}iL!=x+!AegYKnUge|2;CAWhk$H%~9V$#H>L?3_t_
z7Uu^(BNnPtAVwgP%(}c>tIUufP!Te0^4P-PR2zKDCzOaY#u9%b231&Olo%?d7-pUl
wyBu>vgO|4&+;Gee%M{4ag*Bm2C=?3)2UQ-CT`xs~ZvX%Q07*qoM6N<$g2UHD;{X5v

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xhdpi/ic_reorder_black_24dp.png b/ring-android/app/src/main/res/drawable-xhdpi/ic_reorder_black_24dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b080a18715edfcda140aed629af49df20a337a9
GIT binary patch
literal 101
zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA0wn)(8}a}t9Zwg>kch)?FB=LnFmNz${AJE7
yXCby@2~%AbQ%$h9@C^13%#42=80-ZY^s?9ex4rLXcYi8SAA_f>pUXO@geCw|yc$0M

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xhdpi/ic_reorder_black_36dp.png b/ring-android/app/src/main/res/drawable-xhdpi/ic_reorder_black_36dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..0a66529bfeac1f43a44606a11b23344a7864c141
GIT binary patch
literal 113
zcmeAS@N?(olHy`uVBq!ia0vp^9w5xf3?%cF6<L53TYyi9E06|)rRh7*11ZLmAirP+
zhi5m^fE-Cr7srqa#$<^l3;x-2{866ks$T8>R(1{pgYCW9j{U8QwIH3Iu6{1-oD!M<
D>%<$U

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xxhdpi/ic_add_circle_white_48dp.png b/ring-android/app/src/main/res/drawable-xxhdpi/ic_add_circle_white_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..4f5005d0888636f33a6fb2d2bbf73eb538c8c3a4
GIT binary patch
literal 1229
zcmV;;1Ty=HP)<h;3K|Lk000e1NJLTq0058x0058(1ONa4O;0K_000D(Nkl<ZcmeI*
z-Ahz?7{Kx0nXRc{H^rrWsnn3}13@&j5`v(>!rfV<r4`Ji47O$03-5*c8@kA-q=H?O
zX7{cn$*^*F$QpvK6Gyrd=j9};XZY@4u)%r%y?vkm-~%&_=fv{}o6Tmk*=#nO&1SQi
z6ixIp!Zq$ON0Aa`HmFl)gEA$GJmD@^8Q~aBh_ptK^kg~0IC)C=X@xxF^pMpVXfLDu
zMU603$#aQsbOUN+l&92*sycIAq(Kj$!`$H`apZD~E|q~Y<aj~cJ?A?z>H#?n@Q$Q<
zOAbdRpyRwD>0Z&R2G9W>l2+5S$PM%vzu}T*Rj!bc73d%@k)Z|JWCS`-6<MnAlUzW%
zxQ%SxV23O~tt=s9|IjQ0PzN87wN={F2I|8_=4zZu6KH@fWN(vPT0n!;Q6Z0WX#fpS
zN0mHsNdxt<g-UI5GD)BgTvV$@ds0BHd_cukX-)!Y7fYyGfgSM!-A3hZ#0_*F)f<cx
z=pZ#zuR>c~Kp9@5Lknc$0s0kP`Z*4u1Gwl?m6qs%9->pfM-6nGI1~RfadtFHAcr^F
z0Tpnf0~!GBfS^ArpbYP{1S;Z01C#?Tf#6IuKrgffdKLxHVbB%`I>Q6q(HiJxSfEBe
zY7JClcQ~L?&>9FXgadl2J<x0zpuN<!2lDtTIM66)4+JB@f&MfC=s{4REHxv5%4`n?
zbOek5g05gd<Hi7u1p~?(12hv1sALS#`yfDHf-ykQ;2)^hD4-tyKqE#04fzMUW)#qb
zf1rCt0ZsV_nj?53r3v1wf1sjKKui9CN=5-K`v)o;1+?ZLXu~KV*FR9*C?L-QMFwO)
zV&T7}?U%IuXFmK7Mf*eXiBUk0{R7?Qli5F3uiD2Qp&ppo2WH2N0_ye;)Wj#V5A6jj
z0Dyh%V_zKFSI@D$dhRg>s52N)mZ}jz>ud`KB*+^9G>r%fbjb*y;ov~u8u6bv_XGzL
z%xMqw2oVP8qV_<;;eZ-&wFav4c{m`!Ev<nj5n+M4v<B)34<vZ5Ezmq73ZU<`1?r0i
zD8pMVfnMW810=|433NKj#R9Li16quBHASy>K;6*-38vAh`-rH4TBxE+W%fr8B=`kg
zx*XSvt_5^x9w#0kK^qlRZ=KdS*8~otdS~NaG&zaNT}Q+Xw37m=wn#R9AVD*$sMreo
zl3JJCP7T$na45-z+o#w>rT*na(kt74z(bX`=uczm|2aj7Jbp~;Y($Pt1wLH;X&xRq
zNe!8+a3bx~HSMe-YbzX*;rLNA1!QcIeX^X-+Q}rcb)BqS2iOLwAWQ3<mGOjM8w<$L
zJgu@Gfy{7)Drr{cGLGD5L|gcSw7SoJH4f1pr9jgCO}AR7jQc5)RIfR$;xTN8Gdv^i
z=IO&x`J8$uH*txh8k2PBagcvE7nsE(syrSs%olPU<PSezGr|MPglU~=hS`HiY6MBo
zcDfj2hGqQpo*BmIWE&#c5u`Vb^f1H(Q_Ql&GHbYac(|;w%o2~8VuB&MX+Wek0y`GS
r0$CsnWPvP@1+qYPERY4VKuOPkHp#W;=w>>@00000NkvXXu0mjfZV@9&

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xxhdpi/ic_add_white_24dp.png b/ring-android/app/src/main/res/drawable-xxhdpi/ic_add_white_24dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..0fdced8fce76a0f9a527388935adecebf63d0dae
GIT binary patch
literal 97
zcmeAS@N?(olHy`uVBq!ia0vp^9w5vJBp7O^^}Pa8OeH~n!3+##lh0ZJc~YJ(jv*C{
s$r5`O<gM5!@xR%D`Q@60&+j{OGw5?0Ep#n8RtVDT>FVdQ&MBb@07vc`*Z=?k

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xxhdpi/ic_error_white_24dp.png b/ring-android/app/src/main/res/drawable-xxhdpi/ic_error_white_24dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..abe2573b1a5e6be01a5f82c03a089f8ae87fa825
GIT binary patch
literal 614
zcmV-s0-61ZP)<h;3K|Lk000e1NJLTq002k;002k`1ONa4|Kxkj0006lNkl<ZcmeI&
z!AcuJ7{GBa#%dZ*ZX-TQ4N+{>qtG0D3I)9=d59Kjp*^Xg722Dkhl0YY!4OL5BZS<;
z61=$^@!wOAvpYLG^KB0M-}Ax`HcMva+o_^St*D4Hn>1<BWk5hgM8JS9Et+gF$CTM+
za#NLk+C;<^a?c)b+=EuR;u+n>TvB%jTH^te+N{_IE%A#iov~;Ww9O+~8_}=>n&BI^
zI--;nG>?zXu6dmW<nb5V_3%tV^9dYtQpE%`gO96jD5VE|#buw<g0^wphcuui9&z1>
zsy^r^5`EVNtszxi5A;CV{@<ClI~~v}h=HJ%47w5pT_l03Jd1+Hc=4cp5Cy?*Jg6-W
zx{U*siNrxq%&I|~AP$0cHK>^j=ui!6<pMfUgSxqZI%?1$7f@df3UUDr)u1RBP&oOZ
z{2$rm|EMSRwQrF}$H{*kvK^>F8|2Y@HE50q*%Fo?Q`{q+AHQPUL%N-$MgCaywU1ax
z+6G;Ug3gooWpz=|Tb-?RTMXpu?d?~P>4jz8<CrrfI@LcPT4aRl0=zUwdJSB+mG;o{
z3oiSV{uH*vHLm*2w8_DFg&r>YL)m<^&~w09$TEDXaAWylm9vhgN*rOUk4)Pc;58VL
zwSX;~BhD&6Fz<y^Jo`i7I(L}lQ*$>auW`W`-6GCecK;!P$1b;o#Px*Fj`{^R2dS@F
z);Z*a4t<7%gbeA^;g|#7@k-=V3xlfw6`%t24_R#olFFzoX8-^I07*qoM6N<$f=(S9
A<^TWy

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xxhdpi/ic_group_black_48dp.png b/ring-android/app/src/main/res/drawable-xxhdpi/ic_group_black_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..1fa4b3c7823342858a965e64d316a50a1b9920ce
GIT binary patch
literal 896
zcmV-`1AqL9P)<h;3K|Lk000e1NJLTq0058x0058(1ONa4O;0K_0009=Nkl<ZcmeFe
zfdBvi3<RNbnZM&ez6t;U000000Dw8yvsZU7QKn%W$G^@vG{Tw+3Sok)?nXfe6;YjZ
zkflZ*WC*?-SB63d74-5a1W81(E_k-0EX#VbFRbpaMZTdnFd6KYqtMHVXo?ZJ>F9W^
zf51FAGk2HwEj*v!`InpL;eMVrdWf<}d~=IL>86!3{l5ExG&72LY?wv@?)LT7FokTf
ze>kPycTx_WNQ!&NF7>`+iijX-Y=i>!zC((5g`~Mj^40r}$RUDcut7rVeJ6Ax8Sb8b
z-@Y0o<85$4zi(HNDa2qA{k~nzh~duZ_iY+Q4EMW!-<}G@cxx2t_ibrIFkh3kzPcU+
z^F6ZGR~JPv-+;Bgx<v%@O<U`$izAqCPQS0ne?a!HSWLgavp>>*TkEUqR{ag@_tmu`
zn6J@VUtKw3yfq5-`}PbYhWpKGUtJSoxU*LK>H@q(3^uOcx9tp)@e&-<@7wo1lHu+;
z(N`B{0?A-c$X4$=qL6=)H20i5^}a(28AsCCAo=Qj$AtL~NogD0C#2qYQe_HP;RPqv
z`wk1xz>w#geM&u9`hE9(%@w+c@SfGp%@d)E7D~6f@ALV5KA+F$^Z9%}Uzo!*aElIp
zWsDgXSY~~5%PcU%7{AcLO&T~v7&BEwc*7EL#JsO9mrCx?%QOij#jO*gm)lg5OJ?f$
zXx`VAOD*k0NgxJG5T%`3z9L-*d1v0&Q9>L2tRi1<tMt*z-ZalKWz<)Y$7O~PwQVrS
zC3cglJ;YS|X*o(4pAq!;A3tz})RZ!7-ZyuF5oDV;#CcM2oE4M4xoVyvmNr2ZTf1u1
zH&RYNVtIX(v6TV6zPBJZSVkP!C$13yynRDlr|+$RKM{xa2l;@v2O52E2be(|Ta5j9
zD`rKZ@8MhK5C=C)1>U+<`bm`V7IAd1DaOlbg?<uQJVqSeUw8?!pxOrjS`f!~5idV0
z_kj@eh~t|ho8+!5_knr@_g6=9)yjR~Cj|HRBgySk?gNtu?k`GmdCGm@1A_ZoBDs)q
zACR3f_4EJV4jsq<0000C^0z+6w?aseAVIevL4pJc5+q2FAVGoz37P-^00000001EK
W9GLy|yTK9w0000<MNUMnLSTZo#Gj7<

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xxhdpi/ic_home_black_48dp.png b/ring-android/app/src/main/res/drawable-xxhdpi/ic_home_black_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..d66401cc7ee5247323db1d0e5fda5a4abc986449
GIT binary patch
literal 485
zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q1xWh(YZ)^zFs|`*aSW+od~<LwZ&QGT!$oh$
z<+|K2*v>3)ejt(0xBY_Z3`g?>#w;r?yH3Mn@>gyZoOhh0;t4|kLXOqVG4!-_PpVOP
z-aGBek=(OPwwe~g{Qe>@@_e25<U}l7J!#sE8$nImN{+P4N~h(y``6qIHcakp{86Y7
zdt>clsfI>{4yS*i@w#W^D{rz1-|>AY{nKWX$hsQ2NUm_Zew|kB`R>yWO+Byd{gCa6
z;F1F8&o6>^e6IYWdFQ9iFOepjX+a#HBD@q&Bx|-R^e=@AEIgHL-)h%y*J{%LSL7E^
z<u99W!7qS%UwppdzwrEGFjhSAcqdd6S;33o3PYeykZu@W{t2WLf^R@|C)&dmShfBI
zTd_#wUuBJ8ymg5OFm#y=*3@TnB?P#?$={&h(7?dR#KIw<;GoaW!g0Y6!G}vA7@J^f
iAwm-%fej>=>}8DJ^Px3_)tn7z0fVQjpUXO@geCym4Z)}Y

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xxhdpi/ic_info_black_48dp.png b/ring-android/app/src/main/res/drawable-xxhdpi/ic_info_black_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..74b5ecb329a5b8f7a3b5a958a7b2982b3810ef2c
GIT binary patch
literal 1142
zcmV-+1d02JP)<h;3K|Lk000e1NJLTq0058x0058(1ONa4O;0K_000C%Nkl<ZcmeI(
zT}zbtAII_cHCt1`{!?7qn@SDoJP<@fD<KF9EZm(%T3W$uD1&X;^}utX9>X4FR8kB7
zHEDLwN|FpKcO^@LjuVxRq;Y1F)fv9~2t2s%e|N9XGkC*w^ShYAv5Mn3j^j9v<2X(O
z-Q>B!eWqDtg(4f&sIftj6&88IJ+71I1Pxdu%P~eMu!8v5G6hEHB8$QHGsIt%kq|3U
z;0j-3n0khIN)3r<HKw^t9Y#3HT|OZ(tio+N&{&2XFOZn`oNvjX9gjZVAqnj*IXpCS
zk~c`gdqp=|IK)FFrA^R;(mvx?DoBbeag7X$I?PK%fz8r_f-X`*6xljIqLe+{K@{6f
zcA<!777zvZ4~;0GjSq;TTcwqh^-w_+UYRqbsE;i~@okbLCH>S84OZm>Dd<ZtPk=-@
z64t{OqR}=vO@i8}AeyaAD+y`l1ES$pX(R!ASU@!0JiCb99Yo{ZBxV;8&DT$i4pY`X
z&^j%|B*RO@fX$L27QY~d>?dMyh>9_RN;DC<hloM@KM^~L#JKH9j5|(*Jl+@=XdaKq
z^dZIt5_*Y9hId8=TErs~ImF07!Z{-G!q`C1h`>?A*g!%%q1`n)&@Do$=abQa%IqbS
zA;joF!X-j^YJ8w6LfB8u_&`;@40nN<zdV8cX+@w11eB$0MW7-(3FH`J$vOyR#F{|E
z1X8dj&?JGZSQF?y0epd2v^sq2wkl8;zU8e7G=Oh6tO_)WZ}+VVG>&i6NPuZ~SPg!r
zU$iRF0=}(S6=(_HidF?$!?z8q0#)#>W>ui73luVtyTp8OH|g!T$Ncu(i=uB&tP1oP
z-|krzXdK_JTNP*&-||)k8o;*`Rt4(Bw+5>M)e*q5HG$p}NWq#wlLRtiO`u@{>9QtJ
zJAq^=SrO<XI|!&?MW6`+yJAJ4K?3{6iXU<ABZO(=13e;?%f<&9B$PTTMh7bKIU(IP
zI?x!Qbr>C}jR-t9HqZ=__|DisJwzhITO$L##v>v*BLkf!G9Ist3p7Whx{V9eNyH`)
zgZ4X-YocUKo+1Z{!OzA7x=JiE%o>qr29KDuu&#Zck2Djbe(eLDCuU<>=lPA;?Pgxv
zJac48KqISK=2_+d32CLQU7mH0kf1YcYL(|-PLZ(hscMsFi(XQ2L6byPejp_|HZ{1o
zdP&h~%8K8bPm!`#g&+FM96<q%ioQC|aR5c^W=z3DMHZ#>v#!vI{X7b4QRI8k49zGi
z!!=5&#wl_Y52ZEnM~a`~52A(RDLmKyrW1{L^s<;(oY$O1LmuaNmcT8!2M>+4bBjtW
zY08Yzh7tC1iKz(B{#70^$p0|RSLAs>G2|=Y1cU6uU_0qxm`Rp={$Xj7VcOY&Me6Bd
zfKkSoVu2;rs8FR!g*BE~;4$NjGC(JFSj2H0$8j9TaU93_4{R&N@heFr`Tzg`07*qo
IM6N<$g1#5~W&i*H

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xxhdpi/ic_reorder_black_24dp.png b/ring-android/app/src/main/res/drawable-xxhdpi/ic_reorder_black_24dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..0a66529bfeac1f43a44606a11b23344a7864c141
GIT binary patch
literal 113
zcmeAS@N?(olHy`uVBq!ia0vp^9w5xf3?%cF6<L53TYyi9E06|)rRh7*11ZLmAirP+
zhi5m^fE-Cr7srqa#$<^l3;x-2{866ks$T8>R(1{pgYCW9j{U8QwIH3Iu6{1-oD!M<
D>%<$U

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xxhdpi/ic_reorder_black_36dp.png b/ring-android/app/src/main/res/drawable-xxhdpi/ic_reorder_black_36dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..d72a9b986d3cc4103cb55f70e1dadb21f4d06273
GIT binary patch
literal 147
zcmeAS@N?(olHy`uVBq!ia0vp^IUvl$3?x5s?2iLdJOMr-u0R?NOkbK$19F&4g8YIR
z92%Z)=lBie8hg4phEy;nFA$bsUF?u0susaC_45CI&N?1;%RP1S_YzF*xj(Lj5-*wE
c4r(wkJm3Ddp6mbLGa#cqUHx3vIVCg!0E*Bmc>n+a

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xxxhdpi/ic_add_circle_white_48dp.png b/ring-android/app/src/main/res/drawable-xxxhdpi/ic_add_circle_white_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..7332c7572767695645983c7c261daef6cb088fb6
GIT binary patch
literal 1708
zcmZvddpMMN8^?doW5!^aK~C!|L#BqTq?tq%<4}%6O|(44<ghEOoMQ8An}`W%nvyrk
zA@eTUA)#66nU|ej>+p_42TCSn5!R_4!tOi$^ZxbzaeqI5-1q&xuKT*L`?|0A`+BIU
z=&Jw#)Vw_10_DU$hZ0V%YtO4V04OGTxw!_VLG!PB<AYur<t&ZSs+xb{rw<qFzdJ3q
z%dH^iQ(2L}ljlOJXz`Iha80kVbyTH-I!Vz*tw7D7k#Wg>i<oVXT;~Gwc16&y!8fce
zH0!QSj3jDCPLw?M)1@*z(WnKwY-=O)?;qDak9)}8e08IM8|Y1`{-3z-d;O}{Ac+1S
zi~Frz)O>1xxkxj==ez3^n<XfiC@6ImHc)#!S6-|bnrC+IvyX033{Uz&ql|qAjEpK?
zrgx}9&MLR2zAuY<0*;NPydB@ER>AMXdFW|jTP-&#d(=G!Ig;JzlyJD4mMDu4yB`Wl
zX`)o}b2xr5^d!1teOGev195m-TN?07xMu&6l%hjGiu^poArofbK}^v%U`PFPT9<GW
zK9_)|54<(}nfaSJX1Xo1I#F>Mzi8$0_%Kh{q48o8Uw)U;_$v6*G7uD+bj2QAjBSR5
zUs`;)Q@yJel&<F;Sj9g%flIrczC2*~OQYhVUFyG?-KtT_$fZr~1X}}O;al|bry0Vu
zR5g7el{=s+5m}}GQOF%o@gG-ppFS4?`37<eYBZ2b+mmhMz|a15@Z~|=qWvzddUi@R
z9@(>^)j&T#2qeA7wI1!B_BKYi+hrS7(4PUTe_ARFvP~%G#~#uts7J{m5$>B}i1yp)
z&^t0{Zur;eklp)MX#cJ965%0A7^=X}$guWB)p{xy=0jhI35&!ob}jYs1p{5oG#PqR
zqunf4SX5S$wtt<gAXPTz0yxEuln?+&GlP7n3<n)(y3-G5TA{)FO)N0WS(sI=U+7Lq
zfN_G@XO-|8WlXs|duk?65!tO&UL7XqNno8qS3&KR%HLmjXCmc;k!e8|`X$uVpF9R$
zyMnmAQeCMv)HH1N6dcD(&P+H%4ia^j(&r~WkPtnbBqd`L`iF)~?%R(9TXR(XYZ+cp
z<^s%OB@+ZGUEPI$c@uDyOe1qPK_(e3y1EXnF@Ra=5+w0C49sc=XNUqdoVu{l5jzXf
zRymHC0h|#1)X^mv5RH-uw8Am!`<2)9RP+d(FkRt@ae?9ObA(n3$T{1p(4&Ig3ta&D
z@(z&^;suDKDTHVx?4A(Vkpx^SYV7(sWw!Fn-{^3>yw;#3OZ(n&jhi^BBx(Ve$Sadd
zo)-0I_dpP>Dg5Sgm%}8{)(Ye_&vw+2Yx`%2NTxMf<P+fxY~&L}d^+GXyz>Gmv*=$X
zTusKoN&!FKU59M%<JBv^xwRXW$;tc+l<B(UUYI8#PHIroiL1t0Kzs>|%&AOmljeev
zx^Z2kRE{}a?3NC?p)rI<+(2B=5=nj|4znvH<fMj6{`Up$&|)44nahp_!V~H)Uu+fj
zMFUO?UUDdyx)Tliyi{!m1_9wHBR3cgR*<nSwsSsL2V1KF#sgywd?-azNebb=Ei}f~
zSb!9*ny*lP)Cb67vaOeZ-VVI<yT4KitY?O@`)6jZkg&8n8O#j<4f5X1IWrs19mm@$
zwswpTX>PIJfZqJ`!J=Zo>Il~2ta#c1hRH$yRh{8W7I>u1yFWwYh$gnC;J)BQjX`bN
ztN1?4*C!!P*p$`jhu?M%0A%iTNyVd1CMyJRPQiIWm@(A{FtWFQwB$K}O7DPAYCHy*
zuy>y}qSgbW%`0uGyukAiN3*6YsmAJ5Kiv99YuQ#8tfvhxAHzyn$K)=&F6NOrQ6o-n
zUC?IV&1Ag*oUnE>$!A%Q=MF0KA4WcrO?MV6B#ec%@2It2-hP>FfK5kSq&oCjQb|Cp
zPkeZk7cy>Ihzt{=&!UNq1ME*<QNsb_%F8ug)4pzJZ&o|F9onrNTlGl$r&T1eFE@*A
zqh8bui(g&*)yceMtJu$rnHAy4>*P!}Uq8q+pE;(-Ch&$hk+P(MJ$`|`Otv|1k~8`8
z*CQt_-@?wn<At_IL265O$L39%kdf_NM~Ce9VP@igZgb!J!2cenI)<U&!gFftPS#)J
zi}w01)lMmggZc+KX2d14Jwq`q`h%Q+Q~dRgFHAT0Q&v<r=wiB!U6<O~1}tuN=y5OH
z(kdd~O)Q9*i^{EEh+o1>qhJZn6!?JugZaN_;?ffv$u1w{UkG@)`?@_igk1bD`E%~q

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xxxhdpi/ic_add_white_24dp.png b/ring-android/app/src/main/res/drawable-xxxhdpi/ic_add_white_24dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..d64c22e9edfdcf9babea9681c44e2dee53a6d2f6
GIT binary patch
literal 102
zcmeAS@N?(olHy`uVBq!ia0vp^2_Vb}Bp6OT_L>T$m`Z~Df*BafCZDwc^5i{T978G?
xlN*`>5BzUTIj7P7-(I3-fns}2dtZ?oBSS_(`pg9u0+k>GJYD@<);T3K0RZru9Krwq

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xxxhdpi/ic_error_white_24dp.png b/ring-android/app/src/main/res/drawable-xxxhdpi/ic_error_white_24dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..830fb7e1e6860117fa31155fa24e5002984d1444
GIT binary patch
literal 814
zcmV+}1JV46P)<h;3K|Lk000e1NJLTq003YB003YJ1ONa4NRhv@0008@Nkl<ZcmeI(
zO-mbV6u|K@3zL}W<{IOs)hbfy_fUgrh1M37TJQ^qNVJ6ZbF=|R)I}?Z+ZGgqZVDFn
zLZl`Jy+M4%+%)1s`FDRe&oh~~({}!6Kk$Q@WOI%Y<Xk~PK|w)uk|xU%+Y~tGmV55G
z<(vXrERrQn62r-H>OpZvS)hbY2bjDdCIt{;m^E&&TAfu=g!~1xk)e#84w<3VA3%)v
zT;W8QWNGmlFhK<;J7(NFz$5aw(K=mT04Ay7R#jfR3y83c+nI#j0wmeRi*`u30qCQQ
zR~6}T8t{Y@ysSdMlYl->@VW}UP63jX@uMOMCjb$4@v9xe_5sWInQ0d=iQi4w0rXJA
z@2Ye)4#*>+^+o{`NNKDQK#U4@`v3FnbVSrT;2nqoz?@Y;8&{$L7sRarG9U^7(^dc>
z%HjYeLi&JV5C?!keZZPXz=|#)&W%Vwji?@A6hs1GL=Rw!1?2PqMX`W=9Y80D1wcX#
zNQ(xf)PSsLz?>SeBpP6<0o$Shc{QLQ8nCAZoQnpWssXp60d+OtUNqqDF967Yh5q!9
z__zNV-9mDkYQQ3rn^yy}NN!dQNF%u+H6V%P+SLGq1Ef~K&;iUNwGVoL=Sc0T9w0_t
z<R968MDzd#t0DoPFmwSak$?exK!`(efFe!$0D~EEfGG?sfL1O=0nUh70~lmQ0Wug?
z0WBPh0hEbY2N;YarI(Ga8f+k;FBpvix~SrJ*E~=IB=1X%*<E-t@v|I;T|k%}{OTLc
z_5lVR6!D`U{NvQxWiJ)H?q9l{Tzu{Km~hNvr&o`ADS7zvbi1+q-NAQ{KHYY=*6+hC
z;C4Bh-93PKLlw8WX3UEdlx{X~qpv*l?g(g{Bb=<vE3eP6qP*n-CpsfT#GgaBIMbA{
zQ;{iRexD)^vcgZSR^u}RG)XxIjWR-xeRL}Dk!M7FItEotf)sO@<k{ntI(OVr=afA*
snP-+E5;D(mtxo_500AHX1ON&13wp^)zA-65ApigX07*qoM6N<$f_&m$?EnA(

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xxxhdpi/ic_group_black_48dp.png b/ring-android/app/src/main/res/drawable-xxxhdpi/ic_group_black_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..b9f2b923deaae738fb63fdc98f36e2bf4191d0ff
GIT binary patch
literal 1178
zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE1xWt5x}=AJfhEz?#WAFU@y)?Tpcq5Lg1;-p
zS2BT^2r#2|cV+KtuE!St=I+^=)$6;WkFzU-mxE1ktA~qDsB&qbM#e3bFhQ<~S+lby
zZV?mTr!-?9i&AN*`J~W;QVS=zUP#KAJ<Usi_ox|nu;SLWCznk2F)^KaJg1BM;kmgx
zzyG*XY%%}7{D;&TGp)a$F;HBRxwxJ2*o-H?E~!Z-H^@cpJp6axx~Q@OHqILc>w_2H
zD-W_|KdGo_=4_t%bziX7&9gc|N7j8*d-|%@-Nc}2%7(;u8~3lzSB_kA#P{QzueGVN
zI!c0NbIVr$K4mrG#Ocj9Z|&REtD|6;Gp{u4+f>sDu1U8<U#)$uy*h=Zv+(|;O)J;0
z=kBarA9Xc6?7WW9=XC+OzVUY*j~w_GaXCE9o6m5=X`RiB*5|P&W#~s;3@>Lh+)}6g
z>(r%=jb{Uw-t*sMcI3geRo{izvm5TX`|9rzX$PKn++XV+^(wNNF9Aw>9(hm~^j`g5
z>5&J=uKw<PKA$1=pU{#s^&Hxtw=X>P$I&NJJE_2b<@c#S^&jgLNEvQf|Mj=ojXsH6
z+`nq2uNZYp+<32Z`Tgxg`=o@}U$xO!43i(Ie~kY6`&)%H(9tix=LQ|*_vn$n^8WU-
zx^+i?eA^$qKYu<i(7SK+uf6*Ic8h4|9@nTZzrWp*`WR|)KJD+myJjvs#QZ<4sk>jd
z+Om7fhRJu<-Y<7%-F-sIRp+qul$YOQCoQvn^3&wB`kG7ccduy6ouefGVfqE(J;%KM
z?z^3rF3fImta6>v{w=HLJeOe4NSs=C|Fg|`G!&-!Dr3>yy)utDj!ULCX%^||=pGjl
z?kSq1ER&?4YZBP5>Hk60c}{YZ<Uco`Z(pxoI-|!|JWF!PiB!pF2Kg6#ct759I+qe3
zZ<&3=Q$E?lXSaj=TpKsZj}<ctg==ej-#n3CCg^<ng1<VyQ0%PDY`?O!GM^diDgD2E
z?B!EQt&Swt=8M07ovNH?w@k1#^~a>IQ-W7L<;nQAxVqzSjMEfzNAun(&(!u^f8ieP
zsJ(mw%UhM%8p|uTf86Y3KS}D_2kA)%dM_XK>ME75U-7NGi2J=!uS$jFy@zRCo9FF`
zv)`j-wX-K;gLlsIuB11YU$uW%c`ndx<|X`4_qq7hI>xItesUXgy1#5{+HfuNTl3n7
zN=Yy4o(3Lzb^R54^-O!gZu8^bEtfsw7RqZJwL8*S>(yn@r}c&Tt5V;Zc7u6gFW7$w
z6lS~+jOgNy`uqP@o5eOhuHO;c|F6G#MzJq<TD9gA!Mp!>HTOBo+)-$qVz~6?{zUFa
zFK%friQmb8fb+;j-oO*TPt`tPJo3;~V2$fe{+bqxJ^UQsb`;6KaF@9k*mQU49rijG
znR^@uS55tWz~s>fBbL=6@0cHbyCVPJ{_RCWMqoM6wBg^{Ud7{XEIbAeW-_u#BsAb5
d5akA#Rm$8uO}m6A?2|5t>*?y}vd$@?2>>5EF46!1

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xxxhdpi/ic_home_black_48dp.png b/ring-android/app/src/main/res/drawable-xxxhdpi/ic_home_black_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..8fac2c3aca3edbd13cc8256203366acda8f6daf6
GIT binary patch
literal 589
zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE1xWt5x}=AJfl0*E#WAFU@y$Vd(WU^IhKv1;
zzTsRM%tjd;J&t_Q8JtEL%v=VW4L?jic<}MZ^Izui-QW9Sy~iXKPdL)D(BrOiQcX{)
zT%=;X_GQQKKGDdPkGyR51WfGR_T|XsdAyM;(iGxkRs<GRyFEHPQP%6#0hbz!iwjbs
z(jJ|jIZgU^sSi`2h^yg+{jav46)%|WoG{bnXhzGr^6GZu7gl=?OP0vqd&skkufKpT
zc6+%+^SZ;<a~!Wfls&iLbwRW7i(h<&Y_Xc>7HA)pELjSa6-mD^^%2jmpgE4=UB)lG
zfRc*%BtbflfOYCwcwb~q*WC3$$5njJ(icserD6-NE#^K~RdO)0U(bU30&6<st_M83
ztbisr7{A~GI)@Rc`G8~zt3@-0W|7!}X^XheDFHP%=mDK219aA7o?S&i%{>rj0X+cK
zypAEg`QH5h+5LT)z?czW_?n-~akpjxQ#BI{hk$}Z0|O&EqhT7R7|9}kI1z>e?S%sY
XC$})ypEvhZf<!!B{an^LB{Ts5&`#27

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xxxhdpi/ic_info_black_48dp.png b/ring-android/app/src/main/res/drawable-xxxhdpi/ic_info_black_48dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..4192281fe16142442e33b0735d959c9c40917752
GIT binary patch
literal 1561
zcmV+!2Il#RP)<h;3K|Lk000e1NJLTq006)M006)U1ONa4_|>G0000HxNkl<ZcmeI*
z%WqWY9f$E}9H;hlQ3KwR+QP+*We`P47Fn>!jwI|_q&Sy43#0^zEVEz$hh>C@6r_-*
zL8UDYty7XVs10J5Ql_#kr&6G@r9^@?a$Gx3V)-(cU!_Q1AQ{Hz`ku@8^ZW^4IK1a#
zjEIPch=_=Yh=_=YNJ13Z%|TwL!ey>A#a(7uWSIsHmRV$$yG(JN52$dIgA7t6Fxkd)
zjPMa((ZD>`;7hJB!n16}Bk5*{3(U~OLa50!@AEv{ke2rFCKEKU2&yyANd}P(?cx+O
zSPV@wLO;m5BEwX%nEMwmQzZ9#Im<VgqZW9Z9&+nR{z4sdT#Y~TIJxr#*RTZjclMDR
zgM5M|t|lK-BJ;XAPaR8WHO{e>%xdE(^H{>0<24Fo&>-VjN~$tIraa0iR<RVd%1PSE
zh<>K96gEL08E}~Iv6S{5uaIg*MzNH4kxo)-2VY<r=yQ5Vp{JS0GSVFTNtu^f#WK_i
zL!`(Embsc7BNYmq#WGrj#B1XMmf?Owfdp$~6w7#jNbUp$E?_z6Jre31mXprt<m0+y
zB+Rd{T-9WV1bLb@EN88-pM==KJeI@e=pg}$e1YY(&*{XuQ7p&(4#y5-Id2$;cJe)z
z^S)&Vjy%c~h8m|GCr)8Mq)y<#Zr0EKYK0OpYhxTkt#^|Gu{w&~mwJ^Lbu*9Mm-?D5
z#O58$S*@6}eoagUscV1@T4NWn_yp4c8+L^lJb^tR4bWsSk-Me=9@14J_9UhO9@;)4
z^`Qo6(PbjkOI-uBsK#SN<}9WG+<mn2W4_S<n`oX+A~B3<fKBxhk*I2bO?HC_lrRmj
z>3-(+{g(zfLFi^QfQN1qvOSmv@YDdIdJ|KgI!>r2Fy*N#A?l`qDNoheLTH9C<+($I
z<^rZX_paL`sJcx^w$a3t=Nfboisvw2sRNn#`A6Lge1!Q*jS-5kFkh(|LQwR56Q=5P
z5ZG?acdA5S2QlBNX9(<d%y;StfmJZysnY~@8B0{HSfaW_VAnN3fUXhPlm-aUB!S)4
z00Fu~V6z$^K=%l2Q3C{MfxwnEK!BDAtf2t{RM!A*tLqZvwk7=|?6w6RL)~^yH)3wP
zqel^Lo7BTNw|z=rA7C!i<LHV8aQi~$s0MKRO7frvaQkuMpauxgE|(u>X@D9Xgy2gJ
z;InB$aYY08Y|QQF=^CI+D4x{-Zht^yD@_gHqXs`AB-0weN4E&g`x?MU=Lya88o)=t
zBsAM-XaJAZ=psbp8o*;W3Drpr;IT5H+N}XRRw8868o<pF)XxJ64NxX@{TjeSeMI1<
z2H0eux&5u#8sG&YQDi{_Y@+|sK}6ox0Gp^nWO}G;fEKN>od}I-fEJAssmC=yi}n(+
ze`tV*^fw~6kERBAKuz`#gO4@90~#Y1C2AUAgVxwdOwMV54XO~Et;}KfrDo|OMz3M_
zr4AFT0{_O;di;|DF&khN`ysVVKMt(Fs8?m2XlDXbRCxqP`uGmZd5iSo&?{KZdlAQe
zkL9@E;#?>H!E)LpKOzBoa(Z7p%XSiCKPx#r`#(j34AI1LRFgv_Oc~2jZ{U#rqx-i=
zsQ0iO^bU#D#vieacaZ`KR>=6@g7XweyfeD?yH?KNp|r^xq{vXlZq1fCM9S>X&;yED
zo+5>MGV+*ilE+A?PA+EPfpZ6`Hq5sve%tjT8PLZ#mcpv^k`e8kNZF}qnPWUcrVLQU
zQqm3j$)EzS@^uQ1oQElpSz9<u4NGWiROlk}N?f6dC9Ec6>?AjS&Q&Zy{gplB&OZJ`
zEdiIEQTCEsKjjSbn4{*Yu$|oN<Rxyze#QTc7wAORv6B=07mJ}=l<8wbGQe@F)UgPv
zag#D7T9Pds;$3djz(T0OEza``y6{N4IKXi}WQMwrKkw6wQRV<$1STDnc!ndK<`UPK
z<PP^(V2L_)mRR5(cbMc;E^(S89AFn6h=_=Yh=_=Yh=_=YB*OmzLg7Qaha4~t00000
LNkvXXu0mjfiH6-3

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xxxhdpi/ic_reorder_black_24dp.png b/ring-android/app/src/main/res/drawable-xxxhdpi/ic_reorder_black_24dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..56a5bc8ba3ed86b692dd7fd3e4dbc5cdd3857d1e
GIT binary patch
literal 116
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeK3?y%aJ*@^(YymzYu0R?HmZtAK52P4Ng8YIR
z9G=}s19D_MT^vIy7?T;A0uTI`=d!yn!8!eZ&#&|=_KO)9KAOpW$O(U+0n+U0>gTe~
HDWM4f9he}?

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/drawable-xxxhdpi/ic_reorder_black_36dp.png b/ring-android/app/src/main/res/drawable-xxxhdpi/ic_reorder_black_36dp.png
new file mode 100644
index 0000000000000000000000000000000000000000..b5cfb6970fb4929b5d6f8f6bef32c117a048c3f3
GIT binary patch
literal 127
zcmeAS@N?(olHy`uVBq!ia0vp^6F``e8A#skDEJMe*aCb)T!AzYEKT2e9!N2k1o;Is
zI6S+N2IQ!Fx;TbZFeWRA_cR42{FmqaBU$Hkn7QZJ;|c7GKUzrj0|_oSMux`E74MJn
RCQJdD<LT<>vd$@?2>{QWB|HEC

literal 0
HcmV?d00001

diff --git a/ring-android/app/src/main/res/layout/activity_home.xml b/ring-android/app/src/main/res/layout/activity_home.xml
index 66422c9cc..5bbadcc73 100644
--- a/ring-android/app/src/main/res/layout/activity_home.xml
+++ b/ring-android/app/src/main/res/layout/activity_home.xml
@@ -1,9 +1,9 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
+<?xml version="1.0" encoding="utf-8"?><!--
 Copyright (C) 2004-2014 Savoir-Faire Linux Inc.                     
                                                                     
-Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com>                     
-                                                                    
+Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com>
+Author: Adrien Béraud <adrien.beraud@savoirfairelinux.com>
+
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 3 of the License, or   
@@ -31,22 +31,66 @@ as that of the covered work.
 -->
 
 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/drawer_layout"
     android:layout_width="match_parent"
-    android:layout_height="match_parent" >
+    android:layout_height="match_parent"
+    android:fitsSystemWindows="true">
 
     <cx.ring.views.SlidingUpPanelLayout
         android:id="@+id/contact_panel"
         android:layout_width="match_parent"
-        android:layout_height="match_parent" >
+        android:layout_height="match_parent">
 
-        <FrameLayout
-            android:id="@+id/main_frame"
+        <RelativeLayout
             android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:paddingTop="?android:attr/actionBarSize"
-            android:orientation="vertical" >
-        </FrameLayout>
+            android:layout_height="match_parent">
+
+            <android.support.v7.widget.Toolbar
+                android:id="@+id/main_toolbar"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_alignParentLeft="true"
+                android:layout_alignParentStart="true"
+                android:layout_alignParentTop="true"
+
+                android:background="@color/sfl_dark_blue"
+                android:elevation="4dp"
+                android:gravity="bottom"
+                android:longClickable="true"
+                android:minHeight="?android:attr/actionBarSize"
+                android:popupTheme="@style/Theme.AppCompat.Light.NoActionBar"
+                android:theme="@style/MyActionBar"
+                app:contentInsetStart="72dp"
+                app:elevation="4dp"
+                app:popupTheme="@style/Theme.AppCompat.Light.NoActionBar"
+                app:titleMarginBottom="16dp" />
+
+            <FrameLayout
+                android:id="@+id/main_frame"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_alignParentLeft="true"
+                android:layout_alignParentStart="true"
+                android:layout_below="@id/main_toolbar"
+                android:orientation="vertical" />
+
+            <android.support.design.widget.FloatingActionButton
+                android:id="@+id/action_button"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignBottom="@id/main_toolbar"
+                android:layout_alignParentLeft="true"
+                android:layout_alignParentStart="true"
+                android:layout_centerVertical="true"
+                android:layout_marginBottom="-20dp"
+                android:layout_marginLeft="16dp"
+                android:layout_marginStart="20dp"
+                android:elevation="4dp"
+                android:visibility="gone"
+                app:elevation="4dp"
+                app:fabSize="mini" />
+        </RelativeLayout>
 
         <FrameLayout
             android:id="@+id/contacts_frame"
@@ -57,13 +101,15 @@ as that of the covered work.
             android:focusableInTouchMode="true" />
     </cx.ring.views.SlidingUpPanelLayout>
 
-    <FrameLayout
+    <android.support.design.widget.NavigationView
         android:id="@+id/left_drawer"
-        android:layout_width="300dp"
+        android:layout_width="wrap_content"
         android:layout_height="match_parent"
         android:layout_gravity="start"
-        android:choiceMode="singleChoice"
-        android:divider="@android:color/transparent"
-        android:dividerHeight="0dp" />
+        android:fitsSystemWindows="true"
+        android:theme="@style/AppThemeBase"
+        android:windowBackground="@color/white"
+        app:itemTextColor="?android:textColorPrimary"
+        app:menu="@menu/drawer" />
 
 </android.support.v4.widget.DrawerLayout>
\ No newline at end of file
diff --git a/ring-android/app/src/main/res/layout/frag_accounts_list.xml b/ring-android/app/src/main/res/layout/frag_accounts_list.xml
index c0fee129d..22d71dceb 100644
--- a/ring-android/app/src/main/res/layout/frag_accounts_list.xml
+++ b/ring-android/app/src/main/res/layout/frag_accounts_list.xml
@@ -1,75 +1,65 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:dslv="http://schemas.android.com/apk/res/cx.ring"
+    xmlns:dslv="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:orientation="vertical" >
+    android:orientation="vertical"
+    android:background="@color/white"
+    >
 
-    <TextView
-        android:id="@+id/normal_account_list"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="@color/sfl_another_blue"
-        android:paddingLeft="5dp"
-        android:singleLine="true"
-        android:text="@string/preference_section1"
-        android:textAppearance="@android:style/TextAppearance.Holo.Medium.Inverse"
-        android:textColor="@color/white" />
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="48dp"
+            android:paddingLeft="72dp"
+            android:text="Comptes"
+            style="@style/Subheader"
+            android:gravity="center_vertical" />
 
-    <RelativeLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content" >
+       <RelativeLayout
+           android:layout_width="match_parent"
+           android:layout_height="wrap_content" >
 
-        <cx.ring.views.dragsortlv.DragSortListView
-            android:id="@+id/accounts_list"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:background="@color/white"
-            android:choiceMode="multipleChoice"
-            android:dividerHeight="1px"
-            android:visibility="gone"
-            dslv:collapsed_height="1px"
-            dslv:drag_enabled="true"
-            dslv:drag_handle_id="@id/drag_handle"
-            dslv:drag_scroll_start="0.33"
-            dslv:drag_start_mode="onDown"
-            dslv:float_alpha="0.6"
-            dslv:float_background_color="@color/sfl_action_blue"
-            dslv:remove_enabled="false"
-            dslv:slide_shuffle_speed="0.3" />
+           <cx.ring.views.dragsortlv.DragSortListView
+               android:id="@+id/accounts_list"
+               android:layout_width="match_parent"
+               android:layout_height="wrap_content"
+               android:background="@color/white"
+               android:choiceMode="multipleChoice"
+               android:dividerHeight="1px"
+               android:visibility="gone"
+               dslv:collapsed_height="1px"
+               dslv:drag_enabled="true"
+               dslv:drag_handle_id="@id/drag_handle"
+               dslv:drag_scroll_start="0.33"
+               dslv:drag_start_mode="onDown"
+               dslv:float_alpha="0.6"
+               dslv:float_background_color="@color/sfl_action_blue"
+               dslv:remove_enabled="false"
+               dslv:slide_shuffle_speed="0.3" />
 
-        <ProgressBar
-            android:id="@+id/loading_spinner"
-            style="?android:progressBarStyle"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_margin="15dp"
-            android:layout_centerInParent="true"
-            android:layout_gravity="center" />
+           <ProgressBar
+               android:id="@+id/loading_spinner"
+               style="?android:progressBarStyle"
+               android:layout_width="wrap_content"
+               android:layout_height="wrap_content"
+               android:layout_margin="5dp"
+               android:layout_centerInParent="true"
+               android:layout_gravity="center"
+               android:indeterminate="false" />
 
-        <TextView
-            android:id="@+id/empty_account_list"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_centerInParent="true"
-            android:layout_gravity="center"
-            android:gravity="center"
-            android:text="@string/empty_account_list"
-            android:textSize="40sp"
-            android:visibility="gone" >
-        </TextView>
-    </RelativeLayout>
+           <TextView
+               android:id="@+id/empty_account_list"
+               android:layout_width="wrap_content"
+               android:layout_height="wrap_content"
+               android:layout_centerInParent="true"
+               android:layout_gravity="center"
+               android:gravity="center"
+               android:text="@string/empty_account_list"
+               android:textAppearance="?android:attr/textAppearanceMedium"
+               android:visibility="gone">
+           </TextView>
 
-    <TextView
-        android:id="@+id/ip2ip_account"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="@color/sfl_another_blue"
-        android:paddingLeft="5dp"
-        android:singleLine="true"
-        android:text="@string/ip2ip_account"
-        android:textAppearance="@android:style/TextAppearance.Holo.Medium.Inverse"
-        android:textColor="@color/white" />
+       </RelativeLayout>
 
     <ListView
         android:id="@+id/ip2ip"
diff --git a/ring-android/app/src/main/res/layout/frag_menu.xml b/ring-android/app/src/main/res/layout/frag_menu.xml
deleted file mode 100644
index c643ed95a..000000000
--- a/ring-android/app/src/main/res/layout/frag_menu.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@color/light"
-    android:orientation="vertical"
-    android:paddingTop="?android:attr/actionBarSize" >
-
-    <RelativeLayout
-        android:layout_width="match_parent"
-        android:layout_height="100dp"
-        android:background="@color/sfl_blue_0"
-        android:padding="5dp" >
-
-        <ImageView
-            android:id="@+id/user_photo"
-            android:layout_width="70dp"
-            android:layout_height="70dp"
-            android:layout_alignParentLeft="true"
-            android:layout_centerVertical="true" />
-
-        <TextView
-            android:id="@+id/user_name"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_alignParentRight="true"
-            android:layout_marginLeft="15dp"
-            android:layout_toRightOf="@+id/user_photo"
-            android:singleLine="true"
-            android:textColor="@color/white"
-            android:textSize="20sp"
-            android:textStyle="bold" />
-
-        <RelativeLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_alignLeft="@+id/user_name"
-            android:layout_alignParentBottom="true"
-            android:layout_alignRight="@+id/user_name"
-            android:layout_below="@+id/user_name" >
-
-            <Spinner
-                android:id="@+id/account_selection"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:background="@color/sfl_blue_0" />
-
-            <ImageView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_alignParentRight="true"
-                android:layout_centerVertical="true"
-                android:clickable="false"
-                android:focusable="false"
-                android:src="@drawable/ic_action_expand_light" />
-        </RelativeLayout>
-    </RelativeLayout>
-
-    <ListView
-        android:id="@+id/listView"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:choiceMode="singleChoice"
-        android:listSelector="@drawable/navigation_selector" >
-    </ListView>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/ring-android/app/src/main/res/layout/frag_menu_header.xml b/ring-android/app/src/main/res/layout/frag_menu_header.xml
new file mode 100644
index 000000000..43686adbd
--- /dev/null
+++ b/ring-android/app/src/main/res/layout/frag_menu_header.xml
@@ -0,0 +1,42 @@
+<?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="wrap_content"
+    android:background="@color/sfl_blue_0"
+    android:paddingBottom="8dp"
+    android:paddingRight="5dp"
+    android:paddingTop="40dp"
+    android:theme="@style/MenuHeader"
+    android:paddingLeft="16dp">
+
+    <ImageView
+        android:id="@+id/user_photo"
+        android:layout_width="70dp"
+        android:layout_height="70dp"
+        android:layout_alignParentLeft="true"
+        android:layout_alignParentStart="true"
+        android:layout_alignParentTop="true"
+        android:layout_marginBottom="8dp" />
+
+    <TextView
+        android:id="@+id/user_name"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentEnd="true"
+        android:layout_alignParentLeft="true"
+        android:layout_alignParentRight="true"
+        android:layout_alignParentStart="true"
+        android:layout_below="@+id/user_photo"
+        android:singleLine="true"
+        android:textSize="20sp"
+        android:textStyle="bold"
+        android:textColor="@color/white" />
+
+    <Spinner
+        android:id="@+id/account_selection"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_alignParentLeft="true"
+        android:layout_alignParentStart="true"
+        android:layout_below="@+id/user_name"/>
+</RelativeLayout>
\ No newline at end of file
diff --git a/ring-android/app/src/main/res/layout/item_account.xml b/ring-android/app/src/main/res/layout/item_account.xml
index 3f085216b..422d7effe 100644
--- a/ring-android/app/src/main/res/layout/item_account.xml
+++ b/ring-android/app/src/main/res/layout/item_account.xml
@@ -1,9 +1,8 @@
 <?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="wrap_content"
-    android:background="@color/sfl_blue_0"
-    android:padding="4dp" >
+    android:layout_height="72dp"
+    android:padding="16dp">
 
     <TextView
         android:id="@+id/account_alias"
@@ -11,30 +10,24 @@
         android:layout_height="wrap_content"
         android:layout_alignParentLeft="true"
         android:layout_alignParentTop="true"
-        android:layout_marginBottom="4dp"
-        android:layout_marginLeft="4dp"
-        android:textAppearance="?android:attr/textAppearanceLargeInverse" />
-    
-        <TextView
+        android:textAppearance="@style/ListPrimary" />
+
+    <TextView
         android:id="@+id/account_host"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentLeft="true"
         android:layout_below="@+id/account_alias"
-        android:layout_marginBottom="4dp"
-        android:layout_marginLeft="4dp"
-        android:textAppearance="?android:attr/textAppearanceSmallInverse" />
-
+        android:textAppearance="@style/ListSecondary" />
 
     <ImageView
-        android:id="@+id/account_selected"
+        android:id="@+id/error_indicator"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentRight="true"
         android:layout_centerVertical="true"
-        android:background="@null"
         android:clickable="false"
         android:focusable="false"
-        android:src="@drawable/ic_action_accept" />
+        android:src="@drawable/ic_error_white_24dp" />
 
 </RelativeLayout>
\ No newline at end of file
diff --git a/ring-android/app/src/main/res/layout/item_account_pref.xml b/ring-android/app/src/main/res/layout/item_account_pref.xml
index 8785b1073..89193fec4 100644
--- a/ring-android/app/src/main/res/layout/item_account_pref.xml
+++ b/ring-android/app/src/main/res/layout/item_account_pref.xml
@@ -12,7 +12,7 @@
             android:layout_centerVertical="true"
             android:layout_alignParentLeft="true"
             android:layout_marginLeft="16dp"
-            android:src="@drawable/handle"/>
+            android:src="@drawable/ic_reorder_black_24dp"/>
 
     <TextView
         android:id="@+id/account_alias"
diff --git a/ring-android/app/src/main/res/layout/item_account_selected.xml b/ring-android/app/src/main/res/layout/item_account_selected.xml
new file mode 100644
index 000000000..ba3b8c06d
--- /dev/null
+++ b/ring-android/app/src/main/res/layout/item_account_selected.xml
@@ -0,0 +1,38 @@
+<?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="72dp"
+    android:paddingTop="16dp"
+    android:paddingRight="16dp"
+    android:minHeight="72dp"
+    android:paddingBottom="16dp">
+
+    <TextView
+        android:id="@+id/account_alias"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentLeft="true"
+        android:layout_alignParentTop="true"
+        android:textAppearance="?android:attr/textAppearanceMedium"
+        android:textColor="@color/white" />
+
+    <TextView
+        android:id="@+id/account_host"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentLeft="true"
+        android:layout_below="@+id/account_alias"
+        android:textAppearance="?android:attr/textAppearanceSmall"
+        android:textColor="@color/white" />
+
+    <ImageView
+        android:id="@+id/error_indicator"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentRight="true"
+        android:layout_centerVertical="true"
+        android:clickable="false"
+        android:focusable="false"
+        android:src="@drawable/ic_error_white_24dp" />
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/ring-android/app/src/main/res/layout/item_codec.xml b/ring-android/app/src/main/res/layout/item_codec.xml
index e91cb8a7c..a604aa1cf 100644
--- a/ring-android/app/src/main/res/layout/item_codec.xml
+++ b/ring-android/app/src/main/res/layout/item_codec.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@id/container"
+    android:id="@+id/codec_container"
     android:layout_width="match_parent"
     android:layout_height="?android:attr/listPreferredItemHeight" >
 
diff --git a/ring-android/app/src/main/res/layout/menuheader.xml b/ring-android/app/src/main/res/layout/menuheader.xml
index 3509b8411..49dd54d00 100644
--- a/ring-android/app/src/main/res/layout/menuheader.xml
+++ b/ring-android/app/src/main/res/layout/menuheader.xml
@@ -1,6 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
     android:orientation="vertical" android:layout_width="match_parent"
     android:layout_height="match_parent">
 
+    <fragment
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:name="cx.ring.fragments.MenuFragment"
+        android:id="@+id/accountselector"
+        tools:layout="@layout/frag_menu_header" />
 </LinearLayout>
\ No newline at end of file
diff --git a/ring-android/app/src/main/res/menu/drawer.xml b/ring-android/app/src/main/res/menu/drawer.xml
new file mode 100644
index 000000000..0c0a18b23
--- /dev/null
+++ b/ring-android/app/src/main/res/menu/drawer.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+    <group android:checkableBehavior="single">
+        <item
+            android:id="@+id/menuitem_home"
+            android:checked="true"
+            android:icon="@drawable/ic_home_black_48dp"
+            android:title="@string/menu_item_home"/>
+        <item
+            android:id="@+id/menuitem_accounts"
+            android:icon="@drawable/ic_group_black_48dp"
+            android:title="@string/menu_item_accounts"/>
+        <item
+            android:id="@+id/menuitem_about"
+            android:icon="@drawable/ic_info_black_48dp"
+            android:title="@string/menu_item_about"/>
+    </group>
+</menu>
\ No newline at end of file
diff --git a/ring-android/app/src/main/res/values-fr/strings_account.xml b/ring-android/app/src/main/res/values-fr/strings_account.xml
index 23edba28b..92971c37f 100644
--- a/ring-android/app/src/main/res/values-fr/strings_account.xml
+++ b/ring-android/app/src/main/res/values-fr/strings_account.xml
@@ -36,7 +36,7 @@ as that of the covered work.
     <string name="prompt_hostname">Nom du serveur</string>
     <string name="prompt_username">Nom d\'utilisateur</string>
     <string name="prompt_password">Mot de passe</string>
-    <string name="action_create"><b>Enregistrer le compte</b></string>
+    <string name="action_create">Ajouter le compte</string>
     <string name="action_create_short">Enregistrer</string>
     <string name="error_field_required">Ce champ est requis</string>
 
diff --git a/ring-android/app/src/main/res/values-v21/styles.xml b/ring-android/app/src/main/res/values-v21/styles.xml
index 00080de2b..cbf5228c9 100644
--- a/ring-android/app/src/main/res/values-v21/styles.xml
+++ b/ring-android/app/src/main/res/values-v21/styles.xml
@@ -1,38 +1,24 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <style name="AppThemeWithOverlay" parent="android:Theme.Material.Light.DarkActionBar">
+    <style name="AppThemeWithOverlay" parent="AppThemeBase">
         <item name="android:actionBarStyle">@style/MyActionBar</item>
-        <item name="android:actionMenuTextAppearance">@style/MyActionBar.MenuTextStyle</item>
         <item name="android:windowActionBarOverlay">true</item>
+        <item name="windowActionBarOverlay">true</item>
         <item name="android:windowBackground">@drawable/bg_72</item>
-        <item name="android:activatedBackgroundIndicator">@drawable/navigation_selector</item>
+        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
+        <item name="android:statusBarColor">@android:color/transparent</item>
+        <item name="android:windowTranslucentStatus">true</item>
     </style>
 
-    <style name="AccountFormContainer">
-        <item name="android:layout_width">match_parent</item>
-        <item name="android:layout_height">wrap_content</item>
-        <item name="android:padding">16dp</item>
+    <style name="AppThemeWithoutOverlay" parent="@android:style/Theme.Material.Light.DarkActionBar">
+        <item name="android:actionBarStyle">@style/NativeActionBar</item>
     </style>
 
-    <style name="AppThemeWithoutOverlay" parent="android:Theme.Material.Light.DarkActionBar">
-        <item name="android:actionBarStyle">@style/MyActionBar</item>
-        <item name="android:actionMenuTextAppearance">@style/MyActionBar.MenuTextStyle</item>
-        <item name="android:windowActionBarOverlay">false</item>
-    </style>
-
-    <style name="MyActionBar" parent="@android:style/Widget.ActionBar">
+    <style name="NativeActionBar" parent="@android:style/Widget.ActionBar">
         <item name="android:background">@color/sfl_dark_blue</item>
-        <item name="android:titleTextStyle">@style/MyActionBar.Text</item>
+        <item name="android:titleTextStyle">@style/NativeActionBar.Text</item>
     </style>
 
-    <style name="MyActionBar.Text" parent="@android:style/TextAppearance.Material.Widget.ActionBar.Title">
-        <item name="android:textColor">@color/white</item>
-        <item name="android:textSize">18sp</item>
+    <style name="NativeActionBar.Text" parent="@android:style/TextAppearance.Material.Widget.ActionBar.Title">
     </style>
-
-    <style name="MyActionBar.MenuTextStyle" parent="android:style/TextAppearance.Material.Widget.ActionBar.Menu">
-        <item name="android:textColor">#FF0</item>
-        <item name="android:textSize">20sp</item>
-    </style>
-
 </resources>
\ No newline at end of file
diff --git a/ring-android/app/src/main/res/values/strings_account.xml b/ring-android/app/src/main/res/values/strings_account.xml
index e769eb41f..974290f87 100644
--- a/ring-android/app/src/main/res/values/strings_account.xml
+++ b/ring-android/app/src/main/res/values/strings_account.xml
@@ -36,7 +36,7 @@ as that of the covered work.
     <string name="prompt_hostname">Hostname</string>
     <string name="prompt_username">Username</string>
     <string name="prompt_password">Password</string>
-    <string name="action_create"><b>Register Account</b></string>
+    <string name="action_create">Add account</string>
     <string name="action_create_short">Register</string>
     <string name="error_field_required">This field is required</string>
 
diff --git a/ring-android/app/src/main/res/values/styles.xml b/ring-android/app/src/main/res/values/styles.xml
index baab018b4..89379e3f8 100644
--- a/ring-android/app/src/main/res/values/styles.xml
+++ b/ring-android/app/src/main/res/values/styles.xml
@@ -1,9 +1,15 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <style name="AppThemeWithOverlay" parent="android:Theme.Holo.Light.DarkActionBar">
+    <style name="AppThemeBase" parent="Theme.AppCompat.Light.NoActionBar">
+
+    </style>
+
+    <style name="AppThemeWithOverlay" parent="AppThemeBase">
+
         <item name="android:actionBarStyle">@style/MyActionBar</item>
-        <item name="android:actionMenuTextAppearance">@style/MyActionBar.MenuTextStyle</item>
+
         <item name="android:windowActionBarOverlay">true</item>
+        <item name="windowActionBarOverlay">true</item>
         <item name="android:windowBackground">@drawable/bg_72</item>
         <item name="android:activatedBackgroundIndicator">@drawable/navigation_selector</item>
     </style>
@@ -14,25 +20,47 @@
         <item name="android:padding">16dp</item>
     </style>
 
-    <style name="AppThemeWithoutOverlay" parent="android:Theme.Holo.Light.DarkActionBar">
-        <item name="android:actionBarStyle">@style/MyActionBar</item>
-        <item name="android:actionMenuTextAppearance">@style/MyActionBar.MenuTextStyle</item>
-        <item name="android:windowActionBarOverlay">false</item>
+    <style name="AppThemeWithoutOverlay" parent="@android:style/Theme.Holo.Light.DarkActionBar">
+        <item name="android:actionBarStyle">@style/NativeActionBar</item>
     </style>
 
-    <style name="MyActionBar" parent="@android:style/Widget.ActionBar">
+    <style name="NativeActionBar" parent="@android:style/Widget.ActionBar">
         <item name="android:background">@color/sfl_dark_blue</item>
-        <item name="android:titleTextStyle">@style/MyActionBar.Text</item>
+        <item name="titleTextStyle">@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse</item>
+
+    </style>
+
+    <style name="NativeActionBar.Text" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
+    </style>
+
+    <style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
+        <item name="android:textColorPrimary">@android:color/primary_text_dark</item>
+        <item name="android:textColorSecondary">@android:color/secondary_text_dark</item>
+        <item name="selectableItemBackground">?android:selectableItemBackground</item>
+        <item name="selectableItemBackgroundBorderless">?android:selectableItemBackground</item>
+        <item name="actionMenuTextColor">@color/abc_primary_text_material_light</item>
+    </style>
+    <style name="MenuHeader" parent="Theme.AppCompat.Light.NoActionBar">
+        <item name="android:textColorPrimary">@android:color/primary_text_dark</item>
+        <item name="android:textColorSecondary">@android:color/secondary_text_dark</item>
+    </style>
+
+    <style name="Subheader">
+        <item name="android:textSize">14sp</item>
+        <item name="android:typeface">normal</item>
+        <item name="android:textColor">@android:color/tertiary_text_light</item>
     </style>
 
-    <style name="MyActionBar.Text" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
-        <item name="android:textColor">@color/white</item>
-        <item name="android:textSize">18sp</item>
+    <style name="ListPrimary">
+        <item name="android:textSize">16sp</item>
+        <item name="android:typeface">normal</item>
+        <item name="android:textColor">@android:color/primary_text_light</item>
     </style>
 
-    <style name="MyActionBar.MenuTextStyle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Menu">
-        <item name="android:textColor">#FF0</item>
-        <item name="android:textSize">20sp</item>
+    <style name="ListSecondary">
+        <item name="android:textSize">14sp</item>
+        <item name="android:typeface">normal</item>
+        <item name="android:textColor">@android:color/tertiary_text_light</item>
     </style>
 
 </resources>
\ No newline at end of file
-- 
GitLab