mirror of
https://github.com/hmalik144/Driver.git
synced 2026-03-18 15:36:03 +00:00
- flavours compartmentalised
Took 10 hours 11 minutes
This commit is contained in:
@@ -1,39 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="h_mal.appttude.com.driver">
|
||||
|
||||
<application
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:roundIcon="@mipmap/ic_launcher_round">
|
||||
<activity
|
||||
android:name="h_mal.appttude.com.ui.user.LoginActivity"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@style/AppTheme.NoActionBar.User"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name="h_mal.appttude.com.ui.MainActivity"
|
||||
android:configChanges="orientation|screenSize"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@style/AppTheme.NoActionBar" />
|
||||
<activity
|
||||
android:name="h_mal.appttude.com.ui.update.UpdateActivity"
|
||||
android:theme="@style/AppTheme.NoActionBar.Update" />
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="h_mal.appttude.com.driver"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/file_paths" />
|
||||
</provider>
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package h_mal.appttude.com.ui
|
||||
package h_mal.appttude.com.driver.ui
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.fragment.app.Fragment
|
||||
import h_mal.appttude.com.R
|
||||
import h_mal.appttude.com.databinding.FragmentDriverOverallBinding
|
||||
import h_mal.appttude.com.utils.navigateTo
|
||||
import h_mal.appttude.com.driver.R
|
||||
import h_mal.appttude.com.driver.databinding.FragmentDriverOverallBinding
|
||||
import h_mal.appttude.com.driver.utils.navigateTo
|
||||
|
||||
class DriverOverallFragment : Fragment() {
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
package h_mal.appttude.com.ui
|
||||
package h_mal.appttude.com.driver.ui
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import h_mal.appttude.com.R
|
||||
import h_mal.appttude.com.base.DataSubmissionBaseFragment
|
||||
import h_mal.appttude.com.data.DRIVER
|
||||
import h_mal.appttude.com.databinding.FragmentHomeDriverBinding
|
||||
import h_mal.appttude.com.utils.hide
|
||||
import h_mal.appttude.com.utils.navigateTo
|
||||
import h_mal.appttude.com.utils.show
|
||||
import h_mal.appttude.com.viewmodels.RoleViewModel
|
||||
import h_mal.appttude.com.driver.R
|
||||
import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment
|
||||
import h_mal.appttude.com.driver.data.DRIVER
|
||||
import h_mal.appttude.com.driver.databinding.FragmentHomeDriverBinding
|
||||
import h_mal.appttude.com.driver.utils.hide
|
||||
import h_mal.appttude.com.driver.utils.navigateTo
|
||||
import h_mal.appttude.com.driver.utils.show
|
||||
import h_mal.appttude.com.driver.viewmodels.RoleViewModel
|
||||
|
||||
|
||||
class HomeFragment :
|
||||
@@ -0,0 +1,51 @@
|
||||
package h_mal.appttude.com.driver.ui
|
||||
|
||||
|
||||
import android.os.Bundle
|
||||
import com.google.firebase.auth.FirebaseUser
|
||||
import h_mal.appttude.com.driver.R
|
||||
import h_mal.appttude.com.driver.base.DrawerActivity
|
||||
import h_mal.appttude.com.driver.databinding.ActivityMainBinding
|
||||
import h_mal.appttude.com.driver.databinding.NavHeaderMainBinding
|
||||
import h_mal.appttude.com.driver.utils.setGlideImage
|
||||
import h_mal.appttude.com.driver.viewmodels.MainViewModel
|
||||
|
||||
|
||||
class MainActivity : DrawerActivity<MainViewModel, ActivityMainBinding>() {
|
||||
|
||||
override val containerId: Int = R.id.container
|
||||
override val drawerLayoutId: Int = R.id.drawer_layout
|
||||
override val toolbarId: Int = R.id.toolbar
|
||||
override val navViewId: Int = R.id.nav_view
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
viewModel.getUserDetails()
|
||||
setupLogoutInDrawer()
|
||||
}
|
||||
|
||||
override fun onSuccess(data: Any?) {
|
||||
super.onSuccess(data)
|
||||
|
||||
when (data) {
|
||||
is FirebaseUser -> {
|
||||
setupDrawer(data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupDrawer(user: FirebaseUser) {
|
||||
NavHeaderMainBinding.inflate(layoutInflater).apply {
|
||||
driverEmail.text = user.email
|
||||
driverName.text = user.displayName
|
||||
profileImage.setGlideImage(user.photoUrl)
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupLogoutInDrawer() {
|
||||
binding.logout.setOnClickListener {
|
||||
viewModel.logOut()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,13 @@
|
||||
package h_mal.appttude.com.ui
|
||||
package h_mal.appttude.com.driver.ui
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.fragment.app.Fragment
|
||||
import h_mal.appttude.com.R
|
||||
import h_mal.appttude.com.databinding.FragmentVehicleOverallBinding
|
||||
import h_mal.appttude.com.utils.navigateTo
|
||||
import h_mal.appttude.com.driver.R
|
||||
import h_mal.appttude.com.driver.databinding.FragmentVehicleOverallBinding
|
||||
import h_mal.appttude.com.driver.utils.navigateTo
|
||||
|
||||
|
||||
class VehicleOverallFragment : Fragment() {
|
||||
@@ -1,13 +1,13 @@
|
||||
package h_mal.appttude.com.ui
|
||||
package h_mal.appttude.com.driver.ui
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.fragment.app.Fragment
|
||||
import h_mal.appttude.com.R
|
||||
import h_mal.appttude.com.databinding.FragmentWelcomeBinding
|
||||
import h_mal.appttude.com.utils.navigateTo
|
||||
import h_mal.appttude.com.driver.R
|
||||
import h_mal.appttude.com.driver.databinding.FragmentWelcomeBinding
|
||||
import h_mal.appttude.com.driver.utils.navigateTo
|
||||
|
||||
|
||||
class WelcomeFragment : Fragment() {
|
||||
@@ -1,13 +1,13 @@
|
||||
package h_mal.appttude.com.ui.driverprofile
|
||||
package h_mal.appttude.com.driver.ui.driverprofile
|
||||
|
||||
import android.net.Uri
|
||||
import h_mal.appttude.com.base.DataSubmissionBaseFragment
|
||||
import h_mal.appttude.com.databinding.FragmentDriverLicenseBinding
|
||||
import h_mal.appttude.com.dialogs.DateDialog
|
||||
import h_mal.appttude.com.model.DriversLicense
|
||||
import h_mal.appttude.com.utils.isTrue
|
||||
import h_mal.appttude.com.utils.setGlideImage
|
||||
import h_mal.appttude.com.viewmodels.DriverLicenseViewModel
|
||||
import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment
|
||||
import h_mal.appttude.com.driver.databinding.FragmentDriverLicenseBinding
|
||||
import h_mal.appttude.com.driver.dialogs.DateDialog
|
||||
import h_mal.appttude.com.driver.model.DriversLicense
|
||||
import h_mal.appttude.com.driver.utils.isTrue
|
||||
import h_mal.appttude.com.driver.utils.setGlideImage
|
||||
import h_mal.appttude.com.driver.viewmodels.DriverLicenseViewModel
|
||||
|
||||
class DriverLicenseFragment :
|
||||
DataSubmissionBaseFragment<DriverLicenseViewModel, FragmentDriverLicenseBinding, DriversLicense>() {
|
||||
@@ -1,13 +1,13 @@
|
||||
package h_mal.appttude.com.ui.driverprofile
|
||||
package h_mal.appttude.com.driver.ui.driverprofile
|
||||
|
||||
import android.net.Uri
|
||||
import h_mal.appttude.com.base.DataSubmissionBaseFragment
|
||||
import h_mal.appttude.com.databinding.FragmentDriverProfileBinding
|
||||
import h_mal.appttude.com.dialogs.DateDialog
|
||||
import h_mal.appttude.com.model.DriverProfile
|
||||
import h_mal.appttude.com.utils.isTrue
|
||||
import h_mal.appttude.com.utils.setGlideImage
|
||||
import h_mal.appttude.com.viewmodels.DriverProfileViewModel
|
||||
import h_mal.appttude.com.driver.databinding.FragmentDriverProfileBinding
|
||||
import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment
|
||||
import h_mal.appttude.com.driver.dialogs.DateDialog
|
||||
import h_mal.appttude.com.driver.model.DriverProfile
|
||||
import h_mal.appttude.com.driver.utils.isTrue
|
||||
import h_mal.appttude.com.driver.utils.setGlideImage
|
||||
import h_mal.appttude.com.driver.viewmodels.DriverProfileViewModel
|
||||
|
||||
|
||||
class DriverProfileFragment :
|
||||
@@ -1,13 +1,13 @@
|
||||
package h_mal.appttude.com.ui.driverprofile
|
||||
package h_mal.appttude.com.driver.ui.driverprofile
|
||||
|
||||
import android.net.Uri
|
||||
import h_mal.appttude.com.base.DataSubmissionBaseFragment
|
||||
import h_mal.appttude.com.databinding.FragmentPrivateHireLicenseBinding
|
||||
import h_mal.appttude.com.dialogs.DateDialog
|
||||
import h_mal.appttude.com.model.PrivateHireLicense
|
||||
import h_mal.appttude.com.utils.isTrue
|
||||
import h_mal.appttude.com.utils.setGlideImage
|
||||
import h_mal.appttude.com.viewmodels.PrivateHireLicenseViewModel
|
||||
import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment
|
||||
import h_mal.appttude.com.driver.databinding.FragmentPrivateHireLicenseBinding
|
||||
import h_mal.appttude.com.driver.dialogs.DateDialog
|
||||
import h_mal.appttude.com.driver.model.PrivateHireLicense
|
||||
import h_mal.appttude.com.driver.utils.isTrue
|
||||
import h_mal.appttude.com.driver.utils.setGlideImage
|
||||
import h_mal.appttude.com.driver.viewmodels.PrivateHireLicenseViewModel
|
||||
|
||||
|
||||
class PrivateHireLicenseFragment : DataSubmissionBaseFragment
|
||||
@@ -1,16 +1,16 @@
|
||||
package h_mal.appttude.com.ui.vehicleprofile
|
||||
package h_mal.appttude.com.driver.ui.vehicleprofile
|
||||
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import h_mal.appttude.com.base.DataSubmissionBaseFragment
|
||||
import h_mal.appttude.com.databinding.FragmentInsuranceBinding
|
||||
import h_mal.appttude.com.dialogs.DateDialog
|
||||
import h_mal.appttude.com.model.Insurance
|
||||
import h_mal.appttude.com.utils.isTrue
|
||||
import h_mal.appttude.com.utils.setGlideImage
|
||||
import h_mal.appttude.com.viewmodels.InsuranceViewModel
|
||||
import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment
|
||||
import h_mal.appttude.com.driver.databinding.FragmentInsuranceBinding
|
||||
import h_mal.appttude.com.driver.dialogs.DateDialog
|
||||
import h_mal.appttude.com.driver.model.Insurance
|
||||
import h_mal.appttude.com.driver.utils.isTrue
|
||||
import h_mal.appttude.com.driver.utils.setGlideImage
|
||||
import h_mal.appttude.com.driver.viewmodels.InsuranceViewModel
|
||||
|
||||
|
||||
class InsuranceFragment :
|
||||
@@ -1,12 +1,12 @@
|
||||
package h_mal.appttude.com.ui.vehicleprofile
|
||||
package h_mal.appttude.com.driver.ui.vehicleprofile
|
||||
|
||||
import android.net.Uri
|
||||
import h_mal.appttude.com.base.DataSubmissionBaseFragment
|
||||
import h_mal.appttude.com.databinding.FragmentLogbookBinding
|
||||
import h_mal.appttude.com.model.Logbook
|
||||
import h_mal.appttude.com.utils.isTrue
|
||||
import h_mal.appttude.com.utils.setGlideImage
|
||||
import h_mal.appttude.com.viewmodels.LogbookViewModel
|
||||
import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment
|
||||
import h_mal.appttude.com.driver.databinding.FragmentLogbookBinding
|
||||
import h_mal.appttude.com.driver.model.Logbook
|
||||
import h_mal.appttude.com.driver.utils.isTrue
|
||||
import h_mal.appttude.com.driver.utils.setGlideImage
|
||||
import h_mal.appttude.com.driver.viewmodels.LogbookViewModel
|
||||
|
||||
|
||||
class LogbookFragment :
|
||||
@@ -1,13 +1,13 @@
|
||||
package h_mal.appttude.com.ui.vehicleprofile
|
||||
package h_mal.appttude.com.driver.ui.vehicleprofile
|
||||
|
||||
import android.net.Uri
|
||||
import h_mal.appttude.com.base.DataSubmissionBaseFragment
|
||||
import h_mal.appttude.com.databinding.FragmentMotBinding
|
||||
import h_mal.appttude.com.dialogs.DateDialog
|
||||
import h_mal.appttude.com.model.Mot
|
||||
import h_mal.appttude.com.utils.isTrue
|
||||
import h_mal.appttude.com.utils.setGlideImage
|
||||
import h_mal.appttude.com.viewmodels.MotViewModel
|
||||
import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment
|
||||
import h_mal.appttude.com.driver.databinding.FragmentMotBinding
|
||||
import h_mal.appttude.com.driver.dialogs.DateDialog
|
||||
import h_mal.appttude.com.driver.model.Mot
|
||||
import h_mal.appttude.com.driver.utils.isTrue
|
||||
import h_mal.appttude.com.driver.utils.setGlideImage
|
||||
import h_mal.appttude.com.driver.viewmodels.MotViewModel
|
||||
|
||||
|
||||
class MotFragment : DataSubmissionBaseFragment<MotViewModel, FragmentMotBinding, Mot>() {
|
||||
@@ -1,13 +1,13 @@
|
||||
package h_mal.appttude.com.ui.vehicleprofile
|
||||
package h_mal.appttude.com.driver.ui.vehicleprofile
|
||||
|
||||
import android.net.Uri
|
||||
import h_mal.appttude.com.base.DataSubmissionBaseFragment
|
||||
import h_mal.appttude.com.databinding.FragmentPrivateHireLicenseBinding
|
||||
import h_mal.appttude.com.dialogs.DateDialog
|
||||
import h_mal.appttude.com.model.PrivateHireVehicle
|
||||
import h_mal.appttude.com.utils.isTrue
|
||||
import h_mal.appttude.com.utils.setGlideImage
|
||||
import h_mal.appttude.com.viewmodels.PrivateHireVehicleViewModel
|
||||
import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment
|
||||
import h_mal.appttude.com.driver.databinding.FragmentPrivateHireLicenseBinding
|
||||
import h_mal.appttude.com.driver.dialogs.DateDialog
|
||||
import h_mal.appttude.com.driver.model.PrivateHireVehicle
|
||||
import h_mal.appttude.com.driver.utils.isTrue
|
||||
import h_mal.appttude.com.driver.utils.setGlideImage
|
||||
import h_mal.appttude.com.driver.viewmodels.PrivateHireVehicleViewModel
|
||||
|
||||
|
||||
class PrivateHireVehicleFragment :
|
||||
@@ -1,11 +1,11 @@
|
||||
package h_mal.appttude.com.ui.vehicleprofile
|
||||
package h_mal.appttude.com.driver.ui.vehicleprofile
|
||||
|
||||
import h_mal.appttude.com.base.DataSubmissionBaseFragment
|
||||
import h_mal.appttude.com.databinding.FragmentVehicleSetupBinding
|
||||
import h_mal.appttude.com.dialogs.DateDialog
|
||||
import h_mal.appttude.com.model.VehicleProfile
|
||||
import h_mal.appttude.com.utils.isTrue
|
||||
import h_mal.appttude.com.viewmodels.VehicleProfileViewModel
|
||||
import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment
|
||||
import h_mal.appttude.com.driver.databinding.FragmentVehicleSetupBinding
|
||||
import h_mal.appttude.com.driver.dialogs.DateDialog
|
||||
import h_mal.appttude.com.driver.model.VehicleProfile
|
||||
import h_mal.appttude.com.driver.utils.isTrue
|
||||
import h_mal.appttude.com.driver.viewmodels.VehicleProfileViewModel
|
||||
|
||||
|
||||
class VehicleProfileFragment : DataSubmissionBaseFragment
|
||||
@@ -1,106 +0,0 @@
|
||||
package h_mal.appttude.com.ui
|
||||
|
||||
|
||||
import android.view.MenuItem
|
||||
import androidx.core.view.GravityCompat
|
||||
import androidx.navigation.NavController
|
||||
import androidx.navigation.findNavController
|
||||
import androidx.navigation.ui.AppBarConfiguration
|
||||
import androidx.navigation.ui.navigateUp
|
||||
import androidx.navigation.ui.setupActionBarWithNavController
|
||||
import androidx.navigation.ui.setupWithNavController
|
||||
import com.google.android.material.navigation.NavigationView
|
||||
import com.google.firebase.auth.FirebaseUser
|
||||
import h_mal.appttude.com.R
|
||||
import h_mal.appttude.com.base.BaseActivity
|
||||
import h_mal.appttude.com.databinding.ActivityMainBinding
|
||||
import h_mal.appttude.com.databinding.NavHeaderMainBinding
|
||||
import h_mal.appttude.com.dialogs.ExitDialog.displayExitDialog
|
||||
import h_mal.appttude.com.utils.isTrue
|
||||
import h_mal.appttude.com.utils.setGlideImage
|
||||
import h_mal.appttude.com.viewmodels.MainViewModel
|
||||
|
||||
|
||||
class MainActivity : BaseActivity<MainViewModel, ActivityMainBinding>(),
|
||||
NavigationView.OnNavigationItemSelectedListener {
|
||||
|
||||
lateinit var navController: NavController
|
||||
lateinit var appBarConfiguration: AppBarConfiguration
|
||||
|
||||
override fun setupView(binding: ActivityMainBinding) = binding.run {
|
||||
setSupportActionBar(appBarLayout.toolbar)
|
||||
supportActionBar?.setDisplayShowTitleEnabled(false)
|
||||
navController = findNavController(R.id.container)
|
||||
|
||||
appBarConfiguration = AppBarConfiguration(navController.graph, drawerLayout)
|
||||
navView.setupWithNavController(navController)
|
||||
setupActionBarWithNavController(navController, appBarConfiguration)
|
||||
|
||||
viewModel.getUserDetails()
|
||||
setupLogoutInDrawer()
|
||||
}
|
||||
|
||||
override fun onSupportNavigateUp(): Boolean {
|
||||
return navController.navigateUp(appBarConfiguration) || super.onSupportNavigateUp()
|
||||
}
|
||||
|
||||
override fun setTitle(title: CharSequence) {
|
||||
applyBinding {
|
||||
appBarLayout.toolbar.title = title
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
override fun onBackPressed() {
|
||||
applyBinding {
|
||||
if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
|
||||
drawerLayout.closeDrawer(GravityCompat.START)
|
||||
} else {
|
||||
val navHostFragment = supportFragmentManager.findFragmentById(R.id.container)
|
||||
navHostFragment?.childFragmentManager?.backStackEntryCount?.let { it >= 1 }?.isTrue {
|
||||
super.onBackPressed()
|
||||
}
|
||||
displayExitDialog()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onSuccess(data: Any?) {
|
||||
super.onSuccess(data)
|
||||
when (data) {
|
||||
is FirebaseUser -> {
|
||||
setupDrawer(data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupDrawer(user: FirebaseUser) {
|
||||
applyBinding {
|
||||
NavHeaderMainBinding.inflate(layoutInflater).apply {
|
||||
driverEmail.text = user.email
|
||||
driverName.text = user.displayName
|
||||
profileImage.setGlideImage(user.photoUrl)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupLogoutInDrawer() {
|
||||
applyBinding {
|
||||
logout.setOnClickListener {
|
||||
viewModel.logOut()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onNavigationItemSelected(item: MenuItem): Boolean {
|
||||
// Handle navigation view item clicks here.
|
||||
when (item.itemId) {
|
||||
R.id.nav_user_settings -> {}
|
||||
}
|
||||
applyBinding {
|
||||
drawerLayout.closeDrawer(GravityCompat.START)
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user