Kotlin migration Successful

This commit is contained in:
2021-03-06 20:23:17 +00:00
parent 1ba40b2f38
commit 4adc0d4fbe
83 changed files with 482 additions and 1552 deletions

View File

@@ -36,6 +36,7 @@ android {
kotlinOptions { kotlinOptions {
jvmTarget = "1.8" jvmTarget = "1.8"
} }
} }
dependencies { dependencies {
@@ -87,5 +88,5 @@ dependencies {
implementation "org.kodein.di:kodein-di-framework-android-x:$kodein_version" implementation "org.kodein.di:kodein-di-framework-android-x:$kodein_version"
/* Image Carousal */ /* Image Carousal */
implementation 'io.github.vejei.carouselview:carouselview:1.0.0-alpha' implementation 'com.synnapps:carouselview:0.1.5'
} }

View File

@@ -9,7 +9,8 @@ import org.junit.Before;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import h_mal.appttude.com.driver.ui.HomeFragment; import h_mal.appttude.com.driver.ui.driver.HomeFragment;
import h_mal.appttude.com.driver.ui.driver.MainActivity;
import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotNull;

View File

@@ -0,0 +1,8 @@
package h_mal.appttude.com.driver.base
import org.junit.Assert.*
class BaseActivityTest{
}

View File

@@ -18,6 +18,7 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import h_mal.appttude.com.driver.R; import h_mal.appttude.com.driver.R;
import h_mal.appttude.com.driver.ui.user.LoginActivity;
import static androidx.test.espresso.Espresso.onView; import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.action.ViewActions.*; import static androidx.test.espresso.action.ViewActions.*;

View File

@@ -18,6 +18,7 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import h_mal.appttude.com.driver.R; import h_mal.appttude.com.driver.R;
import h_mal.appttude.com.driver.ui.user.LoginActivity;
import static androidx.test.espresso.Espresso.onView; import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.action.ViewActions.*; import static androidx.test.espresso.action.ViewActions.*;

View File

@@ -20,7 +20,7 @@
android:theme="@style/AppTheme"> android:theme="@style/AppTheme">
<activity android:name=".update.UpdateActivity" /> <activity android:name=".update.UpdateActivity" />
<activity <activity
android:name=".user.LoginActivity" android:name=".ui.user.LoginActivity"
android:label="@string/app_name" android:label="@string/app_name"
android:theme="@style/Theme.Design.NoActionBar"> android:theme="@style/Theme.Design.NoActionBar">
<intent-filter> <intent-filter>
@@ -31,7 +31,7 @@
</intent-filter> </intent-filter>
</activity> </activity>
<activity <activity
android:name=".MainActivity" android:name=".ui.driver.MainActivity"
android:configChanges="orientation|screenSize" android:configChanges="orientation|screenSize"
android:label="@string/app_name" android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar" /> android:theme="@style/AppTheme.NoActionBar" />

View File

@@ -11,7 +11,7 @@ import android.widget.TextView
import com.squareup.picasso.Picasso import com.squareup.picasso.Picasso
import h_mal.appttude.com.driver.Global.FirebaseClass import h_mal.appttude.com.driver.Global.FirebaseClass
import h_mal.appttude.com.driver.Global.ImageSwiperClass import h_mal.appttude.com.driver.Global.ImageSwiperClass
import h_mal.appttude.com.driver.MainActivity import h_mal.appttude.com.driver.ui.driver.MainActivity
import h_mal.appttude.com.driver.Objects.ArchiveObject import h_mal.appttude.com.driver.Objects.ArchiveObject
import h_mal.appttude.com.driver.Objects.InsuranceObject import h_mal.appttude.com.driver.Objects.InsuranceObject
import h_mal.appttude.com.driver.Objects.LogbookObject import h_mal.appttude.com.driver.Objects.LogbookObject
@@ -74,64 +74,64 @@ class ArchiveObjectListAdapter(
val fiewTwoLable: TextView = listItemView.findViewById(R.id.field_two) val fiewTwoLable: TextView = listItemView.findViewById(R.id.field_two)
val fieldTwoText: TextView = listItemView.findViewById(R.id.field_two_text) val fieldTwoText: TextView = listItemView.findViewById(R.id.field_two_text)
when (archiveString) { when (archiveString) {
FirebaseClass.PRIVATE_HIRE_FIREBASE -> { // FirebaseClass.PRIVATE_HIRE_FIREBASE -> {
expiryHolder.visibility = View.VISIBLE // expiryHolder.visibility = View.VISIBLE
fieldTwo.visibility = View.VISIBLE // fieldTwo.visibility = View.VISIBLE
val privateHireObject: PrivateHireObject = // val privateHireObject: PrivateHireObject =
getItem(position) as PrivateHireObject // getItem(position) as PrivateHireObject
Picasso.get().load(privateHireObject.phImageString) // Picasso.get().load(privateHireObject.phImageString)
.placeholder(R.drawable.choice_img) // .placeholder(R.drawable.choice_img)
.into(imageView) // .into(imageView)
dateString(position) // dateString(position)
expiryText.text = privateHireObject.phExpiry // expiryText.text = privateHireObject.phExpiry
fiewTwoLable.text = "Private Hire License No.:" // fiewTwoLable.text = "Private Hire License No.:"
fieldTwoText.text = privateHireObject.phNumber // fieldTwoText.text = privateHireObject.phNumber
} // }
FirebaseClass.DRIVERS_LICENSE_FIREBASE -> { // FirebaseClass.DRIVERS_LICENSE_FIREBASE -> {
expiryHolder.visibility = View.VISIBLE // expiryHolder.visibility = View.VISIBLE
fieldTwo.visibility = View.VISIBLE // fieldTwo.visibility = View.VISIBLE
val driversLicenseObject: DriversLicenseObject = // val driversLicenseObject: DriversLicenseObject =
getItem(position) as DriversLicenseObject // getItem(position) as DriversLicenseObject
Picasso.get().load(driversLicenseObject.licenseImageString) // Picasso.get().load(driversLicenseObject.licenseImageString)
.placeholder(R.drawable.choice_img) // .placeholder(R.drawable.choice_img)
.into(imageView) // .into(imageView)
dateString(position) // dateString(position)
expiryText.text = driversLicenseObject.licenseExpiry // expiryText.text = driversLicenseObject.licenseExpiry
fiewTwoLable.text = "License No.:" // fiewTwoLable.text = "License No.:"
fieldTwoText.text = driversLicenseObject.licenseNumber // fieldTwoText.text = driversLicenseObject.licenseNumber
} // }
FirebaseClass.MOT_FIREBASE -> { // FirebaseClass.MOT_FIREBASE -> {
expiryHolder.visibility = View.VISIBLE // expiryHolder.visibility = View.VISIBLE
fieldTwo.visibility = View.GONE // fieldTwo.visibility = View.GONE
val motObject: MotObject = getItem(position) as MotObject // val motObject: MotObject = getItem(position) as MotObject
Picasso.get().load(motObject.motImageString) // Picasso.get().load(motObject.motImageString)
.placeholder(R.drawable.choice_img) // .placeholder(R.drawable.choice_img)
.into(imageView) // .into(imageView)
dateString(position) // dateString(position)
expiryText.text = motObject.motExpiry // expiryText.text = motObject.motExpiry
} // }
FirebaseClass.LOG_BOOK_FIREBASE -> { // FirebaseClass.LOG_BOOK_FIREBASE -> {
expiryHolder.visibility = View.GONE // expiryHolder.visibility = View.GONE
fieldTwo.visibility = View.VISIBLE // fieldTwo.visibility = View.VISIBLE
val logbookObject: LogbookObject = getItem(position) as LogbookObject // val logbookObject: LogbookObject = getItem(position) as LogbookObject
Picasso.get().load(logbookObject.photoString) // Picasso.get().load(logbookObject.photoString)
.into(MainActivity.loadImage(imageView)) // .into(MainActivity.loadImage(imageView))
dateString(position) // dateString(position)
fiewTwoLable.text = "V5C No.:" // fiewTwoLable.text = "V5C No.:"
fieldTwoText.text = logbookObject.v5cnumber // fieldTwoText.text = logbookObject.v5cnumber
} // }
FirebaseClass.PRIVATE_HIRE_VEHICLE_LICENSE -> { // FirebaseClass.PRIVATE_HIRE_VEHICLE_LICENSE -> {
expiryHolder.visibility = View.VISIBLE // expiryHolder.visibility = View.VISIBLE
fieldTwo.visibility = View.VISIBLE // fieldTwo.visibility = View.VISIBLE
val privateHireVehicleObject: PrivateHireVehicleObject = // val privateHireVehicleObject: PrivateHireVehicleObject =
getItem(position) as PrivateHireVehicleObject // getItem(position) as PrivateHireVehicleObject
Picasso.get().load(privateHireVehicleObject.phCarImageString) // Picasso.get().load(privateHireVehicleObject.phCarImageString)
.into(MainActivity.loadImage(imageView)) // .into(MainActivity.loadImage(imageView))
dateString(position) // dateString(position)
expiryText.text = privateHireVehicleObject.phCarExpiry // expiryText.text = privateHireVehicleObject.phCarExpiry
fiewTwoLable.text = "Private Hire Vehicle License No.:" // fiewTwoLable.text = "Private Hire Vehicle License No.:"
fieldTwoText.text = privateHireVehicleObject.phCarNumber // fieldTwoText.text = privateHireVehicleObject.phCarNumber
} // }
} }
} else if ((archiveString == FirebaseClass.INSURANCE_FIREBASE)) { } else if ((archiveString == FirebaseClass.INSURANCE_FIREBASE)) {
listItemView = LayoutInflater.from(context).inflate( listItemView = LayoutInflater.from(context).inflate(

View File

@@ -1,35 +0,0 @@
package h_mal.appttude.com.driver
import android.net.Uri
import android.widget.EditText
import android.widget.ImageView
import androidx.core.widget.doAfterTextChanged
import h_mal.appttude.com.driver.data.DataFieldState
import h_mal.appttude.com.driver.utils.setPicassoImage
interface DataFieldsInterface {
fun EditText.setFieldFromDataFetch(data: String?) = apply {
setText(data)
tag = DataFieldState.NonUserSateUpdated
}
fun EditText.applyChangeListener() = doAfterTextChanged {
if (tag == DataFieldState.NonUserSateUpdated) {
tag = DataFieldState.DefaultState
return@doAfterTextChanged
}
tag = DataFieldState.UserUpdateState
}
fun ImageView.setFieldFromFetchData(data: String?)= apply {
setPicassoImage(data)
tag = DataFieldState.NonUserSateUpdated
}
fun EditText.getTextAfterFieldValidation(): String? =
takeIf { it.tag is DataFieldState.UserUpdateState }?.let { it.text?.toString() }
fun ImageView.getTextAfterFieldValidation(imageUri: Uri?): Uri? =
takeIf { it.tag is DataFieldState.UserUpdateState }?.let { imageUri }
}

View File

@@ -1,6 +1,7 @@
package h_mal.appttude.com.driver.Global package h_mal.appttude.com.driver.Global
import android.app.AlertDialog
import android.app.DatePickerDialog import android.app.DatePickerDialog
import android.app.DatePickerDialog.OnDateSetListener import android.app.DatePickerDialog.OnDateSetListener
import android.content.Context import android.content.Context
@@ -11,12 +12,12 @@ import androidx.annotation.RequiresApi
import h_mal.appttude.com.driver.R import h_mal.appttude.com.driver.R
import h_mal.appttude.com.driver.utils.DateUtils import h_mal.appttude.com.driver.utils.DateUtils
private const val DATE_FORMAT = "dd/MM/yyyy" private const val DATE_FORMAT = "dd/MM/yyyy"
@RequiresApi(api = Build.VERSION_CODES.N) @RequiresApi(api = Build.VERSION_CODES.N)
class DateDialog( class DateDialog(
context: Context,
private val editText: EditText private val editText: EditText
) : DatePickerDialog(context) { ) : DatePickerDialog(editText.context, AlertDialog.THEME_HOLO_LIGHT) {
var dateSetListener: OnDateSetListener = var dateSetListener: OnDateSetListener =
OnDateSetListener { _, year, month, dayOfMonth -> OnDateSetListener { _, year, month, dayOfMonth ->

View File

@@ -1,23 +0,0 @@
package h_mal.appttude.com.driver.Global
import android.app.Activity
class ViewController constructor(private val activity: Activity?) {
fun progress(vis: Int) {
if (activity is ViewControllerInterface) {
(activity as ViewControllerInterface).progressVisibility(vis)
}
}
fun reloadDrawer() {
if (activity is ViewControllerInterface) {
(activity as ViewControllerInterface).updateDrawer()
}
}
open interface ViewControllerInterface {
fun progressVisibility(vis: Int)
fun updateDrawer()
}
}

View File

@@ -12,11 +12,11 @@ import android.widget.TextView
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import h_mal.appttude.com.driver.Global.FirebaseClass import h_mal.appttude.com.driver.Global.FirebaseClass
import h_mal.appttude.com.driver.Global.SetApprovalDialog import h_mal.appttude.com.driver.Global.SetApprovalDialog
import h_mal.appttude.com.driver.MainActivity import h_mal.appttude.com.driver.ui.driver.MainActivity
import h_mal.appttude.com.driver.Objects.ArchiveObject import h_mal.appttude.com.driver.Objects.ArchiveObject
import h_mal.appttude.com.driver.Objects.WholeObject.MappedObject import h_mal.appttude.com.driver.Objects.WholeObject.MappedObject
import h_mal.appttude.com.driver.R import h_mal.appttude.com.driver.R
import h_mal.appttude.com.driver.driver.InsuranceFragment import h_mal.appttude.com.driver.ui.driver.vehicleprofile.InsuranceFragment
import h_mal.appttude.com.driver.ui.driver.driverprofile.DriverLicenseFragment import h_mal.appttude.com.driver.ui.driver.driverprofile.DriverLicenseFragment
import h_mal.appttude.com.driver.ui.driver.driverprofile.DriverProfileFragment import h_mal.appttude.com.driver.ui.driver.driverprofile.DriverProfileFragment
import h_mal.appttude.com.driver.ui.driver.driverprofile.PrivateHireLicenseFragment import h_mal.appttude.com.driver.ui.driver.driverprofile.PrivateHireLicenseFragment
@@ -53,153 +53,153 @@ class ApprovalListAdapter(
R.layout.approval_list_grid_item, parent, false R.layout.approval_list_grid_item, parent, false
) )
} }
approvalCode = getApprovalStatusCode(position) // approvalCode = getApprovalStatusCode(position)
val textView: TextView = listItemView!!.findViewById(R.id.approval_text) // val textView: TextView = listItemView!!.findViewById(R.id.approval_text)
textView.text = names.get(position) // textView.text = names.get(position)
val imageView: ImageView = listItemView.findViewById(R.id.approval_iv) // val imageView: ImageView = listItemView.findViewById(R.id.approval_iv)
imageView.setImageResource( // imageView.setImageResource(
MainActivity.approvalsClass!!.setImageResource( // MainActivity.approvalsClass!!.setImageResource(
approvalCode // approvalCode
) // )
) // )
imageView.setOnClickListener { // imageView.setOnClickListener {
SetApprovalDialog( // SetApprovalDialog(
approvalCode, // approvalCode,
activity, // activity,
mappedObject.userId, // mappedObject.userId,
position, // position,
imageView // imageView
) // )
} // }
val archiveImage: ImageView = listItemView.findViewById(R.id.archive_icon) // val archiveImage: ImageView = listItemView.findViewById(R.id.archive_icon)
mappedObject.wholeDriverObject?.archive?.let { // mappedObject.wholeDriverObject?.archive?.let {
//
//
archiveImage.visibility = getArchive( // archiveImage.visibility = getArchive(
position, // position,
it // it
) // )
archiveImage.setOnClickListener { // archiveImage.setOnClickListener {
var s: String? = null // var s: String? = null
when (position) { // when (position) {
1 -> s = FirebaseClass.DRIVERS_LICENSE_FIREBASE // 1 -> s = FirebaseClass.DRIVERS_LICENSE_FIREBASE
2 -> s = FirebaseClass.PRIVATE_HIRE_FIREBASE // 2 -> s = FirebaseClass.PRIVATE_HIRE_FIREBASE
3 -> s = FirebaseClass.VEHICLE_DETAILS_FIREBASE // 3 -> s = FirebaseClass.VEHICLE_DETAILS_FIREBASE
4 -> s = FirebaseClass.INSURANCE_FIREBASE // 4 -> s = FirebaseClass.INSURANCE_FIREBASE
5 -> s = FirebaseClass.MOT_FIREBASE // 5 -> s = FirebaseClass.MOT_FIREBASE
6 -> s = FirebaseClass.LOG_BOOK_FIREBASE // 6 -> s = FirebaseClass.LOG_BOOK_FIREBASE
7 -> s = FirebaseClass.PRIVATE_HIRE_VEHICLE_LICENSE // 7 -> s = FirebaseClass.PRIVATE_HIRE_VEHICLE_LICENSE
} // }
// executeFragment(ArchiveFragment(), mappedObject.userId, s) //// executeFragment(ArchiveFragment(), mappedObject.userId, s)
} // }
} // }
listItemView.setOnClickListener(View.OnClickListener { getFragment(position) }) // listItemView.setOnClickListener(View.OnClickListener { getFragment(position) })
listItemView.minimumHeight = parent.height / 4 // listItemView.minimumHeight = parent.height / 4
listItemView.setPadding( // listItemView.setPadding(
convertDpToPixel(9f, context).toInt(), // convertDpToPixel(9f, context).toInt(),
convertDpToPixel(9f, context).toInt(), // convertDpToPixel(9f, context).toInt(),
convertDpToPixel(9f, context).toInt(), // convertDpToPixel(9f, context).toInt(),
convertDpToPixel(9f, context).toInt() // convertDpToPixel(9f, context).toInt()
) // )
return (listItemView) return (listItemView)!!
} }
override fun getCount(): Int { // override fun getCount(): Int {
return 8 // return 8
} // }
//
private fun getArchive(i: Int, archiveObject: ArchiveObject?): Int { // private fun getArchive(i: Int, archiveObject: ArchiveObject?): Int {
var o: Any? = null // var o: Any? = null
val visible: Int // val visible: Int
when (i) { // when (i) {
0 -> { } // 0 -> { }
1 -> o = archiveObject!!.driver_license // 1 -> o = archiveObject!!.driver_license
2 -> o = archiveObject!!.private_hire // 2 -> o = archiveObject!!.private_hire
3 -> o = archiveObject!!.vehicle_details // 3 -> o = archiveObject!!.vehicle_details
4 -> o = archiveObject!!.insurance_details // 4 -> o = archiveObject!!.insurance_details
5 -> o = archiveObject!!.mot_details // 5 -> o = archiveObject!!.mot_details
6 -> o = archiveObject!!.log_book // 6 -> o = archiveObject!!.log_book
7 -> o = archiveObject!!.ph_car // 7 -> o = archiveObject!!.ph_car
} // }
if (o != null) { // if (o != null) {
visible = View.VISIBLE // visible = View.VISIBLE
} else { // } else {
visible = View.GONE // visible = View.GONE
} // }
return visible // return visible
} // }
//
private fun getFragment(i: Int) { // private fun getFragment(i: Int) {
lateinit var f: Fragment // lateinit var f: Fragment
val driverProfile by lazy { mappedObject.wholeDriverObject?.driver_profile } // val driverProfile by lazy { mappedObject.wholeDriverObject?.driver_profile }
val vehicleProfile by lazy { mappedObject.wholeDriverObject?.vehicle_profile } // val vehicleProfile by lazy { mappedObject.wholeDriverObject?.vehicle_profile }
val o: Any? = when (i) { // val o: Any? = when (i) {
0 -> { // 0 -> {
f = DriverProfileFragment() // f = DriverProfileFragment()
driverProfile?.driver_profile // driverProfile?.driver_profile
} // }
1 -> { // 1 -> {
f = DriverLicenseFragment() // f = DriverLicenseFragment()
driverProfile?.driver_license // driverProfile?.driver_license
} // }
2 -> { // 2 -> {
f = PrivateHireLicenseFragment() // f = PrivateHireLicenseFragment()
driverProfile?.private_hire // driverProfile?.private_hire
} // }
3 -> { // 3 -> {
f = VehicleProfileFragment() // f = VehicleProfileFragment()
vehicleProfile?.vehicle_details // vehicleProfile?.vehicle_details
} // }
4 -> { // 4 -> {
f = InsuranceFragment() // f = InsuranceFragment()
vehicleProfile?.insurance_details // vehicleProfile?.insurance_details
} // }
5 -> { // 5 -> {
f = MotFragment() // f = MotFragment()
vehicleProfile?.insurance_details // vehicleProfile?.insurance_details
} // }
6 -> { // 6 -> {
f = LogbookFragment() // f = LogbookFragment()
vehicleProfile?.log_book // vehicleProfile?.log_book
} // }
7 -> { // 7 -> {
f = PrivateHireVehicleFragment() // f = PrivateHireVehicleFragment()
vehicleProfile?.privateHireVehicleObject // vehicleProfile?.privateHireVehicleObject
} // }
else -> null // else -> null
} // }
if (o == null) { // if (o == null) {
// executeFragment(f, mappedObject.userId) //// executeFragment(f, mappedObject.userId)
} else { // } else {
MainActivity.archiveClass.openDialogArchive( // MainActivity.archiveClass.openDialogArchive(
context, o, mappedObject.userId, f // context, o, mappedObject.userId, f
) // )
} // }
} // }
//
private fun getApprovalStatusCode(i: Int): Int { // private fun getApprovalStatusCode(i: Int): Int {
val statusCode = mappedObject.wholeDriverObject?.approvalsObject?.let{ // val statusCode = mappedObject.wholeDriverObject?.approvalsObject?.let{
when (i) { // when (i) {
0 -> it.driver_details_approval // 0 -> it.driver_details_approval
1 -> it.driver_license_approval // 1 -> it.driver_license_approval
2 -> it.private_hire_approval // 2 -> it.private_hire_approval
3 -> it.vehicle_details_approval // 3 -> it.vehicle_details_approval
4 -> it.insurance_details_approval // 4 -> it.insurance_details_approval
5 -> it.mot_details_approval // 5 -> it.mot_details_approval
6 -> it.log_book_approval // 6 -> it.log_book_approval
7 -> it.ph_car_approval // 7 -> it.ph_car_approval
else -> FirebaseClass.NO_DATE_PRESENT // else -> FirebaseClass.NO_DATE_PRESENT
} // }
} // }
return statusCode ?: FirebaseClass.NO_DATE_PRESENT // return statusCode ?: FirebaseClass.NO_DATE_PRESENT
} // }
//
companion object { // companion object {
fun convertDpToPixel(dp: Float, context: Context): Float { // fun convertDpToPixel(dp: Float, context: Context): Float {
return dp * (context.resources // return dp * (context.resources
.displayMetrics.densityDpi.toFloat() / DisplayMetrics.DENSITY_DEFAULT) // .displayMetrics.densityDpi.toFloat() / DisplayMetrics.DENSITY_DEFAULT)
} // }
} // }
} }

View File

@@ -12,7 +12,7 @@ import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.squareup.picasso.Picasso import com.squareup.picasso.Picasso
import h_mal.appttude.com.driver.MainActivity import h_mal.appttude.com.driver.ui.driver.MainActivity
import h_mal.appttude.com.driver.Objects.UserObject import h_mal.appttude.com.driver.Objects.UserObject
import h_mal.appttude.com.driver.Objects.WholeObject.MappedObject import h_mal.appttude.com.driver.Objects.WholeObject.MappedObject
import h_mal.appttude.com.driver.R import h_mal.appttude.com.driver.R
@@ -67,9 +67,9 @@ class RecyclerViewAdapter constructor(var context: Context?, var objects: List<M
}.create() }.create()
.show() .show()
} }
viewHolderCurrent.profileApprovalImage.setImageResource( // viewHolderCurrent.profileApprovalImage.setImageResource(
MainActivity.approvalsClass!!.getOverApprovalStatusCode(mappedObject.wholeDriverObject) // MainActivity.approvalsClass!!.getOverApprovalStatusCode(mappedObject.wholeDriverObject)
) // )
viewHolderCurrent.itemView.setOnClickListener { viewHolderCurrent.itemView.setOnClickListener {
val bundle: Bundle = Bundle() val bundle: Bundle = Bundle()
bundle.putParcelable("mapped", mappedObject) bundle.putParcelable("mapped", mappedObject)

View File

@@ -12,11 +12,12 @@ import com.google.firebase.database.DataSnapshot
import com.google.firebase.database.DatabaseError import com.google.firebase.database.DatabaseError
import com.google.firebase.database.DatabaseReference import com.google.firebase.database.DatabaseReference
import com.google.firebase.database.ValueEventListener import com.google.firebase.database.ValueEventListener
import h_mal.appttude.com.driver.MainActivity import h_mal.appttude.com.driver.ui.driver.MainActivity
import h_mal.appttude.com.driver.Objects.WholeDriverObject import h_mal.appttude.com.driver.Objects.WholeDriverObject
import h_mal.appttude.com.driver.Objects.WholeObject.MappedObject import h_mal.appttude.com.driver.Objects.WholeObject.MappedObject
import h_mal.appttude.com.driver.R import h_mal.appttude.com.driver.R
import kotlinx.android.synthetic.main.fragment_home_super_user.* import kotlinx.android.synthetic.main.fragment_home_super_user.*
import java.io.IOException
import java.util.* import java.util.*
@@ -125,11 +126,12 @@ class homeSuperUserFragment : Fragment() {
} }
return s1!!.compareTo((s2)!!) return s1!!.compareTo((s2)!!)
} }
2 -> return MainActivity.approvalsClass.getOverApprovalStatusCode(o1.wholeDriverObject) - else -> { throw IOException("dfdfs") }
MainActivity.approvalsClass.getOverApprovalStatusCode(o2.wholeDriverObject) // 2 -> return MainActivity.approvalsClass.getOverApprovalStatusCode(o1.wholeDriverObject) -
else -> return MainActivity.approvalsClass.getOverApprovalStatusCode( // MainActivity.approvalsClass.getOverApprovalStatusCode(o2.wholeDriverObject)
o1.wholeDriverObject // else -> return MainActivity.approvalsClass.getOverApprovalStatusCode(
) - MainActivity.approvalsClass.getOverApprovalStatusCode(o2.wholeDriverObject) // o1.wholeDriverObject
// ) - MainActivity.approvalsClass.getOverApprovalStatusCode(o2.wholeDriverObject)
} }
} }
} }

