diff --git a/briar-android/res/layout/forum_discussion_cell.xml b/briar-android/res/layout/forum_discussion_cell.xml
index ff704897290fa317c9fb8437e92b9862f8b70b08..c8dd79dd6206ef61abfb64efb635b582694c270e 100644
--- a/briar-android/res/layout/forum_discussion_cell.xml
+++ b/briar-android/res/layout/forum_discussion_cell.xml
@@ -82,6 +82,7 @@
 			android:layout_marginTop="@dimen/margin_medium"
 			android:textIsSelectable="true"
 			android:textSize="@dimen/text_size_medium"
+			android:textColor="@color/briar_text_primary"
 			tools:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."/>
 
 		<de.hdodenhof.circleimageview.CircleImageView
diff --git a/briar-android/res/layout/introduction_message.xml b/briar-android/res/layout/introduction_message.xml
index 5f72954196f88e1a1d7a46c83a2ef5de58b64bea..9438479911e0a38ccd4f867f605a3ecd0505da5c 100644
--- a/briar-android/res/layout/introduction_message.xml
+++ b/briar-android/res/layout/introduction_message.xml
@@ -73,6 +73,7 @@
 			android:layout_weight="1"
 			android:gravity="top"
 			android:textSize="@dimen/text_size_medium"
+			android:textColor="@color/briar_text_primary"
 			tools:text="@string/introduction_message_text"/>
 
 		<EditText
diff --git a/briar-android/res/layout/invitation_bluetooth_confirmation_code.xml b/briar-android/res/layout/invitation_bluetooth_confirmation_code.xml
index 25d04b4c5c27d3c8f28d278d4e1636a8c70dc0d3..4ae967f280bb44f0310fa97080806e11eb7ebb62 100644
--- a/briar-android/res/layout/invitation_bluetooth_confirmation_code.xml
+++ b/briar-android/res/layout/invitation_bluetooth_confirmation_code.xml
@@ -47,6 +47,7 @@
 			android:layout_height="wrap_content"
 			android:padding="@dimen/margin_medium"
 			android:textSize="50sp"
+			android:textColor="@color/briar_text_secondary"
 			android:layout_below="@+id/yourConfirmationCodeView"
 			android:layout_centerHorizontal="true"
 			tools:text="1337"/>
diff --git a/briar-android/res/layout/invitation_bluetooth_invitation_code.xml b/briar-android/res/layout/invitation_bluetooth_invitation_code.xml
index 1d167b27bc8856ca21e37c58a961bcba7b176a6f..c5f101d86f0f434ab77f569bb3d22d613fad5ca8 100644
--- a/briar-android/res/layout/invitation_bluetooth_invitation_code.xml
+++ b/briar-android/res/layout/invitation_bluetooth_invitation_code.xml
@@ -33,6 +33,7 @@
 			android:layout_height="wrap_content"
 			android:layout_marginTop="@dimen/margin_medium"
 			android:textSize="50sp"
+			android:textColor="@color/briar_text_secondary"
 			android:layout_below="@+id/yourCodeView"
 			android:layout_centerHorizontal="true"
 			tools:text="1337"/>
diff --git a/briar-android/res/layout/invitation_error.xml b/briar-android/res/layout/invitation_error.xml
index d2928aa243726f9a1597703051c41242eca44354..01fc51da703ecfc11846e334a9683f4b82aa2ca0 100644
--- a/briar-android/res/layout/invitation_error.xml
+++ b/briar-android/res/layout/invitation_error.xml
@@ -16,6 +16,7 @@
 		android:text="@string/connection_failed"
 		android:layout_gravity="center_horizontal"
 		android:textSize="@dimen/text_size_large"
+		android:textColor="@color/briar_text_primary"
 		android:drawableStart="@drawable/alerts_and_states_error"
 		android:drawableLeft="@drawable/alerts_and_states_error"
 		android:gravity="center_vertical"
@@ -26,6 +27,7 @@
 		android:layout_width="wrap_content"
 		android:layout_height="wrap_content"
 		android:text="@string/interfering"
+		android:textColor="@color/briar_text_primary"
 		android:layout_gravity="center_horizontal"
 		android:padding="@dimen/margin_medium"/>
 
diff --git a/briar-android/res/layout/list_item_contact.xml b/briar-android/res/layout/list_item_contact.xml
index 989acb4392d8a6e3576675aa73a1f3c1a87f2469..9fefd9750e1c81baa46d5662578283ffa71e0869 100644
--- a/briar-android/res/layout/list_item_contact.xml
+++ b/briar-android/res/layout/list_item_contact.xml
@@ -65,7 +65,7 @@
 				android:layout_width="wrap_content"
 				android:layout_height="wrap_content"
 				android:maxLines="2"
