made all text styleable

Daniel Gultsch created

Change summary

src/main/res/layout/account_row.xml                      |  4 
src/main/res/layout/activity_about.xml                   |  2 
src/main/res/layout/activity_change_password.xml         | 12 
src/main/res/layout/activity_contact_details.xml         | 12 
src/main/res/layout/activity_edit_account.xml            | 38 ++-
src/main/res/layout/activity_muc_details.xml             | 14 
src/main/res/layout/activity_publish_profile_picture.xml |  6 
src/main/res/layout/activity_trust_keys.xml              |  6 
src/main/res/layout/captcha.xml                          |  3 
src/main/res/layout/contact.xml                          |  2 
src/main/res/layout/contact_key.xml                      |  2 
src/main/res/layout/conversation_list_row.xml            |  6 
src/main/res/layout/create_conference_dialog.xml         | 23 +
src/main/res/layout/dialog_block_contact.xml             |  2 
src/main/res/layout/dialog_clear_history.xml             |  2 
src/main/res/layout/dialog_presence.xml                  | 91 +++++----
src/main/res/layout/enter_jid_dialog.xml                 |  9 
src/main/res/layout/fragment_conversation.xml            |  1 
src/main/res/layout/join_conference_dialog.xml           | 10 
src/main/res/layout/keys_card.xml                        |  4 
src/main/res/layout/magic_create.xml                     |  6 
src/main/res/layout/message_received.xml                 |  8 
src/main/res/layout/message_sent.xml                     | 12 
src/main/res/layout/presence_template.xml                |  2 
src/main/res/layout/quickedit.xml                        |  3 
src/main/res/layout/simple_list_item.xml                 |  2 
src/main/res/layout/welcome.xml                          |  4 
src/main/res/values/attrs.xml                            |  7 
src/main/res/values/styles.xml                           | 67 +++++-
src/main/res/values/themes.xml                           | 14 +
30 files changed, 236 insertions(+), 138 deletions(-)

Detailed changes

src/main/res/layout/account_row.xml 🔗

@@ -32,14 +32,14 @@
             android:layout_height="wrap_content"
             android:scrollHorizontally="false"
             android:singleLine="true"
-            android:textAppearance="@style/TextAppearance.AppCompat.Subhead"/>
+            android:textAppearance="@style/TextAppearance.Conversations.Subhead"/>
 
         <TextView
             android:id="@+id/account_status"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="@string/account_status_unknown"
-            android:textAppearance="@style/TextAppearance.AppCompat.Body2"
+            android:textAppearance="@style/TextAppearance.Conversations.Body2"
              />
     </LinearLayout>
 

src/main/res/layout/activity_about.xml 🔗

@@ -32,7 +32,7 @@
                     android:linksClickable="true"
                     android:padding="@dimen/card_padding_regular"
                     android:text="@string/pref_about_message"
-                    android:textAppearance="@style/TextAppearance.AppCompat.Body1"
+                    android:textAppearance="@style/TextAppearance.Conversations.Body1"
                     android:typeface="monospace"/>
             </android.support.v7.widget.CardView>
         </LinearLayout>

src/main/res/layout/activity_change_password.xml 🔗

@@ -5,13 +5,13 @@
                 android:layout_height="match_parent"
                 android:background="?attr/color_background_secondary">
 
-    <include layout="@layout/toolbar" />
+    <include layout="@layout/toolbar"/>
 
     <ScrollView
         android:layout_width="fill_parent"
         android:layout_height="fill_parent"
-        android:layout_below="@id/toolbar"
-        android:layout_above="@+id/button_bar">
+        android:layout_above="@+id/button_bar"
+        android:layout_below="@id/toolbar">
 
         <android.support.v7.widget.CardView
             android:layout_width="match_parent"
@@ -32,12 +32,15 @@
                     android:id="@+id/current_password_layout"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
+                    app:errorTextAppearance="@style/TextAppearance.Conversations.Design.Error"
+                    app:hintTextAppearance="@style/TextAppearance.Conversations.Design.Hint"
                     app:passwordToggleDrawable="@drawable/visibility_toggle_drawable"
                     app:passwordToggleEnabled="true"
                     app:passwordToggleTint="?android:textColorSecondary">
 
                     <android.support.design.widget.TextInputEditText
                         android:id="@+id/current_password"
+                        style="@style/Widget.Conversations.EditText"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_alignParentTop="true"
@@ -49,12 +52,15 @@
                     android:id="@+id/new_password_layout"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
+                    app:errorTextAppearance="@style/TextAppearance.Conversations.Design.Error"
+                    app:hintTextAppearance="@style/TextAppearance.Conversations.Design.Hint"
                     app:passwordToggleDrawable="@drawable/visibility_toggle_drawable"
                     app:passwordToggleEnabled="true"
                     app:passwordToggleTint="?android:textColorSecondary">
 
                     <android.support.design.widget.TextInputEditText
                         android:id="@+id/new_password"