View File

@@ -8,26 +8,26 @@ import h_mal.appttude.com.driver.data.FirebaseStorageSource
import h_mal.appttude.com.driver.viewmodels.* import h_mal.appttude.com.driver.viewmodels.*
class ApplicationViewModelFactory( class ApplicationViewModelFactory(
private val firebaseAuthSource: FirebaseAuthSource, private val auth: FirebaseAuthSource,
private val firebaseDatabaseSource: FirebaseDatabaseSource, private val database: FirebaseDatabaseSource,
private val firebaseStorageSource: FirebaseStorageSource private val storage: FirebaseStorageSource
) : ViewModelProvider.Factory { ) : ViewModelProvider.Factory {
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
override fun <T : ViewModel> create(modelClass: Class<T>): T { override fun <T : ViewModel> create(modelClass: Class<T>): T {
with(modelClass){ with(modelClass){
return when{ return when{
isAssignableFrom(UserViewModel::class.java) -> UserViewModel(firebaseAuthSource) isAssignableFrom(UserViewModel::class.java) -> UserViewModel(auth)
isAssignableFrom(MainViewModel::class.java) -> MainViewModel(firebaseAuthSource, firebaseDatabaseSource) isAssignableFrom(MainViewModel::class.java) -> MainViewModel(auth, database)
isAssignableFrom(UpdateUserViewModel::class.java) -> UpdateUserViewModel(firebaseAuthSource, firebaseStorageSource) isAssignableFrom(UpdateUserViewModel::class.java) -> UpdateUserViewModel(auth, storage)
isAssignableFrom(DriverLicenseViewModel::class.java) -> DriverLicenseViewModel(firebaseAuthSource, firebaseDatabaseSource, firebaseStorageSource) isAssignableFrom(DriverLicenseViewModel::class.java) -> DriverLicenseViewModel(auth, database, storage)
isAssignableFrom(DriverProfileViewModel::class.java) -> DriverProfileViewModel(firebaseAuthSource, firebaseDatabaseSource, firebaseStorageSource) isAssignableFrom(DriverProfileViewModel::class.java) -> DriverProfileViewModel(auth, database, storage)
isAssignableFrom(PrivateHireLicenseViewModel::class.java) -> PrivateHireLicenseViewModel(firebaseAuthSource, firebaseDatabaseSource, firebaseStorageSource) isAssignableFrom(PrivateHireLicenseViewModel::class.java) -> PrivateHireLicenseViewModel(auth, database, storage)
isAssignableFrom(VehicleProfileViewModel::class.java) -> VehicleProfileViewModel(firebaseAuthSource, firebaseDatabaseSource, firebaseStorageSource) isAssignableFrom(VehicleProfileViewModel::class.java) -> VehicleProfileViewModel(auth, database, storage)
isAssignableFrom(InsuranceViewModel::class.java) -> InsuranceViewModel(firebaseAuthSource, firebaseDatabaseSource, firebaseStorageSource) isAssignableFrom(InsuranceViewModel::class.java) -> InsuranceViewModel(auth, database, storage)
isAssignableFrom(MotViewModel::class.java) -> MotViewModel(firebaseAuthSource, firebaseDatabaseSource, firebaseStorageSource) isAssignableFrom(MotViewModel::class.java) -> MotViewModel(auth, database, storage)
isAssignableFrom(LogbookViewModel::class.java) -> LogbookViewModel(firebaseAuthSource, firebaseDatabaseSource, firebaseStorageSource) isAssignableFrom(LogbookViewModel::class.java) -> LogbookViewModel(auth, database, storage)
isAssignableFrom(PrivateHireVehicleViewModel::class.java) -> PrivateHireVehicleViewModel(firebaseAuthSource, firebaseDatabaseSource, firebaseStorageSource) isAssignableFrom(PrivateHireVehicleViewModel::class.java) -> PrivateHireVehicleViewModel(auth, database, storage)
else -> throw IllegalArgumentException("Unknown ViewModel class") else -> throw IllegalArgumentException("Unknown ViewModel class")
} as T } as T
} }

View File

@@ -4,6 +4,8 @@ import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.view.ViewGroup.LayoutParams
import android.view.ViewGroup.LayoutParams.*
import androidx.activity.viewModels import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.Observer import androidx.lifecycle.Observer
@@ -24,17 +26,17 @@ import org.kodein.di.generic.instance
abstract class BaseActivity<V : BaseViewModel> : AppCompatActivity(), KodeinAware { abstract class BaseActivity<V : BaseViewModel> : AppCompatActivity(), KodeinAware {
private lateinit var loadingView: View private lateinit var loadingView: View
abstract fun getViewModel(): V?
abstract fun getViewModel(): V?
abstract val layoutId: Int abstract val layoutId: Int
override val kodein by kodein() override val kodein by kodein()
val factory by instance<ApplicationViewModelFactory>() val factory by instance<ApplicationViewModelFactory>()
inline fun <reified VM : ViewModel> createLazyViewModel(): Lazy<VM> = viewModels { factory } inline fun <reified VM : ViewModel> createLazyViewModel(): Lazy<VM> = viewModels { factory }
inline fun <reified VM : ViewModel> createViewModel(): VM = ViewModelProvider(viewModelStore, factory).get(VM::class.java) inline fun <reified VM : ViewModel> createViewModel(): VM =
ViewModelProvider(viewModelStore, factory).get(VM::class.java)
var mProgressDialog: View? = null
private var loading: Boolean = false private var loading: Boolean = false
@@ -44,20 +46,26 @@ abstract class BaseActivity<V : BaseViewModel> : AppCompatActivity(), KodeinAwar
setContentView(layoutId) setContentView(layoutId)
} }
override fun onStart() { /**
super.onStart() * Creates a loading view which to be shown during async operations
*
* #setOnClickListener(null) is an ugly work around to prevent under being clicked during
* loading
*/
private fun instantiateLoadingView(){
loadingView = layoutInflater.inflate(R.layout.progress_layout, null) loadingView = layoutInflater.inflate(R.layout.progress_layout, null)
loadingView.setOnClickListener(null) loadingView.setOnClickListener(null)
addContentView(loadingView, ViewGroup.LayoutParams( addContentView(loadingView, LayoutParams(MATCH_PARENT, MATCH_PARENT))
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT
))
loadingView.hide() loadingView.hide()
} }
fun <A : AppCompatActivity> startActivity(activity: Class<A>){ override fun onStart() {
super.onStart()
instantiateLoadingView()
}
fun <A : AppCompatActivity> startActivity(activity: Class<A>) {
val intent = Intent(this, activity) val intent = Intent(this, activity)
startActivity(intent) startActivity(intent)
} }
@@ -89,7 +97,7 @@ abstract class BaseActivity<V : BaseViewModel> : AppCompatActivity(), KodeinAwar
private fun configureObserver() { private fun configureObserver() {
getViewModel()?.uiState?.observe(this, Observer { getViewModel()?.uiState?.observe(this, Observer {
when(it){ when (it) {
is ViewState.HasStarted -> onStarted() is ViewState.HasStarted -> onStarted()
is ViewState.HasData<*> -> onSuccess(it.data.getContentIfNotHandled()) is ViewState.HasData<*> -> onSuccess(it.data.getContentIfNotHandled())
is ViewState.HasError -> onFailure(it.error.getContentIfNotHandled()) is ViewState.HasError -> onFailure(it.error.getContentIfNotHandled())
@@ -97,20 +105,17 @@ abstract class BaseActivity<V : BaseViewModel> : AppCompatActivity(), KodeinAwar
}) })
} }
private fun View.fadeIn() { private fun View.fadeIn() = apply {
apply {
show() show()
triggerAnimation(R.anim.nav_default_enter_anim){} triggerAnimation(R.anim.nav_default_enter_anim) {}
}
} }
private fun View.fadeOut() { private fun View.fadeOut() = apply {
apply {
hide() hide()
triggerAnimation(R.anim.nav_default_exit_anim){} triggerAnimation(R.anim.nav_default_exit_anim) {}
}
} }
override fun onBackPressed() { override fun onBackPressed() {
if (!loading) super.onBackPressed() if (!loading) super.onBackPressed()
} }

View File

@@ -86,8 +86,11 @@ abstract class BaseFragment<V : BaseViewModel> : Fragment(), KodeinAware {
if (resultCode == Activity.RESULT_OK){ if (resultCode == Activity.RESULT_OK){
when(requestCode){ when(requestCode){
IMAGE_SELECT_REQUEST_CODE -> { IMAGE_SELECT_REQUEST_CODE -> {
data?.clipData?.convertToList()?.let { data?.clipData?.convertToList()?.let { clip ->
onImageGalleryResult(it.subList(0, 9)) val list = clip.takeIf { it.size > 10 }?.let{
clip.subList(0, 9)
} ?: clip
onImageGalleryResult(list)
return return
} }
onImageGalleryResult(data?.data) onImageGalleryResult(data?.data)

View File

@@ -2,6 +2,6 @@ package h_mal.appttude.com.driver.data
sealed class DataFieldState { sealed class DataFieldState {
object DefaultState : DataFieldState() object DefaultState : DataFieldState()
object NonUserSateUpdated: DataFieldState() object NonUserStateUpdated: DataFieldState()
object UserUpdateState: DataFieldState() object UserUpdateState: DataFieldState()
} }

View File

@@ -1,102 +0,0 @@
package h_mal.appttude.com.driver.driver
import android.net.Uri
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import androidx.recyclerview.widget.RecyclerView
import h_mal.appttude.com.driver.DataFieldsInterface
import h_mal.appttude.com.driver.Objects.InsuranceObject
import h_mal.appttude.com.driver.R
import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment
import h_mal.appttude.com.driver.utils.setPicassoImage
import h_mal.appttude.com.driver.viewmodels.InsuranceViewModel
import io.github.vejei.carouselview.CarouselAdapter
import kotlinx.android.synthetic.main.fragment_insurance.*
class InsuranceFragment : DataSubmissionBaseFragment<InsuranceViewModel, InsuranceObject>(),
DataFieldsInterface {
private var selectedImages: List<Uri>? = listOf()
lateinit var adapter: PageAdapter
private val viewmodel: InsuranceViewModel by getFragmentViewModel()
override fun getViewModel(): InsuranceViewModel = viewmodel
override fun getLayoutId(): Int = R.layout.fragment_insurance
override var model = InsuranceObject()
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
setImageSelectionAsMultiple()
adapter = PageAdapter()
carousel_view.adapter = adapter
insurer.setTextOnChange { model.insurerName = it }
insurance_exp.setTextOnChange { model.expiryDate = it }
uploadInsurance.setOnClickListener { openGalleryWithPermissionRequest() }
submit_ins.setOnClickListener { submit() }
}
override fun submit() {
super.submit()
validateEditTexts(insurer, insurance_exp)
.takeIf { !it }
?.let { return }
viewmodel.setDataInDatabase(model, selectedImages)
}
override fun setFields(data: InsuranceObject) {
super.setFields(data)
insurer.setFieldFromDataFetch(model.insurerName)
insurance_exp.setFieldFromDataFetch(model.expiryDate)
model.photoStrings?.let { adapter.setData(it) }
}
override fun onImageGalleryResult(imageUris: List<Uri>?) {
selectedImages = imageUris
selectedImages?.let { adapter.setData(it) }
}
class PageAdapter : CarouselAdapter<PageAdapter.ViewHolder>() {
private var data: List<Any?>? = null
fun setData(list: List<Any?>) {
data = list
notifyDataSetChanged()
}
inner class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
private val backgroundImageView = itemView.findViewById<ImageView>(R.id.imageView)
fun bind(page: Any?) {
backgroundImageView.clipToOutline = true
when (page) {
is Uri -> backgroundImageView.setImageURI(page)
is String -> backgroundImageView.setPicassoImage(page)
}
}
}
override fun onCreatePageViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
return ViewHolder(
LayoutInflater.from(parent.context).inflate(R.layout.carousal_image_cell, parent, false)
)
}
override fun onBindPageViewHolder(holder: ViewHolder, position: Int) {
holder.bind(data?.get(position))
}
override fun getPageCount(): Int {
return data?.size ?: 0
}
}
}

View File

@@ -1,4 +1,4 @@
package h_mal.appttude.com.driver.ui package h_mal.appttude.com.driver.ui.driver
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater

View File

@@ -1,4 +1,4 @@
package h_mal.appttude.com.driver package h_mal.appttude.com.driver.ui.driver
import android.Manifest import android.Manifest
import android.graphics.Bitmap import android.graphics.Bitmap
@@ -21,9 +21,10 @@ import com.squareup.picasso.Target
import h_mal.appttude.com.driver.Global.ApprovalsClass import h_mal.appttude.com.driver.Global.ApprovalsClass
import h_mal.appttude.com.driver.Global.ArchiveClass import h_mal.appttude.com.driver.Global.ArchiveClass
import h_mal.appttude.com.driver.Global.ImageViewClass import h_mal.appttude.com.driver.Global.ImageViewClass
import h_mal.appttude.com.driver.R
import h_mal.appttude.com.driver.base.BaseActivity import h_mal.appttude.com.driver.base.BaseActivity
import h_mal.appttude.com.driver.dialogs.ExitDialog.displayExitDialog import h_mal.appttude.com.driver.dialogs.ExitDialog.displayExitDialog
import h_mal.appttude.com.driver.user.LoginActivity import h_mal.appttude.com.driver.ui.user.LoginActivity
import h_mal.appttude.com.driver.utils.ActivityIntentBuilder.createIntent import h_mal.appttude.com.driver.utils.ActivityIntentBuilder.createIntent
import h_mal.appttude.com.driver.utils.setPicassoImage import h_mal.appttude.com.driver.utils.setPicassoImage
import h_mal.appttude.com.driver.viewmodels.MainViewModel import h_mal.appttude.com.driver.viewmodels.MainViewModel
@@ -45,10 +46,6 @@ class MainActivity : BaseActivity<MainViewModel>(),
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
imageViewClass = ImageViewClass()
approvalsClass = ApprovalsClass()
archiveClass = ArchiveClass()
setSupportActionBar(toolbar) setSupportActionBar(toolbar)
navController = findNavController(R.id.container) navController = findNavController(R.id.container)
@@ -104,16 +101,6 @@ class MainActivity : BaseActivity<MainViewModel>(),
} }
} }
override fun onOptionsItemSelected(item: MenuItem): Boolean {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
if (item.itemId == R.id.action_settings) {
return true
}
return super.onOptionsItemSelected(item)
}
override fun onNavigationItemSelected(item: MenuItem): Boolean { override fun onNavigationItemSelected(item: MenuItem): Boolean {
// Handle navigation view item clicks here. // Handle navigation view item clicks here.
when (item.itemId) { when (item.itemId) {
@@ -122,33 +109,4 @@ class MainActivity : BaseActivity<MainViewModel>(),
drawer_layout.closeDrawer(GravityCompat.START) drawer_layout.closeDrawer(GravityCompat.START)
return true return true
} }
companion object {
lateinit var imageViewClass: ImageViewClass
lateinit var approvalsClass: ApprovalsClass
lateinit var archiveClass: ArchiveClass
private const val REQUEST_EXTERNAL_STORAGE: Int = 1
private val PERMISSIONS_STORAGE: Array<String> = arrayOf(
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
)
fun loadImage(mainImage: ImageView?): Target {
val target: Target = object : Target {
override fun onBitmapLoaded(bitmap: Bitmap, from: LoadedFrom) {
mainImage!!.setImageBitmap(bitmap)
mainImage.setOnClickListener{ imageViewClass.open(bitmap) }
}
override fun onBitmapFailed(e: Exception, errorDrawable: Drawable) {}
override fun onPrepareLoad(placeHolderDrawable: Drawable) {
mainImage!!.setImageResource(R.drawable.choice_img)
}
}
mainImage!!.tag = target
return target
}
}
} }

View File

@@ -3,15 +3,15 @@ package h_mal.appttude.com.driver.ui.driver.driverprofile
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import h_mal.appttude.com.driver.DataFieldsInterface
import h_mal.appttude.com.driver.Global.DateDialog import h_mal.appttude.com.driver.Global.DateDialog
import h_mal.appttude.com.driver.R import h_mal.appttude.com.driver.R
import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment
import h_mal.appttude.com.driver.model.DriversLicenseObject import h_mal.appttude.com.driver.model.DriversLicenseObject
import h_mal.appttude.com.driver.utils.setPicassoImage
import h_mal.appttude.com.driver.viewmodels.DriverLicenseViewModel import h_mal.appttude.com.driver.viewmodels.DriverLicenseViewModel
import kotlinx.android.synthetic.main.fragment_driver_license.* import kotlinx.android.synthetic.main.fragment_driver_license.*
class DriverLicenseFragment : DataSubmissionBaseFragment<DriverLicenseViewModel, DriversLicenseObject>(), DataFieldsInterface { class DriverLicenseFragment : DataSubmissionBaseFragment<DriverLicenseViewModel, DriversLicenseObject>() {
private val viewmodel: DriverLicenseViewModel by getFragmentViewModel() private val viewmodel: DriverLicenseViewModel by getFragmentViewModel()
override fun getViewModel(): DriverLicenseViewModel = viewmodel override fun getViewModel(): DriverLicenseViewModel = viewmodel
@@ -26,7 +26,7 @@ class DriverLicenseFragment : DataSubmissionBaseFragment<DriverLicenseViewModel,
lic_expiry.apply { lic_expiry.apply {
setTextOnChange{ model.licenseExpiry = it } setTextOnChange{ model.licenseExpiry = it }
setOnClickListener { setOnClickListener {
DateDialog(requireContext(), this) DateDialog(this)
} }
} }
lic_no.setTextOnChange{ model.licenseNumber = it } lic_no.setTextOnChange{ model.licenseNumber = it }
@@ -36,24 +36,22 @@ class DriverLicenseFragment : DataSubmissionBaseFragment<DriverLicenseViewModel,
} }
override fun submit(){ override fun submit(){
validateEditTexts(lic_expiry,lic_no) validateEditTexts(lic_expiry,lic_no).takeIf { !it }?.let { return }
.takeIf { !it }
?.let { return }
viewmodel.setDataInDatabase(model, imageUri) viewmodel.setDataInDatabase(model, imageUri)
} }
override fun setFields(data: DriversLicenseObject) { override fun setFields(data: DriversLicenseObject) {
super.setFields(data) super.setFields(data)
driversli_img.setFieldFromFetchData(data.licenseImageString) driversli_img.setPicassoImage(data.licenseImageString)
lic_no.setFieldFromDataFetch(data.licenseNumber) lic_no.setText(data.licenseNumber)
lic_expiry.setFieldFromDataFetch(data.licenseExpiry) lic_expiry.setText(data.licenseExpiry)
} }
override fun onImageGalleryResult(imageUri: Uri?) { override fun onImageGalleryResult(imageUri: Uri?) {
super.onImageGalleryResult(imageUri) super.onImageGalleryResult(imageUri)
this.imageUri = imageUri this.imageUri = imageUri
driversli_img.setImageURI(imageUri) driversli_img.setPicassoImage(imageUri)
} }
} }

View File

@@ -3,8 +3,6 @@ package h_mal.appttude.com.driver.ui.driver.driverprofile
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import android.widget.EditText
import h_mal.appttude.com.driver.DataFieldsInterface
import h_mal.appttude.com.driver.Global.DateDialog import h_mal.appttude.com.driver.Global.DateDialog
import h_mal.appttude.com.driver.R import h_mal.appttude.com.driver.R
import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment
@@ -14,7 +12,7 @@ import h_mal.appttude.com.driver.viewmodels.DriverProfileViewModel
import kotlinx.android.synthetic.main.fragment_driver_profile.* import kotlinx.android.synthetic.main.fragment_driver_profile.*
class DriverProfileFragment: DataSubmissionBaseFragment<DriverProfileViewModel, DriverProfileObject>(), DataFieldsInterface { class DriverProfileFragment: DataSubmissionBaseFragment<DriverProfileViewModel, DriverProfileObject>() {
var localUri: Uri? = null var localUri: Uri? = null
@@ -29,12 +27,17 @@ class DriverProfileFragment: DataSubmissionBaseFragment<DriverProfileViewModel,
names_input.setTextOnChange{ model.forenames = it } names_input.setTextOnChange{ model.forenames = it }
address_input.setTextOnChange{ model.address = it } address_input.setTextOnChange{ model.address = it }
postcode_input.setTextOnChange{ model.postcode = it } postcode_input.setTextOnChange{ model.postcode = it }
dob_input.setTextOnChange{ model.dob = it } dob_input.apply {
setTextOnChange{ model.dob = it }
setOnClickListener {
DateDialog(this)
}
}
ni_number.setTextOnChange{ model.ni = it } ni_number.setTextOnChange{ model.ni = it }
date_first.apply { date_first.apply {
setTextOnChange{ model.dateFirst = it } setTextOnChange{ model.dateFirst = it }
setOnClickListener { setOnClickListener {
DateDialog(requireContext(), it as EditText) DateDialog(this)
} }
} }
add_driver_pic.setOnClickListener { openGalleryWithPermissionRequest() } add_driver_pic.setOnClickListener { openGalleryWithPermissionRequest() }
@@ -53,18 +56,18 @@ class DriverProfileFragment: DataSubmissionBaseFragment<DriverProfileViewModel,
override fun setFields(data: DriverProfileObject) { override fun setFields(data: DriverProfileObject) {
super.setFields(data) super.setFields(data)
driver_pic.setPicassoImage(data.driverPic) driver_pic.setPicassoImage(data.driverPic)
names_input.setFieldFromDataFetch(data.forenames) names_input.setText(data.forenames)
address_input.setFieldFromDataFetch(data.address) address_input.setText(data.address)
postcode_input.setFieldFromDataFetch(data.postcode) postcode_input.setText(data.postcode)
dob_input.setFieldFromDataFetch(data.dob) dob_input.setText(data.dob)
ni_number.setFieldFromDataFetch(data.ni) ni_number.setText(data.ni)
date_first.setFieldFromDataFetch(data.dateFirst) date_first.setText(data.dateFirst)
} }
override fun onImageGalleryResult(imageUri: Uri?) { override fun onImageGalleryResult(imageUri: Uri?) {
super.onImageGalleryResult(imageUri) super.onImageGalleryResult(imageUri)
localUri = imageUri localUri = imageUri
driver_pic.setImageURI(imageUri) driver_pic.setPicassoImage(imageUri)
} }
} }

View File

@@ -3,7 +3,7 @@ package h_mal.appttude.com.driver.ui.driver.driverprofile
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import h_mal.appttude.com.driver.DataFieldsInterface import h_mal.appttude.com.driver.Global.DateDialog
import h_mal.appttude.com.driver.R import h_mal.appttude.com.driver.R
import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment
import h_mal.appttude.com.driver.model.PrivateHireObject import h_mal.appttude.com.driver.model.PrivateHireObject
@@ -12,8 +12,7 @@ import h_mal.appttude.com.driver.viewmodels.PrivateHireLicenseViewModel
import kotlinx.android.synthetic.main.fragment_private_hire_license.* import kotlinx.android.synthetic.main.fragment_private_hire_license.*
class PrivateHireLicenseFragment : DataSubmissionBaseFragment<PrivateHireLicenseViewModel, PrivateHireObject>(), class PrivateHireLicenseFragment : DataSubmissionBaseFragment<PrivateHireLicenseViewModel, PrivateHireObject>() {
DataFieldsInterface {
val viewmodel by getFragmentViewModel<PrivateHireLicenseViewModel>() val viewmodel by getFragmentViewModel<PrivateHireLicenseViewModel>()
override fun getViewModel(): PrivateHireLicenseViewModel = viewmodel override fun getViewModel(): PrivateHireLicenseViewModel = viewmodel
@@ -24,16 +23,19 @@ class PrivateHireLicenseFragment : DataSubmissionBaseFragment<PrivateHireLicense
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
ph_no.setTextOnChange{ model.phNumber = it } ph_no.setTextOnChange{ model.phNumber = it }
ph_expiry.setTextOnChange{ model.phExpiry = it } ph_expiry.apply {
setTextOnChange{ model.phExpiry = it }
setOnClickListener {
DateDialog(this)
}
}
uploadphlic.setOnClickListener { openGalleryWithPermissionRequest() } uploadphlic.setOnClickListener { openGalleryWithPermissionRequest() }
submit.setOnClickListener{ submit() } submit.setOnClickListener{ submit() }
} }
override fun submit(){ override fun submit(){
validateEditTexts(ph_no,ph_expiry) validateEditTexts(ph_no,ph_expiry).takeIf { !it }?.let { return }
.takeIf { !it }
?.let { return }
viewmodel.setDataInDatabase(model, picUri) viewmodel.setDataInDatabase(model, picUri)
} }
@@ -41,13 +43,13 @@ class PrivateHireLicenseFragment : DataSubmissionBaseFragment<PrivateHireLicense
override fun setFields(data: PrivateHireObject) { override fun setFields(data: PrivateHireObject) {
super.setFields(data) super.setFields(data)
imageView2.setPicassoImage(data.phImageString) imageView2.setPicassoImage(data.phImageString)
ph_no.setFieldFromDataFetch(data.phNumber) ph_no.setText(data.phNumber)
ph_expiry.setFieldFromDataFetch(data.phExpiry) ph_expiry.setText(data.phExpiry)
} }
override fun onImageGalleryResult(imageUri: Uri?) { override fun onImageGalleryResult(imageUri: Uri?) {
super.onImageGalleryResult(imageUri) super.onImageGalleryResult(imageUri)
imageView2.setImageURI(imageUri) imageView2.setPicassoImage(imageUri)
} }
} }

View File

@@ -0,0 +1,70 @@
package h_mal.appttude.com.driver.ui.driver.vehicleprofile
import android.net.Uri
import android.os.Bundle
import android.view.View
import android.widget.ImageView
import h_mal.appttude.com.driver.Global.DateDialog
import h_mal.appttude.com.driver.Objects.InsuranceObject
import h_mal.appttude.com.driver.R
import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment
import h_mal.appttude.com.driver.utils.setPicassoImage
import h_mal.appttude.com.driver.viewmodels.InsuranceViewModel
import kotlinx.android.synthetic.main.fragment_insurance.*
class InsuranceFragment : DataSubmissionBaseFragment<InsuranceViewModel, InsuranceObject>() {
private var selectedImages: List<Uri>? = listOf()
private val viewmodel: InsuranceViewModel by getFragmentViewModel()
override fun getViewModel(): InsuranceViewModel = viewmodel
override fun getLayoutId(): Int = R.layout.fragment_insurance
override var model = InsuranceObject()
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
setImageSelectionAsMultiple()
insurer.setTextOnChange { model.insurerName = it }
insurance_exp.apply {
setOnClickListener { DateDialog(this) }
setTextOnChange { model.expiryDate = it }
}
uploadInsurance.setOnClickListener { openGalleryWithPermissionRequest() }
submit_ins.setOnClickListener { submit() }
}
private fun updateImageCarousal(list: List<Any?>) {
carouselView.setImageClickListener(null)
carouselView.setImageListener { i: Int, imageView: ImageView ->
when (list[i]) {
is Uri -> { imageView.setPicassoImage(list[i] as Uri) }
is String -> imageView.setPicassoImage(list[i] as String)
}
}
carouselView.pageCount = list.size
}
override fun submit() {
super.submit()
validateEditTexts(insurer, insurance_exp).takeIf { !it }?.let { return }
viewmodel.setDataInDatabase(model, selectedImages)
}
override fun setFields(data: InsuranceObject) {
super.setFields(data)
insurer.setText(model.insurerName)
insurance_exp.setText(model.expiryDate)
model.photoStrings?.let { updateImageCarousal(it) }
}
override fun onImageGalleryResult(imageUris: List<Uri>?) {
selectedImages = imageUris
selectedImages?.let { updateImageCarousal(it) }
}
}

View File

@@ -3,7 +3,6 @@ package h_mal.appttude.com.driver.ui.driver.vehicleprofile
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import h_mal.appttude.com.driver.DataFieldsInterface
import h_mal.appttude.com.driver.Objects.LogbookObject import h_mal.appttude.com.driver.Objects.LogbookObject
import h_mal.appttude.com.driver.R import h_mal.appttude.com.driver.R
import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment
@@ -12,8 +11,7 @@ import h_mal.appttude.com.driver.viewmodels.LogbookViewModel
import kotlinx.android.synthetic.main.fragment_logbook.* import kotlinx.android.synthetic.main.fragment_logbook.*
class LogbookFragment : DataSubmissionBaseFragment<LogbookViewModel, LogbookObject>(), class LogbookFragment : DataSubmissionBaseFragment<LogbookViewModel, LogbookObject>() {
DataFieldsInterface {
private val viewmodel by getFragmentViewModel<LogbookViewModel>() private val viewmodel by getFragmentViewModel<LogbookViewModel>()
override fun getViewModel(): LogbookViewModel = viewmodel override fun getViewModel(): LogbookViewModel = viewmodel
@@ -41,13 +39,13 @@ class LogbookFragment : DataSubmissionBaseFragment<LogbookViewModel, LogbookObje
super.setFields(data) super.setFields(data)
log_book_img.setPicassoImage(data.photoString) log_book_img.setPicassoImage(data.photoString)
v5c_no.setFieldFromDataFetch(data.v5cnumber) v5c_no.setText(data.v5cnumber)
} }
override fun onImageGalleryResult(imageUri: Uri?) { override fun onImageGalleryResult(imageUri: Uri?) {
super.onImageGalleryResult(imageUri) super.onImageGalleryResult(imageUri)
picUri = imageUri picUri = imageUri
log_book_img.setImageURI(picUri) log_book_img.setPicassoImage(picUri)
} }
} }

View File

@@ -3,7 +3,8 @@ package h_mal.appttude.com.driver.ui.driver.vehicleprofile
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import h_mal.appttude.com.driver.DataFieldsInterface
import h_mal.appttude.com.driver.Global.DateDialog
import h_mal.appttude.com.driver.R import h_mal.appttude.com.driver.R
import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment
import h_mal.appttude.com.driver.model.MotObject import h_mal.appttude.com.driver.model.MotObject
@@ -12,8 +13,7 @@ import h_mal.appttude.com.driver.viewmodels.MotViewModel
import kotlinx.android.synthetic.main.fragment_mot.* import kotlinx.android.synthetic.main.fragment_mot.*
class MotFragment: DataSubmissionBaseFragment<MotViewModel, MotObject>(), class MotFragment: DataSubmissionBaseFragment<MotViewModel, MotObject>(){
DataFieldsInterface {
private val viewmodel by getFragmentViewModel<MotViewModel>() private val viewmodel by getFragmentViewModel<MotViewModel>()
override fun getViewModel(): MotViewModel = viewmodel override fun getViewModel(): MotViewModel = viewmodel
@@ -23,27 +23,31 @@ class MotFragment: DataSubmissionBaseFragment<MotViewModel, MotObject>(),
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
mot_expiry.setTextOnChange{ model.motExpiry = it } mot_expiry.apply {
setTextOnChange{ model.motExpiry = it }
setOnClickListener {
DateDialog(this)
}
}
uploadmot.setOnClickListener { openGalleryWithPermissionRequest() } uploadmot.setOnClickListener { openGalleryWithPermissionRequest() }
submit_mot.setOnClickListener { submit() } submit_mot.setOnClickListener { submit() }
} }
override fun submit() { override fun submit() {
super.submit() super.submit()
validateEditTexts(mot_expiry) validateEditTexts(mot_expiry).takeIf { !it }?.let { return }
.takeIf { !it }
?.let { return }
viewmodel.setDataInDatabase(model, picUri) viewmodel.setDataInDatabase(model, picUri)
} }
override fun setFields(data: MotObject) { override fun setFields(data: MotObject) {
super.setFields(data) super.setFields(data)
mot_img.setPicassoImage(data.motImageString) mot_img.setPicassoImage(data.motImageString)
mot_expiry.setFieldFromDataFetch(data.motExpiry) mot_expiry.setText(data.motExpiry)
} }
override fun onImageGalleryResult(imageUri: Uri?) { override fun onImageGalleryResult(imageUri: Uri?) {
super.onImageGalleryResult(imageUri) super.onImageGalleryResult(imageUri)
mot_img.setImageURI(imageUri) mot_img.setPicassoImage(imageUri)
} }
} }