-				android:textColor="@android:color/primary_text_light"
+				android:textColor="@color/briar_text_primary"
 				android:textSize="@dimen/text_size_medium"
 				tools:text="This is a name of a contact"/>
 
@@ -73,7 +73,7 @@
 				android:id="@+id/dateView"
 				android:layout_width="wrap_content"
 				android:layout_height="wrap_content"
-				android:textColor="@android:color/secondary_text_light"
+				android:textColor="@color/briar_text_secondary"
 				android:textSize="@dimen/text_size_small"
 				tools:text="Dec 24"/>
 
diff --git a/briar-android/res/layout/list_item_crash.xml b/briar-android/res/layout/list_item_crash.xml
index 305bee5a9ef04b88d8095d9fdf87c1fac62327a5..f7aa3d0eba54efe6fe1ae3d58390f37c1371e78d 100644
--- a/briar-android/res/layout/list_item_crash.xml
+++ b/briar-android/res/layout/list_item_crash.xml
@@ -19,9 +19,11 @@
 		<TextView
 			android:id="@+id/title"
 			android:layout_width="wrap_content"
-			android:layout_height="wrap_content"
+			android:layout_height="match_parent"
 			android:layout_marginBottom="@dimen/margin_small"
+			android:gravity="bottom"
 			android:textSize="@dimen/text_size_large"
+			android:textColor="@color/briar_text_primary"
 			tools:text="Crash log entry title"/>
 	</LinearLayout>
 
@@ -30,6 +32,7 @@
 		android:layout_width="wrap_content"
 		android:layout_height="wrap_content"
 		android:layout_marginBottom="@dimen/margin_medium"
+		android:textColor="@color/briar_text_secondary"
 		tools:text="Crash log entry value"/>
 
 </LinearLayout>
\ No newline at end of file
diff --git a/briar-android/res/layout/list_item_forum_invitation_in.xml b/briar-android/res/layout/list_item_forum_invitation_in.xml
index c6881437b392b42a675d5d84c52b9b5f8e0c03e8..ad8d0bcfc622dc8e5e0110130fa9f528a2abdab2 100644
--- a/briar-android/res/layout/list_item_forum_invitation_in.xml
+++ b/briar-android/res/layout/list_item_forum_invitation_in.xml
@@ -27,6 +27,7 @@
 			android:textIsSelectable="true"
 			android:textSize="@dimen/text_size_medium"
 			android:textStyle="italic"
+			android:textColor="@color/briar_text_secondary"
 			tools:text="@string/forum_invitation_received"/>
 
 		<TextView
diff --git a/briar-android/res/layout/list_item_forum_invitation_out.xml b/briar-android/res/layout/list_item_forum_invitation_out.xml
index 88070ea669ea57ab6402247f6c18cebae68eecb9..9784a13911b315c5779ffca2e2c717a11f2f7aa6 100644
--- a/briar-android/res/layout/list_item_forum_invitation_out.xml
+++ b/briar-android/res/layout/list_item_forum_invitation_out.xml
@@ -26,6 +26,7 @@
 			android:textIsSelectable="true"
 			android:textSize="@dimen/text_size_medium"
 			android:textStyle="italic"
+			android:textColor="@color/briar_text_secondary"
 			tools:text="@string/introduction_request_received"/>
 
 		<TextView
diff --git a/briar-android/res/layout/list_item_introduction_in.xml b/briar-android/res/layout/list_item_introduction_in.xml
index 2f157fad66a360fa76a8a312f8ec88b671c65447..d4b46a2f9f679a98f9e36d8334d832c043e33b40 100644
--- a/briar-android/res/layout/list_item_introduction_in.xml
+++ b/briar-android/res/layout/list_item_introduction_in.xml
@@ -27,6 +27,7 @@
 			android:textIsSelectable="true"
 			android:textSize="@dimen/text_size_medium"
 			android:textStyle="italic"
+			android:textColor="@color/briar_text_secondary"
 			tools:text="@string/introduction_request_received"/>
 
 		<TextView
diff --git a/briar-android/res/layout/list_item_introduction_out.xml b/briar-android/res/layout/list_item_introduction_out.xml
index 88070ea669ea57ab6402247f6c18cebae68eecb9..9784a13911b315c5779ffca2e2c717a11f2f7aa6 100644
--- a/briar-android/res/layout/list_item_introduction_out.xml
+++ b/briar-android/res/layout/list_item_introduction_out.xml
@@ -26,6 +26,7 @@
 			android:textIsSelectable="true"
 			android:textSize="@dimen/text_size_medium"
 			android:textStyle="italic"