+                        style="@style/Widget.Conversations.EditText"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_alignParentTop="true"

src/main/res/layout/activity_contact_details.xml 🔗

@@ -54,7 +54,7 @@
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:text="@string/account_settings_example_jabber_id"
-                                android:textAppearance="@style/TextAppearance.AppCompat.Title"/>
+                                android:textAppearance="@style/TextAppearance.Conversations.Title"/>
 
                             <com.wefika.flowlayout.FlowLayout
                                 android:id="@+id/tags"
@@ -71,14 +71,14 @@
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:layout_marginTop="4dp"
-                                android:textAppearance="@style/TextAppearance.AppCompat.Subhead"/>
+                                android:textAppearance="@style/TextAppearance.Conversations.Subhead"/>
 
                             <TextView
                                 android:id="@+id/status_message"
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:layout_marginTop="8dp"
-                                android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
+                                android:textAppearance="@style/TextAppearance.Conversations.Body1"/>
 
                             <Button
                                 android:id="@+id/add_contact_button"
@@ -93,14 +93,14 @@
                                 android:layout_height="wrap_content"
                                 android:layout_marginTop="8dp"
                                 android:text="@string/send_presence_updates"
-                                android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
+                                android:textAppearance="@style/TextAppearance.Conversations.Body1"/>
 
                             <CheckBox
                                 android:id="@+id/details_receive_presence"
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:text="@string/receive_presence_updates"
-                                android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
+                                android:textAppearance="@style/TextAppearance.Conversations.Body1"/>
                         </LinearLayout>
 
                         <TextView
@@ -111,7 +111,7 @@
                             android:layout_below="@+id/details_jidbox"
                             android:layout_marginTop="32dp"
                             android:text="@string/using_account"
-                            android:textAppearance="@style/TextAppearance.AppCompat.Caption"/>
+                            android:textAppearance="@style/TextAppearance.Conversations.Caption"/>
                     </RelativeLayout>
                 </android.support.v7.widget.CardView>
 

src/main/res/layout/activity_edit_account.xml 🔗

@@ -57,14 +57,17 @@
                                 android:id="@+id/account_jid_layout"
                                 android:layout_width="match_parent"
                                 android:layout_height="wrap_content"
-                                android:hint="@string/account_settings_jabber_id">
+                                android:hint="@string/account_settings_jabber_id"
+                                app:hintTextAppearance="@style/TextAppearance.Conversations.Design.Hint"
+                                app:errorTextAppearance="@style/TextAppearance.Conversations.Design.Error">
 
                                 <AutoCompleteTextView
                                     android:id="@+id/account_jid"
                                     android:layout_width="match_parent"
                                     android:layout_height="wrap_content"
                                     android:imeOptions="actionNext"
-                                    android:inputType="textEmailAddress"/>
+                                    android:inputType="textEmailAddress"
+                                    style="@style/Widget.Conversations.EditText"/>
                             </android.support.design.widget.TextInputLayout>
 
 
@@ -74,7 +77,9 @@
                                 android:layout_height="wrap_content"
                                 app:passwordToggleDrawable="@drawable/visibility_toggle_drawable"
                                 app:passwordToggleEnabled="true"
-                                app:passwordToggleTint="?android:textColorSecondary">
+                                app:passwordToggleTint="?android:textColorSecondary"
+                                app:hintTextAppearance="@style/TextAppearance.Conversations.Design.Hint"
+                                app:errorTextAppearance="@style/TextAppearance.Conversations.Design.Error">
 
                                 <android.support.design.widget.TextInputEditText
                                     android:id="@+id/account_password"
@@ -82,7 +87,8 @@
                                     android:layout_height="wrap_content"
                                     android:layout_alignParentTop="true"
                                     android:hint="@string/password"
-                                    android:inputType="textPassword"/>
+                                    android:inputType="textPassword"
+                                    style="@style/Widget.Conversations.EditText"/>
                             </android.support.design.widget.TextInputLayout>
 
                             <LinearLayout
@@ -103,13 +109,16 @@
                                         android:id="@+id/hostname_layout"
                                         android:layout_width="match_parent"
                                         android:layout_height="wrap_content"
-                                        android:hint="@string/account_settings_hostname">
+                                        android:hint="@string/account_settings_hostname"
+                                        app:hintTextAppearance="@style/TextAppearance.Conversations.Design.Hint"
+                                        app:errorTextAppearance="@style/TextAppearance.Conversations.Design.Error">
 
                                         <EditText
                                             android:id="@+id/hostname"
                                             android:layout_width="fill_parent"
                                             android:layout_height="wrap_content"
-                                            android:inputType="textNoSuggestions"/>
+                                            android:inputType="textNoSuggestions"
+                                            style="@style/Widget.Conversations.EditText"/>
                                     </android.support.design.widget.TextInputLayout>
                                 </LinearLayout>
 
@@ -123,14 +132,17 @@
                                         android:id="@+id/port_layout"
                                         android:layout_width="match_parent"
                                         android:layout_height="wrap_content"
-                                        android:hint="@string/account_settings_port">
+                                        android:hint="@string/account_settings_port"
+                                        app:hintTextAppearance="@style/TextAppearance.Conversations.Design.Hint"
+                                        app:errorTextAppearance="@style/TextAppearance.Conversations.Design.Error">
 
                                         <EditText
                                             android:id="@+id/port"
                                             android:layout_width="match_parent"
                                             android:layout_height="match_parent"
                                             android:inputType="number"
-                                            android:maxLength="5"/>
+                                            android:maxLength="5"
+                                            style="@style/Widget.Conversations.EditText"/>
                                     </android.support.design.widget.TextInputLayout>
                                 </LinearLayout>
                             </LinearLayout>
@@ -171,7 +183,7 @@
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:text="@string/battery_optimizations_enabled"
-                                android:textAppearance="@style/TextAppearance.AppCompat.Title"/>
+                                android:textAppearance="@style/TextAppearance.Conversations.Title"/>
 
                             <TextView
                                 android:id="@+id/os_optimization_body"
@@ -179,7 +191,7 @@
                                 android:layout_height="wrap_content"
                                 android:layout_marginTop="8dp"
                                 android:text="@string/battery_optimizations_enabled_explained"
-                                android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
+                                android:textAppearance="@style/TextAppearance.Conversations.Body1"/>
                         </LinearLayout>
 
                         <LinearLayout
@@ -480,7 +492,7 @@
                                     android:layout_width="wrap_content"
                                     android:layout_height="wrap_content"
                                     android:text="@string/openpgp_key_id"
-                                    android:textAppearance="@style/TextAppearance.AppCompat.Caption"/>
+                                    android:textAppearance="@style/TextAppearance.Conversations.Caption"/>
                             </LinearLayout>
 
                             <ImageButton
@@ -520,7 +532,7 @@
                                     android:id="@+id/own_fingerprint_desc"
                                     android:layout_width="wrap_content"
                                     android:layout_height="wrap_content"
-                                    android:textAppearance="@style/TextAppearance.AppCompat.Caption"/>
+                                    android:textAppearance="@style/TextAppearance.Conversations.Caption"/>
                             </LinearLayout>
 
                             <LinearLayout
@@ -580,7 +592,7 @@
                             android:layout_height="wrap_content"
                             android:layout_margin="@dimen/list_padding"
                             android:text="@string/other_devices"
-                            android:textAppearance="@style/TextAppearance.AppCompat.Title"/>
+                            android:textAppearance="@style/TextAppearance.Conversations.Title"/>
 
                         <LinearLayout
                             android:id="@+id/other_device_keys"

src/main/res/layout/activity_muc_details.xml 🔗

@@ -41,7 +41,7 @@
                             android:layout_height="wrap_content"
                             android:layout_marginBottom="16dp"
                             android:text="@string/account_settings_example_jabber_id"
-                            android:textAppearance="@style/TextAppearance.AppCompat.Title"/>
+                            android:textAppearance="@style/TextAppearance.Conversations.Title"/>
 
                         <RelativeLayout
                             android:layout_width="fill_parent"
@@ -68,7 +68,7 @@
                                     android:layout_width="wrap_content"
                                     android:layout_height="wrap_content"
                                     android:singleLine="true"
-                                    android:textAppearance="@style/TextAppearance.AppCompat.Subhead"/>
+                                    android:textAppearance="@style/TextAppearance.Conversations.Subhead"/>
 
                                 <TextView
                                     android:id="@+id/muc_role"
@@ -103,7 +103,7 @@
                                 android:layout_centerVertical="true"
                                 android:layout_toLeftOf="@+id/change_conference_button"
                                 android:text="@string/private_conference"
-                                android:textAppearance="@style/TextAppearance.AppCompat.Body1"
+                                android:textAppearance="@style/TextAppearance.Conversations.Body1"
                                 />
 
                             <ImageButton
@@ -132,7 +132,7 @@
                                 android:layout_centerVertical="true"
                                 android:layout_toLeftOf="@+id/notification_status_button"
                                 android:text="@string/notify_on_all_messages"
-                                android:textAppearance="@style/TextAppearance.AppCompat.Body1"
+                                android:textAppearance="@style/TextAppearance.Conversations.Body1"
                                 />
 
                             <ImageButton
@@ -167,7 +167,7 @@
                                     android:ellipsize="end"
                                     android:singleLine="true"
                                     android:text="@string/server_info_mam"
-                                    android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
+                                    android:textAppearance="@style/TextAppearance.Conversations.Body1"/>
 
                                 <TextView
                                     android:id="@+id/muc_info_mam"
@@ -175,7 +175,7 @@
                                     android:layout_height="wrap_content"
                                     android:layout_gravity="right"
                                     android:paddingLeft="4dp"
-                                    android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
+                                    android:textAppearance="@style/TextAppearance.Conversations.Body1"/>
                             </TableRow>
 
                         </TableLayout>
@@ -187,7 +187,7 @@
                             android:layout_gravity="right"
                             android:layout_marginTop="32dp"
                             android:text="@string/using_account"
-                            android:textAppearance="@style/TextAppearance.AppCompat.Caption"/>
+                            android:textAppearance="@style/TextAppearance.Conversations.Caption"/>
                     </LinearLayout>
                 </android.support.v7.widget.CardView>
 

src/main/res/layout/activity_publish_profile_picture.xml 🔗

@@ -41,13 +41,13 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:text="@string/touch_to_choose_picture"
-                android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
+                android:textAppearance="@style/TextAppearance.Conversations.Body1"/>
 
             <TextView
                 android:id="@+id/secondary_hint"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:textAppearance="@style/TextAppearance.AppCompat.Body1"
+                android:textAppearance="@style/TextAppearance.Conversations.Body1"
                 android:text="@string/or_long_press_for_default"/>
 
             <TextView
@@ -56,7 +56,7 @@
                 android:layout_height="wrap_content"
                 android:layout_marginTop="8dp"
                 android:layout_marginBottom="8dp"
-                android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
+                android:textAppearance="@style/TextAppearance.Conversations.Body1"/>
 
         </LinearLayout>
     </android.support.v7.widget.CardView>

src/main/res/layout/activity_trust_keys.xml 🔗

@@ -46,14 +46,14 @@
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:text="@string/error_trustkeys_title"
-                            android:textAppearance="@style/TextAppearance.AppCompat.Title"
+                            android:textAppearance="@style/TextAppearance.Conversations.Title"
                             android:layout_marginBottom="8sp"/>
 
                         <TextView
                             android:id="@+id/key_error_message"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:textAppearance="@style/TextAppearance.AppCompat.Subhead"/>
+                            android:textAppearance="@style/TextAppearance.Conversations.Subhead"/>
                         <TextView
                             android:id="@+id/key_error_general"
                             android:layout_width="wrap_content"
@@ -109,7 +109,7 @@
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:layout_margin="@dimen/list_padding"
-                            android:textAppearance="@style/TextAppearance.AppCompat.Title"/>
+                            android:textAppearance="@style/TextAppearance.Conversations.Title"/>
 
                         <LinearLayout
                             android:id="@+id/own_keys_details"

src/main/res/layout/captcha.xml 🔗

@@ -16,7 +16,8 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:inputType="textNoSuggestions"
-        android:hint="@string/captcha_hint">
+        android:hint="@string/captcha_hint"
+        style="@style/Widget.Conversations.EditText">
 
         <requestFocus />
     </EditText>

src/main/res/layout/contact.xml 🔗

@@ -29,7 +29,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:singleLine="true"
-                android:textAppearance="@style/TextAppearance.AppCompat.Subhead"/>
+                android:textAppearance="@style/TextAppearance.Conversations.Subhead"/>
 
             <TextView
                 android:id="@+id/contact_jid"

src/main/res/layout/contact_key.xml 🔗

@@ -30,7 +30,7 @@
                 android:clickable="true"
                 android:longClickable="true"
                 android:maxLines="1"
-                android:textAppearance="@style/TextAppearance.AppCompat.Caption"/>
+                android:textAppearance="@style/TextAppearance.Conversations.Caption"/>
         </LinearLayout>
 
         <LinearLayout

src/main/res/layout/conversation_list_row.xml 🔗

@@ -46,7 +46,7 @@
                     android:paddingRight="4dp"
                     android:maxLines="1"
                     android:ellipsize="end"
-                    android:textAppearance="@style/TextAppearance.AppCompat.Subhead" />
+                    android:textAppearance="@style/TextAppearance.Conversations.Subhead" />
 
                 <RelativeLayout
                     android:id="@+id/conversation_lastwrapper"
@@ -91,7 +91,7 @@
                             android:scrollHorizontally="false"
                             android:maxLines="1"
                             android:ellipsize="end"
-                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
+                            android:textAppearance="@style/TextAppearance.Conversations.Body1"/>
                     </LinearLayout>
                     <ImageView
                         android:visibility="visible"
@@ -126,7 +126,7 @@
                     android:layout_alignBaseline="@+id/conversation_name"
                     android:layout_alignParentRight="true"
                     android:gravity="right"
-                    android:textAppearance="@style/TextAppearance.AppCompat.Caption"/>
+                    android:textAppearance="@style/TextAppearance.Conversations.Caption"/>
             </RelativeLayout>
         </RelativeLayout>
     </FrameLayout>

src/main/res/layout/create_conference_dialog.xml 🔗

@@ -1,5 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android">
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+        xmlns:app="http://schemas.android.com/apk/res-auto">
+
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
@@ -10,10 +12,10 @@
         android:paddingTop="?attr/dialog_vertical_padding">
 
         <TextView
+            style="@style/InputLabel"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:text="@string/your_account"
-            style="@style/InputLabel" />
+            android:text="@string/your_account"/>
 
         <Spinner
             android:id="@+id/account"