View File

@@ -3,7 +3,8 @@ package h_mal.appttude.com.driver.ui.driver.vehicleprofile
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import h_mal.appttude.com.driver.DataFieldsInterface
import h_mal.appttude.com.driver.Global.DateDialog
import h_mal.appttude.com.driver.Objects.PrivateHireVehicleObject import h_mal.appttude.com.driver.Objects.PrivateHireVehicleObject
import h_mal.appttude.com.driver.R import h_mal.appttude.com.driver.R
import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment
@@ -12,8 +13,7 @@ import h_mal.appttude.com.driver.viewmodels.PrivateHireVehicleViewModel
import kotlinx.android.synthetic.main.fragment_private_hire_vehicle.* import kotlinx.android.synthetic.main.fragment_private_hire_vehicle.*
class PrivateHireVehicleFragment: DataSubmissionBaseFragment<PrivateHireVehicleViewModel, PrivateHireVehicleObject>(), class PrivateHireVehicleFragment: DataSubmissionBaseFragment<PrivateHireVehicleViewModel, PrivateHireVehicleObject>(){
DataFieldsInterface {
private val viewmodel by getFragmentViewModel<PrivateHireVehicleViewModel>() private val viewmodel by getFragmentViewModel<PrivateHireVehicleViewModel>()
override fun getViewModel(): PrivateHireVehicleViewModel = viewmodel override fun getViewModel(): PrivateHireVehicleViewModel = viewmodel
@@ -24,7 +24,12 @@ class PrivateHireVehicleFragment: DataSubmissionBaseFragment<PrivateHireVehicleV
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
ph_no.setTextOnChange{ model.phCarNumber = it } ph_no.setTextOnChange{ model.phCarNumber = it }
ph_expiry.setTextOnChange{ model.phCarExpiry = it } ph_expiry.apply {
setTextOnChange{ model.phCarExpiry = it }
setOnClickListener {
DateDialog(this)
}
}
uploadphlic.setOnClickListener { openGalleryWithPermissionRequest() } uploadphlic.setOnClickListener { openGalleryWithPermissionRequest() }
submit.setOnClickListener { submit() } submit.setOnClickListener { submit() }
@@ -32,21 +37,19 @@ class PrivateHireVehicleFragment: DataSubmissionBaseFragment<PrivateHireVehicleV
override fun submit() { override fun submit() {
super.submit() super.submit()
validateEditTexts(ph_no, ph_expiry) validateEditTexts(ph_no, ph_expiry).takeIf { !it }?.let { return }
.takeIf { !it }
?.let { return }
viewmodel.setDataInDatabase(model, picUri) viewmodel.setDataInDatabase(model, picUri)
} }
override fun setFields(data: PrivateHireVehicleObject) { override fun setFields(data: PrivateHireVehicleObject) {
super.setFields(data) super.setFields(data)
imageView2.setPicassoImage(data.phCarImageString) imageView2.setPicassoImage(data.phCarImageString)
ph_no.setFieldFromDataFetch(data.phCarNumber) ph_no.setText(data.phCarNumber)
ph_expiry.setFieldFromDataFetch(data.phCarExpiry) ph_expiry.setText(data.phCarExpiry)
} }
override fun onImageGalleryResult(imageUri: Uri?) { override fun onImageGalleryResult(imageUri: Uri?) {
super.onImageGalleryResult(imageUri) super.onImageGalleryResult(imageUri)
imageView2.setImageURI(imageUri) imageView2.setPicassoImage(imageUri)
} }
} }

