Commit a38cff28 authored by shohboz's avatar shohboz

[UPD] MUS-350 Feature, updated navigate to offline from button to dialog

parent 1116ccfd
......@@ -41,6 +41,10 @@ android {
buildFeatures {
viewBinding true
}
lintOptions {
checkReleaseBuilds false
}
}
repositories {
......
......@@ -38,12 +38,6 @@ class BillingFragment : BaseFragment(R.layout.fragment_billing) {
navController.navigateUp()
}
AGRBilling.hasCards().subscribe({
showMessage("Has Cards")
}, {
showMessage("No Card")
}).dispose()
savedCards.setOnClickListener {
getPhoneNumber(object : LoadPhoneNumber {
override fun invoke(phoneNumber: String) {
......
package com.mobiuz.app.dev.di
import android.content.Context
import android.content.Intent
import com.mobiuz.app.dev.model.SharedPref
import com.mobiuz.app.dev.network.api.ApiService
import com.mobiuz.app.dev.ui.global.CONSTANTS
import com.mobiuz.app.dev.utils.NetworkUtil
import com.mobiuz.app.dev.utils.Utils
import com.readystatesoftware.chuck.ChuckInterceptor
import dagger.Module
......@@ -39,7 +41,8 @@ class ServerModule {
@Provides
@Singleton
fun getClient(@ApplicationContext context: Context, sharedPref: SharedPref): OkHttpClient = OkHttpClient.Builder()
fun getClient(@ApplicationContext context: Context, sharedPref: SharedPref): OkHttpClient{
return OkHttpClient.Builder()
.connectTimeout(60, java.util.concurrent.TimeUnit.SECONDS)
.readTimeout(60, java.util.concurrent.TimeUnit.SECONDS)
.addInterceptor(
......@@ -58,6 +61,7 @@ class ServerModule {
chain.proceed(builder.build())
})
.build()
}
}
\ No newline at end of file
......@@ -87,6 +87,11 @@ class AuthActivity : AppCompatActivity() {
receiver = object : BroadcastReceiver(){
override fun onReceive(context: Context?, intent: Intent?) {
if (intent?.action == CONSTANTS.MY_CONNECTIVITY_CHANGE){
showOfflineBottomSheetDialog()
}
if (intent?.action == CONSTANTS.CONNECTIVITY_CHANGE){
type = NetworkUtil.getConnectivityStatus(this@AuthActivity)
if((type == 0) && (navController.currentDestination?.id != R.id.pinFragment)
......@@ -97,6 +102,7 @@ class AuthActivity : AppCompatActivity() {
}
intentFilter.addAction(CONSTANTS.CONNECTIVITY_CHANGE)
intentFilter.addAction(CONSTANTS.MY_CONNECTIVITY_CHANGE)
registerReceiver(receiver,intentFilter)
}
......
package com.mobiuz.app.dev.ui.auth.check
import android.content.Intent
import android.os.Bundle
import android.telephony.PhoneNumberFormattingTextWatcher
import android.text.Editable
......@@ -20,11 +21,9 @@ import com.mobiuz.app.dev.ui.base.BaseFragment
import com.mobiuz.app.dev.ui.global.ButtonClick
import com.mobiuz.app.dev.ui.global.CONSTANTS
import com.mobiuz.app.dev.ui.global.TextWatcherWrapper
import com.mobiuz.app.dev.utils.NetworkUtil
import com.mobiuz.app.dev.utils.Utils
import com.mobiuz.app.dev.utils.extensions.checkChangedPosition
import com.mobiuz.app.dev.utils.extensions.customLog
import com.mobiuz.app.dev.utils.extensions.maskedTextMobi
import com.mobiuz.app.dev.utils.extensions.showCustomDialog
import com.mobiuz.app.dev.utils.extensions.*
import com.mobiuz.app.dev.utils.hideKeyboard
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.collect
......@@ -95,7 +94,11 @@ class CheckPhoneFragment : BaseFragment(R.layout.fragment_check_phone) {
phone.length < 13 -> {
inputPhone.startAnimation(AnimationUtils.loadAnimation(requireContext(), R.anim.shake))
}
else -> viewModel.checkPhone(UserAuth(phone.replace("+", "")))
else ->{
if(checkInternet()){
viewModel.checkPhone(UserAuth(phone.replace("+", "")))
}
}
}
}
......
......@@ -24,6 +24,7 @@ import com.mobiuz.app.dev.ui.global.ButtonClick
import com.mobiuz.app.dev.ui.global.CONSTANTS
import com.mobiuz.app.dev.ui.global.TextWatcherWrapper
import com.mobiuz.app.dev.utils.Utils
import com.mobiuz.app.dev.utils.extensions.checkInternet
import com.mobiuz.app.dev.utils.extensions.makeLinks
import com.mobiuz.app.dev.utils.extensions.showCustomDialog
import com.mobiuz.app.dev.utils.hideKeyboard
......@@ -99,8 +100,11 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) {
)
}
else -> {
if(checkInternet()){
viewModel.login(UserAuth(phone.filter { it.isDigit() }, password))
}
}
}
}
......
......@@ -21,6 +21,7 @@ import com.mobiuz.app.dev.ui.global.ButtonClick
import com.mobiuz.app.dev.ui.global.CONSTANTS
import com.mobiuz.app.dev.ui.global.TextWatcherWrapper
import com.mobiuz.app.dev.utils.Utils
import com.mobiuz.app.dev.utils.extensions.checkInternet
import com.mobiuz.app.dev.utils.extensions.getColorCompat
import com.mobiuz.app.dev.utils.extensions.makeLinks
import com.mobiuz.app.dev.utils.extensions.showCustomDialog
......@@ -135,6 +136,7 @@ class RegisterFragment : BaseFragment(R.layout.fragment_register) {
password = inputPassword.text.toString().trim()
confirmPassword = inputConfirm.text.toString().trim()
if(password == confirmPassword){
if(checkInternet()){
if (type == CONSTANTS.TYPE_FORGET) {
viewModel.resetPassword(UserAuth(phone.filter { it.isDigit() }, password, code))
} else {
......@@ -143,6 +145,8 @@ class RegisterFragment : BaseFragment(R.layout.fragment_register) {
}
}
}
})
......
......@@ -2,7 +2,7 @@ package com.mobiuz.app.dev.ui.global
object CONSTANTS {
const val BASE_URL = "http://10.160.45.60/api/v1/"
const val BASE_URL = "https://mobileapp.mobi.uz/api/v1/"
//languages
const val RU = "ru"
......@@ -16,17 +16,17 @@ object CONSTANTS {
const val TERMS_OF_USE = "Terms of Use"
const val PRIVACY_POLICY = "Privacy Policy"
const val LICENSE_UZ = "http://10.160.45.60/uploads/licenses/license_uz.html"
const val LICENSE_RU = "http://10.160.45.60/uploads/licenses/license_ru.html"
const val LICENSE_EN = "http://10.160.45.60/uploads/licenses/license_en.html"
const val LICENSE_UZ = "https://mobileapp.mobi.uz/uploads/licenses/license_uz.html"
const val LICENSE_RU = "https://mobileapp.mobi.uz/uploads/licenses/license_ru.html"
const val LICENSE_EN = "https://mobileapp.mobi.uz/uploads/licenses/license_en.html"
const val PRIVACY_POLICY_UZ = "http://10.160.45.60/uploads/privacy/privacy_policy_uz.html"
const val PRIVACY_POLICY_RU = "http://10.160.45.60/uploads/privacy/privacy_policy_ru.html"
const val PRIVACY_POLICY_EN = "http://10.160.45.60/uploads/privacy/privacy_policy_en.html"
const val PRIVACY_POLICY_UZ = "https://mobileapp.mobi.uz/uploads/privacy/privacy_policy_uz.html"
const val PRIVACY_POLICY_RU = "https://mobileapp.mobi.uz/uploads/privacy/privacy_policy_ru.html"
const val PRIVACY_POLICY_EN = "https://mobileapp.mobi.uz/uploads/privacy/privacy_policy_en.html"
const val PAYSYS_LICENSE_UZ = "http://10.160.45.60/uploads/paysys/license_uz.html"
const val PAYSYS_LICENSE_RU = "http://10.160.45.60/uploads/paysys/license_ru.html"
const val PAYSYS_LICENSE_EN = "http://10.160.45.60/uploads/paysys/license_en.html"
const val PAYSYS_LICENSE_UZ = "https://mobileapp.mobi.uz/uploads/paysys/license_uz.html"
const val PAYSYS_LICENSE_RU = "https://mobileapp.mobi.uz/uploads/paysys/license_ru.html"
const val PAYSYS_LICENSE_EN = "https://mobileapp.mobi.uz/uploads/paysys/license_en.html"
const val PHONE1 = "0890"
const val PHONE2 = "+998 97 130 09 09"
......
......@@ -65,7 +65,7 @@ class HomeFragment : BaseFragment(R.layout.fragment_home) {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
_bn = FragmentHomeBinding.bind(view)
isFirstProgressing = true
requireActivity().window.decorView.systemUiVisibility = View.VISIBLE
setUpUI()
collects()
......@@ -101,9 +101,12 @@ class HomeFragment : BaseFragment(R.layout.fragment_home) {
btnAddSum.setOnClickListener {
pref.isShowPin = false
if(checkInternet()){
navController.navigate(R.id.billingFragment)
}
}
val number = pref.userPhone.customMasketHome().replace("-", " ")
txtMyNumber.text = number
toolbarMyNumber.text = number
......@@ -117,8 +120,11 @@ class HomeFragment : BaseFragment(R.layout.fragment_home) {
lastUpdateTime = System.currentTimeMillis()
}
if (fromStart && overScrolledDistance > 140.52632 && (lastUpdateTime < System.currentTimeMillis() - 2000)) {
vibrate(requireContext())
if(checkInternet()){
viewModel.mainIndex()
vibrate(requireContext())
}
lastUpdateTime = System.currentTimeMillis()
}
......
......@@ -22,6 +22,7 @@ import com.mobiuz.app.dev.ui.global.ButtonClick
import com.mobiuz.app.dev.ui.global.CONSTANTS
import com.mobiuz.app.dev.ui.global.TextWatcherWrapper
import com.mobiuz.app.dev.utils.Utils
import com.mobiuz.app.dev.utils.extensions.checkInternet
import com.mobiuz.app.dev.utils.extensions.getColorCompat
import com.mobiuz.app.dev.utils.extensions.showCustomDialog
import com.mobiuz.app.dev.utils.extensions.showMessage
......@@ -136,6 +137,7 @@ class ChangePasswordFragment : BaseFragment(R.layout.fragment_change_password) {
}
else -> {
bn.btnLogin.hideKeyboard()
if(checkInternet()){
when (type) {
CONSTANTS.CURRENT_PASSWORD -> {
oldPassword = password
......@@ -166,6 +168,8 @@ class ChangePasswordFragment : BaseFragment(R.layout.fragment_change_password) {
}
}
}
}
}
}
......
......@@ -2,6 +2,7 @@ package com.mobiuz.app.dev.utils.extensions
import android.app.Activity
import android.content.Context
import android.content.Intent
import android.graphics.drawable.Drawable
import android.os.Vibrator
import android.text.*
......@@ -23,11 +24,13 @@ import com.google.gson.JsonSyntaxException
import com.mobiuz.app.R
import com.mobiuz.app.dev.model.SharedPref
import com.mobiuz.app.dev.model.Translate
import com.mobiuz.app.dev.model.UserAuth
import com.mobiuz.app.dev.network.model.Errors
import com.mobiuz.app.dev.ui.global.CONSTANTS
import com.mobiuz.app.dev.ui.global.ExitDialog
import com.mobiuz.app.dev.ui.global.OfflineBottomSheet
import com.mobiuz.app.dev.ui.global.SenderDialog
import com.mobiuz.app.dev.utils.NetworkUtil
import retrofit2.HttpException
import java.io.IOException
import java.net.ConnectException
......@@ -58,7 +61,8 @@ fun String.getDateTime(): String? {
}
fun FragmentActivity.showOfflineBottomSheetDialog(){
OfflineBottomSheet().show(supportFragmentManager,CONSTANTS.FULL_SCREEN_DIALOG)
val fragment = supportFragmentManager.findFragmentByTag(CONSTANTS.FULL_SCREEN_DIALOG)
if(fragment == null) OfflineBottomSheet().show(supportFragmentManager,CONSTANTS.FULL_SCREEN_DIALOG)
}
fun Activity.showMessage(message: String) {
Toast.makeText(this, message, Toast.LENGTH_SHORT).show()
......@@ -189,6 +193,16 @@ fun FragmentActivity.showCustomDialog(string: String, status: Boolean, block: ()
dialog.show(supportFragmentManager, "supportFragmentManager")
}
fun Fragment.checkInternet():Boolean{
val type = NetworkUtil.getConnectivityStatus(context)
return if(type == 0){
requireActivity().sendBroadcast(Intent(CONSTANTS.MY_CONNECTIVITY_CHANGE))
false
}else{
true
}
}
typealias SingleBlock<T> = (T) -> Unit
typealias MultiBlock<T, K> = (T, K) -> Unit
typealias ThreeBlock<T, K, M> = (T, K, M) -> Unit
......
......@@ -46,7 +46,7 @@
android:background="@drawable/edit_text_bgn"
android:layout_marginHorizontal="24dp"
android:layout_marginBottom="@dimen/_16sdp"
android:paddingVertical="12dp"
android:paddingVertical="16dp"
android:text="@string/close_process"
android:textSize="14sp" />
</LinearLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment