Commit 267301d2 authored by shohboz's avatar shohboz

[UPD] MUS-123 Feature, updated screens

parent a4a65342
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
<component name="DesignSurface"> <component name="DesignSurface">
<option name="filePathToZoomLevelMap"> <option name="filePathToZoomLevelMap">
<map> <map>
<entry key="../../../../layout/custom_preview.xml" value="0.3527777777777778" />
<entry key="app/src/main/res/drawable/bgn_lang.xml" value="0.2796296296296296" /> <entry key="app/src/main/res/drawable/bgn_lang.xml" value="0.2796296296296296" />
<entry key="app/src/main/res/drawable/bgn_pin_btn.xml" value="0.26525096525096525" /> <entry key="app/src/main/res/drawable/bgn_pin_btn.xml" value="0.26525096525096525" />
<entry key="app/src/main/res/drawable/bgn_pin_checked.xml" value="0.26525096525096525" /> <entry key="app/src/main/res/drawable/bgn_pin_checked.xml" value="0.26525096525096525" />
...@@ -21,9 +22,14 @@ ...@@ -21,9 +22,14 @@
<entry key="app/src/main/res/drawable/ic_baseline_check_circle.xml" value="0.20694444444444443" /> <entry key="app/src/main/res/drawable/ic_baseline_check_circle.xml" value="0.20694444444444443" />
<entry key="app/src/main/res/drawable/ic_baseline_home.xml" value="0.2796296296296296" /> <entry key="app/src/main/res/drawable/ic_baseline_home.xml" value="0.2796296296296296" />
<entry key="app/src/main/res/drawable/ic_baseline_keyboard_arrow_right.xml" value="0.2796296296296296" /> <entry key="app/src/main/res/drawable/ic_baseline_keyboard_arrow_right.xml" value="0.2796296296296296" />
<entry key="app/src/main/res/drawable/ic_bg.xml" value="0.2590277777777778" />
<entry key="app/src/main/res/drawable/ic_finger_print.xml" value="0.2590277777777778" />
<entry key="app/src/main/res/drawable/ic_fingerprint.xml" value="0.26525096525096525" /> <entry key="app/src/main/res/drawable/ic_fingerprint.xml" value="0.26525096525096525" />
<entry key="app/src/main/res/drawable/ic_group_12.xml" value="0.2796296296296296" /> <entry key="app/src/main/res/drawable/ic_group_12.xml" value="0.2796296296296296" />
<entry key="app/src/main/res/drawable/ic_mobiuz_logo.xml" value="0.26180555555555557" />
<entry key="app/src/main/res/drawable/ic_pinger_print.xml" value="0.2590277777777778" />
<entry key="app/src/main/res/drawable/ic_russia.xml" value="0.2796296296296296" /> <entry key="app/src/main/res/drawable/ic_russia.xml" value="0.2796296296296296" />
<entry key="app/src/main/res/drawable/ic_safety.xml" value="0.2590277777777778" />
<entry key="app/src/main/res/drawable/ic_vector_error.xml" value="0.20694444444444443" /> <entry key="app/src/main/res/drawable/ic_vector_error.xml" value="0.20694444444444443" />
<entry key="app/src/main/res/drawable/text_handle.xml" value="1.4214285714285715" /> <entry key="app/src/main/res/drawable/text_handle.xml" value="1.4214285714285715" />
<entry key="app/src/main/res/layout/activity_auth.xml" value="0.3416666666666667" /> <entry key="app/src/main/res/layout/activity_auth.xml" value="0.3416666666666667" />
...@@ -31,6 +37,7 @@ ...@@ -31,6 +37,7 @@
<entry key="app/src/main/res/layout/activity_main.xml" value="0.22" /> <entry key="app/src/main/res/layout/activity_main.xml" value="0.22" />
<entry key="app/src/main/res/layout/activity_pin.xml" value="0.3052536231884058" /> <entry key="app/src/main/res/layout/activity_pin.xml" value="0.3052536231884058" />
<entry key="app/src/main/res/layout/activity_splash.xml" value="0.29936594202898553" /> <entry key="app/src/main/res/layout/activity_splash.xml" value="0.29936594202898553" />
<entry key="app/src/main/res/layout/activity_splash2.xml" value="0.25625" />
<entry key="app/src/main/res/layout/button_selector.xml" value="0.33242753623188404" /> <entry key="app/src/main/res/layout/button_selector.xml" value="0.33242753623188404" />
<entry key="app/src/main/res/layout/fragment_base.xml" value="0.23497267759562843" /> <entry key="app/src/main/res/layout/fragment_base.xml" value="0.23497267759562843" />
<entry key="app/src/main/res/layout/fragment_biometric.xml" value="0.23497267759562843" /> <entry key="app/src/main/res/layout/fragment_biometric.xml" value="0.23497267759562843" />
...@@ -39,13 +46,15 @@ ...@@ -39,13 +46,15 @@
<entry key="app/src/main/res/layout/fragment_enter_password.xml" value="0.22" /> <entry key="app/src/main/res/layout/fragment_enter_password.xml" value="0.22" />
<entry key="app/src/main/res/layout/fragment_forget_password.xml" value="0.21174863387978143" /> <entry key="app/src/main/res/layout/fragment_forget_password.xml" value="0.21174863387978143" />
<entry key="app/src/main/res/layout/fragment_home.xml" value="0.18385416666666668" /> <entry key="app/src/main/res/layout/fragment_home.xml" value="0.18385416666666668" />
<entry key="app/src/main/res/layout/fragment_home_content.xml" value="0.266796875" />
<entry key="app/src/main/res/layout/fragment_login.xml" value="0.2" /> <entry key="app/src/main/res/layout/fragment_login.xml" value="0.2" />
<entry key="app/src/main/res/layout/fragment_my_verification.xml" value="0.1265625" />
<entry key="app/src/main/res/layout/fragment_password.xml" value="0.2" /> <entry key="app/src/main/res/layout/fragment_password.xml" value="0.2" />
<entry key="app/src/main/res/layout/fragment_pin.xml" value="0.23497267759562843" /> <entry key="app/src/main/res/layout/fragment_pin.xml" value="0.23497267759562843" />
<entry key="app/src/main/res/layout/fragment_pin_dialog.xml" value="0.25625" /> <entry key="app/src/main/res/layout/fragment_pin_dialog.xml" value="0.25625" />
<entry key="app/src/main/res/layout/fragment_pin_lock.xml" value="0.23497267759562843" /> <entry key="app/src/main/res/layout/fragment_pin_lock.xml" value="0.23497267759562843" />
<entry key="app/src/main/res/layout/fragment_progress.xml" value="0.33242753623188404" /> <entry key="app/src/main/res/layout/fragment_progress.xml" value="0.33242753623188404" />
<entry key="app/src/main/res/layout/fragment_register.xml" value="0.33242753623188404" /> <entry key="app/src/main/res/layout/fragment_register.xml" value="0.25" />
<entry key="app/src/main/res/layout/fragment_verification.xml" value="0.2" /> <entry key="app/src/main/res/layout/fragment_verification.xml" value="0.2" />
<entry key="app/src/main/res/layout/home_home.xml" value="0.25625" /> <entry key="app/src/main/res/layout/home_home.xml" value="0.25625" />
<entry key="app/src/main/res/layout/home_motion.xml" value="0.10951008645533142" /> <entry key="app/src/main/res/layout/home_motion.xml" value="0.10951008645533142" />
...@@ -54,6 +63,7 @@ ...@@ -54,6 +63,7 @@
<entry key="app/src/main/res/layout/item_pin.xml" value="0.23497267759562843" /> <entry key="app/src/main/res/layout/item_pin.xml" value="0.23497267759562843" />
<entry key="app/src/main/res/layout/layout_ask_create_task.xml" value="0.22643442622950818" /> <entry key="app/src/main/res/layout/layout_ask_create_task.xml" value="0.22643442622950818" />
<entry key="app/src/main/res/layout/layout_exit.xml" value="0.25625" /> <entry key="app/src/main/res/layout/layout_exit.xml" value="0.25625" />
<entry key="app/src/main/res/layout/layout_home_header.xml" value="0.25625" />
<entry key="app/src/main/res/layout/layout_sender.xml" value="0.25625" /> <entry key="app/src/main/res/layout/layout_sender.xml" value="0.25625" />
<entry key="app/src/main/res/layout/motion_layout.xml" value="0.266796875" /> <entry key="app/src/main/res/layout/motion_layout.xml" value="0.266796875" />
<entry key="app/src/main/res/menu/bottom_nav_menu.xml" value="0.3416666666666667" /> <entry key="app/src/main/res/menu/bottom_nav_menu.xml" value="0.3416666666666667" />
......
...@@ -99,11 +99,10 @@ dependencies { ...@@ -99,11 +99,10 @@ dependencies {
implementation 'io.github.chaosleung:pinview:1.4.4' implementation 'io.github.chaosleung:pinview:1.4.4'
implementation 'com.github.pinball83:masked-edittext:1.0.4' implementation 'com.github.pinball83:masked-edittext:1.0.4'
// pin view
implementation "com.github.iwgang:countdownview:2.1.6" implementation "com.github.iwgang:countdownview:2.1.6"
implementation 'com.poovam:pin-edittext-field:1.2.3' implementation 'com.poovam:pin-edittext-field:1.2.3'
implementation 'co.infinum:goldfinger:2.0.1'
......
...@@ -6,49 +6,48 @@ ...@@ -6,49 +6,48 @@
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.USE_BIOMETRIC" /> <uses-permission android:name="android.permission.USE_BIOMETRIC" />
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
<application <application
android:name="com.mobiuz.app.dev.app.App" android:name=".dev.app.App"
android:allowBackup="true" android:allowBackup="true"
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:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" android:supportsRtl="true"
android:networkSecurityConfig="@xml/network_security_config"
android:theme="@style/Theme.MobiUzAndroid" android:theme="@style/Theme.MobiUzAndroid"
android:usesCleartextTraffic="true" android:usesCleartextTraffic="true"
tools:targetApi="m"> tools:targetApi="m">
<activity <activity
android:name="com.mobiuz.app.dev.LanguageActivity" android:name=".dev.SplashActivity"
android:screenOrientation="portrait"
android:configChanges="orientation"
android:windowSoftInputMode="adjustResize"
android:exported="false" />
<activity
android:name="com.mobiuz.app.dev.MainActivity"
android:screenOrientation="portrait"
android:configChanges="orientation"
android:windowSoftInputMode="adjustResize"
android:exported="false" />
<activity
android:name="com.mobiuz.app.dev.AuthActivity"
android:screenOrientation="portrait"
android:configChanges="orientation"
android:windowSoftInputMode="adjustResize"
android:exported="false" />
<activity
android:name="com.mobiuz.app.dev.SplashActivity"
android:configChanges="orientation" android:configChanges="orientation"
android:exported="true" android:exported="true"
android:windowSoftInputMode="adjustResize" android:screenOrientation="portrait"
android:screenOrientation="portrait"> android:windowSoftInputMode="adjustResize">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
</activity> </activity>
<activity
android:name=".dev.LanguageActivity"
android:configChanges="orientation"
android:exported="false"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" />
<activity
android:name=".dev.MainActivity"
android:configChanges="orientation"
android:exported="false"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" />
<activity
android:name=".dev.AuthActivity"
android:configChanges="orientation"
android:exported="false"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" />
</application> </application>
</manifest> </manifest>
\ No newline at end of file
...@@ -41,7 +41,6 @@ class LanguageActivity : AppCompatActivity() { ...@@ -41,7 +41,6 @@ class LanguageActivity : AppCompatActivity() {
private fun setLangAndNavigate(lang: String) { private fun setLangAndNavigate(lang: String) {
pref.language = lang pref.language = lang
startActivity(Intent(this@LanguageActivity, AuthActivity::class.java)) startActivity(Intent(this@LanguageActivity, AuthActivity::class.java))
finish()
} }
override fun onDestroy() { override fun onDestroy() {
......
package com.mobiuz.app.dev
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.biometric.BiometricPrompt
import androidx.core.content.ContextCompat
import com.mobiuz.app.databinding.ActivityPinBinding
import dagger.hilt.android.AndroidEntryPoint
import java.util.concurrent.Executor
@AndroidEntryPoint
class PinActivity : AppCompatActivity() {
private var _bn: ActivityPinBinding? = null
private val bn get() = _bn ?: throw NullPointerException("cannot inflate")
private lateinit var executor: Executor
private lateinit var biometricPrompt: BiometricPrompt
private lateinit var promptInfo: BiometricPrompt.PromptInfo
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
_bn = ActivityPinBinding.inflate(layoutInflater)
setContentView(bn.root)
executor = ContextCompat.getMainExecutor(this)
biometricPrompt = BiometricPrompt(this, executor,
object : BiometricPrompt.AuthenticationCallback() {
override fun onAuthenticationError(
errorCode: Int,
errString: CharSequence
) {
super.onAuthenticationError(errorCode, errString)
Toast.makeText(
applicationContext,
"Authentication error: $errString", Toast.LENGTH_SHORT
)
.show()
}
override fun onAuthenticationSucceeded(
result: BiometricPrompt.AuthenticationResult
) {
super.onAuthenticationSucceeded(result)
Toast.makeText(
applicationContext,
"Authentication succeeded!", Toast.LENGTH_SHORT
)
.show()
}
override fun onAuthenticationFailed() {
super.onAuthenticationFailed()
Toast.makeText(
applicationContext, "Authentication failed",
Toast.LENGTH_SHORT
)
.show()
}
})
promptInfo = BiometricPrompt.PromptInfo.Builder()
.setTitle("Biometric login for my app")
.setSubtitle("Log in using your biometric credential")
.setNegativeButtonText("Use account password")
.build()
biometricPrompt.authenticate(promptInfo)
}
override fun onDestroy() {
_bn = null
super.onDestroy()
}
}
\ No newline at end of file
...@@ -11,6 +11,7 @@ import dagger.hilt.android.AndroidEntryPoint ...@@ -11,6 +11,7 @@ import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import javax.inject.Inject import javax.inject.Inject
@AndroidEntryPoint @AndroidEntryPoint
class SplashActivity : AppCompatActivity() { class SplashActivity : AppCompatActivity() {
......
...@@ -9,6 +9,12 @@ class SharedPref @Inject constructor(@ApplicationContext context: Context) { ...@@ -9,6 +9,12 @@ class SharedPref @Inject constructor(@ApplicationContext context: Context) {
private var mySharedPref: SharedPreferences = context.getSharedPreferences("mobiuz", Context.MODE_PRIVATE) private var mySharedPref: SharedPreferences = context.getSharedPreferences("mobiuz", Context.MODE_PRIVATE)
fun clearUserData(){
isRegistered = false
pin_code = ""
setUserToken("")
}
fun setDeviceToken(token: String) { fun setDeviceToken(token: String) {
mySharedPref.edit().putString("device_token", token).apply() mySharedPref.edit().putString("device_token", token).apply()
} }
...@@ -43,6 +49,12 @@ class SharedPref @Inject constructor(@ApplicationContext context: Context) { ...@@ -43,6 +49,12 @@ class SharedPref @Inject constructor(@ApplicationContext context: Context) {
mySharedPref.edit().putBoolean(::isRegistered.name, value).apply() mySharedPref.edit().putBoolean(::isRegistered.name, value).apply()
} }
var isUseFingerPrint: Boolean
get() = mySharedPref.getBoolean(::isUseFingerPrint.name, false)
set(value) {
mySharedPref.edit().putBoolean(::isUseFingerPrint.name, value).apply()
}
var userPhone: String var userPhone: String
get() = mySharedPref.getString(::userPhone.name, "") ?: "" get() = mySharedPref.getString(::userPhone.name, "") ?: ""
set(value) { set(value) {
......
...@@ -6,6 +6,12 @@ data class Customer( ...@@ -6,6 +6,12 @@ data class Customer(
data class CustomerData( data class CustomerData(
var info: CustomerInfo?, var info: CustomerInfo?,
var name: String,
val tarifi:TarifCodeName?
)
data class TarifCodeName(
var code: String,
var name: String var name: String
) )
......
...@@ -4,7 +4,7 @@ package com.mobiuz.app.dev.network.model ...@@ -4,7 +4,7 @@ package com.mobiuz.app.dev.network.model
sealed class UiStateList<out T> { sealed class UiStateList<out T> {
data class SUCCESS<out T>(val data: List<T>) : UiStateList<T>() data class SUCCESS<out T>(val data: List<T>) : UiStateList<T>()
data class ERROR(val message: String, var fromServer: Boolean = false) : UiStateList<Nothing>() data class ERROR(val message: String, var fromServer: Boolean = false) : UiStateList<Nothing>()
data class ERRORS(val errors: List<Errors>) : UiStateObject<Nothing>() // data class ERRORS(val errors: List<Errors>) : UiStateObject<Nothing>()
object LOADING : UiStateList<Nothing>() object LOADING : UiStateList<Nothing>()
object EMPTY : UiStateList<Nothing>() object EMPTY : UiStateList<Nothing>()
} }
\ No newline at end of file
...@@ -3,7 +3,7 @@ package com.mobiuz.app.dev.network.model ...@@ -3,7 +3,7 @@ package com.mobiuz.app.dev.network.model
sealed class UiStateObject<out T> { sealed class UiStateObject<out T> {
data class SUCCESS<out T>(val data: T) : UiStateObject<T>() data class SUCCESS<out T>(val data: T) : UiStateObject<T>()
data class ERROR(val message: String, var fromServer: Boolean = false) : UiStateObject<Nothing>() data class ERROR(val message: String, var fromServer: Boolean = false) : UiStateObject<Nothing>()
data class ERRORS(val errors: List<Errors>) : UiStateObject<Nothing>() // data class ERRORS(val errors: List<Errors>) : UiStateObject<Nothing>()
object LOADING : UiStateObject<Nothing>() object LOADING : UiStateObject<Nothing>()
object EMPTY : UiStateObject<Nothing>() object EMPTY : UiStateObject<Nothing>()
} }
\ No newline at end of file
...@@ -25,7 +25,11 @@ class AuthRepository @Inject constructor( ...@@ -25,7 +25,11 @@ class AuthRepository @Inject constructor(
when { when {
res.status -> UiStateObject.SUCCESS(res.data ?: Action()) res.status -> UiStateObject.SUCCESS(res.data ?: Action())
res.errors.isNotEmpty() -> { res.errors.isNotEmpty() -> {
UiStateObject.ERRORS(res.errors) var message = ""
res.errors.forEach {
message += "${it.message}\n"
}
UiStateObject.ERROR(message)
} }
else -> UiStateObject.ERROR(res.message) else -> UiStateObject.ERROR(res.message)
} }
...@@ -41,7 +45,11 @@ class AuthRepository @Inject constructor( ...@@ -41,7 +45,11 @@ class AuthRepository @Inject constructor(
when { when {
res.status -> UiStateObject.SUCCESS(res.message) res.status -> UiStateObject.SUCCESS(res.message)
res.errors.isNotEmpty() -> { res.errors.isNotEmpty() -> {
UiStateObject.ERRORS(res.errors) var message = ""
res.errors.forEach {
message += "${it.message}\n"
}
UiStateObject.ERROR(message)
} }
else -> UiStateObject.ERROR(res.message) else -> UiStateObject.ERROR(res.message)
} }
...@@ -62,7 +70,11 @@ class AuthRepository @Inject constructor( ...@@ -62,7 +70,11 @@ class AuthRepository @Inject constructor(
UiStateObject.SUCCESS(res.message) UiStateObject.SUCCESS(res.message)
} }
res.errors.isNotEmpty() -> { res.errors.isNotEmpty() -> {
UiStateObject.ERRORS(res.errors) var message = ""
res.errors.forEach {
message += "${it.message}\n"
}
UiStateObject.ERROR(message)
} }
else -> UiStateObject.ERROR(res.message) else -> UiStateObject.ERROR(res.message)
} }
...@@ -80,25 +92,11 @@ class AuthRepository @Inject constructor( ...@@ -80,25 +92,11 @@ class AuthRepository @Inject constructor(
UiStateObject.SUCCESS(res.message) UiStateObject.SUCCESS(res.message)
} }
res.errors.isNotEmpty() -> { res.errors.isNotEmpty() -> {
UiStateObject.ERRORS(res.errors) var message = ""
} res.errors.forEach {
else -> UiStateObject.ERROR(res.message) message += "${it.message}\n"
}
} catch (e: Exception) {
UiStateObject.ERROR(e.userMessage(context))
}
} }
UiStateObject.ERROR(message)
suspend fun mainIndex(): UiStateObject<Customer> {
return try {
val res = apiService.mainIndex()
when {
res.status && res.data != null -> {
UiStateObject.SUCCESS(res.data!!)
}
res.errors.isNotEmpty() -> {
UiStateObject.ERRORS(res.errors)
} }
else -> UiStateObject.ERROR(res.message) else -> UiStateObject.ERROR(res.message)
} }
...@@ -116,7 +114,11 @@ class AuthRepository @Inject constructor( ...@@ -116,7 +114,11 @@ class AuthRepository @Inject constructor(
UiStateObject.SUCCESS(res.message) UiStateObject.SUCCESS(res.message)
} }
res.errors.isNotEmpty() -> { res.errors.isNotEmpty() -> {
UiStateObject.ERRORS(res.errors) var message = ""
res.errors.forEach {
message += "${it.message}\n"
}
UiStateObject.ERROR(message)
} }
else -> UiStateObject.ERROR(res.message) else -> UiStateObject.ERROR(res.message)
} }
...@@ -135,7 +137,11 @@ class AuthRepository @Inject constructor( ...@@ -135,7 +137,11 @@ class AuthRepository @Inject constructor(
UiStateObject.SUCCESS(res.message) UiStateObject.SUCCESS(res.message)
} }
res.errors.isNotEmpty() -> { res.errors.isNotEmpty() -> {
UiStateObject.ERRORS(res.errors) var message = ""
res.errors.forEach {
message += "${it.message}\n"
}
UiStateObject.ERROR(message)
} }
else -> UiStateObject.ERROR(res.message) else -> UiStateObject.ERROR(res.message)
} }
...@@ -153,7 +159,11 @@ class AuthRepository @Inject constructor( ...@@ -153,7 +159,11 @@ class AuthRepository @Inject constructor(
UiStateObject.SUCCESS(res.message) UiStateObject.SUCCESS(res.message)
} }
res.errors.isNotEmpty() -> { res.errors.isNotEmpty() -> {
UiStateObject.ERRORS(res.errors) var message = ""
res.errors.forEach {
message += "${it.message}\n"
}
UiStateObject.ERROR(message)
} }
else -> UiStateObject.ERROR(res.message) else -> UiStateObject.ERROR(res.message)
} }
......
package com.mobiuz.app.dev.ui.auth.biometric package com.mobiuz.app.dev.ui.auth.biometric
import android.Manifest
import android.content.Intent import android.content.Intent
import android.content.pm.PackageManager
import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import androidx.core.app.ActivityCompat.requestPermissions
import androidx.core.content.ContextCompat
import androidx.navigation.NavController import androidx.navigation.NavController
import androidx.navigation.fragment.NavHostFragment import androidx.navigation.fragment.NavHostFragment
import com.mobiuz.app.BuildConfig
import com.mobiuz.app.R import com.mobiuz.app.R
import com.mobiuz.app.databinding.FragmentBiometricBinding import com.mobiuz.app.databinding.FragmentBiometricBinding
import com.mobiuz.app.dev.MainActivity import com.mobiuz.app.dev.MainActivity
import com.mobiuz.app.dev.model.SharedPref
import com.mobiuz.app.dev.ui.base.BaseFragment import com.mobiuz.app.dev.ui.base.BaseFragment
import com.mobiuz.app.dev.ui.global.ButtonClick import com.mobiuz.app.dev.ui.global.ButtonClick
import com.mobiuz.app.dev.ui.global.CONSTANTS import com.mobiuz.app.dev.ui.global.CONSTANTS
import com.mobiuz.app.dev.utils.extensions.showMessage
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
@AndroidEntryPoint @AndroidEntryPoint
class BiometricFragment : BaseFragment(R.layout.fragment_biometric) { class BiometricFragment : BaseFragment(R.layout.fragment_biometric) {
@Inject
lateinit var pref: SharedPref
private var _bn: FragmentBiometricBinding? = null private var _bn: FragmentBiometricBinding? = null
private val bn get() = _bn ?: throw NullPointerException("cannot inflate") private val bn get() = _bn ?: throw NullPointerException("cannot inflate")
private val navController: NavController by lazy(LazyThreadSafetyMode.NONE) { NavHostFragment.findNavController(this) } private val navController: NavController by lazy(LazyThreadSafetyMode.NONE) { NavHostFragment.findNavController(this) }
var phone = "" var phone = ""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (BuildConfig.VERSION_CODE >= Build.VERSION_CODES.P) {
if (ContextCompat.checkSelfPermission(requireContext(), Manifest.permission.USE_BIOMETRIC) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(requireActivity(), arrayOf(Manifest.permission.ACCESS_FINE_LOCATION), 101)
}
}
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
_bn = FragmentBiometricBinding.bind(view) _bn = FragmentBiometricBinding.bind(view)
...@@ -57,6 +47,7 @@ class BiometricFragment : BaseFragment(R.layout.fragment_biometric) { ...@@ -57,6 +47,7 @@ class BiometricFragment : BaseFragment(R.layout.fragment_biometric) {
txtSkip.setOnClickListener(object : ButtonClick() { txtSkip.setOnClickListener(object : ButtonClick() {
override fun onSingleClick(v: View?) { override fun onSingleClick(v: View?) {
pref.isUseFingerPrint = false
navigate() navigate()
} }
}) })
...@@ -67,11 +58,11 @@ class BiometricFragment : BaseFragment(R.layout.fragment_biometric) { ...@@ -67,11 +58,11 @@ class BiometricFragment : BaseFragment(R.layout.fragment_biometric) {
} }
}) })
btnSwitch.setOnCheckedChangeListener { buttonView, isChecked -> btnSwitch.setOnCheckedChangeListener { _, isChecked ->
val message = if(isChecked) "Biometric enabled" else "Biometric disabled"
showSnackMessage(message)
pref.isUseFingerPrint = isChecked
} }
} }
} }
......
...@@ -50,7 +50,6 @@ class CheckPhoneFragment : BaseFragment(R.layout.fragment_check_phone) { ...@@ -50,7 +50,6 @@ class CheckPhoneFragment : BaseFragment(R.layout.fragment_check_phone) {
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
super.onTextChanged(s, start, before, count) super.onTextChanged(s, start, before, count)
customLog("s=${s?.toString()?.length}") customLog("s=${s?.toString()?.length}")
bn.helperPhone.isVisible = false
btnLogin.isEnabled = inputPhone.text.toString().trim().length == 17 btnLogin.isEnabled = inputPhone.text.toString().trim().length == 17
} }
}) })
...@@ -80,7 +79,6 @@ class CheckPhoneFragment : BaseFragment(R.layout.fragment_check_phone) { ...@@ -80,7 +79,6 @@ class CheckPhoneFragment : BaseFragment(R.layout.fragment_check_phone) {
when (it) { when (it) {
is UiStateObject.SUCCESS -> { is UiStateObject.SUCCESS -> {
showProgressDialog(false) showProgressDialog(false)
bn.helperPhone.isVisible = false
if (it.data.action == "login") { if (it.data.action == "login") {
navController.navigate(R.id.loginFragment, bundleOf(CONSTANTS.PHONE to phoneRaw), Utils.navOptions()) navController.navigate(R.id.loginFragment, bundleOf(CONSTANTS.PHONE to phoneRaw), Utils.navOptions())
} else if (it.data.action == "register") { } else if (it.data.action == "register") {
...@@ -88,24 +86,11 @@ class CheckPhoneFragment : BaseFragment(R.layout.fragment_check_phone) { ...@@ -88,24 +86,11 @@ class CheckPhoneFragment : BaseFragment(R.layout.fragment_check_phone) {
} }
} }
is UiStateObject.ERROR -> { is UiStateObject.ERROR -> {
bn.helperPhone.isVisible = false
showProgressDialog(false) showProgressDialog(false)
showCustomDialog(it.message, false) {} showSnackMessage(it.message)
} }
is UiStateObject.ERRORS -> {
it.errors.forEach {
if (it.key == "phone") {
bn.layoutInput.startAnimation(AnimationUtils.loadAnimation(requireContext(), R.anim.shake))
bn.helperPhone.isVisible = true
bn.helperPhone.text = it.message
}
}
showProgressDialog(false)
}
is UiStateObject.LOADING -> { is UiStateObject.LOADING -> {
bn.helperPhone.isVisible = false
showProgressDialog(true) showProgressDialog(true)
} }
else -> Unit else -> Unit
......
package com.mobiuz.app.dev.ui.auth.login package com.mobiuz.app.dev.ui.auth.login
import android.content.Intent
import android.graphics.Color
import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.text.Spannable
import android.text.SpannableString
import android.text.style.ForegroundColorSpan
import android.view.View import android.view.View
import androidx.core.os.bundleOf import androidx.core.os.bundleOf
import androidx.core.view.isVisible import androidx.core.view.isVisible
...@@ -18,6 +24,7 @@ import com.mobiuz.app.dev.ui.global.ButtonClick ...@@ -18,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.CONSTANTS
import com.mobiuz.app.dev.ui.global.TextWatcherWrapper import com.mobiuz.app.dev.ui.global.TextWatcherWrapper
import com.mobiuz.app.dev.utils.Utils import com.mobiuz.app.dev.utils.Utils
import com.mobiuz.app.dev.utils.extensions.makeLinks
import com.mobiuz.app.dev.utils.extensions.showCustomDialog import com.mobiuz.app.dev.utils.extensions.showCustomDialog
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.collect
...@@ -49,6 +56,12 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) { ...@@ -49,6 +56,12 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) {
override fun setUpUI() { override fun setUpUI() {
bn.apply { bn.apply {
txtHelperMobiuz.makeLinks(Pair("www.mobi.uz", View.OnClickListener {
val uri = Uri.parse("https://www.mobi.uz/")
val intent = Intent(Intent.ACTION_VIEW)
intent.data = uri
startActivity(intent)
}))
inputPhone.setText(phone) inputPhone.setText(phone)
txtForgetPassword.setOnClickListener(object : ButtonClick() { txtForgetPassword.setOnClickListener(object : ButtonClick() {
...@@ -61,7 +74,7 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) { ...@@ -61,7 +74,7 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) {
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
super.onTextChanged(s, start, before, count) super.onTextChanged(s, start, before, count)
bn.helperPassword.isVisible = false bn.helperPassword.isVisible = false
btnLogin.isEnabled = (s.toString().length > 5) btnLogin.isEnabled = (s.toString().length > 3)
} }
}) })
...@@ -101,32 +114,15 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) { ...@@ -101,32 +114,15 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) {
showProgressDialog(false) showProgressDialog(false)
bn.helperPassword.isVisible = false bn.helperPassword.isVisible = false
bn.helperPhone.isVisible = false bn.helperPhone.isVisible = false
navController.navigate(R.id.verificationFragment, bundleOf(CONSTANTS.PHONE to phone), Utils.navOptions()) navController.navigate(R.id.myVerificationFragment, bundleOf(CONSTANTS.PHONE to phone), Utils.navOptions())
} }
is UiStateObject.ERROR -> { is UiStateObject.ERROR -> {
showProgressDialog(false) showProgressDialog(false)
showCustomDialog(it.message, false) {} showSnackMessage(it.message)
bn.helperPassword.isVisible = false bn.helperPassword.isVisible = false
bn.helperPhone.isVisible = false bn.helperPhone.isVisible = false
} }
is UiStateObject.ERRORS -> {
showProgressDialog(false)
it.errors.forEach {
if (it.key == "phone") {
bn.helperPhone.isVisible = true
bn.helperPhone.text = it.message
} else {
bn.helperPhone.isVisible = false
}
if (it.key == "password") {
bn.helperPassword.isVisible = true
bn.helperPassword.text = it.message
} else {
bn.helperPassword.isVisible = false
}
}
}
is UiStateObject.LOADING -> { is UiStateObject.LOADING -> {
bn.helperPassword.isVisible = false bn.helperPassword.isVisible = false
bn.helperPhone.isVisible = false bn.helperPhone.isVisible = false
...@@ -142,7 +138,7 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) { ...@@ -142,7 +138,7 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) {
is UiStateObject.SUCCESS -> { is UiStateObject.SUCCESS -> {
showProgressDialog(false) showProgressDialog(false)
navController.navigate( navController.navigate(
R.id.verificationFragment, R.id.myVerificationFragment,
bundleOf( bundleOf(
CONSTANTS.PHONE to phone, CONSTANTS.PHONE to phone,
CONSTANTS.TYPE_VERIFICATION to CONSTANTS.TYPE_FORGET CONSTANTS.TYPE_VERIFICATION to CONSTANTS.TYPE_FORGET
...@@ -152,12 +148,9 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) { ...@@ -152,12 +148,9 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) {
} }
is UiStateObject.ERROR -> { is UiStateObject.ERROR -> {
showProgressDialog(false) showProgressDialog(false)
showCustomDialog(it.message, false) {} showSnackMessage(it.message)
} }
is UiStateObject.ERRORS -> {
showProgressDialog(false)
}
is UiStateObject.LOADING -> { is UiStateObject.LOADING -> {
showProgressDialog(true) showProgressDialog(true)
} }
......
...@@ -23,7 +23,7 @@ class PinAdapter : RecyclerView.Adapter<PinAdapter.VHolder>() { ...@@ -23,7 +23,7 @@ class PinAdapter : RecyclerView.Adapter<PinAdapter.VHolder>() {
inner class VHolder(private val binding: ItemPinBinding) : RecyclerView.ViewHolder(binding.root) { inner class VHolder(private val binding: ItemPinBinding) : RecyclerView.ViewHolder(binding.root) {
fun bind(position: Int) { fun bind(position: Int) {
val d = list[position] val d = list[position]
binding.imagePin.setImageResource(if (d.count == -1) R.drawable.bgn_pin_btn else R.drawable.bgn_pin_checked) binding.imagePin.setImageResource(if (d.count == -1) R.drawable.ic_pin_unchecked else R.drawable.ic_pin_checked)
} }
} }
......
package com.mobiuz.app.dev.ui.auth.pin
import android.content.Context
import android.util.AttributeSet
import android.widget.ImageView
import com.makeramen.roundedimageview.RoundedImageView
class SquareImageView(context: Context,atr:AttributeSet) : RoundedImageView(context,atr) {
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec)
val width = measuredWidth
setMeasuredDimension(width, (width.toFloat() * 1.316489362).toInt())
}
}
\ No newline at end of file
package com.mobiuz.app.dev.ui.auth.register package com.mobiuz.app.dev.ui.auth.register
import android.content.Intent
import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import androidx.core.os.bundleOf import androidx.core.os.bundleOf
...@@ -18,7 +20,7 @@ import com.mobiuz.app.dev.ui.global.ButtonClick ...@@ -18,7 +20,7 @@ import com.mobiuz.app.dev.ui.global.ButtonClick
import com.mobiuz.app.dev.ui.global.CONSTANTS import com.mobiuz.app.dev.ui.global.CONSTANTS
import com.mobiuz.app.dev.ui.global.TextWatcherWrapper import com.mobiuz.app.dev.ui.global.TextWatcherWrapper
import com.mobiuz.app.dev.utils.Utils import com.mobiuz.app.dev.utils.Utils
import com.mobiuz.app.dev.utils.extensions.showCustomDialog import com.mobiuz.app.dev.utils.extensions.makeLinks
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.collect
...@@ -52,22 +54,48 @@ class RegisterFragment : BaseFragment(R.layout.fragment_register) { ...@@ -52,22 +54,48 @@ class RegisterFragment : BaseFragment(R.layout.fragment_register) {
override fun setUpUI() { override fun setUpUI() {
bn.apply { bn.apply {
txtHelperMobiuz.makeLinks(Pair("www.mobi.uz", View.OnClickListener {
val uri = Uri.parse("https://www.mobi.uz/")
val intent = Intent(Intent.ACTION_VIEW)
intent.data = uri
startActivity(intent)
}))
txtAgree.makeLinks(
Pair("Terms of Use", View.OnClickListener {
val uri = Uri.parse("https://www.mobi.uz/")
val intent = Intent(Intent.ACTION_VIEW)
intent.data = uri
startActivity(intent)
}),
Pair("Privacy Policy", View.OnClickListener {
val uri = Uri.parse("https://www.mobi.uz/")
val intent = Intent(Intent.ACTION_VIEW)
intent.data = uri
startActivity(intent)
}),
)
txtEnterPhone.text = if (type == CONSTANTS.TYPE_FORGET) getString(R.string.think_password) else getString(R.string.register)
inputPassword.addTextChangedListener(object : TextWatcherWrapper() { inputPassword.addTextChangedListener(object : TextWatcherWrapper() {
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
super.onTextChanged(s, start, before, count) super.onTextChanged(s, start, before, count)
txtCheckPassword.isVisible = (s.toString().length < 5) txtCheckPassword.isVisible = (s.toString().length < 4)
val confirmText = inputConfirm.text.toString().trim() val confirmText = inputConfirm.text.toString().trim()
if (confirmText.isNotEmpty()) { if (confirmText.isNotEmpty()) {
if (s.toString() == confirmText) { if (s.toString() == confirmText) {
imageCheck.setImageResource(R.drawable.ic_baseline_check_circle) imageCheck.setImageResource(R.drawable.ic_baseline_check_circle)
txtCheckConfirm.text = getString(R.string.password_same) txtCheckConfirm.text = getString(R.string.password_same)
txtCheckConfirm.setTextColor(requireActivity().resources.getColor(R.color.green)) txtCheckConfirm.setTextColor(requireActivity().resources.getColor(R.color.green100))
btnLogin.isEnabled = true btnLogin.isEnabled = true
} else { } else {
imageCheck.setImageResource(R.drawable.ic_vector_error) imageCheck.setImageResource(R.drawable.ic_vector_error)
txtCheckConfirm.text = getString(R.string.password_not_same) txtCheckConfirm.text = getString(R.string.password_not_same)
btnLogin.isEnabled = false btnLogin.isEnabled = false
txtCheckConfirm.setTextColor(requireActivity().resources.getColor(R.color.red)) txtCheckConfirm.setTextColor(requireActivity().resources.getColor(R.color.primary100))
} }
imageCheck.isVisible = true imageCheck.isVisible = true
txtCheckConfirm.isVisible = true txtCheckConfirm.isVisible = true
...@@ -85,13 +113,13 @@ class RegisterFragment : BaseFragment(R.layout.fragment_register) { ...@@ -85,13 +113,13 @@ class RegisterFragment : BaseFragment(R.layout.fragment_register) {
if (s.toString() == inputPassword.text.toString().trim()) { if (s.toString() == inputPassword.text.toString().trim()) {
imageCheck.setImageResource(R.drawable.ic_baseline_check_circle) imageCheck.setImageResource(R.drawable.ic_baseline_check_circle)
txtCheckConfirm.text = getString(R.string.password_same) txtCheckConfirm.text = getString(R.string.password_same)
txtCheckConfirm.setTextColor(requireActivity().resources.getColor(R.color.green)) txtCheckConfirm.setTextColor(requireActivity().resources.getColor(R.color.green100))
btnLogin.isEnabled = true btnLogin.isEnabled = true
} else { } else {
imageCheck.setImageResource(R.drawable.ic_vector_error) imageCheck.setImageResource(R.drawable.ic_vector_error)
txtCheckConfirm.text = getString(R.string.password_not_same) txtCheckConfirm.text = getString(R.string.password_not_same)
btnLogin.isEnabled = false btnLogin.isEnabled = false
txtCheckConfirm.setTextColor(requireActivity().resources.getColor(R.color.red)) txtCheckConfirm.setTextColor(requireActivity().resources.getColor(R.color.primary100))
} }
imageCheck.isVisible = true imageCheck.isVisible = true
txtCheckConfirm.isVisible = true txtCheckConfirm.isVisible = true
...@@ -104,7 +132,7 @@ class RegisterFragment : BaseFragment(R.layout.fragment_register) { ...@@ -104,7 +132,7 @@ class RegisterFragment : BaseFragment(R.layout.fragment_register) {
val password = inputPassword.text.toString().trim() val password = inputPassword.text.toString().trim()
val confirm = inputConfirm.text.toString().trim() val confirm = inputConfirm.text.toString().trim()
when { when {
password.length < 5 || password != confirm -> { password.length < 4 || password != confirm -> {
} }
else -> { else -> {
...@@ -132,22 +160,13 @@ class RegisterFragment : BaseFragment(R.layout.fragment_register) { ...@@ -132,22 +160,13 @@ class RegisterFragment : BaseFragment(R.layout.fragment_register) {
when (it) { when (it) {
is UiStateObject.SUCCESS -> { is UiStateObject.SUCCESS -> {
showProgressDialog(false) showProgressDialog(false)
navController.navigate(R.id.verificationFragment, bundleOf(CONSTANTS.PHONE to phone), Utils.navOptions()) navController.navigate(R.id.myVerificationFragment, bundleOf(CONSTANTS.PHONE to phone), Utils.navOptions())
} }
is UiStateObject.ERROR -> { is UiStateObject.ERROR -> {
showProgressDialog(false) showProgressDialog(false)
showCustomDialog(it.message, false) {} showSnackMessage(it.message)
} }
is UiStateObject.ERRORS -> {
showProgressDialog(false)
var message = ""
it.errors.forEach {
message += it.message
}
// 97 756 5078
showCustomDialog(message, false) {}
}
is UiStateObject.LOADING -> { is UiStateObject.LOADING -> {
showProgressDialog(true) showProgressDialog(true)
} }
...@@ -160,26 +179,16 @@ class RegisterFragment : BaseFragment(R.layout.fragment_register) { ...@@ -160,26 +179,16 @@ class RegisterFragment : BaseFragment(R.layout.fragment_register) {
when (it) { when (it) {
is UiStateObject.SUCCESS -> { is UiStateObject.SUCCESS -> {
showProgressDialog(false) showProgressDialog(false)
showCustomDialog("Password successfully updated", true) { showSnackMessage(getString(R.string.password_successfully_updated))
navController.popBackStack() navController.popBackStack(R.id.loginFragment,false)
navController.navigate(R.id.pinFragment, null, Utils.navOptions()) navController.navigate(R.id.pinFragment, null, Utils.navOptions())
}
} }
is UiStateObject.ERROR -> { is UiStateObject.ERROR -> {
showProgressDialog(false) showProgressDialog(false)
showCustomDialog(it.message, false) {} showSnackMessage(it.message)
} }
is UiStateObject.ERRORS -> {
showProgressDialog(false)
var message = ""
it.errors.forEach {
message += it.message
}
// 97 756 5078
showCustomDialog(message, false) {}
}
is UiStateObject.LOADING -> { is UiStateObject.LOADING -> {
showProgressDialog(true) showProgressDialog(true)
} }
......
package com.mobiuz.app.dev.ui.base package com.mobiuz.app.dev.ui.base
import android.graphics.Color
import android.os.Bundle import android.os.Bundle
import android.text.SpannableStringBuilder
import android.text.Spanned
import android.text.style.ForegroundColorSpan
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import com.google.android.material.snackbar.Snackbar
import com.mobiuz.app.dev.ui.global.ProgressDialog import com.mobiuz.app.dev.ui.global.ProgressDialog
...@@ -31,4 +36,16 @@ abstract class BaseFragment(private val layoutId: Int) : Fragment() { ...@@ -31,4 +36,16 @@ abstract class BaseFragment(private val layoutId: Int) : Fragment() {
} }
} }
protected fun showSnackMessage(message:String){
val ssb = SpannableStringBuilder().apply {
append(message)
setSpan(
ForegroundColorSpan(Color.WHITE),
0,
message.length,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
)
}
view?.let { Snackbar.make(it, ssb, Snackbar.LENGTH_LONG).show() }
}
} }
\ No newline at end of file
...@@ -8,14 +8,17 @@ import androidx.core.view.isVisible ...@@ -8,14 +8,17 @@ import androidx.core.view.isVisible
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import co.infinum.goldfinger.Goldfinger
import com.mobiuz.app.R import com.mobiuz.app.R
import com.mobiuz.app.databinding.FragmentPinDialogBinding import com.mobiuz.app.databinding.FragmentPinDialogBinding
import com.mobiuz.app.dev.model.PinData 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.auth.pin.PinAdapter
import com.mobiuz.app.dev.utils.extensions.SingleBlock import com.mobiuz.app.dev.utils.extensions.SingleBlock
import com.mobiuz.app.dev.utils.extensions.customLog
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import java.lang.Exception
import javax.inject.Inject import javax.inject.Inject
...@@ -28,7 +31,7 @@ class FullScreenDialog : DialogFragment(R.layout.fragment_pin_dialog) { ...@@ -28,7 +31,7 @@ class FullScreenDialog : DialogFragment(R.layout.fragment_pin_dialog) {
private val bn get() = _bn ?: throw NullPointerException("cannot inflate") private val bn get() = _bn ?: throw NullPointerException("cannot inflate")
private val data = ArrayList<PinData>() private val data = ArrayList<PinData>()
private val pinAdapter = PinAdapter() private val pinAdapter = PinAdapter()
private var listener: SingleBlock<Unit>? = null private var listener: SingleBlock<Boolean>? = null
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
...@@ -41,6 +44,33 @@ class FullScreenDialog : DialogFragment(R.layout.fragment_pin_dialog) { ...@@ -41,6 +44,33 @@ class FullScreenDialog : DialogFragment(R.layout.fragment_pin_dialog) {
isCancelable = false isCancelable = false
setUpUI() setUpUI()
loadFingerPrint()
}
private fun loadFingerPrint() {
if(pref.isUseFingerPrint) {
val golfing = Goldfinger.Builder(requireContext()).build()
if (golfing.canAuthenticate()) {
val params = Goldfinger.PromptParams.Builder(this)
.title(getString(R.string.enter_from_finger_or_face))
.negativeButtonText(getString(R.string.cancel))
.build()
golfing.authenticate(params, object : Goldfinger.Callback {
override fun onResult(result: Goldfinger.Result) {
if(result.type() == Goldfinger.Type.SUCCESS){
dismiss()
}
customLog("onResult:${result.type()}, ${result.reason()}")
}
override fun onError(e: Exception) {
customLog("onError")
}
})
}
}
} }
fun setUpUI() { fun setUpUI() {
...@@ -48,11 +78,6 @@ class FullScreenDialog : DialogFragment(R.layout.fragment_pin_dialog) { ...@@ -48,11 +78,6 @@ class FullScreenDialog : DialogFragment(R.layout.fragment_pin_dialog) {
loadData() loadData()
rvPin.layoutManager = LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false) rvPin.layoutManager = LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false)
withPassword.setOnClickListener(object : ButtonClick() {
override fun onSingleClick(v: View?) {
listener?.invoke(Unit)
}
})
rvPin.adapter = pinAdapter rvPin.adapter = pinAdapter
txtNotPin.isVisible = false txtNotPin.isVisible = false
pinAdapter.setOnDoneListener { pinAdapter.setOnDoneListener {
...@@ -72,15 +97,25 @@ class FullScreenDialog : DialogFragment(R.layout.fragment_pin_dialog) { ...@@ -72,15 +97,25 @@ class FullScreenDialog : DialogFragment(R.layout.fragment_pin_dialog) {
for (i in 0 until btnViewGroup.childCount) { for (i in 0 until btnViewGroup.childCount) {
btnViewGroup.getChildAt(i).setOnClickListener { btnViewGroup.getChildAt(i).setOnClickListener {
if (it.id == R.id.btn_remove) { when (it.id) {
R.id.btn_remove -> {
pinAdapter.removeItem() pinAdapter.removeItem()
txtNotPin.isVisible = false txtNotPin.isVisible = false
} else { }
R.id.with_password -> {
dismiss()
listener?.invoke(true)
}
R.id.btn_finger_print -> {
loadFingerPrint()
}
else -> {
val text = it as TextView val text = it as TextView
pinAdapter.addItem(text.text.toString().toInt()) pinAdapter.addItem(text.text.toString().toInt())
} }
} }
} }
}
} }
} }
...@@ -94,7 +129,7 @@ class FullScreenDialog : DialogFragment(R.layout.fragment_pin_dialog) { ...@@ -94,7 +129,7 @@ class FullScreenDialog : DialogFragment(R.layout.fragment_pin_dialog) {
pinAdapter.submitList(data) pinAdapter.submitList(data)
} }
fun setOnPinDoneListener(block: SingleBlock<Unit>) { fun setOnPinDoneListener(block: SingleBlock<Boolean>) {
listener = block listener = block
} }
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/red_dark" android:state_checked="true" /> <item android:color="@color/primary110" android:state_checked="true" />
<item android:color="?colorControlNormal" /> <item android:color="?colorControlNormal" />
</selector> </selector>
...@@ -2,13 +2,13 @@ ...@@ -2,13 +2,13 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"> <item android:state_pressed="true">
<shape android:shape="oval"> <shape android:shape="oval">
<solid android:color="@color/lang_bgn_dark"/> <solid android:color="@color/grey80"/>
</shape> </shape>
</item> </item>
<item android:state_pressed="false"> <item android:state_pressed="false">
<shape android:shape="oval"> <shape android:shape="oval">
<solid android:color="@color/lang_bgn"/> <solid android:color="@color/grey20"/>
</shape> </shape>
</item> </item>
</selector> </selector>
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item> <item>
<shape android:shape="oval"> <shape android:shape="oval">
<solid android:color="@color/red"/> <solid android:color="@color/primary100"/>
</shape> </shape>
</item> </item>
</selector> </selector>
\ No newline at end of file
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<shape> <shape>
<solid android:color="@color/white"/> <solid android:color="@color/white"/>
<corners android:radius="4dp"/> <corners android:radius="4dp"/>
<stroke android:color="@color/red" android:width="1dp"/> <stroke android:color="@color/primary100" android:width="1dp"/>
</shape> </shape>
</item> </item>
</selector> </selector>
\ No newline at end of file
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<shape> <shape>
<solid android:color="@color/white"/> <solid android:color="@color/white"/>
<corners android:radius="2dp"/> <corners android:radius="2dp"/>
<stroke android:color="@color/light" android:width="1dp"/> <stroke android:color="@color/grey80" android:width="1dp"/>
</shape> </shape>
</item> </item>
</selector> </selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="10dp"/> <corners android:radius="6dp"/>
<solid android:color="@color/red"/> <solid android:color="@color/primary100"/>
</shape> </shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="10dp"/> <corners android:radius="6dp"/>
<solid android:color="@color/red_disabled"/> <solid android:color="@color/primary30"/>
</shape> </shape>
\ No newline at end of file
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"> <item android:state_pressed="true">
<shape> <shape>
<corners android:radius="10dp"/> <corners android:radius="6dp"/>
<solid android:color="@color/red_dark"/> <solid android:color="@color/primary110"/>
</shape> </shape>
</item> </item>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke <stroke
android:width="1.5dp" android:width="1.5dp"
android:color="@color/red" /> android:color="@color/primary100" />
<corners <corners
android:radius="6dp" /> android:radius="6dp" />
......
...@@ -2,5 +2,5 @@ ...@@ -2,5 +2,5 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners <corners
android:radius="6dp" /> android:radius="6dp" />
<solid android:color="@color/lang_bgn" /> <solid android:color="@color/grey20" />
</shape> </shape>
\ No newline at end of file
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
android:height="24dp" android:height="24dp"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24" android:viewportHeight="24"
android:tint="@color/red" android:tint="@color/primary100"
android:autoMirrored="true"> android:autoMirrored="true">
<path <path
android:fillColor="@android:color/white" android:fillColor="@android:color/white"
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
android:height="16dp" android:height="16dp"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24" android:viewportHeight="24"
android:tint="@color/green"> android:tint="@color/green100">
<path <path
android:fillColor="@android:color/white" android:fillColor="@android:color/white"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM10,17l-5,-5 1.41,-1.41L10,14.17l7.59,-7.59L19,8l-9,9z"/> android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM10,17l-5,-5 1.41,-1.41L10,14.17l7.59,-7.59L19,8l-9,9z"/>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
android:height="16dp" android:height="16dp"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24" android:viewportHeight="24"
android:tint="@color/red_dark"> android:tint="@color/primary110">
<path <path
android:fillColor="@android:color/holo_red_dark" android:fillColor="@android:color/holo_red_dark"
android:pathData="M8.59,16.59L13.17,12 8.59,7.41 10,6l6,6 -6,6 -1.41,-1.41z"/> android:pathData="M8.59,16.59L13.17,12 8.59,7.41 10,6l6,6 -6,6 -1.41,-1.41z"/>
......
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="56dp"
android:height="56dp"
android:viewportWidth="56"
android:viewportHeight="56">
<path
android:pathData="M31,42.1018C31.2246,42.3531 31.4592,42.6018 31.706,42.8481C32.1775,43.3217 32.5454,43.6659 32.9256,43.9774C33.2588,44.25 33.5995,44.4963 34.0266,44.7827C35.1202,45.5163 36.2953,46 36.984,46C37.3173,46 37.7863,45.7475 37.9493,45.4774C38.1468,45.1508 38.1418,44.5729 37.9394,44.2701C37.7296,43.9624 37.4778,43.8242 36.9667,43.7413C35.53,43.5088 32.9428,41.3154 31.4271,39.0466C31.2888,38.8393 31.1432,38.5969 31,38.3406V42.1018Z"
android:fillColor="#969A97"/>
<path
android:pathData="M31,31.033V28.2265C31.3678,28.0381 31.7628,27.8886 32.18,27.778C32.8614,27.5984 34.0266,27.577 34.7474,27.7328C35.8707,27.9753 36.9692,28.6084 37.7937,29.4903C39.0034,30.7868 39.5416,32.288 39.5416,34.3583C39.5416,35.1874 39.6798,35.798 40.0007,36.3306C40.1316,36.5467 40.292,36.7489 40.487,36.9487C41.1067,37.5806 41.7387,37.8469 42.62,37.8469C44.0419,37.8469 45.2121,36.8834 45.5898,35.3997C45.7873,34.6271 45.6786,32.7402 45.3478,31.1988C45.1232,30.1549 44.78,29.2001 44.2073,28.0255C41.6646,22.8234 36.3496,20.13 31,21.3284V19.032C31.5159,18.9365 32.0467,18.8662 32.5948,18.8209C34.2043,18.689 36.32,18.9667 37.8876,19.5157C43.3902,21.4453 47.2759,26.665 47.8362,32.8797C47.9424,34.0631 47.93,34.9412 47.7819,35.7138C47.7227,36.0178 47.6412,36.3067 47.54,36.5907C47.2709,37.3444 46.9525,37.8268 46.2464,38.5466C45.6811,39.1245 45.4984,39.264 44.9331,39.5429C44.5727,39.7225 44.0666,39.921 43.8074,39.9838C43.363,40.0931 42.7039,40.1245 42.1164,40.0805C41.8251,40.0579 41.551,40.0177 41.3289,39.9587C39.8946,39.5805 38.6504,38.5667 37.9616,37.2125C37.4926,36.2892 37.3938,35.8557 37.3272,34.3922C37.2901,33.5493 37.2284,32.9551 37.1544,32.7038C36.7693,31.3998 35.683,30.3044 34.4314,29.9614C33.95,29.8308 33.007,29.8584 32.5083,30.0179C31.9529,30.1976 31.432,30.5544 31,31.033Z"
android:fillColor="#969A97"/>
<path
android:pathData="M31,16.8423C31.6863,16.7217 32.0714,16.7016 33.5279,16.7016C34.2265,16.7016 34.6783,16.7054 35.0338,16.723C35.4609,16.7444 35.7522,16.7858 36.1669,16.8624C38.9812,17.3762 41.6276,18.6212 43.7481,20.4252C44.627,21.1726 45.8514,22.493 46.5476,23.4402C46.8833,23.8975 47.2561,24.3334 47.3771,24.4075C48.0164,24.8057 48.9052,24.3309 48.9916,23.5445C49.036,23.1563 48.92,22.9113 48.2757,22.0344C45.1775,17.8122 40.6352,15.1175 35.6016,14.5158C34.5524,14.3914 32.3997,14.3926 31.3654,14.5208C31.2444,14.5359 31.121,14.5522 31,14.5698V16.8423Z"
android:fillColor="#969A97"/>
<path
android:pathData="M31,12.4266C31.0592,12.4166 31.1185,12.4065 31.1777,12.3977C32.2936,12.2218 34.7622,12.2231 35.9126,12.4002C39.228,12.9103 42.183,14.2645 44.7504,16.4479C45.6046,17.174 45.8786,17.2984 46.3279,17.1614C46.8759,16.9943 47.2191,16.4228 47.1154,15.8449C47.0537,15.4956 46.439,14.8801 45.2491,13.9768C42.6002,11.9656 39.5885,10.6892 36.3274,10.193C35.3893,10.0498 32.8638,9.9505 32.0763,10.0259C31.7134,10.0611 31.3555,10.1038 31,10.1553V12.4266Z"
android:fillColor="#969A97"/>
<path
android:pathData="M31,23.5382C31.4419,23.4176 31.9035,23.3234 32.3874,23.2505C32.5009,23.2329 33.123,23.2291 33.7698,23.243C34.7227,23.2618 35.0832,23.3007 35.6707,23.4414C36.7964,23.7128 37.737,24.0846 38.6059,24.6211C39.2922,25.0444 39.9316,25.5708 40.5833,26.2316C42.5138,28.1851 43.563,30.5682 43.6617,33.2314C43.6963,34.1435 43.6889,34.2339 43.5581,34.4462C43.1162,35.1522 42.0793,35.1309 41.6621,34.406C41.5634,34.2339 41.514,33.9575 41.472,33.3432C41.3807,32.0129 41.1289,31.0744 40.5562,29.93C39.2354,27.2894 36.7298,25.6123 33.9031,25.4778C32.8935,25.4301 31.9134,25.5758 31,25.8949V23.5382Z"
android:fillColor="#969A97"/>
<path
android:pathData="M32.3775,32.8257C32.4392,32.5744 32.7552,32.2114 33.007,32.0995C33.1033,32.0568 33.1971,32.0292 33.2934,32.0166C33.5007,31.989 33.7081,32.0367 33.9451,32.1586C34.4043,32.396 34.5104,32.6435 34.5771,33.6121C34.6487,34.7138 34.9276,35.8017 35.3942,36.8231C35.6979,37.4889 36.0805,38.1258 36.5347,38.7188C37.8086,40.377 39.386,41.3908 40.924,41.5378C41.2894,41.573 41.5115,41.6207 41.6868,41.7237C41.7979,41.7878 41.8892,41.8732 41.9855,41.99C42.3336,42.4121 42.2916,43.0503 41.8868,43.4624C41.5807,43.7727 41.2351,43.8468 40.5265,43.7513C38.2282,43.4398 35.9176,41.8029 34.2808,39.3243C33.4563,38.0806 32.9058,36.7979 32.5873,35.3784C32.417,34.6271 32.296,33.1561 32.3775,32.8257Z"
android:fillColor="#969A97"/>
<path
android:pathData="M27.966,35.5503C26.8783,36.6741 25.2987,37.2024 23.7838,36.8954C22.4883,36.6329 21.4758,35.9384 20.7124,34.7885C20.2858,34.1461 19.6335,33.8733 18.9627,34.0569C18.558,34.1676 18.0568,34.6939 17.9494,35.121C17.8036,35.6996 17.9632,36.1515 18.6108,36.9946C20.7755,39.813 24.616,40.7646 27.8309,39.2793C27.8759,39.2584 27.921,39.237 27.966,39.2149V35.5503ZM7.9008,12.4604C8.4751,11.313 9.6799,10.3714 10.9095,10.1088C11.2613,10.0336 12.1516,10.0099 14.7797,10.0056L18.1929,10L18.5629,10.1844C19.4295,10.6162 19.6537,11.7115 19.0257,12.4451C18.9259,12.5617 18.8529,12.6531 18.7641,12.725C18.4293,12.9965 17.8704,12.9916 14.8049,13.0228L11.3541,13.058L11.0791,13.2502C10.9278,13.3558 10.7249,13.5591 10.6283,13.7018L10.4525,13.9613L10.4172,17.4112C10.3918,19.877 10.3577,20.9152 10.2972,21.0508C10.2508,21.155 10.0971,21.3684 9.9557,21.5249C9.277,22.2762 8.0392,22.0922 7.5806,21.1718L7.3945,20.7983L7.3957,17.4203C7.3971,13.5884 7.4127,13.4358 7.9008,12.4604ZM15.0506,19.8566C15.2193,19.5286 15.5126,19.2479 15.8304,19.1103C16.5373,18.804 17.3997,19.151 17.7357,19.8769C17.9271,20.2904 17.9271,22.2051 17.7357,22.6186C17.2017,23.7722 15.6396,23.784 15.0506,22.639C14.935,22.4142 14.9165,22.2221 14.9165,21.2478C14.9165,20.2734 14.935,20.0814 15.0506,19.8566ZM24.0666,19.8066C24.2258,19.519 24.5329,19.2383 24.8286,19.1103C25.5355,18.804 26.3979,19.151 26.7339,19.8769C26.856,20.1407 26.8642,20.4192 26.8646,24.376C26.865,27.9139 26.8478,28.6676 26.7578,29.0509C26.3783,30.6659 24.9547,32.0475 23.3171,32.3901C22.6187,32.5362 20.6978,32.5338 20.3448,32.3863C19.7849,32.1525 19.4156,31.6094 19.4156,31.0198C19.4156,30.3984 19.6841,29.9473 20.224,29.6618C20.4682,29.5326 20.6639,29.5081 21.712,29.4754C22.9169,29.4376 22.9193,29.4372 23.2234,29.2235C23.391,29.1058 23.6071,28.8685 23.7038,28.6963L23.8795,28.3831L23.9147,24.2003C23.946,20.4762 23.9626,19.9944 24.0666,19.8066ZM7.5789,34.8244C7.7761,34.4287 8.1334,34.1361 8.5359,34.0406C8.8799,33.959 8.9544,33.9624 9.3423,34.0777C9.7151,34.1884 10.1279,34.562 10.2972,34.942C10.3577,35.0776 10.3918,36.116 10.4172,38.5825L10.4525,42.0333L10.6447,42.3083C10.7504,42.4596 10.9537,42.6624 11.0964,42.7591L11.3559,42.9348L14.8057,42.97C17.8705,43.0012 18.4293,42.9963 18.7641,43.2678C18.8529,43.3397 18.9259,43.4311 19.0257,43.5477C19.6585,44.2869 19.4281,45.3841 18.5499,45.8138L18.1692,46L14.592,45.9772C11.1228,45.9552 11.0011,45.9498 10.558,45.7998C9.4214,45.415 8.4134,44.5547 7.9012,43.5324C7.4127,42.5574 7.3971,42.4049 7.3957,38.5725L7.3945,35.1945L7.5789,34.8244Z"
android:fillColor="#969A97"
android:fillType="evenOdd"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="22dp"
android:height="22dp"
android:viewportWidth="22"
android:viewportHeight="22">
<path
android:pathData="M1.9822,0.5402C1.2782,0.6785 0.6797,1.2895 0.5433,2.0093C0.4856,2.3138 0.4856,15.9494 0.5433,16.2539C0.683,16.9907 1.2778,17.5857 2.0143,17.7255C2.1502,17.7513 3.2548,17.7673 4.8874,17.7673H7.5397L7.6336,18.5776C7.7936,19.9573 7.8273,20.138 7.9856,20.4604C8.1418,20.7785 8.4957,21.1476 8.7874,21.2965C9.1917,21.5028 9.0926,21.4993 14.6136,21.5C17.9486,21.5004 19.8428,21.4858 19.9857,21.4587C20.7222,21.319 21.317,20.724 21.4567,19.9872C21.5144,19.6827 21.5144,6.0471 21.4567,5.7426C21.3352,5.1016 20.9122,4.6016 20.2726,4.3427L20.0427,4.2496L15.4095,4.2291L10.7763,4.2086L10.6438,3.142C10.5709,2.5553 10.4912,1.9946 10.4667,1.8959C10.357,1.4544 9.965,0.9434 9.5713,0.7291C9.1445,0.4967 9.1451,0.4967 5.5047,0.5009C3.6664,0.5031 2.0813,0.5208 1.9822,0.5402ZM9.0219,1.8427C9.0955,1.8952 9.1849,1.9946 9.2206,2.0635C9.2656,2.1506 9.5536,4.349 10.1621,9.2499C10.6444,13.1335 11.0481,16.3617 11.0594,16.4238L11.08,16.5366H6.6503C2.2917,16.5366 2.218,16.5353 2.0587,16.454C1.9545,16.4008 1.8674,16.3137 1.8143,16.2095C1.7325,16.0491 1.7317,15.982 1.7317,9.1316C1.7317,2.284 1.7326,2.214 1.8142,2.0539C1.8644,1.9554 1.9566,1.8604 2.05,1.8108C2.1997,1.7314 2.2826,1.7297 5.5457,1.7383L8.888,1.7471L9.0219,1.8427ZM5.2176,4.9087C4.919,5.0334 4.9325,4.9848 4.2482,8.402C3.9017,10.1324 3.6182,11.5914 3.6182,11.6441C3.6182,11.927 3.9359,12.229 4.2333,12.229C4.4334,12.229 4.6734,12.0838 4.7597,11.9105C4.8016,11.8262 4.9244,11.3095 5.0325,10.7623L5.2291,9.7675H6.0788H6.9285L7.1251,10.7623C7.2332,11.3095 7.356,11.8262 7.3979,11.9105C7.4842,12.0838 7.7242,12.229 7.9243,12.229C8.2217,12.229 8.5394,11.927 8.5394,11.6441C8.5394,11.5914 8.2559,10.1324 7.9094,8.402C7.2215,4.9672 7.2396,5.0314 6.9289,4.9066C6.7129,4.8198 5.4266,4.8214 5.2176,4.9087ZM19.9412,5.5425C20.0455,5.5956 20.1326,5.6828 20.1857,5.787C20.2675,5.9474 20.2683,6.0145 20.2683,12.8649C20.2683,19.7153 20.2675,19.7824 20.1857,19.9427C20.1325,20.0471 20.0455,20.1341 19.941,20.1874C19.7806,20.2692 19.7226,20.2701 14.8418,20.2598L9.9049,20.2493L11.1093,18.8554C11.9223,17.9144 12.3263,17.4157 12.3525,17.3207C12.3828,17.211 12.2333,15.9062 11.6756,11.4122C11.282,8.24 10.953,5.6029 10.9446,5.5522L10.9293,5.4599H15.3544C19.7084,5.4599 19.782,5.4612 19.9412,5.5425ZM6.4358,7.306L6.6817,8.5367H6.0788H5.4759L5.7218,7.306L5.9678,6.0753H6.0788H6.1898L6.4358,7.306ZM15.6243,8.6213C15.3886,8.7458 15.3061,8.9469 15.3061,9.3966V9.7675H14.3202C13.413,9.7675 13.3214,9.7741 13.1725,9.8501C12.9905,9.943 12.8455,10.1793 12.8455,10.3829C12.8455,10.6991 13.1488,10.9982 13.4696,10.9982C13.5995,10.9982 13.6087,11.0091 13.7031,11.2752C13.9682,12.0221 14.3873,12.8035 14.8418,13.3982L15.0613,13.6854L14.8658,13.8634C14.7583,13.9613 14.4288,14.2345 14.1337,14.4705C13.7817,14.7519 13.5735,14.9488 13.5288,15.0426C13.2831,15.558 13.8336,16.1122 14.3341,15.8533C14.4747,15.7806 14.9876,15.3797 15.5503,14.9025C15.7411,14.7408 15.908,14.6084 15.9212,14.6084C15.9344,14.6084 16.1013,14.7408 16.2921,14.9025C16.8548,15.3797 17.3677,15.7806 17.5083,15.8533C17.8877,16.0496 18.3818,15.7416 18.3818,15.3089C18.3818,15.0626 18.2607,14.9118 17.7087,14.4705C17.4136,14.2345 17.0841,13.9613 16.9766,13.8634L16.7811,13.6854L17.0006,13.3982C17.4551,12.8035 17.8742,12.0221 18.1393,11.2752C18.2337,11.0091 18.2429,10.9982 18.3728,10.9982C18.6936,10.9982 18.997,10.6991 18.997,10.3829C18.997,10.1793 18.8519,9.943 18.6699,9.8501C18.521,9.7741 18.4294,9.7675 17.5222,9.7675H16.5364V9.3966C16.5364,8.9396 16.4542,8.7443 16.2093,8.6193C16.0073,8.5162 15.8222,8.5168 15.6243,8.6213ZM16.9049,11.0495C16.9027,11.239 16.0278,12.7623 15.9212,12.7623C15.8146,12.7623 14.9397,11.239 14.9375,11.0495C14.9371,11.0099 15.1608,10.9982 15.9212,10.9982C16.6816,10.9982 16.9053,11.0099 16.9049,11.0495ZM9.7388,18.5604C9.3611,18.9966 9.0336,19.3572 9.011,19.3618C8.9765,19.3687 8.798,18.1641 8.7884,17.8596L8.7855,17.7673H9.6055H10.4256L9.7388,18.5604Z"
android:fillColor="#B6B6B6"
android:fillType="evenOdd"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="18dp"
android:height="22dp"
android:viewportWidth="18"
android:viewportHeight="22">
<path
android:pathData="M8.1414,0.5286C5.1502,0.893 2.7447,2.7432 1.6854,5.4944C1.6203,5.6638 1.5062,5.9039 1.4319,6.0281C1.1685,6.4689 1.1625,6.5132 1.1457,8.155C1.1359,9.1167 1.1466,9.7495 1.1758,9.9382C1.2891,10.67 1.7953,11.2674 2.4983,11.4987C2.7227,11.5725 2.8874,11.5852 3.8333,11.6014L4.9124,11.62L5.2877,11.9976C5.4941,12.2053 5.7892,12.4649 5.9436,12.5744L6.2242,12.7736L5.8412,12.9092C5.0072,13.2045 3.9078,13.8251 3.207,14.3963C1.8049,15.5391 0.6781,17.28 0.1533,19.1144C-0.0058,19.6703 -0.0301,19.8802 0.0304,20.1735C0.1653,20.8278 0.646,21.3317 1.2589,21.4615C1.4267,21.497 3.436,21.5059 9.1247,21.4965L16.765,21.4838L17.0005,21.3886C17.5088,21.1829 17.9352,20.612 17.9944,20.0578C18.0441,19.5932 17.7585,18.6255 17.2705,17.6045C16.9308,16.894 16.7205,16.5445 16.27,15.9419C15.6431,15.1036 15.0261,14.5125 14.1808,13.9404C13.4725,13.4611 12.8548,13.1499 12.0473,12.8657L11.7951,12.7768L12.1227,12.5343C12.3028,12.4009 12.5949,12.1386 12.7718,11.9514L13.0933,11.611L14.0074,11.6102C15.0738,11.6093 15.4002,11.5711 15.7527,11.4061C16.275,11.1615 16.7213,10.5833 16.8265,10.0147C16.8842,9.7034 16.8797,6.9107 16.8212,6.6356C16.7749,6.4181 16.6571,6.1343 16.5008,5.8639C16.4552,5.7849 16.324,5.4955 16.2093,5.2209C15.7479,4.1164 14.9896,3.0807 14.0859,2.3209C13.0222,1.4267 11.7829,0.855 10.3681,0.6061C9.8146,0.5086 8.6407,0.4678 8.1414,0.5286ZM10.3308,1.8373C11.6944,2.1191 12.8321,2.7469 13.7804,3.7411C14.1119,4.0886 14.7372,4.9408 14.7372,5.045C14.7372,5.0682 14.4081,5.0839 13.9238,5.0839H13.1104L12.8624,4.8043C12.172,4.0259 11.1834,3.4619 10.1079,3.2328C9.5899,3.1225 8.5928,3.1013 8.1005,3.1901C6.936,3.4003 5.8427,4.0092 5.1262,4.8468L4.9255,5.0814L4.0915,5.0827C3.4071,5.0837 3.2614,5.0739 3.2788,5.0284C3.2905,4.9979 3.3817,4.8454 3.4815,4.6897C4.4848,3.1233 6.0894,2.0929 8.0156,1.778C8.5297,1.6939 9.7935,1.7263 10.3308,1.8373ZM10.0401,4.4629C12.0427,4.999 13.3643,7.1744 12.9115,9.189C12.8785,9.3358 12.8316,9.5055 12.8072,9.5662L12.7629,9.6765L11.4661,9.6893C10.2484,9.7014 10.1607,9.7073 10.0274,9.7857C9.6267,10.0216 9.6267,10.6143 10.0274,10.8502C10.1564,10.9261 10.2522,10.9349 11.0808,10.9474C11.5822,10.9549 11.9924,10.9764 11.9924,10.9952C11.9924,11.0473 11.5092,11.4767 11.2549,11.6507C10.4957,12.1703 9.6174,12.3931 8.6763,12.3048C8.1776,12.258 7.7632,12.1427 7.2943,11.9204C6.8225,11.6968 6.6089,11.5497 6.2243,11.1836C5.714,10.6979 5.3802,10.1517 5.1631,9.4472C5.0594,9.1107 5.052,9.0367 5.053,8.3475C5.0539,7.6638 5.0622,7.5816 5.1641,7.2478C5.6185,5.7597 6.7891,4.6926 8.2848,4.403C8.7071,4.3212 9.6285,4.3526 10.0401,4.4629ZM4.1676,6.3336C4.1676,6.3436 4.113,6.515 4.0464,6.7145C3.7142,7.7079 3.7154,8.9572 4.0494,9.983C4.1144,10.1825 4.1676,10.3551 4.1676,10.3664C4.1676,10.3777 3.8865,10.3804 3.5429,10.3725C2.8209,10.3559 2.6739,10.309 2.4945,10.0375L2.3855,9.8725L2.3729,8.446C2.3596,6.9524 2.3739,6.789 2.5361,6.5825C2.7061,6.3659 2.8936,6.3173 3.5633,6.3163C3.8957,6.3159 4.1676,6.3236 4.1676,6.3336ZM15.1994,6.372C15.3588,6.4403 15.5356,6.6227 15.5949,6.7799C15.6227,6.8538 15.6381,7.417 15.6375,8.3399C15.6365,9.9936 15.6304,10.0287 15.3067,10.2434C15.137,10.3559 15.1151,10.3594 14.4841,10.3736C14.1276,10.3816 13.8359,10.3802 13.8359,10.3705C13.8359,10.3608 13.8825,10.2157 13.9396,10.048C14.3237,8.9188 14.3162,7.6022 13.9198,6.5571C13.8737,6.4355 13.8359,6.3313 13.8359,6.3257C13.8359,6.3201 14.113,6.3155 14.4517,6.3155C14.8835,6.3155 15.1069,6.3323 15.1994,6.372ZM10.0955,13.6858C10.6973,13.7645 11.3215,13.915 11.8285,14.1036C14.2337,14.9983 15.9565,16.9041 16.6675,19.4565C16.7771,19.8498 16.7868,19.9242 16.7427,20.0309C16.6357,20.2898 17.1792,20.2728 9.0017,20.2728C0.8286,20.2728 1.3677,20.2896 1.2613,20.0323C1.2184,19.9285 1.2269,19.8533 1.3206,19.507C2.015,16.9428 3.7588,15.008 6.183,14.1122C7.3579,13.678 8.8188,13.5188 10.0955,13.6858Z"
android:fillColor="#B6B6B6"
android:fillType="evenOdd"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M6,2H15C15.5304,2 16.0391,2.2107 16.4142,2.5858C16.7893,2.9609 17,3.4696 17,4V6H15V4H6V20H15V18H17V20C17,20.5304 16.7893,21.0391 16.4142,21.4142C16.0391,21.7893 15.5304,22 15,22H6C5.4696,22 4.9609,21.7893 4.5858,21.4142C4.2107,21.0391 4,20.5304 4,20V4C4,3.4696 4.2107,2.9609 4.5858,2.5858C4.9609,2.2107 5.4696,2 6,2Z"
android:fillColor="#E62229"/>
<path
android:pathData="M16.09,15.59L17.5,17L22.5,12L17.5,7L16.09,8.41L18.67,11H9V13H18.67L16.09,15.59Z"
android:fillColor="#E62229"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="16dp"
android:height="16dp"
android:viewportWidth="16"
android:viewportHeight="16">
<path
android:pathData="M8,0L8,0A8,8 0,0 1,16 8L16,8A8,8 0,0 1,8 16L8,16A8,8 0,0 1,0 8L0,8A8,8 0,0 1,8 0z"
android:fillColor="#E7E1DD"/>
<path
android:pathData="M8,8m-6,0a6,6 0,1 1,12 0a6,6 0,1 1,-12 0"
android:fillColor="#E62229"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="16dp"
android:height="16dp"
android:viewportWidth="16"
android:viewportHeight="16">
<path
android:pathData="M8,0L8,0A8,8 0,0 1,16 8L16,8A8,8 0,0 1,8 16L8,16A8,8 0,0 1,0 8L0,8A8,8 0,0 1,8 0z"
android:fillColor="#E7E1DD"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="22dp"
android:viewportWidth="20"
android:viewportHeight="22">
<path
android:pathData="M9.7409,0.029C9.6817,0.0495 7.7157,0.8635 5.3719,1.8376C2.037,3.2238 1.0803,3.6382 0.9712,3.7439C0.6862,4.02 0.6929,3.9343 0.7139,7.031C0.7334,9.9215 0.749,10.2106 0.9398,11.2236C1.4831,14.1083 2.8709,16.7443 4.9307,18.8044C6.1696,20.0435 7.5436,20.9944 9.2028,21.7613C9.6619,21.9735 9.7505,22 9.9991,22C10.2476,22 10.3384,21.9728 10.8103,21.757C15.6517,19.5435 18.8393,14.9751 19.2534,9.657C19.2772,9.3517 19.2962,7.9958 19.2957,6.6439C19.2948,4.3432 19.2896,4.1749 19.215,4.0138C19.1712,3.9191 19.0786,3.7884 19.0094,3.7235C18.9225,3.6419 17.5531,3.0521 14.5812,1.8164C10.1871,-0.0109 10.0262,-0.0703 9.7409,0.029ZM13.8085,3.3603L17.5533,4.9191L17.5511,7.3288C17.5491,9.6077 17.5437,9.7725 17.4521,10.3627C17.3989,10.706 17.3086,11.1903 17.2516,11.4388C16.3919,15.1849 13.884,18.3439 10.4348,20.0255L9.9946,20.2401L9.4266,19.9529C5.9415,18.1906 3.4565,14.9547 2.6837,11.1721C2.4638,10.0954 2.4457,9.8011 2.4453,7.2865L2.4449,4.9206L6.1897,3.3619C8.2494,2.5046 9.9636,1.8029 9.9991,1.8025C10.0346,1.802 11.7489,2.5031 13.8085,3.3603ZM13.0122,7.6331C12.918,7.6736 12.1484,8.41 10.9576,9.5993L9.0536,11.5006L8.0952,10.5506C7.3169,9.7791 7.0984,9.5862 6.9326,9.524C6.2798,9.2791 5.6396,9.888 5.8235,10.5788C5.8692,10.75 6.0206,10.9181 7.173,12.0762C7.8869,12.7938 8.5388,13.423 8.6216,13.4745C8.8146,13.5946 9.2196,13.6041 9.4409,13.4937C9.5246,13.452 10.6113,12.3964 11.856,11.1478C13.9462,9.0511 14.1231,8.8622 14.1733,8.6749C14.3639,7.964 13.6765,7.3472 13.0122,7.6331Z"
android:fillColor="#B6B6B6"
android:fillType="evenOdd"/>
</vector>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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="match_parent"
android:gravity="center"
android:layout_height="match_parent"
tools:context=".dev.PinActivity">
<com.chaos.view.PinView
android:id="@+id/firstPinView"
style="@style/PinWidget.PinView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:cursorVisible="true"
android:hint="*****"
android:inputType="text"
android:padding="@dimen/_1sdp"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold"
app:cursorColor="@color/teal_200"
app:cursorWidth="2dp"
app:hideLineWhenFilled="true"
app:itemCount="5"
app:itemHeight="48dp"
app:itemRadius="4dp"
app:itemSpacing="0dp"
app:itemWidth="48dp"
app:lineColor="@color/teal_700"
app:lineWidth="2dp"
app:viewType="rectangle" />
</LinearLayout>
\ No newline at end of file
...@@ -30,9 +30,8 @@ ...@@ -30,9 +30,8 @@
android:background="?android:selectableItemBackground" android:background="?android:selectableItemBackground"
android:padding="@dimen/_4sdp" android:padding="@dimen/_4sdp"
android:text="@string/skip" android:text="@string/skip"
android:textColor="@color/red_dark" android:textColor="@color/primary100"
android:textSize="16sp" android:textSize="16sp" />
android:textStyle="bold" />
</FrameLayout> </FrameLayout>
...@@ -55,7 +54,7 @@ ...@@ -55,7 +54,7 @@
android:layout_marginHorizontal="@dimen/_12sdp" android:layout_marginHorizontal="@dimen/_12sdp"
android:layout_marginTop="@dimen/_12sdp" android:layout_marginTop="@dimen/_12sdp"
android:text="@string/biometric_enter" android:text="@string/biometric_enter"
android:textSize="@dimen/_20sdp" android:textSize="29sp"
android:textStyle="bold" /> android:textStyle="bold" />
<TextView <TextView
...@@ -65,8 +64,8 @@ ...@@ -65,8 +64,8 @@
android:layout_marginHorizontal="@dimen/_12sdp" android:layout_marginHorizontal="@dimen/_12sdp"
android:layout_marginTop="@dimen/_12sdp" android:layout_marginTop="@dimen/_12sdp"
android:text="@string/subtitle_biometric" android:text="@string/subtitle_biometric"
android:textColor="@color/text_color_77" android:textColor="@color/grey100"
android:textSize="@dimen/_14sdp" /> android:textSize="18sp" />
<LinearLayout <LinearLayout
...@@ -81,12 +80,13 @@ ...@@ -81,12 +80,13 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:textSize="17sp" android:textSize="17sp"
android:text="@string/avtorization" android:textColor="@color/black100"
android:textStyle="bold" /> android:text="@string/avtorization" />
<Switch <Switch
android:id="@+id/btn_switch" android:id="@+id/btn_switch"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:checked="true"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:ignore="UseSwitchCompatOrMaterialXml" /> tools:ignore="UseSwitchCompatOrMaterialXml" />
</LinearLayout> </LinearLayout>
...@@ -100,7 +100,7 @@ ...@@ -100,7 +100,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:textSize="15sp" android:textSize="14sp"
android:layout_marginHorizontal="@dimen/_12sdp" android:layout_marginHorizontal="@dimen/_12sdp"
android:text="@string/change_all_time" android:text="@string/change_all_time"
/> />
...@@ -125,7 +125,7 @@ ...@@ -125,7 +125,7 @@
android:textSize="16sp" android:textSize="16sp"
android:text="@string/continuoue" android:text="@string/continuoue"
android:textAllCaps="false" android:textAllCaps="false"
android:textColor="@color/red" android:textColor="@color/primary100"
app:backgroundTint="@color/white" /> app:backgroundTint="@color/white" />
</LinearLayout> </LinearLayout>
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
android:layout_marginStart="@dimen/_12sdp" android:layout_marginStart="@dimen/_12sdp"
android:layout_marginTop="@dimen/_14sdp" android:layout_marginTop="@dimen/_14sdp"
android:text="@string/enter_number" android:text="@string/enter_number"
android:textSize="@dimen/_18sdp" android:textSize="29sp"
android:textStyle="bold" /> android:textStyle="bold" />
<LinearLayout <LinearLayout
...@@ -35,10 +35,10 @@ ...@@ -35,10 +35,10 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/phone" android:text="@string/phone"
android:textSize="15sp"
android:layout_marginStart="@dimen/_12sdp" android:layout_marginStart="@dimen/_12sdp"
android:layout_gravity="start" android:layout_gravity="start"
android:textColor="@color/light" android:textColor="@color/black75"
android:textStyle="bold"
/> />
<com.google.android.material.textfield.TextInputLayout <com.google.android.material.textfield.TextInputLayout
...@@ -53,27 +53,16 @@ ...@@ -53,27 +53,16 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:id="@+id/input_phone" android:id="@+id/input_phone"
android:inputType="phone" android:inputType="phone"
android:textStyle="bold"
android:imeOptions="actionDone" android:imeOptions="actionDone"
app:mask="+998 ** *** ** **" app:mask="+998 ** *** ** **"
app:notMaskedSymbol="*" app:notMaskedSymbol="*"
android:textSize="@dimen/_12sdp" android:textSize="17sp"
android:padding="@dimen/_14sdp" android:padding="@dimen/_14sdp"
android:background="@drawable/edit_text_bgn" android:background="@drawable/edit_text_unchecked"
android:layout_height="match_parent"/> android:layout_height="match_parent"/>
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
<TextView
android:id="@+id/helper_phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/phone"
android:visibility="gone"
android:textStyle="bold"
android:layout_marginTop="@dimen/_4sdp"
android:layout_marginStart="@dimen/_12sdp"
android:layout_gravity="start"
android:textColor="@color/red"
/>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
android:layout_marginStart="@dimen/_12sdp" android:layout_marginStart="@dimen/_12sdp"
android:layout_marginTop="@dimen/_14sdp" android:layout_marginTop="@dimen/_14sdp"
android:text="@string/enter_number" android:text="@string/enter_number"
android:textSize="@dimen/_16sdp" android:textSize="29sp"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/toolbar" /> app:layout_constraintTop_toBottomOf="@id/toolbar" />
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/phone" android:text="@string/phone"
android:textColor="@color/light" android:textColor="@color/black75"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@id/layout_input" app:layout_constraintBottom_toTopOf="@id/layout_input"
app:layout_constraintStart_toStartOf="@id/layout_input" /> app:layout_constraintStart_toStartOf="@id/layout_input" />
...@@ -52,10 +52,11 @@ ...@@ -52,10 +52,11 @@
android:inputType="phone" android:inputType="phone"
android:imeOptions="actionDone" android:imeOptions="actionDone"
app:mask="+998 ** *** ** **" app:mask="+998 ** *** ** **"
android:textColor="@color/black"
app:notMaskedSymbol="*" app:notMaskedSymbol="*"
android:textSize="@dimen/_12sdp" android:textSize="17sp"
android:padding="@dimen/_14sdp" android:padding="@dimen/_14sdp"
android:background="@drawable/edit_text_bgn" android:background="@drawable/edit_text_unchecked"
android:layout_height="match_parent"/> android:layout_height="match_parent"/>
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
android:layout_marginStart="@dimen/_12sdp" android:layout_marginStart="@dimen/_12sdp"
android:layout_marginTop="@dimen/_14sdp" android:layout_marginTop="@dimen/_14sdp"
android:text="@string/enter" android:text="@string/enter"
android:textSize="@dimen/_18sdp" android:textSize="29sp"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toTopOf="@id/txt_hint_password" app:layout_constraintBottom_toTopOf="@id/txt_hint_password"
...@@ -33,11 +33,10 @@ ...@@ -33,11 +33,10 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/_12sdp" android:layout_marginStart="@dimen/_12sdp"
android:layout_marginTop="@dimen/_14sdp" android:layout_marginTop="24dp"
android:layout_marginBottom="@dimen/_4sdp"
android:text="@string/phone" android:text="@string/phone"
android:textColor="@color/black" android:textSize="14sp"
android:textStyle="bold" android:textColor="@color/black75"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toTopOf="@id/layout_input_password" app:layout_constraintBottom_toTopOf="@id/layout_input_password"
app:layout_constraintTop_toBottomOf="@id/txt_enter_phone" /> app:layout_constraintTop_toBottomOf="@id/txt_enter_phone" />
...@@ -49,7 +48,6 @@ ...@@ -49,7 +48,6 @@
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginStart="@dimen/_12sdp" android:layout_marginStart="@dimen/_12sdp"
android:layout_marginEnd="@dimen/_12sdp" android:layout_marginEnd="@dimen/_12sdp"
android:layout_marginBottom="@dimen/_140sdp"
app:layout_constraintBottom_toTopOf="@id/txt_hint_password" app:layout_constraintBottom_toTopOf="@id/txt_hint_password"
app:layout_constraintTop_toBottomOf="@id/txt_hint_password"> app:layout_constraintTop_toBottomOf="@id/txt_hint_password">
...@@ -60,7 +58,8 @@ ...@@ -60,7 +58,8 @@
android:clickable="false" android:clickable="false"
android:focusable="false" android:focusable="false"
android:textSize="@dimen/_12sdp" android:textSize="@dimen/_12sdp"
android:background="@drawable/edit_text_bgn" android:textStyle="bold"
android:background="@drawable/edit_text_unchecked"
android:imeOptions="actionNext" android:imeOptions="actionNext"
android:inputType="phone" android:inputType="phone"
android:paddingVertical="@dimen/_12sdp" android:paddingVertical="@dimen/_12sdp"
...@@ -79,7 +78,7 @@ ...@@ -79,7 +78,7 @@
android:layout_marginTop="@dimen/_4sdp" android:layout_marginTop="@dimen/_4sdp"
android:layout_marginStart="@dimen/_12sdp" android:layout_marginStart="@dimen/_12sdp"
android:layout_gravity="start" android:layout_gravity="start"
android:textColor="@color/red" android:textColor="@color/primary100"
/> />
...@@ -87,11 +86,10 @@ ...@@ -87,11 +86,10 @@
android:id="@+id/txt_hint_confirm" android:id="@+id/txt_hint_confirm"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_34sdp" android:layout_marginTop="20dp"
android:layout_marginBottom="@dimen/_4sdp"
android:text="@string/password" android:text="@string/password"
android:textColor="@color/black" android:textSize="14sp"
android:textStyle="bold" android:textColor="@color/black75"
app:layout_constraintStart_toStartOf="@id/layout_input_confirm" app:layout_constraintStart_toStartOf="@id/layout_input_confirm"
app:layout_constraintTop_toBottomOf="@id/layout_input_password" /> app:layout_constraintTop_toBottomOf="@id/layout_input_password" />
...@@ -109,7 +107,7 @@ ...@@ -109,7 +107,7 @@
android:id="@+id/input_password" android:id="@+id/input_password"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@drawable/edit_text_bgn" android:background="@drawable/edit_text_unchecked"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:inputType="numberPassword" android:inputType="numberPassword"
android:maxLength="7" android:maxLength="7"
...@@ -130,7 +128,7 @@ ...@@ -130,7 +128,7 @@
android:layout_marginTop="@dimen/_4sdp" android:layout_marginTop="@dimen/_4sdp"
android:layout_marginStart="@dimen/_12sdp" android:layout_marginStart="@dimen/_12sdp"
android:layout_gravity="start" android:layout_gravity="start"
android:textColor="@color/red" android:textColor="@color/primary100"
/> />
<TextView <TextView
...@@ -138,9 +136,10 @@ ...@@ -138,9 +136,10 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="@dimen/_6sdp" android:padding="@dimen/_6sdp"
android:textSize="16sp"
android:text="@string/forget_password" android:text="@string/forget_password"
android:background="?android:selectableItemBackground" android:background="?android:selectableItemBackground"
android:textColor="@color/light_dark" android:textColor="@color/grey110"
android:textStyle="bold" android:textStyle="bold"
android:layout_marginTop="@dimen/_10sdp" android:layout_marginTop="@dimen/_10sdp"
android:layout_marginEnd="@dimen/_10sdp" android:layout_marginEnd="@dimen/_10sdp"
...@@ -152,10 +151,11 @@ ...@@ -152,10 +151,11 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="@dimen/_6sdp" android:padding="@dimen/_6sdp"
android:textSize="13sp"
android:text="@string/helper_mobiuz" android:text="@string/helper_mobiuz"
android:background="?android:selectableItemBackground" android:textColor="@color/black100"
android:textColor="@color/light_dark"
android:textStyle="bold" android:textStyle="bold"
android:textColorLink="@color/primary100"
android:layout_marginTop="@dimen/_6sdp" android:layout_marginTop="@dimen/_6sdp"
android:layout_marginHorizontal="@dimen/_10sdp" android:layout_marginHorizontal="@dimen/_10sdp"
app:layout_constraintStart_toStartOf="@id/layout_input_password" app:layout_constraintStart_toStartOf="@id/layout_input_password"
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
android:layout_marginStart="@dimen/_14sdp" android:layout_marginStart="@dimen/_14sdp"
android:layout_marginTop="@dimen/_14sdp" android:layout_marginTop="@dimen/_14sdp"
android:text="@string/install_pin" android:text="@string/install_pin"
android:textSize="@dimen/_16sdp" android:textSize="29sp"
android:textStyle="bold" /> android:textStyle="bold" />
<FrameLayout <FrameLayout
...@@ -38,28 +38,41 @@ ...@@ -38,28 +38,41 @@
android:layout_marginTop="@dimen/_20sdp" android:layout_marginTop="@dimen/_20sdp"
android:layout_marginBottom="@dimen/_20sdp" android:layout_marginBottom="@dimen/_20sdp"
android:text="@string/pin_not_same" android:text="@string/pin_not_same"
android:textColor="@color/red" android:textColor="@color/primary100"
android:textSize="@dimen/_10sdp" android:textSize="@dimen/_10sdp"
android:textStyle="bold" android:textStyle="bold"
android:visibility="gone" /> android:visibility="gone" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_gravity="center"
android:orientation="vertical"
android:layout_height="wrap_content">
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:id="@+id/card_pin" android:id="@+id/card_pin"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"> app:cardCornerRadius="0dp"
android:minWidth="@dimen/_120sdp"
android:minHeight="@dimen/_32sdp">
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_pin" android:id="@+id/rv_pin"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_gravity="center"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingHorizontal="@dimen/_6sdp" android:paddingHorizontal="18dp"
android:paddingVertical="@dimen/_8sdp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:itemCount="4" tools:itemCount="4"
tools:listitem="@layout/item_pin" /> tools:listitem="@layout/item_pin" />
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
<View
android:layout_width="@dimen/_120sdp"
android:background="@color/grey30"
android:layout_height="2dp"/>
</LinearLayout>
</FrameLayout> </FrameLayout>
...@@ -68,21 +81,20 @@ ...@@ -68,21 +81,20 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="3" android:layout_weight="3"
android:paddingHorizontal="@dimen/_48sdp"> android:paddingStart="@dimen/_44sdp"
android:paddingEnd="@dimen/_44sdp">
<TextView <TextView
android:id="@+id/btn_1" android:id="@+id/btn_1"
style="@style/BtnStyle" style="@style/BtnStyle"
android:background="@drawable/bgn_pin_btn" android:background="@drawable/bgn_pin_btn"
android:text="@string/_1" android:text="@string/_1"
app:layout_constraintEnd_toStartOf="@id/btn_2"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<TextView <TextView
android:id="@+id/btn_2" android:id="@+id/btn_2"
style="@style/BtnStyle" style="@style/BtnStyle"
android:layout_marginHorizontal="@dimen/_10sdp"
android:background="@drawable/bgn_pin_btn" android:background="@drawable/bgn_pin_btn"
android:text="@string/_2" android:text="@string/_2"
app:layout_constraintEnd_toStartOf="@id/btn_3" app:layout_constraintEnd_toStartOf="@id/btn_3"
...@@ -95,7 +107,6 @@ ...@@ -95,7 +107,6 @@
android:background="@drawable/bgn_pin_btn" android:background="@drawable/bgn_pin_btn"
android:text="@string/_3" android:text="@string/_3"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/btn_2"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<TextView <TextView
...@@ -104,14 +115,12 @@ ...@@ -104,14 +115,12 @@
android:layout_marginTop="@dimen/_16sdp" android:layout_marginTop="@dimen/_16sdp"
android:background="@drawable/bgn_pin_btn" android:background="@drawable/bgn_pin_btn"
android:text="@string/_4" android:text="@string/_4"
app:layout_constraintEnd_toStartOf="@id/btn_5"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/btn_1" /> app:layout_constraintTop_toBottomOf="@id/btn_1" />
<TextView <TextView
android:id="@+id/btn_5" android:id="@+id/btn_5"
style="@style/BtnStyle" style="@style/BtnStyle"
android:layout_marginHorizontal="@dimen/_10sdp"
android:background="@drawable/bgn_pin_btn" android:background="@drawable/bgn_pin_btn"
android:text="@string/_5" android:text="@string/_5"
app:layout_constraintEnd_toStartOf="@id/btn_6" app:layout_constraintEnd_toStartOf="@id/btn_6"
...@@ -124,7 +133,6 @@ ...@@ -124,7 +133,6 @@
android:background="@drawable/bgn_pin_btn" android:background="@drawable/bgn_pin_btn"
android:text="@string/_6" android:text="@string/_6"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/btn_5"
app:layout_constraintTop_toTopOf="@id/btn_4" /> app:layout_constraintTop_toTopOf="@id/btn_4" />
<TextView <TextView
...@@ -134,17 +142,15 @@ ...@@ -134,17 +142,15 @@
android:background="@drawable/bgn_pin_btn" android:background="@drawable/bgn_pin_btn"
android:text="@string/_7" android:text="@string/_7"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/btn_8"
app:layout_constraintTop_toBottomOf="@id/btn_4" /> app:layout_constraintTop_toBottomOf="@id/btn_4" />
<TextView <TextView
android:id="@+id/btn_8" android:id="@+id/btn_8"
style="@style/BtnStyle" style="@style/BtnStyle"
android:layout_marginHorizontal="@dimen/_10sdp"
android:background="@drawable/bgn_pin_btn" android:background="@drawable/bgn_pin_btn"
android:text="@string/_8" android:text="@string/_8"
app:layout_constraintStart_toEndOf="@id/btn_7"
app:layout_constraintEnd_toStartOf="@id/btn_9" app:layout_constraintEnd_toStartOf="@id/btn_9"
app:layout_constraintStart_toEndOf="@id/btn_7"
app:layout_constraintTop_toTopOf="@id/btn_7" /> app:layout_constraintTop_toTopOf="@id/btn_7" />
<TextView <TextView
...@@ -153,7 +159,6 @@ ...@@ -153,7 +159,6 @@
android:background="@drawable/bgn_pin_btn" android:background="@drawable/bgn_pin_btn"
android:text="@string/_9" android:text="@string/_9"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/btn_8"
app:layout_constraintTop_toTopOf="@id/btn_7" /> app:layout_constraintTop_toTopOf="@id/btn_7" />
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/_14sdp" android:layout_marginStart="@dimen/_14sdp"
android:layout_marginTop="@dimen/_44sdp" android:layout_marginTop="@dimen/_34sdp"
android:text="@string/enter_pin_code" android:text="@string/enter_pin_code"
android:textSize="@dimen/_16sdp" android:textSize="@dimen/_16sdp"
android:textStyle="bold" /> android:textStyle="bold" />
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<FrameLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1"> android:layout_weight="0.9">
<TextView <TextView
android:id="@+id/txt_not_pin" android:id="@+id/txt_not_pin"
...@@ -32,31 +32,43 @@ ...@@ -32,31 +32,43 @@
android:layout_marginTop="@dimen/_20sdp" android:layout_marginTop="@dimen/_20sdp"
android:layout_marginBottom="@dimen/_20sdp" android:layout_marginBottom="@dimen/_20sdp"
android:text="@string/pin_not_same" android:text="@string/pin_not_same"
android:textColor="@color/red" android:textColor="@color/primary100"
android:textSize="@dimen/_10sdp" android:textSize="@dimen/_10sdp"
android:textStyle="bold" android:textStyle="bold"
android:visibility="gone" /> android:visibility="gone" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_gravity="center"
android:orientation="vertical"
android:layout_height="wrap_content">
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:id="@+id/card_pin" android:id="@+id/card_pin"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" app:cardCornerRadius="0dp"
android:minWidth="@dimen/_80sdp" android:minWidth="@dimen/_120sdp"
android:minHeight="@dimen/_25sdp"> android:minHeight="@dimen/_32sdp">
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_pin" android:id="@+id/rv_pin"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginTop="2dp"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingHorizontal="18dp" android:paddingHorizontal="18dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:itemCount="4" tools:itemCount="4"
tools:listitem="@layout/item_pin" /> tools:listitem="@layout/item_pin" />
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
<View
android:layout_width="@dimen/_120sdp"
android:background="@color/grey30"
android:layout_height="2dp"/>
</LinearLayout>
</FrameLayout> </FrameLayout>
...@@ -167,6 +179,17 @@ ...@@ -167,6 +179,17 @@
app:layout_constraintStart_toEndOf="@id/btn_8" app:layout_constraintStart_toEndOf="@id/btn_8"
app:layout_constraintTop_toTopOf="@id/btn_7" /> app:layout_constraintTop_toTopOf="@id/btn_7" />
<ImageView
android:id="@+id/btn_finger_print"
android:layout_width="@dimen/_52sdp"
android:layout_height="@dimen/_52sdp"
android:background="?selectableItemBackgroundBorderless"
android:contentDescription="@string/remove"
android:src="@drawable/ic_finger_print"
app:layout_constraintBottom_toBottomOf="@id/btn_0"
app:layout_constraintStart_toStartOf="@id/btn_7"
app:layout_constraintTop_toTopOf="@id/btn_0" />
<TextView <TextView
android:id="@+id/btn_0" android:id="@+id/btn_0"
...@@ -200,8 +223,8 @@ ...@@ -200,8 +223,8 @@
android:layout_marginTop="@dimen/_30sdp" android:layout_marginTop="@dimen/_30sdp"
android:background="?android:selectableItemBackground" android:background="?android:selectableItemBackground"
android:text="Войти по паролю" android:text="Войти по паролю"
android:textColor="@color/red" android:textColor="@color/primary100"
android:textSize="@dimen/_12sdp" android:textSize="14sp"
android:textStyle="bold" android:textStyle="bold"
android:paddingHorizontal="@dimen/_20sdp" android:paddingHorizontal="@dimen/_20sdp"
android:paddingVertical="@dimen/_10sdp" android:paddingVertical="@dimen/_10sdp"
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"> android:orientation="vertical">
<com.google.android.material.appbar.MaterialToolbar <com.google.android.material.appbar.MaterialToolbar
...@@ -10,8 +11,7 @@ ...@@ -10,8 +11,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:navigationIcon="@drawable/ic_baseline_arrow_back" app:navigationIcon="@drawable/ic_baseline_arrow_back" />
/>
<TextView <TextView
...@@ -20,11 +20,11 @@ ...@@ -20,11 +20,11 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/_12sdp" android:layout_marginStart="@dimen/_12sdp"
android:layout_marginTop="@dimen/_14sdp" android:layout_marginTop="@dimen/_14sdp"
android:text="@string/think_password" android:text="@string/register"
android:textSize="@dimen/_18sdp" android:textSize="30sp"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toTopOf="@id/txt_hint_password" app:layout_constraintBottom_toTopOf="@id/txt_hint_password"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/toolbar" /> app:layout_constraintTop_toBottomOf="@id/toolbar" />
<TextView <TextView
...@@ -32,13 +32,12 @@ ...@@ -32,13 +32,12 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/_12sdp" android:layout_marginStart="@dimen/_12sdp"
android:layout_marginTop="@dimen/_16sdp" android:layout_marginTop="24dp"
android:layout_marginBottom="@dimen/_4sdp"
android:text="@string/enter_parol" android:text="@string/enter_parol"
android:textColor="@color/black" android:textColor="@color/black75"
android:textStyle="bold" android:textSize="15sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toTopOf="@id/layout_input_password" app:layout_constraintBottom_toTopOf="@id/layout_input_password"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/txt_enter_phone" /> app:layout_constraintTop_toBottomOf="@id/txt_enter_phone" />
<com.google.android.material.textfield.TextInputLayout <com.google.android.material.textfield.TextInputLayout
...@@ -47,7 +46,6 @@ ...@@ -47,7 +46,6 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/_12sdp" android:layout_marginStart="@dimen/_12sdp"
android:layout_marginEnd="@dimen/_12sdp" android:layout_marginEnd="@dimen/_12sdp"
android:layout_marginBottom="@dimen/_140sdp"
app:endIconMode="password_toggle" app:endIconMode="password_toggle"
app:layout_constraintBottom_toTopOf="@id/txt_hint_confirm" app:layout_constraintBottom_toTopOf="@id/txt_hint_confirm"
app:layout_constraintTop_toBottomOf="@id/txt_hint_password"> app:layout_constraintTop_toBottomOf="@id/txt_hint_password">
...@@ -56,24 +54,24 @@ ...@@ -56,24 +54,24 @@
android:id="@+id/input_password" android:id="@+id/input_password"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@drawable/edit_text_bgn" android:background="@drawable/edit_text_unchecked"
android:imeOptions="actionNext" android:imeOptions="actionNext"
android:textSize="@dimen/_12sdp"
android:inputType="numberPassword" android:inputType="numberPassword"
android:maxLength="7" android:maxLength="7"
android:paddingVertical="@dimen/_12sdp" android:paddingVertical="@dimen/_12sdp"
android:paddingStart="@dimen/_12sdp" /> android:paddingStart="@dimen/_12sdp"
android:textSize="@dimen/_12sdp" />
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
<TextView <TextView
android:id="@+id/txt_check_password" android:id="@+id/txt_check_password"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_6sdp" android:layout_marginTop="6dp"
android:visibility="invisible"
android:text="@string/min_6" android:text="@string/min_6"
android:textColor="@color/light" android:textColor="@color/grey110"
android:textStyle="bold" android:textSize="14sp"
android:visibility="visible"
app:layout_constraintStart_toStartOf="@id/layout_input_confirm" app:layout_constraintStart_toStartOf="@id/layout_input_confirm"
app:layout_constraintTop_toBottomOf="@id/layout_input_password" /> app:layout_constraintTop_toBottomOf="@id/layout_input_password" />
...@@ -81,11 +79,10 @@ ...@@ -81,11 +79,10 @@
android:id="@+id/txt_hint_confirm" android:id="@+id/txt_hint_confirm"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_34sdp" android:layout_marginTop="46dp"
android:layout_marginBottom="@dimen/_4sdp"
android:text="@string/confirm_parol" android:text="@string/confirm_parol"
android:textColor="@color/black" android:textColor="@color/black75"
android:textStyle="bold" android:textSize="16sp"
app:layout_constraintStart_toStartOf="@id/layout_input_confirm" app:layout_constraintStart_toStartOf="@id/layout_input_confirm"
app:layout_constraintTop_toBottomOf="@id/layout_input_password" /> app:layout_constraintTop_toBottomOf="@id/layout_input_password" />
...@@ -102,36 +99,35 @@ ...@@ -102,36 +99,35 @@
android:id="@+id/input_confirm" android:id="@+id/input_confirm"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@drawable/edit_text_bgn" android:background="@drawable/edit_text_unchecked"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:textSize="@dimen/_12sdp"
android:inputType="numberPassword" android:inputType="numberPassword"
android:maxLength="7" android:maxLength="7"
android:paddingVertical="@dimen/_12sdp" android:paddingVertical="@dimen/_12sdp"
android:paddingStart="@dimen/_12sdp" android:paddingStart="@dimen/_12sdp"
/> android:textSize="@dimen/_12sdp" />
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
<ImageView <ImageView
android:id="@+id/image_check" android:id="@+id/image_check"
android:layout_width="wrap_content" android:layout_width="wrap_content"
app:layout_constraintStart_toStartOf="@id/layout_input_confirm" android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="@id/txt_check_confirm" android:layout_marginEnd="@dimen/_6sdp"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="@id/txt_check_confirm"
android:src="@drawable/ic_vector_error" android:src="@drawable/ic_vector_error"
android:layout_height="wrap_content"/> android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/txt_check_confirm"
app:layout_constraintStart_toStartOf="@id/layout_input_confirm"
app:layout_constraintTop_toTopOf="@id/txt_check_confirm" />
<TextView <TextView
android:id="@+id/txt_check_confirm" android:id="@+id/txt_check_confirm"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_10sdp" android:layout_marginTop="@dimen/_6sdp"
android:text="@string/must_same" android:text="@string/must_same"
android:textColor="@color/light" android:textColor="@color/grey110"
android:textStyle="bold" android:visibility="visible"
android:visibility="invisible" android:textSize="14sp"
android:layout_marginStart="@dimen/_6sdp"
app:layout_constraintStart_toEndOf="@id/image_check" app:layout_constraintStart_toEndOf="@id/image_check"
app:layout_constraintTop_toBottomOf="@id/layout_input_confirm" /> app:layout_constraintTop_toBottomOf="@id/layout_input_confirm" />
...@@ -139,27 +135,42 @@ ...@@ -139,27 +135,42 @@
android:id="@+id/txt_helper_mobiuz" android:id="@+id/txt_helper_mobiuz"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="@dimen/_6sdp" android:layout_marginHorizontal="@dimen/_10sdp"
android:layout_marginTop="24dp"
android:textSize="14sp"
android:textColorLink="@color/primary100"
android:text="@string/helper_mobiuz" android:text="@string/helper_mobiuz"
android:background="?android:selectableItemBackground" android:textColor="@color/black100"
android:textColor="@color/light_dark"
android:textStyle="bold" android:textStyle="bold"
android:layout_marginTop="@dimen/_6sdp"
android:layout_marginHorizontal="@dimen/_10sdp"
app:layout_constraintStart_toStartOf="@id/layout_input_password" app:layout_constraintStart_toStartOf="@id/layout_input_password"
app:layout_constraintTop_toBottomOf="@id/txt_check_confirm" /> app:layout_constraintTop_toBottomOf="@id/txt_check_confirm" />
<Button <Button
android:id="@+id/btn_login" android:id="@+id/btn_login"
android:layout_width="match_parent" android:layout_width="match_parent"
android:enabled="false"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="bottom" android:layout_gravity="bottom"
android:textSize="@dimen/_12sdp" android:layout_marginTop="30dp"
android:layout_marginBottom="@dimen/_20sdp"
android:layout_marginHorizontal="@dimen/_12sdp" android:layout_marginHorizontal="@dimen/_12sdp"
android:layout_marginTop="@dimen/_34sdp" android:enabled="false"
android:text="@string/continuoue" android:text="@string/continuoue"
app:layout_constraintTop_toBottomOf="@id/layout_input_confirm" android:textSize="@dimen/_12sdp"
app:layout_constraintBottom_toBottomOf="parent" /> app:layout_constraintTop_toBottomOf="@id/txt_helper_mobiuz" />
<TextView
android:id="@+id/txt_agree"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/_10sdp"
android:layout_marginTop="29dp"
android:textSize="13sp"
android:textColorLink="@color/primary100"
android:text="By signing up, you're agree to our
\nTerms of Use and Privacy Policy"
android:textColor="@color/grey80"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/btn_login" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:textColor="@color/red" android:textColor="@color/primary100"
android:text="mobiuz" android:text="mobiuz"
android:textStyle="bold" android:textStyle="bold"
android:textSize="24sp" android:textSize="24sp"
...@@ -18,12 +18,11 @@ ...@@ -18,12 +18,11 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:textColor="@color/black_80" android:textColor="@color/black80"
android:maxWidth="@dimen/_150sdp" android:maxWidth="@dimen/_150sdp"
android:layout_marginTop="6dp" android:layout_marginTop="6dp"
android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Dui, risus" android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Dui, risus"
android:textStyle="bold" android:textSize="10sp"
android:textSize="14sp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:layout_height="wrap_content"/> android:layout_height="wrap_content"/>
...@@ -35,15 +34,16 @@ ...@@ -35,15 +34,16 @@
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:paddingHorizontal="12dp" android:paddingHorizontal="16dp"
android:paddingVertical="10dp" android:paddingVertical="8dp"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:textColor="@color/red" android:textColor="@color/primary100"
android:text="Узнать больше" android:text="Узнать больше"
android:textStyle="bold" android:textStyle="bold"
android:textSize="12sp"
android:layout_height="wrap_content"/> android:layout_height="wrap_content"/>
<ImageView <ImageView
......
...@@ -4,10 +4,10 @@ ...@@ -4,10 +4,10 @@
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<ImageView <ImageView
android:layout_width="@dimen/_8sdp" android:layout_width="@dimen/_12sdp"
android:id="@+id/image_pin" android:id="@+id/image_pin"
android:layout_marginHorizontal="@dimen/_4sdp" android:layout_marginHorizontal="@dimen/_4sdp"
android:background="@drawable/bgn_pin_btn" android:background="@drawable/bgn_pin_btn"
android:layout_height="@dimen/_8sdp"/> android:layout_height="@dimen/_12sdp"/>
</FrameLayout> </FrameLayout>
\ No newline at end of file
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_marginTop="32dp" android:layout_marginTop="32dp"
android:background="@color/light" android:background="@color/grey20"
android:layout_height="1dp"/> android:layout_height="1dp"/>
<LinearLayout <LinearLayout
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
app:cornerRadius="24dp" /> app:cornerRadius="24dp" />
<View <View
android:layout_width="1dp" android:layout_width="1dp"
android:background="@color/light" android:background="@color/grey20"
android:layout_height="match_parent"/> android:layout_height="match_parent"/>
<TextView <TextView
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:paddingHorizontal="@dimen/_12sdp"
android:layout_height="match_parent">
<ImageView
android:layout_width="84dp"
android:src="@drawable/ic_user"
android:layout_marginTop="@dimen/_24sdp"
android:layout_height="84dp"/>
<TextView
android:layout_width="wrap_content"
android:id="@+id/txt_user_name"
android:textStyle="bold"
android:textSize="20sp"
android:layout_marginTop="12dp"
android:text="Юлия Шевченко "
android:layout_height="wrap_content"/>
<TextView
android:layout_width="wrap_content"
android:id="@+id/txt_user_phone"
android:textSize="14sp"
android:layout_marginTop="4dp"
android:text="+998 97 999-99-99"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="wrap_content"
android:id="@+id/txt_profile"
android:text="Профиль"
android:layout_marginTop="8dp"
android:textSize="14sp"
android:textColor="@color/primary100"
android:layout_height="wrap_content"/>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.motion.widget.MotionLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:layoutDescription="@xml/home_motion_scene"
android:layout_height="match_parent">
</androidx.constraintlayout.motion.widget.MotionLayout>
\ No newline at end of file
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
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/nav_graph_auth" android:id="@+id/nav_graph_auth"
app:startDestination="@id/checkPhoneFragment"> app:startDestination="@id/myVerificationFragment">
<fragment <fragment
android:id="@+id/checkPhoneFragment" android:id="@+id/checkPhoneFragment"
...@@ -12,11 +12,6 @@ ...@@ -12,11 +12,6 @@
tools:layout="@layout/fragment_check_phone" /> tools:layout="@layout/fragment_check_phone" />
<fragment <fragment
android:id="@+id/verificationFragment"
android:name="com.mobiuz.app.dev.ui.auth.verification.VerificationFragment"
android:label="fragment_verification"
tools:layout="@layout/fragment_verification" />
<fragment
android:id="@+id/registerFragment" android:id="@+id/registerFragment"
android:name="com.mobiuz.app.dev.ui.auth.register.RegisterFragment" android:name="com.mobiuz.app.dev.ui.auth.register.RegisterFragment"
android:label="EnterPasswordFragment" android:label="EnterPasswordFragment"
...@@ -43,4 +38,8 @@ ...@@ -43,4 +38,8 @@
android:name="com.mobiuz.app.dev.ui.auth.pin.ConfirmPinFragment" android:name="com.mobiuz.app.dev.ui.auth.pin.ConfirmPinFragment"
android:label="ConfirmPinFragment" android:label="ConfirmPinFragment"
tools:layout="@layout/fragment_pin" /> tools:layout="@layout/fragment_pin" />
<fragment
android:id="@+id/myVerificationFragment"
android:name="com.mobiuz.app.dev.ui.auth.verification.MyVerificationFragment"
android:label="MyVerificationFragment" />
</navigation> </navigation>
\ No newline at end of file
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<string name="continuoue">Далее</string> <string name="continuoue">Далее</string>
<string name="think_password">Придумайте пароль</string> <string name="think_password">Придумайте пароль</string>
<string name="enter">Войти</string> <string name="enter">Войти</string>
<string name="enter_verification">"Ведите код "</string> <string name="enter_verification">Ведите код \nподтверждения</string>
<string name="sent_code_again">Sent code again</string> <string name="sent_code_again">Sent code again</string>
<string name="install_pin">Установите PIN-код</string> <string name="install_pin">Установите PIN-код</string>
<string name="confirm_pin">Повторите этот PIN-код</string> <string name="confirm_pin">Повторите этот PIN-код</string>
...@@ -52,4 +52,23 @@ ...@@ -52,4 +52,23 @@
<string name="remove">remove</string> <string name="remove">remove</string>
<string name="password_same">Пароли совпали</string> <string name="password_same">Пароли совпали</string>
<string name="password_not_same">Пароли не совпали</string> <string name="password_not_same">Пароли не совпали</string>
<string name="enter_pin_code">Введите PIN-код</string>
<string name="exit">Exit</string>
<string name="are_you_sure">Do you want to exit?</string>
<string name="no">No</string>
<string name="yes">Yes</string>
<string name="successfully">Successfully</string>
<string name="ok">Ok</string>
<string name="helper_mobiuz">Для входа вы можете использовать пароль от интернет-помощника www.mobi.uz</string>
<string name="error_data">Error</string>
<string name="password_successfully_updated">Password successfully updated</string>
<string name="enter_from_finger_or_face">Вход в приложение по отпечатку пальца или лицу</string>
<string name="cancel">Cancel</string>
<string name="my_tarif">My tarif</string>
<string name="bezopasnost">Безопасность</string>
<string name="language_app">Язык приложени</string>
<string name="support">Служба поддержки</string>
<string name="tx1">Согласие на обработку данных</string>
<string name="tx2">Публичная оферта</string>
<string name="tx3">Политика конфиденциальности</string>
</resources> </resources>
\ No newline at end of file
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<string name="phone">Телефон:</string> <string name="phone">Телефон:</string>
<string name="think_password">Придумайте пароль</string> <string name="think_password">Придумайте пароль</string>
<string name="enter">Войти</string> <string name="enter">Войти</string>
<string name="enter_verification">"Ведите код "</string> <string name="enter_verification">Ведите код \nподтверждения</string>
<string name="sent_code_again">Sent code again</string> <string name="sent_code_again">Sent code again</string>
<string name="install_pin">Установите PIN-код</string> <string name="install_pin">Установите PIN-код</string>
<string name="confirm_pin">Повторите этот PIN-код</string> <string name="confirm_pin">Повторите этот PIN-код</string>
...@@ -52,4 +52,23 @@ ...@@ -52,4 +52,23 @@
<string name="remove">remove</string> <string name="remove">remove</string>
<string name="password_same">Пароли совпали</string> <string name="password_same">Пароли совпали</string>
<string name="password_not_same">Пароли не совпали</string> <string name="password_not_same">Пароли не совпали</string>
<string name="enter_pin_code">Введите PIN-код</string>
<string name="exit">Exit</string>
<string name="are_you_sure">Do you want to exit?</string>
<string name="no">No</string>
<string name="yes">Yes</string>
<string name="successfully">Successfully</string>
<string name="ok">Ok</string>
<string name="helper_mobiuz">Для входа вы можете использовать пароль от интернет-помощника www.mobi.uz</string>
<string name="error_data">Error</string>
<string name="password_successfully_updated">Password successfully updated</string>
<string name="enter_from_finger_or_face">Вход в приложение по отпечатку пальца или лицу</string>
<string name="cancel">Cancel</string>
<string name="my_tarif">My tarif</string>
<string name="bezopasnost">Безопасность</string>
<string name="language_app">Язык приложени</string>
<string name="support">Служба поддержки</string>
<string name="tx1">Согласие на обработку данных</string>
<string name="tx2">Публичная оферта</string>
<string name="tx3">Политика конфиденциальности</string>
</resources> </resources>
\ No newline at end of file
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<string name="phone">Телефон:</string> <string name="phone">Телефон:</string>
<string name="think_password">Придумайте пароль</string> <string name="think_password">Придумайте пароль</string>
<string name="enter">Войти</string> <string name="enter">Войти</string>
<string name="enter_verification">"Ведите код "</string> <string name="enter_verification">Ведите код \nподтверждения</string>
<string name="sent_code_again">Sent code again</string> <string name="sent_code_again">Sent code again</string>
<string name="install_pin">Установите PIN-код</string> <string name="install_pin">Установите PIN-код</string>
<string name="confirm_pin">Повторите этот PIN-код</string> <string name="confirm_pin">Повторите этот PIN-код</string>
...@@ -52,4 +52,23 @@ ...@@ -52,4 +52,23 @@
<string name="remove">remove</string> <string name="remove">remove</string>
<string name="password_same">Пароли совпали</string> <string name="password_same">Пароли совпали</string>
<string name="password_not_same">Пароли не совпали</string> <string name="password_not_same">Пароли не совпали</string>
<string name="enter_pin_code">Введите PIN-код</string>
<string name="exit">Exit</string>
<string name="are_you_sure">Do you want to exit?</string>
<string name="no">No</string>
<string name="yes">Yes</string>
<string name="successfully">Successfully</string>
<string name="ok">Ok</string>
<string name="helper_mobiuz">Для входа вы можете использовать пароль от интернет-помощника www.mobi.uz</string>
<string name="error_data">Error</string>
<string name="password_successfully_updated">Password successfully updated</string>
<string name="enter_from_finger_or_face">Вход в приложение по отпечатку пальца или лицу</string>
<string name="cancel">Cancel</string>
<string name="my_tarif">My tarif</string>
<string name="bezopasnost">Безопасность</string>
<string name="language_app">Язык приложени</string>
<string name="support">Служба поддержки</string>
<string name="tx1">Согласие на обработку данных</string>
<string name="tx2">Публичная оферта</string>
<string name="tx3">Политика конфиденциальности</string>
</resources> </resources>
\ No newline at end of file
...@@ -7,14 +7,25 @@ ...@@ -7,14 +7,25 @@
<color name="teal_700">#FF018786</color> <color name="teal_700">#FF018786</color>
<color name="black">#FF000000</color> <color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color> <color name="white">#FFFFFFFF</color>
<color name="red_dark">#981419</color>
<color name="red">#E62229</color> <color name="green100">#23B91B</color>
<color name="green">#23B91B</color> <color name="white100">#FFFFFF</color>
<color name="red_disabled">#F4CDCE</color>
<color name="lang_bgn">#F1F1F1</color> <color name="black100">#202020</color>
<color name="lang_bgn_dark">#B6B4B4</color> <color name="black80">#363636</color>
<color name="light">#B6B6B6</color> <color name="black75">#404040</color>
<color name="light_dark">#1C1C1E</color>
<color name="text_color_77">#777777</color> <color name="grey100">#969A97</color>
<color name="black_80">#CC000000</color> <color name="grey110">#717472</color>
<color name="grey80">#B6B6B6</color>
<color name="grey70">#C6BFBA</color>
<color name="grey30">#E7E1DD</color>
<color name="grey20">#F1F1F1</color>
<color name="primary100">#E62229</color>
<color name="primary110">#D0151C</color>
<color name="primary70">#F15D63</color>
<color name="primary30">#F4CDCE</color>
<color name="primary25">#FDE9EA</color>
</resources> </resources>
\ No newline at end of file
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<string name="connect_exception">Internet yo\'q</string> <string name="connect_exception">Internet yo\'q</string>
<string name="ex_nothing">Неизвестная ошибка</string> <string name="ex_nothing">Неизвестная ошибка</string>
<string name="home_fragment" translatable="false">This is home page</string> <string name="home_fragment" translatable="false">This is home page</string>
<string name="register">Registration</string> <string name="register">Регистрация</string>
<string name="password">Password</string> <string name="password">Password</string>
<string name="choose_lang">Tilni tanlang</string> <string name="choose_lang">Tilni tanlang</string>
<string name="uzbek" translatable="false">O\'zbek</string> <string name="uzbek" translatable="false">O\'zbek</string>
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
<string name="change_all_time">Измените это в любое время в настройках</string> <string name="change_all_time">Измените это в любое время в настройках</string>
<string name="skip">Пропустить</string> <string name="skip">Пропустить</string>
<string name="enter_parol">Введите пароль:</string> <string name="enter_parol">Введите пароль:</string>
<string name="min_6">Должно быть не менее 6 символов</string> <string name="min_6">Должно быть не менее 4 символов</string>
<string name="confirm_parol">Введите пароль повторно:</string> <string name="confirm_parol">Введите пароль повторно:</string>
<string name="must_same">Пароли должны совпадать</string> <string name="must_same">Пароли должны совпадать</string>
<string name="my_number">Мой номер</string> <string name="my_number">Мой номер</string>
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
<string name="remove">remove</string> <string name="remove">remove</string>
<string name="password_same">Пароли совпали</string> <string name="password_same">Пароли совпали</string>
<string name="password_not_same">Пароли не совпали</string> <string name="password_not_same">Пароли не совпали</string>
<string name="enter_pin_code">Enter pin code</string> <string name="enter_pin_code">Введите PIN-код</string>
<string name="exit">Exit</string> <string name="exit">Exit</string>
<string name="are_you_sure">Do you want to exit?</string> <string name="are_you_sure">Do you want to exit?</string>
<string name="no">No</string> <string name="no">No</string>
...@@ -77,5 +77,15 @@ ...@@ -77,5 +77,15 @@
<string name="ok">Ok</string> <string name="ok">Ok</string>
<string name="error_data">Error</string> <string name="error_data">Error</string>
<string name="helper_mobiuz">Для входа вы можете использовать пароль от интернет-помощника www.mobi.uz</string> <string name="helper_mobiuz">Для входа вы можете использовать пароль от интернет-помощника www.mobi.uz</string>
<string name="password_successfully_updated">Password successfully updated</string>
<string name="enter_from_finger_or_face">Вход в приложение по отпечатку пальца или лицу</string>
<string name="cancel">Cancel</string>
<string name="my_tarif">My tarif</string>
<string name="bezopasnost">Безопасность</string>
<string name="language_app">Язык приложени</string>
<string name="support">Служба поддержки</string>
<string name="tx1">Согласие на обработку данных</string>
<string name="tx2">Публичная оферта</string>
<string name="tx3">Политика конфиденциальности</string>
</resources> </resources>
\ No newline at end of file
<resources xmlns:tools="http://schemas.android.com/tools"> <resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. --> <!-- Base application theme. -->
<style name="Theme.MobiUzAndroid" parent="Theme.MaterialComponents.DayNight.NoActionBar.Bridge"> <style name="Theme.MobiUzAndroid" parent="Theme.MaterialComponents.Light.NoActionBar.Bridge">
<!-- Primary brand color. --> <!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_500</item> <item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item> <item name="colorPrimaryVariant">@color/purple_700</item>
...@@ -42,7 +42,8 @@ ...@@ -42,7 +42,8 @@
</style> </style>
<style name="ButtonPrimary" parent="Widget.AppCompat.Button"> <style name="ButtonPrimary" parent="Widget.AppCompat.Button">
<item name="android:textColor" tools:ignore="DuplicateDefinition">@color/white</item> <item name="android:textColor">@color/white</item>
<item name="android:textSize">17sp</item>
<item name="android:background">@drawable/button_selector</item> <item name="android:background">@drawable/button_selector</item>
<item name="textAllCaps">false</item> <item name="textAllCaps">false</item>
...@@ -57,18 +58,14 @@ ...@@ -57,18 +58,14 @@
</style> </style>
<style name="BtnStyle"> <style name="BtnStyle">
<item name="android:layout_height">wrap_content</item> <item name="android:layout_height">@dimen/_54sdp</item>
<item name="android:layout_width">wrap_content</item> <item name="android:layout_width">@dimen/_54sdp</item>
<item name="background">@drawable/bgn_pin_btn</item> <item name="background">@drawable/bgn_pin_btn</item>
<item name="android:paddingTop">@dimen/_14sdp</item>
<item name="android:paddingBottom">@dimen/_14sdp</item>
<item name="android:paddingStart">@dimen/_20sdp</item>
<item name="android:paddingEnd">@dimen/_20sdp</item>
<item name="android:clickable">true</item> <item name="android:clickable">true</item>
<item name="android:focusable">true</item> <item name="android:focusable">true</item>
<item name="android:gravity">center</item> <item name="android:gravity">center</item>
<item name="android:textStyle">bold</item> <item name="android:textStyle">bold</item>
<item name="android:textSize">20sp</item> <item name="android:textSize">24sp</item>
</style> </style>
<style name="PinStyle"> <style name="PinStyle">
...@@ -84,7 +81,7 @@ ...@@ -84,7 +81,7 @@
<item name="android:textColorHint">@color/black</item> <item name="android:textColorHint">@color/black</item>
<item name="android:gravity">center</item> <item name="android:gravity">center</item>
<item name="android:textStyle">bold</item> <item name="android:textStyle">bold</item>
<item name="android:textSize">18sp</item> <item name="android:textSize">20sp</item>
<item name="android:maxLength">1</item> <item name="android:maxLength">1</item>
</style> </style>
......
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