View File

@@ -2,7 +2,8 @@ package h_mal.appttude.com.driver.ui.driver.vehicleprofile
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import h_mal.appttude.com.driver.DataFieldsInterface
import h_mal.appttude.com.driver.Global.DateDialog
import h_mal.appttude.com.driver.R import h_mal.appttude.com.driver.R
import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment import h_mal.appttude.com.driver.base.DataSubmissionBaseFragment
import h_mal.appttude.com.driver.model.VehicleProfileObject import h_mal.appttude.com.driver.model.VehicleProfileObject
@@ -10,9 +11,7 @@ import h_mal.appttude.com.driver.viewmodels.VehicleProfileViewModel
import kotlinx.android.synthetic.main.fragment_vehicle_setup.* import kotlinx.android.synthetic.main.fragment_vehicle_setup.*
class VehicleProfileFragment : class VehicleProfileFragment: DataSubmissionBaseFragment<VehicleProfileViewModel, VehicleProfileObject>(){
DataSubmissionBaseFragment<VehicleProfileViewModel, VehicleProfileObject>(),
DataFieldsInterface {
private val viewmodel by getFragmentViewModel<VehicleProfileViewModel>() private val viewmodel by getFragmentViewModel<VehicleProfileViewModel>()
override fun getViewModel(): VehicleProfileViewModel = viewmodel override fun getViewModel(): VehicleProfileViewModel = viewmodel
@@ -29,7 +28,12 @@ class VehicleProfileFragment :
keeper_name.setTextOnChange { model.keeperName = it } keeper_name.setTextOnChange { model.keeperName = it }
address.setTextOnChange { model.keeperAddress = it } address.setTextOnChange { model.keeperAddress = it }
postcode.setTextOnChange { model.keeperPostCode = it } postcode.setTextOnChange { model.keeperPostCode = it }
start_date.setTextOnChange { model.startDate = it } start_date.apply {
setTextOnChange{ model.startDate = it }
setOnClickListener {
DateDialog(this)
}
}
seized_checkbox.setOnCheckedChangeListener { _, res -> model.isSeized = res} seized_checkbox.setOnCheckedChangeListener { _, res -> model.isSeized = res}
submit_vehicle.setOnClickListener { submit() } submit_vehicle.setOnClickListener { submit() }
@@ -45,14 +49,14 @@ class VehicleProfileFragment :
override fun setFields(data: VehicleProfileObject) { override fun setFields(data: VehicleProfileObject) {
super.setFields(data) super.setFields(data)
reg.setFieldFromDataFetch(data.reg) reg.setText(data.reg)
make.setFieldFromDataFetch(data.make) make.setText(data.make)
car_model.setFieldFromDataFetch(data.model) car_model.setText(data.model)
colour.setFieldFromDataFetch(data.colour) colour.setText(data.colour)
keeper_name.setFieldFromDataFetch(data.keeperName) keeper_name.setText(data.keeperName)
address.setFieldFromDataFetch(data.keeperAddress) address.setText(data.keeperAddress)
postcode.setFieldFromDataFetch(data.keeperPostCode) postcode.setText(data.keeperPostCode)
start_date.setFieldFromDataFetch(data.startDate) start_date.setText(data.startDate)
seized_checkbox.isChecked = data.isSeized seized_checkbox.isChecked = data.isSeized
} }
} }