+			android:textColor="@color/briar_text_secondary"
 			tools:text="@string/introduction_request_received"/>
 
 		<TextView
diff --git a/briar-android/res/layout/list_item_msg_in.xml b/briar-android/res/layout/list_item_msg_in.xml
index 9303ca2b054c1d72bd292d58d43540aa5cb68745..e75ede04917bf71801b7ac3594d0d3228865049e 100644
--- a/briar-android/res/layout/list_item_msg_in.xml
+++ b/briar-android/res/layout/list_item_msg_in.xml
@@ -16,6 +16,7 @@
 		android:layout_height="wrap_content"
 		android:textIsSelectable="true"
 		android:textSize="@dimen/text_size_medium"
+		android:textColor="@color/briar_text_primary"
 		tools:text="Short message"/>
 
 	<TextView
diff --git a/briar-android/res/layout/list_item_notice_in.xml b/briar-android/res/layout/list_item_notice_in.xml
index 8f0daa0267b56790c8e1e9d4397ad01ae9819f13..ea63d0a3f9353304581ace90b84b616b2290b7c9 100644
--- a/briar-android/res/layout/list_item_notice_in.xml
+++ b/briar-android/res/layout/list_item_notice_in.xml
@@ -17,6 +17,7 @@
 		android:textIsSelectable="true"
 		android:textSize="@dimen/text_size_medium"
 		android:textStyle="italic"
+		android:textColor="@color/briar_text_secondary"
 		tools:text="@string/introduction_response_accepted_received"/>
 
 	<TextView
diff --git a/briar-android/res/layout/list_item_notice_out.xml b/briar-android/res/layout/list_item_notice_out.xml
index 499e1506fd282fc39b5dcaba798c0d9149c8c644..9b873d56f22b68e842413dddc9a23226abb0cf19 100644
--- a/briar-android/res/layout/list_item_notice_out.xml
+++ b/briar-android/res/layout/list_item_notice_out.xml
@@ -22,6 +22,7 @@
 			android:textIsSelectable="true"
 			android:textSize="@dimen/text_size_medium"
 			android:textStyle="italic"
+			android:textColor="@color/briar_text_secondary"
 			tools:text="@string/introduction_response_accepted_sent"/>
 
 		<TextView
diff --git a/briar-android/res/layout/list_item_selectable_contact.xml b/briar-android/res/layout/list_item_selectable_contact.xml
index 7977e42066fd77502f8a9c0a5cdedfc0b2329f2e..5642afc014a62313c0c1d279883bb396cd368686 100644
--- a/briar-android/res/layout/list_item_selectable_contact.xml
+++ b/briar-android/res/layout/list_item_selectable_contact.xml
@@ -37,6 +37,7 @@
 			android:layout_toRightOf="@+id/avatarView"
 			android:maxLines="2"
 			android:textSize="@dimen/text_size_large"
+			android:textColor="@color/briar_text_primary"
 			tools:text="This is a name of a contact"/>
 
 		<CheckBox
diff --git a/briar-android/res/layout/list_item_transport.xml b/briar-android/res/layout/list_item_transport.xml
index af3f75cb1605d0b4b5b13029a0e084139273b1ea..ac362bdcbc6ba9783ac6ce36acac42f674263321 100644
--- a/briar-android/res/layout/list_item_transport.xml
+++ b/briar-android/res/layout/list_item_transport.xml
@@ -20,7 +20,7 @@
 		android:layout_width="wrap_content"
 		android:layout_height="match_parent"
 		android:padding="@dimen/margin_small"
-		android:textColor="@android:color/tertiary_text_light"
+		android:textColor="@color/briar_text_secondary"
 		tools:text="@string/transport_tor"/>
 
 </LinearLayout>
\ No newline at end of file
diff --git a/briar-android/res/layout/share_forum_message.xml b/briar-android/res/layout/share_forum_message.xml
index 64a027914890b9d91afd500921f8e36b3cbc67fb..522a0472d75bda5ea46a11b6e56ce7253d102e68 100644
--- a/briar-android/res/layout/share_forum_message.xml
+++ b/briar-android/res/layout/share_forum_message.xml
@@ -19,6 +19,7 @@
 			android:layout_weight="1"
 			android:gravity="top"
 			android:textSize="@dimen/text_size_medium"
