Account Activity enhancements (#1196)
* use the "follow" button as an "unblock" button on the profiles of blocked users * use the "follow" button as an "unblock" button on the profiles of blocked users * add an icon to the profiles that can be clicked to mute/unmute the user * add an icon to the profiles that can be clicked to mute/unmute the user * Fix view issues * Fix view issues * Implement swipe to refresh for Account layout * Implement swipe to refresh handler at the account screen * Implement swipe to refresh * Correct account refresh * Show Progress Bar * Show Progress Bar * Move "itSelf" check into the viewModel * Change methods access level * Change TimelineFragment newInstance overload * Change avatarSize type to Float * Replace ImageButton with MaterialButton * Update account activity swipe to refresh colors * Refactor code * Refactor code * Fix crash on moved account refresh * Show moved account stats * Update mute button behaviour * Show tabs and content for moved accounts * Fix crash on tabletmain
parent
195744afbb
commit
b4516cac04
@ -0,0 +1,11 @@ |
||||
package com.keylesspalace.tusky.interfaces |
||||
|
||||
/** |
||||
* Created by pandasoft (joelpyska1@gmail.com) on 04/04/2019. |
||||
*/ |
||||
interface RefreshableFragment { |
||||
/** |
||||
* Call this method to refresh fragment content |
||||
*/ |
||||
fun refreshContent() |
||||
} |
@ -1,316 +1,367 @@ |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout 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/accountCoordinatorLayout" |
||||
android:id="@+id/swipeToRefreshLayout" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="match_parent" |
||||
android:textDirection="anyRtl" |
||||
android:fillViewport="true"> |
||||
android:layout_height="match_parent"> |
||||
|
||||
<com.google.android.material.appbar.AppBarLayout |
||||
android:id="@+id/accountAppBarLayout" |
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout |
||||
android:id="@+id/accountCoordinatorLayout" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:elevation="@dimen/actionbar_elevation"> |
||||
android:layout_height="match_parent" |
||||
android:fillViewport="true" |
||||
android:textDirection="anyRtl"> |
||||
|
||||
<com.google.android.material.appbar.CollapsingToolbarLayout |
||||
android:id="@+id/collapsingToolbar" |
||||
<com.google.android.material.appbar.AppBarLayout |
||||
android:id="@+id/accountAppBarLayout" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
app:contentScrim="?attr/toolbar_background_color" |
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed" |
||||
app:statusBarScrim="?android:attr/colorBackground" |
||||
app:titleEnabled="false"> |
||||
android:elevation="@dimen/actionbar_elevation"> |
||||
|
||||
<ImageView |
||||
android:id="@+id/accountHeaderImageView" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="180dp" |
||||
android:layout_alignTop="@+id/account_header_info" |
||||
android:background="?attr/account_header_background_color" |
||||
android:scaleType="centerCrop" |
||||
app:layout_collapseMode="parallax" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toTopOf="parent" |
||||
tools:background="#000" /> |
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout |
||||
android:id="@+id/accountHeaderInfoContainer" |
||||
<com.google.android.material.appbar.CollapsingToolbarLayout |
||||
android:id="@+id/collapsingToolbar" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginTop="180dp" |
||||
android:paddingStart="16dp" |
||||
android:paddingEnd="16dp"> |
||||
|
||||
<Button |
||||
android:id="@+id/accountFollowButton" |
||||
style="@style/TuskyButton" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginTop="6dp" |
||||
android:textColor="@android:color/white" |
||||
android:textSize="?attr/status_text_medium" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintTop_toTopOf="parent" |
||||
tools:text="Follow" /> |
||||
app:contentScrim="?attr/toolbar_background_color" |
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed" |
||||
app:statusBarScrim="?android:attr/colorBackground" |
||||
app:titleEnabled="false"> |
||||
|
||||
<androidx.emoji.widget.EmojiTextView |
||||
android:id="@+id/accountDisplayNameTextView" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginTop="62dp" |
||||
android:ellipsize="end" |
||||
android:maxLines="1" |
||||
android:textColor="?android:textColorPrimary" |
||||
android:textSize="?attr/status_text_large" |
||||
android:textStyle="normal|bold" |
||||
<ImageView |
||||
android:id="@+id/accountHeaderImageView" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="180dp" |
||||
android:layout_alignTop="@+id/account_header_info" |
||||
android:background="?attr/account_header_background_color" |
||||
android:scaleType="centerCrop" |
||||
app:layout_collapseMode="parallax" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toTopOf="parent" |
||||
tools:text="Tusky Mastodon Client " /> |
||||
|
||||
<TextView |
||||
android:id="@+id/accountUsernameTextView" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_gravity="center_horizontal" |
||||
android:ellipsize="end" |
||||
android:maxLines="1" |
||||
android:textColor="?android:textColorSecondary" |
||||
android:textSize="?attr/status_text_medium" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toBottomOf="@id/accountDisplayNameTextView" |
||||
tools:text="\@Tusky" /> |
||||
tools:background="#000" /> |
||||
|
||||
<ImageView |
||||
android:id="@+id/accountLockedImageView" |
||||
android:layout_width="16sp" |
||||
android:layout_height="16sp" |
||||
android:layout_marginStart="4dp" |
||||
android:contentDescription="@string/description_account_locked" |
||||
android:tint="?android:textColorSecondary" |
||||
android:visibility="gone" |
||||
app:layout_constraintBottom_toBottomOf="@+id/accountUsernameTextView" |
||||
app:layout_constraintStart_toEndOf="@+id/accountUsernameTextView" |
||||
app:layout_constraintTop_toTopOf="@+id/accountUsernameTextView" |
||||
app:srcCompat="@drawable/reblog_private_light" |
||||
tools:visibility="visible" /> |
||||
|
||||
<TextView |
||||
android:id="@+id/accountFollowsYouTextView" |
||||
android:layout_width="wrap_content" |
||||
<androidx.constraintlayout.widget.ConstraintLayout |
||||
android:id="@+id/accountHeaderInfoContainer" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginTop="6dp" |
||||
android:background="@drawable/profile_badge_background" |
||||
android:text="@string/follows_you" |
||||
android:textSize="?attr/status_text_small" |
||||
android:visibility="gone" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toBottomOf="@id/accountUsernameTextView" |
||||
tools:visibility="visible" /> |
||||
android:layout_marginTop="180dp" |
||||
android:paddingStart="16dp" |
||||
android:paddingEnd="16dp"> |
||||
|
||||
<TextView |
||||
android:id="@+id/accountBadgeTextView" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginStart="8dp" |
||||
android:layout_marginTop="6dp" |
||||
android:background="@drawable/profile_badge_background" |
||||
android:text="@string/profile_badge_bot_text" |
||||
android:textSize="?attr/status_text_small" |
||||
android:visibility="gone" |
||||
app:layout_constraintStart_toEndOf="@id/accountFollowsYouTextView" |
||||
app:layout_constraintTop_toBottomOf="@id/accountUsernameTextView" |
||||
app:layout_goneMarginStart="0dp" |
||||
tools:visibility="visible" /> |
||||
|
||||
<androidx.constraintlayout.widget.Barrier |
||||
android:id="@+id/labelBarrier" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
app:barrierDirection="bottom" |
||||
app:constraint_referenced_ids="accountFollowsYouTextView,accountBadgeTextView" /> |
||||
<androidx.constraintlayout.widget.Guideline |
||||
android:id="@+id/guideAvatar" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:orientation="vertical" |
||||
app:layout_constraintGuide_begin="@dimen/account_activity_avatar_size" /> |
||||
|
||||
<androidx.emoji.widget.EmojiTextView |
||||
android:id="@+id/accountNoteTextView" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:lineSpacingMultiplier="1.1" |
||||
android:paddingTop="10dp" |
||||
android:textColor="?android:textColorTertiary" |
||||
android:textSize="?attr/status_text_medium" |
||||
app:layout_constraintTop_toBottomOf="@id/labelBarrier" |
||||
tools:text="This is a test description. Descriptions can be quite looooong." /> |
||||
|
||||
<androidx.recyclerview.widget.RecyclerView |
||||
android:id="@+id/accountFieldList" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
app:layout_constraintTop_toBottomOf="@id/accountNoteTextView" |
||||
tools:itemCount="2" |
||||
tools:listitem="@layout/item_account_field" /> |
||||
<Button |
||||
android:id="@+id/accountFollowButton" |
||||
style="@style/TuskyButton" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginTop="6dp" |
||||
android:ellipsize="end" |
||||
android:maxLines="1" |
||||
android:textColor="@android:color/white" |
||||
android:textSize="?attr/status_text_medium" |
||||
app:layout_constrainedWidth="true" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintHorizontal_bias="1" |
||||
app:layout_constraintHorizontal_chainStyle="packed" |
||||
app:layout_constraintStart_toEndOf="@id/accountMuteButton" |
||||
app:layout_constraintTop_toTopOf="parent" |
||||
tools:text="Follow Requested" /> |
||||
|
||||
<ViewStub |
||||
android:id="@+id/accountMovedView" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:inflatedId="@+id/accountMovedView" |
||||
android:layout="@layout/view_account_moved" |
||||
app:layout_constraintTop_toBottomOf="@id/accountFieldList" /> |
||||
<com.google.android.material.button.MaterialButton |
||||
android:id="@+id/accountMuteButton" |
||||
style="@style/TuskyButton.Outlined" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="0dp" |
||||
android:layout_marginStart="16dp" |
||||
android:layout_marginEnd="6dp" |
||||
android:minWidth="0dp" |
||||
android:paddingStart="8dp" |
||||
android:paddingEnd="8dp" |
||||
android:scaleType="centerInside" |
||||
app:icon="@drawable/ic_unmute_24dp" |
||||
app:layout_constrainedHeight="true" |
||||
app:layout_constraintBottom_toBottomOf="@+id/accountFollowButton" |
||||
app:layout_constraintEnd_toStartOf="@id/accountFollowButton" |
||||
app:layout_constraintHorizontal_bias="1" |
||||
app:layout_constraintHorizontal_chainStyle="packed" |
||||
app:layout_constraintStart_toStartOf="@id/guideAvatar" |
||||
app:layout_constraintTop_toTopOf="@+id/accountFollowButton" /> |
||||
|
||||
<TextView |
||||
android:id="@+id/accountRemoveView" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginTop="8dp" |
||||
android:layout_marginBottom="8dp" |
||||
android:lineSpacingMultiplier="1.1" |
||||
android:text="@string/label_remote_account" |
||||
android:visibility="gone" |
||||
app:layout_constraintTop_toBottomOf="@id/accountMovedView" |
||||
tools:visibility="visible" /> |
||||
|
||||
<LinearLayout |
||||
android:id="@+id/accountStatuses" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:background="?attr/selectableItemBackgroundBorderless" |
||||
android:gravity="center_horizontal" |
||||
android:orientation="vertical" |
||||
app:layout_constraintEnd_toStartOf="@id/accountFollowing" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toBottomOf="@id/accountRemoveView"> |
||||
<androidx.emoji.widget.EmojiTextView |
||||
android:id="@+id/accountDisplayNameTextView" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginTop="62dp" |
||||
android:ellipsize="end" |
||||
android:maxLines="1" |
||||
android:textColor="?android:textColorPrimary" |
||||
android:textSize="?attr/status_text_large" |
||||
android:textStyle="normal|bold" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toTopOf="parent" |
||||
tools:text="Tusky Mastodon Client " /> |
||||
|
||||
<TextView |
||||
android:id="@+id/accountStatusesTextView" |
||||
android:id="@+id/accountUsernameTextView" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginTop="8dp" |
||||
android:fontFamily="sans-serif-medium" |
||||
android:textColor="@color/account_tab_font_color" |
||||
android:layout_gravity="center_horizontal" |
||||
android:ellipsize="end" |
||||
android:maxLines="1" |
||||
android:textColor="?android:textColorSecondary" |
||||
android:textSize="?attr/status_text_medium" |
||||
tools:text="3000" /> |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toBottomOf="@id/accountDisplayNameTextView" |
||||
tools:text="\@Tusky" /> |
||||
|
||||
<ImageView |
||||
android:id="@+id/accountLockedImageView" |
||||
android:layout_width="16sp" |
||||
android:layout_height="16sp" |
||||
android:layout_marginStart="4dp" |
||||
android:contentDescription="@string/description_account_locked" |
||||
android:tint="?android:textColorSecondary" |
||||
android:visibility="gone" |
||||
app:layout_constraintBottom_toBottomOf="@+id/accountUsernameTextView" |
||||
app:layout_constraintStart_toEndOf="@+id/accountUsernameTextView" |
||||
app:layout_constraintTop_toTopOf="@+id/accountUsernameTextView" |
||||
app:srcCompat="@drawable/reblog_private_light" |
||||
tools:visibility="visible" /> |
||||
|
||||
<TextView |
||||
android:id="@+id/accountFollowsYouTextView" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:paddingBottom="6dp" |
||||
android:text="@string/title_statuses" |
||||
android:textColor="@color/account_tab_font_color" |
||||
android:textSize="?attr/status_text_medium" /> |
||||
</LinearLayout> |
||||
|
||||
<LinearLayout |
||||
android:id="@+id/accountFollowing" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:background="?attr/selectableItemBackgroundBorderless" |
||||
android:gravity="center_horizontal" |
||||
android:orientation="vertical" |
||||
app:layout_constraintEnd_toStartOf="@id/accountFollowers" |
||||
app:layout_constraintStart_toEndOf="@id/accountStatuses" |
||||
app:layout_constraintTop_toBottomOf="@id/accountRemoveView"> |
||||
android:layout_marginTop="6dp" |
||||
android:background="@drawable/profile_badge_background" |
||||
android:text="@string/follows_you" |
||||
android:textSize="?attr/status_text_small" |
||||
android:visibility="gone" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toBottomOf="@id/accountUsernameTextView" |
||||
tools:visibility="visible" /> |
||||
|
||||
<TextView |
||||
android:id="@+id/accountFollowingTextView" |
||||
android:id="@+id/accountBadgeTextView" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginTop="8dp" |
||||
android:fontFamily="sans-serif-medium" |
||||
android:textColor="@color/account_tab_font_color" |
||||
android:textSize="?attr/status_text_medium" |
||||
tools:text="500" /> |
||||
android:layout_marginStart="8dp" |
||||
android:layout_marginTop="6dp" |
||||
android:background="@drawable/profile_badge_background" |
||||
android:text="@string/profile_badge_bot_text" |
||||
android:textSize="?attr/status_text_small" |
||||
android:visibility="gone" |
||||
app:layout_constraintStart_toEndOf="@id/accountFollowsYouTextView" |
||||
app:layout_constraintTop_toBottomOf="@id/accountUsernameTextView" |
||||
app:layout_goneMarginStart="0dp" |
||||
tools:visibility="visible" /> |
||||
|
||||
<TextView |
||||
<androidx.constraintlayout.widget.Barrier |
||||
android:id="@+id/labelBarrier" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:paddingBottom="6dp" |
||||
android:text="@string/title_follows" |
||||
android:textColor="@color/account_tab_font_color" |
||||
android:textSize="?attr/status_text_medium" /> |
||||
</LinearLayout> |
||||
|
||||
<LinearLayout |
||||
android:id="@+id/accountFollowers" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:background="?attr/selectableItemBackgroundBorderless" |
||||
android:gravity="center_horizontal" |
||||
android:orientation="vertical" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toEndOf="@id/accountFollowing" |
||||
app:layout_constraintTop_toBottomOf="@id/accountRemoveView"> |
||||
app:barrierDirection="bottom" |
||||
app:constraint_referenced_ids="accountFollowsYouTextView,accountBadgeTextView" /> |
||||
|
||||
<TextView |
||||
android:id="@+id/accountFollowersTextView" |
||||
<androidx.emoji.widget.EmojiTextView |
||||
android:id="@+id/accountNoteTextView" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginTop="8dp" |
||||
android:background="@android:color/transparent" |
||||
android:fontFamily="sans-serif-medium" |
||||
android:textColor="@color/account_tab_font_color" |
||||
|
||||
android:lineSpacingMultiplier="1.1" |
||||
android:paddingTop="10dp" |
||||
android:textColor="?android:textColorTertiary" |
||||
android:textSize="?attr/status_text_medium" |
||||
tools:text="1234" /> |
||||
app:layout_constraintTop_toBottomOf="@id/labelBarrier" |
||||
tools:text="This is a test description. Descriptions can be quite looooong." /> |
||||
|
||||
<androidx.recyclerview.widget.RecyclerView |
||||
android:id="@+id/accountFieldList" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
app:layout_constraintTop_toBottomOf="@id/accountNoteTextView" |
||||
tools:itemCount="2" |
||||
tools:listitem="@layout/item_account_field" /> |
||||
|
||||
<TextView |
||||
android:id="@+id/accountRemoveView" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginTop="8dp" |
||||
android:layout_marginBottom="8dp" |
||||
android:lineSpacingMultiplier="1.1" |
||||
android:text="@string/label_remote_account" |
||||
android:visibility="gone" |
||||
app:layout_constraintTop_toBottomOf="@id/accountFieldList" |
||||
tools:visibility="visible" /> |
||||
|
||||
<ViewStub |
||||
android:id="@+id/accountMovedView" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="wrap_content" |
||||
android:inflatedId="@+id/accountMovedViewLayout" |
||||
android:layout="@layout/view_account_moved" |
||||
app:layout_constraintTop_toBottomOf="@id/accountRemoveView" /> |
||||
|
||||
<androidx.constraintlayout.widget.Barrier |
||||
android:id="@+id/barrierRemote" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
app:barrierDirection="bottom" |
||||
app:constraint_referenced_ids="accountMovedView,accountMovedViewLayout" /> |
||||
|
||||
<LinearLayout |
||||
android:id="@+id/accountStatuses" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:background="?attr/selectableItemBackgroundBorderless" |
||||
android:gravity="center_horizontal" |
||||
android:orientation="vertical" |
||||
app:layout_constraintEnd_toStartOf="@id/accountFollowing" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toBottomOf="@id/barrierRemote"> |
||||
|
||||
<TextView |
||||
android:id="@+id/accountStatusesTextView" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginTop="8dp" |
||||
|
||||
android:fontFamily="sans-serif-medium" |
||||
android:textColor="@color/account_tab_font_color" |
||||
android:textSize="?attr/status_text_medium" |
||||
tools:text="3000" /> |
||||
|
||||
<TextView |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:paddingBottom="6dp" |
||||
android:text="@string/title_statuses" |
||||
android:textColor="@color/account_tab_font_color" |
||||
android:textSize="?attr/status_text_medium" /> |
||||
</LinearLayout> |
||||
|
||||
<LinearLayout |
||||
android:id="@+id/accountFollowing" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:paddingBottom="6dp" |
||||
android:text="@string/title_followers" |
||||
android:textColor="@color/account_tab_font_color" |
||||
android:textSize="?attr/status_text_medium" /> |
||||
</LinearLayout> |
||||
</androidx.constraintlayout.widget.ConstraintLayout> |
||||
|
||||
<!-- top margin equal to statusbar size will be set programmatically --> |
||||
<androidx.appcompat.widget.Toolbar |
||||
android:id="@+id/accountToolbar" |
||||
android:background="?attr/selectableItemBackgroundBorderless" |
||||
android:gravity="center_horizontal" |
||||
android:orientation="vertical" |
||||
app:layout_constraintEnd_toStartOf="@id/accountFollowers" |
||||
app:layout_constraintStart_toEndOf="@id/accountStatuses" |
||||
app:layout_constraintTop_toBottomOf="@id/barrierRemote"> |
||||
|
||||
<TextView |
||||
android:id="@+id/accountFollowingTextView" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginTop="8dp" |
||||
android:fontFamily="sans-serif-medium" |
||||
android:textColor="@color/account_tab_font_color" |
||||
android:textSize="?attr/status_text_medium" |
||||
tools:text="500" /> |
||||
|
||||
<TextView |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:paddingBottom="6dp" |
||||
android:text="@string/title_follows" |
||||
android:textColor="@color/account_tab_font_color" |
||||
android:textSize="?attr/status_text_medium" /> |
||||
</LinearLayout> |
||||
|
||||
<LinearLayout |
||||
android:id="@+id/accountFollowers" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:background="?attr/selectableItemBackgroundBorderless" |
||||
android:gravity="center_horizontal" |
||||
android:orientation="vertical" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toEndOf="@id/accountFollowing" |
||||
app:layout_constraintTop_toBottomOf="@id/barrierRemote"> |
||||
|
||||
<TextView |
||||
android:id="@+id/accountFollowersTextView" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginTop="8dp" |
||||
android:background="@android:color/transparent" |
||||
android:fontFamily="sans-serif-medium" |
||||
android:textColor="@color/account_tab_font_color" |
||||
android:textSize="?attr/status_text_medium" |
||||
tools:text="1234" /> |
||||
|
||||
<TextView |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:paddingBottom="6dp" |
||||
android:text="@string/title_followers" |
||||
android:textColor="@color/account_tab_font_color" |
||||
android:textSize="?attr/status_text_medium" /> |
||||
</LinearLayout> |
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout> |
||||
|
||||
<!-- top margin equal to statusbar size will be set programmatically --> |
||||
<androidx.appcompat.widget.Toolbar |
||||
android:id="@+id/accountToolbar" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="?attr/actionBarSize" |
||||
android:layout_gravity="top" |
||||
android:background="@android:color/transparent" |
||||
app:layout_collapseMode="pin" |
||||
app:layout_scrollFlags="scroll|enterAlways" /> |
||||
</com.google.android.material.appbar.CollapsingToolbarLayout> |
||||
|
||||
<com.google.android.material.tabs.TabLayout |
||||
android:id="@+id/accountTabLayout" |
||||
style="@style/TuskyTabAppearance" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="?attr/actionBarSize" |
||||
android:layout_gravity="top" |
||||
android:background="@android:color/transparent" |
||||
app:layout_collapseMode="pin" |
||||
app:layout_scrollFlags="scroll|enterAlways" /> |
||||
</com.google.android.material.appbar.CollapsingToolbarLayout> |
||||
|
||||
<com.google.android.material.tabs.TabLayout |
||||
android:id="@+id/accountTabLayout" |
||||
style="@style/TuskyTabAppearance" |
||||
android:layout_height="wrap_content" |
||||
|
||||
android:background="?android:colorBackground" |
||||
app:tabGravity="center" |
||||
app:tabMode="scrollable" |
||||
app:tabTextAppearance="@style/TuskyTabAppearance" /> |
||||
|
||||
</com.google.android.material.appbar.AppBarLayout> |
||||
|
||||
<androidx.viewpager.widget.ViewPager |
||||
android:id="@+id/accountFragmentViewPager" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="match_parent" |
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior" /> |
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton |
||||
android:id="@+id/accountFloatingActionButton" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:background="?android:colorBackground" |
||||
app:tabGravity="center" |
||||
app:tabMode="scrollable" |
||||
app:tabTextAppearance="@style/TuskyTabAppearance" /> |
||||
android:layout_gravity="bottom|end" |
||||
android:layout_margin="16dp" |
||||
android:contentDescription="@string/action_mention" |
||||
app:srcCompat="@drawable/ic_create_24dp" /> |
||||
|
||||
</com.google.android.material.appbar.AppBarLayout> |
||||
<include layout="@layout/item_status_bottom_sheet" /> |
||||
|
||||
<androidx.viewpager.widget.ViewPager |
||||
android:id="@+id/accountFragmentViewPager" |
||||
android:layout_width="match_parent" |
||||
android:layout_height="match_parent" |
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior" /> |
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton |
||||
android:id="@+id/accountFloatingActionButton" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_gravity="bottom|end" |
||||
android:layout_margin="16dp" |
||||
android:contentDescription="@string/action_mention" |
||||
app:srcCompat="@drawable/ic_create_24dp" /> |
||||
|
||||
<include layout="@layout/item_status_bottom_sheet" /> |
||||
|
||||
<com.keylesspalace.tusky.view.RoundedImageView |
||||
android:id="@+id/accountAvatarImageView" |
||||
android:layout_width="@dimen/account_activity_avatar_size" |
||||
android:layout_height="@dimen/account_activity_avatar_size" |
||||
android:layout_marginStart="16dp" |
||||
android:background="@drawable/avatar_background" |
||||
android:padding="3dp" |
||||
app:layout_anchor="@+id/accountHeaderInfoContainer" |
||||
app:layout_anchorGravity="top" |
||||
app:layout_scrollFlags="scroll" |
||||
app:srcCompat="@drawable/avatar_default" /> |
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout> |
||||
<com.keylesspalace.tusky.view.RoundedImageView |
||||
android:id="@+id/accountAvatarImageView" |
||||
android:layout_width="@dimen/account_activity_avatar_size" |
||||
android:layout_height="@dimen/account_activity_avatar_size" |
||||
android:layout_marginStart="16dp" |
||||
android:background="@drawable/avatar_background" |
||||
android:padding="3dp" |
||||
app:layout_anchor="@+id/accountHeaderInfoContainer" |
||||
app:layout_anchorGravity="top" |
||||
app:layout_scrollFlags="scroll" |
||||
app:srcCompat="@drawable/avatar_default" /> |
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout> |
||||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout> |
Loading…
Reference in new issue