Merge remote-tracking branch 'origin/master'

This commit is contained in:
Joshua
2018-06-12 18:35:30 +02:00
5 changed files with 39 additions and 52 deletions

View File

@@ -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() + "'";
}
}
} }

View File

@@ -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() + "'";
}
}
} }

View File

@@ -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;

View File

@@ -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() + "'";
}
}