From 7a1b6b66d72fbee2b8a9905d7551431867ae8c58 Mon Sep 17 00:00:00 2001 From: Caesar2011 Date: Wed, 16 May 2018 23:43:47 +0200 Subject: [PATCH] Module Detail Overview Implementation #1 --- .idea/caches/build_file_checksums.ser | Bin 497 -> 500 bytes .idea/misc.xml | 2 +- app/build.gradle | 8 + app/libs/jericho-html-3.4.jar | Bin 0 -> 269606 bytes .../java/de/sebse/fuplanner/MainActivity.java | 24 +- .../moddetails/ModDetailOverviewAdapter.java | 165 +++++++++ .../moddetails/ModDetailOverviewFragment.java | 42 ++- .../fuplanner/services/KVV/Announcement.java | 47 +++ .../de/sebse/fuplanner/services/KVV/KVV.java | 43 +-- .../fuplanner/services/KVV/KVVLogin.java | 62 +--- .../fuplanner/services/KVV/KVVModuleList.java | 329 +++++------------- .../fuplanner/services/KVV/Lecturer.java | 2 +- .../sebse/fuplanner/services/KVV/Modules.java | 145 +++++++- .../de/sebse/fuplanner/tools/AsyncQueue.java | 55 +-- .../de/sebse/fuplanner/tools/Compare.java | 7 + .../de/sebse/fuplanner/tools/Conversion.java | 35 ++ .../java/de/sebse/fuplanner/tools/Regex.java | 63 ++++ .../sebse/fuplanner/tools/logging/Logger.java | 13 + .../fuplanner/tools/network/HTTPService.java | 17 +- .../fuplanner/tools/ui/CustomViewHolder.java | 13 + .../layout/fragment_mod_detail_overview.xml | 19 +- app/src/main/res/layout/list_all_caption.xml | 14 + .../layout/list_moddetails_announcements.xml | 38 ++ .../layout/list_moddetails_description.xml | 14 + app/src/main/res/values/strings.xml | 3 + 25 files changed, 758 insertions(+), 402 deletions(-) create mode 100644 app/libs/jericho-html-3.4.jar create mode 100644 app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewAdapter.java create mode 100644 app/src/main/java/de/sebse/fuplanner/services/KVV/Announcement.java create mode 100644 app/src/main/java/de/sebse/fuplanner/tools/Compare.java create mode 100644 app/src/main/java/de/sebse/fuplanner/tools/Conversion.java create mode 100644 app/src/main/java/de/sebse/fuplanner/tools/Regex.java create mode 100644 app/src/main/java/de/sebse/fuplanner/tools/ui/CustomViewHolder.java create mode 100644 app/src/main/res/layout/list_all_caption.xml create mode 100644 app/src/main/res/layout/list_moddetails_announcements.xml create mode 100644 app/src/main/res/layout/list_moddetails_description.xml diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 047155709eff302aa21b014df5707b13eeeae077..e718b89dd309a8ba1b5dc8948ffd91745adbf82d 100644 GIT binary patch delta 174 zcmey!{DpbK43;bpJ>H3P`~w6M3kqVAN;7j(^wNtGQ*u&Eix`-qoz{F7|G~x)@_>nf zp`w6+fkA*RdXBuu0ex4`vqz7GFFhn&!oXjgT2hjkmtG9hSjbSvz&4qWQA|e1*(xTq zIJKxaCO9=IvA85NF)s$HDrT}RqlfVHFH%MI;xlF|#BKaopfPh=34OW3>J6BYwQ!}_y_S9r?Vg1EzQC2@R_f<8B7(R{#KjVMY%C diff --git a/.idea/misc.xml b/.idea/misc.xml index 4e024a8..a8cce1b 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -25,5 +25,5 @@ - + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 454d64a..a11823a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,6 +17,12 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + } @@ -38,4 +44,6 @@ dependencies { implementation 'com.android.support:appcompat-v7:27.1.1' implementation 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2' implementation 'com.android.support:support-v4:27.1.1' + implementation 'org.jetbrains:annotations-java5:15.0' + implementation files('libs/jericho-html-3.4.jar') } diff --git a/app/libs/jericho-html-3.4.jar b/app/libs/jericho-html-3.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..47b57da1f04a6bd33316fc0106e6a6d61cc7f814 GIT binary patch literal 269606 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�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 it = success.latestSemesterIterator(); it.hasNext(); ) { + Modules.Module module = it.next(); + MenuItem menuItem = navigationView.getMenu().add(Menu.NONE, Menu.NONE, 101 + i, module.title); + final int finalI = i; + menuItem.setOnMenuItemClickListener(item -> { + onModulesFragmentInteraction(finalI); + return false; + }); + i++; } } - } }, new NetworkErrorCallback() { @Override public void onError(NetworkError error) { diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewAdapter.java b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewAdapter.java new file mode 100644 index 0000000..ca80724 --- /dev/null +++ b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewAdapter.java @@ -0,0 +1,165 @@ +package de.sebse.fuplanner.fragments.moddetails; + +import android.icu.text.DateFormat; +import android.support.annotation.NonNull; +import android.support.v7.widget.RecyclerView; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import java.util.Date; +import java.util.Locale; + +import de.sebse.fuplanner.R; +import de.sebse.fuplanner.fragments.ModulesFragment; +import de.sebse.fuplanner.fragments.ModulesRecyclerViewAdapter; +import de.sebse.fuplanner.services.KVV.Announcement; +import de.sebse.fuplanner.services.KVV.Modules; +import de.sebse.fuplanner.tools.Conversion; +import de.sebse.fuplanner.tools.ui.CustomViewHolder; + +public class ModDetailOverviewAdapter extends RecyclerView.Adapter { + private Modules.Module mValue; + //private final ModulesFragment.OnModulesFragmentInteractionListener mListener; + + public ModDetailOverviewAdapter(/*ModulesFragment.OnModulesFragmentInteractionListener listener*/) { + mValue = null; + //mListener = listener; + } + + public void setModule(Modules.Module module) { + mValue = module; + this.notifyDataSetChanged(); + } + + @NonNull + @Override + public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view; + switch (viewType) { + case 0: + view = LayoutInflater.from(parent.getContext()) + .inflate(R.layout.list_all_caption, parent, false); + return new HeaderViewHolder(view); + case 1: + view = LayoutInflater.from(parent.getContext()) + .inflate(R.layout.list_moddetails_description, parent, false); + return new DescriptionViewHolder(view); + case 2: + view = LayoutInflater.from(parent.getContext()) + .inflate(R.layout.list_moddetails_announcements, parent, false); + return new AnnounceViewHolder(view); + default: + //noinspection ConstantConditions + return null; + } + } + + @Override + public int getItemViewType(int position) { + // Just as an example, return 0 or 2 depending on position + // Note that unlike in ListView adapters, types don't have to be contiguous + if (position < 3) + return position % 2; + else + return 2; + } + + @Override + public void onBindViewHolder(@NonNull final RecyclerView.ViewHolder holder, int position) { + if (mValue == null) + return; + int announce_count = getAnnounceCount(2); + if (position == 0) { + HeaderViewHolder h = (HeaderViewHolder) holder; + h.mCaption.setText(h.mView.getResources().getText(R.string.description)); + } else if (position == 1) { + DescriptionViewHolder d = (DescriptionViewHolder) holder; + d.mText.setText(mValue.description); + //d.mText.setText(d.mView.getResources().getText(R.string.app_name)); + } else if (position == 2) { + HeaderViewHolder h = (HeaderViewHolder) holder; + h.mCaption.setText(h.mView.getResources().getString(R.string.announcements_count, getAnnounceCount())); + } else if (position <= announce_count+2) { + AnnounceViewHolder a = (AnnounceViewHolder) holder; + Announcement announce = mValue.announcements.get(position - 3); + a.mTitle.setText(announce.getTitle()); + a.mPublisher.setText(announce.getCreatedBy()); + a.mDate.setText(Conversion.getModifiedDate(announce.getCreatedOn())); + } + } + + @Override + public int getItemCount() { + if (mValue != null) { + return 3+getAnnounceCount(); + } + return 0; + } + + private int getAnnounceCount() { + if (mValue.announcements != null) + return mValue.announcements.size(); + return 0; + } + + private int getAnnounceCount(int max) { + return Math.min(max, getAnnounceCount()); + } + + + + + + + + + public class HeaderViewHolder extends CustomViewHolder { + final TextView mCaption; + + HeaderViewHolder(View view) { + super(view); + mCaption = view.findViewById(R.id.caption); + } + + @Override + public String toString() { + return super.toString() + " '" + mCaption.getText() + "'"; + } + } + + public class DescriptionViewHolder extends CustomViewHolder { + final TextView mText; + + DescriptionViewHolder(View view) { + super(view); + mText = view.findViewById(R.id.description); + } + + @Override + public String toString() { + return super.toString() + " '" + mText.getText() + "'"; + } + } + + + public class AnnounceViewHolder extends CustomViewHolder { + final TextView mTitle; + final TextView mPublisher; + final TextView mDate; + + AnnounceViewHolder(View view) { + super(view); + mTitle = view.findViewById(R.id.title); + mPublisher = view.findViewById(R.id.publisher); + mDate = view.findViewById(R.id.date); + } + + @Override + public String toString() { + return super.toString() + " '" + mTitle.getText() + "' '" + mPublisher.getText() + "' '" + mDate.getText() + "'"; + } + } +} diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewFragment.java index 5415f10..59cfaf7 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewFragment.java @@ -1,9 +1,12 @@ package de.sebse.fuplanner.fragments.moddetails; +import android.content.Context; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v4.app.Fragment; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.LayoutInflater; import android.view.View; @@ -11,6 +14,7 @@ import android.view.ViewGroup; import de.sebse.fuplanner.MainActivity; import de.sebse.fuplanner.R; +import de.sebse.fuplanner.fragments.ModulesRecyclerViewAdapter; import de.sebse.fuplanner.services.KVV.KVV; import de.sebse.fuplanner.services.KVV.Modules; import de.sebse.fuplanner.tools.logging.Logger; @@ -69,23 +73,33 @@ public class ModDetailOverviewFragment extends Fragment { Bundle savedInstanceState) { // Inflate the layout for this fragment log.d("on create"); - MainActivity activity = (MainActivity) getActivity(); View view = inflater.inflate(R.layout.fragment_mod_detail_overview, container, false); - if (activity != null) { - KVV kvv = activity.getKVV(); - /*kvv.getModuleDetails(mItemPos, new NetworkCallback() { - @Override - public void onResponse(@NonNull Modules.UpgradeModule success) { + // Set the adapter + if (view instanceof RecyclerView) { + Context context = view.getContext(); + RecyclerView recyclerView = (RecyclerView) view; + recyclerView.setLayoutManager(new LinearLayoutManager(context)); + final ModDetailOverviewAdapter adapter = new ModDetailOverviewAdapter(); + recyclerView.setAdapter(adapter); + + + if (getActivity() != null) { + KVV kvv = ((MainActivity) getActivity()).getKVV(); + kvv.getModuleList((Modules success) -> { log.d(success); - success.description = "Neue Beschreibung"; - } - }, new NetworkErrorCallback() { - @Override - public void onError(NetworkError error) { - log.e(error); - } - });*/ + Modules.Module module = success.get(mItemPos); + adapter.setModule(module); + kvv.getModuleAnnouncements(module, module1 -> { + log.d("announcements", module.announcements); + adapter.setModule(module1); + }, error -> log.e(error)); + }, error -> log.e(error)); + } } + + + + return view; } diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/Announcement.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/Announcement.java new file mode 100644 index 0000000..83b4a2c --- /dev/null +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/Announcement.java @@ -0,0 +1,47 @@ +package de.sebse.fuplanner.services.KVV; + +public class Announcement { + private final String id; + private final String title; + private final String body; + private final String createdBy; + private final long createdOn; + + Announcement(String id, String title, String body, String createdBy, long createdOn) { + + this.id = id; + this.title = title; + this.body = body; + this.createdBy = createdBy; + this.createdOn = createdOn; + } + + public String getId() { + return id; + } + + public String getTitle() { + return title; + } + + public String getBody() { + return body; + } + + public String getCreatedBy() { + return createdBy; + } + + public long getCreatedOn() { + return createdOn; + } + + @Override + public String toString() { + return "ID: "+getId()+ + "\nTitle: "+getTitle()+ + "\nBody length: "+getBody().length()+ + "\nCreated by: "+getCreatedBy()+ + "\nCreated on: "+getCreatedOn(); + } +} 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 fb35568..5eea35b 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 @@ -28,12 +28,9 @@ public class KVV { public void login(@NonNull String username, @NonNull String password, final NetworkCallback callback, NetworkErrorCallback error) { KVVLogin login = new KVVLogin(this.context); - login.login(username, password, new NetworkCallback() { - @Override - public void onResponse(@NonNull LoginToken success) { - lastToken = success; - callback.onResponse(success); - } + login.login(username, password, success -> { + lastToken = success; + callback.onResponse(success); }, error); } @@ -43,32 +40,26 @@ public class KVV { } public void getModuleList(final NetworkCallback callback, final NetworkErrorCallback error) { - this.getLastToken(new LastTokenCallback() { - @Override - public void onReceived(LoginToken token) { - KVVModuleList modules = (KVVModuleList) addons.get("modules"); - if (modules == null) { - modules = new KVVModuleList(KVV.this.context, token); - addons.put("modules", modules); - } - modules.getModuleList(callback, error); + this.getLastToken(token -> { + KVVModuleList modules = (KVVModuleList) addons.get("modules"); + if (modules == null) { + modules = new KVVModuleList(KVV.this.context, token); + addons.put("modules", modules); } + modules.getModuleList(callback, error); }); } - /*public void getModuleDetails(final int index, final NetworkCallback callback, final NetworkErrorCallback error) { - this.getLastToken(new LastTokenCallback() { - @Override - public void onReceived(LoginToken token) { - KVVModuleList modules = (KVVModuleList) addons.get("modules"); - if (modules == null) { - modules = new KVVModuleList(KVV.this.context, token); - addons.put("modules", modules); - } - modules.getModuleDetails(index, callback, error); + public void getModuleAnnouncements(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback error) { + this.getLastToken(token -> { + KVVModuleList modules = (KVVModuleList) addons.get("modules"); + if (modules == null) { + modules = new KVVModuleList(KVV.this.context, token); + addons.put("modules", modules); } + modules.getAnnouncements(module, callback, error); }); - }*/ + } private void getLastToken(LastTokenCallback lastTokenCallback) { if (this.isUpdating) { diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVLogin.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVLogin.java index 5b12566..4c081c1 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVLogin.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVLogin.java @@ -28,53 +28,23 @@ class KVVLogin extends HTTPService { public void login(final String username, final String password, final NetworkCallback callback, final NetworkErrorCallback error) { Log.d("KVVMaster0", username+" - "+password); - startKVVSession(new NetworkCallback>() { - @Override - public void onResponse(@NonNull HashMap success) { - final String kvvJSESSIONID = success.get("JSESSIONID"); - getSAMLRequest(kvvJSESSIONID, new NetworkCallback>() { - @Override - public void onResponse(@NonNull HashMap success) { - startIdentSession(success.get("Location"), new NetworkCallback>() { - @Override - public void onResponse(@NonNull HashMap success) { - final String identJSESSIONID = success.get("JSESSIONID"); - final String ident_idp_authn_lc_key = success.get("_idp_authn_lc_key"); - final String identROUTEID = success.get("ROUTEID"); - loginIdent(true, username, password, identJSESSIONID, ident_idp_authn_lc_key, identROUTEID, new NetworkCallback>() { - @Override - public void onResponse(@NonNull HashMap success) { - loginIdent(false, username, password, identJSESSIONID, ident_idp_authn_lc_key, identROUTEID, new NetworkCallback>() { - @Override - public void onResponse(@NonNull HashMap success) { - final String ident_idp_session = success.get("_idp_session"); - getSAMLResponse(identJSESSIONID, ident_idp_authn_lc_key, identROUTEID, ident_idp_session, new NetworkCallback>() { - @Override - public void onResponse(@NonNull HashMap success) { - loginKVV(success.get("RelayState"), success.get("SAMLResponse"), kvvJSESSIONID, new NetworkCallback>() { - @Override - public void onResponse(@NonNull HashMap success) { - final LoginToken token = new LoginToken(username, success.get("shibsessionKey"), success.get("shibsessionName"), kvvJSESSIONID); - finishKVVlogin(token, new NetworkCallback>() { - @Override - public void onResponse(@NonNull HashMap success) { - Log.d("KVVMaster", "Login worked!"); - callback.onResponse(token); - } - }, error); - } - }, error); - } - }, error); - } - }, error); - } - }, error); - } + startKVVSession(success -> { + final String kvvJSESSIONID = success.get("JSESSIONID"); + getSAMLRequest(kvvJSESSIONID, success1 -> startIdentSession(success1.get("Location"), success11 -> { + final String identJSESSIONID = success11.get("JSESSIONID"); + final String ident_idp_authn_lc_key = success11.get("_idp_authn_lc_key"); + final String identROUTEID = success11.get("ROUTEID"); + loginIdent(true, username, password, identJSESSIONID, ident_idp_authn_lc_key, identROUTEID, success111 -> loginIdent(false, username, password, identJSESSIONID, ident_idp_authn_lc_key, identROUTEID, success11112 -> { + final String ident_idp_session = success11112.get("_idp_session"); + getSAMLResponse(identJSESSIONID, ident_idp_authn_lc_key, identROUTEID, ident_idp_session, success1111 -> loginKVV(success1111.get("RelayState"), success1111.get("SAMLResponse"), kvvJSESSIONID, success111112 -> { + final LoginToken token = new LoginToken(username, success111112.get("shibsessionKey"), success111112.get("shibsessionName"), kvvJSESSIONID); + finishKVVlogin(token, success11111 -> { + Log.d("KVVMaster", "Login worked!"); + callback.onResponse(token); }, error); - } - }, error); - } + }, error), error); + }, error), error); + }, error), error); }, error); } diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVModuleList.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVModuleList.java index 51f9a73..b3aad4a 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVModuleList.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVModuleList.java @@ -1,29 +1,23 @@ package de.sebse.fuplanner.services.KVV; import android.content.Context; -import android.support.annotation.NonNull; -import com.android.volley.Response; -import com.android.volley.VolleyError; +import net.htmlparser.jericho.Source; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; -import java.util.HashMap; +import java.util.ArrayList; import java.util.HashSet; -import java.util.Iterator; -import java.util.NoSuchElementException; import java.util.regex.MatchResult; -import java.util.regex.Matcher; -import java.util.regex.Pattern; import de.sebse.fuplanner.tools.AsyncQueue; +import de.sebse.fuplanner.tools.Regex; import de.sebse.fuplanner.tools.network.HTTPService; import de.sebse.fuplanner.tools.network.NetworkCallback; import de.sebse.fuplanner.tools.network.NetworkError; import de.sebse.fuplanner.tools.network.NetworkErrorCallback; -import de.sebse.fuplanner.tools.network.Result; /** * Created by sebastian on 29.10.17. @@ -35,255 +29,104 @@ public class KVVModuleList extends HTTPService { //private AsyncQueue, NetworkErrorCallback> queueUpgradeModule = new AsyncQueue<>(); private AsyncQueue queueModuleDetails = new AsyncQueue(); - public KVVModuleList(Context context, LoginToken token) { + KVVModuleList(Context context, LoginToken token) { super(context); this.token = token; } - /*public void getModuleList(final NetworkCallback callback, final NetworkErrorCallback errorCallback) { - if (moduleList != null) { - callback.onResponse(moduleList); - return; - } - get("https://kvv.imp.fu-berlin.de/portal/site/~" + token.getUsername(), token.getCookies(), new Response.Listener() { - @Override - public void onResponse(Result response) { - // tool/([0-9a-f-]*)"(.|\n|\r){0,200}icon-sakai--fu-berlin-joinablecoursebrowser - String body = response.getParsed(); - log.d("FIRST STEP", body); - log.d("FIRST STEP", response.getHeaders().get("Location")); - final String id; - try { - //language=RegExp - id = regex("tool/([0-9a-f-]*)\"(.|\\n|\\r){0,200}icon-sakai--fu-berlin-joinablecoursebrowser", body); - } catch (NoSuchFieldException e) { - errorCallback.onError(new NetworkError(101105, -1, "Cannot parse module list!")); - return; - } - get("https://kvv.imp.fu-berlin.de/portal/site/~" + token.getUsername() + "/tool/9df8c796-7d6b-4416-8ba1-f505ea6b8224/", token.getCookies(), new Response.Listener() { - @Override - public void onResponse(Result response) { - String location = response.getHeaders().get("Location"); - get("https://kvv.imp.fu-berlin.de/portal/site/~"+token.getUsername()+"/tool/9df8c796-7d6b-4416-8ba1-f505ea6b8224/"+location, token.getCookies(), new Response.Listener() { - @Override - public void onResponse(Result response) { - String body = response.getParsed(); - //largeLog("KVVModules", body); - Pattern pattern = Pattern.compile("(.*)", Pattern.DOTALL); - Matcher matcher = pattern.matcher(body); - if (!matcher.find()) { - errorCallback.onError(new NetworkError(101104, -1, "Cannot parse module list!")); - return; - } - //largeLog("KVVGroup", matcher.group(1)); - Modules modules = new Modules(); - //(.|\n)+? - for (MatchResult match: allMatches(Pattern.compile(".+?", Pattern.DOTALL), matcher.group(1))) { - try { - // Instructors - HashSet instructs = new HashSet<>(); - String instructors = regex(".+?

