Merge branch 'hareshkh-master'
This commit is contained in:
		
						commit
						d166309393
					
				| @ -25,6 +25,7 @@ import eu.siacs.conversations.entities.Message; | ||||
| import eu.siacs.conversations.entities.Transferable; | ||||
| import eu.siacs.conversations.ui.ConversationActivity; | ||||
| import eu.siacs.conversations.ui.XmppActivity; | ||||
| import eu.siacs.conversations.ui.widget.UnreadCountCustomView; | ||||
| import eu.siacs.conversations.utils.UIHelper; | ||||
| 
 | ||||
| public class ConversationAdapter extends ArrayAdapter<Conversation> { | ||||
| @ -62,6 +63,7 @@ public class ConversationAdapter extends ArrayAdapter<Conversation> { | ||||
| 		ImageView notificationStatus = (ImageView) view.findViewById(R.id.notification_status); | ||||
| 
 | ||||
| 		Message message = conversation.getLatestMessage(); | ||||
| 		int unreadCount = conversation.unreadCount(); | ||||
| 
 | ||||
| 		if (!conversation.isRead()) { | ||||
| 			convName.setTypeface(null, Typeface.BOLD); | ||||
| @ -79,6 +81,13 @@ public class ConversationAdapter extends ArrayAdapter<Conversation> { | ||||
| 			Pair<String,Boolean> preview = UIHelper.getMessagePreview(activity,message); | ||||
| 			mLastMessage.setVisibility(View.VISIBLE); | ||||
| 			imagePreview.setVisibility(View.GONE); | ||||
| 			UnreadCountCustomView unreadCountCustomView = (UnreadCountCustomView) view.findViewById(R.id.unread_count); | ||||
| 			if (unreadCount > 0) { | ||||
| 				unreadCountCustomView.setVisibility(View.VISIBLE); | ||||
| 				unreadCountCustomView.setUnreadCount(unreadCount); | ||||
| 			} else { | ||||
| 				unreadCountCustomView.setVisibility(View.GONE); | ||||
| 			} | ||||
| 			mLastMessage.setText(preview.first); | ||||
| 			if (preview.second) { | ||||
| 				if (conversation.isRead()) { | ||||
|  | ||||
| @ -0,0 +1,76 @@ | ||||
| package eu.siacs.conversations.ui.widget; | ||||
| 
 | ||||
| import android.content.Context; | ||||
| import android.content.res.TypedArray; | ||||
| import android.graphics.Canvas; | ||||
| import android.graphics.Color; | ||||
| import android.graphics.Paint; | ||||
| import android.graphics.Typeface; | ||||
| import android.support.v4.content.ContextCompat; | ||||
| import android.util.AttributeSet; | ||||
| import android.view.View; | ||||
| 
 | ||||
| import eu.siacs.conversations.R; | ||||
| 
 | ||||
| public class UnreadCountCustomView extends View { | ||||
| 
 | ||||
|     private int unreadCount; | ||||
|     private Paint paint, textPaint; | ||||
|     private int backgroundColor = 0xff326130; | ||||
| 
 | ||||
|     public UnreadCountCustomView(Context context) { | ||||
|         super(context); | ||||
|         init(); | ||||
|     } | ||||
| 
 | ||||
|     public UnreadCountCustomView(Context context, AttributeSet attrs) { | ||||
|         super(context, attrs); | ||||
|         initXMLAttrs(context, attrs); | ||||
|         init(); | ||||
|     } | ||||
| 
 | ||||
|     public UnreadCountCustomView(Context context, AttributeSet attrs, int defStyleAttr) { | ||||
|         super(context, attrs, defStyleAttr); | ||||
|         initXMLAttrs(context, attrs); | ||||
|         init(); | ||||
|     } | ||||
| 
 | ||||
|     private void initXMLAttrs(Context context, AttributeSet attrs) { | ||||
|         TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.UnreadCountCustomView); | ||||
|         setBackgroundColor(a.getColor(a.getIndex(0), ContextCompat.getColor(context, R.color.unreadcountlight))); | ||||
|         a.recycle(); | ||||
|     } | ||||
| 
 | ||||
|     void init() { | ||||
|         paint = new Paint(); | ||||
|         paint.setColor(backgroundColor); | ||||
|         paint.setAntiAlias(true); | ||||
|         textPaint = new Paint(); | ||||
|         textPaint.setColor(Color.WHITE); | ||||
|         textPaint.setTextAlign(Paint.Align.CENTER); | ||||
|         textPaint.setAntiAlias(true); | ||||
|         textPaint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.BOLD)); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     protected void onDraw(Canvas canvas) { | ||||
|         super.onDraw(canvas); | ||||
|         float midx = canvas.getWidth() / 2.0f; | ||||
|         float midy = canvas.getHeight() / 2.0f; | ||||
|         float radius = Math.min(canvas.getWidth(), canvas.getHeight()) / 2.0f; | ||||
|         float textOffset = canvas.getWidth() / 6.0f; | ||||
|         textPaint.setTextSize(0.95f * radius); | ||||
|         canvas.drawCircle(midx, midy, radius * 0.94f, paint); | ||||
|         canvas.drawText(String.valueOf(unreadCount), midx, midy + textOffset, textPaint); | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     public void setUnreadCount(int unreadCount) { | ||||
|         this.unreadCount = unreadCount; | ||||
|         invalidate(); | ||||
|     } | ||||
| 
 | ||||
|     public void setBackgroundColor(int backgroundColor) { | ||||
|         this.backgroundColor = backgroundColor; | ||||
|     } | ||||
| } | ||||
| @ -59,10 +59,11 @@ | ||||
| 
 | ||||
|                     <LinearLayout android:layout_width="match_parent" | ||||
|                                   android:layout_height="wrap_content" | ||||
|                                   android:layout_alignParentLeft="true" | ||||
|                                   android:layout_centerVertical="true" | ||||
|                                   android:orientation="vertical" | ||||
|                                   android:layout_alignParentLeft="true" | ||||
|                                   android:layout_toLeftOf="@+id/notification_status" | ||||
|                                   android:orientation="vertical"> | ||||
|                                   android:id="@+id/txt_img_wrapper"> | ||||
|                         <TextView | ||||
|                             android:id="@+id/conversation_lastmsg" | ||||
|                             android:layout_width="match_parent" | ||||
| @ -89,11 +90,24 @@ | ||||
|                         android:id="@+id/notification_status" | ||||
|                         android:layout_width="?attr/IconSize" | ||||
|                         android:layout_height="?attr/IconSize" | ||||
|                         android:layout_alignParentRight="true" | ||||
|                         android:layout_toLeftOf="@+id/unread_count" | ||||
|                         android:layout_alignWithParentIfMissing="true" | ||||
|                         android:layout_centerVertical="true" | ||||
|                         android:layout_marginLeft="4dp" | ||||
|                         android:src="?attr/icon_notifications" | ||||
|                         /> | ||||
|                     <eu.siacs.conversations.ui.widget.UnreadCountCustomView | ||||
|                         android:id="@+id/unread_count" | ||||
|                         android:layout_width="?attr/IconSize" | ||||
|                         android:layout_height="?attr/IconSize" | ||||
|                         android:layout_centerVertical="true" | ||||
|                         android:layout_marginLeft="3dp" | ||||
|                         android:layout_marginTop="2dp" | ||||
|                         android:layout_marginBottom="1dp" | ||||
|                         android:visibility="gone" | ||||
|                         android:layout_alignParentRight="true" | ||||
|                         app:backgroundColor="?attr/unread_count" /> | ||||
| 
 | ||||
|                 </RelativeLayout> | ||||
| 
 | ||||
|                 <TextView | ||||
|  | ||||
| @ -40,6 +40,8 @@ | ||||
|         <item name="attr/message_bubble_sent">@drawable/message_bubble_sent</item> | ||||
|         <item name="attr/message_bubble_received_green">@drawable/message_bubble_received</item> | ||||
| 
 | ||||
|         <item name="attr/unread_count">@color/unreadcountlight</item> | ||||
| 
 | ||||
|         <item name="attr/conversations_overview_background">@color/primary700</item> | ||||
| 
 | ||||
|         <item name="attr/icon_alpha">0.54</item> | ||||
| @ -115,6 +117,8 @@ | ||||
|         <item name="attr/message_bubble_sent">@drawable/message_bubble_sent_grey</item> | ||||
|         <item name="attr/message_bubble_received_green">@drawable/message_bubble_received_dark</item> | ||||
| 
 | ||||
|         <item name="attr/unread_count">@color/unreadcountdark</item> | ||||
| 
 | ||||
|         <item name="attr/conversations_overview_background">@color/primary900</item> | ||||
| 
 | ||||
|         <item name="attr/icon_alpha">1.0</item> | ||||
|  | ||||
| @ -31,6 +31,8 @@ | ||||
|     <attr name="message_bubble_sent" format="reference"/> | ||||
|     <attr name="message_bubble_received_green" format="reference"/> | ||||
| 
 | ||||
|     <attr name="unread_count" format="reference|color" /> | ||||
| 
 | ||||
|     <attr name="conversations_overview_background" format="reference|color"/> | ||||
| 
 | ||||
|     <attr name="icon_alpha" format="float"/> | ||||
| @ -66,4 +68,8 @@ | ||||
|     <attr name="dialog_horizontal_padding" format="dimension"/> | ||||
|     <attr name="dialog_vertical_padding" format="dimension"/> | ||||
| 
 | ||||
|     <declare-styleable name="UnreadCountCustomView"> | ||||
|         <attr name="backgroundColor" format="reference|color"/> | ||||
|     </declare-styleable> | ||||
| 
 | ||||
| </resources> | ||||
| @ -22,4 +22,6 @@ | ||||
| 	<color name="orange500">#ffff9800</color> | ||||
| 	<color name="green500">#ff259b24</color> | ||||
| 	<color name="bubble">#ff4b9b4a</color> | ||||
| 	<color name="unreadcountlight">#ff4b9b4a</color> | ||||
| 	<color name="unreadcountdark">#ff326130</color> | ||||
| </resources> | ||||
| @ -46,6 +46,8 @@ | ||||
|         <item name="attr/message_bubble_sent">@drawable/message_bubble_sent</item> | ||||
|         <item name="attr/message_bubble_received_green">@drawable/message_bubble_received</item> | ||||
| 
 | ||||
|         <item name="attr/unread_count">@color/unreadcountlight</item> | ||||
| 
 | ||||
|         <item name="attr/conversations_overview_background">@color/primary700</item> | ||||
| 
 | ||||
|         <item name="attr/icon_alpha">1.0</item> | ||||
| @ -108,6 +110,8 @@ | ||||
|         <item name="attr/message_bubble_sent">@drawable/message_bubble_sent_grey</item> | ||||
|         <item name="attr/message_bubble_received_green">@drawable/message_bubble_received_dark</item> | ||||
| 
 | ||||
|         <item name="attr/unread_count">@color/unreadcountdark</item> | ||||
| 
 | ||||
|         <item name="attr/conversations_overview_background">@color/primary900</item> | ||||
| 
 | ||||
|         <item name="attr/icon_alpha">1.0</item> | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Daniel Gultsch
						Daniel Gultsch