@@ -21,22 +23,25 @@
             android:layout_height="wrap_content"/>
 
         <View
-            android:focusable="true"
-            android:focusableInTouchMode="true"
             android:layout_width="0dp"
-            android:layout_height="0dp"/>
+            android:layout_height="0dp"
+            android:focusable="true"
+            android:focusableInTouchMode="true"/>
 
         <android.support.design.widget.TextInputLayout
             android:layout_width="match_parent"
-            android:layout_height="wrap_content">
+            android:layout_height="wrap_content"
+            app:errorTextAppearance="@style/TextAppearance.Conversations.Design.Error"
+            app:hintTextAppearance="@style/TextAppearance.Conversations.Design.Hint">
 
             <android.support.design.widget.TextInputEditText
                 android:id="@+id/subject"
+                style="@style/Widget.Conversations.EditText"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:nextFocusUp="@+id/subject"
+                android:hint="@string/edit_subject_hint"
                 android:nextFocusDown="@+id/subject"
-                android:hint="@string/edit_subject_hint"/>
+                android:nextFocusUp="@+id/subject"/>
         </android.support.design.widget.TextInputLayout>
     </LinearLayout>
 </layout>

src/main/res/layout/dialog_block_contact.xml 🔗

@@ -14,7 +14,7 @@
             android:id="@+id/text"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
+            android:textAppearance="@style/TextAppearance.Conversations.Body1"/>
 
         <CheckBox
             android:id="@+id/report_spam"

src/main/res/layout/dialog_clear_history.xml 🔗

@@ -12,7 +12,7 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginBottom="8dp"
-        android:textAppearance="@style/TextAppearance.AppCompat.Body1"
+        android:textAppearance="@style/TextAppearance.Conversations.Body1"
         android:text="@string/clear_histor_msg"/>
 
     <CheckBox

src/main/res/layout/dialog_presence.xml 🔗

@@ -1,55 +1,62 @@
 <?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android">
-<LinearLayout android:orientation="vertical"
-              android:layout_width="match_parent"
-              android:layout_height="match_parent"
-              android:paddingLeft="?attr/dialog_horizontal_padding"
-              android:paddingRight="?attr/dialog_horizontal_padding"
-              android:paddingBottom="?attr/dialog_vertical_padding"
-              android:paddingTop="?attr/dialog_vertical_padding">
-
-    <RadioGroup
-        android:id="@+id/show"
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+        xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <LinearLayout
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="?attr/dialog_vertical_padding">
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        android:paddingBottom="?attr/dialog_vertical_padding"
+        android:paddingLeft="?attr/dialog_horizontal_padding"
+        android:paddingRight="?attr/dialog_horizontal_padding"
+        android:paddingTop="?attr/dialog_vertical_padding">
 
-        <RadioButton
-            android:id="@+id/online"
+        <RadioGroup
+            android:id="@+id/show"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:text="@string/presence_online"/>
+            android:layout_marginBottom="?attr/dialog_vertical_padding">
 
-        <RadioButton
-            android:id="@+id/away"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="@string/presence_away"/>
+            <RadioButton
+                android:id="@+id/online"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/presence_online"/>
 
-        <RadioButton
-            android:id="@+id/xa"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="@string/presence_xa"/>
+            <RadioButton
+                android:id="@+id/away"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/presence_away"/>
 
-        <RadioButton
-            android:id="@+id/dnd"
+            <RadioButton
+                android:id="@+id/xa"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/presence_xa"/>
+
+            <RadioButton
+                android:id="@+id/dnd"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/presence_dnd"/>
+        </RadioGroup>
+
+        <android.support.design.widget.TextInputLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:text="@string/presence_dnd"/>
-    </RadioGroup>
+            app:errorTextAppearance="@style/TextAppearance.Conversations.Design.Error"
+            app:hintTextAppearance="@style/TextAppearance.Conversations.Design.Hint">
 
-    <android.support.design.widget.TextInputLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content">
-    <eu.siacs.conversations.ui.widget.ImmediateAutoCompleteTextView
-        android:id="@+id/status_message"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:ems="10"
-        android:hint="@string/status_message"
-        android:inputType="textShortMessage"/>
-    </android.support.design.widget.TextInputLayout>
+            <eu.siacs.conversations.ui.widget.ImmediateAutoCompleteTextView
+                android:id="@+id/status_message"
+                style="@style/Widget.Conversations.EditText"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:ems="10"
+                android:hint="@string/status_message"
+                android:inputType="textShortMessage"/>
+        </android.support.design.widget.TextInputLayout>
 
-</LinearLayout>
+    </LinearLayout>
 </layout>

src/main/res/layout/enter_jid_dialog.xml 🔗

@@ -1,5 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android">
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+        xmlns:app="http://schemas.android.com/apk/res-auto">
+
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
@@ -24,10 +26,13 @@
             android:id="@+id/account_jid_layout"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:hint="@string/account_settings_jabber_id">
