Commit 2fed12d2 authored by shohboz's avatar shohboz

[UPD] MUS-261 Feature, block app from 5 secund

parent 23e85d59
...@@ -40,9 +40,10 @@ ...@@ -40,9 +40,10 @@
<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/radius_top.xml" value="0.25416666666666665" /> <entry key="app/src/main/res/drawable/radius_top.xml" value="0.25416666666666665" />
<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.15853658536585366" />
<entry key="app/src/main/res/layout/activity_language.xml" value="0.25" /> <entry key="app/src/main/res/layout/activity_language.xml" value="0.25" />
<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_offline.xml" value="0.244921875" />
<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_services.xml" value="0.25625" /> <entry key="app/src/main/res/layout/activity_services.xml" value="0.25625" />
<entry key="app/src/main/res/layout/activity_services2.xml" value="0.266796875" /> <entry key="app/src/main/res/layout/activity_services2.xml" value="0.266796875" />
...@@ -53,6 +54,7 @@ ...@@ -53,6 +54,7 @@
<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_action.xml" value="0.25625" /> <entry key="app/src/main/res/layout/fragment_action.xml" value="0.25625" />
<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_billing.xml" value="0.25625" />
<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" />
<entry key="app/src/main/res/layout/fragment_blank.xml" value="0.18385416666666668" /> <entry key="app/src/main/res/layout/fragment_blank.xml" value="0.18385416666666668" />
<entry key="app/src/main/res/layout/fragment_change_password.xml" value="0.25625" /> <entry key="app/src/main/res/layout/fragment_change_password.xml" value="0.25625" />
......
...@@ -12,9 +12,9 @@ ...@@ -12,9 +12,9 @@
<application <application
android:name=".dev.app.App" android:name=".dev.app.App"
android:allowBackup="true" android:allowBackup="true"
android:hardwareAccelerated="true"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" android:label="@string/app_name"
android:hardwareAccelerated="true"
android:networkSecurityConfig="@xml/network_security_config" android:networkSecurityConfig="@xml/network_security_config"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" android:supportsRtl="true"
...@@ -44,6 +44,12 @@ ...@@ -44,6 +44,12 @@
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" /> android:windowSoftInputMode="adjustResize" />
<activity <activity
android:name=".dev.OfflineActivity"
android:configChanges="orientation"
android:exported="false"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" />
<activity
android:name=".dev.MainActivity" android:name=".dev.MainActivity"
android:configChanges="orientation" android:configChanges="orientation"
android:exported="false" android:exported="false"
...@@ -55,7 +61,6 @@ ...@@ -55,7 +61,6 @@
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" /> android:windowSoftInputMode="adjustResize" />
</application> </application>
</manifest> </manifest>
\ No newline at end of file
...@@ -165,6 +165,7 @@ class MainActivity : AppCompatActivity() { ...@@ -165,6 +165,7 @@ class MainActivity : AppCompatActivity() {
override fun onStop() { override fun onStop() {
super.onStop() super.onStop()
pref.blockedTime = System.currentTimeMillis()
bn.drawerLayout.closeDrawer(GravityCompat.START) bn.drawerLayout.closeDrawer(GravityCompat.START)
} }
...@@ -183,18 +184,15 @@ class MainActivity : AppCompatActivity() { ...@@ -183,18 +184,15 @@ class MainActivity : AppCompatActivity() {
intent?.let { intent?.let {
val arg = it.getStringExtra(CONSTANTS.FIRST) ?: "" val arg = it.getStringExtra(CONSTANTS.FIRST) ?: ""
if (arg.isEmpty()) { if (arg.isEmpty()) {
val dialog = FullScreenDialog() showFullScreenDialog {
dialog.setOnPinDoneListener {
finish() finish()
pref.clearUserData() pref.clearUserData()
val intent = Intent(this, AuthActivity::class.java) val intent = Intent(this, AuthActivity::class.java)
intent.putExtra(CONSTANTS.TYPE_AUTH, CONSTANTS.LOGIN) intent.putExtra(CONSTANTS.TYPE_AUTH, CONSTANTS.LOGIN)
intent.putExtra(CONSTANTS.PHONE, pref.userPhone) intent.putExtra(CONSTANTS.PHONE, pref.userPhone)
// intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_TASK_ON_HOME
startActivity(intent) startActivity(intent)
dialog.dismiss() it.dismiss()
} }
dialog.show(supportFragmentManager, "tag")
} }
it.removeExtra(CONSTANTS.FIRST) it.removeExtra(CONSTANTS.FIRST)
} }
......
...@@ -79,4 +79,9 @@ class SharedPref @Inject constructor(@ApplicationContext context: Context) { ...@@ -79,4 +79,9 @@ class SharedPref @Inject constructor(@ApplicationContext context: Context) {
mySharedPref.edit().putBoolean(::isShowPin.name, value).apply() mySharedPref.edit().putBoolean(::isShowPin.name, value).apply()
} }
var blockedTime: Long
get() = mySharedPref.getLong(::blockedTime.name, 0)
set(value) {
mySharedPref.edit().putLong(::blockedTime.name, value).apply()
}
} }
\ No newline at end of file
...@@ -32,10 +32,12 @@ object CONSTANTS { ...@@ -32,10 +32,12 @@ object CONSTANTS {
const val PHONE3 = "+998 97 203 10 10" const val PHONE3 = "+998 97 203 10 10"
const val SERVICE = "service" const val SERVICE = "service"
const val TYPE_PASSWORD = "TYPE_PASSWORD" const val TYPE_PASSWORD = "TYPE_PASSWORD"
const val OFFLINE = "offline"
const val CURRENT_PASSWORD = "CURRENT_PASSWORD" const val CURRENT_PASSWORD = "CURRENT_PASSWORD"
const val NEW_PASSWORD = "NEW_PASSWORD" const val NEW_PASSWORD = "NEW_PASSWORD"
const val CONFIRM_NEW_PASSWORD = "CONFIRM_NEW_PASSWORD" const val CONFIRM_NEW_PASSWORD = "CONFIRM_NEW_PASSWORD"
const val DEFAULT_PHONE = "+998 97 999-99-99" const val DEFAULT_PHONE = "+998 97 999-99-99"
const val FULL_SCREEN_DIALOG = "full_screen_dialog"
const val LONGITUDE = 69.2602108116081 const val LONGITUDE = 69.2602108116081
const val LATITUDE = 41.34823322480444 const val LATITUDE = 41.34823322480444
......
...@@ -60,9 +60,7 @@ class HomeFragment : BaseFragment(R.layout.fragment_home) { ...@@ -60,9 +60,7 @@ class HomeFragment : BaseFragment(R.layout.fragment_home) {
bn.apply { bn.apply {
btnAddSum.setOnClickListener { btnAddSum.setOnClickListener {
navController.navigate(R.id.addFragment) navController.navigate(R.id.billingFragment)
// parentFragmentManager.beginTransaction().replace(R.id.nav_host_fragment,AddCardFragment)
// startActivity(Intent(requireContext()))
} }
toolbar.setNavigationOnClickListener { toolbar.setNavigationOnClickListener {
mainViewModel.mainIndex(System.currentTimeMillis()) mainViewModel.mainIndex(System.currentTimeMillis())
......
...@@ -21,10 +21,12 @@ import androidx.recyclerview.widget.RecyclerView ...@@ -21,10 +21,12 @@ import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.textfield.TextInputEditText import com.google.android.material.textfield.TextInputEditText
import com.google.gson.JsonSyntaxException import com.google.gson.JsonSyntaxException
import com.mobiuz.app.R import com.mobiuz.app.R
import com.mobiuz.app.dev.model.SharedPref
import com.mobiuz.app.dev.model.UzRuEn import com.mobiuz.app.dev.model.UzRuEn
import com.mobiuz.app.dev.network.model.Errors import com.mobiuz.app.dev.network.model.Errors
import com.mobiuz.app.dev.ui.global.CONSTANTS import com.mobiuz.app.dev.ui.global.CONSTANTS
import com.mobiuz.app.dev.ui.global.ExitDialog import com.mobiuz.app.dev.ui.global.ExitDialog
import com.mobiuz.app.dev.ui.global.FullScreenDialog
import com.mobiuz.app.dev.ui.global.SenderDialog import com.mobiuz.app.dev.ui.global.SenderDialog
import retrofit2.HttpException import retrofit2.HttpException
import java.io.IOException import java.io.IOException
...@@ -42,6 +44,22 @@ fun Fragment.showCustomDialog(description:String,status:Boolean, block: () -> Un ...@@ -42,6 +44,22 @@ fun Fragment.showCustomDialog(description:String,status:Boolean, block: () -> Un
} }
dialog.show(childFragmentManager,"tab") dialog.show(childFragmentManager,"tab")
} }
fun FragmentActivity.showFullScreenDialog(block: (dialog: FullScreenDialog) -> Unit){
val time = SharedPref(this).blockedTime
if(time < System.currentTimeMillis() - 5000){
val fragment = supportFragmentManager.findFragmentByTag(CONSTANTS.FULL_SCREEN_DIALOG)
if(fragment == null){
val dialog = FullScreenDialog()
dialog.setOnPinDoneListener {
block(dialog)
}
dialog.show(supportFragmentManager,CONSTANTS.FULL_SCREEN_DIALOG)
}
}
}
fun Activity.showMessage(message: String) { fun Activity.showMessage(message: String) {
Toast.makeText(this, message, Toast.LENGTH_SHORT).show() Toast.makeText(this, message, Toast.LENGTH_SHORT).show()
} }
......
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M3,13h8L11,3L3,3v10zM3,21h8v-6L3,15v6zM13,21h8L21,11h-8v10zM13,3v6h8L21,3h-8z" />
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z" />
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.89,2 2,2zM18,16v-5c0,-3.07 -1.64,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.63,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2z" />
</vector>
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
app:defaultNavHost="true" app:defaultNavHost="true"
app:navGraph="@navigation/nav_graph_settings" app:navGraph="@navigation/nav_graph_offline"
tools:context=".dev.ui.auth.AuthActivity"/> tools:context=".dev.ui.auth.AuthActivity"/>
</LinearLayout> </LinearLayout>
...@@ -11,13 +11,6 @@ ...@@ -11,13 +11,6 @@
android:label="fragment_home" android:label="fragment_home"
tools:layout="@layout/fragment_home" /> tools:layout="@layout/fragment_home" />
<fragment
android:id="@+id/addFragment"
android:name="uz.agr.delta.ui.card.add.AddCardFragment"
android:label="fragment_add"
tools:layout="@layout/agr_fragment_add_card" />
<fragment <fragment
android:id="@+id/languageFragment" android:id="@+id/languageFragment"
...@@ -56,5 +49,10 @@ ...@@ -56,5 +49,10 @@
android:id="@+id/confirmNewPinFragment" android:id="@+id/confirmNewPinFragment"
android:name="com.mobiuz.app.dev.ui.settings.safety.pin.ConfirmNewPinFragment" android:name="com.mobiuz.app.dev.ui.settings.safety.pin.ConfirmNewPinFragment"
android:label="ConfirmNewPinFragment" /> android:label="ConfirmNewPinFragment" />
<fragment
android:id="@+id/billingFragment"
android:name="com.mobiuz.app.BillingFragment"
android:label="fragment_billing"
tools:layout="@layout/fragment_billing" />
</navigation> </navigation>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<navigation 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:id="@+id/nav_graph_settings"
app:startDestination="@id/serviceFragment">
<fragment
android:id="@+id/serviceFragment"
tools:layout="@layout/fragment_service"
android:name="com.mobiuz.app.dev.ui.service.ServiceFragment"
android:label="MotionFragment" />
<fragment
android:id="@+id/servicesFragmentActivity"
android:name="com.mobiuz.app.dev.ui.service.ServicesFragmentActivity"
android:label="ServicesFragmentActivity" />
</navigation>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<navigation 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:id="@+id/nav_graph_settings"
app:startDestination="@id/languageFragment">
<fragment
android:id="@+id/languageFragment"
android:name="com.mobiuz.app.dev.ui.settings.LanguageFragment"
android:label="fragment_language"
tools:layout="@layout/fragment_language" />
<fragment
android:id="@+id/supportFragment"
tools:layout="@layout/fragment_support"
android:name="com.mobiuz.app.dev.ui.settings.SupportFragment"
android:label="SupportFragment" />
<fragment
android:id="@+id/safetyFragment"
android:name="com.mobiuz.app.dev.ui.settings.safety.SafetyFragment"
android:label="fragment_safety"
tools:layout="@layout/fragment_safety" />
<fragment
android:id="@+id/profileFragment"
android:name="com.mobiuz.app.dev.ui.settings.ProfileFragment"
android:label="fragment_profile"
tools:layout="@layout/fragment_profile" />
<fragment
android:id="@+id/currentPasswordFragment"
android:name="com.mobiuz.app.dev.ui.settings.safety.password.ChangePasswordFragment"
android:label="CurrentPasswordFragment" />
<fragment
android:id="@+id/newPasswordFragment"
android:name="com.mobiuz.app.dev.ui.settings.safety.password.NewPasswordFragment"
android:label="NewPasswordFragment" />
<fragment
android:id="@+id/confirmPasswordFragment"
android:name="com.mobiuz.app.dev.ui.settings.safety.password.ConfirmPasswordFragment"
android:label="ConfirmPasswordFragment" />
<fragment
android:id="@+id/oldPinFragment"
android:name="com.mobiuz.app.dev.ui.settings.safety.pin.OldPinFragment"
android:label="OldPinFragment" />
<fragment
android:id="@+id/newPinFragment"
android:name="com.mobiuz.app.dev.ui.settings.safety.pin.NewPinFragment"
android:label="NewPinFragment" />
<fragment
android:id="@+id/confirmNewPinFragment"
android:name="com.mobiuz.app.dev.ui.settings.safety.pin.ConfirmNewPinFragment"
android:label="ConfirmNewPinFragment" />
</navigation>
\ No newline at end of file
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
</resources>
\ No newline at end of file
...@@ -128,5 +128,9 @@ ...@@ -128,5 +128,9 @@
<string name="close_process">Закрыть</string> <string name="close_process">Закрыть</string>
<string name="popitok_error_password">Вы ввели неправильный пароль 3 раза</string> <string name="popitok_error_password">Вы ввели неправильный пароль 3 раза</string>
<string name="settings_safety">Настройки безопасности действуют только для основного номера +998 97 999-99-99</string> <string name="settings_safety">Настройки безопасности действуют только для основного номера +998 97 999-99-99</string>
<string name="title_activity_offline">OfflineActivity</string>
<string name="title_home">Home</string>
<string name="title_dashboard">Dashboard</string>
<string name="title_notifications">Notifications</string>
</resources> </resources>
\ 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