Commit df4b3022 authored by shohboz's avatar shohboz

[UPD] MUS-261 Feature, updated block, and changed app icon and others

parent 789ed938
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_security_config" android:networkSecurityConfig="@xml/network_security_config"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/Theme.MobiUzAndroid" android:theme="@style/Theme.MobiUzAndroid"
android:usesCleartextTraffic="true" android:usesCleartextTraffic="true"
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
android:windowSoftInputMode="adjustResize" /> android:windowSoftInputMode="adjustResize" />
<activity <activity
android:name=".BillingActivity" android:name=".dev.BillingActivity"
android:configChanges="orientation" android:configChanges="orientation"
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
......
package com.mobiuz.app package com.mobiuz.app.dev
import android.os.Bundle import android.os.Bundle
import android.os.PersistableBundle
import android.view.View import android.view.View
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.navigation.NavController
import androidx.navigation.fragment.NavHostFragment
import com.mobiuz.app.databinding.ActivityMainBinding
import com.mobiuz.app.databinding.FragmentBillingBinding import com.mobiuz.app.databinding.FragmentBillingBinding
import com.mobiuz.app.dev.model.PinData
import com.mobiuz.app.dev.model.SharedPref import com.mobiuz.app.dev.model.SharedPref
import com.mobiuz.app.dev.ui.auth.pin.PinAdapter
import com.mobiuz.app.dev.ui.base.BaseFragment
import com.mobiuz.app.dev.utils.LocaleHelper import com.mobiuz.app.dev.utils.LocaleHelper
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import uz.agr.mobiuz.AGRBilling import uz.agr.mobiuz.AGRBilling
import uz.agr.sdk.coreui.extension.showMessage import uz.agr.sdk.coreui.extension.showMessage
import uz.agr.sdk.coreui.extension.showSnackMessage
import javax.inject.Inject import javax.inject.Inject
@AndroidEntryPoint @AndroidEntryPoint
......
...@@ -199,7 +199,7 @@ class MainActivity : AppCompatActivity() { ...@@ -199,7 +199,7 @@ class MainActivity : AppCompatActivity() {
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
if (pref.isShowPin && !pref.isOpenUssdBottomSheetDialog) { if (pref.isShowPin) {
showPinCode() showPinCode()
} else { } else {
pref.blockedTime = System.currentTimeMillis() pref.blockedTime = System.currentTimeMillis()
......
package com.mobiuz.app.dev package com.mobiuz.app.dev
import android.annotation.SuppressLint
import android.content.BroadcastReceiver import android.content.BroadcastReceiver
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
...@@ -25,7 +26,7 @@ import kotlinx.coroutines.delay ...@@ -25,7 +26,7 @@ import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.collect
import javax.inject.Inject import javax.inject.Inject
@SuppressLint("CustomSplashScreen")
@AndroidEntryPoint @AndroidEntryPoint
class SplashActivity : AppCompatActivity() { class SplashActivity : AppCompatActivity() {
...@@ -75,17 +76,17 @@ class SplashActivity : AppCompatActivity() { ...@@ -75,17 +76,17 @@ class SplashActivity : AppCompatActivity() {
viewModel.servicesUiState.collect { viewModel.servicesUiState.collect {
when (it) { when (it) {
is UiStateObject.SUCCESS -> { is UiStateObject.SUCCESS -> {
bn.progress.isVisible = false // bn.progress.isVisible = false
bn.btnTryAgain.isVisible = false bn.btnTryAgain.isVisible = false
navigate() navigate()
} }
is UiStateObject.ERROR -> { is UiStateObject.ERROR -> {
bn.progress.isVisible = false // bn.progress.isVisible = false
bn.btnTryAgain.isVisible = true bn.btnTryAgain.isVisible = true
showMessage(it.message) showMessage(it.message)
} }
is UiStateObject.LOADING -> { is UiStateObject.LOADING -> {
bn.progress.isVisible = true // bn.progress.isVisible = true
bn.btnTryAgain.isVisible = false bn.btnTryAgain.isVisible = false
} }
else -> Unit else -> Unit
......
...@@ -81,11 +81,6 @@ class SharedPref @Inject constructor(@ApplicationContext context: Context) { ...@@ -81,11 +81,6 @@ class SharedPref @Inject constructor(@ApplicationContext context: Context) {
mySharedPref.edit().putBoolean(::isShowPin.name, value).apply() mySharedPref.edit().putBoolean(::isShowPin.name, value).apply()
} }
var isOpenUssdBottomSheetDialog: Boolean
get() = mySharedPref.getBoolean(::isOpenUssdBottomSheetDialog.name, true)
set(value) {
mySharedPref.edit().putBoolean(::isOpenUssdBottomSheetDialog.name, value).apply()
}
var blockedTime: Long var blockedTime: Long
get() = mySharedPref.getLong(::blockedTime.name, 0) get() = mySharedPref.getLong(::blockedTime.name, 0)
......
...@@ -13,6 +13,7 @@ import androidx.biometric.BiometricPrompt ...@@ -13,6 +13,7 @@ import androidx.biometric.BiometricPrompt
import androidx.core.os.bundleOf import androidx.core.os.bundleOf
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope
import androidx.navigation.NavController import androidx.navigation.NavController
import androidx.navigation.fragment.NavHostFragment import androidx.navigation.fragment.NavHostFragment
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
...@@ -30,6 +31,7 @@ import com.mobiuz.app.dev.utils.extensions.showCustomDialog ...@@ -30,6 +31,7 @@ import com.mobiuz.app.dev.utils.extensions.showCustomDialog
import com.mobiuz.app.dev.utils.extensions.showMessage import com.mobiuz.app.dev.utils.extensions.showMessage
import com.mobiuz.app.dev.utils.extensions.vibrate import com.mobiuz.app.dev.utils.extensions.vibrate
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.delay
import javax.inject.Inject import javax.inject.Inject
...@@ -81,7 +83,12 @@ class FullScreenFragment : BaseFragment(R.layout.fragment_pin_dialog) { ...@@ -81,7 +83,12 @@ class FullScreenFragment : BaseFragment(R.layout.fragment_pin_dialog) {
when (biometricManager.canAuthenticate(BIOMETRIC_STRONG or BIOMETRIC_WEAK)) { when (biometricManager.canAuthenticate(BIOMETRIC_STRONG or BIOMETRIC_WEAK)) {
BiometricManager.BIOMETRIC_SUCCESS -> { BiometricManager.BIOMETRIC_SUCCESS -> {
bn.btnFingerPrint.isVisible = true bn.btnFingerPrint.isVisible = true
if (pref.isUseFingerPrint) loadBiometric() if (pref.isUseFingerPrint){
lifecycleScope.launchWhenCreated {
delay(300)
loadBiometric()
}
}
} }
BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE -> { BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE -> {
......
...@@ -4,20 +4,15 @@ import android.annotation.SuppressLint ...@@ -4,20 +4,15 @@ import android.annotation.SuppressLint
import android.content.Intent import android.content.Intent
import android.graphics.Color import android.graphics.Color
import android.os.Bundle import android.os.Bundle
import android.os.Handler
import android.view.View import android.view.View
import android.widget.FrameLayout import android.widget.FrameLayout
import android.widget.LinearLayout import android.widget.LinearLayout
import androidx.core.view.isVisible
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
import androidx.navigation.NavController
import androidx.navigation.fragment.NavHostFragment
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.tabs.TabLayoutMediator import com.google.android.material.tabs.TabLayoutMediator
import com.mobiuz.app.BillingActivity import com.mobiuz.app.dev.BillingActivity
import com.mobiuz.app.R import com.mobiuz.app.R
import com.mobiuz.app.databinding.FragmentHomeBinding import com.mobiuz.app.databinding.FragmentHomeBinding
import com.mobiuz.app.dev.MainViewModel import com.mobiuz.app.dev.MainViewModel
...@@ -28,9 +23,7 @@ import com.mobiuz.app.dev.ui.base.BaseFragment ...@@ -28,9 +23,7 @@ import com.mobiuz.app.dev.ui.base.BaseFragment
import com.mobiuz.app.dev.utils.extensions.* import com.mobiuz.app.dev.utils.extensions.*
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.Job import kotlinx.coroutines.Job
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.isActive
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.* import java.util.*
import javax.inject.Inject import javax.inject.Inject
......
...@@ -40,7 +40,6 @@ class UssdBottomSheetDialog(val data: UssdData) : BottomSheetDialogFragment() { ...@@ -40,7 +40,6 @@ class UssdBottomSheetDialog(val data: UssdData) : BottomSheetDialogFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
pref.isOpenUssdBottomSheetDialog = true
setUpUI() setUpUI()
} }
...@@ -63,14 +62,11 @@ class UssdBottomSheetDialog(val data: UssdData) : BottomSheetDialogFragment() { ...@@ -63,14 +62,11 @@ class UssdBottomSheetDialog(val data: UssdData) : BottomSheetDialogFragment() {
pref.isShowPin = false pref.isShowPin = false
val ussd = data.code.replace("#", "") + Uri.encode("#") val ussd = data.code.replace("#", "") + Uri.encode("#")
val intent = Intent(Intent.ACTION_CALL, Uri.parse("tel:$ussd")) val intent = Intent(Intent.ACTION_CALL, Uri.parse("tel:$ussd"))
startActivityForResult(intent,1) startActivity(intent)
val manager = requireContext().getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
manager.listen(MyCallListener(pref),PhoneStateListener.LISTEN_CALL_STATE)
} catch (e: Exception) { } catch (e: Exception) {
pref.isShowPin = false pref.isShowPin = false
} }
pref.isOpenUssdBottomSheetDialog = false
dismiss() dismiss()
} }
} }
...@@ -78,12 +74,6 @@ class UssdBottomSheetDialog(val data: UssdData) : BottomSheetDialogFragment() { ...@@ -78,12 +74,6 @@ class UssdBottomSheetDialog(val data: UssdData) : BottomSheetDialogFragment() {
} }
} }
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
pref.blockedTime = System.currentTimeMillis()
customLog("requestCode:$requestCode, resultCode:$resultCode, data:$data ")
}
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
_bn = null _bn = null
...@@ -91,12 +81,3 @@ class UssdBottomSheetDialog(val data: UssdData) : BottomSheetDialogFragment() { ...@@ -91,12 +81,3 @@ class UssdBottomSheetDialog(val data: UssdData) : BottomSheetDialogFragment() {
} }
class MyCallListener(val pref: SharedPref): PhoneStateListener(){
override fun onCallStateChanged(state: Int, phoneNumber: String?) {
super.onCallStateChanged(state, phoneNumber)
pref.isShowPin = false
pref.blockedTime = System.currentTimeMillis()
Log.e("AAA", "RINGING, number: ")
}
}
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:fitsSystemWindows="true" android:fitsSystemWindows="true"
android:orientation="vertical" android:orientation="vertical"
tools:context=".BillingActivity"> tools:context=".dev.BillingActivity">
<com.google.android.material.appbar.MaterialToolbar <com.google.android.material.appbar.MaterialToolbar
......
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
\ No newline at end of file
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
<fragment <fragment
android:id="@+id/billingFragment" android:id="@+id/billingFragment"
android:name="com.mobiuz.app.BillingActivity" android:name="com.mobiuz.app.dev.BillingActivity"
android:label="fragment_billing" android:label="fragment_billing"
tools:layout="@layout/fragment_billing" /> tools:layout="@layout/fragment_billing" />
......
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