+            android:hint="@string/account_settings_jabber_id"
+            app:errorTextAppearance="@style/TextAppearance.Conversations.Design.Error"
+            app:hintTextAppearance="@style/TextAppearance.Conversations.Design.Hint">
 
             <AutoCompleteTextView
                 android:id="@+id/jid"
+                style="@style/Widget.Conversations.EditText"
                 android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
                 android:inputType="textEmailAddress"/>

src/main/res/layout/fragment_conversation.xml 🔗

@@ -63,6 +63,7 @@
                 android:layout_toLeftOf="@+id/textSendButton"
                 android:background="?attr/color_background_primary"
                 android:ems="10"
+                style="@style/Widget.Conversations.EditText"
                 android:imeOptions="flagNoExtractUi|actionSend"
                 android:inputType="textShortMessage|textMultiLine|textCapSentences"
                 android:maxLines="8"

src/main/res/layout/join_conference_dialog.xml 🔗

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android">
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+        xmlns:app="http://schemas.android.com/apk/res-auto">
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
@@ -24,13 +25,16 @@
             android:id="@+id/account_jid_layout"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:hint="@string/conference_address">
+            android:hint="@string/conference_address"
+            app:hintTextAppearance="@style/TextAppearance.Conversations.Design.Hint"
+            app:errorTextAppearance="@style/TextAppearance.Conversations.Design.Error">
 
             <AutoCompleteTextView
                 android:id="@+id/jid"
                 android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
-                android:inputType="textEmailAddress"/>
+                android:inputType="textEmailAddress"
+                style="@style/Widget.Conversations.EditText"/>
         </android.support.design.widget.TextInputLayout>
 
         <CheckBox

src/main/res/layout/keys_card.xml 🔗

@@ -21,7 +21,7 @@
                 android:id="@+id/foreign_keys_title"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:textAppearance="@style/TextAppearance.AppCompat.Title"
+                android:textAppearance="@style/TextAppearance.Conversations.Title"
                 android:layout_margin="@dimen/list_padding"/>
 
             <LinearLayout
@@ -36,7 +36,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:text="@string/no_keys_just_confirm"
-                android:textAppearance="@style/TextAppearance.AppCompat.Body1"
+                android:textAppearance="@style/TextAppearance.Conversations.Body1"
                 android:layout_margin="@dimen/list_padding"/>
         </LinearLayout>
     </android.support.v7.widget.CardView>

src/main/res/layout/magic_create.xml 🔗

@@ -36,13 +36,13 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:text="@string/pick_your_username"
-                    android:textAppearance="@style/TextAppearance.AppCompat.Title"/>
+                    android:textAppearance="@style/TextAppearance.Conversations.Title"/>
                 <TextView
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="8dp"
                     android:text="@string/magic_create_text"
-                    android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
+                    android:textAppearance="@style/TextAppearance.Conversations.Body1"/>
                 <EditText
                     android:id="@+id/username"
                     android:layout_width="match_parent"
@@ -56,7 +56,7 @@
                     android:layout_height="wrap_content"
                     android:layout_marginTop="8dp"
                     android:text="@string/your_full_jid_will_be"
-                    android:textAppearance="@style/TextAppearance.AppCompat.Caption"
+                    android:textAppearance="@style/TextAppearance.Conversations.Caption"
                     android:visibility="invisible"/>
                 <Button
                     android:id="@+id/create_account"

src/main/res/layout/message_received.xml 🔗

@@ -57,8 +57,8 @@
 
                 <ImageView
                     android:id="@+id/security_indicator"
-                    android:layout_width="?attr/TextSizeInfo"
-                    android:layout_height="?attr/TextSizeInfo"
+                    android:layout_width="?attr/TextSizeCaption"
+                    android:layout_height="?attr/TextSizeCaption"
                     android:layout_gravity="center_vertical"
                     android:layout_marginRight="4sp"
                     android:alpha="0.70"
@@ -67,8 +67,8 @@
 
                 <ImageView
                     android:id="@+id/edit_indicator"
-                    android:layout_width="?attr/TextSizeInfo"
-                    android:layout_height="?attr/TextSizeInfo"
+                    android:layout_width="?attr/TextSizeCaption"
+                    android:layout_height="?attr/TextSizeCaption"
                     android:layout_gravity="center_vertical"
                     android:layout_marginRight="4sp"
                     android:alpha="0.70"

src/main/res/layout/message_sent.xml 🔗

@@ -58,8 +58,8 @@
 
                 <ImageView
                     android:id="@+id/security_indicator"
-                    android:layout_width="?attr/TextSizeInfo"
-                    android:layout_height="?attr/TextSizeInfo"
+                    android:layout_width="?attr/TextSizeCaption"
+                    android:layout_height="?attr/TextSizeCaption"
                     android:layout_gravity="center_vertical"
                     android:layout_marginLeft="4sp"
                     android:alpha="0.54"
@@ -68,8 +68,8 @@
 
                 <ImageView
                     android:id="@+id/edit_indicator"
