Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class RefresherFragment extends Fragment{
- SwipeRefreshLayout swipeRefreshLayout;
- public String markingPeriod;
- public static RefresherFragment newInstance(String markingPeriod){
- RefresherFragment instance = new RefresherFragment();
- Bundle bundle = new Bundle();
- bundle.putString("mp", markingPeriod);
- instance.setArguments(bundle);
- return instance;
- }
- @Override
- public void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- markingPeriod = getArguments().getString("mp");
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.mp_refresher_fragment, container, false);
- new Scraper(markingPeriod).execute();
- Log.e("RefresherFragment", "MP=" + markingPeriod);
- return view;
- }
- //fragment setup-------------------------------------------------------------------------
- public ArrayList<String> extractClasses (Document document){
- ArrayList<String> classList = new ArrayList<>();
- Elements elements = document.select(".categorytab");
- for (Element element : elements){
- classList.add(element.text().toString());
- }
- return classList;
- }
- public ArrayList<String> extractGrades (Document document){
- ArrayList<String> keepList = new ArrayList<>();
- Elements elements = document.select(".cellRight");
- for (Element element : elements){
- boolean keep = true;
- for (Element e : element.parents()){
- if (e.hasClass("cellRight")){
- keep = false;
- break;
- }
- }
- if (keep){
- keepList.add(element.text().toString());
- }
- }
- return keepList;
- }
- public class Wrapper{
- Document document;
- Elements elements;
- }
- private class Scraper extends AsyncTask<String, Void, Wrapper> {
- String mMarkingPeriod;
- public Scraper(String mp) {
- mMarkingPeriod = mp;
- }
- @Override
- protected Wrapper doInBackground(String... strings) {
- Wrapper wrapper = new Wrapper();
- SessionManager sessionManager = new SessionManager(getContext());
- String username = sessionManager.getUsername();
- String password = sessionManager.getPassword();
- DataManager dataManager = new DataManager(username,password);
- Map<String, String> preLoginCookies = dataManager.getPreLoginCookies(mMarkingPeriod);
- Map<String, String> postLoginCookies = dataManager.getPostLoginCookies(preLoginCookies);
- Document doc = dataManager.getDocumentByMP(postLoginCookies,mMarkingPeriod);
- if (doc == null){
- Log.e("doInBackground Check", "null");}
- Elements elements = doc.select(".cellRight");
- wrapper.document = doc;
- wrapper.elements = elements;
- return wrapper;
- }
- @Override
- protected void onPostExecute(Wrapper wrapper) {
- Document document = wrapper.document;
- ArrayList <String> grades = extractGrades(document);
- ArrayList <String> classes = extractClasses(document);
- for (String classElement : classes){
- Log.e("Class", classElement);
- }
- for (String gradeElement : grades){
- Log.e("Grade", gradeElement);
- }
- Log.e("Checkpoint", "Iterating elements");
- RecyclerView recyclerView = (RecyclerView)getActivity().findViewById(R.id.grade_recycler);
- recyclerView.setAdapter(new GradeRecyclerAdapter(classes, grades));
- recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
- Log.e("Checkpoint", "Setting up Recycler");
- swipeRefreshLayout = (SwipeRefreshLayout) getActivity().findViewById(R.id.refresher);
- swipeRefreshLayout.setRefreshing(false);
- swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
- @Override
- public void onRefresh() {
- new Scraper(getArguments().getString("mp")).execute();
- }
- });
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement