Browse Source

Prevent NumberFormatException crash

pull/63/head
Ezerous 5 years ago
parent
commit
813544ec14
  1. 9
      app/src/main/java/gr/thmmy/mthmmy/activities/main/recent/RecentAdapter.java
  2. 25
      app/src/main/java/gr/thmmy/mthmmy/activities/main/unread/UnreadAdapter.java

9
app/src/main/java/gr/thmmy/mthmmy/activities/main/recent/RecentAdapter.java

@ -15,6 +15,7 @@ import gr.thmmy.mthmmy.base.BaseApplication;
import gr.thmmy.mthmmy.base.BaseFragment; import gr.thmmy.mthmmy.base.BaseFragment;
import gr.thmmy.mthmmy.model.TopicSummary; import gr.thmmy.mthmmy.model.TopicSummary;
import gr.thmmy.mthmmy.utils.RelativeTimeTextView; import gr.thmmy.mthmmy.utils.RelativeTimeTextView;
import timber.log.Timber;
/** /**
@ -45,7 +46,13 @@ class RecentAdapter extends RecyclerView.Adapter<RecentAdapter.ViewHolder> {
String dateTimeString = recentList.get(position).getDateTimeModified(); String dateTimeString = recentList.get(position).getDateTimeModified();
if(BaseApplication.getInstance().isDisplayRelativeTimeEnabled()) if(BaseApplication.getInstance().isDisplayRelativeTimeEnabled())
holder.mDateTimeView.setReferenceTime(Long.valueOf(dateTimeString)); try{
holder.mDateTimeView.setReferenceTime(Long.valueOf(dateTimeString));
}
catch(NumberFormatException e){
Timber.e(e, "Invalid number format.");
holder.mDateTimeView.setText(dateTimeString);
}
else else
holder.mDateTimeView.setText(dateTimeString); holder.mDateTimeView.setText(dateTimeString);

25
app/src/main/java/gr/thmmy/mthmmy/activities/main/unread/UnreadAdapter.java

@ -15,6 +15,7 @@ import gr.thmmy.mthmmy.base.BaseApplication;
import gr.thmmy.mthmmy.base.BaseFragment; import gr.thmmy.mthmmy.base.BaseFragment;
import gr.thmmy.mthmmy.model.TopicSummary; import gr.thmmy.mthmmy.model.TopicSummary;
import gr.thmmy.mthmmy.utils.RelativeTimeTextView; import gr.thmmy.mthmmy.utils.RelativeTimeTextView;
import timber.log.Timber;
class UnreadAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { class UnreadAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private final List<TopicSummary> unreadList; private final List<TopicSummary> unreadList;
@ -69,8 +70,15 @@ class UnreadAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
viewHolder.mTitleView.setText(unreadList.get(holder.getAdapterPosition()).getSubject()); viewHolder.mTitleView.setText(unreadList.get(holder.getAdapterPosition()).getSubject());
String dateTimeString=unreadList.get(holder.getAdapterPosition()).getDateTimeModified(); String dateTimeString=unreadList.get(holder.getAdapterPosition()).getDateTimeModified();
if(BaseApplication.getInstance().isDisplayRelativeTimeEnabled()) if(BaseApplication.getInstance().isDisplayRelativeTimeEnabled()){
viewHolder.mDateTimeView.setReferenceTime(Long.valueOf(dateTimeString)); try{
viewHolder.mDateTimeView.setReferenceTime(Long.valueOf(dateTimeString));
}
catch(NumberFormatException e){
Timber.e(e, "Invalid number format.");
viewHolder.mDateTimeView.setText(dateTimeString);
}
}
else else
viewHolder.mDateTimeView.setText(dateTimeString); viewHolder.mDateTimeView.setText(dateTimeString);
@ -89,14 +97,11 @@ class UnreadAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
markReadViewHolder.text.setText(unreadList.get(holder.getAdapterPosition()).getSubject()); markReadViewHolder.text.setText(unreadList.get(holder.getAdapterPosition()).getSubject());
markReadViewHolder.topic = unreadList.get(holder.getAdapterPosition()); markReadViewHolder.topic = unreadList.get(holder.getAdapterPosition());
markReadViewHolder.mView.setOnClickListener(new View.OnClickListener() { markReadViewHolder.mView.setOnClickListener(v -> {
@Override if (null != mListener) {
public void onClick(View v) { // Notify the active callbacks interface (the activity, if the
if (null != mListener) { // fragment is attached to one) that an item has been selected.
// Notify the active callbacks interface (the activity, if the markReadListener.onMarkReadInteraction(unreadList.get(holder.getAdapterPosition()).getTopicUrl());
// fragment is attached to one) that an item has been selected.
markReadListener.onMarkReadInteraction(unreadList.get(holder.getAdapterPosition()).getTopicUrl());
}
} }
}); });
} }

Loading…
Cancel
Save