Basic open group invitation view
							parent
							
								
									252f344d93
								
							
						
					
					
						commit
						b8f6321262
					
				| @ -0,0 +1,36 @@ | ||||
| package org.thoughtcrime.securesms.conversation.v2.messages | ||||
| 
 | ||||
| import android.content.Context | ||||
| import android.util.AttributeSet | ||||
| import android.view.LayoutInflater | ||||
| import android.widget.LinearLayout | ||||
| import androidx.annotation.ColorInt | ||||
| import kotlinx.android.synthetic.main.view_open_group_invitation.view.* | ||||
| import network.loki.messenger.R | ||||
| import org.session.libsession.messaging.utilities.UpdateMessageData | ||||
| import org.session.libsession.utilities.OpenGroupUrlParser | ||||
| import org.thoughtcrime.securesms.database.model.MessageRecord | ||||
| 
 | ||||
| class OpenGroupInvitationView : LinearLayout { | ||||
| 
 | ||||
|     constructor(context: Context): super(context) { initialize() } | ||||
|     constructor(context: Context, attrs: AttributeSet?): super(context, attrs) { initialize() } | ||||
|     constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int): super(context, attrs, defStyleAttr) { initialize() } | ||||
| 
 | ||||
|     private fun initialize() { | ||||
|         LayoutInflater.from(context).inflate(R.layout.view_open_group_invitation, this) | ||||
|     } | ||||
| 
 | ||||
|     fun bind(message: MessageRecord, @ColorInt textColor: Int) { | ||||
|         // FIXME: This is a really weird approach | ||||
|         val umd = UpdateMessageData.fromJSON(message.body)!! | ||||
|         val data = umd.kind as UpdateMessageData.Kind.OpenGroupInvitation | ||||
|         val iconID = if (message.isOutgoing) R.drawable.ic_globe else R.drawable.ic_plus | ||||
|         openGroupInvitationIconImageView.setImageResource(iconID) | ||||
|         openGroupTitleTextView.text = data.groupName | ||||
|         openGroupURLTextView.text = OpenGroupUrlParser.trimQueryParameter(data.groupUrl) | ||||
|         openGroupTitleTextView.setTextColor(textColor) | ||||
|         openGroupJoinMessageTextView.setTextColor(textColor) | ||||
|         openGroupURLTextView.setTextColor(textColor) | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,68 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <LinearLayout | ||||
|     xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|     android:layout_width="wrap_content" | ||||
|     android:layout_height="wrap_content" | ||||
|     xmlns:app="http://schemas.android.com/apk/res-auto" | ||||
|     xmlns:tools="http://schemas.android.com/tools" | ||||
|     android:padding="12dp" | ||||
|     android:orientation="horizontal" | ||||
|     android:gravity="center_vertical"> | ||||
| 
 | ||||
|     <RelativeLayout | ||||
|         android:layout_width="44dp" | ||||
|         android:layout_height="44dp" | ||||
|         android:background="@drawable/circle_tintable" | ||||
|         android:backgroundTint="@color/accent"> | ||||
| 
 | ||||
|         <ImageView | ||||
|             android:id="@+id/openGroupInvitationIconImageView" | ||||
|             android:layout_width="20dp" | ||||
|             android:layout_height="20dp" | ||||
|             android:src="@drawable/ic_plus" | ||||
|             android:layout_centerInParent="true" | ||||
|             app:tint="@color/white" /> | ||||
| 
 | ||||
|     </RelativeLayout> | ||||
| 
 | ||||
|     <LinearLayout | ||||
|         android:layout_width="wrap_content" | ||||
|         android:layout_height="wrap_content" | ||||
|         android:layout_marginStart="12dp" | ||||
|         android:paddingEnd="2dp" | ||||
|         android:orientation="vertical"> | ||||
| 
 | ||||
|         <TextView | ||||
|             android:id="@+id/openGroupTitleTextView" | ||||
|             android:layout_width="wrap_content" | ||||
|             android:layout_height="wrap_content" | ||||
|             tools:text="Lokinet" | ||||
|             android:textColor="@color/black" | ||||
|             android:textStyle="bold" | ||||
|             android:maxLines="1" | ||||
|             android:ellipsize="end" | ||||
|             android:textSize="@dimen/large_font_size" /> | ||||
| 
 | ||||
|         <TextView | ||||
|             android:id="@+id/openGroupJoinMessageTextView" | ||||
|             android:layout_width="wrap_content" | ||||
|             android:layout_height="wrap_content" | ||||
|             android:text="@string/open_group_invitation_view__open_group_invitation" | ||||
|             android:textColor="@color/black" | ||||
|             android:maxLines="1" | ||||
|             android:ellipsize="end" | ||||
|             android:textSize="@dimen/small_font_size" /> | ||||
| 
 | ||||
|         <TextView | ||||
|             android:id="@+id/openGroupURLTextView" | ||||
|             android:layout_width="wrap_content" | ||||
|             android:layout_height="wrap_content" | ||||
|             tools:text="http://117.204.71.34" | ||||
|             android:textColor="@color/black" | ||||
|             android:maxLines="1" | ||||
|             android:ellipsize="end" | ||||
|             android:textSize="@dimen/very_small_font_size" /> | ||||
| 
 | ||||
|     </LinearLayout> | ||||
| 
 | ||||
| </LinearLayout> | ||||
					Loading…
					
					
				
		Reference in New Issue