View File

@@ -85,7 +85,7 @@ class UpdateProfileFragment : BaseFragment<UpdateUserViewModel>() {
override fun onImageGalleryResult(imageUri: Uri?) { override fun onImageGalleryResult(imageUri: Uri?) {
super.onImageGalleryResult(imageUri) super.onImageGalleryResult(imageUri)
this.imageUri = imageUri this.imageUri = imageUri
profile_img.setImageURI(imageUri) profile_img.setPicassoImage(imageUri)
imageChangeListener = true imageChangeListener = true
} }

View File

@@ -1,11 +1,11 @@
package h_mal.appttude.com.driver.user package h_mal.appttude.com.driver.ui.user
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import com.google.firebase.auth.AuthResult import com.google.firebase.auth.AuthResult
import com.google.firebase.auth.FirebaseUser import com.google.firebase.auth.FirebaseUser
import h_mal.appttude.com.driver.MainActivity import h_mal.appttude.com.driver.ui.driver.MainActivity
import h_mal.appttude.com.driver.R import h_mal.appttude.com.driver.R
import h_mal.appttude.com.driver.base.BaseActivity import h_mal.appttude.com.driver.base.BaseActivity
import h_mal.appttude.com.driver.viewmodels.UserViewModel import h_mal.appttude.com.driver.viewmodels.UserViewModel

View File

@@ -1,4 +1,4 @@
package h_mal.appttude.com.driver.user package h_mal.appttude.com.driver.ui.user
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View

View File

@@ -1,4 +1,4 @@
package h_mal.appttude.com.driver.user package h_mal.appttude.com.driver.ui.user
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View

View File

@@ -1,10 +1,12 @@
package h_mal.appttude.com.driver.user package h_mal.appttude.com.driver.ui.user
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import com.google.firebase.auth.FirebaseUser
import h_mal.appttude.com.driver.R import h_mal.appttude.com.driver.R
import h_mal.appttude.com.driver.base.BaseFragment import h_mal.appttude.com.driver.base.BaseFragment
import h_mal.appttude.com.driver.data.FirebaseCompletion
import h_mal.appttude.com.driver.utils.Coroutines.main import h_mal.appttude.com.driver.utils.Coroutines.main
import h_mal.appttude.com.driver.utils.navigateTo import h_mal.appttude.com.driver.utils.navigateTo
import h_mal.appttude.com.driver.viewmodels.UserViewModel import h_mal.appttude.com.driver.viewmodels.UserViewModel
@@ -20,14 +22,14 @@ class SplashScreenFragment : BaseFragment<UserViewModel>() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
userViewModel.getUser() userViewModel.splashscreenCheckUserIsLoggedIn()
goToLogin()
} }
private fun goToLogin() = main{ override fun onSuccess(data: Any?) {
delay(1000) super.onSuccess(data)
view?.navigateTo(R.id.to_loginFragment) when(data){
is FirebaseCompletion.Default -> view?.navigateTo(R.id.to_loginFragment)
}
} }
} }

View File

@@ -3,7 +3,9 @@ package h_mal.appttude.com.driver.viewmodels
import com.google.firebase.auth.AuthResult import com.google.firebase.auth.AuthResult
import h_mal.appttude.com.driver.base.BaseViewModel import h_mal.appttude.com.driver.base.BaseViewModel
import h_mal.appttude.com.driver.data.FirebaseAuthentication import h_mal.appttude.com.driver.data.FirebaseAuthentication
import h_mal.appttude.com.driver.data.FirebaseCompletion
import h_mal.appttude.com.driver.utils.Coroutines.io import h_mal.appttude.com.driver.utils.Coroutines.io
import kotlinx.coroutines.delay
import kotlinx.coroutines.tasks.await import kotlinx.coroutines.tasks.await
class UserViewModel( class UserViewModel(
@@ -34,11 +36,12 @@ class UserViewModel(
} }
} }
fun splashscreenCheckUserIsLoggedIn() = io {
fun getUser(): Boolean { delay(1000)
return auth.getUser()?.let { auth.getUser()?.let {
onSuccess(it) onSuccess(it)
true
} ?: false
} }
onSuccess(FirebaseCompletion.Default)
}
} }

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="@color/colour_three"
android:endColor="@color/colour_two"
android:type="linear"
android:angle="45"/>
</shape>

View File

@@ -1,12 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M12,12m-3.2,0a3.2,3.2 0,1 1,6.4 0a3.2,3.2 0,1 1,-6.4 0" />
<path
android:fillColor="#FF000000"
android:pathData="M9,2L7.17,4H4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V6c0,-1.1 -0.9,-2 -2,-2h-3.17L15,2H9zm3,15c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5z" />
</vector>

View File

@@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M22,16V4c0,-1.1 -0.9,-2 -2,-2H8c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2zm-11,-4l2.03,2.71L16,11l4,5H8l3,-4zM2,6v14c0,1.1 0.9,2 2,2h14v-2H4V6H2z" />
</vector>

View File

@@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M22.7,19l-9.1,-9.1c0.9,-2.3 0.4,-5 -1.5,-6.9 -2,-2 -5,-2.4 -7.4,-1.3L9,6 6,9 1.6,4.7C0.4,7.1 0.9,10.1 2.9,12.1c1.9,1.9 4.6,2.4 6.9,1.5l9.1,9.1c0.4,0.4 1,0.4 1.4,0l2.3,-2.3c0.5,-0.4 0.5,-1.1 0.1,-1.4z" />
</vector>

View File

@@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M2.01,21L23,12 2.01,3 2,10l15,2 -15,2z" />
</vector>

View File

@@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92 1.61,0 2.92,-1.31 2.92,-2.92s-1.31,-2.92 -2.92,-2.92z" />
</vector>

View File

@@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M4,6H2v14c0,1.1 0.9,2 2,2h14v-2H4V6zm16,-4H8c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2V4c0,-1.1 -0.9,-2 -2,-2zm-8,12.5v-9l6,4.5 -6,4.5z" />
</vector>

View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/transparent"/>
<stroke android:width="2dip" android:color="@android:color/holo_red_dark" />
<corners android:radius="22dip"/>
<padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
</shape>

View File

@@ -1,34 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillType="evenOdd"
android:pathData="M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z"
android:strokeWidth="1"
android:strokeColor="#00000000">
<aapt:attr name="android:fillColor">
<gradient
android:endX="78.5885"
android:endY="90.9159"
android:startX="48.7653"
android:startY="61.0927"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0" />
<item
android:color="#00000000"
android:offset="1.0" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z"
android:strokeWidth="1"
android:strokeColor="#00000000" />
</vector>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

View File

@@ -1,170 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="#008577"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
</vector>

View File

@@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M18.92,6.01C18.72,5.42 18.16,5 17.5,5L15,5L15,3L9,3v2L6.5,5c-0.66,0 -1.21,0.42 -1.42,1.01L3,12v8c0,0.55 0.45,1 1,1h1c0.55,0 1,-0.45 1,-1v-1h12v1c0,0.55 0.45,1 1,1h1c0.55,0 1,-0.45 1,-1v-8l-2.08,-5.99zM6.5,16c-0.83,0 -1.5,-0.67 -1.5,-1.5S5.67,13 6.5,13s1.5,0.67 1.5,1.5S7.33,16 6.5,16zM17.5,16c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM5,11l1.5,-4.5h11L19,11L5,11z"/>
</vector>

View File

@@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M12,12c2.21,0 4,-1.79 4,-4s-1.79,-4 -4,-4 -4,1.79 -4,4 1.79,4 4,4zM12,14c-2.67,0 -8,1.34 -8,4v2h16v-2c0,-2.66 -5.33,-4 -8,-4z"/>
</vector>

View File

@@ -1,35 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.cardview.widget.CardView
style="@style/cardview_theme"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:cardBackgroundColor="#03a9f4">
<EditText
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="18dp"
android:layout_marginRight="18dp"
android:importantForAutofill="yes"
android:autofilledHighlight="@android:color/transparent"
android:ems="10"
android:hint="@string/prompt_email"
android:text="sdfasdasda"
android:inputType="textEmailAddress"
android:maxLines="1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:textColorHighlight="#03a9f4" />
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,52 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/pb"
android:visibility="gone"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="12dp"
android:layout_centerInParent="true">
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/reset_pw"
style="@style/edittexttheme"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
android:ems="10"
android:hint="Enter Emil Address"
android:inputType="textEmailAddress"
android:maxLines="1" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
<Button
android:id="@+id/reset_pw_sign_up"
style="?android:attr/borderlessButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_margin="12dp"
android:background="@drawable/cardviewoutline"
android:text="Sign Up"
android:textColor="#91ddff"
android:textStyle="bold" />
</RelativeLayout>

View File

@@ -6,8 +6,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@drawable/cars" android:background="@drawable/cars"
android:id="@+id/something" tools:context=".ui.user.LoginActivity">
tools:context=".user.LoginActivity">
<fragment <fragment
android:id="@+id/container" android:id="@+id/container"

View File

@@ -1,102 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/pb"
android:visibility="gone"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="12dp"
android:layout_centerInParent="true">
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/name_register"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
android:ems="10"
android:hint="Enter Full Name"
android:inputType="textEmailAddress"
android:maxLines="1"
style="@style/edittexttheme" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/email_register"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
android:ems="10"
android:hint="Enter Email"
android:inputType="textEmailAddress"
android:maxLines="1"
style="@style/edittexttheme" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/password_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
android:ems="10"
android:hint="Enter Password"
android:inputType="textPassword"
android:maxLines="1"
style="@style/edittexttheme" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/password_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
android:ems="10"
android:hint="Enter Password Again"
android:inputType="textPassword"
android:maxLines="1"
style="@style/edittexttheme"/>
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
<Button
android:id="@+id/email_sign_up"
style="?android:attr/borderlessButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_margin="12dp"
android:background="@drawable/cardviewoutline"
android:text="Sign Up"
android:textColor="#91ddff"
android:textStyle="bold" />
</RelativeLayout>

