diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAnnounceAdapter.java b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAnnounceAdapter.java index 5f69bcf..1d596f8 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAnnounceAdapter.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAnnounceAdapter.java @@ -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 { +class ModDetailAnnounceAdapter extends RecyclerView.Adapter { @Nullable private Modules.Module mModule = null; private Logger log = new Logger(this); @@ -37,62 +38,74 @@ class ModDetailAnnounceAdapter extends RecyclerView.Adapter 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 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) { diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAssignmentAdapter.java b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAssignmentAdapter.java index de66222..9311a8a 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAssignmentAdapter.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAssignmentAdapter.java @@ -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 { +class ModDetailAssignmentAdapter extends RecyclerView.Adapter { @Nullable private Modules.Module mModule = null; private Logger log = new Logger(this); @@ -37,62 +38,74 @@ class ModDetailAssignmentAdapter extends RecyclerView.Adapter 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 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) {