mirror of
https://github.com/hmalik144/Driver.git
synced 2026-03-18 07:26:03 +00:00
- flavours compartmentalised
Took 10 hours 11 minutes
This commit is contained in:
12
app/src/admin/AndroidManifest.xml
Normal file
12
app/src/admin/AndroidManifest.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- To auto-complete the email text field in the login form with the user's emails -->
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
|
||||
<application
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:roundIcon="@mipmap/ic_launcher_round">
|
||||
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@@ -1,4 +1,4 @@
|
||||
package h_mal.appttude.com.objects
|
||||
package h_mal.appttude.com.driver.admin.objects
|
||||
|
||||
|
||||
class ApprovalsObject {
|
||||
@@ -29,6 +29,6 @@ class ApprovalsObject {
|
||||
this.mot_details_approval = mot_details_approval
|
||||
this.insurance_details_approval = insurance_details_approval
|
||||
this.log_book_approval = log_book_approval
|
||||
ph_car_approval = private_hire_vehicle_approval
|
||||
this.ph_car_approval = private_hire_vehicle_approval
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package h_mal.appttude.com.driver.admin.objects
|
||||
|
||||
import h_mal.appttude.com.driver.model.*
|
||||
import java.util.*
|
||||
|
||||
class ArchiveObject {
|
||||
var driver_license: HashMap<String, DriversLicense>? = null
|
||||
var private_hire: HashMap<String, PrivateHireLicense>? = null
|
||||
var vehicle_details: HashMap<String, VehicleProfile>? = null
|
||||
var insurance_details: HashMap<String, Insurance>? = null
|
||||
var mot_details: HashMap<String, Mot>? = null
|
||||
var log_book: HashMap<String, Logbook>? = null
|
||||
var ph_car: HashMap<String, PrivateHireVehicle>? = null
|
||||
|
||||
constructor()
|
||||
constructor(
|
||||
driver_license: HashMap<String, DriversLicense>?,
|
||||
private_hire: HashMap<String, PrivateHireLicense>?,
|
||||
vehicle_details: HashMap<String, VehicleProfile>?,
|
||||
insurance_details: HashMap<String, Insurance>?,
|
||||
mot_details: HashMap<String, Mot>?,
|
||||
log_book: HashMap<String, Logbook>?,
|
||||
private_hire_vehicle: HashMap<String, PrivateHireVehicle>?
|
||||
) {
|
||||
this.driver_license = driver_license
|
||||
this.private_hire = private_hire
|
||||
this.vehicle_details = vehicle_details
|
||||
this.insurance_details = insurance_details
|
||||
this.mot_details = mot_details
|
||||
this.log_book = log_book
|
||||
this.ph_car = private_hire_vehicle
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package h_mal.appttude.com.objects
|
||||
package h_mal.appttude.com.driver.admin.objects
|
||||
|
||||
|
||||
class UserObject {
|
||||
@@ -1,7 +1,7 @@
|
||||
package h_mal.appttude.com.objects
|
||||
package h_mal.appttude.com.driver.admin.objects
|
||||
|
||||
import h_mal.appttude.com.objects.wholeObject.DriverProfile
|
||||
import h_mal.appttude.com.objects.wholeObject.VehicleProfile
|
||||
import h_mal.appttude.com.driver.admin.objects.wholeObject.DriverProfile
|
||||
import h_mal.appttude.com.driver.admin.objects.wholeObject.VehicleProfile
|
||||
|
||||
|
||||
class WholeDriverObject {
|
||||
@@ -0,0 +1,24 @@
|
||||
package h_mal.appttude.com.driver.admin.objects.wholeObject
|
||||
|
||||
import h_mal.appttude.com.driver.model.DriverProfile
|
||||
import h_mal.appttude.com.driver.model.DriversLicense
|
||||
import h_mal.appttude.com.driver.model.PrivateHireLicense
|
||||
|
||||
|
||||
class DriverProfile {
|
||||
var driver_profile: DriverProfile? = null
|
||||
var driver_license: DriversLicense? = null
|
||||
var private_hire: PrivateHireLicense? = null
|
||||
|
||||
constructor(
|
||||
driver_profile: DriverProfile?,
|
||||
driver_license: DriversLicense?,
|
||||
private_hire: PrivateHireLicense?
|
||||
) {
|
||||
this.driver_profile = driver_profile
|
||||
this.driver_license = driver_license
|
||||
this.private_hire = private_hire
|
||||
}
|
||||
|
||||
constructor()
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
package h_mal.appttude.com.objects.wholeObject
|
||||
package h_mal.appttude.com.driver.admin.objects.wholeObject
|
||||
|
||||
import android.os.Parcel
|
||||
import android.os.Parcelable
|
||||
import h_mal.appttude.com.objects.WholeDriverObject
|
||||
import h_mal.appttude.com.driver.admin.objects.WholeDriverObject
|
||||
|
||||
|
||||
class MappedObject : Parcelable {
|
||||
@@ -0,0 +1,31 @@
|
||||
package h_mal.appttude.com.driver.admin.objects.wholeObject
|
||||
|
||||
import h_mal.appttude.com.driver.model.Insurance
|
||||
import h_mal.appttude.com.driver.model.Logbook
|
||||
import h_mal.appttude.com.driver.model.PrivateHireVehicle
|
||||
import h_mal.appttude.com.driver.model.Mot
|
||||
import h_mal.appttude.com.driver.model.VehicleProfile
|
||||
|
||||
|
||||
class VehicleProfile {
|
||||
var insurance_details: Insurance? = null
|
||||
var log_book: Logbook? = null
|
||||
var mot_details: Mot? = null
|
||||
var vehicle_details: VehicleProfile? = null
|
||||
var privateHireVehicle: PrivateHireVehicle? = null
|
||||
|
||||
constructor()
|
||||
constructor(
|
||||
insurance_details: Insurance?,
|
||||
log_book: Logbook?,
|
||||
mot_details: Mot?,
|
||||
vehicle_details: VehicleProfile?,
|
||||
private_hire_vehicle: PrivateHireVehicle?
|
||||
) {
|
||||
this.insurance_details = insurance_details
|
||||
this.log_book = log_book
|
||||
this.mot_details = mot_details
|
||||
this.vehicle_details = vehicle_details
|
||||
this.privateHireVehicle = private_hire_vehicle
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
package h_mal.appttude.com.ui
|
||||
package h_mal.appttude.com.driver.ui
|
||||
|
||||
import android.app.Activity
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.ArrayAdapter
|
||||
import h_mal.appttude.com.objects.wholeObject.MappedObject
|
||||
import h_mal.appttude.com.R
|
||||
import h_mal.appttude.com.driver.admin.objects.wholeObject.MappedObject
|
||||
import h_mal.appttude.com.driver.R
|
||||
|
||||
|
||||
class ApprovalListAdapter(
|
||||
@@ -1,4 +1,4 @@
|
||||
package h_mal.appttude.com.ui
|
||||
package h_mal.appttude.com.driver.ui
|
||||
|
||||
import android.app.AlertDialog
|
||||
import android.content.Context
|
||||
@@ -1,4 +1,4 @@
|
||||
package h_mal.appttude.com.ui
|
||||
package h_mal.appttude.com.driver.ui
|
||||
|
||||
import android.app.AlertDialog
|
||||
import android.content.DialogInterface
|
||||
@@ -8,14 +8,14 @@ import android.util.Log
|
||||
import android.view.*
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.google.firebase.database.DataSnapshot
|
||||
import com.google.firebase.database.DatabaseError
|
||||
import com.google.firebase.database.DatabaseReference
|
||||
import com.google.firebase.database.ValueEventListener
|
||||
import h_mal.appttude.com.objects.WholeDriverObject
|
||||
import h_mal.appttude.com.objects.wholeObject.MappedObject
|
||||
import h_mal.appttude.com.R
|
||||
import kotlinx.android.synthetic.admin.fragment_home_super_user.*
|
||||
import h_mal.appttude.com.driver.admin.objects.WholeDriverObject
|
||||
import h_mal.appttude.com.driver.admin.objects.wholeObject.MappedObject
|
||||
import h_mal.appttude.com.driver.R
|
||||
import java.io.IOException
|
||||
import java.util.*
|
||||
|
||||
@@ -42,7 +42,7 @@ class HomeSuperUserFragment : Fragment() {
|
||||
// Inflate the layout for this fragment
|
||||
val view: View = inflater.inflate(R.layout.fragment_home_super_user, container, false)
|
||||
|
||||
recycler_view.apply {
|
||||
view.findViewById<RecyclerView>(R.id.recycler_view).apply {
|
||||
layoutManager = LinearLayoutManager(context)
|
||||
recyclerViewAdapter = RecyclerViewAdapter(context, mappedObjectList)
|
||||
adapter = recyclerViewAdapter
|
||||
@@ -0,0 +1,50 @@
|
||||
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,4 +1,4 @@
|
||||
package h_mal.appttude.com.ui
|
||||
package h_mal.appttude.com.driver.ui
|
||||
|
||||
import android.app.AlertDialog
|
||||
import android.content.Context
|
||||
@@ -12,9 +12,9 @@ import android.widget.LinearLayout
|
||||
import android.widget.TextView
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.squareup.picasso.Picasso
|
||||
import h_mal.appttude.com.objects.UserObject
|
||||
import h_mal.appttude.com.objects.wholeObject.MappedObject
|
||||
import h_mal.appttude.com.R
|
||||
import h_mal.appttude.com.driver.admin.objects.UserObject
|
||||
import h_mal.appttude.com.driver.admin.objects.wholeObject.MappedObject
|
||||
import h_mal.appttude.com.driver.R
|
||||
|
||||
|
||||
class RecyclerViewAdapter constructor(var context: Context?, var objects: List<MappedObject>?) :
|
||||
@@ -1,4 +1,4 @@
|
||||
package h_mal.appttude.com.ui
|
||||
package h_mal.appttude.com.driver.ui
|
||||
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
@@ -7,8 +7,8 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.GridView
|
||||
import androidx.fragment.app.Fragment
|
||||
import h_mal.appttude.com.objects.wholeObject.MappedObject
|
||||
import h_mal.appttude.com.R
|
||||
import h_mal.appttude.com.driver.admin.objects.wholeObject.MappedObject
|
||||
import h_mal.appttude.com.driver.R
|
||||
|
||||
|
||||
class UserMainFragment : Fragment() {
|
||||
@@ -1,33 +0,0 @@
|
||||
package h_mal.appttude.com.objects
|
||||
|
||||
import h_mal.appttude.com.model.*
|
||||
import java.util.*
|
||||
|
||||
class ArchiveObject {
|
||||
var driver_license: HashMap<String, DriversLicenseObject>? = null
|
||||
var private_hire: HashMap<String, PrivateHireObject>? = null
|
||||
var vehicle_details: HashMap<String, VehicleProfileObject>? = null
|
||||
var insurance_details: HashMap<String, InsuranceObject>? = null
|
||||
var mot_details: HashMap<String, MotObject>? = null
|
||||
var log_book: HashMap<String, LogbookObject>? = null
|
||||
var ph_car: HashMap<String, PrivateHireVehicleObject>? = null
|
||||
|
||||
constructor()
|
||||
constructor(
|
||||
driver_license: HashMap<String, DriversLicenseObject>?,
|
||||
private_hire: HashMap<String, PrivateHireObject>?,
|
||||
vehicle_details: HashMap<String, VehicleProfileObject>?,
|
||||
insurance_details: HashMap<String, InsuranceObject>?,
|
||||
mot_details: HashMap<String, MotObject>?,
|
||||
log_book: HashMap<String, LogbookObject>?,
|
||||
private_hire_vehicle: HashMap<String, PrivateHireVehicleObject>?
|
||||
) {
|
||||
this.driver_license = driver_license
|
||||
this.private_hire = private_hire
|
||||
this.vehicle_details = vehicle_details
|
||||
this.insurance_details = insurance_details
|
||||
this.mot_details = mot_details
|
||||
this.log_book = log_book
|
||||
this.ph_car = private_hire_vehicle
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
package h_mal.appttude.com.objects.wholeObject
|
||||
|
||||
import h_mal.appttude.com.model.DriverProfileObject
|
||||
import h_mal.appttude.com.model.DriversLicenseObject
|
||||
import h_mal.appttude.com.model.PrivateHireObject
|
||||
|
||||
|
||||
class DriverProfile {
|
||||
var driver_profile: DriverProfileObject? = null
|
||||
var driver_license: DriversLicenseObject? = null
|
||||
var private_hire: PrivateHireObject? = null
|
||||
|
||||
constructor(
|
||||
driver_profile: DriverProfileObject?,
|
||||
driver_license: DriversLicenseObject?,
|
||||
private_hire: PrivateHireObject?
|
||||
) {
|
||||
this.driver_profile = driver_profile
|
||||
this.driver_license = driver_license
|
||||
this.private_hire = private_hire
|
||||
}
|
||||
|
||||
constructor()
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
package h_mal.appttude.com.objects.wholeObject
|
||||
|
||||
import h_mal.appttude.com.model.InsuranceObject
|
||||
import h_mal.appttude.com.model.LogbookObject
|
||||
import h_mal.appttude.com.model.PrivateHireVehicleObject
|
||||
import h_mal.appttude.com.model.MotObject
|
||||
import h_mal.appttude.com.model.VehicleProfileObject
|
||||
|
||||
|
||||
class VehicleProfile {
|
||||
var insurance_details: InsuranceObject? = null
|
||||
var log_book: LogbookObject? = null
|
||||
var mot_details: MotObject? = null
|
||||
var vehicle_details: VehicleProfileObject? = null
|
||||
var privateHireVehicleObject: PrivateHireVehicleObject? = null
|
||||
|
||||
constructor()
|
||||
|
||||
// public VehicleProfile(InsuranceObject insurance_details, LogbookObject log_book, MotObject mot_details, VehicleProfileObject vehicle_details) {
|
||||
// this.insurance_details = insurance_details;
|
||||
// this.log_book = log_book;
|
||||
// this.mot_details = mot_details;
|
||||
// this.vehicle_details = vehicle_details;
|
||||
// }
|
||||
constructor(
|
||||
insurance_details: InsuranceObject?,
|
||||
log_book: LogbookObject?,
|
||||
mot_details: MotObject?,
|
||||
vehicle_details: VehicleProfileObject?,
|
||||
private_hire_vehicle: PrivateHireVehicleObject?
|
||||
) {
|
||||
this.insurance_details = insurance_details
|
||||
this.log_book = log_book
|
||||
this.mot_details = mot_details
|
||||
this.vehicle_details = vehicle_details
|
||||
privateHireVehicleObject = private_hire_vehicle
|
||||
}
|
||||
}
|
||||
@@ -1,101 +0,0 @@
|
||||
package h_mal.appttude.com.ui
|
||||
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
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.dialogs.ExitDialog.displayExitDialog
|
||||
import h_mal.appttude.com.utils.setGlideImage
|
||||
import h_mal.appttude.com.viewmodels.MainViewModel
|
||||
import kotlinx.android.synthetic.main.activity_main.*
|
||||
import kotlinx.android.synthetic.main.app_bar_main.*
|
||||
import kotlinx.android.synthetic.main.nav_header_main.view.*
|
||||
|
||||
|
||||
class MainActivity : BaseActivity<MainViewModel>(),
|
||||
NavigationView.OnNavigationItemSelectedListener {
|
||||
|
||||
private val vm by createLazyViewModel<MainViewModel>()
|
||||
override fun getViewModel(): MainViewModel = vm
|
||||
override val layoutId: Int = R.layout.activity_main
|
||||
|
||||
lateinit var navController: NavController
|
||||
lateinit var appBarConfiguration: AppBarConfiguration
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
setSupportActionBar(toolbar)
|
||||
supportActionBar?.setDisplayShowTitleEnabled(false)
|
||||
navController = findNavController(R.id.container)
|
||||
|
||||
appBarConfiguration = AppBarConfiguration(navController.graph, drawer_layout)
|
||||
nav_view.setupWithNavController(navController)
|
||||
setupActionBarWithNavController(navController, appBarConfiguration)
|
||||
|
||||
getViewModel().getUserDetails()
|
||||
setupLogoutInDrawer()
|
||||
}
|
||||
|
||||
override fun onSupportNavigateUp(): Boolean {
|
||||
return navController.navigateUp(appBarConfiguration) || super.onSupportNavigateUp()
|
||||
}
|
||||
|
||||
override fun setTitle(title: CharSequence) {
|
||||
toolbar.title = title
|
||||
}
|
||||
|
||||
override fun onBackPressed() {
|
||||
if (drawer_layout.isDrawerOpen(GravityCompat.START)) {
|
||||
drawer_layout.closeDrawer(GravityCompat.START)
|
||||
} else {
|
||||
val navHostFragment = supportFragmentManager.findFragmentById(R.id.container)
|
||||
navHostFragment?.childFragmentManager?.backStackEntryCount?.takeIf { it >= 1 }?.let {
|
||||
return super.onBackPressed()
|
||||
}
|
||||
displayExitDialog()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onSuccess(data: Any?) {
|
||||
super.onSuccess(data)
|
||||
when (data) {
|
||||
is FirebaseUser -> {
|
||||
setupDrawer(data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupDrawer(user: FirebaseUser) {
|
||||
val header: View = nav_view.getHeaderView(0)
|
||||
header.driver_email.text = user.email
|
||||
header.driver_name.text = user.displayName
|
||||
header.profileImage.setGlideImage(user.photoUrl)
|
||||
}
|
||||
|
||||
private fun setupLogoutInDrawer() {
|
||||
logout.setOnClickListener {
|
||||
getViewModel().logOut()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onNavigationItemSelected(item: MenuItem): Boolean {
|
||||
// Handle navigation view item clicks here.
|
||||
when (item.itemId) {
|
||||
R.id.nav_user_settings -> {}
|
||||
}
|
||||
drawer_layout.closeDrawer(GravityCompat.START)
|
||||
return true
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,8 @@
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
tools:listitem="@layout/list_item_layout">
|
||||
|
||||
</androidx.recyclerview.widget.RecyclerView>
|
||||
|
||||
|
||||
15
app/src/admin/res/navigation/main_navigation.xml
Normal file
15
app/src/admin/res/navigation/main_navigation.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/main_navigation"
|
||||
app:startDestination="@id/homeAdminFragment">
|
||||
|
||||
<fragment
|
||||
android:id="@+id/homeAdminFragment"
|
||||
android:name="h_mal.appttude.com.driver.ui.HomeSuperUserFragment"
|
||||
android:label="fragment_home"
|
||||
tools:layout="@layout/fragment_home_super_user">
|
||||
</fragment>
|
||||
|
||||
</navigation>
|
||||
Reference in New Issue
Block a user