(.+?)
.+?", match.group()); - for (MatchResult match2: allMatches(Pattern.compile(".*(?=,)"), instructors)) { - if (match2.group()!=null && match2.group().length()>0) - instructs.add(match2.group()); - } - for (MatchResult match2: allMatches(Pattern.compile(".*(?=\\s+$|$)"), instructors)) { - if (match2.group()!=null && match2.group().length()>0) - instructs.add(match2.group()); - } - - // Semester - String semester = regex("
((Winter|Sommer)semester.*?)
", match.group()); - - // lvNumber - HashSet lvNumbers = new HashSet<>(); - String numbers = regex(".*?
(.*?)0) - lvNumbers.add(match2.group()); - } - - // Title - //language=RegExp - String title = regex("(.+?)", match.group()); - - // Type - //language=RegExp - String type = regex(".*?
(.*?)
", match.group()); - - // Upgrade URI - //language=RegExp - String upgradeURI = regex(".+?", match.group()); - - modules.addModule(semester, lvNumbers, title, instructs, type, upgradeURI); - } catch (NoSuchFieldException e) { - errorCallback.onError(new NetworkError(101102, -1, "Cannot parse module list!")); - return; - } - } - KVVModuleList.this.moduleList = modules; - callback.onResponse(modules); - } - }, new Response.ErrorListener() { - @Override - public void onErrorResponse(VolleyError error) { - errorCallback.onError(new NetworkError(101101, error.networkResponse.statusCode, "Cannot get module list!")); - } - }); - } - }, new Response.ErrorListener() { - @Override - public void onErrorResponse(VolleyError error) { - errorCallback.onError(new NetworkError(101100, error.networkResponse.statusCode, "Cannot get module list!")); - } - }); - } - }, new Response.ErrorListener() { - @Override - public void onErrorResponse(VolleyError error) { - errorCallback.onError(new NetworkError(101103, error.networkResponse.statusCode, "Cannot get module list!")); - } - }); - } -*/ public void getModuleList(final NetworkCallback callback, final NetworkErrorCallback errorCallback) { - get("https://kvv.imp.fu-berlin.de/direct/site.json", token.getCookies(), new Response.Listener() { - @Override - public void onResponse(Result response) { - String body = response.getParsed(); - if (body == null) { - errorCallback.onError(new NetworkError(101101, 403, "No module list retreived!")); - return; - } - Modules modules = new Modules(); - try { - JSONObject json = new JSONObject(body); - JSONArray sites = json.getJSONArray("site_collection"); + get("https://kvv.imp.fu-berlin.de/direct/site.json", token.getCookies(), response -> { + String body = response.getParsed(); + if (body == null) { + errorCallback.onError(new NetworkError(101101, 403, "No module list retreived!")); + return; + } + Modules modules = new Modules(); + try { + JSONObject json = new JSONObject(body); + JSONArray sites = json.getJSONArray("site_collection"); - for (int i = 0; i < sites.length(); i++) { - JSONObject site = sites.getJSONObject(i); - String semester = site.getJSONObject("props").getString("term_eid"); - HashSet lvNumbers = new HashSet<>(); - for (MatchResult matchResult : allMatches(Pattern.compile("[0-9]+"), site.getJSONObject("props").getString("kvv_lvnumbers"))) { - lvNumbers.add(matchResult.group()); - } - String title = site.getString("entityTitle"); - HashSet lecturers = new HashSet<>(); - for (String lecturer : site.getJSONObject("props").getString("kvv_lecturers").split("#")) { - if (lecturer.length() > 2) - lecturers.add(new Lecturer(lecturer)); - } - String type = site.getJSONObject("props").getString("kvv_coursetype"); - String id = site.getString("id"); - modules.addModule(semester, lvNumbers, title, lecturers, type, id); + for (int i = 0; i < sites.length(); i++) { + JSONObject site = sites.getJSONObject(i); + String semester = site.getJSONObject("props").getString("term_eid"); + HashSet lvNumbers = new HashSet<>(); + for (MatchResult matchResult : Regex.allMatches("[0-9]+", site.getJSONObject("props").getString("kvv_lvnumbers"))) { + lvNumbers.add(matchResult.group()); } - } catch (JSONException e) { - errorCallback.onError(new NetworkError(101102, 403, "Cannot parse module list!")); - return; - } catch (NoSuchFieldException e) { - errorCallback.onError(new NetworkError(101103, 403, "Cannot parse module list!")); - return; + String title = site.getString("entityTitle"); + HashSet lecturers = new HashSet<>(); + for (String lecturer : site.getJSONObject("props").getString("kvv_lecturers").split("#")) { + if (lecturer.length() > 2) + lecturers.add(new Lecturer(lecturer)); + } + String type = site.getJSONObject("props").getString("kvv_coursetype"); + String description = site.getString("description"); + description = new Source(description).getRenderer().toString(); + String id = site.getString("id"); + modules.addModule(semester, lvNumbers, title, lecturers, type, description, id); } - moduleList = modules; - callback.onResponse(moduleList); + } catch (JSONException e) { + errorCallback.onError(new NetworkError(101102, 403, "Cannot parse module list!")); + return; + } catch (NoSuchFieldException e) { + errorCallback.onError(new NetworkError(101103, 403, "Cannot parse module list!")); + return; } - }, new Response.ErrorListener() { - @Override - public void onErrorResponse(VolleyError error) { - errorCallback.onError(new NetworkError(101103, error.networkResponse.statusCode, "Cannot get module list!")); + moduleList = modules; + callback.onResponse(moduleList); + }, error -> errorCallback.onError(new NetworkError(101104, error.networkResponse.statusCode, "Cannot get module list!"))); + } + + public void getModule(int index, final NetworkCallback callback, final NetworkErrorCallback errorCallback) { + this.getModuleList(success -> { + callback.onResponse(success.get(index)); + }, errorCallback); + } + + public void getAnnouncements(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback errorCallback) { + queueModuleDetails.add(module.getID(), () -> { + if (module.announcements != null) { + callback.onResponse(module); + queueModuleDetails.next(module.getID()); + return; } + getAnnouncementsUpgrade(module.getID(), success -> { + module.announcements = success; + callback.onResponse(module); + queueModuleDetails.next(module.getID()); + }, errorCallback); }); } - - - /*public void getModuleDetails(final int index, final NetworkCallback callback, final NetworkErrorCallback errorCallback) { - queueModuleDetails.add(new AsyncQueue.AsyncQueueCallback() { - @Override - public void run() { - if (moduleList == null) { - KVVModuleList.this.getModuleList(new NetworkCallback() { - @Override - public void onResponse(@NonNull Modules success) { - getModuleDetails(index, callback, errorCallback); - queueModuleDetails.next(); - } - }, queueModuleDetails.check(errorCallback)); - return; - } - final Modules.Module m = moduleList.get(index); - if (m instanceof Modules.UpgradeModule) { - callback.onResponse((Modules.UpgradeModule) m); - queueModuleDetails.next(); - return; - } - upgradeModule((Modules.SimpleModule) m, new NetworkCallback() { - @Override - public void onResponse(@NonNull String success) { - callback.onResponse(moduleList.upgradeItem(index, success)); - queueModuleDetails.next(); - } - }, queueModuleDetails.check(errorCallback)); + private void getAnnouncementsUpgrade(String ID, final NetworkCallback> callback, final NetworkErrorCallback errorCallback) { + log.d("SITE GET URL", String.format("https://kvv.imp.fu-berlin.de/direct/announcement/site/%s.json?n=999999&d=999999999", ID)); + get(String.format("https://kvv.imp.fu-berlin.de/direct/announcement/site/%s.json?n=999999&d=999999999", ID), token.getCookies(), response -> { + String body = response.getParsed(); + if (body == null) { + errorCallback.onError(new NetworkError(101201, 403, "No announcements retreived!")); + return; } - }); - } + ArrayList announcements = new ArrayList<>(); + try { + JSONObject json = new JSONObject(body); + JSONArray sites = json.getJSONArray("announcement_collection"); - private void upgradeModule(Modules.SimpleModule module, final NetworkCallback callback, final NetworkErrorCallback errorCallback) { - callback.onResponse("cool ID"); - }*/ - - - - - - - - private String regex(String regex, String match) throws NoSuchFieldException { - return regex(regex, match, 1); - } - - private String regex(String regex, String match, int group) throws NoSuchFieldException { - Pattern pattern = Pattern.compile(regex, Pattern.DOTALL); - Matcher matcher = pattern.matcher(match); - if (!matcher.find()) { - throw new NoSuchFieldException(); - } - return matcher.group(group); - } - - private static Iterable allMatches(final Pattern p, final CharSequence input) { - return new Iterable() { - @NonNull - public Iterator iterator() { - return new Iterator() { - // Use a matcher internally. - final Matcher matcher = p.matcher(input); - // Keep a match around that supports any interleaving of hasNext/next calls. - MatchResult pending; - - public boolean hasNext() { - // Lazily fill pending, and avoid calling find() multiple times if the - // clients call hasNext() repeatedly before sampling via next(). - if (pending == null && matcher.find()) { - pending = matcher.toMatchResult(); - } - return pending != null; - } - - public MatchResult next() { - // Fill pending if necessary (as when clients call next() without - // checking hasNext()), throw if not possible. - if (!hasNext()) { throw new NoSuchElementException(); } - // Consume pending so next call to hasNext() does a find(). - MatchResult next = pending; - pending = null; - return next; - } - - /** Required to satisfy the interface, but unsupported. */ - public void remove() { throw new UnsupportedOperationException(); } - }; + for (int i = 0; i < sites.length(); i++) { + log.d("ANNOUNCEMENT FOUND!", i); + JSONObject site = sites.getJSONObject(i); + String id = site.getString("announcementId"); + String title = site.getString("title"); + String text = site.getString("body"); + text = new Source(text).getRenderer().toString(); + String createdBy = site.getString("createdByDisplayName"); + long createdOn = site.getLong("createdOn"); + announcements.add(new Announcement(id, title, text, createdBy, createdOn)); + } + } catch (JSONException e) { + errorCallback.onError(new NetworkError(101202, 403, "Cannot parse announcements!")); + return; } - }; + callback.onResponse(announcements); + }, error -> errorCallback.onError(new NetworkError(101203, error.networkResponse.statusCode, "Cannot get announcements!"))); } } diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/Lecturer.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/Lecturer.java index e5da409..47da51a 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/Lecturer.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/Lecturer.java @@ -8,7 +8,7 @@ class Lecturer { private final String surname; private final String mail; - public Lecturer(String parsableString) throws NoSuchFieldException { + Lecturer(String parsableString) throws NoSuchFieldException { Pattern pattern = Pattern.compile("([^|]*)\\|([^|]*)\\|([^|]*)\\|\\|", Pattern.DOTALL); Matcher matcher = pattern.matcher(parsableString); if (!matcher.find()) { diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/Modules.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/Modules.java index c8d6337..e06e95d 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/Modules.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/Modules.java @@ -1,31 +1,105 @@ package de.sebse.fuplanner.services.KVV; import android.support.annotation.NonNull; +import android.support.v7.util.SortedList; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; -import de.sebse.fuplanner.tools.EventEmitter; -import de.sebse.fuplanner.tools.Triplet; +import de.sebse.fuplanner.tools.Compare; +import de.sebse.fuplanner.tools.Regex; +import de.sebse.fuplanner.tools.logging.Logger; /** * Created by sebastian on 29.10.17. */ public class Modules /*extends EventEmitter>>*/ implements Iterable { - private final ArrayList list; + private final SortedList list; + private String latestSemester = null; + private Logger log = new Logger(this); Modules() { - this.list = new ArrayList<>(); + this.list = new SortedList<>(Module.class, new SortedList.Callback() { + @Override + public int compare(Module o1, Module o2) { + return o1.semester.compareTo(o2.semester); + } + + @Override + public void onChanged(int position, int count) { + + } + + @Override + public boolean areContentsTheSame(Module oldItem, Module newItem) { + return compare(oldItem, newItem) == 0; + } + + @Override + public boolean areItemsTheSame(Module item1, Module item2) { + return item1.ID.equals(item2.ID); + } + + @Override + public void onInserted(int position, int count) { + + } + + @Override + public void onRemoved(int position, int count) { + + } + + @Override + public void onMoved(int fromPosition, int toPosition) { + + } + }); } - Module addModule(String semester, HashSet lvNumber, String title, HashSet lecturer, String type, String ID) { - Module m = new Module(semester, lvNumber, title, lecturer, type, ID); + Module addModule(String semester, HashSet lvNumber, String title, HashSet lecturer, String type, String description, String ID) { + Module m = new Module(semester, lvNumber, title, lecturer, type, description, ID); this.list.add(m); + try { + setLatestSemester(m.semester); + } catch (NoSuchFieldException ignored) { + } return m; } + private void setLatestSemester(String semester) throws NoSuchFieldException { + if (compareSemester(this.latestSemester, semester) == Compare.LARGER) + this.latestSemester = semester; + } + + private Compare compareSemester(String a, String b) throws NoSuchFieldException { + if (a == null && b == null) + return Compare.EQUAL; + if (a == null) + return Compare.LARGER; + if (b == null) + return Compare.SMALLER; + + String s1type = Regex.regex("(SS|WS)", a); + int s1year = Integer.parseInt(Regex.regex("(SS|WS) ([0-9]{2})", a, 2)); + String s2type = Regex.regex("(SS|WS)", b); + int s2year = Integer.parseInt(Regex.regex("(SS|WS) ([0-9]{2})", b, 2)); + + if (s1year == s2year) { + if (s1type.equals(s2type)) + return Compare.EQUAL; + if (s1type.equals("SS")) + return Compare.SMALLER; + return Compare.LARGER; + } + if (s1year < s2year) + return Compare.LARGER; + return Compare.SMALLER; + + } + @Override public String toString() { return this.list.toString(); @@ -35,15 +109,18 @@ public class Modules /*extends EventEmitter iterator() { return new Iterator() { - private final Iterator iter = Modules.this.list.iterator(); + private int pos = -1; @Override public boolean hasNext() { - return iter.hasNext(); + return pos+1 < list.size(); } @Override public Module next() { - return iter.next(); + pos++; + if (pos < list.size()) + return list.get(pos); + return null; } @Override @@ -53,6 +130,47 @@ public class Modules /*extends EventEmitter latestSemesterIterator() { + return new Iterator() { + private int index = -1; + private int next = -1; + @Override + public boolean hasNext() { + if (index==next) + predict(); + return next != -1; + } + + @Override + public Module next() { + if (index == next) + predict(); + if (next == -1) + return null; + index = next; + return list.get(index); + } + + @Override + public void remove() { + throw new UnsupportedOperationException("no changes allowed"); + } + + private void predict() { + int size = list.size(); + do { + next++; + } while (next < size && !accept(list.get(next))); + if (next == size) + next = -1; + } + + private boolean accept(Module ob){ + return ob.semester.equals(latestSemester); + } + }; + } + public int size() { return this.list.size(); } @@ -67,14 +185,16 @@ public class Modules /*extends EventEmitter lecturer; public final String type; + public final String description; private final String ID; + public ArrayList announcements; /*private Module() { this(null, null, null, null, null); throw new AssertionError("Do not use this constructor!"); }*/ - private Module(String semester, HashSet lvNumber, String title, HashSet lecturer, String type, String ID) { + private Module(String semester, HashSet lvNumber, String title, HashSet lecturer, String type, String description, String ID) { semester = semester.replace("Sommersemester", "SS").replace("Wintersemester", "WS"); semester = semester.replaceAll("[0-9]{2}([0-9]{2})", "$1"); @@ -83,9 +203,14 @@ public class Modules /*extends EventEmitter mQueue = new LinkedList<>(); - private boolean mRunning = false; + private HashMap> mQueues = new HashMap<>(); + private HashMap mRunnings = new HashMap<>(); - public void add(AsyncQueueCallback callback) { - if (mRunning) - mQueue.addLast(callback); + public void add(String hash, AsyncQueueCallback callback) { + if (isRunning(hash)) + getQueue(hash).addLast(callback); else { - mRunning = true; + setRunning(hash, true); callback.run(); } } - public void next() { - AsyncQueueCallback callback = mQueue.pollFirst(); + public void next(String hash) { + AsyncQueueCallback callback = getQueue(hash).pollFirst(); if (callback == null) - mRunning = false; + setRunning(hash, false); else callback.run(); } @@ -33,25 +34,33 @@ public class AsyncQueue { void run(); } - public NetworkErrorCallback check(final NetworkErrorCallback value) { - return new NetworkErrorCallback() { - @Override - public void onError(NetworkError error) { - value.onError(error); - next(); - } + public NetworkErrorCallback check(String hash, NetworkErrorCallback value) { + return error -> { + value.onError(error); + next(hash); }; } - public NetworkCallback check(final NetworkCallback value) { - return new NetworkCallback() { - @Override - public void onResponse(@NonNull T success) { - value.onResponse(success); - next(); - } + public NetworkCallback check(String hash, NetworkCallback value) { + return success -> { + value.onResponse(success); + next(hash); }; } + + private boolean isRunning(String hash) { + return mRunnings.containsKey(hash) && mRunnings.get(hash); + } + + private void setRunning(String hash, boolean value) { + mRunnings.put(hash, value); + } + + private LinkedList getQueue(String hash) { + if (mQueues.get(hash) == null) + mQueues.put(hash, new LinkedList<>()); + return mQueues.get(hash); + } } /*public class AsyncQueue { diff --git a/app/src/main/java/de/sebse/fuplanner/tools/Compare.java b/app/src/main/java/de/sebse/fuplanner/tools/Compare.java new file mode 100644 index 0000000..c46e0c0 --- /dev/null +++ b/app/src/main/java/de/sebse/fuplanner/tools/Compare.java @@ -0,0 +1,7 @@ +package de.sebse.fuplanner.tools; + +public enum Compare { + SMALLER, + EQUAL, + LARGER +} diff --git a/app/src/main/java/de/sebse/fuplanner/tools/Conversion.java b/app/src/main/java/de/sebse/fuplanner/tools/Conversion.java new file mode 100644 index 0000000..c217666 --- /dev/null +++ b/app/src/main/java/de/sebse/fuplanner/tools/Conversion.java @@ -0,0 +1,35 @@ +package de.sebse.fuplanner.tools; + +import android.annotation.TargetApi; +import android.os.Build; +import android.text.format.DateFormat; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; + +public class Conversion { + + + + public static String getModifiedDate(long modified) { + return getModifiedDate(Locale.getDefault(), modified); + } + + public static String getModifiedDate(Locale locale, long modified) { + SimpleDateFormat dateFormat = null; + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { + dateFormat = new SimpleDateFormat(getDateFormat(locale)); + } else { + dateFormat = new SimpleDateFormat("MMM/dd/yyyy hh:mm:ss aa"); + } + + return dateFormat.format(new Date(modified)); + } + + @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2) + public static String getDateFormat(Locale locale) { + return DateFormat.getBestDateTimePattern(locale, "MM/dd/yyyy hh:mm:ss aa"); + } +} diff --git a/app/src/main/java/de/sebse/fuplanner/tools/Regex.java b/app/src/main/java/de/sebse/fuplanner/tools/Regex.java new file mode 100644 index 0000000..046da07 --- /dev/null +++ b/app/src/main/java/de/sebse/fuplanner/tools/Regex.java @@ -0,0 +1,63 @@ +package de.sebse.fuplanner.tools; + +import android.support.annotation.NonNull; + +import org.intellij.lang.annotations.Language; + +import java.util.Iterator; +import java.util.NoSuchElementException; +import java.util.regex.MatchResult; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class Regex { + public static String regex(@Language("Regexp") String regex, String match) throws NoSuchFieldException { + return regex(regex, match, 1); + } + + public static String regex(@Language("Regexp") String regex, String match, int group) throws NoSuchFieldException { + Pattern pattern = Pattern.compile(regex, Pattern.DOTALL); + Matcher matcher = pattern.matcher(match); + if (!matcher.find()) { + throw new NoSuchFieldException(); + } + return matcher.group(group); + } + + public static Iterable allMatches(@Language("Regexp") String regex, final CharSequence input) { + final Pattern pattern = Pattern.compile(regex, Pattern.DOTALL); + return new Iterable() { + @NonNull + public Iterator iterator() { + return new Iterator() { + // Use a matcher internally. + final Matcher matcher = pattern.matcher(input); + // Keep a match around that supports any interleaving of hasNext/next calls. + MatchResult pending; + + public boolean hasNext() { + // Lazily fill pending, and avoid calling find() multiple times if the + // clients call hasNext() repeatedly before sampling via next(). + if (pending == null && matcher.find()) { + pending = matcher.toMatchResult(); + } + return pending != null; + } + + public MatchResult next() { + // Fill pending if necessary (as when clients call next() without + // checking hasNext()), throw if not possible. + if (!hasNext()) { throw new NoSuchElementException(); } + // Consume pending so next call to hasNext() does a find(). + MatchResult next = pending; + pending = null; + return next; + } + + /** Required to satisfy the interface, but unsupported. */ + public void remove() { throw new UnsupportedOperationException(); } + }; + } + }; + } +} diff --git a/app/src/main/java/de/sebse/fuplanner/tools/logging/Logger.java b/app/src/main/java/de/sebse/fuplanner/tools/logging/Logger.java index cf5f08e..e1361e4 100644 --- a/app/src/main/java/de/sebse/fuplanner/tools/logging/Logger.java +++ b/app/src/main/java/de/sebse/fuplanner/tools/logging/Logger.java @@ -26,4 +26,17 @@ public class Logger { string.append("null "); return string.toString(); } + + + + private void reduce(String content) { + if (content==null) { + Log.d(tag, "null"); + } else if (content.length() > 4000) { + Log.d(tag, content.substring(0, 4000)); + reduce(content.substring(4000)); + } else { + Log.d(tag, content); + } + } } diff --git a/app/src/main/java/de/sebse/fuplanner/tools/network/HTTPService.java b/app/src/main/java/de/sebse/fuplanner/tools/network/HTTPService.java index cf439c1..8f7ffc6 100644 --- a/app/src/main/java/de/sebse/fuplanner/tools/network/HTTPService.java +++ b/app/src/main/java/de/sebse/fuplanner/tools/network/HTTPService.java @@ -25,8 +25,7 @@ import de.sebse.fuplanner.tools.logging.Logger; */ public class HTTPService { - protected RequestQueue requestQueue; - private boolean followRedirects; + private RequestQueue requestQueue; protected Logger log = new Logger(this); public HTTPService(Context context) { @@ -34,7 +33,6 @@ public class HTTPService { } public HTTPService(Context context, boolean followRedirects) { - this.followRedirects = followRedirects; requestQueue = Volley.newRequestQueue(context, new BetterHurlStack(followRedirects)); } @@ -89,7 +87,7 @@ public class HTTPService { } @Override - public byte[] getBody() throws AuthFailureError { + public byte[] getBody() { if (body==null) { return null; } @@ -152,15 +150,4 @@ public class HTTPService { }; requestQueue.add(request); } - - private static void largeLog(String tag, String content) { - if (content==null) { - Log.d(tag, "null"); - } else if (content.length() > 4000) { - Log.d(tag, content.substring(0, 4000)); - largeLog(tag, content.substring(4000)); - } else { - Log.d(tag, content); - } - } } diff --git a/app/src/main/java/de/sebse/fuplanner/tools/ui/CustomViewHolder.java b/app/src/main/java/de/sebse/fuplanner/tools/ui/CustomViewHolder.java new file mode 100644 index 0000000..8a7a0fb --- /dev/null +++ b/app/src/main/java/de/sebse/fuplanner/tools/ui/CustomViewHolder.java @@ -0,0 +1,13 @@ +package de.sebse.fuplanner.tools.ui; + +import android.support.v7.widget.RecyclerView; +import android.view.View; + +public class CustomViewHolder extends RecyclerView.ViewHolder { + public final View mView; + + public CustomViewHolder(View view) { + super(view); + mView = view; + } +} diff --git a/app/src/main/res/layout/fragment_mod_detail_overview.xml b/app/src/main/res/layout/fragment_mod_detail_overview.xml index 6a9e612..8382706 100644 --- a/app/src/main/res/layout/fragment_mod_detail_overview.xml +++ b/app/src/main/res/layout/fragment_mod_detail_overview.xml @@ -1,14 +1,13 @@ - - - - - - \ No newline at end of file + android:layout_marginLeft="16dp" + android:layout_marginRight="16dp" + app:layoutManager="android.support.v7.widget.LinearLayoutManager" + tools:context=".fragments.moddetails.ModDetailOverviewFragment" + tools:listitem="@layout/list_all_caption" /> \ No newline at end of file diff --git a/app/src/main/res/layout/list_all_caption.xml b/app/src/main/res/layout/list_all_caption.xml new file mode 100644 index 0000000..54c6200 --- /dev/null +++ b/app/src/main/res/layout/list_all_caption.xml @@ -0,0 +1,14 @@ + + + + + diff --git a/app/src/main/res/layout/list_moddetails_announcements.xml b/app/src/main/res/layout/list_moddetails_announcements.xml new file mode 100644 index 0000000..255379d --- /dev/null +++ b/app/src/main/res/layout/list_moddetails_announcements.xml @@ -0,0 +1,38 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/list_moddetails_description.xml b/app/src/main/res/layout/list_moddetails_description.xml new file mode 100644 index 0000000..c740a86 --- /dev/null +++ b/app/src/main/res/layout/list_moddetails_description.xml @@ -0,0 +1,14 @@ + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 604a10c..56cf822 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -10,4 +10,7 @@ Hello blank fragment Overview Announcements + Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. + Description + Announcements (%1$d)