-                    android:layout_width="?attr/TextSizeInfo"
-                    android:layout_height="?attr/TextSizeInfo"
+                    android:layout_width="?attr/TextSizeCaption"
+                    android:layout_height="?attr/TextSizeCaption"
                     android:layout_gravity="center_vertical"
                     android:layout_marginLeft="4sp"
                     android:alpha="0.54"
@@ -78,8 +78,8 @@
 
                 <ImageView
                     android:id="@+id/indicator_received"
-                    android:layout_width="?attr/TextSizeInfo"
-                    android:layout_height="?attr/TextSizeInfo"
+                    android:layout_width="?attr/TextSizeCaption"
+                    android:layout_height="?attr/TextSizeCaption"
                     android:layout_gravity="center_vertical"
                     android:layout_marginLeft="4sp"
                     android:alpha="0.54"

src/main/res/layout/presence_template.xml 🔗

@@ -20,7 +20,7 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:id="@+id/presence_status_message"
-        android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
+        android:textAppearance="@style/TextAppearance.Conversations.Body1"/>
     <TextView
         android:id="@+id/status"
         android:layout_width="wrap_content"

src/main/res/layout/quickedit.xml 🔗

@@ -10,7 +10,8 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:ems="10"
-        android:inputType="textPersonName">
+        android:inputType="textPersonName"
+        style="@style/Widget.Conversations.EditText">
 
         <requestFocus />
     </EditText>

src/main/res/layout/simple_list_item.xml 🔗

@@ -18,7 +18,7 @@
           android:id="@android:id/text1"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
-          android:textAppearance="@style/TextAppearance.AppCompat.Body1"
+          android:textAppearance="@style/TextAppearance.Conversations.Body1"
           android:gravity="center_vertical"
           android:paddingLeft="8dp"
           android:paddingRight="8dp"

src/main/res/layout/welcome.xml 🔗

@@ -35,13 +35,13 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:text="@string/welcome_header"
-                    android:textAppearance="@style/TextAppearance.AppCompat.Title"/>
+                    android:textAppearance="@style/TextAppearance.Conversations.Title"/>
                 <TextView
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="8dp"
                     android:text="@string/welcome_text"
-                    android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>
+                    android:textAppearance="@style/TextAppearance.Conversations.Body1"/>
                 <Button
                     android:id="@+id/create_account"
                     style="?android:attr/borderlessButtonStyle"

src/main/res/values/attrs.xml 🔗

@@ -1,7 +1,12 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
 
-    <attr name="TextSizeInfo" format="dimension" />
+    <attr name="TextSizeCaption" format="dimension" />
+    <attr name="TextSizeTitle" format="dimension" />
+    <attr name="TextSizeSubhead" format="dimension" />
+    <attr name="TextSizeBody1" format="dimension" />
+    <attr name="TextSizeBody2" format="dimension" />
+    <attr name="TextSizeInput" format="dimension" />
     <attr name="TextSeparation" format="dimension"/>
 
     <attr name="IconSize" format="dimension"/>

src/main/res/values/styles.xml 🔗

@@ -1,50 +1,91 @@
-<resources xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android">
-    <style name="TextAppearance.Conversations.Body1.Secondary" parent="TextAppearance.AppCompat.Body1">
+<resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
+
+    <style name="TextAppearance.Conversations.Title" parent="TextAppearance.AppCompat.Title">
+        <item name="android:textSize">?TextSizeTitle</item>
+    </style>
+
+    <style name="TextAppearance.Conversations.Subhead" parent="TextAppearance.AppCompat.Subhead">
+        <item name="android:textSize">?TextSizeSubhead</item>
+    </style>
+
+    <style name="TextAppearance.Conversations.Body2" parent="TextAppearance.AppCompat.Body2">
+        <item name="android:textSize">?TextSizeBody2</item>
+    </style>
+
+    <style name="TextAppearance.Conversations.Body1" parent="TextAppearance.AppCompat.Body1">
+        <item name="android:textSize">?TextSizeBody1</item>
+        <item name="android:textColorLink">?android:textColorPrimary</item>
+    </style>
+
+    <style name="TextAppearance.Conversations.Caption" parent="TextAppearance.AppCompat.Caption">
+        <item name="android:textSize">?TextSizeCaption</item>
+    </style>
+
+    <style name="Widget.Conversations.EditText" parent="Widget.AppCompat.EditText">
+        <item name="android:textSize">?TextSizeInput</item>
+    </style>
+
+    <style name="TextAppearance.Conversations.Design.Hint" parent="TextAppearance.Design.Hint">
+        <item name="android:textSize">?TextSizeCaption</item>
+    </style>
+
+    <style name="TextAppearance.Conversations.Design.Error" parent="TextAppearance.Design.Error">
+        <item name="android:textSize">?TextSizeCaption</item>
+    </style>
+
+    <style name="TextAppearance.Conversations.Body1.Secondary" parent="TextAppearance.Conversations.Body1">
         <item name="android:textColor">?android:textColorSecondary</item>
     </style>
