AccountActivity: show admin/moderator badge
This commit is contained in:
parent
f5aa20577e
commit
ad4b559f8f
@ -152,6 +152,8 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI
|
|||||||
*/
|
*/
|
||||||
private fun setupAccountViews() {
|
private fun setupAccountViews() {
|
||||||
// Initialise the default UI states.
|
// Initialise the default UI states.
|
||||||
|
accountAdminTextView.hide()
|
||||||
|
accountModeratorTextView.hide()
|
||||||
accountFloatingActionButton.hide()
|
accountFloatingActionButton.hide()
|
||||||
accountFollowButton.hide()
|
accountFollowButton.hide()
|
||||||
accountMuteButton.hide()
|
accountMuteButton.hide()
|
||||||
@ -391,6 +393,8 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI
|
|||||||
|
|
||||||
accountLockedImageView.visible(account.locked)
|
accountLockedImageView.visible(account.locked)
|
||||||
accountBadgeTextView.visible(account.bot)
|
accountBadgeTextView.visible(account.bot)
|
||||||
|
accountAdminTextView.visible(account.pleroma?.isAdmin ?: false)
|
||||||
|
accountModeratorTextView.visible(account.pleroma?.isModerator ?: false)
|
||||||
|
|
||||||
updateAccountAvatar()
|
updateAccountAvatar()
|
||||||
updateToolbar()
|
updateToolbar()
|
||||||
|
@ -44,8 +44,8 @@ data class Account(
|
|||||||
val bot: Boolean = false,
|
val bot: Boolean = false,
|
||||||
val emojis: List<Emoji>? = emptyList(), // nullable for backward compatibility
|
val emojis: List<Emoji>? = emptyList(), // nullable for backward compatibility
|
||||||
val fields: List<Field>? = emptyList(), //nullable for backward compatibility
|
val fields: List<Field>? = emptyList(), //nullable for backward compatibility
|
||||||
val moved: Account? = null
|
val moved: Account? = null,
|
||||||
|
val pleroma: PleromaAccount? = null
|
||||||
) : Parcelable {
|
) : Parcelable {
|
||||||
|
|
||||||
val name: String
|
val name: String
|
||||||
@ -81,6 +81,7 @@ data class Account(
|
|||||||
&& emojis == other.emojis
|
&& emojis == other.emojis
|
||||||
&& fields == other.fields
|
&& fields == other.fields
|
||||||
&& moved == other.moved
|
&& moved == other.moved
|
||||||
|
&& pleroma == other.pleroma
|
||||||
}
|
}
|
||||||
|
|
||||||
fun isRemote(): Boolean = this.username != this.localUsername
|
fun isRemote(): Boolean = this.username != this.localUsername
|
||||||
@ -107,10 +108,16 @@ data class StringField (
|
|||||||
val value: String
|
val value: String
|
||||||
): Parcelable
|
): Parcelable
|
||||||
|
|
||||||
|
@Parcelize
|
||||||
|
data class PleromaAccount(
|
||||||
|
@SerializedName("is_moderator") val isModerator: Boolean? = null,
|
||||||
|
@SerializedName("is_admin") val isAdmin: Boolean? = null
|
||||||
|
): Parcelable
|
||||||
|
|
||||||
object SpannedParceler : Parceler<Spanned> {
|
object SpannedParceler : Parceler<Spanned> {
|
||||||
override fun create(parcel: Parcel): Spanned = HtmlUtils.fromHtml(parcel.readString())
|
override fun create(parcel: Parcel): Spanned = HtmlUtils.fromHtml(parcel.readString())
|
||||||
|
|
||||||
override fun Spanned.write(parcel: Parcel, flags: Int) {
|
override fun Spanned.write(parcel: Parcel, flags: Int) {
|
||||||
parcel.writeString(HtmlUtils.toHtml(this))
|
parcel.writeString(HtmlUtils.toHtml(this))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -132,18 +132,48 @@
|
|||||||
app:layout_constraintTop_toTopOf="@+id/accountUsernameTextView"
|
app:layout_constraintTop_toTopOf="@+id/accountUsernameTextView"
|
||||||
app:srcCompat="@drawable/reblog_private_light"
|
app:srcCompat="@drawable/reblog_private_light"
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/accountAdminTextView"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="6dp"
|
||||||
|
android:background="@drawable/profile_badge_background"
|
||||||
|
android:text="@string/admin"
|
||||||
|
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/accountModeratorTextView"
|
||||||
|
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/moderator"
|
||||||
|
android:textSize="?attr/status_text_small"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:layout_constraintStart_toEndOf="@id/accountAdminTextView"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/accountUsernameTextView"
|
||||||
|
app:layout_goneMarginStart="0dp"
|
||||||
|
tools:visibility="visible" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/accountFollowsYouTextView"
|
android:id="@+id/accountFollowsYouTextView"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
android:layout_marginTop="6dp"
|
android:layout_marginTop="6dp"
|
||||||
android:background="@drawable/profile_badge_background"
|
android:background="@drawable/profile_badge_background"
|
||||||
android:text="@string/follows_you"
|
android:text="@string/follows_you"
|
||||||
android:textSize="?attr/status_text_small"
|
android:textSize="?attr/status_text_small"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toEndOf="@id/accountModeratorTextView"
|
||||||
app:layout_constraintTop_toBottomOf="@id/accountUsernameTextView"
|
app:layout_constraintTop_toBottomOf="@id/accountUsernameTextView"
|
||||||
|
app:layout_goneMarginStart="0dp"
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
@ -160,13 +190,13 @@
|
|||||||
app:layout_constraintTop_toBottomOf="@id/accountUsernameTextView"
|
app:layout_constraintTop_toBottomOf="@id/accountUsernameTextView"
|
||||||
app:layout_goneMarginStart="0dp"
|
app:layout_goneMarginStart="0dp"
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.Barrier
|
<androidx.constraintlayout.widget.Barrier
|
||||||
android:id="@+id/labelBarrier"
|
android:id="@+id/labelBarrier"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:barrierDirection="bottom"
|
app:barrierDirection="bottom"
|
||||||
app:constraint_referenced_ids="accountFollowsYouTextView,accountBadgeTextView" />
|
app:constraint_referenced_ids="accountAdminTextView,accountModeratorTextView,accountFollowsYouTextView,accountBadgeTextView" />
|
||||||
|
|
||||||
<androidx.emoji.widget.EmojiTextView
|
<androidx.emoji.widget.EmojiTextView
|
||||||
android:id="@+id/accountNoteTextView"
|
android:id="@+id/accountNoteTextView"
|
||||||
|
@ -6,5 +6,8 @@
|
|||||||
<string name="hint_appname">Application name</string>
|
<string name="hint_appname">Application name</string>
|
||||||
<string name="hint_website">Application website</string>
|
<string name="hint_website">Application website</string>
|
||||||
|
|
||||||
|
<string name="admin">Admin</string>
|
||||||
|
<string name="moderator">Moderator</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user