Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -2,22 +2,21 @@ package de.sebse.fuplanner.fragments;
|
|||||||
|
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
import android.util.Log;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.TextView;
|
|
||||||
|
|
||||||
import de.sebse.fuplanner.R;
|
import de.sebse.fuplanner.R;
|
||||||
import de.sebse.fuplanner.fragments.ModulesFragment.OnModulesFragmentInteractionListener;
|
import de.sebse.fuplanner.fragments.ModulesFragment.OnModulesFragmentInteractionListener;
|
||||||
import de.sebse.fuplanner.services.KVV.Modules;
|
import de.sebse.fuplanner.services.KVV.Modules;
|
||||||
|
import de.sebse.fuplanner.tools.ui.ItemViewHolder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link RecyclerView.Adapter} that can display a {@link Modules.Module} and makes a call to the
|
* {@link RecyclerView.Adapter} that can display a {@link Modules.Module} and makes a call to the
|
||||||
* specified {@link OnModulesFragmentInteractionListener}.
|
* specified {@link OnModulesFragmentInteractionListener}.
|
||||||
* TODO: Replace the implementation with code for your data type.
|
* TODO: Replace the implementation with code for your data type.
|
||||||
*/
|
*/
|
||||||
public class ModulesRecyclerViewAdapter extends RecyclerView.Adapter<ModulesRecyclerViewAdapter.ViewHolder> {
|
public class ModulesRecyclerViewAdapter extends RecyclerView.Adapter<ItemViewHolder> {
|
||||||
|
|
||||||
private Modules mValues;
|
private Modules mValues;
|
||||||
private final OnModulesFragmentInteractionListener mListener;
|
private final OnModulesFragmentInteractionListener mListener;
|
||||||
@@ -34,26 +33,26 @@ public class ModulesRecyclerViewAdapter extends RecyclerView.Adapter<ModulesRecy
|
|||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||||
View view = LayoutInflater.from(parent.getContext())
|
View view = LayoutInflater.from(parent.getContext())
|
||||||
.inflate(R.layout.fragment_modules, parent, false);
|
.inflate(R.layout.list_all_items, parent, false);
|
||||||
return new ViewHolder(view);
|
return new ItemViewHolder(view);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
|
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
|
||||||
if (mValues == null)
|
if (mValues == null)
|
||||||
return;
|
return;
|
||||||
position = holder.getAdapterPosition();
|
final int finalPosition = holder.getAdapterPosition();
|
||||||
holder.mItemPosition = position;
|
holder.mTitle.setText(mValues.get(finalPosition).title);
|
||||||
holder.mIdView.setText(mValues.get(position).semester);
|
holder.mSubLeft.setText(mValues.get(finalPosition).semester);
|
||||||
holder.mContentView.setText(mValues.get(position).title);
|
holder.mSubRight.setText(mValues.get(finalPosition).type);
|
||||||
|
|
||||||
holder.mView.setOnClickListener(v -> {
|
holder.mView.setOnClickListener(v -> {
|
||||||
if (null != mListener) {
|
if (null != mListener) {
|
||||||
// Notify the active callbacks interface (the activity, if the
|
// Notify the active callbacks interface (the activity, if the
|
||||||
// fragment is attached to one) that an item has been selected.
|
// fragment is attached to one) that an item has been selected.
|
||||||
mListener.onModulesFragmentInteraction(holder.mItemPosition);
|
mListener.onModulesFragmentInteraction(finalPosition);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -61,29 +60,8 @@ public class ModulesRecyclerViewAdapter extends RecyclerView.Adapter<ModulesRecy
|
|||||||
@Override
|
@Override
|
||||||
public int getItemCount() {
|
public int getItemCount() {
|
||||||
if (mValues != null) {
|
if (mValues != null) {
|
||||||
Log.d("Recycler", String.valueOf(mValues.size()));
|
|
||||||
return mValues.size();
|
return mValues.size();
|
||||||
}
|
}
|
||||||
Log.d("Recycler", "0");
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ViewHolder extends RecyclerView.ViewHolder {
|
|
||||||
public final View mView;
|
|
||||||
public final TextView mIdView;
|
|
||||||
public final TextView mContentView;
|
|
||||||
public int mItemPosition;
|
|
||||||
|
|
||||||
public ViewHolder(View view) {
|
|
||||||
super(view);
|
|
||||||
mView = view;
|
|
||||||
mIdView = view.findViewById(R.id.id);
|
|
||||||
mContentView = view.findViewById(R.id.content);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return super.toString() + " '" + mContentView.getText() + "'";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import de.sebse.fuplanner.services.KVV.Modules;
|
|||||||
import de.sebse.fuplanner.tools.Conversion;
|
import de.sebse.fuplanner.tools.Conversion;
|
||||||
import de.sebse.fuplanner.tools.logging.Logger;
|
import de.sebse.fuplanner.tools.logging.Logger;
|
||||||
import de.sebse.fuplanner.tools.ui.CustomViewHolder;
|
import de.sebse.fuplanner.tools.ui.CustomViewHolder;
|
||||||
|
import de.sebse.fuplanner.tools.ui.ItemViewHolder;
|
||||||
|
|
||||||
public class ModDetailOverviewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
public class ModDetailOverviewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||||
private static final int MAX_ITEMS_PER_PREVIEW = 2;
|
private static final int MAX_ITEMS_PER_PREVIEW = 2;
|
||||||
@@ -86,7 +87,7 @@ public class ModDetailOverviewAdapter extends RecyclerView.Adapter<RecyclerView.
|
|||||||
return new DescriptionViewHolder(view);
|
return new DescriptionViewHolder(view);
|
||||||
case TYPE_ITEM:
|
case TYPE_ITEM:
|
||||||
view = LayoutInflater.from(parent.getContext())
|
view = LayoutInflater.from(parent.getContext())
|
||||||
.inflate(R.layout.list_moddetails_announcements, parent, false);
|
.inflate(R.layout.list_all_items, parent, false);
|
||||||
return new ItemViewHolder(view);
|
return new ItemViewHolder(view);
|
||||||
case TYPE_SHOW_MORE:
|
case TYPE_SHOW_MORE:
|
||||||
view = LayoutInflater.from(parent.getContext())
|
view = LayoutInflater.from(parent.getContext())
|
||||||
@@ -238,21 +239,4 @@ public class ModDetailOverviewAdapter extends RecyclerView.Adapter<RecyclerView.
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public class ItemViewHolder extends CustomViewHolder {
|
|
||||||
final TextView mTitle;
|
|
||||||
final TextView mSubLeft;
|
|
||||||
final TextView mSubRight;
|
|
||||||
|
|
||||||
ItemViewHolder(View view) {
|
|
||||||
super(view);
|
|
||||||
mTitle = view.findViewById(R.id.title);
|
|
||||||
mSubLeft = view.findViewById(R.id.sub_left);
|
|
||||||
mSubRight = view.findViewById(R.id.sub_right);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return super.toString() + " '" + mTitle.getText() + "' '" + mSubLeft.getText() + "' '" + mSubRight.getText() + "'";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -202,8 +202,9 @@ public class Modules /*extends EventEmitter<Triplet<Integer, Modules.UpgradeModu
|
|||||||
}*/
|
}*/
|
||||||
|
|
||||||
private Module(String semester, HashSet<String> lvNumber, String title, HashSet<Lecturer> lecturer, String type, String description, String ID) {
|
private Module(String semester, HashSet<String> lvNumber, String title, HashSet<Lecturer> lecturer, String type, String description, String ID) {
|
||||||
semester = semester.replace("Sommersemester", "SS").replace("Wintersemester", "WS");
|
semester = semester.replace("SS", "S");
|
||||||
semester = semester.replaceAll("[0-9]{2}([0-9]{2})", "$1");
|
semester = semester.replaceAll("[0-9]{2}([0-9]{2})", "$1");
|
||||||
|
title = title.replaceAll("(.*?) (S[0-9]{2}|W[0-9/]{5})", "$1");
|
||||||
|
|
||||||
this.semester = semester;
|
this.semester = semester;
|
||||||
this.lvNumber = lvNumber;
|
this.lvNumber = lvNumber;
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package de.sebse.fuplanner.tools.ui;
|
||||||
|
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import de.sebse.fuplanner.R;
|
||||||
|
|
||||||
|
public class ItemViewHolder extends CustomViewHolder {
|
||||||
|
public final TextView mTitle;
|
||||||
|
public final TextView mSubLeft;
|
||||||
|
public final TextView mSubRight;
|
||||||
|
|
||||||
|
public ItemViewHolder(View view) {
|
||||||
|
super(view);
|
||||||
|
mTitle = view.findViewById(R.id.title);
|
||||||
|
mSubLeft = view.findViewById(R.id.sub_left);
|
||||||
|
mSubRight = view.findViewById(R.id.sub_right);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return super.toString() + " '" + mTitle.getText() + "' '" + mSubLeft.getText() + "' '" + mSubRight.getText() + "'";
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user