-    <style name="TextAppearance.Conversations.Fingerprint" parent="TextAppearance.AppCompat.Body1">
+
+    <style name="TextAppearance.Conversations.Fingerprint" parent="TextAppearance.Conversations.Body1">
         <item name="android:fontFamily" tools:targetApi="jelly_bean">monospace</item>
         <item name="android:typeface">monospace</item>
     </style>
-    <style name="InputLabel" parent="TextAppearance.AppCompat.Caption">
+
+    <style name="InputLabel" parent="TextAppearance.Conversations.Caption">
         <item name="android:paddingBottom">@dimen/input_label_vertical_spacing</item>
         <item name="android:paddingLeft">@dimen/input_label_horizontal_spacing</item>
         <item name="android:paddingRight">@dimen/input_label_horizontal_spacing</item>
     </style>
-    <style name="TextAppearance.Conversations.Status" parent="TextAppearance.AppCompat.Caption">
+
+    <style name="TextAppearance.Conversations.Status" parent="TextAppearance.Conversations.Caption">
         <item name="android:textStyle">italic</item>
     </style>
-    <style name="TextAppearance.Conversations.Tag" parent="TextAppearance.AppCompat.Caption">
+
+    <style name="TextAppearance.Conversations.Tag" parent="TextAppearance.Conversations.Caption">
         <item name="android:textColor">@color/white</item>
     </style>
+
     <style name="TextAppearance.Conversations.Caption.OnDark" parent="TextAppearance.Conversations.Caption">
         <item name="android:textColor">@color/white70</item>
     </style>
+
     <style name="TextAppearance.Conversations.Caption.OnDark.Bold" parent="TextAppearance.Conversations.Caption.OnDark">
         <item name="android:textStyle">bold</item>
     </style>
-    <style name="TextAppearance.Conversations.Caption" parent="TextAppearance.AppCompat.Caption">
-    </style>
+
     <style name="TextAppearance.Conversations.Caption.Waring" parent="TextAppearance.Conversations.Caption">
         <item name="android:textColor">@color/red800</item>
     </style>
+
     <style name="TextAppearance.Conversations.Caption.Highlight" parent="TextAppearance.Conversations.Caption">
         <item name="android:textColor">?colorAccent</item>
     </style>
+
     <style name="TextAppearance.Conversations.Caption.Disabled" parent="TextAppearance.Conversations.Caption">
         <item name="android:textColor">?android:textColorTertiary</item>
     </style>
+
     <style name="TextAppearance.Conversations.Fingerprint.Disabled" parent="TextAppearance.Conversations.Fingerprint">
         <item name="android:textColor">?android:textColorTertiary</item>
     </style>
-    <style name="TextAppearance.Conversations.Body1.OnDark" parent="TextAppearance.AppCompat.Body1">
+
+    <style name="TextAppearance.Conversations.Body1.OnDark" parent="TextAppearance.Conversations.Body1">
         <item name="android:textColor">@color/white</item>
         <item name="android:textColorLink">@color/white</item>
     </style>
-    <style name="TextAppearance.Conversations.Body1.Secondary.OnDark" parent="TextAppearance.AppCompat.Body1">
+
+    <style name="TextAppearance.Conversations.Body1.Secondary.OnDark" parent="TextAppearance.Conversations.Body1">
         <item name="android:textColor">@color/white70</item>
     </style>
-    <style name="TextAppearance.Conversations.Body1" parent="TextAppearance.AppCompat.Body1">
-        <item name="android:textColorLink">?android:textColorPrimary</item>
-    </style>
 </resources>

src/main/res/values/themes.xml 🔗

@@ -14,7 +14,12 @@
         <item name="windowActionModeOverlay">true</item>
         <item name="android:actionModeBackground">@color/accent</item>
 
-        <item name="TextSizeInfo">12sp</item>
+        <item name="TextSizeCaption">12sp</item>
+        <item name="TextSizeBody1">14sp</item>
+        <item name="TextSizeBody2">14sp</item>
+        <item name="TextSizeSubhead">16sp</item>
+        <item name="TextSizeTitle">20sp</item>
+        <item name="TextSizeInput">16sp</item>
         <item name="TextSeparation">5sp</item>
         <item name="IconSize">18sp</item>
 
@@ -92,7 +97,12 @@
         <item name="windowActionModeOverlay">true</item>
         <item name="android:actionModeBackground">@color/accent</item>
 
-        <item name="TextSizeInfo">12sp</item>
+        <item name="TextSizeCaption">12sp</item>
+        <item name="TextSizeBody1">14sp</item>
+        <item name="TextSizeBody2">14sp</item>
+        <item name="TextSizeSubhead">16sp</item>
+        <item name="TextSizeTitle">20sp</item>
+        <item name="TextSizeInput">16sp</item>
         <item name="TextSeparation">5sp</item>
         <item name="IconSize">18sp</item>