Comments removed
This commit is contained in:
@@ -136,7 +136,6 @@ public class MainActivity extends AppCompatActivity
|
|||||||
fragmentTransaction.commit();
|
fragmentTransaction.commit();
|
||||||
break;
|
break;
|
||||||
case R.id.nav_schedule:
|
case R.id.nav_schedule:
|
||||||
log.d("Stundenplan");
|
|
||||||
fragmentTransaction = fragmentManager.beginTransaction();
|
fragmentTransaction = fragmentManager.beginTransaction();
|
||||||
fragmentTransaction.replace(R.id.fragcontainer, ScheduleFragment.newInstance());
|
fragmentTransaction.replace(R.id.fragcontainer, ScheduleFragment.newInstance());
|
||||||
fragmentTransaction.commit();
|
fragmentTransaction.commit();
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import android.content.Context;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
|
import android.support.v4.widget.SwipeRefreshLayout;
|
||||||
import android.support.v7.widget.LinearLayoutManager;
|
import android.support.v7.widget.LinearLayoutManager;
|
||||||
import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@@ -13,6 +14,7 @@ import android.view.ViewGroup;
|
|||||||
|
|
||||||
import de.sebse.fuplanner.MainActivity;
|
import de.sebse.fuplanner.MainActivity;
|
||||||
import de.sebse.fuplanner.R;
|
import de.sebse.fuplanner.R;
|
||||||
|
import de.sebse.fuplanner.services.KVV.KVV;
|
||||||
import de.sebse.fuplanner.tools.logging.Logger;
|
import de.sebse.fuplanner.tools.logging.Logger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -28,6 +30,8 @@ public class ModulesFragment extends Fragment {
|
|||||||
// TODO: Customize parameters
|
// TODO: Customize parameters
|
||||||
private OnModulesFragmentInteractionListener mListener;
|
private OnModulesFragmentInteractionListener mListener;
|
||||||
private Logger log = new Logger(this);
|
private Logger log = new Logger(this);
|
||||||
|
private ModulesRecyclerViewAdapter adapter;
|
||||||
|
private SwipeRefreshLayout swipeLayout;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mandatory empty constructor for the fragment manager to instantiate the
|
* Mandatory empty constructor for the fragment manager to instantiate the
|
||||||
@@ -58,28 +62,37 @@ public class ModulesFragment extends Fragment {
|
|||||||
@Override
|
@Override
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
|
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
|
||||||
Bundle savedInstanceState) {
|
Bundle savedInstanceState) {
|
||||||
Log.d("ModFrag", "onCreateView"+(getActivity() != null));
|
|
||||||
View view = inflater.inflate(R.layout.fragment_modules_list, container, false);
|
|
||||||
|
|
||||||
|
View view = inflater.inflate(R.layout.fragment_modules_list, container, false);
|
||||||
// Set the adapter
|
// Set the adapter
|
||||||
if (view instanceof RecyclerView) {
|
|
||||||
Context context = view.getContext();
|
Context context = view.getContext();
|
||||||
RecyclerView recyclerView = (RecyclerView) view;
|
RecyclerView recyclerView = view.findViewById(R.id.list);
|
||||||
recyclerView.setLayoutManager(new LinearLayoutManager(context));
|
recyclerView.setLayoutManager(new LinearLayoutManager(context));
|
||||||
final ModulesRecyclerViewAdapter adapter = new ModulesRecyclerViewAdapter(mListener);
|
adapter = new ModulesRecyclerViewAdapter(mListener);
|
||||||
recyclerView.setAdapter(adapter);
|
recyclerView.setAdapter(adapter);
|
||||||
|
|
||||||
|
// Getting SwipeContainerLayout
|
||||||
|
swipeLayout = view.findViewById(R.id.swipe_container);
|
||||||
|
// Adding Listener
|
||||||
|
swipeLayout.setOnRefreshListener(() -> refresh(true));
|
||||||
|
refresh(false);
|
||||||
|
|
||||||
if (getActivity() != null) {
|
|
||||||
((MainActivity) getActivity()).getKVV().getModuleList(success -> {
|
|
||||||
log.d(success);
|
|
||||||
adapter.setModules(success);
|
|
||||||
}, error -> Log.e("ModFrag", error.toString()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void refresh(boolean forceRefresh) {
|
||||||
|
if (getActivity() != null) {
|
||||||
|
KVV kvv = ((MainActivity) getActivity()).getKVV();
|
||||||
|
kvv.getModuleList(success -> {
|
||||||
|
adapter.setModules(success);
|
||||||
|
swipeLayout.setRefreshing(false);
|
||||||
|
}, error -> {
|
||||||
|
log.e(error.toString());
|
||||||
|
swipeLayout.setRefreshing(false);
|
||||||
|
}, forceRefresh);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAttach(Context context) {
|
public void onAttach(Context context) {
|
||||||
|
|||||||
@@ -92,16 +92,15 @@ public class ModDetailOverviewFragment extends Fragment {
|
|||||||
if (getActivity() != null) {
|
if (getActivity() != null) {
|
||||||
KVV kvv = ((MainActivity) getActivity()).getKVV();
|
KVV kvv = ((MainActivity) getActivity()).getKVV();
|
||||||
kvv.getModuleList((Modules success) -> {
|
kvv.getModuleList((Modules success) -> {
|
||||||
log.d(success);
|
|
||||||
Modules.Module module = success.get(mItemPos);
|
Modules.Module module = success.get(mItemPos);
|
||||||
log.d("Print c");
|
|
||||||
adapter.setModule(module);
|
adapter.setModule(module);
|
||||||
kvv.getModuleDetails(module, module1 -> {
|
kvv.getModuleDetails(module, pair -> {
|
||||||
adapter.setModule();
|
adapter.setModule();
|
||||||
|
if (pair.second)
|
||||||
|
swipeLayout.setRefreshing(false);
|
||||||
}, error -> log.e(error));
|
}, error -> log.e(error));
|
||||||
}, error -> log.e(error), forceRefresh);
|
}, error -> log.e(error), forceRefresh);
|
||||||
}
|
}
|
||||||
swipeLayout.setRefreshing(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package de.sebse.fuplanner.services.KVV;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
|
import android.util.Pair;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -60,11 +61,11 @@ public class KVV {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getModuleDetails(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback error) {
|
public void getModuleDetails(Modules.Module module, final NetworkCallback<Pair<Modules.Module, Boolean>> callback, final NetworkErrorCallback error) {
|
||||||
getModuleDetails(module, callback, error, false);
|
getModuleDetails(module, callback, error, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getModuleDetails(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback error, boolean forceRefresh) {
|
public void getModuleDetails(Modules.Module module, final NetworkCallback<Pair<Modules.Module, Boolean>> callback, final NetworkErrorCallback error, boolean forceRefresh) {
|
||||||
this.getLastToken(token -> {
|
this.getLastToken(token -> {
|
||||||
KVVModuleList modules = (KVVModuleList) addons.get("modules");
|
KVVModuleList modules = (KVVModuleList) addons.get("modules");
|
||||||
if (modules == null) {
|
if (modules == null) {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package de.sebse.fuplanner.services.KVV;
|
package de.sebse.fuplanner.services.KVV;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.util.Pair;
|
||||||
|
|
||||||
import net.htmlparser.jericho.Source;
|
import net.htmlparser.jericho.Source;
|
||||||
|
|
||||||
@@ -71,7 +72,6 @@ public class KVVModuleList extends HTTPService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void getModuleListUpgrade(final NetworkCallback<Modules> callback, final NetworkErrorCallback errorCallback) {
|
public void getModuleListUpgrade(final NetworkCallback<Modules> callback, final NetworkErrorCallback errorCallback) {
|
||||||
log.d("Module List refreshed");
|
|
||||||
get("https://kvv.imp.fu-berlin.de/direct/site.json", token.getCookies(), response -> {
|
get("https://kvv.imp.fu-berlin.de/direct/site.json", token.getCookies(), response -> {
|
||||||
String body = response.getParsed();
|
String body = response.getParsed();
|
||||||
if (body == null) {
|
if (body == null) {
|
||||||
@@ -132,14 +132,15 @@ public class KVVModuleList extends HTTPService {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void getModuleDetails(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback, boolean forceRefresh) {
|
public void getModuleDetails(Modules.Module module, final NetworkCallback<Pair<Modules.Module, Boolean>> callback, final NetworkErrorCallback errorCallback, boolean forceRefresh) {
|
||||||
AtomicInteger returns = new AtomicInteger(0);
|
AtomicInteger returns = new AtomicInteger(0);
|
||||||
AtomicReference<NetworkError> lastError = new AtomicReference<>(null);
|
AtomicReference<NetworkError> lastError = new AtomicReference<>(null);
|
||||||
final int items = 4;
|
final int items = 4;
|
||||||
NetworkCallback<Modules.Module> successCb = success -> {
|
NetworkCallback<Modules.Module> successCb = success -> {
|
||||||
returns.getAndIncrement();
|
returns.getAndIncrement();
|
||||||
callback.onResponse(module);
|
callback.onResponse(Pair.create(module, false));
|
||||||
if (returns.get() == items-1) {
|
if (returns.get() == items) {
|
||||||
|
callback.onResponse(Pair.create(module, true));
|
||||||
if (lastError.get() != null)
|
if (lastError.get() != null)
|
||||||
errorCallback.onError(lastError.get());
|
errorCallback.onError(lastError.get());
|
||||||
}
|
}
|
||||||
@@ -147,7 +148,8 @@ public class KVVModuleList extends HTTPService {
|
|||||||
NetworkErrorCallback errorCb = error -> {
|
NetworkErrorCallback errorCb = error -> {
|
||||||
lastError.set(error);
|
lastError.set(error);
|
||||||
returns.getAndIncrement();
|
returns.getAndIncrement();
|
||||||
if (returns.get() == items-1) {
|
if (returns.get() == items) {
|
||||||
|
callback.onResponse(Pair.create(module, true));
|
||||||
if (lastError.get() != null)
|
if (lastError.get() != null)
|
||||||
errorCallback.onError(lastError.get());
|
errorCallback.onError(lastError.get());
|
||||||
}
|
}
|
||||||
@@ -186,7 +188,7 @@ public class KVVModuleList extends HTTPService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void getAnnouncementsUpgrade(String ID, final NetworkCallback<ArrayList<Announcement>> callback, final NetworkErrorCallback errorCallback) {
|
private void getAnnouncementsUpgrade(String ID, final NetworkCallback<ArrayList<Announcement>> 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));
|
//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 -> {
|
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();
|
String body = response.getParsed();
|
||||||
if (body == null) {
|
if (body == null) {
|
||||||
@@ -199,7 +201,7 @@ public class KVVModuleList extends HTTPService {
|
|||||||
JSONArray sites = json.getJSONArray("announcement_collection");
|
JSONArray sites = json.getJSONArray("announcement_collection");
|
||||||
|
|
||||||
for (int i = 0; i < sites.length(); i++) {
|
for (int i = 0; i < sites.length(); i++) {
|
||||||
log.d("ANNOUNCEMENT FOUND!", i);
|
//log.d("ANNOUNCEMENT FOUND!", i);
|
||||||
JSONObject site = sites.getJSONObject(i);
|
JSONObject site = sites.getJSONObject(i);
|
||||||
String id = site.getString("announcementId");
|
String id = site.getString("announcementId");
|
||||||
String title = site.getString("title");
|
String title = site.getString("title");
|
||||||
|
|||||||
@@ -1,7 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
|
<android.support.v4.widget.SwipeRefreshLayout
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:id="@+id/swipe_container"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
<android.support.v7.widget.RecyclerView
|
||||||
android:id="@+id/list"
|
android:id="@+id/list"
|
||||||
android:name="de.sebse.fuplanner.fragments.ModulesFragment"
|
android:name="de.sebse.fuplanner.fragments.ModulesFragment"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -9,5 +14,6 @@
|
|||||||
android:layout_marginLeft="16dp"
|
android:layout_marginLeft="16dp"
|
||||||
android:layout_marginRight="16dp"
|
android:layout_marginRight="16dp"
|
||||||
app:layoutManager="android.support.v7.widget.LinearLayoutManager"
|
app:layoutManager="android.support.v7.widget.LinearLayoutManager"
|
||||||
tools:context="de.sebse.fuplanner.fragments.ModulesFragment"
|
tools:context=".fragments.moddetails.ModDetailOverviewFragment"
|
||||||
tools:listitem="@layout/fragment_modules" />
|
tools:listitem="@layout/list_all_caption" />
|
||||||
|
</android.support.v4.widget.SwipeRefreshLayout>
|
||||||
Reference in New Issue
Block a user