mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-21 07:09:56 +01:00
Forum, nested discussions front end UI/UX, rev 2
This commit is contained in:
4
briar-android/res/drawable/chevron48dp_down.xml
Normal file
4
briar-android/res/drawable/chevron48dp_down.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<vector android:height="24dp" android:viewportHeight="48.0"
|
||||
android:viewportWidth="48.0" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#FF000000" android:pathData="M9.1,19.3l14.9,11.8l14.9,-11.8l-1.9,-2.4l-13,10.4l-13,-10.4z"/>
|
||||
</vector>
|
||||
4
briar-android/res/drawable/chevron48dp_up.xml
Normal file
4
briar-android/res/drawable/chevron48dp_up.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<vector android:height="24dp" android:viewportHeight="48.0"
|
||||
android:viewportWidth="48.0" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#FF000000" android:pathData="M38.9,28.7l-14.9,-11.8l-14.9,11.8l1.9,2.4l13,-10.4l13,10.4z"/>
|
||||
</vector>
|
||||
9
briar-android/res/drawable/level_indicator_circle.xml
Normal file
9
briar-android/res/drawable/level_indicator_circle.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
|
||||
|
||||
<solid android:color="@color/window_background"/>
|
||||
|
||||
<stroke
|
||||
android:width="2dp"
|
||||
android:color="@color/forum_discussion_nested_line"/>
|
||||
</shape>
|
||||
5
briar-android/res/drawable/selector_chevron.xml
Normal file
5
briar-android/res/drawable/selector_chevron.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_selected="true" android:drawable="@drawable/chevron48dp_down"/>
|
||||
<item android:drawable="@drawable/chevron48dp_up"/>
|
||||
</selector>
|
||||
21
briar-android/res/layout/activity_forum.xml
Normal file
21
briar-android/res/layout/activity_forum.xml
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<org.briarproject.android.util.BriarRecyclerView
|
||||
android:id="@+id/forum_discussion_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
app:scrollToEnd="false"/>
|
||||
|
||||
<include
|
||||
layout="@layout/text_input_field"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
</LinearLayout>
|
||||
161
briar-android/res/layout/forum_discussion_cell.xml
Normal file
161
briar-android/res/layout/forum_discussion_cell.xml
Normal file
@@ -0,0 +1,161 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/forum_cell"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<View
|
||||
android:id="@+id/nested_line_1"
|
||||
style="@style/DiscussionLevelIndicator"
|
||||
android:layout_width="@dimen/forum_nested_line_width"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone"
|
||||
tools:visibility="showingDescendants"/>
|
||||
|
||||
<View
|
||||
android:id="@+id/nested_line_2"
|
||||
style="@style/DiscussionLevelIndicator"
|
||||
android:layout_width="@dimen/forum_nested_line_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_toRightOf="@id/nested_line_1"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<View
|
||||
android:id="@+id/nested_line_3"
|
||||
style="@style/DiscussionLevelIndicator"
|
||||
android:layout_width="@dimen/forum_nested_line_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_toRightOf="@id/nested_line_2"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<View
|
||||
android:id="@+id/nested_line_4"
|
||||
style="@style/DiscussionLevelIndicator"
|
||||
android:layout_width="@dimen/forum_nested_line_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_toRightOf="@id/nested_line_3"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<View
|
||||
android:id="@+id/nested_line_5"
|
||||
style="@style/DiscussionLevelIndicator"
|
||||
android:layout_width="@dimen/forum_nested_line_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_toRightOf="@id/nested_line_4"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/nested_line_text"
|
||||
android:layout_width="@dimen/forum_nested_indicator"
|
||||
android:layout_height="@dimen/forum_nested_indicator"
|
||||
android:layout_centerInParent="true"
|
||||
android:background="@drawable/level_indicator_circle"
|
||||
android:gravity="center"
|
||||
android:textSize="@dimen/text_size_small"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/margin_medium"
|
||||
android:layout_weight="1">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/margin_small"
|
||||
android:layout_marginLeft="@dimen/margin_medium"
|
||||
android:layout_marginRight="@dimen/margin_medium"
|
||||
android:layout_marginTop="@dimen/margin_medium"
|
||||
android:textIsSelectable="true"
|
||||
android:textSize="@dimen/text_size_medium"
|
||||
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
|
||||
android:id="@+id/avatar"
|
||||
android:layout_width="@dimen/forum_avatar_size"
|
||||
android:layout_height="@dimen/forum_avatar_size"
|
||||
android:layout_alignLeft="@id/text"
|
||||
android:layout_below="@id/text"
|
||||
android:layout_marginRight="@dimen/margin_small"
|
||||
android:layout_marginTop="@dimen/margin_small"
|
||||
android:src="@drawable/ic_launcher"
|
||||
app:civ_border_color="@color/briar_primary"
|
||||
app:civ_border_width="@dimen/avatar_border_width"
|
||||
tools:src="@drawable/ic_launcher"
|
||||
/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/chevron"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_below="@id/text"
|
||||
android:layout_marginRight="@dimen/margin_medium"
|
||||
android:layout_marginTop="@dimen/margin_small"
|
||||
android:clickable="true"
|
||||
android:src="@drawable/selector_chevron"
|
||||
android:tint="@color/briar_button_positive"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/btn_reply"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/text"
|
||||
android:layout_marginRight="@dimen/margin_medium"
|
||||
android:layout_toLeftOf="@id/chevron"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:padding="@dimen/margin_medium"
|
||||
android:text="@string/btn_reply"
|
||||
android:textColor="@color/briar_button_positive"
|
||||
android:textSize="@dimen/text_size_tiny"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/replies"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignBaseline="@id/btn_reply"
|
||||
android:layout_toLeftOf="@id/btn_reply"
|
||||
android:padding="@dimen/margin_medium"
|
||||
android:textSize="@dimen/text_size_tiny"
|
||||
tools:text="2 replies"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/date"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignBaseline="@id/replies"
|
||||
android:layout_toLeftOf="@id/replies"
|
||||
android:layout_toRightOf="@id/avatar"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textSize="@dimen/text_size_tiny"
|
||||
tools:text="09:09 John Smith"/>
|
||||
|
||||
<View
|
||||
android:id="@+id/bottom_divider"
|
||||
style="@style/Divider.ForumList"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/margin_separator"
|
||||
android:layout_alignLeft="@id/text"
|
||||
android:layout_below="@id/btn_reply"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
35
briar-android/res/layout/text_input_field.xml
Normal file
35
briar-android/res/layout/text_input_field.xml
Normal file
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout
|
||||
android:id="@+id/text_input_container"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/button_bar_background"
|
||||
android:elevation="@dimen/margin_tiny"
|
||||
android:orientation="horizontal"
|
||||
android:paddingLeft="@dimen/margin_large"
|
||||
android:paddingStart="@dimen/margin_large">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/input_text"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/margin_small"
|
||||
android:layout_weight="1"
|
||||
android:inputType="textMultiLine|textCapSentences"
|
||||
android:maxLines="5"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/btn_send"
|
||||
android:layout_width="38dp"
|
||||
android:layout_height="38dp"
|
||||
android:layout_margin="@dimen/margin_medium"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:contentDescription="@string/send"
|
||||
android:onClick="sendMessage"
|
||||
android:src="@drawable/social_send_now_white"
|
||||
android:tint="@color/briar_primary"
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
7
briar-android/res/values/attrs.xml
Normal file
7
briar-android/res/values/attrs.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<declare-styleable name="BriarRecyclerView">
|
||||
<attr name="scrollToEnd" format="boolean" />
|
||||
</declare-styleable>
|
||||
|
||||
</resources>
|
||||
@@ -43,4 +43,6 @@
|
||||
|
||||
<color name="spinner_border">#61000000</color> <!-- 38% Black -->
|
||||
<color name="spinner_arrow">@color/briar_blue_dark</color>
|
||||
<color name="forum_discussion_nested_line">#cfd2d4</color>
|
||||
<color name="forum_cell_highlight">#ffffff</color>
|
||||
</resources>
|
||||
@@ -41,5 +41,8 @@
|
||||
<dimen name="message_bubble_margin_tail">14dp</dimen>
|
||||
<dimen name="message_bubble_margin_non_tail">51dp</dimen>
|
||||
<dimen name="message_bubble_timestamp_margin">15dp</dimen>
|
||||
<dimen name="forum_nested_line_width">2dp</dimen>
|
||||
<dimen name="forum_nested_indicator">24dp</dimen>
|
||||
<dimen name="forum_avatar_size">20dp</dimen>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -198,6 +198,17 @@
|
||||
<string name="introduction_success_title">Introduced contact was added</string>
|
||||
<string name="introduction_success_text">You have been introduced to %1$s.</string>
|
||||
|
||||
<!-- Forum -->
|
||||
<string name="btn_reply">REPLY</string>
|
||||
<plurals name="message_replies">
|
||||
<item quantity="one">%1$d reply</item>
|
||||
<item quantity="other">%1$d replies</item>
|
||||
</plurals>
|
||||
<string name="forum_new_entry_posted">Forum entry posted</string>
|
||||
<string name="forum_new_entry_received">New forum entry</string>
|
||||
<string name="forum_new_message_hint">New Entry</string>
|
||||
<string name="forum_message_reply_hint">New Reply</string>
|
||||
|
||||
<!-- Dialogs -->
|
||||
<string name="dialog_title_lost_password">Lost Password</string>
|
||||
<string name="dialog_message_lost_password">Password recovery is not possible. Do you want to delete your account?\n\nCaution: This will permanently delete your identities, contacts and messages</string>
|
||||
@@ -225,4 +236,6 @@
|
||||
<!-- Progress titles -->
|
||||
<string name="progress_title_logout">Signing out of Briar..</string>
|
||||
<string name="progress_title_please_wait">Please wait..</string>
|
||||
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -140,4 +140,9 @@
|
||||
<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>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
Reference in New Issue
Block a user