mirror of
https://github.com/szkolny-eu/szkolny-android.git
synced 2024-09-20 22:09:08 -05:00
91 lines
3.7 KiB
Java
91 lines
3.7 KiB
Java
|
package pl.szczodrzynski.edziennik.fragments;
|
||
|
|
||
|
import android.os.Bundle;
|
||
|
import androidx.annotation.NonNull;
|
||
|
import androidx.annotation.Nullable;
|
||
|
import androidx.databinding.DataBindingUtil;
|
||
|
import androidx.fragment.app.Fragment;
|
||
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||
|
import androidx.recyclerview.widget.RecyclerView;
|
||
|
|
||
|
import android.view.LayoutInflater;
|
||
|
import android.view.View;
|
||
|
import android.view.ViewGroup;
|
||
|
|
||
|
import java.util.ArrayList;
|
||
|
|
||
|
import pl.szczodrzynski.edziennik.App;
|
||
|
import pl.szczodrzynski.edziennik.R;
|
||
|
import pl.szczodrzynski.edziennik.MainActivity;
|
||
|
import pl.szczodrzynski.edziennik.adapters.TimetableAdapter;
|
||
|
import pl.szczodrzynski.edziennik.databinding.FragmentRegisterTimetableDayBinding;
|
||
|
import pl.szczodrzynski.edziennik.models.Date;
|
||
|
import pl.szczodrzynski.edziennik.models.Time;
|
||
|
import pl.szczodrzynski.edziennik.utils.Themes;
|
||
|
|
||
|
public class RegisterTimetableDayFragment extends Fragment {
|
||
|
|
||
|
private App app = null;
|
||
|
private MainActivity activity = null;
|
||
|
private FragmentRegisterTimetableDayBinding b = null;
|
||
|
|
||
|
private RecyclerView recyclerView;
|
||
|
|
||
|
@Override
|
||
|
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||
|
activity = (MainActivity) getActivity();
|
||
|
if (getActivity() == null || getContext() == null)
|
||
|
return null;
|
||
|
app = (App) activity.getApplication();
|
||
|
getContext().getTheme().applyStyle(Themes.INSTANCE.getAppTheme(), true);
|
||
|
if (app.profile == null)
|
||
|
return inflater.inflate(R.layout.fragment_loading, container, false);
|
||
|
// activity, context and profile is valid
|
||
|
b = DataBindingUtil.inflate(inflater, R.layout.fragment_register_timetable_day, container, false);
|
||
|
b.refreshLayout.setParent(activity.getSwipeRefreshLayout());
|
||
|
return b.getRoot();
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||
|
if (app == null || app.profile == null || activity == null || b == null || !isAdded())
|
||
|
return;
|
||
|
|
||
|
/*b.getRoot().setOnTouchListener((v, event) -> {
|
||
|
d("TimetableDay", "event "+event);
|
||
|
event.setSource(0x10000000); // set a unique source
|
||
|
activity.swipeRefreshLayout.onTouchEvent(event);
|
||
|
return true;
|
||
|
});*/
|
||
|
//b.refreshLayout.setNestedScrollingEnabled(true);
|
||
|
/*b.refreshLayout.setOnRefreshListener(() -> {
|
||
|
activity.syncCurrentFeature(MainActivity.DRAWER_ITEM_TIMETABLE, b.refreshLayout);
|
||
|
});*/
|
||
|
|
||
|
assert getArguments() != null;
|
||
|
Date date = new Date().parseFromYmd(Long.toString(getArguments().getLong("date", 20181009)));
|
||
|
|
||
|
recyclerView = b.timetableView;
|
||
|
recyclerView.setHasFixedSize(true);
|
||
|
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
|
||
|
|
||
|
app.db.lessonDao().getAllByDate(App.profileId, date, Time.getNow()).observe(this, lessons -> {
|
||
|
if (app == null || app.profile == null || activity == null || b == null || !isAdded())
|
||
|
return;
|
||
|
|
||
|
if (lessons != null && lessons.size() > 0) {
|
||
|
app.db.eventDao().getAllByDate(App.profileId, date).observe(this, events -> {
|
||
|
TimetableAdapter adapter = new TimetableAdapter(getContext(), date, lessons, events == null ? new ArrayList<>() : events);
|
||
|
recyclerView.setAdapter(adapter);
|
||
|
recyclerView.setVisibility(View.VISIBLE);
|
||
|
b.timetableNoData.setVisibility(View.GONE);
|
||
|
});
|
||
|
}
|
||
|
else {
|
||
|
recyclerView.setVisibility(View.GONE);
|
||
|
b.timetableNoData.setVisibility(View.VISIBLE);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
}
|