Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.dss.invitup.vc.occasionPage.event;
- import android.os.Bundle;
- import android.support.v4.app.Fragment;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.FrameLayout;
- import com.dss.invitup.MainActivity;
- import com.dss.invitup.R;
- import com.dss.invitup.adapters.EventAdapter;
- import com.dss.invitup.events.GetSubOccasionFromOccasionFinishedEvent;
- import com.dss.invitup.events.MainActivityHideLoadingEvent;
- import com.dss.invitup.events.ReturnToEventFragmentEvent;
- import com.dss.invitup.models.Occasion;
- import com.dss.invitup.models.SubOccasion;
- import com.dss.invitup.models.serverResponses.SubOccasionsResponse;
- import com.dss.invitup.singleton.AppController;
- import com.dss.invitup.singleton.InterfaceManager;
- import com.dss.invitup.singleton.ServerManager;
- import com.dss.invitup.singleton.SettingsManager;
- import de.greenrobot.event.EventBus;
- import io.realm.Realm;
- import io.realm.RealmList;
- /**
- * Copyright © 2016 Dihardja Software Solutions. All rights reserved.
- */
- public class EventsFragment extends Fragment {
- RecyclerView recyclerView;
- LinearLayoutManager linearLayoutManager;
- EventAdapter eventAdapter;
- Realm realm;
- Occasion currentOccasion;
- FrameLayout rootFrameLayout;
- RealmList<SubOccasion> subOccasionRealmList = new RealmList<>();
- boolean isHasLocalData = false;
- String currentOccasionId;
- MainActivity mainActivity;
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment_occasion_events, container, false);
- if(!EventBus.getDefault().isRegistered(this)){
- EventBus.getDefault().register(this);
- }
- rootFrameLayout = (FrameLayout)view.findViewById(R.id.eventFragmentRootFrameLayout);
- recyclerView = (RecyclerView) view.findViewById(R.id.eventOccasionDetail);
- mainActivity = (MainActivity) getActivity();
- return view;
- }
- @Override
- public void onViewCreated(View view, Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- mainActivity.position = 0;
- linearLayoutManager = new LinearLayoutManager(getActivity());
- linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
- realm = AppController.getInstance().getRealm();
- eventAdapter = new EventAdapter(getActivity());
- recyclerView.setHasFixedSize(true);
- recyclerView.setLayoutManager(linearLayoutManager);
- recyclerView.setAdapter(eventAdapter);
- }
- @Override
- public void onResume() {
- super.onResume();
- if(mainActivity.isFromPushNotif){
- currentOccasionId = mainActivity.currentOccasionId;
- Occasion theOccasion = realm.where(Occasion.class).equalTo("id", currentOccasionId).findFirst();
- if(theOccasion!=null){
- currentOccasion = theOccasion;
- SettingsManager.getInstance().setCurrentOccasion(currentOccasion);
- }
- }else{
- if(SettingsManager.getInstance().getCurrentOccasion()!=null){
- currentOccasion = SettingsManager.getInstance().getCurrentOccasion();
- currentOccasionId = currentOccasion.getId();
- }
- }
- reloadLocalData();
- }
- public void reloadLocalData(){
- if(currentOccasionId!=null){
- SubOccasionsResponse subOccasionsResponse = realm.where(SubOccasionsResponse.class)
- .equalTo("id", currentOccasionId).findFirst();
- if(subOccasionRealmList.size()!=0){
- isHasLocalData = true;
- subOccasionRealmList = subOccasionsResponse.getSubOccasionRealmList();
- if(currentOccasion!=null){
- eventAdapter.updateAdapter(currentOccasion, subOccasionRealmList);
- }
- }else{
- isHasLocalData = false;
- }
- }
- ServerManager.getInstance().getSubOccasionFromOccasion(currentOccasionId);
- }
- public void onEvent(GetSubOccasionFromOccasionFinishedEvent event){
- if(event.subOccasionsResponse!=null){
- subOccasionRealmList = event.subOccasionsResponse.getSubOccasionRealmList();
- if(currentOccasion!=null) {
- eventAdapter.updateAdapter(currentOccasion, subOccasionRealmList);
- }
- }else{
- if(isHasLocalData){
- InterfaceManager.sharedInstance().showErrorMessage(getActivity(), event.errorMessage);
- }else{
- InterfaceManager.sharedInstance().showErrorMessageForNoLocalData(getActivity(), event.errorMessage);
- }
- }
- }
- public void onEvent(ReturnToEventFragmentEvent event){
- EventBus.getDefault().post(new MainActivityHideLoadingEvent());
- ServerManager.getInstance().getSubOccasionFromOccasion(currentOccasionId);
- }
- }
Add Comment
Please, Sign In to add comment