diff --git a/app/src/admin/java/h_mal/appttude/com/driver/ui/HomeSuperUserFragment.kt b/app/src/admin/java/h_mal/appttude/com/driver/ui/HomeSuperUserFragment.kt index 60f2b5b..4c2787e 100644 --- a/app/src/admin/java/h_mal/appttude/com/driver/ui/HomeSuperUserFragment.kt +++ b/app/src/admin/java/h_mal/appttude/com/driver/ui/HomeSuperUserFragment.kt @@ -6,9 +6,12 @@ import android.view.* import android.widget.EditText import android.widget.LinearLayout import androidx.core.view.MenuProvider +import androidx.core.widget.doOnTextChanged import androidx.lifecycle.Lifecycle +import com.firebase.ui.common.ChangeEventType import com.firebase.ui.database.FirebaseRecyclerAdapter import com.firebase.ui.database.FirebaseRecyclerOptions +import com.google.firebase.database.DataSnapshot import h_mal.appttude.com.driver.R import h_mal.appttude.com.driver.base.BaseFirebaseAdapter import h_mal.appttude.com.driver.base.BaseFragment @@ -56,6 +59,15 @@ class HomeSuperUserFragment : BaseFragment if (count > 6) context.displayToast("Identifier cannot be larger than 6") } } val layout = LinearLayout(context).apply { orientation = LinearLayout.VERTICAL @@ -122,11 +141,12 @@ class HomeSuperUserFragment : BaseFragment val input = inputText.text?.toString() - viewModel.updateDriverNumber(uid, input) + input?.let { viewModel.updateDriverNumber(uid, it) } }.create().show() } diff --git a/app/src/admin/java/h_mal/appttude/com/driver/viewmodels/SuperUserViewModel.kt b/app/src/admin/java/h_mal/appttude/com/driver/viewmodels/SuperUserViewModel.kt index a37805e..33fa782 100644 --- a/app/src/admin/java/h_mal/appttude/com/driver/viewmodels/SuperUserViewModel.kt +++ b/app/src/admin/java/h_mal/appttude/com/driver/viewmodels/SuperUserViewModel.kt @@ -47,7 +47,12 @@ class SuperUserViewModel( onError("No driver identifier provided") return@doTryOperation } - firebaseDatabaseSource.postToDatabaseRed(firebaseDatabaseSource.getUserRef(uid), input) + val text = if (input.length > 6) input.substring(0,7) else input + + firebaseDatabaseSource.run { + postToDatabaseRed(getDriverNumberRef(uid), text) + onSuccess(Unit) + } } } } diff --git a/app/src/main/java/h_mal/appttude/com/driver/base/BaseFragment.kt b/app/src/main/java/h_mal/appttude/com/driver/base/BaseFragment.kt index 71c07b3..9f13118 100644 --- a/app/src/main/java/h_mal/appttude/com/driver/base/BaseFragment.kt +++ b/app/src/main/java/h_mal/appttude/com/driver/base/BaseFragment.kt @@ -137,13 +137,15 @@ abstract class BaseFragment : Fragment(), K open fun onImageGalleryResult(imageUris: List?) {} fun openGalleryForImage() { - registerForActivityResult(getResultsContract()) { result -> - @Suppress("UNCHECKED_CAST") - when (result) { - is Uri -> onImageGalleryResult(result) - is List<*> -> onImageGalleryResult(result as List) - } - }.launch(multipleImage) + permissionRequest.launch(multipleImage) + } + + private val permissionRequest = registerForActivityResult(getResultsContract()) { result -> + @Suppress("UNCHECKED_CAST") + when (result) { + is Uri -> onImageGalleryResult(result) + is List<*> -> onImageGalleryResult(result as List) + } } private fun getResultsContract(): ActivityResultContract { @@ -156,7 +158,7 @@ abstract class BaseFragment : Fragment(), K } override fun parseResult(resultCode: Int, intent: Intent?): Any? { - intent?.clipData?.convertToList()?.let { clip -> + intent?.clipData?.takeIf { it.itemCount > 1 }?.convertToList()?.let { clip -> val list = clip.takeIf { it.size > 10 }?.let { clip.subList(0, 9) } ?: clip diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 6f8c8dd..4332ce2 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -1,8 +1,8 @@ - #000b85 - #010057 - #03a9f4 + #548C2F + #104911 + #548C2F #03a9f4 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index e9dc07f..32baa96 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -8,7 +8,6 @@ @color/colorAccent @drawable/background_with_curve - @android:color/white @android:color/white @android:color/white @@ -35,8 +34,18 @@ - +