View File

@@ -5,7 +5,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:orientation="vertical"
tools:context=".MainActivity"> tools:context=".ui.driver.MainActivity">
<com.google.android.material.appbar.AppBarLayout <com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@@ -1,41 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<FrameLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<TextView
android:id="@+id/approval_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left|center"
android:textSize="22sp"
android:textStyle="bold"
tools:text="Private Hire License" />
</FrameLayout>
<ImageView
android:id="@+id/approval_iv"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginLeft="12dp"
android:layout_marginRight="6dp"
android:padding="6dp"
tools:src="@drawable/pending" />
<ImageView
android:id="@+id/archive_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="6dp"
android:tint="@color/colour_three"
android:src="@drawable/ic_archive_black_24dp" />
</LinearLayout>

View File

@@ -65,7 +65,6 @@
android:orientation="vertical"> android:orientation="vertical">
<TextView <TextView
android:id="@+id/expiry_field"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Expiry" android:text="Expiry"

View File

@@ -1,313 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
xmlns:app="http://schemas.android.com/apk/res-auto">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="6dp"
android:layout_marginBottom="6dp"
android:layout_weight="1"
android:background="#fcf7f7">
<ImageView
android:id="@+id/approval_one"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignBottom="@id/card_one"
android:layout_alignParentLeft="true"
android:layout_centerVertical="false"
android:layout_gravity="center_vertical"
android:layout_marginTop="16dp"
tools:src="@drawable/approved" />
<androidx.cardview.widget.CardView
android:id="@+id/card_one"
style="@style/cardview_theme"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/layout"
android:layout_marginTop="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="3dp"
android:layout_toRightOf="@id/approval_one"
app:cardBackgroundColor="@color/colour_three">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left|center"
android:layout_marginLeft="44dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Vehicle Profile"
android:textSize="26sp" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<LinearLayout
android:id="@+id/layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="24dp"
android:layout_marginBottom="8dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="18dp"
android:text="Upload new"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Edit/View"
android:textStyle="bold" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="6dp"
android:layout_marginBottom="6dp"
android:layout_weight="1"
android:background="#fcf7f7">
<ImageView
android:id="@+id/approval_two"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignBottom="@id/card_two"
android:layout_alignParentLeft="true"
android:layout_centerVertical="false"
android:layout_gravity="center_vertical"
android:layout_marginTop="16dp"
tools:src="@drawable/denied" />
<androidx.cardview.widget.CardView
android:id="@+id/card_two"
style="@style/cardview_theme"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/layout_1"
android:layout_marginTop="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="3dp"
android:layout_toRightOf="@id/approval_two"
app:cardBackgroundColor="@color/colour_three">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left|center"
android:layout_marginLeft="44dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Insurance"
android:textSize="26sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Expiry: 12/12/2019" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<LinearLayout
android:id="@+id/layout_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="24dp"
android:layout_marginBottom="8dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="18dp"
android:text="Upload new"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Edit/View"
android:textStyle="bold" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="6dp"
android:layout_marginBottom="6dp"
android:layout_weight="1"
android:background="#fcf7f7">
<ImageView
android:id="@+id/approval_three"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignBottom="@id/card_three"
android:layout_alignParentLeft="true"
android:layout_centerVertical="false"
android:layout_gravity="center_vertical"
android:layout_marginTop="16dp"
tools:src="@drawable/zero" />
<androidx.cardview.widget.CardView
android:id="@+id/card_three"
style="@style/cardview_theme"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/layout_2"
android:layout_marginTop="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="3dp"
android:layout_toRightOf="@id/approval_three"
app:cardBackgroundColor="@color/colour_three">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left|center"
android:layout_marginLeft="44dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="M.O.T"
android:textSize="26sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Expiry: 12/12/2019" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<LinearLayout
android:id="@+id/layout_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="24dp"
android:layout_marginBottom="8dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="18dp"
android:text="Upload new"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Edit/View"
android:textStyle="bold" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="6dp"
android:layout_marginBottom="6dp"
android:layout_weight="1"
android:background="#fcf7f7">
<ImageView
android:id="@+id/approval_four"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignBottom="@id/card_four"
android:layout_alignParentLeft="true"
android:layout_centerVertical="false"
android:layout_gravity="center_vertical"
android:layout_marginTop="16dp"
tools:src="@drawable/pending" />
<androidx.cardview.widget.CardView
android:id="@+id/card_four"
style="@style/cardview_theme"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/layout_3"
android:layout_marginTop="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="3dp"
android:layout_toRightOf="@id/approval_four"
app:cardBackgroundColor="@color/colour_three">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left|center"
android:layout_marginLeft="44dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Logbook"
android:textSize="26sp" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<LinearLayout
android:id="@+id/layout_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="24dp"
android:layout_marginBottom="8dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="18dp"
android:text="Upload new"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Edit/View"
android:textStyle="bold" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>

View File

@@ -7,7 +7,6 @@
tools:context=".ui.driver.driverprofile.DriverLicenseFragment"> tools:context=".ui.driver.driverprofile.DriverLicenseFragment">
<LinearLayout <LinearLayout
android:id="@+id/dl_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"

View File

@@ -9,7 +9,7 @@
android:paddingTop="@dimen/activity_vertical_margin" android:paddingTop="@dimen/activity_vertical_margin"
android:paddingRight="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingBottom="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".ui.HomeFragment"> tools:context=".ui.driver.HomeFragment">
<ImageView <ImageView
android:id="@+id/prova_logo" android:id="@+id/prova_logo"
@@ -40,7 +40,6 @@
app:layout_constraintTop_toBottomOf="@id/prova_logo" /> app:layout_constraintTop_toBottomOf="@id/prova_logo" />
<TextView <TextView
android:id="@+id/prova_subtitle_tv"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="24dp" android:layout_marginStart="24dp"
@@ -90,7 +89,6 @@
app:layout_constraintBottom_toTopOf="@id/drivers_license"> app:layout_constraintBottom_toTopOf="@id/drivers_license">
<TextView <TextView
android:id="@+id/sign_up_label"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="8dp" android:layout_margin="8dp"
@@ -117,7 +115,6 @@
app:layout_constraintBottom_toBottomOf="parent"> app:layout_constraintBottom_toBottomOf="parent">
<TextView <TextView
android:id="@+id/login_button_label"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="8dp" android:layout_margin="8dp"

View File

@@ -9,7 +9,7 @@
android:paddingTop="@dimen/activity_vertical_margin" android:paddingTop="@dimen/activity_vertical_margin"
android:paddingRight="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingBottom="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".ui.HomeFragment"> tools:context=".ui.driver.HomeFragment">
<ImageView <ImageView
android:id="@+id/prova_logo" android:id="@+id/prova_logo"
@@ -40,7 +40,6 @@
app:layout_constraintTop_toBottomOf="@id/prova_logo" /> app:layout_constraintTop_toBottomOf="@id/prova_logo" />
<TextView <TextView
android:id="@+id/prova_subtitle_tv"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="24dp" android:layout_marginStart="24dp"
@@ -66,7 +65,6 @@
app:layout_constraintBottom_toTopOf="@id/car"> app:layout_constraintBottom_toTopOf="@id/car">
<TextView <TextView
android:id="@+id/sign_up_label"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="8dp" android:layout_margin="8dp"
@@ -93,7 +91,6 @@
app:layout_constraintBottom_toBottomOf="parent"> app:layout_constraintBottom_toBottomOf="parent">
<TextView <TextView
android:id="@+id/login_button_label"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="8dp" android:layout_margin="8dp"

View File

@@ -6,7 +6,6 @@
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout <LinearLayout
android:id="@+id/ins_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
@@ -14,17 +13,17 @@
android:paddingTop="12dp" android:paddingTop="12dp"
android:paddingRight="12dp"> android:paddingRight="12dp">
<io.github.vejei.carouselview.CarouselView <com.synnapps.carouselview.CarouselView
android:id="@+id/carousel_view" android:id="@+id/carouselView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="150dp" android:layout_height="200dp"
android:layout_marginBottom="12dp" android:layout_marginBottom="12dp"
app:carouselMode="preview" app:fillColor="#FFFFFFFF"
app:carouselPreviewSide="sides" app:pageColor="#00000000"
app:carouselPreviewOffset="30dp" app:radius="6dp"
app:carouselPreviewSideBySideStyle="scale" app:autoPlay="false"
app:carouselMargin="10dp" app:strokeColor="#FF777777"
android:layout_marginTop="8dp"/> app:strokeWidth="1dp"/>
<TextView <TextView
android:id="@+id/uploadInsurance" android:id="@+id/uploadInsurance"

View File

@@ -7,7 +7,6 @@
tools:context=".ui.driver.vehicleprofile.LogbookFragment"> tools:context=".ui.driver.vehicleprofile.LogbookFragment">
<LinearLayout <LinearLayout
android:id="@+id/lb_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"

View File

@@ -11,7 +11,7 @@
android:paddingBottom="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin"
android:background="#73000000" android:background="#73000000"
android:importantForAutofill="yes" android:importantForAutofill="yes"
tools:context=".user.LoginFragment"> tools:context=".ui.user.LoginFragment">
<LinearLayout <LinearLayout
@@ -44,7 +44,6 @@
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout <com.google.android.material.textfield.TextInputLayout
android:id="@+id/til_password"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
@@ -89,7 +88,6 @@
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
<LinearLayout <LinearLayout
android:id="@+id/register"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"

View File

@@ -8,7 +8,6 @@
> >
<LinearLayout <LinearLayout
android:id="@+id/mot_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"

View File

@@ -8,7 +8,6 @@
tools:context=".ui.driver.driverprofile.PrivateHireLicenseFragment"> tools:context=".ui.driver.driverprofile.PrivateHireLicenseFragment">
<LinearLayout <LinearLayout
android:id="@+id/ph_view_holder"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"

View File

@@ -8,7 +8,6 @@
tools:context=".ui.driver.vehicleprofile.PrivateHireVehicleFragment"> tools:context=".ui.driver.vehicleprofile.PrivateHireVehicleFragment">
<LinearLayout <LinearLayout
android:id="@+id/ph_view_holder"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"

View File

@@ -4,6 +4,6 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:background="@drawable/cars" tools:background="@drawable/cars"
tools:context=".user.SplashScreenFragment"> tools:context=".ui.user.SplashScreenFragment">
</FrameLayout> </FrameLayout>

View File

@@ -35,7 +35,6 @@
app:layout_constraintTop_toBottomOf="@+id/login_title_tv" /> app:layout_constraintTop_toBottomOf="@+id/login_title_tv" />
<com.mikhaellopez.circularimageview.CircularImageView <com.mikhaellopez.circularimageview.CircularImageView
android:id="@+id/prova_icon"
android:layout_width="40dp" android:layout_width="40dp"
android:layout_height="40dp" android:layout_height="40dp"
tools:src="@android:drawable/ic_menu_camera" tools:src="@android:drawable/ic_menu_camera"

View File

@@ -3,7 +3,6 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:id="@+id/rel"
tools:context=".SuperUser.UserMainFragment"> tools:context=".SuperUser.UserMainFragment">
<!--<ListView--> <!--<ListView-->

View File

