Implement new feed and subscriptions groups

- Introduce Groupie for easier lists implementations
- Use some of the new components of the Android Architecture libraries
- Add a bunch of icons for groups, using vectors, which still is
compatible with older APIs through the compatibility layer
This commit is contained in:
Mauricio Colli 2019-04-28 17:43:54 -03:00
parent c1765bf035
commit ee00c8c26f
143 changed files with 4099 additions and 1370 deletions

View file

@ -6,13 +6,92 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/refresh_root_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:paddingTop="8dp"
android:visibility="gone"
tools:visibility="visible">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/refresh_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_toStartOf="@+id/refreshIcon"
android:ellipsize="end"
android:gravity="start|center_vertical"
android:maxLines="1"
android:minHeight="24dp"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textSize="14sp"
tools:text="@string/feed_last_updated"/>
<ImageView
android:id="@+id/refreshIcon"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_alignParentEnd="true"
android:layout_marginEnd="12dp"
android:layout_marginStart="6dp"
app:srcCompat="?attr/ic_refresh"
tools:ignore="ContentDescription"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@+id/refresh_text"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="8dp"
android:background="?attr/separator_color"/>
</RelativeLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/items_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/refresh_root_view"
android:scrollbars="vertical"
app:layoutManager="LinearLayoutManager"
tools:listitem="@layout/list_channel_item"/>
android:visibility="gone"
tools:visibility="visible"
tools:listitem="@layout/list_stream_item"/>
<LinearLayout
android:id="@+id/loading_panel_root"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:orientation="vertical">
<ProgressBar
android:id="@+id/loading_progress_bar"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:indeterminate="true"
android:minWidth="128dp"
android:visibility="gone"
tools:visibility="visible"/>
<TextView
android:id="@+id/loading_progress_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="∞/∞"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textSize="16sp"
android:visibility="gone"
tools:text="1/120"
tools:visibility="visible"/>
</LinearLayout>
<!--ERROR PANEL-->
<include
@ -37,7 +116,6 @@
<View
android:layout_width="match_parent"
android:layout_height="4dp"
android:background="?attr/toolbar_shadow_drawable"
android:layout_alignParentTop="true"/>
android:layout_alignParentTop="true"
android:background="?attr/toolbar_shadow_drawable"/>
</RelativeLayout>