+			android:textColor="@color/briar_text_primary"
 			android:text="@string/forum_share_message"/>
 
 		<EditText
diff --git a/briar-android/res/values/color.xml b/briar-android/res/values/color.xml
index 8a44a58f3da96298a0c7dcce68df693320999ca3..cb1b55840dc83f1d4e5e6eafe554108ad557bdf1 100644
--- a/briar-android/res/values/color.xml
+++ b/briar-android/res/values/color.xml
@@ -26,11 +26,14 @@
 	<color name="briar_accent">@color/briar_blue</color>
 	<color name="briar_accent_dark">@color/briar_blue_dark</color>
 
-	<color name="briar_text_link">@color/briar_green_dark</color>
-	<color name="briar_text_primary">@color/briar_primary</color>
+	<!-- text colors -->
+	<color name="briar_text_link">#06b9ff</color>
+	<color name="briar_text_primary">#df000000</color>
 	<color name="briar_text_primary_inverse">#ffffff</color>
-	<color name="briar_text_secondary">#333333</color>
-	<color name="briar_text_tertiary">#FF78909C</color>
+	<color name="briar_text_secondary">#8a000000</color>
+	<color name="briar_text_secondary_inverse">#b4ffffff</color>
+	<color name="briar_text_tertiary">#61000000</color>
+	<color name="briar_text_tertiary_inverse">#80ffffff</color>
 	<color name="briar_button_positive">#06b9ff</color>
 	<color name="briar_button_negative">#ff0000</color>
 
diff --git a/briar-android/res/values/styles.xml b/briar-android/res/values/styles.xml
index 61f0ce73708f64a1c126de2bab517a565195691e..9251475dad32cb3016d210ed13969b3174e934b1 100644
--- a/briar-android/res/values/styles.xml
+++ b/briar-android/res/values/styles.xml
@@ -1,32 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
-	<style name="BriarBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
-		<item name="actionBarStyle">@style/BriarActionBar</item>
-		<item name="colorPrimary">@color/briar_primary</item>
-		<item name="colorPrimaryDark">@color/briar_primary_dark</item>
-		<item name="colorAccent">@color/briar_accent</item>
-		<item name="android:windowBackground">@color/window_background</item>
-		<item name="android:textColorPrimary">@color/briar_text_primary</item>
-		<item name="android:textColorPrimaryInverse">@color/briar_text_primary_inverse</item>
-		<item name="android:textColorSecondary">@color/briar_text_primary</item>
-		<item name="android:textColorLink">@color/briar_text_link</item>
-	</style>
-
-	<style name="BriarThemeNoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
-		<item name="toolbarStyle">@style/BriarToolbar</item>
-		<item name="colorPrimary">@color/briar_primary</item>
-		<item name="colorPrimaryDark">@color/briar_primary_dark</item>
-		<item name="colorAccent">@color/briar_primary</item>
-		<item name="android:windowBackground">@color/window_background</item>
-		<item name="android:textColorPrimary">@color/briar_text_primary</item>
-		<item name="android:textColorPrimaryInverse">@color/briar_text_primary_inverse</item>
-		<item name="android:textColorSecondary">@color/briar_text_primary</item>
-		<item name="android:textColorLink">@color/briar_text_link</item>
-	</style>
-
-	<style name="BriarThemeNoActionBar.Default" />
-
 	<style name="BriarToolbar" parent="Widget.AppCompat.Toolbar">
 		<item name="android:background">?colorPrimary</item>
 		<item name="android:textColorPrimary">@color/briar_text_primary_inverse</item>
@@ -44,21 +18,10 @@
 		<item name="android:textColor">@color/briar_text_primary_inverse</item>
 	</style>
 
-	<style name="BriarTheme" parent="BriarBaseTheme">
-		<item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
-		<item name="android:listSeparatorTextViewStyle">@style/BriarTheme.ListSeparatorTextView</item>
-	</style>
-
 	<style name="BriarActionBar" parent="Base.Widget.AppCompat.Light.ActionBar.Solid">
 		<item name="elevation">1dp</item>
 	</style>
 
-	<style name="BriarDialogTheme" parent="Theme.AppCompat.Light.Dialog">
-		<item name="colorPrimary">@color/briar_primary</item>
-		<item name="colorPrimaryDark">@color/briar_primary_dark</item>
-		<item name="colorAccent">@color/briar_accent</item>
-	</style>
-
 	<style name="BriarButton" parent="Widget.AppCompat.Button.Colored">
 		<item name="android:textSize">@dimen/text_size_medium</item>
 		<item name="android:padding">@dimen/margin_large</item>
