account indicator near conversations
This commit is contained in:
parent
9892ff8d77
commit
d7d922c1d1
|
@ -1,5 +1,6 @@
|
||||||
package eu.siacs.conversations.ui.adapter;
|
package eu.siacs.conversations.ui.adapter;
|
||||||
|
|
||||||
|
import android.graphics.Color;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
@ -17,6 +18,7 @@ import eu.siacs.conversations.entities.Account;
|
||||||
import eu.siacs.conversations.ui.XmppActivity;
|
import eu.siacs.conversations.ui.XmppActivity;
|
||||||
import eu.siacs.conversations.ui.util.AvatarWorkerTask;
|
import eu.siacs.conversations.ui.util.AvatarWorkerTask;
|
||||||
import eu.siacs.conversations.ui.util.StyledAttributes;
|
import eu.siacs.conversations.ui.util.StyledAttributes;
|
||||||
|
import eu.siacs.conversations.utils.UIHelper;
|
||||||
|
|
||||||
public class AccountAdapter extends ArrayAdapter<Account> {
|
public class AccountAdapter extends ArrayAdapter<Account> {
|
||||||
|
|
||||||
|
@ -80,6 +82,13 @@ public class AccountAdapter extends ArrayAdapter<Account> {
|
||||||
((OnTglAccountState) activity).onClickTglAccountState(account, b);
|
((OnTglAccountState) activity).onClickTglAccountState(account, b);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (activity.xmppConnectionService.getAccounts().size() > 1) {
|
||||||
|
viewHolder.binding.accountIndicator.setBackgroundColor(UIHelper.getColorForName(account.getJid().asBareJid().getEscapedLocal()));
|
||||||
|
} else {
|
||||||
|
viewHolder.binding.accountIndicator.setBackgroundColor(Color.TRANSPARENT);
|
||||||
|
}
|
||||||
|
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ package eu.siacs.conversations.ui.adapter;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
|
import android.graphics.Color;
|
||||||
import android.graphics.Typeface;
|
import android.graphics.Typeface;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
|
@ -397,6 +398,14 @@ public class ConversationAdapter
|
||||||
viewHolder.binding.presenceIndicator.setStatus(null);
|
viewHolder.binding.presenceIndicator.setStatus(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Account account = conversation.getAccount();
|
||||||
|
|
||||||
|
if (account != null && activity.xmppConnectionService.getAccounts().size() > 1) {
|
||||||
|
viewHolder.binding.accountIndicator.setBackgroundColor(UIHelper.getColorForName(account.getJid().asBareJid().getEscapedLocal()));
|
||||||
|
} else {
|
||||||
|
viewHolder.binding.accountIndicator.setBackgroundColor(Color.TRANSPARENT);
|
||||||
|
}
|
||||||
|
|
||||||
if (draft != null) {
|
if (draft != null) {
|
||||||
viewHolder.binding.conversationLastmsgImg.setVisibility(View.GONE);
|
viewHolder.binding.conversationLastmsgImg.setVisibility(View.GONE);
|
||||||
viewHolder.binding.conversationLastmsg.setText(draft.getMessage());
|
viewHolder.binding.conversationLastmsg.setText(draft.getMessage());
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package eu.siacs.conversations.ui.adapter;
|
package eu.siacs.conversations.ui.adapter;
|
||||||
|
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
|
import android.graphics.Color;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
@ -17,6 +18,8 @@ import java.util.List;
|
||||||
|
|
||||||
import eu.siacs.conversations.R;
|
import eu.siacs.conversations.R;
|
||||||
import eu.siacs.conversations.databinding.ContactBinding;
|
import eu.siacs.conversations.databinding.ContactBinding;
|
||||||
|
import eu.siacs.conversations.entities.Account;
|
||||||
|
import eu.siacs.conversations.entities.Bookmark;
|
||||||
import eu.siacs.conversations.entities.Contact;
|
import eu.siacs.conversations.entities.Contact;
|
||||||
import eu.siacs.conversations.entities.ListItem;
|
import eu.siacs.conversations.entities.ListItem;
|
||||||
import eu.siacs.conversations.ui.SettingsActivity;
|
import eu.siacs.conversations.ui.SettingsActivity;
|
||||||
|
@ -25,6 +28,7 @@ import eu.siacs.conversations.ui.util.AvatarWorkerTask;
|
||||||
import eu.siacs.conversations.ui.util.StyledAttributes;
|
import eu.siacs.conversations.ui.util.StyledAttributes;
|
||||||
import eu.siacs.conversations.ui.widget.PresenceIndicator;
|
import eu.siacs.conversations.ui.widget.PresenceIndicator;
|
||||||
import eu.siacs.conversations.utils.IrregularUnicodeDetector;
|
import eu.siacs.conversations.utils.IrregularUnicodeDetector;
|
||||||
|
import eu.siacs.conversations.utils.UIHelper;
|
||||||
import eu.siacs.conversations.xmpp.Jid;
|
import eu.siacs.conversations.xmpp.Jid;
|
||||||
|
|
||||||
public class ListItemAdapter extends ArrayAdapter<ListItem> {
|
public class ListItemAdapter extends ArrayAdapter<ListItem> {
|
||||||
|
@ -95,6 +99,20 @@ public class ListItemAdapter extends ArrayAdapter<ListItem> {
|
||||||
viewHolder.presenceIndicator.setStatus(null);
|
viewHolder.presenceIndicator.setStatus(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Account account = null;
|
||||||
|
if (item instanceof Contact) {
|
||||||
|
account = ((Contact) item).getAccount();
|
||||||
|
} else if (item instanceof Bookmark) {
|
||||||
|
account = ((Bookmark) item).getAccount();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (account != null && activity.xmppConnectionService.getAccounts().size() > 1) {
|
||||||
|
viewHolder.accountIndicator.setBackgroundColor(UIHelper.getColorForName(account.getJid().asBareJid().getEscapedLocal()));
|
||||||
|
} else {
|
||||||
|
viewHolder.accountIndicator.setBackgroundColor(Color.TRANSPARENT);
|
||||||
|
}
|
||||||
|
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,6 +133,8 @@ public class ListItemAdapter extends ArrayAdapter<ListItem> {
|
||||||
|
|
||||||
private PresenceIndicator presenceIndicator;
|
private PresenceIndicator presenceIndicator;
|
||||||
|
|
||||||
|
private View accountIndicator;
|
||||||
|
|
||||||
private ViewHolder() {
|
private ViewHolder() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -126,6 +146,7 @@ public class ListItemAdapter extends ArrayAdapter<ListItem> {
|
||||||
viewHolder.avatar = binding.contactPhoto;
|
viewHolder.avatar = binding.contactPhoto;
|
||||||
viewHolder.tags = binding.tags;
|
viewHolder.tags = binding.tags;
|
||||||
viewHolder.presenceIndicator = binding.presenceIndicator;
|
viewHolder.presenceIndicator = binding.presenceIndicator;
|
||||||
|
viewHolder.accountIndicator = binding.accountIndicator;
|
||||||
binding.getRoot().setTag(viewHolder);
|
binding.getRoot().setTag(viewHolder);
|
||||||
return viewHolder;
|
return viewHolder;
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,10 +6,17 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?selectableItemBackground"
|
android:background="?selectableItemBackground"
|
||||||
|
android:clipToPadding="false"
|
||||||
android:paddingLeft="8dp"
|
android:paddingLeft="8dp"
|
||||||
android:paddingBottom="8dp"
|
android:paddingBottom="8dp"
|
||||||
android:paddingTop="8dp">
|
android:paddingTop="8dp">
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/account_indicator"
|
||||||
|
android:layout_width="@dimen/account_indicator_width"
|
||||||
|
android:layout_marginStart="-4dp"
|
||||||
|
android:layout_height="48dp" />
|
||||||
|
|
||||||
<eu.siacs.conversations.ui.widget.AvatarView
|
<eu.siacs.conversations.ui.widget.AvatarView
|
||||||
android:id="@+id/account_image"
|
android:id="@+id/account_image"
|
||||||
android:layout_width="48dp"
|
android:layout_width="48dp"
|
||||||
|
|
|
@ -6,8 +6,15 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?selectableItemBackground"
|
android:background="?selectableItemBackground"
|
||||||
|
android:clipToPadding="false"
|
||||||
android:padding="@dimen/list_padding">
|
android:padding="@dimen/list_padding">
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/account_indicator"
|
||||||
|
android:layout_width="@dimen/account_indicator_width"
|
||||||
|
android:layout_marginStart="-4dp"
|
||||||
|
android:layout_height="48dp" />
|
||||||
|
|
||||||
<eu.siacs.conversations.ui.widget.AvatarView
|
<eu.siacs.conversations.ui.widget.AvatarView
|
||||||
android:id="@+id/contact_photo"
|
android:id="@+id/contact_photo"
|
||||||
android:layout_width="48dp"
|
android:layout_width="48dp"
|
||||||
|
|
|
@ -17,8 +17,15 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?android:selectableItemBackground"
|
android:background="?android:selectableItemBackground"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
|
android:clipToPadding="false"
|
||||||
android:padding="8dp">
|
android:padding="8dp">
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/account_indicator"
|
||||||
|
android:layout_width="@dimen/account_indicator_width"
|
||||||
|
android:layout_marginStart="-4dp"
|
||||||
|
android:layout_height="56dp" />
|
||||||
|
|
||||||
<eu.siacs.conversations.ui.widget.AvatarView
|
<eu.siacs.conversations.ui.widget.AvatarView
|
||||||
android:id="@+id/conversation_image"
|
android:id="@+id/conversation_image"
|
||||||
android:layout_width="56dp"
|
android:layout_width="56dp"
|
||||||
|
|
|
@ -82,4 +82,5 @@
|
||||||
<dimen name="avatar_corners_radius">8dp</dimen>
|
<dimen name="avatar_corners_radius">8dp</dimen>
|
||||||
<dimen name="presence_indicator_size">12dp</dimen>
|
<dimen name="presence_indicator_size">12dp</dimen>
|
||||||
<dimen name="presence_indicator_offset">2dp</dimen>
|
<dimen name="presence_indicator_offset">2dp</dimen>
|
||||||
|
<dimen name="account_indicator_width">2dp</dimen>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
Loading…
Reference in a new issue