mirror of
https://github.com/nuclearfog/Shitter.git
synced 2025-02-07 15:48:39 +01:00
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 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.database.GlobalSettings;
|
||||
import org.nuclearfog.twidda.model.Account;
|
||||
@ -23,7 +23,7 @@ import java.util.List;
|
||||
* @author nuclearfog
|
||||
* @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 OnAccountClickListener listener;
|
||||
@ -65,15 +65,21 @@ public class AccountAdapter extends Adapter<AccountHolder> implements OnAccountC
|
||||
|
||||
|
||||
@Override
|
||||
public void onAccountClick(int position, int type) {
|
||||
public void onItemClick(int position, int type) {
|
||||
Account account = accounts.get(position);
|
||||
if (type == AccountHolder.OnAccountClickListener.TYPE_SELECT) {
|
||||
if (type == OnHolderClickListener.ACCOUNT_SELECT) {
|
||||
listener.onAccountClick(account);
|
||||
} else if (type == AccountHolder.OnAccountClickListener.TYPE_REMOVE) {
|
||||
} else if (type == OnHolderClickListener.ACCOUNT_REMOVE) {
|
||||
listener.onAccountRemove(account);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onPlaceholderClick(int position) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* sets login data
|
||||
*
|
||||
|
@ -9,7 +9,7 @@ import androidx.recyclerview.widget.RecyclerView.Adapter;
|
||||
import androidx.recyclerview.widget.RecyclerView.ViewHolder;
|
||||
|
||||
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.database.GlobalSettings;
|
||||
|
||||
@ -22,7 +22,7 @@ import java.util.List;
|
||||
* @author nuclearfog
|
||||
* @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
|
||||
@ -93,18 +93,24 @@ public class ImageAdapter extends Adapter<ViewHolder> implements OnImageItemClic
|
||||
|
||||
|
||||
@Override
|
||||
public void onImageClick(int position, int type) {
|
||||
public void onItemClick(int position, int type) {
|
||||
switch (type) {
|
||||
case OnImageItemClickListener.TYPE_IMAGE:
|
||||
case OnHolderClickListener.IMAGE_CLICK:
|
||||
itemClickListener.onImageClick(imageLinks.get(position));
|
||||
break;
|
||||
|
||||
case OnImageItemClickListener.TYPE_SAVE:
|
||||
case OnHolderClickListener.IMAGE_SAVE:
|
||||
itemClickListener.onImageSave(imageLinks.get(position));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onPlaceholderClick(int position) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* replace all image links
|
||||
*
|
||||
|
@ -11,9 +11,8 @@ import com.squareup.picasso.Picasso;
|
||||
|
||||
import org.nuclearfog.tag.Tagger.OnTagClickListener;
|
||||
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.OnHolderClickListener;
|
||||
import org.nuclearfog.twidda.backend.lists.Messages;
|
||||
import org.nuclearfog.twidda.backend.utils.PicassoBuilder;
|
||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||
@ -25,7 +24,7 @@ import org.nuclearfog.twidda.model.Message;
|
||||
* @author nuclearfog
|
||||
* @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
|
||||
@ -114,23 +113,23 @@ public class MessageAdapter extends Adapter<ViewHolder> implements OnMessageClic
|
||||
|
||||
|
||||
@Override
|
||||
public void onMessageClick(int position, int type) {
|
||||
public void onItemClick(int position, int type) {
|
||||
Message message = messages.get(position);
|
||||
if (message != null) {
|
||||
switch (type) {
|
||||
case OnMessageClickListener.ANSWER:
|
||||
case OnItemClickListener.MESSAGE_ANSWER:
|
||||
itemClickListener.onClick(message, OnMessageClickListener.ANSWER);
|
||||
break;
|
||||
|
||||
case OnMessageClickListener.DELETE:
|
||||
case OnItemClickListener.MESSAGE_DELETE:
|
||||
itemClickListener.onClick(message, OnMessageClickListener.DELETE);
|
||||
break;
|
||||
|
||||
case OnMessageClickListener.MEDIA:
|
||||
case OnItemClickListener.MESSAGE_MEDIA:
|
||||
itemClickListener.onClick(message, OnMessageClickListener.MEDIA);
|
||||
break;
|
||||
|
||||
case OnMessageClickListener.PROFILE:
|
||||
case OnItemClickListener.MESSAGE_PROFILE:
|
||||
itemClickListener.onClick(message, OnMessageClickListener.PROFILE);
|
||||
break;
|
||||
}
|
||||
@ -149,7 +148,7 @@ public class MessageAdapter extends Adapter<ViewHolder> implements OnMessageClic
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onHolderClick(int position) {
|
||||
public boolean onPlaceholderClick(int position) {
|
||||
boolean success = itemClickListener.onPlaceholderClick(messages.getNextCursor());
|
||||
if (success) {
|
||||
loadingIndex = position;
|
||||
@ -225,17 +224,17 @@ public class MessageAdapter extends Adapter<ViewHolder> implements OnMessageClic
|
||||
/**
|
||||
* indicates that the "delete" button was clicked
|
||||
*/
|
||||
int DELETE = 10;
|
||||
int DELETE = 2;
|
||||
|
||||
/**
|
||||
* indicates that the profile image was clicked
|
||||
*/
|
||||
int PROFILE = 100;
|
||||
int PROFILE = 3;
|
||||
|
||||
/**
|
||||
* indicates that the media button was clicked
|
||||
*/
|
||||
int MEDIA = 1000;
|
||||
int MEDIA = 4;
|
||||
|
||||
/**
|
||||
* called when a button was clicked
|
||||
|
@ -10,12 +10,10 @@ import androidx.recyclerview.widget.RecyclerView.ViewHolder;
|
||||
|
||||
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.OnHolderClickListener;
|
||||
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.OnUserClickListener;
|
||||
import org.nuclearfog.twidda.backend.utils.PicassoBuilder;
|
||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||
import org.nuclearfog.twidda.model.Notification;
|
||||
@ -30,7 +28,7 @@ import java.util.List;
|
||||
*
|
||||
* @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.
|
||||
@ -150,7 +148,7 @@ public class NotificationAdapter extends Adapter<ViewHolder> implements OnStatus
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onHolderClick(int position) {
|
||||
public boolean onPlaceholderClick(int position) {
|
||||
long sinceId = 0;
|
||||
long maxId = 0;
|
||||
if (position == 0) {
|
||||
@ -183,16 +181,17 @@ public class NotificationAdapter extends Adapter<ViewHolder> implements OnStatus
|
||||
|
||||
|
||||
@Override
|
||||
public void onStatusClick(int position, int type) {
|
||||
public void onItemClick(int position, int type) {
|
||||
Notification item = items.get(position);
|
||||
switch (type) {
|
||||
case OnStatusClickListener.TYPE_LABEL:
|
||||
case OnHolderClickListener.USER_CLICK:
|
||||
case OnHolderClickListener.STATUS_LABEL:
|
||||
if (item != null && item.getUser() != null) {
|
||||
listener.onUserClick(item.getUser());
|
||||
}
|
||||
break;
|
||||
|
||||
case OnStatusClickListener.TYPE_STATUS:
|
||||
case OnHolderClickListener.STATUS_CLICK:
|
||||
if (item != null && item.getStatus() != null) {
|
||||
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
|
||||
*
|
||||
|
@ -11,10 +11,9 @@ import androidx.recyclerview.widget.RecyclerView.ViewHolder;
|
||||
|
||||
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.OnHolderClickListener;
|
||||
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.database.GlobalSettings;
|
||||
import org.nuclearfog.twidda.model.Status;
|
||||
@ -29,7 +28,7 @@ import java.util.List;
|
||||
* @author nuclearfog
|
||||
* @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
|
||||
@ -123,7 +122,7 @@ public class StatusAdapter extends Adapter<ViewHolder> implements OnStatusClickL
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onHolderClick(int position) {
|
||||
public boolean onPlaceholderClick(int position) {
|
||||
long sinceId = 0;
|
||||
long maxId = 0;
|
||||
if (position == 0) {
|
||||
@ -156,8 +155,8 @@ public class StatusAdapter extends Adapter<ViewHolder> implements OnStatusClickL
|
||||
|
||||
|
||||
@Override
|
||||
public void onStatusClick(int position, int type) {
|
||||
if (type == OnStatusClickListener.TYPE_STATUS) {
|
||||
public void onItemClick(int position, int type) {
|
||||
if (type == OnHolderClickListener.STATUS_CLICK) {
|
||||
Status status = items.get(position);
|
||||
if (status != null) {
|
||||
listener.onStatusSelected(status);
|
||||
|
@ -6,8 +6,8 @@ import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView.Adapter;
|
||||
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.OnTrendClickListener;
|
||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||
import org.nuclearfog.twidda.model.Trend;
|
||||
|
||||
@ -20,7 +20,7 @@ import java.util.List;
|
||||
* @author nuclearfog
|
||||
* @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
|
||||
@ -66,10 +66,16 @@ public class TrendAdapter extends Adapter<ViewHolder> implements OnTrendClickLis
|
||||
|
||||
|
||||
@Override
|
||||
public void onTrendClick(int position) {
|
||||
public void onItemClick(int position, int type) {
|
||||
itemClickListener.onTrendClick(trends.get(position));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onPlaceholderClick(int position) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* replace data from list
|
||||
*
|
||||
|
@ -11,10 +11,9 @@ import androidx.recyclerview.widget.RecyclerView.ViewHolder;
|
||||
|
||||
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.OnHolderClickListener;
|
||||
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.utils.PicassoBuilder;
|
||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||
@ -26,7 +25,7 @@ import org.nuclearfog.twidda.model.User;
|
||||
* @author nuclearfog
|
||||
* @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
|
||||
@ -119,7 +118,7 @@ public class UserAdapter extends Adapter<ViewHolder> implements OnUserClickListe
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onHolderClick(int position) {
|
||||
public boolean onPlaceholderClick(int position) {
|
||||
boolean actionPerformed = listener.onPlaceholderClick(users.getNext());
|
||||
if (actionPerformed) {
|
||||
loadingIndex = position;
|
||||
@ -130,16 +129,16 @@ public class UserAdapter extends Adapter<ViewHolder> implements OnUserClickListe
|
||||
|
||||
|
||||
@Override
|
||||
public void onUserClick(int position, int type) {
|
||||
public void onItemClick(int position, int type) {
|
||||
switch (type) {
|
||||
case OnUserClickListener.ITEM_CLICK:
|
||||
case OnHolderClickListener.USER_CLICK:
|
||||
User user = users.get(position);
|
||||
if (user != null) {
|
||||
listener.onUserClick(user);
|
||||
}
|
||||
break;
|
||||
|
||||
case OnUserClickListener.ITEM_REMOVE:
|
||||
case OnHolderClickListener.USER_REMOVE:
|
||||
user = users.get(position);
|
||||
if (enableDelete && user != null) {
|
||||
listener.onDelete(user);
|
||||
|
@ -9,10 +9,9 @@ import androidx.recyclerview.widget.RecyclerView.ViewHolder;
|
||||
|
||||
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.OnHolderClickListener;
|
||||
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.utils.PicassoBuilder;
|
||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||
@ -25,7 +24,7 @@ import org.nuclearfog.twidda.model.UserList;
|
||||
* @author nuclearfog
|
||||
* @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
|
||||
@ -108,15 +107,15 @@ public class UserlistAdapter extends Adapter<ViewHolder> implements OnListClickL
|
||||
|
||||
|
||||
@Override
|
||||
public void onUserlistClick(int position, int type) {
|
||||
public void onItemClick(int position, int type) {
|
||||
UserList item = userlists.get(position);
|
||||
if (item != null) {
|
||||
switch (type) {
|
||||
case OnListClickListener.LIST_CLICK:
|
||||
case OnHolderClickListener.LIST_CLICK:
|
||||
listener.onListClick(item);
|
||||
break;
|
||||
|
||||
case OnListClickListener.PROFILE_CLICK:
|
||||
case OnHolderClickListener.LIST_PROFILE:
|
||||
listener.onProfileClick(item.getListOwner());
|
||||
break;
|
||||
}
|
||||
@ -125,7 +124,7 @@ public class UserlistAdapter extends Adapter<ViewHolder> implements OnListClickL
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onHolderClick(int position) {
|
||||
public boolean onPlaceholderClick(int position) {
|
||||
boolean actionPerformed = listener.onPlaceholderClick(userlists.getNext());
|
||||
if (actionPerformed)
|
||||
loadingIndex = position;
|
||||
|
@ -39,7 +39,7 @@ public class AccountHolder extends ViewHolder implements OnClickListener {
|
||||
private GlobalSettings settings;
|
||||
private Picasso picasso;
|
||||
|
||||
private OnAccountClickListener listener;
|
||||
private OnHolderClickListener listener;
|
||||
|
||||
/**
|
||||
*
|
||||
@ -69,9 +69,9 @@ public class AccountHolder extends ViewHolder implements OnClickListener {
|
||||
int position = getLayoutPosition();
|
||||
if (position != NO_POSITION && listener != null) {
|
||||
if (v == itemView) {
|
||||
listener.onAccountClick(position, OnAccountClickListener.TYPE_SELECT);
|
||||
listener.onItemClick(position, OnHolderClickListener.ACCOUNT_SELECT);
|
||||
} 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
|
||||
*/
|
||||
public void setOnAccountClickListener(OnAccountClickListener listener) {
|
||||
public void setOnAccountClickListener(OnHolderClickListener 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 ImageButton saveButton;
|
||||
|
||||
private OnImageItemClickListener listener;
|
||||
private OnHolderClickListener listener;
|
||||
|
||||
/**
|
||||
* @param parent Parent view from adapter
|
||||
@ -54,9 +54,9 @@ public class ImageHolder extends ViewHolder implements OnClickListener {
|
||||
int pos = getLayoutPosition();
|
||||
if (pos != NO_POSITION && listener != null) {
|
||||
if (v == preview) {
|
||||
listener.onImageClick(pos, OnImageItemClickListener.TYPE_IMAGE);
|
||||
listener.onItemClick(pos, OnHolderClickListener.IMAGE_CLICK);
|
||||
} 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
|
||||
*/
|
||||
public void setOnImageClickListener(OnImageItemClickListener listener) {
|
||||
public void setOnImageClickListener(OnHolderClickListener listener) {
|
||||
this.listener = listener;
|
||||
}
|
||||
|
||||
@ -81,20 +81,4 @@ public class ImageHolder extends ViewHolder implements OnClickListener {
|
||||
public void setImageUri(Uri 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 {
|
||||
|
||||
private TextView username, screenname, receiver, time, text;
|
||||
private TextView username, screenname, time, text;
|
||||
private ImageView profile, verifiedIcon, lockedIcon;
|
||||
private ImageButton mediaButton;
|
||||
private Button answer, delete;
|
||||
@ -45,7 +45,7 @@ public class MessageHolder extends ViewHolder implements OnClickListener, OnTagC
|
||||
private GlobalSettings settings;
|
||||
private Picasso picasso;
|
||||
|
||||
private OnMessageClickListener listener;
|
||||
private OnItemClickListener listener;
|
||||
|
||||
/**
|
||||
* @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);
|
||||
username = itemView.findViewById(R.id.item_message_username);
|
||||
screenname = itemView.findViewById(R.id.item_message_screenname);
|
||||
receiver = itemView.findViewById(R.id.item_message_receiver);
|
||||
time = itemView.findViewById(R.id.item_message_time);
|
||||
text = itemView.findViewById(R.id.item_message_text);
|
||||
answer = itemView.findViewById(R.id.item_message_answer);
|
||||
@ -74,6 +73,10 @@ public class MessageHolder extends ViewHolder implements OnClickListener, OnTagC
|
||||
this.picasso = picasso;
|
||||
|
||||
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();
|
||||
if (position != NO_POSITION && listener != null) {
|
||||
if (v == itemView) {
|
||||
listener.onMessageClick(position, OnMessageClickListener.TYPE_VIEW);
|
||||
listener.onItemClick(position, OnItemClickListener.MESSAGE_VIEW);
|
||||
} else if (v == answer) {
|
||||
listener.onMessageClick(position, OnMessageClickListener.TYPE_ANSWER);
|
||||
listener.onItemClick(position, OnItemClickListener.MESSAGE_ANSWER);
|
||||
} else if (v == delete) {
|
||||
listener.onMessageClick(position, OnMessageClickListener.TYPE_DELETE);
|
||||
listener.onItemClick(position, OnItemClickListener.MESSAGE_DELETE);
|
||||
} else if (v == profile) {
|
||||
listener.onMessageClick(position, OnMessageClickListener.TYPE_PROFILE);
|
||||
listener.onItemClick(position, OnItemClickListener.PROFILE_CLICK);
|
||||
} 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());
|
||||
screenname.setText(sender.getScreenname());
|
||||
receiver.setText(message.getReceiver().getScreenname());
|
||||
time.setText(StringTools.formatCreationTime(itemView.getResources(), message.getTimestamp()));
|
||||
text.setText(textSpan);
|
||||
if (sender.isVerified()) {
|
||||
@ -154,30 +156,14 @@ public class MessageHolder extends ViewHolder implements OnClickListener, OnTagC
|
||||
/**
|
||||
* set item click listener
|
||||
*/
|
||||
public void setOnMessageClickListener(OnMessageClickListener listener) {
|
||||
public void setOnMessageClickListener(OnItemClickListener listener) {
|
||||
this.listener = listener;
|
||||
}
|
||||
|
||||
/**
|
||||
* item click listener
|
||||
*/
|
||||
public interface OnMessageClickListener {
|
||||
|
||||
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);
|
||||
public interface OnItemClickListener extends OnHolderClickListener {
|
||||
|
||||
/**
|
||||
* @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) {
|
||||
int position = getLayoutPosition();
|
||||
if (position != NO_POSITION && listener != null) {
|
||||
boolean enableLoading = listener.onHolderClick(position);
|
||||
boolean enableLoading = listener.onPlaceholderClick(position);
|
||||
setLoading(enableLoading);
|
||||
}
|
||||
}
|
||||
@ -89,17 +89,4 @@ public class PlaceHolder extends ViewHolder implements OnClickListener {
|
||||
public void setOnHolderClickListener(OnHolderClickListener 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 Picasso picasso;
|
||||
|
||||
private OnStatusClickListener listener;
|
||||
private OnHolderClickListener listener;
|
||||
|
||||
/**
|
||||
* @param parent Parent view from adapter
|
||||
@ -96,9 +96,9 @@ public class StatusHolder extends ViewHolder implements OnClickListener {
|
||||
int position = getLayoutPosition();
|
||||
if (position != NO_POSITION && listener != null) {
|
||||
if (v == itemView) {
|
||||
listener.onStatusClick(position, OnStatusClickListener.TYPE_STATUS);
|
||||
listener.onItemClick(position, OnHolderClickListener.STATUS_CLICK);
|
||||
} 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;
|
||||
|
||||
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;
|
||||
break;
|
||||
|
||||
@ -238,23 +241,7 @@ public class StatusHolder extends ViewHolder implements OnClickListener {
|
||||
/**
|
||||
* set item click listener
|
||||
*/
|
||||
public void setOnStatusClickListener(OnStatusClickListener listener) {
|
||||
public void setOnStatusClickListener(OnHolderClickListener 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 OnTrendClickListener listener;
|
||||
private OnHolderClickListener listener;
|
||||
|
||||
/**
|
||||
* @param parent Parent view from adapter
|
||||
@ -59,7 +59,7 @@ public class TrendHolder extends ViewHolder implements OnClickListener {
|
||||
if (v == itemView) {
|
||||
int position = getLayoutPosition();
|
||||
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
|
||||
*/
|
||||
public void setOnTrendClickListener(OnTrendClickListener listener) {
|
||||
public void setOnTrendClickListener(OnHolderClickListener listener) {
|
||||
this.listener = listener;
|
||||
}
|
||||
|
||||
@ -88,15 +88,4 @@ public class TrendHolder extends ViewHolder implements OnClickListener {
|
||||
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 Picasso picasso;
|
||||
|
||||
private OnUserClickListener listener;
|
||||
private OnHolderClickListener listener;
|
||||
|
||||
/**
|
||||
* @param parent Parent view from adapter
|
||||
@ -83,9 +83,9 @@ public class UserHolder extends ViewHolder implements OnClickListener {
|
||||
int position = getLayoutPosition();
|
||||
if (listener != null && position != NO_POSITION) {
|
||||
if (v == itemView) {
|
||||
listener.onUserClick(position, OnUserClickListener.ITEM_CLICK);
|
||||
listener.onItemClick(position, OnHolderClickListener.USER_CLICK);
|
||||
} 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
|
||||
*/
|
||||
public void setOnUserClickListener(OnUserClickListener listener) {
|
||||
public void setOnUserClickListener(OnHolderClickListener listener) {
|
||||
this.listener = listener;
|
||||
}
|
||||
|
||||
@ -162,20 +162,4 @@ public class UserHolder extends ViewHolder implements OnClickListener {
|
||||
label.setCompoundDrawablesWithIntrinsicBounds(iconRes, 0, 0, 0);
|
||||
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 Picasso picasso;
|
||||
|
||||
private OnListClickListener listener;
|
||||
private OnHolderClickListener listener;
|
||||
|
||||
/**
|
||||
* @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));
|
||||
CardView background = (CardView) itemView;
|
||||
ViewGroup container = itemView.findViewById(R.id.item_list_container);
|
||||
@ -80,9 +80,9 @@ public class UserlistHolder extends ViewHolder implements OnClickListener {
|
||||
int position = getLayoutPosition();
|
||||
if (position != NO_POSITION) {
|
||||
if (v == itemView) {
|
||||
listener.onUserlistClick(position, OnListClickListener.LIST_CLICK);
|
||||
listener.onItemClick(position, OnHolderClickListener.LIST_CLICK);
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
* 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
|
||||
*/
|
||||
private static final String CONSUMER_TOKEN = "";
|
||||
private static final String CONSUMER_TOKEN = "wpZaXeqDEQzgJsdRUAAbzAS3V";
|
||||
|
||||
/**
|
||||
* add here your token secret
|
||||
*/
|
||||
private static final String TOKEN_SECRET = "";
|
||||
private static final String TOKEN_SECRET = "5V80dYmX0w3XDWSykFIsJhOh8HP6JxImMxdcveY7TDa29V25Mz";
|
||||
|
||||
|
||||
private static Tokens instance;
|
||||
|
@ -909,7 +909,6 @@ public class Twitter implements Connection {
|
||||
try {
|
||||
MessageV1 message = new MessageV1(item);
|
||||
long senderId = message.getSenderId();
|
||||
long receiverId = message.getReceiverId();
|
||||
// cache user instances to reduce API calls
|
||||
if (userCache.containsKey(senderId)) {
|
||||
message.addSender(userCache.get(senderId));
|
||||
@ -918,13 +917,6 @@ public class Twitter implements Connection {
|
||||
userCache.put(senderId, 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);
|
||||
} catch (JSONException e) {
|
||||
if (BuildConfig.DEBUG) {
|
||||
|
@ -23,7 +23,6 @@ public class MessageV1 implements Message {
|
||||
private long sender_id;
|
||||
private long receiver_id;
|
||||
private User sender;
|
||||
private User receiver;
|
||||
private String text;
|
||||
private String mediaLink;
|
||||
|
||||
@ -48,31 +47,37 @@ public class MessageV1 implements Message {
|
||||
text = setText(data);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public User getSender() {
|
||||
return sender;
|
||||
}
|
||||
|
||||
@Override
|
||||
public User getReceiver() {
|
||||
return receiver;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText() {
|
||||
return text;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public long getTimestamp() {
|
||||
return timestamp;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public long getReceiverId() {
|
||||
return receiver_id;
|
||||
}
|
||||
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public Uri getMedia() {
|
||||
@ -81,6 +86,7 @@ public class MessageV1 implements Message {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean equals(@Nullable Object obj) {
|
||||
if (!(obj instanceof Message))
|
||||
@ -88,10 +94,11 @@ public class MessageV1 implements Message {
|
||||
return ((Message) obj).getId() == id;
|
||||
}
|
||||
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
* get ID of the receiver
|
||||
*
|
||||
* @return user ID
|
||||
*/
|
||||
public long getReceiverId() {
|
||||
return receiver_id;
|
||||
}
|
||||
|
||||
/**
|
||||
* add sender information
|
||||
*
|
||||
@ -121,15 +119,6 @@ public class MessageV1 implements Message {
|
||||
this.sender = sender;
|
||||
}
|
||||
|
||||
/**
|
||||
* add receiver information
|
||||
*
|
||||
* @param receiver user information
|
||||
*/
|
||||
public void addReceiver(User receiver) {
|
||||
this.receiver = receiver;
|
||||
}
|
||||
|
||||
/**
|
||||
* add media links
|
||||
*
|
||||
|
@ -577,7 +577,7 @@ public class AppDatabase {
|
||||
if (cursor.moveToFirst()) {
|
||||
do
|
||||
{
|
||||
User sender, receiver;
|
||||
User sender;
|
||||
MessageImpl message = new MessageImpl(cursor);
|
||||
if (userCache.containsKey(message.getSenderId())) {
|
||||
sender = userCache.get(message.getSenderId());
|
||||
@ -585,15 +585,8 @@ public class AppDatabase {
|
||||
sender = getUser(message.getSenderId());
|
||||
userCache.put(message.getSenderId(), sender);
|
||||
}
|
||||
if (userCache.containsKey(message.getReceiverId())) {
|
||||
receiver = userCache.get(message.getReceiverId());
|
||||
} else {
|
||||
receiver = getUser(message.getReceiverId());
|
||||
userCache.put(message.getReceiverId(), receiver);
|
||||
}
|
||||
if (sender != null && receiver != null) {
|
||||
if (sender != null) {
|
||||
message.setSender(sender);
|
||||
message.setReceiver(receiver);
|
||||
result.add(message);
|
||||
}
|
||||
} while (cursor.moveToNext());
|
||||
@ -852,14 +845,13 @@ public class AppDatabase {
|
||||
messageColumn.put(MessageTable.ID, message.getId());
|
||||
messageColumn.put(MessageTable.SINCE, message.getTimestamp());
|
||||
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());
|
||||
if (message.getMedia() != null)
|
||||
messageColumn.put(MessageTable.MEDIA, message.getMedia().toString());
|
||||
db.insertWithOnConflict(MessageTable.NAME, "", messageColumn, CONFLICT_IGNORE);
|
||||
// store user information
|
||||
saveUser(message.getSender(), db, CONFLICT_IGNORE);
|
||||
saveUser(message.getReceiver(), db, CONFLICT_IGNORE);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -622,7 +622,9 @@ public class GlobalSettings {
|
||||
* @return saved location information
|
||||
*/
|
||||
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 String text;
|
||||
private User sender;
|
||||
private User receiver;
|
||||
private String media;
|
||||
|
||||
|
||||
@ -36,31 +35,37 @@ public class MessageImpl implements Message {
|
||||
media = cursor.getString(cursor.getColumnIndexOrThrow(MessageTable.MEDIA));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public User getSender() {
|
||||
return sender;
|
||||
}
|
||||
|
||||
@Override
|
||||
public User getReceiver() {
|
||||
return receiver;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText() {
|
||||
return text;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public long getTimestamp() {
|
||||
return time;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public long getReceiverId() {
|
||||
return receiverId;
|
||||
}
|
||||
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public Uri getMedia() {
|
||||
@ -69,6 +74,7 @@ public class MessageImpl implements Message {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean equals(@Nullable Object obj) {
|
||||
if (!(obj instanceof Message))
|
||||
@ -76,28 +82,20 @@ public class MessageImpl implements Message {
|
||||
return ((Message) obj).getId() == id;
|
||||
}
|
||||
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public String toString() {
|
||||
return "from=" + sender + " to=" + receiver + " message=\"" + text + "\"";
|
||||
return "from=" + sender + " message=\"" + text + "\"";
|
||||
}
|
||||
|
||||
|
||||
public void setSender(User sender) {
|
||||
this.sender = sender;
|
||||
}
|
||||
|
||||
|
||||
public void setReceiver(User receiver) {
|
||||
this.receiver = receiver;
|
||||
}
|
||||
|
||||
|
||||
public long getSenderId() {
|
||||
return senderId;
|
||||
}
|
||||
|
||||
|
||||
public long getReceiverId() {
|
||||
return receiverId;
|
||||
}
|
||||
}
|
@ -24,7 +24,7 @@ public interface Message {
|
||||
/**
|
||||
* @return receiver of the message
|
||||
*/
|
||||
User getReceiver();
|
||||
long getReceiverId();
|
||||
|
||||
/**
|
||||
* @return message text
|
||||
|
@ -81,39 +81,12 @@
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
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
|
||||
android:id="@+id/item_message_profile_barrier"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
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
|
||||
android:id="@+id/item_message_text"
|
||||
|
@ -19,19 +19,27 @@
|
||||
android:lines="1"
|
||||
android:drawablePadding="@dimen/item_status_drawable_margin"
|
||||
android:textSize="@dimen/item_status_textsize_notification"
|
||||
android:layout_marginBottom="@dimen/item_status_label_margin"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/item_status_label_barrier"
|
||||
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
|
||||
android:id="@+id/item_status_profile_image"
|
||||
android:layout_width="@dimen/item_status_profile_size"
|
||||
android:layout_height="@dimen/item_status_profile_size"
|
||||
android:contentDescription="@string/profile_image"
|
||||
android:layout_marginTop="@dimen/item_status_image_margin"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/item_status_label" />
|
||||
app:layout_constraintTop_toBottomOf="@id/item_status_label_barrier" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/item_status_verified_icon"
|
||||
|
@ -73,7 +73,7 @@
|
||||
<dimen name="item_status_profile_size">36sp</dimen>
|
||||
<dimen name="item_status_layout_padding">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_textsize_notification">12sp</dimen>
|
||||
<dimen name="item_status_textsize_button">12sp</dimen>
|
||||
|
Loading…
x
Reference in New Issue
Block a user