@@ -131,15 +94,6 @@
 		<item name="android:paddingLeft">@dimen/margin_large</item>
 	</style>
 
-	<!-- This fixes a UI bug in the support preference library -->
-	<style name="BriarTheme.ListSeparatorTextView">
-		<item name="android:textSize">14sp</item>
-		<item name="android:textStyle">bold</item>
-		<item name="android:textColor">@color/briar_accent</item>
-		<item name="android:paddingTop">16dp</item>
-		<item name="android:layout_marginBottom">16dp</item>
-	</style>
-
 	<style name="DiscussionLevelIndicator">
 		<item name="android:layout_marginLeft">4dp</item>
 		<item name="android:background">?android:attr/listDivider</item>
diff --git a/briar-android/res/values/themes.xml b/briar-android/res/values/themes.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e87077f031f9ec1e2db96c41eba58cd7f88ff95c
--- /dev/null
+++ b/briar-android/res/values/themes.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+	<style name="BriarBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
+		<item name="actionBarStyle">@style/BriarActionBar</item>
+		<item name="colorPrimary">@color/briar_primary</item>
+		<item name="colorPrimaryDark">@color/briar_primary_dark</item>
+		<item name="colorAccent">@color/briar_accent</item>
+		<item name="android:windowBackground">@color/window_background</item>
+		<item name="android:textColorPrimary">@color/briar_text_primary</item>
+		<item name="android:textColorPrimaryInverse">@color/briar_text_primary_inverse</item>
+		<item name="android:textColorSecondary">@color/briar_text_secondary</item>
+		<item name="android:textColorSecondaryInverse">@color/briar_text_secondary_inverse</item>
+		<item name="android:textColorTertiary">@color/briar_text_tertiary</item>
+		<item name="android:textColorTertiaryInverse">@color/briar_text_tertiary_inverse</item>
+		<item name="android:textColorLink">@color/briar_text_link</item>
+	</style>
+
+	<style name="BriarThemeNoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
+		<item name="toolbarStyle">@style/BriarToolbar</item>
+		<item name="colorPrimary">@color/briar_primary</item>
+		<item name="colorPrimaryDark">@color/briar_primary_dark</item>
+		<item name="colorAccent">@color/briar_primary</item>
+		<item name="android:windowBackground">@color/window_background</item>
+		<item name="android:textColorPrimary">@color/briar_text_primary</item>
+		<item name="android:textColorPrimaryInverse">@color/briar_text_primary_inverse</item>
+		<item name="android:textColorSecondary">@color/briar_text_secondary</item>
+		<item name="android:textColorSecondaryInverse">@color/briar_text_secondary_inverse</item>
+		<item name="android:textColorTertiary">@color/briar_text_tertiary</item>
+		<item name="android:textColorTertiaryInverse">@color/briar_text_tertiary_inverse</item>
+		<item name="android:textColorLink">@color/briar_text_link</item>
+	</style>
+
+	<style name="BriarThemeNoActionBar.Default"/>
+
+	<style name="BriarTheme" parent="BriarBaseTheme">
+		<item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
+		<item name="android:listSeparatorTextViewStyle">@style/BriarTheme.ListSeparatorTextView</item>
+	</style>
+
+	<style name="BriarDialogTheme" parent="Theme.AppCompat.Light.Dialog">
+		<item name="colorPrimary">@color/briar_primary</item>
+		<item name="colorPrimaryDark">@color/briar_primary_dark</item>
+		<item name="colorAccent">@color/briar_accent</item>
+		<item name="android:textColorPrimary">@color/briar_text_primary</item>
+		<item name="android:textColorPrimaryInverse">@color/briar_text_primary_inverse</item>
+		<item name="android:textColorSecondary">@color/briar_text_secondary</item>
+		<item name="android:textColorSecondaryInverse">@color/briar_text_secondary_inverse</item>
+		<item name="android:textColorTertiary">@color/briar_text_tertiary</item>
+		<item name="android:textColorTertiaryInverse">@color/briar_text_tertiary_inverse</item>
+		<item name="android:textColorLink">@color/briar_text_link</item>
+	</style>
+
+	<!-- This fixes a UI bug in the support preference library -->
+	<style name="BriarTheme.ListSeparatorTextView">
+		<item name="android:textSize">14sp</item>
+		<item name="android:textStyle">bold</item>
+		<item name="android:textColor">@color/briar_accent</item>
+		<item name="android:paddingTop">16dp</item>
+		<item name="android:layout_marginBottom">16dp</item>
+	</style>
+
+
+</resources>
\ No newline at end of file