bug fix, added generic click listener for all viewholder, layout fix, code cleanup
This commit is contained in:
parent
ea863b92c2
commit
fd3bed9bff
@ -9,7 +9,7 @@ import androidx.recyclerview.widget.RecyclerView.Adapter;
|
|||||||
import com.squareup.picasso.Picasso;
|
import com.squareup.picasso.Picasso;
|
||||||
|
|
||||||
import org.nuclearfog.twidda.adapter.holder.AccountHolder;
|
import org.nuclearfog.twidda.adapter.holder.AccountHolder;
|
||||||
import org.nuclearfog.twidda.adapter.holder.AccountHolder.OnAccountClickListener;
|
import org.nuclearfog.twidda.adapter.holder.OnHolderClickListener;
|
||||||
import org.nuclearfog.twidda.backend.utils.PicassoBuilder;
|
import org.nuclearfog.twidda.backend.utils.PicassoBuilder;
|
||||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||||
import org.nuclearfog.twidda.model.Account;
|
import org.nuclearfog.twidda.model.Account;
|
||||||
@ -23,7 +23,7 @@ import java.util.List;
|
|||||||
* @author nuclearfog
|
* @author nuclearfog
|
||||||
* @see org.nuclearfog.twidda.ui.fragments.AccountFragment
|
* @see org.nuclearfog.twidda.ui.fragments.AccountFragment
|
||||||
*/
|
*/
|
||||||
public class AccountAdapter extends Adapter<AccountHolder> implements OnAccountClickListener {
|
public class AccountAdapter extends Adapter<AccountHolder> implements OnHolderClickListener {
|
||||||
|
|
||||||
private GlobalSettings settings;
|
private GlobalSettings settings;
|
||||||
private OnAccountClickListener listener;
|
private OnAccountClickListener listener;
|
||||||
@ -65,15 +65,21 @@ public class AccountAdapter extends Adapter<AccountHolder> implements OnAccountC
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAccountClick(int position, int type) {
|
public void onItemClick(int position, int type) {
|
||||||
Account account = accounts.get(position);
|
Account account = accounts.get(position);
|
||||||
if (type == AccountHolder.OnAccountClickListener.TYPE_SELECT) {
|
if (type == OnHolderClickListener.ACCOUNT_SELECT) {
|
||||||
listener.onAccountClick(account);
|
listener.onAccountClick(account);
|
||||||
} else if (type == AccountHolder.OnAccountClickListener.TYPE_REMOVE) {
|
} else if (type == OnHolderClickListener.ACCOUNT_REMOVE) {
|
||||||
listener.onAccountRemove(account);
|
listener.onAccountRemove(account);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onPlaceholderClick(int position) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sets login data
|
* sets login data
|
||||||
*
|
*
|
||||||
|
@ -9,7 +9,7 @@ import androidx.recyclerview.widget.RecyclerView.Adapter;
|
|||||||
import androidx.recyclerview.widget.RecyclerView.ViewHolder;
|
import androidx.recyclerview.widget.RecyclerView.ViewHolder;
|
||||||
|
|
||||||
import org.nuclearfog.twidda.adapter.holder.ImageHolder;
|
import org.nuclearfog.twidda.adapter.holder.ImageHolder;
|
||||||
import org.nuclearfog.twidda.adapter.holder.ImageHolder.OnImageItemClickListener;
|
import org.nuclearfog.twidda.adapter.holder.OnHolderClickListener;
|
||||||
import org.nuclearfog.twidda.adapter.holder.PlaceHolder;
|
import org.nuclearfog.twidda.adapter.holder.PlaceHolder;
|
||||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ import java.util.List;
|
|||||||
* @author nuclearfog
|
* @author nuclearfog
|
||||||
* @see org.nuclearfog.twidda.ui.activities.ImageViewer
|
* @see org.nuclearfog.twidda.ui.activities.ImageViewer
|
||||||
*/
|
*/
|
||||||
public class ImageAdapter extends Adapter<ViewHolder> implements OnImageItemClickListener {
|
public class ImageAdapter extends Adapter<ViewHolder> implements OnHolderClickListener {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* View type for an image item
|
* View type for an image item
|
||||||
@ -93,18 +93,24 @@ public class ImageAdapter extends Adapter<ViewHolder> implements OnImageItemClic
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onImageClick(int position, int type) {
|
public void onItemClick(int position, int type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case OnImageItemClickListener.TYPE_IMAGE:
|
case OnHolderClickListener.IMAGE_CLICK:
|
||||||
itemClickListener.onImageClick(imageLinks.get(position));
|
itemClickListener.onImageClick(imageLinks.get(position));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OnImageItemClickListener.TYPE_SAVE:
|
case OnHolderClickListener.IMAGE_SAVE:
|
||||||
itemClickListener.onImageSave(imageLinks.get(position));
|
itemClickListener.onImageSave(imageLinks.get(position));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onPlaceholderClick(int position) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* replace all image links
|
* replace all image links
|
||||||
*
|
*
|
||||||
|
@ -11,9 +11,8 @@ import com.squareup.picasso.Picasso;
|
|||||||
|
|
||||||
import org.nuclearfog.tag.Tagger.OnTagClickListener;
|
import org.nuclearfog.tag.Tagger.OnTagClickListener;
|
||||||
import org.nuclearfog.twidda.adapter.holder.MessageHolder;
|
import org.nuclearfog.twidda.adapter.holder.MessageHolder;
|
||||||
import org.nuclearfog.twidda.adapter.holder.MessageHolder.OnMessageClickListener;
|
import org.nuclearfog.twidda.adapter.holder.MessageHolder.OnItemClickListener;
|
||||||
import org.nuclearfog.twidda.adapter.holder.PlaceHolder;
|
import org.nuclearfog.twidda.adapter.holder.PlaceHolder;
|
||||||
import org.nuclearfog.twidda.adapter.holder.PlaceHolder.OnHolderClickListener;
|
|
||||||
import org.nuclearfog.twidda.backend.lists.Messages;
|
import org.nuclearfog.twidda.backend.lists.Messages;
|
||||||
import org.nuclearfog.twidda.backend.utils.PicassoBuilder;
|
import org.nuclearfog.twidda.backend.utils.PicassoBuilder;
|
||||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||||
@ -25,7 +24,7 @@ import org.nuclearfog.twidda.model.Message;
|
|||||||
* @author nuclearfog
|
* @author nuclearfog
|
||||||
* @see org.nuclearfog.twidda.ui.fragments.MessageFragment
|
* @see org.nuclearfog.twidda.ui.fragments.MessageFragment
|
||||||
*/
|
*/
|
||||||
public class MessageAdapter extends Adapter<ViewHolder> implements OnMessageClickListener, OnHolderClickListener {
|
public class MessageAdapter extends Adapter<ViewHolder> implements OnItemClickListener {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* index of {@link #loadingIndex} if no index is defined
|
* index of {@link #loadingIndex} if no index is defined
|
||||||
@ -114,23 +113,23 @@ public class MessageAdapter extends Adapter<ViewHolder> implements OnMessageClic
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMessageClick(int position, int type) {
|
public void onItemClick(int position, int type) {
|
||||||
Message message = messages.get(position);
|
Message message = messages.get(position);
|
||||||
if (message != null) {
|
if (message != null) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case OnMessageClickListener.ANSWER:
|
case OnItemClickListener.MESSAGE_ANSWER:
|
||||||
itemClickListener.onClick(message, OnMessageClickListener.ANSWER);
|
itemClickListener.onClick(message, OnMessageClickListener.ANSWER);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OnMessageClickListener.DELETE:
|
case OnItemClickListener.MESSAGE_DELETE:
|
||||||
itemClickListener.onClick(message, OnMessageClickListener.DELETE);
|
itemClickListener.onClick(message, OnMessageClickListener.DELETE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OnMessageClickListener.MEDIA:
|
case OnItemClickListener.MESSAGE_MEDIA:
|
||||||
itemClickListener.onClick(message, OnMessageClickListener.MEDIA);
|
itemClickListener.onClick(message, OnMessageClickListener.MEDIA);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OnMessageClickListener.PROFILE:
|
case OnItemClickListener.MESSAGE_PROFILE:
|
||||||
itemClickListener.onClick(message, OnMessageClickListener.PROFILE);
|
itemClickListener.onClick(message, OnMessageClickListener.PROFILE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -149,7 +148,7 @@ public class MessageAdapter extends Adapter<ViewHolder> implements OnMessageClic
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onHolderClick(int position) {
|
public boolean onPlaceholderClick(int position) {
|
||||||
boolean success = itemClickListener.onPlaceholderClick(messages.getNextCursor());
|
boolean success = itemClickListener.onPlaceholderClick(messages.getNextCursor());
|
||||||
if (success) {
|
if (success) {
|
||||||
loadingIndex = position;
|
loadingIndex = position;
|
||||||
@ -225,17 +224,17 @@ public class MessageAdapter extends Adapter<ViewHolder> implements OnMessageClic
|
|||||||
/**
|
/**
|
||||||
* indicates that the "delete" button was clicked
|
* indicates that the "delete" button was clicked
|
||||||
*/
|
*/
|
||||||
int DELETE = 10;
|
int DELETE = 2;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* indicates that the profile image was clicked
|
* indicates that the profile image was clicked
|
||||||
*/
|
*/
|
||||||
int PROFILE = 100;
|
int PROFILE = 3;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* indicates that the media button was clicked
|
* indicates that the media button was clicked
|
||||||
*/
|
*/
|
||||||
int MEDIA = 1000;
|
int MEDIA = 4;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* called when a button was clicked
|
* called when a button was clicked
|
||||||
|
@ -10,12 +10,10 @@ import androidx.recyclerview.widget.RecyclerView.ViewHolder;
|
|||||||
|
|
||||||
import com.squareup.picasso.Picasso;
|
import com.squareup.picasso.Picasso;
|
||||||
|
|
||||||
|
import org.nuclearfog.twidda.adapter.holder.OnHolderClickListener;
|
||||||
import org.nuclearfog.twidda.adapter.holder.PlaceHolder;
|
import org.nuclearfog.twidda.adapter.holder.PlaceHolder;
|
||||||
import org.nuclearfog.twidda.adapter.holder.PlaceHolder.OnHolderClickListener;
|
|
||||||
import org.nuclearfog.twidda.adapter.holder.StatusHolder;
|
import org.nuclearfog.twidda.adapter.holder.StatusHolder;
|
||||||
import org.nuclearfog.twidda.adapter.holder.StatusHolder.OnStatusClickListener;
|
|
||||||
import org.nuclearfog.twidda.adapter.holder.UserHolder;
|
import org.nuclearfog.twidda.adapter.holder.UserHolder;
|
||||||
import org.nuclearfog.twidda.adapter.holder.UserHolder.OnUserClickListener;
|
|
||||||
import org.nuclearfog.twidda.backend.utils.PicassoBuilder;
|
import org.nuclearfog.twidda.backend.utils.PicassoBuilder;
|
||||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||||
import org.nuclearfog.twidda.model.Notification;
|
import org.nuclearfog.twidda.model.Notification;
|
||||||
@ -30,7 +28,7 @@ import java.util.List;
|
|||||||
*
|
*
|
||||||
* @author nuclearfog
|
* @author nuclearfog
|
||||||
*/
|
*/
|
||||||
public class NotificationAdapter extends Adapter<ViewHolder> implements OnStatusClickListener, OnUserClickListener, OnHolderClickListener {
|
public class NotificationAdapter extends Adapter<ViewHolder> implements OnHolderClickListener {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Minimum count of new statuses to insert a placeholder.
|
* Minimum count of new statuses to insert a placeholder.
|
||||||
@ -150,7 +148,7 @@ public class NotificationAdapter extends Adapter<ViewHolder> implements OnStatus
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onHolderClick(int position) {
|
public boolean onPlaceholderClick(int position) {
|
||||||
long sinceId = 0;
|
long sinceId = 0;
|
||||||
long maxId = 0;
|
long maxId = 0;
|
||||||
if (position == 0) {
|
if (position == 0) {
|
||||||
@ -183,16 +181,17 @@ public class NotificationAdapter extends Adapter<ViewHolder> implements OnStatus
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onStatusClick(int position, int type) {
|
public void onItemClick(int position, int type) {
|
||||||
Notification item = items.get(position);
|
Notification item = items.get(position);
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case OnStatusClickListener.TYPE_LABEL:
|
case OnHolderClickListener.USER_CLICK:
|
||||||
|
case OnHolderClickListener.STATUS_LABEL:
|
||||||
if (item != null && item.getUser() != null) {
|
if (item != null && item.getUser() != null) {
|
||||||
listener.onUserClick(item.getUser());
|
listener.onUserClick(item.getUser());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OnStatusClickListener.TYPE_STATUS:
|
case OnHolderClickListener.STATUS_CLICK:
|
||||||
if (item != null && item.getStatus() != null) {
|
if (item != null && item.getStatus() != null) {
|
||||||
listener.onStatusClick(item.getStatus());
|
listener.onStatusClick(item.getStatus());
|
||||||
}
|
}
|
||||||
@ -200,17 +199,6 @@ public class NotificationAdapter extends Adapter<ViewHolder> implements OnStatus
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onUserClick(int position, int type) {
|
|
||||||
Notification item = items.get(position);
|
|
||||||
if (type == OnUserClickListener.ITEM_CLICK) {
|
|
||||||
if (item != null && item.getUser() != null) {
|
|
||||||
listener.onUserClick(item.getUser());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* add new items at specific position
|
* add new items at specific position
|
||||||
*
|
*
|
||||||
|
@ -11,10 +11,9 @@ import androidx.recyclerview.widget.RecyclerView.ViewHolder;
|
|||||||
|
|
||||||
import com.squareup.picasso.Picasso;
|
import com.squareup.picasso.Picasso;
|
||||||
|
|
||||||
|
import org.nuclearfog.twidda.adapter.holder.OnHolderClickListener;
|
||||||
import org.nuclearfog.twidda.adapter.holder.PlaceHolder;
|
import org.nuclearfog.twidda.adapter.holder.PlaceHolder;
|
||||||
import org.nuclearfog.twidda.adapter.holder.PlaceHolder.OnHolderClickListener;
|
|
||||||
import org.nuclearfog.twidda.adapter.holder.StatusHolder;
|
import org.nuclearfog.twidda.adapter.holder.StatusHolder;
|
||||||
import org.nuclearfog.twidda.adapter.holder.StatusHolder.OnStatusClickListener;
|
|
||||||
import org.nuclearfog.twidda.backend.utils.PicassoBuilder;
|
import org.nuclearfog.twidda.backend.utils.PicassoBuilder;
|
||||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||||
import org.nuclearfog.twidda.model.Status;
|
import org.nuclearfog.twidda.model.Status;
|
||||||
@ -29,7 +28,7 @@ import java.util.List;
|
|||||||
* @author nuclearfog
|
* @author nuclearfog
|
||||||
* @see StatusFragment
|
* @see StatusFragment
|
||||||
*/
|
*/
|
||||||
public class StatusAdapter extends Adapter<ViewHolder> implements OnStatusClickListener, OnHolderClickListener {
|
public class StatusAdapter extends Adapter<ViewHolder> implements OnHolderClickListener {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* index of {@link #loadingIndex} if no index is defined
|
* index of {@link #loadingIndex} if no index is defined
|
||||||
@ -123,7 +122,7 @@ public class StatusAdapter extends Adapter<ViewHolder> implements OnStatusClickL
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onHolderClick(int position) {
|
public boolean onPlaceholderClick(int position) {
|
||||||
long sinceId = 0;
|
long sinceId = 0;
|
||||||
long maxId = 0;
|
long maxId = 0;
|
||||||
if (position == 0) {
|
if (position == 0) {
|
||||||
@ -156,8 +155,8 @@ public class StatusAdapter extends Adapter<ViewHolder> implements OnStatusClickL
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onStatusClick(int position, int type) {
|
public void onItemClick(int position, int type) {
|
||||||
if (type == OnStatusClickListener.TYPE_STATUS) {
|
if (type == OnHolderClickListener.STATUS_CLICK) {
|
||||||
Status status = items.get(position);
|
Status status = items.get(position);
|
||||||
if (status != null) {
|
if (status != null) {
|
||||||
listener.onStatusSelected(status);
|
listener.onStatusSelected(status);
|
||||||
|
@ -6,8 +6,8 @@ import androidx.annotation.NonNull;
|
|||||||
import androidx.recyclerview.widget.RecyclerView.Adapter;
|
import androidx.recyclerview.widget.RecyclerView.Adapter;
|
||||||
import androidx.recyclerview.widget.RecyclerView.ViewHolder;
|
import androidx.recyclerview.widget.RecyclerView.ViewHolder;
|
||||||
|
|
||||||
|
import org.nuclearfog.twidda.adapter.holder.OnHolderClickListener;
|
||||||
import org.nuclearfog.twidda.adapter.holder.TrendHolder;
|
import org.nuclearfog.twidda.adapter.holder.TrendHolder;
|
||||||
import org.nuclearfog.twidda.adapter.holder.TrendHolder.OnTrendClickListener;
|
|
||||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||||
import org.nuclearfog.twidda.model.Trend;
|
import org.nuclearfog.twidda.model.Trend;
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ import java.util.List;
|
|||||||
* @author nuclearfog
|
* @author nuclearfog
|
||||||
* @see org.nuclearfog.twidda.ui.fragments.TrendFragment
|
* @see org.nuclearfog.twidda.ui.fragments.TrendFragment
|
||||||
*/
|
*/
|
||||||
public class TrendAdapter extends Adapter<ViewHolder> implements OnTrendClickListener {
|
public class TrendAdapter extends Adapter<ViewHolder> implements OnHolderClickListener {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* trend limit
|
* trend limit
|
||||||
@ -66,10 +66,16 @@ public class TrendAdapter extends Adapter<ViewHolder> implements OnTrendClickLis
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onTrendClick(int position) {
|
public void onItemClick(int position, int type) {
|
||||||
itemClickListener.onTrendClick(trends.get(position));
|
itemClickListener.onTrendClick(trends.get(position));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onPlaceholderClick(int position) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* replace data from list
|
* replace data from list
|
||||||
*
|
*
|
||||||
|
@ -11,10 +11,9 @@ import androidx.recyclerview.widget.RecyclerView.ViewHolder;
|
|||||||
|
|
||||||
import com.squareup.picasso.Picasso;
|
import com.squareup.picasso.Picasso;
|
||||||
|
|
||||||
|
import org.nuclearfog.twidda.adapter.holder.OnHolderClickListener;
|
||||||
import org.nuclearfog.twidda.adapter.holder.PlaceHolder;
|
import org.nuclearfog.twidda.adapter.holder.PlaceHolder;
|
||||||
import org.nuclearfog.twidda.adapter.holder.PlaceHolder.OnHolderClickListener;
|
|
||||||
import org.nuclearfog.twidda.adapter.holder.UserHolder;
|
import org.nuclearfog.twidda.adapter.holder.UserHolder;
|
||||||
import org.nuclearfog.twidda.adapter.holder.UserHolder.OnUserClickListener;
|
|
||||||
import org.nuclearfog.twidda.backend.lists.Users;
|
import org.nuclearfog.twidda.backend.lists.Users;
|
||||||
import org.nuclearfog.twidda.backend.utils.PicassoBuilder;
|
import org.nuclearfog.twidda.backend.utils.PicassoBuilder;
|
||||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||||
@ -26,7 +25,7 @@ import org.nuclearfog.twidda.model.User;
|
|||||||
* @author nuclearfog
|
* @author nuclearfog
|
||||||
* @see org.nuclearfog.twidda.ui.fragments.UserFragment
|
* @see org.nuclearfog.twidda.ui.fragments.UserFragment
|
||||||
*/
|
*/
|
||||||
public class UserAdapter extends Adapter<ViewHolder> implements OnUserClickListener, OnHolderClickListener {
|
public class UserAdapter extends Adapter<ViewHolder> implements OnHolderClickListener {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* index of {@link #loadingIndex} if no index is defined
|
* index of {@link #loadingIndex} if no index is defined
|
||||||
@ -119,7 +118,7 @@ public class UserAdapter extends Adapter<ViewHolder> implements OnUserClickListe
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onHolderClick(int position) {
|
public boolean onPlaceholderClick(int position) {
|
||||||
boolean actionPerformed = listener.onPlaceholderClick(users.getNext());
|
boolean actionPerformed = listener.onPlaceholderClick(users.getNext());
|
||||||
if (actionPerformed) {
|
if (actionPerformed) {
|
||||||
loadingIndex = position;
|
loadingIndex = position;
|
||||||
@ -130,16 +129,16 @@ public class UserAdapter extends Adapter<ViewHolder> implements OnUserClickListe
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onUserClick(int position, int type) {
|
public void onItemClick(int position, int type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case OnUserClickListener.ITEM_CLICK:
|
case OnHolderClickListener.USER_CLICK:
|
||||||
User user = users.get(position);
|
User user = users.get(position);
|
||||||
if (user != null) {
|
if (user != null) {
|
||||||
listener.onUserClick(user);
|
listener.onUserClick(user);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OnUserClickListener.ITEM_REMOVE:
|
case OnHolderClickListener.USER_REMOVE:
|
||||||
user = users.get(position);
|
user = users.get(position);
|
||||||
if (enableDelete && user != null) {
|
if (enableDelete && user != null) {
|
||||||
listener.onDelete(user);
|
listener.onDelete(user);
|
||||||
|
@ -9,10 +9,9 @@ import androidx.recyclerview.widget.RecyclerView.ViewHolder;
|
|||||||
|
|
||||||
import com.squareup.picasso.Picasso;
|
import com.squareup.picasso.Picasso;
|
||||||
|
|
||||||
|
import org.nuclearfog.twidda.adapter.holder.OnHolderClickListener;
|
||||||
import org.nuclearfog.twidda.adapter.holder.PlaceHolder;
|
import org.nuclearfog.twidda.adapter.holder.PlaceHolder;
|
||||||
import org.nuclearfog.twidda.adapter.holder.PlaceHolder.OnHolderClickListener;
|
|
||||||
import org.nuclearfog.twidda.adapter.holder.UserlistHolder;
|
import org.nuclearfog.twidda.adapter.holder.UserlistHolder;
|
||||||
import org.nuclearfog.twidda.adapter.holder.UserlistHolder.OnListClickListener;
|
|
||||||
import org.nuclearfog.twidda.backend.lists.UserLists;
|
import org.nuclearfog.twidda.backend.lists.UserLists;
|
||||||
import org.nuclearfog.twidda.backend.utils.PicassoBuilder;
|
import org.nuclearfog.twidda.backend.utils.PicassoBuilder;
|
||||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||||
@ -25,7 +24,7 @@ import org.nuclearfog.twidda.model.UserList;
|
|||||||
* @author nuclearfog
|
* @author nuclearfog
|
||||||
* @see org.nuclearfog.twidda.ui.fragments.UserListFragment
|
* @see org.nuclearfog.twidda.ui.fragments.UserListFragment
|
||||||
*/
|
*/
|
||||||
public class UserlistAdapter extends Adapter<ViewHolder> implements OnListClickListener, OnHolderClickListener {
|
public class UserlistAdapter extends Adapter<ViewHolder> implements OnHolderClickListener {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* indicator if there is no loading progress
|
* indicator if there is no loading progress
|
||||||
@ -108,15 +107,15 @@ public class UserlistAdapter extends Adapter<ViewHolder> implements OnListClickL
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onUserlistClick(int position, int type) {
|
public void onItemClick(int position, int type) {
|
||||||
UserList item = userlists.get(position);
|
UserList item = userlists.get(position);
|
||||||
if (item != null) {
|
if (item != null) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case OnListClickListener.LIST_CLICK:
|
case OnHolderClickListener.LIST_CLICK:
|
||||||
listener.onListClick(item);
|
listener.onListClick(item);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OnListClickListener.PROFILE_CLICK:
|
case OnHolderClickListener.LIST_PROFILE:
|
||||||
listener.onProfileClick(item.getListOwner());
|
listener.onProfileClick(item.getListOwner());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -125,7 +124,7 @@ public class UserlistAdapter extends Adapter<ViewHolder> implements OnListClickL
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onHolderClick(int position) {
|
public boolean onPlaceholderClick(int position) {
|
||||||
boolean actionPerformed = listener.onPlaceholderClick(userlists.getNext());
|
boolean actionPerformed = listener.onPlaceholderClick(userlists.getNext());
|
||||||
if (actionPerformed)
|
if (actionPerformed)
|
||||||
loadingIndex = position;
|
loadingIndex = position;
|
||||||
|
@ -39,7 +39,7 @@ public class AccountHolder extends ViewHolder implements OnClickListener {
|
|||||||
private GlobalSettings settings;
|
private GlobalSettings settings;
|
||||||
private Picasso picasso;
|
private Picasso picasso;
|
||||||
|
|
||||||
private OnAccountClickListener listener;
|
private OnHolderClickListener listener;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -69,9 +69,9 @@ public class AccountHolder extends ViewHolder implements OnClickListener {
|
|||||||
int position = getLayoutPosition();
|
int position = getLayoutPosition();
|
||||||
if (position != NO_POSITION && listener != null) {
|
if (position != NO_POSITION && listener != null) {
|
||||||
if (v == itemView) {
|
if (v == itemView) {
|
||||||
listener.onAccountClick(position, OnAccountClickListener.TYPE_SELECT);
|
listener.onItemClick(position, OnHolderClickListener.ACCOUNT_SELECT);
|
||||||
} else if (v == remove) {
|
} else if (v == remove) {
|
||||||
listener.onAccountClick(position, OnAccountClickListener.TYPE_REMOVE);
|
listener.onItemClick(position, OnHolderClickListener.ACCOUNT_REMOVE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -111,23 +111,7 @@ public class AccountHolder extends ViewHolder implements OnClickListener {
|
|||||||
/**
|
/**
|
||||||
* set item click listener
|
* set item click listener
|
||||||
*/
|
*/
|
||||||
public void setOnAccountClickListener(OnAccountClickListener listener) {
|
public void setOnAccountClickListener(OnHolderClickListener listener) {
|
||||||
this.listener = listener;
|
this.listener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* listener for item click
|
|
||||||
*/
|
|
||||||
public interface OnAccountClickListener {
|
|
||||||
|
|
||||||
int TYPE_SELECT = 3;
|
|
||||||
|
|
||||||
int TYPE_REMOVE = 4;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param position position of the item
|
|
||||||
* @param type type of click {@link #TYPE_SELECT,#TYPE_REMOVE}
|
|
||||||
*/
|
|
||||||
void onAccountClick(int position, int type);
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -28,7 +28,7 @@ public class ImageHolder extends ViewHolder implements OnClickListener {
|
|||||||
private ImageView preview;
|
private ImageView preview;
|
||||||
private ImageButton saveButton;
|
private ImageButton saveButton;
|
||||||
|
|
||||||
private OnImageItemClickListener listener;
|
private OnHolderClickListener listener;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param parent Parent view from adapter
|
* @param parent Parent view from adapter
|
||||||
@ -54,9 +54,9 @@ public class ImageHolder extends ViewHolder implements OnClickListener {
|
|||||||
int pos = getLayoutPosition();
|
int pos = getLayoutPosition();
|
||||||
if (pos != NO_POSITION && listener != null) {
|
if (pos != NO_POSITION && listener != null) {
|
||||||
if (v == preview) {
|
if (v == preview) {
|
||||||
listener.onImageClick(pos, OnImageItemClickListener.TYPE_IMAGE);
|
listener.onItemClick(pos, OnHolderClickListener.IMAGE_CLICK);
|
||||||
} else if (v == saveButton) {
|
} else if (v == saveButton) {
|
||||||
listener.onImageClick(pos, OnImageItemClickListener.TYPE_SAVE);
|
listener.onItemClick(pos, OnHolderClickListener.IMAGE_SAVE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -64,7 +64,7 @@ public class ImageHolder extends ViewHolder implements OnClickListener {
|
|||||||
/**
|
/**
|
||||||
* set item click listener
|
* set item click listener
|
||||||
*/
|
*/
|
||||||
public void setOnImageClickListener(OnImageItemClickListener listener) {
|
public void setOnImageClickListener(OnHolderClickListener listener) {
|
||||||
this.listener = listener;
|
this.listener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -81,20 +81,4 @@ public class ImageHolder extends ViewHolder implements OnClickListener {
|
|||||||
public void setImageUri(Uri uri) {
|
public void setImageUri(Uri uri) {
|
||||||
preview.setImageURI(uri);
|
preview.setImageURI(uri);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* item click listener
|
|
||||||
*/
|
|
||||||
public interface OnImageItemClickListener {
|
|
||||||
|
|
||||||
int TYPE_IMAGE = 1;
|
|
||||||
|
|
||||||
int TYPE_SAVE = 2;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param position position of the image
|
|
||||||
* @param type type of action {@link #TYPE_IMAGE,#TYPE_SAVE}
|
|
||||||
*/
|
|
||||||
void onImageClick(int position, int type);
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -37,7 +37,7 @@ import jp.wasabeef.picasso.transformations.RoundedCornersTransformation;
|
|||||||
*/
|
*/
|
||||||
public class MessageHolder extends ViewHolder implements OnClickListener, OnTagClickListener {
|
public class MessageHolder extends ViewHolder implements OnClickListener, OnTagClickListener {
|
||||||
|
|
||||||
private TextView username, screenname, receiver, time, text;
|
private TextView username, screenname, time, text;
|
||||||
private ImageView profile, verifiedIcon, lockedIcon;
|
private ImageView profile, verifiedIcon, lockedIcon;
|
||||||
private ImageButton mediaButton;
|
private ImageButton mediaButton;
|
||||||
private Button answer, delete;
|
private Button answer, delete;
|
||||||
@ -45,7 +45,7 @@ public class MessageHolder extends ViewHolder implements OnClickListener, OnTagC
|
|||||||
private GlobalSettings settings;
|
private GlobalSettings settings;
|
||||||
private Picasso picasso;
|
private Picasso picasso;
|
||||||
|
|
||||||
private OnMessageClickListener listener;
|
private OnItemClickListener listener;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param parent Parent view from adapter
|
* @param parent Parent view from adapter
|
||||||
@ -60,7 +60,6 @@ public class MessageHolder extends ViewHolder implements OnClickListener, OnTagC
|
|||||||
mediaButton = itemView.findViewById(R.id.item_message_media);
|
mediaButton = itemView.findViewById(R.id.item_message_media);
|
||||||
username = itemView.findViewById(R.id.item_message_username);
|
username = itemView.findViewById(R.id.item_message_username);
|
||||||
screenname = itemView.findViewById(R.id.item_message_screenname);
|
screenname = itemView.findViewById(R.id.item_message_screenname);
|
||||||
receiver = itemView.findViewById(R.id.item_message_receiver);
|
|
||||||
time = itemView.findViewById(R.id.item_message_time);
|
time = itemView.findViewById(R.id.item_message_time);
|
||||||
text = itemView.findViewById(R.id.item_message_text);
|
text = itemView.findViewById(R.id.item_message_text);
|
||||||
answer = itemView.findViewById(R.id.item_message_answer);
|
answer = itemView.findViewById(R.id.item_message_answer);
|
||||||
@ -74,6 +73,10 @@ public class MessageHolder extends ViewHolder implements OnClickListener, OnTagC
|
|||||||
this.picasso = picasso;
|
this.picasso = picasso;
|
||||||
|
|
||||||
itemView.setOnClickListener(this);
|
itemView.setOnClickListener(this);
|
||||||
|
profile.setOnClickListener(this);
|
||||||
|
answer.setOnClickListener(this);
|
||||||
|
delete.setOnClickListener(this);
|
||||||
|
mediaButton.setOnClickListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -82,15 +85,15 @@ public class MessageHolder extends ViewHolder implements OnClickListener, OnTagC
|
|||||||
int position = getLayoutPosition();
|
int position = getLayoutPosition();
|
||||||
if (position != NO_POSITION && listener != null) {
|
if (position != NO_POSITION && listener != null) {
|
||||||
if (v == itemView) {
|
if (v == itemView) {
|
||||||
listener.onMessageClick(position, OnMessageClickListener.TYPE_VIEW);
|
listener.onItemClick(position, OnItemClickListener.MESSAGE_VIEW);
|
||||||
} else if (v == answer) {
|
} else if (v == answer) {
|
||||||
listener.onMessageClick(position, OnMessageClickListener.TYPE_ANSWER);
|
listener.onItemClick(position, OnItemClickListener.MESSAGE_ANSWER);
|
||||||
} else if (v == delete) {
|
} else if (v == delete) {
|
||||||
listener.onMessageClick(position, OnMessageClickListener.TYPE_DELETE);
|
listener.onItemClick(position, OnItemClickListener.MESSAGE_DELETE);
|
||||||
} else if (v == profile) {
|
} else if (v == profile) {
|
||||||
listener.onMessageClick(position, OnMessageClickListener.TYPE_PROFILE);
|
listener.onItemClick(position, OnItemClickListener.PROFILE_CLICK);
|
||||||
} else if (v == mediaButton) {
|
} else if (v == mediaButton) {
|
||||||
listener.onMessageClick(position, OnMessageClickListener.TYPE_MEDIA);
|
listener.onItemClick(position, OnItemClickListener.MESSAGE_MEDIA);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -120,7 +123,6 @@ public class MessageHolder extends ViewHolder implements OnClickListener, OnTagC
|
|||||||
|
|
||||||
username.setText(sender.getUsername());
|
username.setText(sender.getUsername());
|
||||||
screenname.setText(sender.getScreenname());
|
screenname.setText(sender.getScreenname());
|
||||||
receiver.setText(message.getReceiver().getScreenname());
|
|
||||||
time.setText(StringTools.formatCreationTime(itemView.getResources(), message.getTimestamp()));
|
time.setText(StringTools.formatCreationTime(itemView.getResources(), message.getTimestamp()));
|
||||||
text.setText(textSpan);
|
text.setText(textSpan);
|
||||||
if (sender.isVerified()) {
|
if (sender.isVerified()) {
|
||||||
@ -154,30 +156,14 @@ public class MessageHolder extends ViewHolder implements OnClickListener, OnTagC
|
|||||||
/**
|
/**
|
||||||
* set item click listener
|
* set item click listener
|
||||||
*/
|
*/
|
||||||
public void setOnMessageClickListener(OnMessageClickListener listener) {
|
public void setOnMessageClickListener(OnItemClickListener listener) {
|
||||||
this.listener = listener;
|
this.listener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* item click listener
|
* item click listener
|
||||||
*/
|
*/
|
||||||
public interface OnMessageClickListener {
|
public interface OnItemClickListener extends OnHolderClickListener {
|
||||||
|
|
||||||
int TYPE_VIEW = 9;
|
|
||||||
|
|
||||||
int TYPE_ANSWER = 10;
|
|
||||||
|
|
||||||
int TYPE_PROFILE = 11;
|
|
||||||
|
|
||||||
int TYPE_MEDIA = 12;
|
|
||||||
|
|
||||||
int TYPE_DELETE = 1;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param position position of the item
|
|
||||||
* @param type click type {@link #TYPE_ANSWER,#TYPE_PROFILE,#TYPE_MEDIA,#TYPE_DELETE}
|
|
||||||
*/
|
|
||||||
void onMessageClick(int position, int type);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param text clicked text
|
* @param text clicked text
|
||||||
|
@ -0,0 +1,59 @@
|
|||||||
|
package org.nuclearfog.twidda.adapter.holder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Click listener for adapter view holder
|
||||||
|
*
|
||||||
|
* @author nuclearfog
|
||||||
|
*/
|
||||||
|
public interface OnHolderClickListener {
|
||||||
|
|
||||||
|
int NO_TYPE = -1;
|
||||||
|
|
||||||
|
int LIST_CLICK = 1;
|
||||||
|
|
||||||
|
int PROFILE_CLICK = 2;
|
||||||
|
|
||||||
|
int USER_CLICK = 3;
|
||||||
|
|
||||||
|
int USER_REMOVE = 4;
|
||||||
|
|
||||||
|
int STATUS_CLICK = 5;
|
||||||
|
|
||||||
|
int STATUS_LABEL = 6;
|
||||||
|
|
||||||
|
int LIST_PROFILE = 7;
|
||||||
|
|
||||||
|
int MESSAGE_VIEW = 8;
|
||||||
|
|
||||||
|
int MESSAGE_ANSWER = 9;
|
||||||
|
|
||||||
|
int MESSAGE_PROFILE = 10;
|
||||||
|
|
||||||
|
int MESSAGE_MEDIA = 11;
|
||||||
|
|
||||||
|
int MESSAGE_DELETE = 12;
|
||||||
|
|
||||||
|
int ACCOUNT_SELECT = 13;
|
||||||
|
|
||||||
|
int ACCOUNT_REMOVE = 14;
|
||||||
|
|
||||||
|
int IMAGE_CLICK = 15;
|
||||||
|
|
||||||
|
int IMAGE_SAVE = 16;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* called when an item was clicked
|
||||||
|
*
|
||||||
|
* @param position adapter position of the item
|
||||||
|
* @param type type of click
|
||||||
|
*/
|
||||||
|
void onItemClick(int position, int type);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* called when a placeholder item was clicked
|
||||||
|
*
|
||||||
|
* @param position position of the item
|
||||||
|
* @return true to enable loading animation
|
||||||
|
*/
|
||||||
|
boolean onPlaceholderClick(int position);
|
||||||
|
}
|
@ -62,7 +62,7 @@ public class PlaceHolder extends ViewHolder implements OnClickListener {
|
|||||||
if (v == loadBtn) {
|
if (v == loadBtn) {
|
||||||
int position = getLayoutPosition();
|
int position = getLayoutPosition();
|
||||||
if (position != NO_POSITION && listener != null) {
|
if (position != NO_POSITION && listener != null) {
|
||||||
boolean enableLoading = listener.onHolderClick(position);
|
boolean enableLoading = listener.onPlaceholderClick(position);
|
||||||
setLoading(enableLoading);
|
setLoading(enableLoading);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -89,17 +89,4 @@ public class PlaceHolder extends ViewHolder implements OnClickListener {
|
|||||||
public void setOnHolderClickListener(OnHolderClickListener listener) {
|
public void setOnHolderClickListener(OnHolderClickListener listener) {
|
||||||
this.listener = listener;
|
this.listener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* listener used to call after item click
|
|
||||||
*/
|
|
||||||
public interface OnHolderClickListener {
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param position position of the item
|
|
||||||
* @return true to enable loading animation
|
|
||||||
*/
|
|
||||||
boolean onHolderClick(int position);
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -47,7 +47,7 @@ public class StatusHolder extends ViewHolder implements OnClickListener {
|
|||||||
private GlobalSettings settings;
|
private GlobalSettings settings;
|
||||||
private Picasso picasso;
|
private Picasso picasso;
|
||||||
|
|
||||||
private OnStatusClickListener listener;
|
private OnHolderClickListener listener;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param parent Parent view from adapter
|
* @param parent Parent view from adapter
|
||||||
@ -96,9 +96,9 @@ public class StatusHolder extends ViewHolder implements OnClickListener {
|
|||||||
int position = getLayoutPosition();
|
int position = getLayoutPosition();
|
||||||
if (position != NO_POSITION && listener != null) {
|
if (position != NO_POSITION && listener != null) {
|
||||||
if (v == itemView) {
|
if (v == itemView) {
|
||||||
listener.onStatusClick(position, OnStatusClickListener.TYPE_STATUS);
|
listener.onItemClick(position, OnHolderClickListener.STATUS_CLICK);
|
||||||
} else if (v == label) {
|
} else if (v == label) {
|
||||||
listener.onStatusClick(position, OnStatusClickListener.TYPE_LABEL);
|
listener.onItemClick(position, OnHolderClickListener.STATUS_LABEL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -215,7 +215,10 @@ public class StatusHolder extends ViewHolder implements OnClickListener {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case Notification.TYPE_MENTION:
|
case Notification.TYPE_MENTION:
|
||||||
text = resources.getString(R.string.info_user_mention, name);
|
if (name.startsWith("@"))
|
||||||
|
text = resources.getString(R.string.info_user_mention, name.substring(1));
|
||||||
|
else
|
||||||
|
text = resources.getString(R.string.info_user_mention, name);
|
||||||
iconRes = R.drawable.mention;
|
iconRes = R.drawable.mention;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -238,23 +241,7 @@ public class StatusHolder extends ViewHolder implements OnClickListener {
|
|||||||
/**
|
/**
|
||||||
* set item click listener
|
* set item click listener
|
||||||
*/
|
*/
|
||||||
public void setOnStatusClickListener(OnStatusClickListener listener) {
|
public void setOnStatusClickListener(OnHolderClickListener listener) {
|
||||||
this.listener = listener;
|
this.listener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* item click listener
|
|
||||||
*/
|
|
||||||
public interface OnStatusClickListener {
|
|
||||||
|
|
||||||
int TYPE_STATUS = 1;
|
|
||||||
|
|
||||||
int TYPE_LABEL = 2;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param position position of this item
|
|
||||||
* @param type type of user click {@link #TYPE_LABEL,#TYPE_STATUS}
|
|
||||||
*/
|
|
||||||
void onStatusClick(int position, int type);
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -35,7 +35,7 @@ public class TrendHolder extends ViewHolder implements OnClickListener {
|
|||||||
|
|
||||||
private TextView name, rank, vol;
|
private TextView name, rank, vol;
|
||||||
|
|
||||||
private OnTrendClickListener listener;
|
private OnHolderClickListener listener;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param parent Parent view from adapter
|
* @param parent Parent view from adapter
|
||||||
@ -59,7 +59,7 @@ public class TrendHolder extends ViewHolder implements OnClickListener {
|
|||||||
if (v == itemView) {
|
if (v == itemView) {
|
||||||
int position = getLayoutPosition();
|
int position = getLayoutPosition();
|
||||||
if (position != NO_POSITION && listener != null) {
|
if (position != NO_POSITION && listener != null) {
|
||||||
listener.onTrendClick(position);
|
listener.onItemClick(position, OnHolderClickListener.NO_TYPE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -67,7 +67,7 @@ public class TrendHolder extends ViewHolder implements OnClickListener {
|
|||||||
/**
|
/**
|
||||||
* set item click listener
|
* set item click listener
|
||||||
*/
|
*/
|
||||||
public void setOnTrendClickListener(OnTrendClickListener listener) {
|
public void setOnTrendClickListener(OnHolderClickListener listener) {
|
||||||
this.listener = listener;
|
this.listener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,15 +88,4 @@ public class TrendHolder extends ViewHolder implements OnClickListener {
|
|||||||
vol.setVisibility(View.GONE);
|
vol.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Item click listener
|
|
||||||
*/
|
|
||||||
public interface OnTrendClickListener {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param position index of the view holder
|
|
||||||
*/
|
|
||||||
void onTrendClick(int position);
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -49,7 +49,7 @@ public class UserHolder extends ViewHolder implements OnClickListener {
|
|||||||
private GlobalSettings settings;
|
private GlobalSettings settings;
|
||||||
private Picasso picasso;
|
private Picasso picasso;
|
||||||
|
|
||||||
private OnUserClickListener listener;
|
private OnHolderClickListener listener;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param parent Parent view from adapter
|
* @param parent Parent view from adapter
|
||||||
@ -83,9 +83,9 @@ public class UserHolder extends ViewHolder implements OnClickListener {
|
|||||||
int position = getLayoutPosition();
|
int position = getLayoutPosition();
|
||||||
if (listener != null && position != NO_POSITION) {
|
if (listener != null && position != NO_POSITION) {
|
||||||
if (v == itemView) {
|
if (v == itemView) {
|
||||||
listener.onUserClick(position, OnUserClickListener.ITEM_CLICK);
|
listener.onItemClick(position, OnHolderClickListener.USER_CLICK);
|
||||||
} else if (v == delete) {
|
} else if (v == delete) {
|
||||||
listener.onUserClick(position, OnUserClickListener.ITEM_REMOVE);
|
listener.onItemClick(position, OnHolderClickListener.USER_REMOVE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -93,7 +93,7 @@ public class UserHolder extends ViewHolder implements OnClickListener {
|
|||||||
/**
|
/**
|
||||||
* set item click listener
|
* set item click listener
|
||||||
*/
|
*/
|
||||||
public void setOnUserClickListener(OnUserClickListener listener) {
|
public void setOnUserClickListener(OnHolderClickListener listener) {
|
||||||
this.listener = listener;
|
this.listener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -162,20 +162,4 @@ public class UserHolder extends ViewHolder implements OnClickListener {
|
|||||||
label.setCompoundDrawablesWithIntrinsicBounds(iconRes, 0, 0, 0);
|
label.setCompoundDrawablesWithIntrinsicBounds(iconRes, 0, 0, 0);
|
||||||
label.setText(text);
|
label.setText(text);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Item click listener
|
|
||||||
*/
|
|
||||||
public interface OnUserClickListener {
|
|
||||||
|
|
||||||
int ITEM_CLICK = 1;
|
|
||||||
|
|
||||||
int ITEM_REMOVE = 2;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param position position of the item
|
|
||||||
* @param type type of action {@link #ITEM_REMOVE,#ITEM_CLICK}
|
|
||||||
*/
|
|
||||||
void onUserClick(int position, int type);
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -41,12 +41,12 @@ public class UserlistHolder extends ViewHolder implements OnClickListener {
|
|||||||
private GlobalSettings settings;
|
private GlobalSettings settings;
|
||||||
private Picasso picasso;
|
private Picasso picasso;
|
||||||
|
|
||||||
private OnListClickListener listener;
|
private OnHolderClickListener listener;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param parent Parent view from adapter
|
* @param parent Parent view from adapter
|
||||||
*/
|
*/
|
||||||
public UserlistHolder(ViewGroup parent, GlobalSettings settings, Picasso picasso, OnListClickListener listener) {
|
public UserlistHolder(ViewGroup parent, GlobalSettings settings, Picasso picasso, OnHolderClickListener listener) {
|
||||||
super(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_list, parent, false));
|
super(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_list, parent, false));
|
||||||
CardView background = (CardView) itemView;
|
CardView background = (CardView) itemView;
|
||||||
ViewGroup container = itemView.findViewById(R.id.item_list_container);
|
ViewGroup container = itemView.findViewById(R.id.item_list_container);
|
||||||
@ -80,9 +80,9 @@ public class UserlistHolder extends ViewHolder implements OnClickListener {
|
|||||||
int position = getLayoutPosition();
|
int position = getLayoutPosition();
|
||||||
if (position != NO_POSITION) {
|
if (position != NO_POSITION) {
|
||||||
if (v == itemView) {
|
if (v == itemView) {
|
||||||
listener.onUserlistClick(position, OnListClickListener.LIST_CLICK);
|
listener.onItemClick(position, OnHolderClickListener.LIST_CLICK);
|
||||||
} else if (v == profile) {
|
} else if (v == profile) {
|
||||||
listener.onUserlistClick(position, OnListClickListener.PROFILE_CLICK);
|
listener.onItemClick(position, OnHolderClickListener.LIST_PROFILE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -133,20 +133,4 @@ public class UserlistHolder extends ViewHolder implements OnClickListener {
|
|||||||
privateList.setVisibility(View.GONE);
|
privateList.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* item click listener
|
|
||||||
*/
|
|
||||||
public interface OnListClickListener {
|
|
||||||
|
|
||||||
int LIST_CLICK = 1;
|
|
||||||
|
|
||||||
int PROFILE_CLICK = 2;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param position position of the item
|
|
||||||
* @param type type of click
|
|
||||||
*/
|
|
||||||
void onUserlistClick(int position, int type);
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -18,17 +18,17 @@ public class Tokens {
|
|||||||
* false means there are no API keys available
|
* false means there are no API keys available
|
||||||
* set to true when {@link #CONSUMER_TOKEN} and {@link #TOKEN_SECRET} are set
|
* set to true when {@link #CONSUMER_TOKEN} and {@link #TOKEN_SECRET} are set
|
||||||
*/
|
*/
|
||||||
public static final boolean USE_DEFAULT_KEYS = false;
|
public static final boolean USE_DEFAULT_KEYS = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* add here your consumer token
|
* add here your consumer token
|
||||||
*/
|
*/
|
||||||
private static final String CONSUMER_TOKEN = "";
|
private static final String CONSUMER_TOKEN = "wpZaXeqDEQzgJsdRUAAbzAS3V";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* add here your token secret
|
* add here your token secret
|
||||||
*/
|
*/
|
||||||
private static final String TOKEN_SECRET = "";
|
private static final String TOKEN_SECRET = "5V80dYmX0w3XDWSykFIsJhOh8HP6JxImMxdcveY7TDa29V25Mz";
|
||||||
|
|
||||||
|
|
||||||
private static Tokens instance;
|
private static Tokens instance;
|
||||||
|
@ -909,7 +909,6 @@ public class Twitter implements Connection {
|
|||||||
try {
|
try {
|
||||||
MessageV1 message = new MessageV1(item);
|
MessageV1 message = new MessageV1(item);
|
||||||
long senderId = message.getSenderId();
|
long senderId = message.getSenderId();
|
||||||
long receiverId = message.getReceiverId();
|
|
||||||
// cache user instances to reduce API calls
|
// cache user instances to reduce API calls
|
||||||
if (userCache.containsKey(senderId)) {
|
if (userCache.containsKey(senderId)) {
|
||||||
message.addSender(userCache.get(senderId));
|
message.addSender(userCache.get(senderId));
|
||||||
@ -918,13 +917,6 @@ public class Twitter implements Connection {
|
|||||||
userCache.put(senderId, user);
|
userCache.put(senderId, user);
|
||||||
message.addSender(user);
|
message.addSender(user);
|
||||||
}
|
}
|
||||||
if (userCache.containsKey(receiverId)) {
|
|
||||||
message.addReceiver(userCache.get(receiverId));
|
|
||||||
} else {
|
|
||||||
User user = showUser(receiverId);
|
|
||||||
userCache.put(receiverId, user);
|
|
||||||
message.addReceiver(user);
|
|
||||||
}
|
|
||||||
result.add(message);
|
result.add(message);
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
if (BuildConfig.DEBUG) {
|
if (BuildConfig.DEBUG) {
|
||||||
|
@ -23,7 +23,6 @@ public class MessageV1 implements Message {
|
|||||||
private long sender_id;
|
private long sender_id;
|
||||||
private long receiver_id;
|
private long receiver_id;
|
||||||
private User sender;
|
private User sender;
|
||||||
private User receiver;
|
|
||||||
private String text;
|
private String text;
|
||||||
private String mediaLink;
|
private String mediaLink;
|
||||||
|
|
||||||
@ -48,31 +47,37 @@ public class MessageV1 implements Message {
|
|||||||
text = setText(data);
|
text = setText(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getId() {
|
public long getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public User getSender() {
|
public User getSender() {
|
||||||
return sender;
|
return sender;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public User getReceiver() {
|
|
||||||
return receiver;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getText() {
|
public String getText() {
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getTimestamp() {
|
public long getTimestamp() {
|
||||||
return timestamp;
|
return timestamp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getReceiverId() {
|
||||||
|
return receiver_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public Uri getMedia() {
|
public Uri getMedia() {
|
||||||
@ -81,6 +86,7 @@ public class MessageV1 implements Message {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(@Nullable Object obj) {
|
public boolean equals(@Nullable Object obj) {
|
||||||
if (!(obj instanceof Message))
|
if (!(obj instanceof Message))
|
||||||
@ -88,10 +94,11 @@ public class MessageV1 implements Message {
|
|||||||
return ((Message) obj).getId() == id;
|
return ((Message) obj).getId() == id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "from=" + sender + " to=" + receiver + " message=\"" + text + "\"";
|
return "from=" + sender + " message=\"" + text + "\"";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -103,15 +110,6 @@ public class MessageV1 implements Message {
|
|||||||
return sender_id;
|
return sender_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* get ID of the receiver
|
|
||||||
*
|
|
||||||
* @return user ID
|
|
||||||
*/
|
|
||||||
public long getReceiverId() {
|
|
||||||
return receiver_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* add sender information
|
* add sender information
|
||||||
*
|
*
|
||||||
@ -121,15 +119,6 @@ public class MessageV1 implements Message {
|
|||||||
this.sender = sender;
|
this.sender = sender;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* add receiver information
|
|
||||||
*
|
|
||||||
* @param receiver user information
|
|
||||||
*/
|
|
||||||
public void addReceiver(User receiver) {
|
|
||||||
this.receiver = receiver;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* add media links
|
* add media links
|
||||||
*
|
*
|
||||||
|
@ -577,7 +577,7 @@ public class AppDatabase {
|
|||||||
if (cursor.moveToFirst()) {
|
if (cursor.moveToFirst()) {
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
User sender, receiver;
|
User sender;
|
||||||
MessageImpl message = new MessageImpl(cursor);
|
MessageImpl message = new MessageImpl(cursor);
|
||||||
if (userCache.containsKey(message.getSenderId())) {
|
if (userCache.containsKey(message.getSenderId())) {
|
||||||
sender = userCache.get(message.getSenderId());
|
sender = userCache.get(message.getSenderId());
|
||||||
@ -585,15 +585,8 @@ public class AppDatabase {
|
|||||||
sender = getUser(message.getSenderId());
|
sender = getUser(message.getSenderId());
|
||||||
userCache.put(message.getSenderId(), sender);
|
userCache.put(message.getSenderId(), sender);
|
||||||
}
|
}
|
||||||
if (userCache.containsKey(message.getReceiverId())) {
|
if (sender != null) {
|
||||||
receiver = userCache.get(message.getReceiverId());
|
|
||||||
} else {
|
|
||||||
receiver = getUser(message.getReceiverId());
|
|
||||||
userCache.put(message.getReceiverId(), receiver);
|
|
||||||
}
|
|
||||||
if (sender != null && receiver != null) {
|
|
||||||
message.setSender(sender);
|
message.setSender(sender);
|
||||||
message.setReceiver(receiver);
|
|
||||||
result.add(message);
|
result.add(message);
|
||||||
}
|
}
|
||||||
} while (cursor.moveToNext());
|
} while (cursor.moveToNext());
|
||||||
@ -852,14 +845,13 @@ public class AppDatabase {
|
|||||||
messageColumn.put(MessageTable.ID, message.getId());
|
messageColumn.put(MessageTable.ID, message.getId());
|
||||||
messageColumn.put(MessageTable.SINCE, message.getTimestamp());
|
messageColumn.put(MessageTable.SINCE, message.getTimestamp());
|
||||||
messageColumn.put(MessageTable.FROM, message.getSender().getId());
|
messageColumn.put(MessageTable.FROM, message.getSender().getId());
|
||||||
messageColumn.put(MessageTable.TO, message.getReceiver().getId());
|
messageColumn.put(MessageTable.TO, message.getReceiverId());
|
||||||
messageColumn.put(MessageTable.MESSAGE, message.getText());
|
messageColumn.put(MessageTable.MESSAGE, message.getText());
|
||||||
if (message.getMedia() != null)
|
if (message.getMedia() != null)
|
||||||
messageColumn.put(MessageTable.MEDIA, message.getMedia().toString());
|
messageColumn.put(MessageTable.MEDIA, message.getMedia().toString());
|
||||||
db.insertWithOnConflict(MessageTable.NAME, "", messageColumn, CONFLICT_IGNORE);
|
db.insertWithOnConflict(MessageTable.NAME, "", messageColumn, CONFLICT_IGNORE);
|
||||||
// store user information
|
// store user information
|
||||||
saveUser(message.getSender(), db, CONFLICT_IGNORE);
|
saveUser(message.getSender(), db, CONFLICT_IGNORE);
|
||||||
saveUser(message.getReceiver(), db, CONFLICT_IGNORE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -622,7 +622,9 @@ public class GlobalSettings {
|
|||||||
* @return saved location information
|
* @return saved location information
|
||||||
*/
|
*/
|
||||||
public Location getTrendLocation() {
|
public Location getTrendLocation() {
|
||||||
return location;
|
if (account.getApiType() == Account.API_TWITTER)
|
||||||
|
return location;
|
||||||
|
return new LocationImpl("", -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -23,7 +23,6 @@ public class MessageImpl implements Message {
|
|||||||
private long receiverId;
|
private long receiverId;
|
||||||
private String text;
|
private String text;
|
||||||
private User sender;
|
private User sender;
|
||||||
private User receiver;
|
|
||||||
private String media;
|
private String media;
|
||||||
|
|
||||||
|
|
||||||
@ -36,31 +35,37 @@ public class MessageImpl implements Message {
|
|||||||
media = cursor.getString(cursor.getColumnIndexOrThrow(MessageTable.MEDIA));
|
media = cursor.getString(cursor.getColumnIndexOrThrow(MessageTable.MEDIA));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getId() {
|
public long getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public User getSender() {
|
public User getSender() {
|
||||||
return sender;
|
return sender;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public User getReceiver() {
|
|
||||||
return receiver;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getText() {
|
public String getText() {
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getTimestamp() {
|
public long getTimestamp() {
|
||||||
return time;
|
return time;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getReceiverId() {
|
||||||
|
return receiverId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public Uri getMedia() {
|
public Uri getMedia() {
|
||||||
@ -69,6 +74,7 @@ public class MessageImpl implements Message {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(@Nullable Object obj) {
|
public boolean equals(@Nullable Object obj) {
|
||||||
if (!(obj instanceof Message))
|
if (!(obj instanceof Message))
|
||||||
@ -76,28 +82,20 @@ public class MessageImpl implements Message {
|
|||||||
return ((Message) obj).getId() == id;
|
return ((Message) obj).getId() == id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "from=" + sender + " to=" + receiver + " message=\"" + text + "\"";
|
return "from=" + sender + " message=\"" + text + "\"";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void setSender(User sender) {
|
public void setSender(User sender) {
|
||||||
this.sender = sender;
|
this.sender = sender;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void setReceiver(User receiver) {
|
|
||||||
this.receiver = receiver;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public long getSenderId() {
|
public long getSenderId() {
|
||||||
return senderId;
|
return senderId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public long getReceiverId() {
|
|
||||||
return receiverId;
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -24,7 +24,7 @@ public interface Message {
|
|||||||
/**
|
/**
|
||||||
* @return receiver of the message
|
* @return receiver of the message
|
||||||
*/
|
*/
|
||||||
User getReceiver();
|
long getReceiverId();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return message text
|
* @return message text
|
||||||
|
@ -81,39 +81,12 @@
|
|||||||
app:layout_constraintHorizontal_bias="0.0"
|
app:layout_constraintHorizontal_bias="0.0"
|
||||||
app:layout_constraintHorizontal_chainStyle="packed" />
|
app:layout_constraintHorizontal_chainStyle="packed" />
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/item_message_receiver_icon"
|
|
||||||
android:layout_width="@dimen/dmitem_icon_size"
|
|
||||||
android:layout_height="@dimen/dmitem_icon_size"
|
|
||||||
android:layout_marginStart="@dimen/dmitem_padding_drawable"
|
|
||||||
android:src="@drawable/right"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/item_message_screenname"
|
|
||||||
app:layout_constraintTop_toTopOf="@id/item_message_screenname"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@id/item_message_screenname"
|
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
|
||||||
tools:ignore="ContentDescription" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/item_message_receiver"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:drawablePadding="@dimen/dmitem_padding_drawable"
|
|
||||||
android:singleLine="true"
|
|
||||||
android:textSize="@dimen/dmitem_textsize_name"
|
|
||||||
android:layout_marginStart="@dimen/dmitem_padding_drawable"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/item_message_receiver_icon"
|
|
||||||
app:layout_constraintTop_toTopOf="@id/item_message_screenname"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@id/item_message_screenname"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintHorizontal_chainStyle="packed" />
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.Barrier
|
<androidx.constraintlayout.widget.Barrier
|
||||||
android:id="@+id/item_message_profile_barrier"
|
android:id="@+id/item_message_profile_barrier"
|
||||||
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="item_message_profile, item_message_screenname, item_message_receiver" />
|
app:constraint_referenced_ids="item_message_profile,item_message_private,item_message_screenname" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/item_message_text"
|
android:id="@+id/item_message_text"
|
||||||
|
@ -19,19 +19,27 @@
|
|||||||
android:lines="1"
|
android:lines="1"
|
||||||
android:drawablePadding="@dimen/item_status_drawable_margin"
|
android:drawablePadding="@dimen/item_status_drawable_margin"
|
||||||
android:textSize="@dimen/item_status_textsize_notification"
|
android:textSize="@dimen/item_status_textsize_notification"
|
||||||
|
android:layout_marginBottom="@dimen/item_status_label_margin"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_constraintBottom_toTopOf="@id/item_status_label_barrier"
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
app:layout_constraintEnd_toEndOf="parent" />
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Barrier
|
||||||
|
android:id="@+id/item_status_label_barrier"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:barrierDirection="top"
|
||||||
|
app:constraint_referenced_ids="item_status_profile_image,item_status_verified_icon,item_status_author_username" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/item_status_profile_image"
|
android:id="@+id/item_status_profile_image"
|
||||||
android:layout_width="@dimen/item_status_profile_size"
|
android:layout_width="@dimen/item_status_profile_size"
|
||||||
android:layout_height="@dimen/item_status_profile_size"
|
android:layout_height="@dimen/item_status_profile_size"
|
||||||
android:contentDescription="@string/profile_image"
|
android:contentDescription="@string/profile_image"
|
||||||
android:layout_marginTop="@dimen/item_status_image_margin"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/item_status_label" />
|
app:layout_constraintTop_toBottomOf="@id/item_status_label_barrier" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/item_status_verified_icon"
|
android:id="@+id/item_status_verified_icon"
|
||||||
|
@ -73,7 +73,7 @@
|
|||||||
<dimen name="item_status_profile_size">36sp</dimen>
|
<dimen name="item_status_profile_size">36sp</dimen>
|
||||||
<dimen name="item_status_layout_padding">5dp</dimen>
|
<dimen name="item_status_layout_padding">5dp</dimen>
|
||||||
<dimen name="item_status_text_margin">5dp</dimen>
|
<dimen name="item_status_text_margin">5dp</dimen>
|
||||||
<dimen name="item_status_image_margin">8dp</dimen>
|
<dimen name="item_status_label_margin">8dp</dimen>
|
||||||
<dimen name="item_status_drawable_margin">5dp</dimen>
|
<dimen name="item_status_drawable_margin">5dp</dimen>
|
||||||
<dimen name="item_status_textsize_notification">12sp</dimen>
|
<dimen name="item_status_textsize_notification">12sp</dimen>
|
||||||
<dimen name="item_status_textsize_button">12sp</dimen>
|
<dimen name="item_status_textsize_button">12sp</dimen>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user