@@ -27,7 +27,6 @@
android:orientation="horizontal"> android:orientation="horizontal">
<ImageView <ImageView
android:id="@+id/approval_vehicle"
android:layout_width="64dp" android:layout_width="64dp"
android:layout_height="64dp" android:layout_height="64dp"
android:layout_gravity="right|center" android:layout_gravity="right|center"
@@ -69,7 +68,6 @@
android:orientation="horizontal"> android:orientation="horizontal">
<ImageView <ImageView
android:id="@+id/approval_insurance"
android:layout_width="64dp" android:layout_width="64dp"
android:layout_height="64dp" android:layout_height="64dp"
android:layout_gravity="right|center" android:layout_gravity="right|center"
@@ -91,7 +89,6 @@
android:textSize="22sp" /> android:textSize="22sp" />
<TextView <TextView
android:id="@+id/ins_exp"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:text="Expires: 20/12/2019" /> tools:text="Expires: 20/12/2019" />
@@ -122,7 +119,6 @@
android:orientation="horizontal"> android:orientation="horizontal">
<ImageView <ImageView
android:id="@+id/approval_mot"
android:layout_width="64dp" android:layout_width="64dp"
android:layout_height="64dp" android:layout_height="64dp"
android:layout_gravity="right|center" android:layout_gravity="right|center"
@@ -145,7 +141,6 @@
android:textSize="22sp" /> android:textSize="22sp" />
<TextView <TextView
android:id="@+id/mot_exp"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:text="Expires: 20/12/2019" /> tools:text="Expires: 20/12/2019" />
@@ -178,7 +173,6 @@
android:orientation="horizontal"> android:orientation="horizontal">
<ImageView <ImageView
android:id="@+id/approval_lb"
android:layout_width="64dp" android:layout_width="64dp"
android:layout_height="64dp" android:layout_height="64dp"
android:layout_gravity="right|center" android:layout_gravity="right|center"
@@ -219,7 +213,6 @@
android:orientation="horizontal"> android:orientation="horizontal">
<ImageView <ImageView
android:id="@+id/approval_ph_car"
android:layout_width="64dp" android:layout_width="64dp"
android:layout_height="64dp" android:layout_height="64dp"
android:layout_gravity="right|center" android:layout_gravity="right|center"
@@ -241,7 +234,6 @@
android:textSize="22sp" /> android:textSize="22sp" />
<TextView <TextView
android:id="@+id/ph_car_exp"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="6dp" android:layout_marginTop="6dp"

View File

@@ -1,34 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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:layout_width="wrap_content"
android:layout_height="match_parent"
tools:layout_height="200dp">
<FrameLayout
android:id="@+id/frame_lay"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:adjustViewBounds="true">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:cardCornerRadius="28dp"
app:cardElevation="0dp">
<ImageView
android:id="@+id/main_image"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_alignParentLeft="true"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
tools:src="@drawable/choice_img_round" />
</androidx.cardview.widget.CardView>
</FrameLayout>
</FrameLayout>

View File

@@ -49,7 +49,6 @@
</FrameLayout> </FrameLayout>
<LinearLayout <LinearLayout
android:id="@+id/textholder"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerVertical="true" android:layout_centerVertical="true"

View File

@@ -18,7 +18,6 @@
android:layout_height="200dp" android:layout_height="200dp"
android:adjustViewBounds="true"> android:adjustViewBounds="true">
<androidx.viewpager.widget.ViewPager <androidx.viewpager.widget.ViewPager
android:id="@+id/view_pager"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content"> android:layout_height="wrap_content">

View File

@@ -6,7 +6,6 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@drawable/cars" android:background="@drawable/cars"
android:id="@+id/something"
tools:context=".update.UpdateActivity"> tools:context=".update.UpdateActivity">
<fragment <fragment

View File

@@ -50,7 +50,6 @@
app:layout_constraintStart_toStartOf="parent"> app:layout_constraintStart_toStartOf="parent">
<TextView <TextView
android:id="@+id/update_email_button_label"
style="@style/button_inner_text" style="@style/button_inner_text"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -74,7 +73,6 @@
app:layout_constraintStart_toStartOf="parent"> app:layout_constraintStart_toStartOf="parent">
<TextView <TextView
android:id="@+id/update_password_button_label"
style="@style/button_inner_text" style="@style/button_inner_text"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -98,7 +96,6 @@
app:layout_constraintStart_toStartOf="parent"> app:layout_constraintStart_toStartOf="parent">
<TextView <TextView
android:id="@+id/update_profile_button_label"
style="@style/button_inner_text" style="@style/button_inner_text"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="never" />
</menu>

View File

@@ -7,7 +7,7 @@
<fragment <fragment
android:id="@+id/loginFragment" android:id="@+id/loginFragment"
android:name="h_mal.appttude.com.driver.user.LoginFragment" android:name="h_mal.appttude.com.driver.ui.user.LoginFragment"
android:label="LoginFragment" android:label="LoginFragment"
tools:layout="@layout/fragment_login"> tools:layout="@layout/fragment_login">
<action <action
@@ -27,7 +27,7 @@
</fragment> </fragment>
<fragment <fragment
android:id="@+id/registerFragment" android:id="@+id/registerFragment"
android:name="h_mal.appttude.com.driver.user.RegisterFragment" android:name="h_mal.appttude.com.driver.ui.user.RegisterFragment"
android:label="RegisterFragment" android:label="RegisterFragment"
tools:layout="@layout/fragment_register"/> tools:layout="@layout/fragment_register"/>
<fragment <fragment
@@ -37,7 +37,7 @@
tools:layout="@layout/fragment_forgot_password" /> tools:layout="@layout/fragment_forgot_password" />
<fragment <fragment
android:id="@+id/splashScreenFragment" android:id="@+id/splashScreenFragment"
android:name="h_mal.appttude.com.driver.user.SplashScreenFragment" android:name="h_mal.appttude.com.driver.ui.user.SplashScreenFragment"
android:label="fragment_splash_screen" android:label="fragment_splash_screen"
tools:layout="@layout/fragment_splash_screen" > tools:layout="@layout/fragment_splash_screen" >
<action <action

View File

@@ -2,12 +2,11 @@
<navigation xmlns:android="http://schemas.android.com/apk/res/android" <navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_navigation"
app:startDestination="@id/homeDriverFragment"> app:startDestination="@id/homeDriverFragment">
<fragment <fragment
android:id="@+id/homeDriverFragment" android:id="@+id/homeDriverFragment"
android:name="h_mal.appttude.com.driver.ui.HomeFragment" android:name="h_mal.appttude.com.driver.ui.driver.HomeFragment"
android:label="fragment_home" android:label="fragment_home"
tools:layout="@layout/fragment_home_driver" > tools:layout="@layout/fragment_home_driver" >
<action <action
@@ -114,7 +113,7 @@
tools:layout="@layout/fragment_vehicle_setup"/> tools:layout="@layout/fragment_vehicle_setup"/>
<fragment <fragment
android:id="@+id/insuranceFragment" android:id="@+id/insuranceFragment"
android:name="h_mal.appttude.com.driver.driver.InsuranceFragment" android:name="h_mal.appttude.com.driver.ui.driver.vehicleprofile.InsuranceFragment"
android:label="InsuranceFragment" android:label="InsuranceFragment"
tools:layout="@layout/fragment_insurance"/> tools:layout="@layout/fragment_insurance"/>
<fragment <fragment

View File

@@ -2,7 +2,6 @@
<navigation xmlns:android="http://schemas.android.com/apk/res/android" <navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/update_navigation"
app:startDestination="@id/updateOverviewFragment"> app:startDestination="@id/updateOverviewFragment">
<fragment <fragment

View File

@@ -1,18 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<style name="login_edit_text">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginLeft">18dp</item>
<item name="android:layout_marginRight">18dp</item>
<item name="android:importantForAutofill">yes</item>
<item name="android:autofilledHighlight">@android:color/transparent</item>
<item name="android:ems">10</item>
<item name="android:inputType">textEmailAddress</item>
<item name="android:maxLines">1</item>
<item name="android:selectAllOnFocus">true</item>
<item name="android:singleLine">true</item>
<item name="android:textColorHighlight">#03a9f4</item>
</style>
</resources> </resources>

View File

@@ -4,6 +4,4 @@
<dimen name="activity_vertical_margin">16dp</dimen> <dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="nav_header_vertical_spacing">8dp</dimen> <dimen name="nav_header_vertical_spacing">8dp</dimen>
<dimen name="nav_header_height">200dp</dimen> <dimen name="nav_header_height">200dp</dimen>
<dimen name="fab_margin">16dp</dimen>
<dimen name="floating_hint_margin">22dp</dimen>
</resources> </resources>

View File

@@ -1,8 +1 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"> <resources xmlns:android="http://schemas.android.com/apk/res/android"></resources>
<item name="ic_menu_camera" type="drawable">@android:drawable/ic_menu_camera</item>
<item name="ic_menu_gallery" type="drawable">@android:drawable/ic_menu_gallery</item>
<item name="ic_menu_slideshow" type="drawable">@android:drawable/ic_menu_slideshow</item>
<item name="ic_menu_manage" type="drawable">@android:drawable/ic_menu_manage</item>
<item name="ic_menu_share" type="drawable">@android:drawable/ic_menu_share</item>
<item name="ic_menu_send" type="drawable">@android:drawable/ic_menu_send</item>
</resources>

View File

@@ -1,38 +1,20 @@
<resources> <resources>
<string name="app_name">Choice Minicabs</string> <string name="app_name">Choice Minicabs</string>
<string name="navigation_drawer_open">Open navigation drawer</string>
<string name="navigation_drawer_close">Close navigation drawer</string>
<string name="nav_header_title">Driver Name</string> <string name="nav_header_title">Driver Name</string>
<string name="nav_header_subtitle">driver@example.com</string> <string name="nav_header_subtitle">driver@example.com</string>
<string name="nav_header_desc">Navigation header</string> <string name="nav_header_desc">Navigation header</string>
<string name="action_settings">Settings</string>
<string name="title_activity_login">Sign in</string>
<!-- Strings related to login --> <!-- Strings related to login -->
<string name="prompt_email">Email</string> <string name="prompt_email">Email</string>
<string name="prompt_password">Password</string> <string name="prompt_password">Password</string>
<string name="action_sign_in">Log in</string>
<string name="action_sign_in_short">Sign in</string>
<string name="error_invalid_email">This email address is invalid</string> <string name="error_invalid_email">This email address is invalid</string>
<string name="error_invalid_password">This password is too short</string> <string name="error_invalid_password">This password is too short</string>
<string name="no_match_password">Passwords do not match</string> <string name="no_match_password">Passwords do not match</string>
<string name="error_incorrect_password">This password is incorrect</string>
<string name="error_field_required">This field is required</string> <string name="error_field_required">This field is required</string>
<string name="permission_rationale">"Contacts permissions are needed for providing email
completions."
</string>
<string name="hello_blank_fragment">Hello blank fragment</string>
<string name="error_fields_non_match">Passwords Do Not Match</string>
<string name="login_failed">Login Failed!</string>
<string name="submit">Submit</string> <string name="submit">Submit</string>
<string name="take_pic">Open Camera</string> <string name="take_pic">Open Camera</string>
<string name="upload_pic">Upload from Storage</string> <string name="upload_pic">Upload from Storage</string>
<string name="set_date">Select date</string> <string name="set_date">Select date</string>
<string name="image_required">Driver Photo Required</string>
<string name="no_role">No role detected</string>
<string name="list_item_image">list item image</string> <string name="list_item_image">list item image</string>
<string name="failed_retrieve">Failed to retrieve data</string>
<string name="failed_upload">Failed to upload data</string>
<string name="unsuccessful">Unable To upload</string>
<string name="reset_password">Reset Password</string> <string name="reset_password">Reset Password</string>
<string name="reset_password_subtitle">Enter email address to receive a password reset link.</string> <string name="reset_password_subtitle">Enter email address to receive a password reset link.</string>
<string name="promt_name">Name</string> <string name="promt_name">Name</string>

View File

@@ -48,18 +48,6 @@
<item name="android:textStyle">bold</item> <item name="android:textStyle">bold</item>
</style> </style>
<style name="test_item_title" parent="TextAppearance.AppCompat">
<item name="android:textSize">22sp</item>
<item name="android:textStyle">bold</item>
</style>
<style name="small_header_text" parent="TextAppearance.AppCompat">
<item name="android:gravity">center</item>
<item name="android:textSize">14sp</item>
<item name="android:textStyle">bold</item>
<item name="android:layout_margin">4dp</item>
</style>
<style name="button_inner_text" parent="TextAppearance.AppCompat"> <style name="button_inner_text" parent="TextAppearance.AppCompat">
<item name="android:gravity">center</item> <item name="android:gravity">center</item>
<item name="android:textSize">18sp</item> <item name="android:textSize">18sp</item>
@@ -67,16 +55,6 @@
<item name="android:layout_margin">8dp</item> <item name="android:layout_margin">8dp</item>
</style> </style>
<style name="button" parent="CardView">
<item name="cardCornerRadius">8dp</item>
</style>
<style name="info_field_label" parent="TextAppearance.AppCompat">
<!-- <item name="android:textAppearance">@android:style/TextAppearance</item>-->
<item name="android:padding">?android:attr/listPreferredItemPaddingEnd</item>
<item name="android:minHeight">?android:attr/listPreferredItemHeightSmall</item>
</style>
<style name="constraint_container"> <style name="constraint_container">
<item name="android:layout_width">match_parent</item> <item name="android:layout_width">match_parent</item>
<item name="android:layout_height">match_parent</item> <item name="android:layout_height">match_parent</item>