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 2404ace..e81def0 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 @@ -6,103 +6,25 @@ import android.view.ViewGroup; import android.widget.BaseExpandableListAdapter; import java.util.ArrayList; +import java.util.List; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; import de.sebse.fuplanner.R; import de.sebse.fuplanner.services.KVV.types.Announcement; +import de.sebse.fuplanner.services.KVV.types.Assignment; import de.sebse.fuplanner.services.KVV.types.Modules; +import de.sebse.fuplanner.tools.Preferences; import de.sebse.fuplanner.tools.UtilsDate; +import de.sebse.fuplanner.tools.ui.AnnouncementViewHolder; import de.sebse.fuplanner.tools.ui.ItemViewHolder; +import de.sebse.fuplanner.tools.ui.MealViewHolder; import de.sebse.fuplanner.tools.ui.StringViewHolder; -class ModDetailAnnounceAdapter extends BaseExpandableListAdapter { +class ModDetailAnnounceAdapter extends RecyclerView.Adapter { - private Modules.Module mModule = null; - - @Override - public String getChild(int groupPosition, int childPosition) { - StringBuilder s = new StringBuilder(this.getGroup(groupPosition).getBody()); - ArrayList urls = this.getGroup(groupPosition).getUrls(); - for (int j =0; j notes = item.getUrls(); + for (int i1 = 0, notesSize = notes.size(); i1 < notesSize; i1++) { + if (i1 != 0) + string.append("\n"); + String s = notes.get(i1); + string.append(" - ").append(s); + } + holder.mNotes.setText(string.toString()); + } + + @Override + public int getItemCount() { + if (mModule != null && mModule.announcements != null) + return mModule.announcements.size(); + else + return 0; + } + + @Override + public int getItemViewType(int position) { + return 0; + } + + private Announcement getAnnouncement(int index) { + if (mModule != null && mModule.announcements != null) + return mModule.announcements.get(index); + else + return null; + } } \ No newline at end of file diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAnnounceFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAnnounceFragment.java index 95e5b05..492ba02 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAnnounceFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAnnounceFragment.java @@ -9,6 +9,7 @@ import android.widget.ExpandableListView; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.RecyclerView; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import de.sebse.fuplanner.MainActivity; import de.sebse.fuplanner.R; @@ -61,9 +62,9 @@ public class ModDetailAnnounceFragment extends Fragment { public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment - View view = inflater.inflate(R.layout.fragment_expandable_list_view, container, false); + View view = inflater.inflate(R.layout.fragment_recycler_view, container, false); // Set the adapter - ExpandableListView expandableListView = view.findViewById(R.id.list); + RecyclerView expandableListView = view.findViewById(R.id.list); adapter = new ModDetailAnnounceAdapter(); expandableListView.setAdapter(adapter); diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVV.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVV.java index 892ecac..809ba2b 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVV.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVV.java @@ -11,7 +11,6 @@ import androidx.annotation.NonNull; import de.sebse.fuplanner.services.KVV.types.LoginToken; import de.sebse.fuplanner.services.KVV.types.Modules; import de.sebse.fuplanner.tools.MainActivityListener; -import de.sebse.fuplanner.tools.logging.Logger; import de.sebse.fuplanner.tools.network.NetworkCallback; import de.sebse.fuplanner.tools.network.NetworkErrorCallback; @@ -26,7 +25,6 @@ public class KVV { private final ArrayList updatingList; private final HashMap addons = new HashMap<>(); private final MainActivityListener mListener; - private Logger log = new Logger(this); public KVV(Context context) { mListener = (MainActivityListener) context; @@ -35,7 +33,6 @@ public class KVV { } public boolean isLoggedIn() { - log.d(this.lastToken, new KVVLogin(this.context).easyLogin()); return this.lastToken != null; } diff --git a/app/src/main/java/de/sebse/fuplanner/tools/ui/AnnouncementViewHolder.java b/app/src/main/java/de/sebse/fuplanner/tools/ui/AnnouncementViewHolder.java new file mode 100644 index 0000000..f6216fa --- /dev/null +++ b/app/src/main/java/de/sebse/fuplanner/tools/ui/AnnouncementViewHolder.java @@ -0,0 +1,28 @@ +package de.sebse.fuplanner.tools.ui; + +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; + +import de.sebse.fuplanner.R; + +public class AnnouncementViewHolder extends ExpandableCardViewHolder { + public final TextView mTitle; + public final TextView mSubTitle; + public final TextView mNotes; + + + public AnnouncementViewHolder(View view) { + super(view); + View outerView = getOuterView(); + View innerView = getInnerView(); + mTitle = outerView.findViewById(R.id.title); + mSubTitle = outerView.findViewById(R.id.sub_title); + mNotes = innerView.findViewById(R.id.notes); + } + + @Override + public String toString() { + return super.toString() + " '" + mTitle.getText() + "' '" + mSubTitle.getText() + "'"; + } +} diff --git a/app/src/main/res/layout/list_announcement_body.xml b/app/src/main/res/layout/list_announcement_body.xml new file mode 100644 index 0000000..06d0f1d --- /dev/null +++ b/app/src/main/res/layout/list_announcement_body.xml @@ -0,0 +1,11 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/list_announcement_header.xml b/app/src/main/res/layout/list_announcement_header.xml new file mode 100644 index 0000000..17e5008 --- /dev/null +++ b/app/src/main/res/layout/list_announcement_header.xml @@ -0,0 +1,18 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/list_announcement_items.xml b/app/src/main/res/layout/list_announcement_items.xml new file mode 100644 index 0000000..d5e98f3 --- /dev/null +++ b/app/src/main/res/layout/list_announcement_items.xml @@ -0,0 +1,15 @@ + + + \ No newline at end of file