diff --git a/app/src/main/java/com/denizk0461/weserplaner/fragment/CanteenFragment.kt b/app/src/main/java/com/denizk0461/weserplaner/fragment/CanteenFragment.kt index fadc728..c447fbf 100644 --- a/app/src/main/java/com/denizk0461/weserplaner/fragment/CanteenFragment.kt +++ b/app/src/main/java/com/denizk0461/weserplaner/fragment/CanteenFragment.kt @@ -146,7 +146,6 @@ class CanteenFragment : AppFragment() { // Set up floating action button for switching canteens binding.fabSwitchCanteen.setOnClickListener { - /* * Show an error message is the user is trying to switch canteens while another one is * being downloaded. diff --git a/app/src/main/java/com/denizk0461/weserplaner/fragment/CanteenPageFragment.kt b/app/src/main/java/com/denizk0461/weserplaner/fragment/CanteenPageFragment.kt index 1428825..91113c6 100644 --- a/app/src/main/java/com/denizk0461/weserplaner/fragment/CanteenPageFragment.kt +++ b/app/src/main/java/com/denizk0461/weserplaner/fragment/CanteenPageFragment.kt @@ -97,11 +97,11 @@ class CanteenPageFragment : AppFragment(), CanteenOfferItem // Set up scroll change listener to shrink and extend FAB accordingly binding.recyclerView.setOnScrollChangeListener { _, _, scrollY, _, oldScrollY -> // Calculate the vertical scroll difference - val dy = scrollY - oldScrollY - if (dy > 0) { + val differenceY = scrollY - oldScrollY + if (differenceY > 0) { // If scrolling down, shrink the FAB parentFragment.shrinkFab() - } else if (dy < 0) { + } else if (differenceY < 0) { // If scrolling up, extend the FAB parentFragment.extendFab() } diff --git a/app/src/main/java/com/denizk0461/weserplaner/fragment/EventFragment.kt b/app/src/main/java/com/denizk0461/weserplaner/fragment/EventFragment.kt index 34d4d79..20f3148 100644 --- a/app/src/main/java/com/denizk0461/weserplaner/fragment/EventFragment.kt +++ b/app/src/main/java/com/denizk0461/weserplaner/fragment/EventFragment.kt @@ -71,7 +71,6 @@ class EventFragment : AppFragment() { // Set the view pager's current page to the current day, if the user chose this option if (viewModel.preferenceCurrentDay) { - // Determine the current day and go to the respective page. binding.viewPager.setCurrentItem( when (Calendar.getInstance().get(Calendar.DAY_OF_WEEK)) { diff --git a/app/src/main/java/com/denizk0461/weserplaner/fragment/EventPageFragment.kt b/app/src/main/java/com/denizk0461/weserplaner/fragment/EventPageFragment.kt index 2ae02d0..b273f99 100644 --- a/app/src/main/java/com/denizk0461/weserplaner/fragment/EventPageFragment.kt +++ b/app/src/main/java/com/denizk0461/weserplaner/fragment/EventPageFragment.kt @@ -12,7 +12,6 @@ import com.denizk0461.weserplaner.adapter.StudIPEventItemAdapter import com.denizk0461.weserplaner.databinding.RecyclerViewBinding import com.denizk0461.weserplaner.model.StudIPEvent import com.denizk0461.weserplaner.sheet.EventActionSheet -import com.denizk0461.weserplaner.sheet.ScheduleUpdateSheet import com.denizk0461.weserplaner.viewmodel.EventPageViewModel /** @@ -76,11 +75,11 @@ class EventPageFragment : AppFragment(), StudIPEventItemAda // Set up scroll change listener to shrink and extend FAB accordingly binding.recyclerView.setOnScrollChangeListener { _, _, scrollY, _, oldScrollY -> // Calculate the vertical scroll difference - val dy = scrollY - oldScrollY - if (dy > 0) { + val differenceY = scrollY - oldScrollY + if (differenceY > 0) { // If scrolling down, shrink the FAB parent?.shrinkFab() - } else if (dy < 0) { + } else if (differenceY < 0) { // If scrolling up, extend the FAB parent?.extendFab() } @@ -128,6 +127,19 @@ class EventPageFragment : AppFragment(), StudIPEventItemAda } override fun onClick(event: StudIPEvent) { + // TODO implement something or delete + } + + override fun onLongClick(event: StudIPEvent): Boolean { + // Open a bottom sheet to edit the event +// openBottomSheet( +// ScheduleUpdateSheet().also { sheet -> +// val bundle = Bundle() +// bundle.putBoolean("isEditing", true) +// bundle.putParcelable("event", event) +// sheet.arguments = bundle +// } +// ) // Open a bottom sheet to view options for the event openBottomSheet( EventActionSheet().also { sheet -> @@ -136,18 +148,6 @@ class EventPageFragment : AppFragment(), StudIPEventItemAda sheet.arguments = bundle } ) - } - - override fun onLongClick(event: StudIPEvent): Boolean { - // Open a bottom sheet to edit the event - openBottomSheet( - ScheduleUpdateSheet().also { sheet -> - val bundle = Bundle() - bundle.putBoolean("isEditing", true) - bundle.putParcelable("event", event) - sheet.arguments = bundle - } - ) return true } } \ No newline at end of file diff --git a/app/src/main/java/com/denizk0461/weserplaner/fragment/TaskOverviewFragment.kt b/app/src/main/java/com/denizk0461/weserplaner/fragment/TaskOverviewFragment.kt index bfdd6c4..6c2c1eb 100644 --- a/app/src/main/java/com/denizk0461/weserplaner/fragment/TaskOverviewFragment.kt +++ b/app/src/main/java/com/denizk0461/weserplaner/fragment/TaskOverviewFragment.kt @@ -4,6 +4,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.appcompat.widget.PopupMenu import androidx.fragment.app.viewModels import com.denizk0461.weserplaner.R import com.denizk0461.weserplaner.data.showSnackBar @@ -27,20 +28,46 @@ class TaskOverviewFragment : AppFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + // Set the title to be selected so it scrolls (marquee) + binding.appTitleBar.isSelected = true + // Tell the user that this fragment's functionality is not yet implemented context.theme.showSnackBar( binding.coordinatorLayout, getString(R.string.task_overview_snack_unimplemented), ) + binding.buttonOrder.setOnClickListener { + + + // Create menu for selecting a new canteen + PopupMenu(binding.root.context, binding.buttonOrder).apply { + setOnMenuItemClickListener { item -> + when (item?.itemId) { + R.id.title_alphabetically -> {} + R.id.date_created -> {} + R.id.date_due -> {} + else -> {} // repeat first option + } + + // TODO set user's ordering preference + + // TODO refresh the view + true + } + inflate(R.menu.menu_task_sort) + show() + } + } + // Set up scroll change listener to shrink and extend FAB accordingly binding.recyclerViewLayout.recyclerView.setOnScrollChangeListener { _, _, scrollY, _, oldScrollY -> // Calculate the vertical scroll difference - val dy = scrollY - oldScrollY - if (dy > 0) { + val differenceY = scrollY - oldScrollY + if (differenceY > 0) { // If scrolling down, shrink the FAB binding.fabAddTask.shrink() - } else if (dy < 0) { + } else if (differenceY < 0) { // If scrolling up, extend the FAB binding.fabAddTask.extend() } diff --git a/app/src/main/res/drawable/sort.xml b/app/src/main/res/drawable/sort.xml new file mode 100644 index 0000000..ed8927f --- /dev/null +++ b/app/src/main/res/drawable/sort.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/layout/fragment_task_overview.xml b/app/src/main/res/layout/fragment_task_overview.xml index 8a81ecb..ae143f8 100644 --- a/app/src/main/res/layout/fragment_task_overview.xml +++ b/app/src/main/res/layout/fragment_task_overview.xml @@ -14,17 +14,50 @@ android:layout_height="wrap_content" android:fitsSystemWindows="true"> - + android:layout_marginStart="16dp" + android:layout_marginEnd="8dp"> + + + + + + diff --git a/app/src/main/res/layout/item_task.xml b/app/src/main/res/layout/item_task.xml new file mode 100644 index 0000000..3ef72a0 --- /dev/null +++ b/app/src/main/res/layout/item_task.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/menu_task_sort.xml b/app/src/main/res/menu/menu_task_sort.xml new file mode 100644 index 0000000..c99a72d --- /dev/null +++ b/app/src/main/res/menu/menu_task_sort.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index b3ce5b2..eb28037 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -84,6 +84,12 @@ Startzeit der Veranstaltung Schlusszeit der Veranstaltung + Aufgaben sortieren + + Alphabetisch + Erstellungszeit + Abgabezeit + Aufgaben sind noch nicht implementiert! Aufgabe hinzufügen diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f826434..3b2e8af 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -86,6 +86,11 @@ Event start time Event end time + Order tasks + Alphabetically + Date created + Date due + Tasks are not yet implemented! Add task