diff --git a/app/src/main/java/com/dzeio/openhealth/MainActivity.kt b/app/src/main/java/com/dzeio/openhealth/MainActivity.kt index 9d84208..888d0aa 100644 --- a/app/src/main/java/com/dzeio/openhealth/MainActivity.kt +++ b/app/src/main/java/com/dzeio/openhealth/MainActivity.kt @@ -51,6 +51,15 @@ class MainActivity : BaseActivity() { setupActionBarWithNavController(navController, appBarConfiguration) +// binding.bottomNav.setOnItemSelectedListener { +// val currentFragment = supportFragmentManager.fragments.last() +// // currentFragment.javaClass.canonicalName +// +// navController. +// +// false +// } + createNotificationChannel() // Services diff --git a/app/src/main/java/com/dzeio/openhealth/extensions/Extension.kt b/app/src/main/java/com/dzeio/openhealth/extensions/Extension.kt index 89dff24..6e0ce44 100644 --- a/app/src/main/java/com/dzeio/openhealth/extensions/Extension.kt +++ b/app/src/main/java/com/dzeio/openhealth/extensions/Extension.kt @@ -105,10 +105,15 @@ abstract class Extension { * * But it will only be launched if grantResults[0] == PackageManager.PERMISSION_GRANTED */ - open fun onRequestPermissionResult(requestCode: Int, permission: Array, grantResult: IntArray) {} + open fun onRequestPermissionResult( + requestCode: Int, + permission: Array, + grantResult: IntArray + ) { + } /** * Same as Activity/Fragment onActivityResult */ open fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {} -} \ No newline at end of file +} diff --git a/app/src/main/java/com/dzeio/openhealth/extensions/GoogleFit.kt b/app/src/main/java/com/dzeio/openhealth/extensions/GoogleFit.kt index 597bdeb..e8aeae8 100644 --- a/app/src/main/java/com/dzeio/openhealth/extensions/GoogleFit.kt +++ b/app/src/main/java/com/dzeio/openhealth/extensions/GoogleFit.kt @@ -16,7 +16,9 @@ import com.google.android.gms.fitness.FitnessOptions import com.google.android.gms.fitness.data.DataType import com.google.android.gms.fitness.request.DataReadRequest import java.text.DateFormat -import java.util.* +import java.util.Calendar +import java.util.Date +import java.util.TimeZone import java.util.concurrent.TimeUnit class GoogleFit() : Extension() { @@ -126,7 +128,7 @@ class GoogleFit() : Extension() { // Set year to 2013 to be sure to get data from when Google Fit Started to today calendar.set(Calendar.YEAR, 2013) val startTime = calendar.timeInMillis - arrayOf(startTime, endTime) + return@lazy arrayOf(startTime, endTime) } private fun startImport(data: Data) { @@ -150,7 +152,7 @@ class GoogleFit() : Extension() { DataReadRequest.Builder() .read(type) .setTimeRange(timeRange[0], timeRange[1], timeUnit) - .build(), + .build(), data ) } @@ -208,7 +210,7 @@ class GoogleFit() : Extension() { Data.WEIGHT -> { weightLiveData.value = ImportState( - States.DONE, + States.DONE, weightLiveData.value?.list ?: ArrayList() ) @@ -239,7 +241,7 @@ class GoogleFit() : Extension() { return } connectLiveData.value = States.DONE - //signIn(Data.values()[requestCode]) + // signIn(Data.values()[requestCode]) } private lateinit var weightLiveData: MutableLiveData> diff --git a/app/src/main/java/com/dzeio/openhealth/ui/activity/ActivityFragment.kt b/app/src/main/java/com/dzeio/openhealth/ui/activity/ActivityFragment.kt new file mode 100644 index 0000000..5b20b54 --- /dev/null +++ b/app/src/main/java/com/dzeio/openhealth/ui/activity/ActivityFragment.kt @@ -0,0 +1,27 @@ +package com.dzeio.openhealth.ui.activity + +import android.content.SharedPreferences +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.preference.PreferenceManager +import com.dzeio.openhealth.core.BaseFragment +import com.dzeio.openhealth.databinding.FragmentActivityBinding +import dagger.hilt.android.AndroidEntryPoint + +@AndroidEntryPoint +class ActivityFragment : + BaseFragment(ActivityViewModel::class.java) { + + override val bindingInflater: (LayoutInflater, ViewGroup?, Boolean) -> FragmentActivityBinding + get() = FragmentActivityBinding::inflate + + private val settings: SharedPreferences by lazy { + PreferenceManager.getDefaultSharedPreferences(requireContext()) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + } +} diff --git a/app/src/main/java/com/dzeio/openhealth/ui/activity/ActivityViewModel.kt b/app/src/main/java/com/dzeio/openhealth/ui/activity/ActivityViewModel.kt new file mode 100644 index 0000000..11ee7fe --- /dev/null +++ b/app/src/main/java/com/dzeio/openhealth/ui/activity/ActivityViewModel.kt @@ -0,0 +1,8 @@ +package com.dzeio.openhealth.ui.activity + +import com.dzeio.openhealth.core.BaseViewModel +import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject + +@HiltViewModel +class ActivityViewModel @Inject internal constructor() : BaseViewModel() diff --git a/app/src/main/java/com/dzeio/openhealth/ui/browse/BrowseFragment.kt b/app/src/main/java/com/dzeio/openhealth/ui/browse/BrowseFragment.kt new file mode 100644 index 0000000..d9d9e82 --- /dev/null +++ b/app/src/main/java/com/dzeio/openhealth/ui/browse/BrowseFragment.kt @@ -0,0 +1,27 @@ +package com.dzeio.openhealth.ui.browse + +import android.content.SharedPreferences +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.preference.PreferenceManager +import com.dzeio.openhealth.core.BaseFragment +import com.dzeio.openhealth.databinding.FragmentBrowseBinding +import dagger.hilt.android.AndroidEntryPoint + +@AndroidEntryPoint +class BrowseFragment : + BaseFragment(BrowseViewModel::class.java) { + + override val bindingInflater: (LayoutInflater, ViewGroup?, Boolean) -> FragmentBrowseBinding + get() = FragmentBrowseBinding::inflate + + private val settings: SharedPreferences by lazy { + PreferenceManager.getDefaultSharedPreferences(requireContext()) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + } +} diff --git a/app/src/main/java/com/dzeio/openhealth/ui/browse/BrowseViewModel.kt b/app/src/main/java/com/dzeio/openhealth/ui/browse/BrowseViewModel.kt new file mode 100644 index 0000000..6570d91 --- /dev/null +++ b/app/src/main/java/com/dzeio/openhealth/ui/browse/BrowseViewModel.kt @@ -0,0 +1,8 @@ +package com.dzeio.openhealth.ui.browse + +import com.dzeio.openhealth.core.BaseViewModel +import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject + +@HiltViewModel +class BrowseViewModel @Inject internal constructor() : BaseViewModel() diff --git a/app/src/main/java/com/dzeio/openhealth/ui/extension/ExtensionFragment.kt b/app/src/main/java/com/dzeio/openhealth/ui/extension/ExtensionFragment.kt index 2171953..718f120 100644 --- a/app/src/main/java/com/dzeio/openhealth/ui/extension/ExtensionFragment.kt +++ b/app/src/main/java/com/dzeio/openhealth/ui/extension/ExtensionFragment.kt @@ -22,7 +22,6 @@ class ExtensionFragment : override val bindingInflater: (LayoutInflater, ViewGroup?, Boolean) -> FragmentExtensionBinding = FragmentExtensionBinding::inflate - private val args: ExtensionFragmentArgs by navArgs() override fun onViewCreated(view: View, savedInstanceState: Bundle?) { @@ -56,4 +55,4 @@ class ExtensionFragment : } } } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/dzeio/openhealth/ui/water/WaterSizeSelectorDialog.kt b/app/src/main/java/com/dzeio/openhealth/ui/water/WaterSizeSelectorDialog.kt index e554d4a..ca4c865 100644 --- a/app/src/main/java/com/dzeio/openhealth/ui/water/WaterSizeSelectorDialog.kt +++ b/app/src/main/java/com/dzeio/openhealth/ui/water/WaterSizeSelectorDialog.kt @@ -1,7 +1,7 @@ package com.dzeio.openhealth.ui.water -import android.graphics.Color import android.view.LayoutInflater +import androidx.core.view.marginBottom import com.dzeio.openhealth.R import com.dzeio.openhealth.core.BaseDialog import com.dzeio.openhealth.databinding.DialogWaterSizeSelectorBinding @@ -31,35 +31,10 @@ class WaterSizeSelectorDialog : } viewModel.cupSize.observe(this) { - binding.customSizeText.text = String.format( + binding.customSize.text = String.format( getString(R.string.custom_amount), "${it}ml" ) - binding.size100ml.setBackgroundColor(Color.TRANSPARENT) - binding.size250ml.setBackgroundColor(Color.TRANSPARENT) - binding.size500ml.setBackgroundColor(Color.TRANSPARENT) - binding.size1000ml.setBackgroundColor(Color.TRANSPARENT) - binding.customSize.setBackgroundColor(Color.TRANSPARENT) - val back = resources.getColor( - com.google.android.material.R.color.material_dynamic_primary95, - ) - when (it) { - 100 -> { - binding.size100ml.setBackgroundColor(back) - } - 250 -> { - binding.size250ml.setBackgroundColor(back) - } - 500 -> { - binding.size500ml.setBackgroundColor(back) - } - 1000 -> { - binding.size1000ml.setBackgroundColor(back) - } - else -> { - binding.customSize.setBackgroundColor(back) - } - } } binding.size100ml.setOnClickListener { @@ -89,6 +64,9 @@ class WaterSizeSelectorDialog : .setOnCancelListener { it.dismiss() } + .setNegativeButton(R.string.cancel) { dialog, _ -> + dialog.dismiss() + } .setPositiveButton( R.string.validate ) { dialog, _ -> diff --git a/app/src/main/java/com/dzeio/openhealth/ui/weight/ListWeightFragment.kt b/app/src/main/java/com/dzeio/openhealth/ui/weight/ListWeightFragment.kt index d96316d..2f63f07 100644 --- a/app/src/main/java/com/dzeio/openhealth/ui/weight/ListWeightFragment.kt +++ b/app/src/main/java/com/dzeio/openhealth/ui/weight/ListWeightFragment.kt @@ -1,5 +1,6 @@ package com.dzeio.openhealth.ui.weight +import android.content.SharedPreferences import android.os.Bundle import android.view.LayoutInflater import android.view.Menu @@ -30,7 +31,7 @@ class ListWeightFragment : override val bindingInflater: (LayoutInflater, ViewGroup?, Boolean) -> FragmentListWeightBinding = FragmentListWeightBinding::inflate - val settings by lazy { + val settings: SharedPreferences by lazy { PreferenceManager.getDefaultSharedPreferences(requireContext()) } diff --git a/app/src/main/java/com/dzeio/openhealth/utils/NavigationUtils.kt b/app/src/main/java/com/dzeio/openhealth/utils/NavigationUtils.kt new file mode 100644 index 0000000..f169eb2 --- /dev/null +++ b/app/src/main/java/com/dzeio/openhealth/utils/NavigationUtils.kt @@ -0,0 +1,12 @@ +package com.dzeio.openhealth.utils + +import androidx.fragment.app.Fragment + +object NavigationUtils { + + fun navigation(fragment: Fragment) { + + + + } +} diff --git a/app/src/main/res/drawable/ic_outline_account_circle_24.xml b/app/src/main/res/drawable/ic_outline_account_circle_24.xml new file mode 100644 index 0000000..df8eb9a --- /dev/null +++ b/app/src/main/res/drawable/ic_outline_account_circle_24.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/drawable/ic_outline_calendar_today_24.xml b/app/src/main/res/drawable/ic_outline_calendar_today_24.xml new file mode 100644 index 0000000..712c4df --- /dev/null +++ b/app/src/main/res/drawable/ic_outline_calendar_today_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_outline_home_24.xml b/app/src/main/res/drawable/ic_outline_home_24.xml new file mode 100644 index 0000000..11b964a --- /dev/null +++ b/app/src/main/res/drawable/ic_outline_home_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_outline_list_24.xml b/app/src/main/res/drawable/ic_outline_list_24.xml new file mode 100644 index 0000000..1104a1a --- /dev/null +++ b/app/src/main/res/drawable/ic_outline_list_24.xml @@ -0,0 +1,11 @@ + + + diff --git a/app/src/main/res/drawable/shape_rounded.xml b/app/src/main/res/drawable/shape_rounded.xml new file mode 100644 index 0000000..3e4a250 --- /dev/null +++ b/app/src/main/res/drawable/shape_rounded.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index ba359e6..68f3ed0 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,46 +1,67 @@ - + > - - - - - - - - app:layout_behavior="@string/appbar_scrolling_view_behavior"> - - + + + + + + - app:defaultNavHost="true" - app:navGraph="@navigation/mobile_navigation" /> + + app:defaultNavHost="true" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" - \ No newline at end of file + app:layout_constraintTop_toTopOf="parent" + app:navGraph="@navigation/mobile_navigation" /> + + + + + + + + + diff --git a/app/src/main/res/layout/dialog_water_size_selector.xml b/app/src/main/res/layout/dialog_water_size_selector.xml index 4bf3aac..a2a38a1 100644 --- a/app/src/main/res/layout/dialog_water_size_selector.xml +++ b/app/src/main/res/layout/dialog_water_size_selector.xml @@ -32,129 +32,66 @@ android:layout_marginBottom="8dp" android:layout_height="match_parent"> - + + - - - - - - - + android:text="250ml" + style="@style/Widget.Material3.Button.TextButton" + /> - - - - - + android:text="500ml" + style="@style/Widget.Material3.Button.TextButton" + /> - - - - - - + android:layout_weight="1" + android:text="1000ml" + style="@style/Widget.Material3.Button.TextButton" + /> - - - - - android:padding="16dp"> - - - - + style="@style/Widget.Material3.Button.TextButton" + tools:text="Custom amount: 1234ml" + /> + -