Skip to content

Commit 579f415

Browse files
committed
task detail bottom sheet added
1 parent ca37833 commit 579f415

16 files changed

Lines changed: 174 additions & 7 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Clone the repository on your machine. Open the project on your IDE and connect i
1010

1111
## About
1212

13-
It uses firrebase and HarperDB as it's backend. It uses Firebase Authentication for email based auth and Google auth, Firebase Crashlytics for crash reporting and HarperDB as its database.
13+
It uses firebase and HarperDB as it's backend. It uses Firebase Authentication for email based auth and Google auth, Firebase Crashlytics for crash reporting and HarperDB as its database.
1414

1515
- Fully functionable.
1616
- Clean and Simple Material UI.

app/release/app-release.apk

6.71 KB
Binary file not shown.

app/src/main/java/com/vaibhav/taskify/data/repo/TaskRepo.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ class TaskRepo @Inject constructor(
6464
)
6565
val resource = harperDbTaskDataSource.getAllTasksOfUser(email)
6666
if (resource is Resource.Success) {
67-
saveAllNewDataInDb(resource.data!!)
67+
saveAllNewDataInDb(resource.data ?: emptyList())
6868
Resource.Success(message = "Tasks fetched successfully")
6969
} else Resource.Error(message = resource.message, errorType = ErrorTYpe.UNKNOWN)
7070
}

app/src/main/java/com/vaibhav/taskify/ui/mainScreen/home/HomePagerAdapter.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,13 @@ package com.vaibhav.taskify.ui.mainScreen.home
22

33
import androidx.fragment.app.Fragment
44
import androidx.fragment.app.FragmentActivity
5-
import androidx.fragment.app.FragmentPagerAdapter
65
import androidx.viewpager2.adapter.FragmentStateAdapter
76
import com.vaibhav.taskify.ui.mainScreen.home.completed.CompletedFragment
87
import com.vaibhav.taskify.ui.mainScreen.home.onGoing.OnGoingFragment
98
import com.vaibhav.taskify.ui.mainScreen.home.upComing.UpComingFragment
109

1110
class HomePagerAdapter(
12-
fragmentActivity: FragmentActivity
11+
fragmentActivity: FragmentActivity,
1312
) : FragmentStateAdapter(fragmentActivity) {
1413

1514
override fun getItemCount() = 3

app/src/main/java/com/vaibhav/taskify/ui/mainScreen/home/completed/CompletedFragment.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ class CompletedFragment : Fragment(R.layout.fragment_completed) {
3030
super.onViewCreated(view, savedInstanceState)
3131

3232
completedTaskAdapter = TaskAdapter {
33-
3433
}
3534
binding.completedTaskRv.apply {
3635
adapter = completedTaskAdapter
@@ -55,4 +54,5 @@ class CompletedFragment : Fragment(R.layout.fragment_completed) {
5554
binding.errorLayout.errorDescription.text = getString(ErrorTYpe.NO_COMPLETED_TASKS.message)
5655
}
5756

57+
5858
}

app/src/main/java/com/vaibhav/taskify/ui/mainScreen/stats/StatsFragment.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import androidx.core.view.isVisible
88
import androidx.fragment.app.Fragment
99
import androidx.fragment.app.viewModels
1010
import androidx.lifecycle.lifecycleScope
11+
import androidx.navigation.fragment.findNavController
1112
import coil.load
1213
import com.db.williamchart.ExperimentalFeature
1314
import com.db.williamchart.data.AxisType
@@ -36,7 +37,7 @@ class StatsFragment : Fragment(R.layout.fragment_stats) {
3637
super.onViewCreated(view, savedInstanceState)
3738

3839
taskAdapter = TaskAdapter {
39-
40+
showTaskDetail(it)
4041
}
4142
binding.allTaskRecycler.apply {
4243
adapter = taskAdapter
@@ -136,4 +137,9 @@ class StatsFragment : Fragment(R.layout.fragment_stats) {
136137
binding.errorLayout.errorTitle.text = getString(ErrorTYpe.NO_TASKS_LAST_WEEK.title)
137138
binding.errorLayout.errorDescription.text = getString(ErrorTYpe.NO_TASKS_LAST_WEEK.message)
138139
}
140+
141+
private fun showTaskDetail(taskEntity: TaskEntity) {
142+
val action = StatsFragmentDirections.actionStatsFragmentToTaskDetailFragment2(taskEntity)
143+
findNavController().navigate(action)
144+
}
139145
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package com.vaibhav.taskify.ui.mainScreen.taskDetail
2+
3+
import android.graphics.Color
4+
import android.graphics.drawable.ColorDrawable
5+
import android.os.Bundle
6+
import android.view.LayoutInflater
7+
import android.view.View
8+
import android.view.ViewGroup
9+
import androidx.navigation.fragment.navArgs
10+
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
11+
import com.vaibhav.taskify.databinding.FragmentTaskDetailBinding
12+
import dagger.hilt.android.AndroidEntryPoint
13+
14+
15+
@AndroidEntryPoint
16+
class TaskDetailFragment : BottomSheetDialogFragment() {
17+
18+
private lateinit var binding: FragmentTaskDetailBinding
19+
private val args by navArgs<TaskDetailFragmentArgs>()
20+
21+
22+
override fun onCreateView(
23+
inflater: LayoutInflater,
24+
container: ViewGroup?,
25+
savedInstanceState: Bundle?
26+
): View {
27+
dialog?.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
28+
binding = FragmentTaskDetailBinding.inflate(inflater, container, false)
29+
binding.task = args.task
30+
return binding.root
31+
}
32+
33+
34+
}

app/src/main/java/com/vaibhav/taskify/util/BindingAdapter.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,4 +117,9 @@ fun ImageView.setErrorImage(uri: Int) {
117117
@BindingAdapter("setTaskTypeBackground")
118118
fun LinearLayout.setTaskTypeBg(taskType: TaskType) {
119119
background = resources.getDrawable(taskType.tagBackground)
120+
}
121+
122+
@BindingAdapter("setTaskTypeBg")
123+
fun TextView.setTaskTypeBg(taskType: TaskType) {
124+
background = resources.getDrawable(taskType.tagBackground)
120125
}

app/src/main/java/com/vaibhav/taskify/util/Constants.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const val TASK = "TASK"
99
const val FROM_NOTIFICATION = 32
1010
const val GO_TO_TIMER = "FROM_NOTIFICATION"
1111
const val SHOW_ERROR_DIALOG = "ERROR_DIALOG"
12+
const val TASK_DETAIL_DIALOG = "TASK_DETAIL"
1213

1314
enum class TaskType(val imageId: Int, val tagBackground: Int, val color: Int) {
1415
HOME(R.drawable.home_task, R.drawable.home_task_background, R.color.home_task_color1),
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<shape xmlns:android="http://schemas.android.com/apk/res/android">
3+
4+
<solid android:color="?attr/colorSurface" />
5+
<corners
6+
android:topLeftRadius="@dimen/bottom_sheet_corner_radius"
7+
android:topRightRadius="@dimen/bottom_sheet_corner_radius" />
8+
</shape>

0 commit comments

Comments
 (0)