From 67f83a4d2fad85b79d9f59d1f075bb2eccae808f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Borcz?= Date: Mon, 7 May 2018 17:57:58 +0200 Subject: [PATCH] Mark current week (#100) --- .../wulkanowy/ui/main/attendance/AttendanceContract.java | 2 ++ .../wulkanowy/ui/main/attendance/AttendanceFragment.java | 8 ++++++++ .../wulkanowy/ui/main/attendance/AttendancePresenter.java | 1 + .../io/github/wulkanowy/ui/main/exams/ExamsContract.java | 2 ++ .../io/github/wulkanowy/ui/main/exams/ExamsFragment.java | 8 ++++++++ .../io/github/wulkanowy/ui/main/exams/ExamsPresenter.java | 1 + .../wulkanowy/ui/main/timetable/TimetableContract.java | 2 ++ .../wulkanowy/ui/main/timetable/TimetableFragment.java | 8 ++++++++ .../wulkanowy/ui/main/timetable/TimetablePresenter.java | 1 + app/src/main/res/layout/current_week_tab.xml | 8 ++++++++ 10 files changed, 41 insertions(+) create mode 100644 app/src/main/res/layout/current_week_tab.xml diff --git a/app/src/main/java/io/github/wulkanowy/ui/main/attendance/AttendanceContract.java b/app/src/main/java/io/github/wulkanowy/ui/main/attendance/AttendanceContract.java index 29db9a57d..daee63d28 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/main/attendance/AttendanceContract.java +++ b/app/src/main/java/io/github/wulkanowy/ui/main/attendance/AttendanceContract.java @@ -17,6 +17,8 @@ public interface AttendanceContract { void setAdapterWithTabLayout(); boolean isMenuVisible(); + + void setThemeForTab(int position); } @PerActivity diff --git a/app/src/main/java/io/github/wulkanowy/ui/main/attendance/AttendanceFragment.java b/app/src/main/java/io/github/wulkanowy/ui/main/attendance/AttendanceFragment.java index 852eba20d..e26c9fc7b 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/main/attendance/AttendanceFragment.java +++ b/app/src/main/java/io/github/wulkanowy/ui/main/attendance/AttendanceFragment.java @@ -80,6 +80,14 @@ public class AttendanceFragment extends BaseFragment implements AttendanceContra viewPager.setCurrentItem(position, false); } + @Override + public void setThemeForTab(int position) { + TabLayout.Tab tab = tabLayout.getTabAt(position); + if (tab != null) { + tab.setCustomView(R.layout.current_week_tab); + } + } + @Override public void setActivityTitle() { setTitle(getString(R.string.attendance_text)); diff --git a/app/src/main/java/io/github/wulkanowy/ui/main/attendance/AttendancePresenter.java b/app/src/main/java/io/github/wulkanowy/ui/main/attendance/AttendancePresenter.java index f32aba351..55541ed26 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/main/attendance/AttendancePresenter.java +++ b/app/src/main/java/io/github/wulkanowy/ui/main/attendance/AttendancePresenter.java @@ -80,6 +80,7 @@ public class AttendancePresenter extends BasePresenter public void onEndLoadingAsync(boolean result, Exception exception) { if (result) { getView().setAdapterWithTabLayout(); + getView().setThemeForTab(positionToScroll); getView().scrollViewPagerToPosition(positionToScroll); listener.onFragmentIsReady(); } diff --git a/app/src/main/java/io/github/wulkanowy/ui/main/exams/ExamsContract.java b/app/src/main/java/io/github/wulkanowy/ui/main/exams/ExamsContract.java index d4692c03b..da733f1ed 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/main/exams/ExamsContract.java +++ b/app/src/main/java/io/github/wulkanowy/ui/main/exams/ExamsContract.java @@ -17,6 +17,8 @@ public interface ExamsContract { void setTabDataToAdapter(String date); void setAdapterWithTabLayout(); + + void setThemeForTab(int position); } @PerActivity diff --git a/app/src/main/java/io/github/wulkanowy/ui/main/exams/ExamsFragment.java b/app/src/main/java/io/github/wulkanowy/ui/main/exams/ExamsFragment.java index 064e435c9..9ac06b1e2 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/main/exams/ExamsFragment.java +++ b/app/src/main/java/io/github/wulkanowy/ui/main/exams/ExamsFragment.java @@ -73,6 +73,14 @@ public class ExamsFragment extends BaseFragment implements ExamsContract.View { viewPager.setCurrentItem(position, false); } + @Override + public void setThemeForTab(int position) { + TabLayout.Tab tab = tabLayout.getTabAt(position); + if (tab != null) { + tab.setCustomView(R.layout.current_week_tab); + } + } + @Override public void setTabDataToAdapter(String date) { pagerAdapter.addFragment(ExamsTabFragment.newInstance(date), date); diff --git a/app/src/main/java/io/github/wulkanowy/ui/main/exams/ExamsPresenter.java b/app/src/main/java/io/github/wulkanowy/ui/main/exams/ExamsPresenter.java index 2740e9a78..5f6cd4dc9 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/main/exams/ExamsPresenter.java +++ b/app/src/main/java/io/github/wulkanowy/ui/main/exams/ExamsPresenter.java @@ -84,6 +84,7 @@ public class ExamsPresenter extends BasePresenter public void onEndLoadingAsync(boolean result, Exception exception) { if (result) { getView().setAdapterWithTabLayout(); + getView().setThemeForTab(positionToScroll); getView().scrollViewPagerToPosition(positionToScroll); listener.onFragmentIsReady(); } diff --git a/app/src/main/java/io/github/wulkanowy/ui/main/timetable/TimetableContract.java b/app/src/main/java/io/github/wulkanowy/ui/main/timetable/TimetableContract.java index ad11c1522..57eca17e4 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/main/timetable/TimetableContract.java +++ b/app/src/main/java/io/github/wulkanowy/ui/main/timetable/TimetableContract.java @@ -17,6 +17,8 @@ public interface TimetableContract { void setAdapterWithTabLayout(); boolean isMenuVisible(); + + void setThemeForTab(int position); } @PerFragment diff --git a/app/src/main/java/io/github/wulkanowy/ui/main/timetable/TimetableFragment.java b/app/src/main/java/io/github/wulkanowy/ui/main/timetable/TimetableFragment.java index 99acb6465..6c5fd501f 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/main/timetable/TimetableFragment.java +++ b/app/src/main/java/io/github/wulkanowy/ui/main/timetable/TimetableFragment.java @@ -78,6 +78,14 @@ public class TimetableFragment extends BaseFragment implements TimetableContract viewPager.setCurrentItem(position, false); } + @Override + public void setThemeForTab(int position) { + TabLayout.Tab tab = tabLayout.getTabAt(position); + if (tab != null) { + tab.setCustomView(R.layout.current_week_tab); + } + } + @Override public void setActivityTitle() { setTitle(getString(R.string.timetable_text)); diff --git a/app/src/main/java/io/github/wulkanowy/ui/main/timetable/TimetablePresenter.java b/app/src/main/java/io/github/wulkanowy/ui/main/timetable/TimetablePresenter.java index 5c1802367..d9c9c9c66 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/main/timetable/TimetablePresenter.java +++ b/app/src/main/java/io/github/wulkanowy/ui/main/timetable/TimetablePresenter.java @@ -79,6 +79,7 @@ public class TimetablePresenter extends BasePresenter public void onEndLoadingAsync(boolean result, Exception exception) { if (result) { getView().setAdapterWithTabLayout(); + getView().setThemeForTab(positionToScroll); getView().scrollViewPagerToPosition(positionToScroll); listener.onFragmentIsReady(); } diff --git a/app/src/main/res/layout/current_week_tab.xml b/app/src/main/res/layout/current_week_tab.xml new file mode 100644 index 000000000..d139a4831 --- /dev/null +++ b/app/src/main/res/layout/current_week_tab.xml @@ -0,0 +1,8 @@ + + \ No newline at end of file