Show "No item available" on announcement and assignment
This commit is contained in:
@@ -21,8 +21,9 @@ import de.sebse.fuplanner.tools.Regex;
|
||||
import de.sebse.fuplanner.tools.UtilsDate;
|
||||
import de.sebse.fuplanner.tools.logging.Logger;
|
||||
import de.sebse.fuplanner.tools.ui.AnnouncementViewHolder;
|
||||
import de.sebse.fuplanner.tools.ui.CustomViewHolder;
|
||||
|
||||
class ModDetailAnnounceAdapter extends RecyclerView.Adapter<AnnouncementViewHolder> {
|
||||
class ModDetailAnnounceAdapter extends RecyclerView.Adapter<CustomViewHolder> {
|
||||
|
||||
@Nullable private Modules.Module mModule = null;
|
||||
private Logger log = new Logger(this);
|
||||
@@ -37,62 +38,74 @@ class ModDetailAnnounceAdapter extends RecyclerView.Adapter<AnnouncementViewHold
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public AnnouncementViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
|
||||
View view = LayoutInflater.from(viewGroup.getContext())
|
||||
.inflate(R.layout.list_announcement_items, viewGroup, false);
|
||||
return new AnnouncementViewHolder(view);
|
||||
public CustomViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
|
||||
if (viewType == 0) {
|
||||
View view = LayoutInflater.from(viewGroup.getContext())
|
||||
.inflate(R.layout.list_announcement_items, viewGroup, false);
|
||||
return new AnnouncementViewHolder(view);
|
||||
} else {
|
||||
View view = LayoutInflater.from(viewGroup.getContext())
|
||||
.inflate(R.layout.list_all_no_items, viewGroup, false);
|
||||
return new CustomViewHolder(view);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull AnnouncementViewHolder holder, int position) {
|
||||
holder.reset();
|
||||
Announcement item = getAnnouncement(position);
|
||||
holder.mTitle.setText(item.getTitle());
|
||||
holder.mSubTitle.setText(UtilsDate.getModifiedDateTime(holder.mView.getContext(), item.getCreatedOn()));
|
||||
public void onBindViewHolder(@NonNull CustomViewHolder customHolder, int position) {
|
||||
if (customHolder instanceof AnnouncementViewHolder) {
|
||||
AnnouncementViewHolder holder = (AnnouncementViewHolder) customHolder;
|
||||
holder.reset();
|
||||
Announcement item = getAnnouncement(position);
|
||||
holder.mTitle.setText(item.getTitle());
|
||||
holder.mSubTitle.setText(UtilsDate.getModifiedDateTime(holder.mView.getContext(), item.getCreatedOn()));
|
||||
|
||||
List<String> notes = item.getUrls();
|
||||
if (!notes.isEmpty()) {
|
||||
holder.mTagGroup.setVisibility(View.VISIBLE);
|
||||
for (int i = 0, notesSize = notes.size(); i < notesSize; i++) {
|
||||
String name;
|
||||
try {
|
||||
name = URLDecoder.decode(Regex.regex("/([^/]*)$", notes.get(i)), "UTF-8");
|
||||
} catch (NoSuchFieldException e) {
|
||||
e.printStackTrace();
|
||||
name = holder.mView.getResources().getString(R.string.attachment_nr, i);
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
name = holder.mView.getResources().getString(R.string.attachment_nr, i);
|
||||
List<String> notes = item.getUrls();
|
||||
if (!notes.isEmpty()) {
|
||||
holder.mTagGroup.setVisibility(View.VISIBLE);
|
||||
for (int i = 0, notesSize = notes.size(); i < notesSize; i++) {
|
||||
String name;
|
||||
try {
|
||||
name = URLDecoder.decode(Regex.regex("/([^/]*)$", notes.get(i)), "UTF-8");
|
||||
} catch (NoSuchFieldException e) {
|
||||
e.printStackTrace();
|
||||
name = holder.mView.getResources().getString(R.string.attachment_nr, i);
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
name = holder.mView.getResources().getString(R.string.attachment_nr, i);
|
||||
}
|
||||
Tag tag = new Tag(name);
|
||||
tag.id = i;
|
||||
tag.layoutColor = ContextCompat.getColor(holder.mView.getContext(), R.color.colorFUBlue);
|
||||
holder.mTagGroup.addTag(tag);
|
||||
log.d(notes.get(i));
|
||||
}
|
||||
Tag tag = new Tag(name);
|
||||
tag.id = i;
|
||||
tag.layoutColor = ContextCompat.getColor(holder.mView.getContext(), R.color.colorFUBlue);
|
||||
holder.mTagGroup.addTag(tag);
|
||||
log.d(notes.get(i));
|
||||
holder.mTagGroup.setOnTagClickListener((tag, i) -> {
|
||||
String s = notes.get(i);
|
||||
if (s != null) {
|
||||
log.d("Download", s);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
holder.mTagGroup.setVisibility(View.GONE);
|
||||
}
|
||||
holder.mTagGroup.setOnTagClickListener((tag, i) -> {
|
||||
String s = notes.get(i);
|
||||
if (s != null) {
|
||||
log.d("Download", s);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
holder.mTagGroup.setVisibility(View.GONE);
|
||||
holder.mNotes.setText(item.getBody());
|
||||
}
|
||||
holder.mNotes.setText(item.getBody());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
if (mModule != null && mModule.announcements != null)
|
||||
return mModule.announcements.size();
|
||||
return Math.max(mModule.announcements.size(), 1);
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemViewType(int position) {
|
||||
return 0;
|
||||
if (mModule != null && mModule.announcements != null && mModule.announcements.size() == 0)
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
private Announcement getAnnouncement(int index) {
|
||||
|
||||
@@ -21,8 +21,9 @@ import de.sebse.fuplanner.tools.Regex;
|
||||
import de.sebse.fuplanner.tools.UtilsDate;
|
||||
import de.sebse.fuplanner.tools.logging.Logger;
|
||||
import de.sebse.fuplanner.tools.ui.AnnouncementViewHolder;
|
||||
import de.sebse.fuplanner.tools.ui.CustomViewHolder;
|
||||
|
||||
class ModDetailAssignmentAdapter extends RecyclerView.Adapter<AnnouncementViewHolder> {
|
||||
class ModDetailAssignmentAdapter extends RecyclerView.Adapter<CustomViewHolder> {
|
||||
|
||||
@Nullable private Modules.Module mModule = null;
|
||||
private Logger log = new Logger(this);
|
||||
@@ -37,62 +38,74 @@ class ModDetailAssignmentAdapter extends RecyclerView.Adapter<AnnouncementViewHo
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public AnnouncementViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
|
||||
View view = LayoutInflater.from(viewGroup.getContext())
|
||||
.inflate(R.layout.list_announcement_items, viewGroup, false);
|
||||
return new AnnouncementViewHolder(view);
|
||||
public CustomViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
|
||||
if (viewType == 0) {
|
||||
View view = LayoutInflater.from(viewGroup.getContext())
|
||||
.inflate(R.layout.list_announcement_items, viewGroup, false);
|
||||
return new AnnouncementViewHolder(view);
|
||||
} else {
|
||||
View view = LayoutInflater.from(viewGroup.getContext())
|
||||
.inflate(R.layout.list_all_no_items, viewGroup, false);
|
||||
return new CustomViewHolder(view);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull AnnouncementViewHolder holder, int position) {
|
||||
holder.reset();
|
||||
Assignment item = getAssignment(position);
|
||||
holder.mTitle.setText(item.getTitle());
|
||||
holder.mSubTitle.setText(UtilsDate.getModifiedDateTime(holder.mView.getContext(), item.getDueDate()));
|
||||
public void onBindViewHolder(@NonNull CustomViewHolder customHolder, int position) {
|
||||
if (customHolder instanceof AnnouncementViewHolder) {
|
||||
AnnouncementViewHolder holder = (AnnouncementViewHolder) customHolder;
|
||||
holder.reset();
|
||||
Assignment item = getAssignment(position);
|
||||
holder.mTitle.setText(item.getTitle());
|
||||
holder.mSubTitle.setText(UtilsDate.getModifiedDateTime(holder.mView.getContext(), item.getDueDate()));
|
||||
|
||||
List<String> notes = item.getUrls();
|
||||
if (!notes.isEmpty()) {
|
||||
holder.mTagGroup.setVisibility(View.VISIBLE);
|
||||
for (int i = 0, notesSize = notes.size(); i < notesSize; i++) {
|
||||
String name;
|
||||
try {
|
||||
name = URLDecoder.decode(Regex.regex("/([^/]*)$", notes.get(i)), "UTF-8");
|
||||
} catch (NoSuchFieldException e) {
|
||||
e.printStackTrace();
|
||||
name = holder.mView.getResources().getString(R.string.attachment_nr, i);
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
name = holder.mView.getResources().getString(R.string.attachment_nr, i);
|
||||
List<String> notes = item.getUrls();
|
||||
if (!notes.isEmpty()) {
|
||||
holder.mTagGroup.setVisibility(View.VISIBLE);
|
||||
for (int i = 0, notesSize = notes.size(); i < notesSize; i++) {
|
||||
String name;
|
||||
try {
|
||||
name = URLDecoder.decode(Regex.regex("/([^/]*)$", notes.get(i)), "UTF-8");
|
||||
} catch (NoSuchFieldException e) {
|
||||
e.printStackTrace();
|
||||
name = holder.mView.getResources().getString(R.string.attachment_nr, i);
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
name = holder.mView.getResources().getString(R.string.attachment_nr, i);
|
||||
}
|
||||
Tag tag = new Tag(name);
|
||||
tag.id = i;
|
||||
tag.layoutColor = ContextCompat.getColor(holder.mView.getContext(), R.color.colorFUBlue);
|
||||
holder.mTagGroup.addTag(tag);
|
||||
log.d(notes.get(i));
|
||||
}
|
||||
Tag tag = new Tag(name);
|
||||
tag.id = i;
|
||||
tag.layoutColor = ContextCompat.getColor(holder.mView.getContext(), R.color.colorFUBlue);
|
||||
holder.mTagGroup.addTag(tag);
|
||||
log.d(notes.get(i));
|
||||
holder.mTagGroup.setOnTagClickListener((tag, i) -> {
|
||||
String s = notes.get(i);
|
||||
if (s != null) {
|
||||
log.d("Download", s);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
holder.mTagGroup.setVisibility(View.GONE);
|
||||
}
|
||||
holder.mTagGroup.setOnTagClickListener((tag, i) -> {
|
||||
String s = notes.get(i);
|
||||
if (s != null) {
|
||||
log.d("Download", s);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
holder.mTagGroup.setVisibility(View.GONE);
|
||||
holder.mNotes.setText(item.getInstructions());
|
||||
}
|
||||
holder.mNotes.setText(item.getInstructions());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
if (mModule != null && mModule.assignments != null)
|
||||
return mModule.assignments.size();
|
||||
return Math.max(mModule.assignments.size(), 1);
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemViewType(int position) {
|
||||
return 0;
|
||||
if (mModule != null && mModule.assignments != null && mModule.assignments.size() == 0)
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
private Assignment getAssignment(int index) {
|
||||
|
||||
Reference in New Issue
Block a user