account: add device name edition

Change the device list:
* add "this device" indication
* add dialog to rename our device
* minor bug fix in revocation dialog:
  getDialog() is always null in onCreateDialog()

Change-Id: I8e5b7256268bf4018cba135402e6f6de00b745cc
Tuleap: #1494
diff --git a/ring-android/app/src/main/res/layout/dialog_device_rename.xml b/ring-android/app/src/main/res/layout/dialog_device_rename.xml
new file mode 100644
index 0000000..b7a04a3
--- /dev/null
+++ b/ring-android/app/src/main/res/layout/dialog_device_rename.xml
@@ -0,0 +1,27 @@
+<?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:orientation="vertical"
+    android:paddingTop="16dp">
+
+    <android.support.design.widget.TextInputLayout
+        android:id="@+id/ring_device_name_txt_box"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="16dp"
+        android:layout_marginLeft="12dp"
+        android:layout_marginRight="12dp">
+
+        <android.support.design.widget.TextInputEditText
+            android:id="@+id/ring_device_name_txt"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:hint="@string/account_rename_device_hint"
+            android:imeOptions="actionDone"
+            android:inputType="textCapWords"
+            android:lines="1"
+            android:maxLines="1" />
+    </android.support.design.widget.TextInputLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/ring-android/app/src/main/res/layout/frag_device_list.xml b/ring-android/app/src/main/res/layout/frag_device_list.xml
index 286613f..4672b3d 100644
--- a/ring-android/app/src/main/res/layout/frag_device_list.xml
+++ b/ring-android/app/src/main/res/layout/frag_device_list.xml
@@ -92,14 +92,14 @@
                     style="@style/Subheader"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    android:ellipsize="end"
+                    android:ellipsize="middle"
                     android:gravity="center_vertical"
                     android:lines="1"
                     android:paddingBottom="8dp"
                     android:paddingLeft="16dp"
                     android:paddingRight="16dp"
                     android:paddingTop="8dp"
-                    android:textIsSelectable="false"
+                    android:singleLine="true"
                     android:textStyle="bold"
                     tools:text="ring:8F29045378ACA68F2ACA2346078ACA68F2ACA290" />
 
@@ -189,6 +189,7 @@
                         android:paddingStart="16dp"
                         android:paddingTop="4dp"
                         android:textAlignment="viewStart"
+                        android:textIsSelectable="true"
                         tools:text="blockchain_name" />
 
                 </LinearLayout>
@@ -241,8 +242,8 @@
     </ScrollView>
 
     <include
-        layout="@layout/add_new_device_layout"
         android:id="@+id/add_new_device"
+        layout="@layout/add_new_device_layout"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_alignParentBottom="true" />
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 5d5480a..f51179a 100644
--- a/ring-android/app/src/main/res/layout/item_account.xml
+++ b/ring-android/app/src/main/res/layout/item_account.xml
@@ -41,7 +41,8 @@
         android:layout_toRightOf="@+id/account_photo"
         android:layout_toStartOf="@+id/error_indicator"
         android:ellipsize="end"
-        android:textAppearance="@style/ListPrimary" />
+        android:textAppearance="@style/ListPrimary"
+        tools:text="Ring account" />
 
     <TextView
         android:id="@+id/account_host"
@@ -57,14 +58,14 @@
         android:ellipsize="end"
         android:maxLines="1"
         android:singleLine="true"
-        android:textAppearance="@style/ListSecondary" />
+        android:textAppearance="@style/ListSecondary"
+        tools:text="ring:b982672502b9f1236a68353d74734cb82f9d1fab" />
 
     <android.support.v7.widget.AppCompatImageView
         android:id="@+id/error_indicator"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentEnd="true"
-        android:layout_alignParentRight="false"
         android:layout_centerVertical="true"
         android:layout_marginLeft="16dp"
         android:layout_marginStart="16dp"
@@ -72,6 +73,7 @@
         android:focusable="false"
         android:focusableInTouchMode="false"
         android:src="@drawable/ic_error_white"
-        android:tint="@android:color/holo_red_light" />
+        android:tint="@android:color/holo_red_light"
+        android:layout_alignParentRight="true" />
 
 </RelativeLayout>
\ No newline at end of file
diff --git a/ring-android/app/src/main/res/layout/item_device.xml b/ring-android/app/src/main/res/layout/item_device.xml
index e9b68d1..0027516 100644
--- a/ring-android/app/src/main/res/layout/item_device.xml
+++ b/ring-android/app/src/main/res/layout/item_device.xml
@@ -41,8 +41,12 @@
         android:layout_centerVertical="true"
         android:layout_marginLeft="56dp"
         android:layout_marginStart="56dp"
+        android:layout_toLeftOf="@+id/txt_device_thisflag"
+        android:layout_toStartOf="@+id/txt_device_thisflag"
+        android:ellipsize="end"
+        android:lines="1"
         android:textAppearance="@style/ListPrimary"
-        tools:text="8E24CCF4" />
+        tools:text="My device" />
 
     <TextView
         android:id="@+id/txt_device_id"
@@ -51,13 +55,39 @@
         android:layout_alignLeft="@id/txt_device_label"
         android:layout_alignStart="@+id/txt_device_label"
         android:layout_below="@id/txt_device_label"
-        android:layout_toLeftOf="@+id/revoke_button"
-        android:layout_toStartOf="@+id/revoke_button"
+        android:layout_toLeftOf="@+id/rename_button"
+        android:layout_toStartOf="@+id/rename_button"
         android:ellipsize="middle"
         android:maxLines="1"
-        android:maxWidth="150dp"
         android:textAppearance="@style/TextAppearance.AppCompat.Caption"
-        tools:text="e3806a4963993ed1e8adc5c0ed9809c354dfc872" />
+        tools:text="b982672502b9f1236a68353d74734cb82f9d1fab" />
+
+    <TextView
+        android:id="@+id/txt_device_thisflag"
+        style="@style/TextAppearance.AppCompat.Small"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignBaseline="@+id/txt_device_label"
+        android:layout_marginLeft="8dp"
+        android:layout_marginStart="8dp"
+        android:layout_toLeftOf="@+id/rename_button"
+        android:layout_toStartOf="@+id/rename_button"
+        android:text="@string/account_device_this_indicator"
+        android:textStyle="italic" />
+
+    <ImageButton
+        android:id="@+id/rename_button"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignWithParentIfMissing="true"
+        android:layout_centerVertical="true"
+        android:layout_toLeftOf="@+id/revoke_button"
+        android:layout_toStartOf="@+id/revoke_button"
+        android:background="?selectableItemBackgroundBorderless"
+        android:contentDescription="@string/account_device_revoke"
+        android:padding="8dp"
+        android:tint="@color/black"
+        app:srcCompat="@drawable/ic_action_edit" />
 
     <ImageButton
         android:id="@+id/revoke_button"