Commit 9aa658e5 authored by shohboz's avatar shohboz

[UPD] MUS-261 Feature, updated block on ussd screen and app icon change and splash background

parent 64867620
......@@ -16,10 +16,10 @@
android:name=".app.App"
android:allowBackup="true"
android:hardwareAccelerated="true"
android:icon="@mipmap/ic_launcher"
android:icon="@drawable/icon_mobi"
android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_security_config"
android:roundIcon="@mipmap/ic_launcher"
android:roundIcon="@drawable/icon_mobi"
android:supportsRtl="true"
android:theme="@style/Theme.MobiUzAndroid"
android:usesCleartextTraffic="true"
......@@ -44,25 +44,21 @@
<activity
android:name=".LanguageActivity"
android:configChanges="orientation"
android:exported="false"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" />
<activity
android:name=".OfflineActivity"
android:configChanges="orientation"
android:exported="false"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" />
<activity
android:name=".MainActivity"
android:configChanges="orientation"
android:exported="false"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" />
<activity
android:name=".ui.auth.AuthActivity"
android:configChanges="orientation"
android:exported="false"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" />
......
......@@ -112,6 +112,46 @@ class MainActivity : AppCompatActivity() {
}
private fun navigateUri(link: String) {
val uri = Uri.parse(link)
val intent = Intent(Intent.ACTION_VIEW)
intent.data = uri
startActivity(intent)
pref.isShowPin = false
}
override fun onStop() {
super.onStop()
pref.blockedTime = System.currentTimeMillis()
bn.drawerLayout.closeDrawer(GravityCompat.START)
}
override fun onResume() {
super.onResume()
customLog("main activity onResume")
if (!isFirstRunning) {
if (pref.isShowPin) {
showPinCode()
} else {
pref.isShowPin = true
}
}
isFirstRunning = false
}
private fun showPinCode() {
if (pref.blockedTime < System.currentTimeMillis() - CONSTANTS.BLOCKED_TIME) {
if (currentNavController?.value?.currentDestination?.id != R.id.pinFragment) {
currentNavController?.value?.navigate(R.id.pinFragment, bundleOf(CONSTANTS.TYPE_PIN to CONSTANTS.TYPE_AFTER))
}
}
}
private fun setUpUI() {
bn.apply {
......@@ -183,46 +223,7 @@ class MainActivity : AppCompatActivity() {
}
}
private fun navigateUri(link: String) {
val uri = Uri.parse(link)
val intent = Intent(Intent.ACTION_VIEW)
intent.data = uri
startActivity(intent)
pref.isShowPin = false
}
override fun onStop() {
super.onStop()
pref.blockedTime = System.currentTimeMillis()
bn.drawerLayout.closeDrawer(GravityCompat.START)
}
override fun onResume() {
super.onResume()
customLog("main activity onResume")
if (!isFirstRunning) {
if (pref.isShowPin) {
showPinCode()
} else {
pref.blockedTime = System.currentTimeMillis()
pref.isShowPin = true
}
}
isFirstRunning = false
}
private fun showPinCode() {
if (pref.blockedTime < System.currentTimeMillis() - CONSTANTS.BLOCKED_TIME) {
if (currentNavController?.value?.currentDestination?.id != R.id.pinFragment &&
currentNavController?.value?.currentDestination?.id != R.id.ussdFragment
) {
currentNavController?.value?.navigate(R.id.pinFragment, bundleOf(CONSTANTS.TYPE_PIN to CONSTANTS.TYPE_AFTER))
}
}
}
private fun navigateToSettingsScreen(@IdRes resId: Int) {
......
......@@ -27,7 +27,6 @@ class OfflineActivity : AppCompatActivity() {
private var _bn: ActivityOfflineBinding? = null
private val bn get() = _bn ?: throw NullPointerException("cannot inflate")
private lateinit var adapter: ServicesAdapter
private lateinit var navController: NavController
private lateinit var receiver: BroadcastReceiver
private val intentFilter = IntentFilter()
......@@ -44,10 +43,6 @@ class OfflineActivity : AppCompatActivity() {
_bn = ActivityOfflineBinding.inflate(layoutInflater)
setContentView(bn.root)
adapter = ServicesAdapter(pref.language)
pref.isShowPin = false
val fragment = supportFragmentManager.findFragmentById(R.id.offline_container) as NavHostFragment
navController = NavHostFragment.findNavController(fragment)
navController.popBackStack()
......
......@@ -76,6 +76,7 @@ class SplashActivity : AppCompatActivity() {
when (it) {
is UiStateObject.SUCCESS -> {
bn.btnTryAgain.isVisible = false
delay(800)
navigate()
}
is UiStateObject.ERROR -> {
......
......@@ -23,6 +23,7 @@ class App : MultiDexApplication() {
override fun onCreate() {
super.onCreate()
INSTANCE = this
initToothpick()
initAppScope()
initLogger()
......@@ -62,4 +63,8 @@ class App : MultiDexApplication() {
val serverScope = Toothpick.openScopes(DI.APP_SCOPE, DI.SERVER_SCOPE)
serverScope.installModules(ServerModule())
}
companion object{
lateinit var INSTANCE: App
}
}
\ No newline at end of file
package uz.mobiuz.mobiservice.dev.model
import uz.mobiuz.mobiservice.dev.app.App
import uz.mobiuz.mobiservice.dev.ui.global.CONSTANTS
data class ServiceData (
val id:Int,
val title:Translate,
......@@ -12,7 +15,13 @@ data class Translate(
val ru:String,
val en:String
){
fun getTranslated():String{
return when (SharedPref(App.INSTANCE).language) {
CONSTANTS.EN -> this.en
CONSTANTS.RU -> this.ru
else -> this.uz
}
}
}
data class InnerData(
......@@ -24,6 +33,4 @@ data class UssdData(
val title:Translate,
val short_description:Translate,
val code: String,
val limit: Int,
)
\ No newline at end of file
val limit: Int)
\ No newline at end of file
......@@ -23,11 +23,10 @@ class SendUssdFragment : BaseFragment(R.layout.fragment_send_ussd) {
private lateinit var mainViewModel: MainViewModel
private var _bn: FragmentSendUssdBinding? = null
private val bn get() = _bn ?: throw NullPointerException("cannot inflate")
private lateinit var adapter : UssdAdapter
private val adapter = UssdAdapter()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
adapter = UssdAdapter(pref.language)
mainViewModel = ViewModelProvider(requireActivity())[MainViewModel::class.java]
arguments?.let {
val arg = it.getString(CONSTANTS.SERVICE) ?: ""
......
......@@ -9,9 +9,8 @@ import uz.mobiuz.mobiservice.dev.databinding.ItemServiceBinding
import uz.mobiuz.mobiservice.dev.model.ServiceData
import uz.mobiuz.mobiservice.dev.ui.global.ButtonClick
import uz.mobiuz.mobiservice.dev.utils.extensions.SingleBlock
import uz.mobiuz.mobiservice.dev.utils.extensions.getCurrentName
class ServicesAdapter(val lang: String) : RecyclerView.Adapter<ServicesAdapter.VHolder>() {
class ServicesAdapter : RecyclerView.Adapter<ServicesAdapter.VHolder>() {
private val list: ArrayList<ServiceData> by lazy { ArrayList() }
private var listener: SingleBlock<ServiceData>? = null
......@@ -28,8 +27,8 @@ class ServicesAdapter(val lang: String) : RecyclerView.Adapter<ServicesAdapter.V
val d = list[position]
binding.apply {
txtTitle.text = d.title.getCurrentName(lang)
val des = d.short_description.getCurrentName(lang)
txtTitle.text = d.title.getTranslated()
val des = d.short_description.getTranslated()
txtDescription.text = des
txtDescription.isVisible = des.isNotEmpty()
cardView.setOnClickListener(object : ButtonClick() {
......
......@@ -27,14 +27,13 @@ class ServicesFragment : BaseFragment(R.layout.fragment_services) {
private lateinit var mainViewModel: MainViewModel
private var _bn: FragmentServicesBinding? = null
private val bn get() = _bn ?: throw NullPointerException("cannot inflate")
private lateinit var adapter: ServicesAdapter
private val adapter = ServicesAdapter()
private val navController: NavController by lazy(LazyThreadSafetyMode.NONE) { NavHostFragment.findNavController(this) }
private var type = ""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
mainViewModel = ViewModelProvider(requireActivity())[MainViewModel::class.java]
adapter = ServicesAdapter(pref.language)
arguments?.let {
type = it.getString(CONSTANTS.TYPE_SERVICE) ?: ""
......
......@@ -9,9 +9,8 @@ import uz.mobiuz.mobiservice.dev.databinding.ItemActionBinding
import uz.mobiuz.mobiservice.dev.model.UssdData
import uz.mobiuz.mobiservice.dev.ui.global.ButtonClick
import uz.mobiuz.mobiservice.dev.utils.extensions.SingleBlock
import uz.mobiuz.mobiservice.dev.utils.extensions.getCurrentName
class UssdAdapter(val lang: String) : RecyclerView.Adapter<UssdAdapter.VHolder>() {
class UssdAdapter : RecyclerView.Adapter<UssdAdapter.VHolder>() {
private val list: ArrayList<UssdData> by lazy { ArrayList() }
private var listener: SingleBlock<UssdData>? = null
......@@ -27,8 +26,8 @@ class UssdAdapter(val lang: String) : RecyclerView.Adapter<UssdAdapter.VHolder>(
fun bind(position: Int) {
val d = list[position]
binding.apply {
title.text = d.title.getCurrentName(lang)
val des = d.short_description.getCurrentName(lang)
title.text = d.title.getTranslated()
val des = d.short_description.getTranslated()
description.text = des
description.isVisible = des.isNotEmpty()
code.text = d.code
......
......@@ -9,13 +9,17 @@ import android.view.View
import android.view.ViewGroup
import androidx.core.view.isVisible
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.Job
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import uz.mobiuz.mobiservice.dev.databinding.BottomSheetUssdBinding
import uz.mobiuz.mobiservice.dev.model.SharedPref
import uz.mobiuz.mobiservice.dev.model.UssdData
import uz.mobiuz.mobiservice.dev.ui.global.ButtonClick
import uz.mobiuz.mobiservice.dev.ui.global.CONSTANTS
import uz.mobiuz.mobiservice.dev.utils.extensions.checkPermission
import uz.mobiuz.mobiservice.dev.utils.extensions.getCurrentName
import dagger.hilt.android.AndroidEntryPoint
import uz.mobiuz.mobiservice.dev.utils.extensions.customLog
import javax.inject.Inject
......@@ -26,7 +30,8 @@ class UssdBottomSheetDialog(val data: UssdData) : BottomSheetDialogFragment() {
lateinit var pref: SharedPref
private var _bn: BottomSheetUssdBinding? = null
private val bn get() = _bn ?: throw NullPointerException("cannot inflate")
private var lng = ""
private var job: Job? = null
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
_bn = BottomSheetUssdBinding.inflate(inflater)
......@@ -40,10 +45,9 @@ class UssdBottomSheetDialog(val data: UssdData) : BottomSheetDialogFragment() {
private fun setUpUI() {
bn.apply {
lng = pref.language
data.apply {
txtTitle.text = this.title.getCurrentName(lng)
val dec = this.short_description.getCurrentName(lng)
txtTitle.text = this.title.getTranslated()
val dec = this.short_description.getTranslated()
txtDescription.isVisible = dec.isNotEmpty()
txtDescription.text = dec
txtCode.text = this.code
......@@ -53,19 +57,19 @@ class UssdBottomSheetDialog(val data: UssdData) : BottomSheetDialogFragment() {
pref.isShowPin = false
checkPermission(Manifest.permission.CALL_PHONE) {
try {
pref.blockedTime = System.currentTimeMillis()
pref.isShowPin = false
var ussd = ""
data.code.forEach {
if (it == '#') ussd += Uri.encode("#")
else ussd += it
}
val intent = Intent(Intent.ACTION_CALL, Uri.parse("tel:$ussd"))
startActivityForResult(intent, 100)
startActivity(intent)
} catch (e: Exception) {
pref.isShowPin = false
}
pref.blockedTime = System.currentTimeMillis() + CONSTANTS.BLOCKED_TIME
pref.isShowPin = false
dismiss()
}
}
......@@ -73,10 +77,6 @@ class UssdBottomSheetDialog(val data: UssdData) : BottomSheetDialogFragment() {
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
customLog("onActivityResult requestCode:$requestCode")
}
override fun onStart() {
customLog("bottom sheet onStart")
......
......@@ -14,7 +14,6 @@ import uz.mobiuz.mobiservice.dev.model.ServiceData
import uz.mobiuz.mobiservice.dev.model.SharedPref
import uz.mobiuz.mobiservice.dev.ui.base.BaseFragment
import uz.mobiuz.mobiservice.dev.ui.global.CONSTANTS
import uz.mobiuz.mobiservice.dev.utils.extensions.getCurrentName
import dagger.hilt.android.AndroidEntryPoint
import uz.mobiuz.mobiservice.dev.utils.extensions.customLog
import javax.inject.Inject
......@@ -55,7 +54,7 @@ class UssdFragment : BaseFragment(R.layout.fragment_ussd) {
navController.navigateUp()
}
service?.let {
toolbar.title = it.title.getCurrentName(pref.language)
toolbar.title = it.title.getTranslated()
if (it.data.size == 1) {
tabLayout.isVisible = false
}
......@@ -68,7 +67,7 @@ class UssdFragment : BaseFragment(R.layout.fragment_ussd) {
viewPager.adapter = adapter
TabLayoutMediator(bn.tabLayout, bn.viewPager) { tab, pos ->
tab.text = it.data[pos].title.getCurrentName(pref.language)
tab.text = it.data[pos].title.getTranslated()
}.attach()
}
......
......@@ -290,12 +290,4 @@ fun List<Errors>.getMessage(): String {
message += "${it.message}\n"
}
return message
}
fun Translate.getCurrentName(lang: String): String {
return when (lang) {
CONSTANTS.EN -> this.en
CONSTANTS.RU -> this.ru
else -> this.uz
}
}
\ No newline at end of file
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="235dp"
android:height="48dp"
android:viewportWidth="235"
android:viewportHeight="48">
<path
android:pathData="M0.001,14.604H9.453L9.793,18.12C10.797,16.902 12.078,15.888 13.629,15.076C15.182,14.266 17.006,13.86 19.108,13.86C20.386,13.86 21.528,13.994 22.532,14.266C23.535,14.535 24.415,14.886 25.168,15.311C25.923,15.743 26.583,16.216 27.155,16.733C27.725,17.253 28.193,17.759 28.556,18.255C29.883,16.857 31.49,15.776 33.385,15.009C35.282,14.243 37.257,13.86 39.309,13.86C43.42,13.86 46.557,15.009 48.727,17.308C50.895,19.608 51.979,22.742 51.979,26.708V46.318H42.119V28.263C42.119,26.371 41.694,24.905 40.852,23.868C40.007,22.831 38.737,22.313 37.05,22.313C35.132,22.313 33.603,22.968 32.461,24.272C31.322,25.582 30.752,27.249 30.752,29.277V46.318H21.231V28.263C21.231,26.371 20.809,24.905 19.964,23.868C19.119,22.831 17.853,22.313 16.163,22.313C14.29,22.313 12.774,22.968 11.609,24.272C10.443,25.582 9.863,27.249 9.863,29.277V46.318H0.001V14.604V14.604Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M77.725,38.947C78.957,38.947 80.056,38.709 81.011,38.236C81.973,37.762 82.78,37.119 83.444,36.309C84.104,35.497 84.596,34.585 84.915,33.571C85.235,32.555 85.396,31.508 85.396,30.425C85.396,29.345 85.235,28.295 84.915,27.281C84.596,26.267 84.104,25.365 83.444,24.577C82.78,23.788 81.973,23.157 81.011,22.684C80.056,22.209 78.957,21.974 77.725,21.974C76.493,21.974 75.386,22.209 74.404,22.684C73.423,23.157 72.611,23.788 71.972,24.577C71.334,25.365 70.845,26.267 70.501,27.281C70.157,28.295 69.987,29.345 69.987,30.425C69.987,31.508 70.157,32.555 70.501,33.571C70.845,34.585 71.334,35.497 71.972,36.309C72.611,37.119 73.423,37.762 74.404,38.236C75.386,38.709 76.493,38.947 77.725,38.947ZM60.467,30.425C60.467,28.082 60.89,25.883 61.735,23.832C62.578,21.782 63.756,19.99 65.261,18.456C66.768,16.924 68.582,15.716 70.707,14.838C72.83,13.959 75.169,13.52 77.725,13.52C80.282,13.52 82.609,13.959 84.713,14.838C86.811,15.716 88.616,16.924 90.121,18.456C91.629,19.99 92.803,21.782 93.647,23.832C94.492,25.883 94.914,28.082 94.914,30.425C94.914,32.771 94.492,34.969 93.647,37.019C92.803,39.07 91.629,40.865 90.121,42.394C88.616,43.93 86.811,45.146 84.713,46.046C82.609,46.948 80.282,47.399 77.725,47.399C75.169,47.399 72.83,46.948 70.707,46.046C68.582,45.146 66.768,43.93 65.261,42.394C63.756,40.865 62.578,39.07 61.735,37.019C60.89,34.969 60.467,32.771 60.467,30.425Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M113.472,37.994C114.021,38.222 114.624,38.391 115.289,38.503C115.949,38.614 116.873,38.671 118.062,38.671C120.664,38.671 122.684,37.838 124.123,36.171C125.559,34.502 126.279,32.315 126.279,29.611C126.279,28.621 126.153,27.649 125.904,26.704C125.652,25.755 125.275,24.91 124.773,24.169C124.27,23.423 123.62,22.815 122.822,22.341C122.022,21.868 121.051,21.632 119.911,21.632C117.72,21.632 116.098,22.229 115.047,23.423C113.997,24.617 113.472,26.208 113.472,28.188V37.994ZM103.613,0.601H113.472V16.355C114.388,15.41 115.63,14.665 117.207,14.125C118.781,13.584 120.345,13.313 121.896,13.313C124.18,13.313 126.21,13.741 127.991,14.598C129.773,15.455 131.267,16.616 132.478,18.081C133.687,19.546 134.61,21.237 135.251,23.152C135.889,25.069 136.21,27.108 136.21,29.273C136.21,31.843 135.787,34.208 134.942,36.373C134.097,38.536 132.877,40.385 131.281,41.917C129.681,43.451 127.718,44.647 125.388,45.502C123.062,46.357 120.412,46.785 117.447,46.785C114.707,46.785 112.116,46.537 109.672,46.043C107.23,45.547 105.21,45.027 103.613,44.488V0.601V0.601Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M145.18,14.602H155.042V46.318H145.18V14.602Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M165.248,14.602H175.11V32.859C175.11,34.663 175.554,36.085 176.444,37.118C177.335,38.158 178.648,38.676 180.383,38.676C181.387,38.676 182.277,38.485 183.054,38.101C183.828,37.719 184.492,37.211 185.039,36.579C185.587,35.948 186,35.204 186.271,34.348C186.544,33.492 186.682,32.614 186.682,31.71V14.602H196.475V46.317H187.026L186.753,42.936C185.702,44.151 184.32,45.158 182.608,45.946C180.896,46.732 179.104,47.128 177.233,47.128C173.536,47.128 170.612,46.046 168.467,43.883C166.321,41.719 165.248,38.517 165.248,34.281V14.602V14.602Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M205.718,39.758L221.468,22.448H206.404V14.602H233.931V21.298L218.113,38.676H234.001V46.319H205.718V39.758Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M149.931,9.548L144.66,0.601H155.204L149.931,9.548Z"
android:fillColor="#ffffff"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="161dp"
android:height="32dp"
android:viewportWidth="161"
android:viewportHeight="32">
<path
android:pathData="M0,9.575H6.463L6.695,11.979C7.382,11.146 8.258,10.453 9.319,9.898C10.38,9.344 11.627,9.066 13.065,9.066C13.939,9.066 14.72,9.158 15.406,9.344C16.092,9.528 16.694,9.768 17.208,10.059C17.724,10.354 18.176,10.677 18.567,11.031C18.957,11.386 19.277,11.732 19.525,12.072C20.432,11.115 21.531,10.376 22.827,9.852C24.124,9.328 25.475,9.066 26.878,9.066C29.689,9.066 31.834,9.852 33.317,11.424C34.8,12.997 35.541,15.14 35.541,17.851V31.26H28.799V18.915C28.799,17.621 28.509,16.619 27.932,15.91C27.355,15.2 26.486,14.846 25.333,14.846C24.022,14.846 22.976,15.294 22.195,16.186C21.416,17.081 21.026,18.222 21.026,19.608V31.26H14.516V18.915C14.516,17.621 14.228,16.619 13.65,15.91C13.072,15.2 12.207,14.846 11.051,14.846C9.77,14.846 8.734,15.294 7.937,16.186C7.14,17.081 6.743,18.222 6.743,19.608V31.26H0V9.575Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M53.146,26.22C53.989,26.22 54.74,26.058 55.393,25.734C56.05,25.41 56.603,24.971 57.057,24.417C57.508,23.861 57.844,23.238 58.062,22.544C58.281,21.85 58.391,21.134 58.391,20.393C58.391,19.655 58.281,18.937 58.062,18.244C57.844,17.55 57.508,16.934 57.057,16.395C56.603,15.855 56.05,15.423 55.393,15.1C54.74,14.776 53.989,14.615 53.146,14.615C52.303,14.615 51.547,14.776 50.875,15.1C50.204,15.423 49.649,15.855 49.213,16.395C48.776,16.934 48.442,17.55 48.206,18.244C47.971,18.937 47.855,19.655 47.855,20.393C47.855,21.134 47.971,21.85 48.206,22.544C48.442,23.238 48.776,23.861 49.213,24.417C49.649,24.971 50.204,25.41 50.875,25.734C51.547,26.058 52.303,26.22 53.146,26.22ZM41.346,20.393C41.346,18.791 41.634,17.288 42.212,15.885C42.789,14.483 43.594,13.258 44.623,12.209C45.654,11.162 46.894,10.336 48.347,9.735C49.799,9.134 51.398,8.834 53.146,8.834C54.895,8.834 56.486,9.134 57.924,9.735C59.359,10.336 60.593,11.162 61.622,12.209C62.653,13.258 63.456,14.483 64.033,15.885C64.611,17.288 64.9,18.791 64.9,20.393C64.9,21.997 64.611,23.5 64.033,24.902C63.456,26.305 62.653,27.532 61.622,28.577C60.593,29.628 59.359,30.459 57.924,31.075C56.486,31.692 54.895,32 53.146,32C51.398,32 49.799,31.692 48.347,31.075C46.894,30.459 45.654,29.628 44.623,28.577C43.594,27.532 42.789,26.305 42.212,24.902C41.634,23.5 41.346,21.997 41.346,20.393Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M77.59,25.569C77.965,25.725 78.377,25.84 78.831,25.917C79.283,25.993 79.915,26.032 80.728,26.032C82.507,26.032 83.888,25.462 84.872,24.322C85.854,23.181 86.346,21.686 86.346,19.836C86.346,19.159 86.26,18.495 86.09,17.849C85.918,17.2 85.66,16.622 85.317,16.115C84.973,15.606 84.528,15.19 83.982,14.865C83.436,14.542 82.772,14.381 81.992,14.381C80.494,14.381 79.385,14.789 78.666,15.606C77.948,16.422 77.59,17.51 77.59,18.864V25.569ZM70.848,0H77.59V10.773C78.216,10.126 79.065,9.617 80.143,9.248C81.22,8.878 82.289,8.692 83.35,8.692C84.911,8.692 86.299,8.985 87.517,9.571C88.736,10.157 89.757,10.951 90.585,11.953C91.412,12.955 92.043,14.11 92.481,15.42C92.918,16.731 93.137,18.125 93.137,19.606C93.137,21.362 92.848,22.98 92.27,24.46C91.692,25.939 90.858,27.204 89.767,28.251C88.673,29.3 87.33,30.118 85.738,30.703C84.147,31.287 82.335,31.58 80.307,31.58C78.434,31.58 76.662,31.41 74.991,31.073C73.322,30.733 71.94,30.378 70.848,30.009V0Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M99.27,9.574H106.013V31.261H99.27V9.574Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M112.992,9.574H119.736V22.058C119.736,23.292 120.04,24.264 120.648,24.97C121.257,25.681 122.155,26.035 123.342,26.035C124.028,26.035 124.637,25.905 125.168,25.642C125.697,25.381 126.151,25.033 126.525,24.601C126.9,24.17 127.182,23.661 127.368,23.076C127.554,22.491 127.648,21.89 127.648,21.272V9.574H134.345V31.26H127.884L127.697,28.948C126.978,29.779 126.033,30.467 124.863,31.006C123.692,31.544 122.467,31.815 121.187,31.815C118.659,31.815 116.66,31.075 115.194,29.596C113.726,28.116 112.992,25.927 112.992,23.03V9.574Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M140.664,26.775L151.434,14.939H141.133V9.574H159.955V14.153L149.14,26.035H160.004V31.261H140.664V26.775Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M102.518,6.118L98.914,0H106.124L102.518,6.118Z"
android:fillColor="#ffffff"/>
</vector>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="@drawable/bgn_splash"
android:background="@drawable/welcome_page"
android:fitsSystemWindows="false"
android:gravity="center"
android:orientation="vertical"
tools:context=".dev.SplashActivity">
tools:context=".SplashActivity">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="@dimen/_58sdp"
android:src="@drawable/ic_mobiuz_logo"
android:src="@drawable/ic_logo"
android:textStyle="bold" />
<ProgressBar
android:layout_width="wrap_content"
android:id="@+id/progress"
android:visibility="gone"
android:backgroundTint="@color/primary110"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn_try_again"
......@@ -32,6 +25,8 @@
android:layout_marginHorizontal="@dimen/_24sdp"
android:text="@string/btn_try_again"
android:visibility="gone"
android:layout_gravity="center"
android:layout_marginTop="@dimen/_74sdp"
android:textColor="@color/white100" />
</LinearLayout>
\ No newline at end of file
</FrameLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment