diff --git a/android/app/build.gradle b/android/app/build.gradle
index de42d6641b..311b86ed53 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -23,7 +23,7 @@ android {
defaultConfig {
applicationId "com.naviapp"
- minSdk 21
+ minSdk 23
targetSdk 33
versionCode VERSION_CODE
versionName VERSION_NAME
diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml
index d605af6ac1..8d1c3f56b2 100644
--- a/android/app/src/debug/AndroidManifest.xml
+++ b/android/app/src/debug/AndroidManifest.xml
@@ -12,7 +12,7 @@
-
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 93d4e0ea76..1019996bef 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -10,9 +10,6 @@
-
diff --git a/android/app/src/main/java/com/naviapp/common/customview/NewProgressHeader.kt b/android/app/src/main/java/com/naviapp/common/customview/NewProgressHeader.kt
index 44fc9d3930..ee412cbbfd 100644
--- a/android/app/src/main/java/com/naviapp/common/customview/NewProgressHeader.kt
+++ b/android/app/src/main/java/com/naviapp/common/customview/NewProgressHeader.kt
@@ -9,7 +9,6 @@ package com.naviapp.common.customview
import com.navi.common.R as CommonR
import android.content.Context
-import android.os.Build
import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
@@ -81,9 +80,7 @@ class NewProgressHeader(context: Context, attrs: AttributeSet?) : ConstraintLayo
IconUtils.updateIcon(it, binding.backIv)
}
styleResId?.let {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- binding.titleTv.setTextAppearance(it)
- }
+ binding.titleTv.setTextAppearance(it)
}
val constraintSet = ConstraintSet()
diff --git a/android/app/src/main/java/com/naviapp/common/customview/NoteView.kt b/android/app/src/main/java/com/naviapp/common/customview/NoteView.kt
index bbe62a7757..4d93e0585d 100644
--- a/android/app/src/main/java/com/naviapp/common/customview/NoteView.kt
+++ b/android/app/src/main/java/com/naviapp/common/customview/NoteView.kt
@@ -8,7 +8,6 @@
package com.naviapp.common.customview
import android.content.Context
-import android.os.Build
import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
@@ -35,9 +34,7 @@ class NoteView(context: Context, attrs: AttributeSet?) : ConstraintLayout(contex
binding.infoTv.text = it
}
styleResId?.let {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- binding.infoTv.setTextAppearance(it)
- }
+ binding.infoTv.setTextAppearance(it)
}
iconCode?.let {
IconUtils.updateIcon(it, binding.iconIv)
diff --git a/android/app/src/main/java/com/naviapp/home/compose/activity/HomePageActivity.kt b/android/app/src/main/java/com/naviapp/home/compose/activity/HomePageActivity.kt
index 6297a0a766..55917fd988 100644
--- a/android/app/src/main/java/com/naviapp/home/compose/activity/HomePageActivity.kt
+++ b/android/app/src/main/java/com/naviapp/home/compose/activity/HomePageActivity.kt
@@ -650,7 +650,7 @@ class HomePageActivity :
}
private fun observeNetworkConnectivity() {
- if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
lifecycleScope.launch {
repeatOnLifecycle(Lifecycle.State.STARTED) {
homeVM.connectivityObserverHolder.collect {
diff --git a/android/app/src/main/java/com/naviapp/home/viewmodel/HomeVM.kt b/android/app/src/main/java/com/naviapp/home/viewmodel/HomeVM.kt
index 9427ed9056..f42b9acf2e 100644
--- a/android/app/src/main/java/com/naviapp/home/viewmodel/HomeVM.kt
+++ b/android/app/src/main/java/com/naviapp/home/viewmodel/HomeVM.kt
@@ -218,7 +218,7 @@ constructor(
viewModelScope.launch { getActionCallback().collect { onActionTriggered(it) } }
- if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
viewModelScope.launch(Dispatchers.IO) {
connectivityObserver.observe().collect { _connectivityObserverHolder.emit(it) }
}
@@ -587,7 +587,7 @@ constructor(
if (!response.isValidResponse()) {
if (
- Build.VERSION.SDK_INT > Build.VERSION_CODES.M &&
+ Build.VERSION.SDK_INT >= Build.VERSION_CODES.N &&
!connectivityObserver.isInternetConnected()
) {
_connectivityObserverHolder.emit(ConnectivityObserver.Status.Unavailable)
diff --git a/android/app/src/main/java/com/naviapp/personalloan/getloan/creditAssignment/adapters/ContactListAdapter.kt b/android/app/src/main/java/com/naviapp/personalloan/getloan/creditAssignment/adapters/ContactListAdapter.kt
index 4f266d2536..9dd5c6abbb 100644
--- a/android/app/src/main/java/com/naviapp/personalloan/getloan/creditAssignment/adapters/ContactListAdapter.kt
+++ b/android/app/src/main/java/com/naviapp/personalloan/getloan/creditAssignment/adapters/ContactListAdapter.kt
@@ -9,12 +9,10 @@ package com.naviapp.personalloan.getloan.creditAssignment.adapters
import android.content.Context
import android.content.res.ColorStateList
-import android.os.Build
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.content.ContextCompat
-import androidx.core.widget.CompoundButtonCompat
import androidx.recyclerview.widget.RecyclerView
import com.navi.base.utils.isNull
import com.navi.base.utils.isValidIndex
@@ -120,15 +118,8 @@ class ContactListAdapter(
}
private fun changeCheckboxColor(holder: ContactListVH, color: Int) {
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
- CompoundButtonCompat.setButtonTintList(
- holder.binding.itemCheckbox,
- ColorStateList.valueOf(color)
- )
- } else {
- holder.binding.itemCheckbox.buttonTintList =
- ColorStateList.valueOf(color)
- }
+ holder.binding.itemCheckbox.buttonTintList =
+ ColorStateList.valueOf(color)
}
override fun getItemCount(): Int {
diff --git a/android/app/src/main/java/com/naviapp/react_native/ReactActivity.kt b/android/app/src/main/java/com/naviapp/react_native/ReactActivity.kt
index e3c6b64b27..3be3b25d7f 100644
--- a/android/app/src/main/java/com/naviapp/react_native/ReactActivity.kt
+++ b/android/app/src/main/java/com/naviapp/react_native/ReactActivity.kt
@@ -3,7 +3,6 @@ package com.naviapp.react_native
import android.annotation.SuppressLint
import android.content.Intent
import android.net.Uri
-import android.os.Build
import android.os.Bundle
import android.provider.Settings
import android.text.TextUtils
@@ -39,7 +38,7 @@ class ReactActivity : BaseActivity(), DefaultHardwareBackBtnHandler, RequestToCa
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(null)
overridePendingTransition(0, 0)
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && BuildConfig.DEBUG && !TextUtils.equals(
+ if (BuildConfig.DEBUG && !TextUtils.equals(
CommonLibManager.buildConfigDetails.flavor,
PROD
).orFalse()
@@ -76,10 +75,8 @@ class ReactActivity : BaseActivity(), DefaultHardwareBackBtnHandler, RequestToCa
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == OVERLAY_PERMISSION_REQ_CODE) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- if (!Settings.canDrawOverlays(this)) {
- // SYSTEM_ALERT_WINDOW permission not granted
- }
+ if (!Settings.canDrawOverlays(this)) {
+ // SYSTEM_ALERT_WINDOW permission not granted
}
}
reactInstanceManager.onActivityResult(this, requestCode, resultCode, data)
diff --git a/android/app/src/main/java/com/naviapp/receiver/WifiTrackerBaseActivity.kt b/android/app/src/main/java/com/naviapp/receiver/WifiTrackerBaseActivity.kt
index a2aab1515a..583a690db2 100644
--- a/android/app/src/main/java/com/naviapp/receiver/WifiTrackerBaseActivity.kt
+++ b/android/app/src/main/java/com/naviapp/receiver/WifiTrackerBaseActivity.kt
@@ -10,9 +10,7 @@ package com.naviapp.receiver
import android.Manifest
import android.content.Context
import android.content.IntentFilter
-import android.content.pm.PackageManager
import android.net.wifi.WifiManager
-import android.os.Build
import android.os.Bundle
import com.navi.base.sharedpref.PreferenceManager
import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper
@@ -62,33 +60,25 @@ abstract class WifiTrackerBaseActivity : BaseActivity() {
if(this !is PermissionV2LocExpActivity){
return
}
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- if (
- permissionsManager.hasPermissions(
- arrayOf(Manifest.permission.ACCESS_FINE_LOCATION)
- ) ||
- permissionsManager.hasPermissions(
- arrayOf(Manifest.permission.ACCESS_COARSE_LOCATION)
- )
- ) {
- wifiManager?.startScan()
- }
- } else {
+ if (
+ permissionsManager.hasPermissions(
+ arrayOf(Manifest.permission.ACCESS_FINE_LOCATION)
+ ) ||
+ permissionsManager.hasPermissions(
+ arrayOf(Manifest.permission.ACCESS_COARSE_LOCATION)
+ )
+ ) {
wifiManager?.startScan()
}
} else {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- if (
- permissionsManager.hasPermissions(
- arrayOf(Manifest.permission.ACCESS_FINE_LOCATION)
- ) ||
- permissionsManager.hasPermissions(
- arrayOf(Manifest.permission.ACCESS_COARSE_LOCATION)
- )
- ) {
- wifiManager?.startScan()
- }
- } else {
+ if (
+ permissionsManager.hasPermissions(
+ arrayOf(Manifest.permission.ACCESS_FINE_LOCATION)
+ ) ||
+ permissionsManager.hasPermissions(
+ arrayOf(Manifest.permission.ACCESS_COARSE_LOCATION)
+ )
+ ) {
wifiManager?.startScan()
}
}
diff --git a/android/app/src/main/java/com/naviapp/registration/RegistrationActivity.kt b/android/app/src/main/java/com/naviapp/registration/RegistrationActivity.kt
index be07fb35f3..036993658b 100644
--- a/android/app/src/main/java/com/naviapp/registration/RegistrationActivity.kt
+++ b/android/app/src/main/java/com/naviapp/registration/RegistrationActivity.kt
@@ -533,7 +533,7 @@ class RegistrationActivity :
}
override fun onFragmentOpen(type: String?) {
- if (getOsVersion() <= Build.VERSION_CODES.M) {
+ if (getOsVersion() < Build.VERSION_CODES.N) {
registrationSharedVM.setLoginViaMobile(true)
return
}
diff --git a/android/application-platform/app/build.gradle b/android/application-platform/app/build.gradle
index 75c5ac6d5b..6a90158954 100644
--- a/android/application-platform/app/build.gradle
+++ b/android/application-platform/app/build.gradle
@@ -13,7 +13,7 @@ android {
defaultConfig {
applicationId "com.applicationplatform"
- minSdk 24
+ minSdk 23
targetSdk 33
versionCode 1
versionName "1.0"
diff --git a/android/application-platform/navi-ap/build.gradle b/android/application-platform/navi-ap/build.gradle
index 50e71a3e37..a08c520e1b 100644
--- a/android/application-platform/navi-ap/build.gradle
+++ b/android/application-platform/navi-ap/build.gradle
@@ -12,7 +12,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
targetSdk 33
consumerProguardFiles "consumer-rules.pro"
diff --git a/android/benchmark/build.gradle b/android/benchmark/build.gradle
index 40fb18ca09..8a2ed4abbd 100644
--- a/android/benchmark/build.gradle
+++ b/android/benchmark/build.gradle
@@ -30,7 +30,7 @@ android {
}
defaultConfig {
- minSdk 24
+ minSdk 23
targetSdk 34
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/android/build.gradle b/android/build.gradle
index e386d2ab1b..ed8f238286 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -6,7 +6,7 @@ buildscript {
ext {
compileSdkVersion = 34
- minSdkVersion = 21
+ minSdkVersion = 23
targetSdkVersion = 33
}
subprojects { subproject ->
diff --git a/android/navi-amc/build.gradle b/android/navi-amc/build.gradle
index 72f5391da1..19303621e1 100644
--- a/android/navi-amc/build.gradle
+++ b/android/navi-amc/build.gradle
@@ -12,7 +12,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
targetSdk 33
consumerProguardFiles "consumer-rules.pro"
diff --git a/android/navi-analytics/build.gradle b/android/navi-analytics/build.gradle
index a15d786408..952e50694c 100644
--- a/android/navi-analytics/build.gradle
+++ b/android/navi-analytics/build.gradle
@@ -9,7 +9,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
targetSdk 33
consumerProguardFiles "consumer-rules.pro"
diff --git a/android/navi-base/build.gradle b/android/navi-base/build.gradle
index e7f591b861..43b4bbc3fe 100644
--- a/android/navi-base/build.gradle
+++ b/android/navi-base/build.gradle
@@ -12,7 +12,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
targetSdk 33
consumerProguardFiles "consumer-rules.pro"
diff --git a/android/navi-base/src/main/java/com/navi/base/sharedpref/PreferenceManager.kt b/android/navi-base/src/main/java/com/navi/base/sharedpref/PreferenceManager.kt
index 883a507464..b87cfe5878 100644
--- a/android/navi-base/src/main/java/com/navi/base/sharedpref/PreferenceManager.kt
+++ b/android/navi-base/src/main/java/com/navi/base/sharedpref/PreferenceManager.kt
@@ -10,7 +10,6 @@ package com.navi.base.sharedpref
import android.app.Application
import android.content.Context
import android.content.SharedPreferences
-import android.os.Build
import androidx.security.crypto.EncryptedSharedPreferences
import androidx.security.crypto.MasterKey
import com.google.gson.Gson
@@ -42,36 +41,32 @@ object PreferenceManager {
application.getSharedPreferences(PREFS_FILENAME_SESSION, Context.MODE_PRIVATE)
sharedPreferencesForApp =
application.getSharedPreferences(PREFS_FILENAME, Context.MODE_PRIVATE)
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- try {
- val masterKey =
- MasterKey.Builder(application)
- .setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
- .build()
- secureSharedPreferencesForSession =
- EncryptedSharedPreferences.create(
- application,
- PREFS_FILENAME_SECURE_SESSION,
- masterKey,
- EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
- EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
- )
+ try {
+ val masterKey =
+ MasterKey.Builder(application).setKeyScheme(MasterKey.KeyScheme.AES256_GCM).build()
+ secureSharedPreferencesForSession =
+ EncryptedSharedPreferences.create(
+ application,
+ PREFS_FILENAME_SECURE_SESSION,
+ masterKey,
+ EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
+ EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
+ )
- secureSharedPreferencesForApp =
- EncryptedSharedPreferences.create(
- application,
- PREFS_FILENAME_SECURE_APP,
- masterKey,
- EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
- EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
- )
- } catch (e: Exception) {
- // NaviTrackEvent.trackEventOnClickStream(
- // "secure_shared_pref_crash",
- // mapOf(Pair("reason", e.message.orEmpty()))
- // )
- Timber.e(e)
- }
+ secureSharedPreferencesForApp =
+ EncryptedSharedPreferences.create(
+ application,
+ PREFS_FILENAME_SECURE_APP,
+ masterKey,
+ EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
+ EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
+ )
+ } catch (e: Exception) {
+ // NaviTrackEvent.trackEventOnClickStream(
+ // "secure_shared_pref_crash",
+ // mapOf(Pair("reason", e.message.orEmpty()))
+ // )
+ Timber.e(e)
}
}
@@ -350,8 +345,7 @@ object PreferenceManager {
}
private fun shouldUseEncryptedSharedPref(): Boolean {
- return secureSharedPreferencesForSession != null &&
- (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
+ return secureSharedPreferencesForSession != null
}
fun clearKeyBasedSessionPreferenceData(keys: List) {
diff --git a/android/navi-base/src/main/java/com/navi/base/utils/BaseUtils.kt b/android/navi-base/src/main/java/com/navi/base/utils/BaseUtils.kt
index f124f015bd..128dad40f2 100644
--- a/android/navi-base/src/main/java/com/navi/base/utils/BaseUtils.kt
+++ b/android/navi-base/src/main/java/com/navi/base/utils/BaseUtils.kt
@@ -93,16 +93,12 @@ object BaseUtils {
fun isNetworkAvailable(context: Context): Boolean {
val connectivityManager =
context.getSystemService(Context.CONNECTIVITY_SERVICE) as? ConnectivityManager
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- val network = connectivityManager?.activeNetwork ?: return false
- val activeNetwork = connectivityManager.getNetworkCapabilities(network) ?: return false
- return when {
- activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> true
- activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> true
- else -> false
- }
- } else {
- return connectivityManager?.activeNetworkInfo?.isConnected.orFalse()
+ val network = connectivityManager?.activeNetwork ?: return false
+ val activeNetwork = connectivityManager.getNetworkCapabilities(network) ?: return false
+ return when {
+ activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> true
+ activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> true
+ else -> false
}
}
@@ -567,12 +563,7 @@ object BaseUtils {
val packageManager = activity.packageManager
val intent = Intent(Intent.ACTION_VIEW)
intent.data = Uri.parse(UPI_APP_INTENT_URL)
- val activities =
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- packageManager.queryIntentActivities(intent, PackageManager.MATCH_ALL)
- } else {
- packageManager.queryIntentActivities(intent, INT_ZERO)
- }
+ val activities = packageManager.queryIntentActivities(intent, PackageManager.MATCH_ALL)
return activities.map { it.activityInfo.packageName }
}
diff --git a/android/navi-base/src/main/java/com/navi/base/utils/ConnectivityObserver.kt b/android/navi-base/src/main/java/com/navi/base/utils/ConnectivityObserver.kt
index 20b2305e11..4e2ed45433 100644
--- a/android/navi-base/src/main/java/com/navi/base/utils/ConnectivityObserver.kt
+++ b/android/navi-base/src/main/java/com/navi/base/utils/ConnectivityObserver.kt
@@ -12,7 +12,6 @@ import android.net.ConnectivityManager
import android.net.Network
import android.net.NetworkCapabilities
import android.net.NetworkRequest
-import android.os.Build
import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
import kotlinx.coroutines.channels.awaitClose
@@ -81,31 +80,16 @@ class ConnectivityObserverImpl @Inject constructor(@ApplicationContext val conte
}
override fun isInternetConnected(): Boolean {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- val networkCapabilities = connectivityManager.activeNetwork ?: return false
+ val networkCapabilities = connectivityManager.activeNetwork ?: return false
- val activeNetwork =
- connectivityManager.getNetworkCapabilities(networkCapabilities) ?: return false
+ val activeNetwork =
+ connectivityManager.getNetworkCapabilities(networkCapabilities) ?: return false
- return when {
- activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> true
- activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> true
- activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> true
- else -> false
- }
- } else {
- connectivityManager.run {
- connectivityManager.activeNetworkInfo?.run {
- return when (type) {
- ConnectivityManager.TYPE_WIFI -> true
- ConnectivityManager.TYPE_MOBILE -> true
- ConnectivityManager.TYPE_ETHERNET -> true
- else -> false
- }
- }
- }
+ return when {
+ activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> true
+ activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> true
+ activeNetwork.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> true
+ else -> false
}
-
- return false
}
}
diff --git a/android/navi-base/src/main/java/com/navi/base/utils/NaviNetworkConnectivity.kt b/android/navi-base/src/main/java/com/navi/base/utils/NaviNetworkConnectivity.kt
index 1e39429333..a60b45b8e1 100644
--- a/android/navi-base/src/main/java/com/navi/base/utils/NaviNetworkConnectivity.kt
+++ b/android/navi-base/src/main/java/com/navi/base/utils/NaviNetworkConnectivity.kt
@@ -10,7 +10,6 @@ package com.navi.base.utils
import android.content.Context
import android.net.ConnectivityManager
import android.net.NetworkCapabilities
-import android.os.Build
import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
@@ -27,30 +26,15 @@ class NaviNetworkConnectivityImpl @Inject constructor(@ApplicationContext val co
var result = false
val connectivityManager =
context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- val networkCapabilities = connectivityManager.activeNetwork ?: return false
- val actNw =
- connectivityManager.getNetworkCapabilities(networkCapabilities) ?: return false
- result =
- when {
- actNw.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) ||
- actNw.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) ||
- actNw.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> true
- else -> false
- }
- } else {
- connectivityManager.run {
- connectivityManager.activeNetworkInfo?.run {
- result =
- when (type) {
- ConnectivityManager.TYPE_WIFI -> true
- ConnectivityManager.TYPE_MOBILE -> true
- ConnectivityManager.TYPE_ETHERNET -> true
- else -> false
- }
- }
+ val networkCapabilities = connectivityManager.activeNetwork ?: return false
+ val actNw = connectivityManager.getNetworkCapabilities(networkCapabilities) ?: return false
+ result =
+ when {
+ actNw.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) ||
+ actNw.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) ||
+ actNw.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> true
+ else -> false
}
- }
return result
}
@@ -58,13 +42,11 @@ class NaviNetworkConnectivityImpl @Inject constructor(@ApplicationContext val co
var ipAddress = ""
val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE)
if (connectivityManager is ConnectivityManager) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- val link = connectivityManager.getLinkProperties(connectivityManager.activeNetwork)
- try {
- ipAddress = link?.linkAddresses?.get(1)?.address?.hostAddress.toString()
- } catch (e: Exception) {
- // ignore
- }
+ val link = connectivityManager.getLinkProperties(connectivityManager.activeNetwork)
+ try {
+ ipAddress = link?.linkAddresses?.get(1)?.address?.hostAddress.toString()
+ } catch (e: Exception) {
+ // ignore
}
}
return ipAddress.ifBlank { "0.0.0.0" }
diff --git a/android/navi-bbps/build.gradle b/android/navi-bbps/build.gradle
index 048aad5543..438d0e4414 100644
--- a/android/navi-bbps/build.gradle
+++ b/android/navi-bbps/build.gradle
@@ -12,7 +12,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
targetSdk 33
consumerProguardFiles "consumer-rules.pro"
diff --git a/android/navi-chat/build.gradle b/android/navi-chat/build.gradle
index c3353aea81..0085dc9e79 100644
--- a/android/navi-chat/build.gradle
+++ b/android/navi-chat/build.gradle
@@ -12,7 +12,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
targetSdk 33
consumerProguardFiles "consumer-rules.pro"
diff --git a/android/navi-chat/src/main/java/com/navi/chat/ui/fragments/NaviChatFragment.kt b/android/navi-chat/src/main/java/com/navi/chat/ui/fragments/NaviChatFragment.kt
index be1b6c7523..ddc205c04e 100644
--- a/android/navi-chat/src/main/java/com/navi/chat/ui/fragments/NaviChatFragment.kt
+++ b/android/navi-chat/src/main/java/com/navi/chat/ui/fragments/NaviChatFragment.kt
@@ -645,7 +645,7 @@ class NaviChatFragment : BaseFragment(), WidgetCallback, MessageOperation, Toolb
}
private fun observeNetworkConnectivity() {
- if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
viewLifecycleOwner.lifecycleScope.launchWhenStarted {
launch {
naviChatViewModel.connectivityObserverHolder.collect {
diff --git a/android/navi-chat/src/main/java/com/navi/chat/viewmodels/NaviChatViewModel.kt b/android/navi-chat/src/main/java/com/navi/chat/viewmodels/NaviChatViewModel.kt
index 6552d22985..6a6f9a343c 100644
--- a/android/navi-chat/src/main/java/com/navi/chat/viewmodels/NaviChatViewModel.kt
+++ b/android/navi-chat/src/main/java/com/navi/chat/viewmodels/NaviChatViewModel.kt
@@ -132,7 +132,7 @@ constructor(
}
init {
- if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
viewModelScope.launch(Dispatchers.IO) {
connectivityObserver.observe().collectLatest {
_connectivityObserverHolder.emit(it)
diff --git a/android/navi-coin/build.gradle b/android/navi-coin/build.gradle
index c7d0910e91..4e7d50820d 100644
--- a/android/navi-coin/build.gradle
+++ b/android/navi-coin/build.gradle
@@ -12,7 +12,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
targetSdk 33
consumerProguardFiles "consumer-rules.pro"
diff --git a/android/navi-common/build.gradle b/android/navi-common/build.gradle
index 98757f2825..5ac3c2fbd4 100644
--- a/android/navi-common/build.gradle
+++ b/android/navi-common/build.gradle
@@ -13,7 +13,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
targetSdk 33
buildConfigField 'String', 'YOUTUBE_KEY', formatString('AIzaSyDlbxag2dCc-a9ac8JTfH3nnVw41pdI-1U')
diff --git a/android/navi-common/src/main/AndroidManifest.xml b/android/navi-common/src/main/AndroidManifest.xml
index 716147e2ff..ee3136052d 100644
--- a/android/navi-common/src/main/AndroidManifest.xml
+++ b/android/navi-common/src/main/AndroidManifest.xml
@@ -19,9 +19,6 @@
-
= Build.VERSION_CODES.LOLLIPOP_MR1) {
- arrayOf(
- Telephony.Sms._ID,
- Telephony.Sms.DATE,
- Telephony.Sms.DATE_SENT,
- Telephony.Sms.ADDRESS,
- Telephony.Sms.BODY,
- Telephony.Sms.READ,
- Telephony.Sms.CREATOR,
- Telephony.Sms.SERVICE_CENTER,
- Telephony.Sms.SUBJECT,
- Telephony.Sms.TYPE,
- Telephony.Sms.LOCKED,
- Telephony.Sms.SUBSCRIPTION_ID
- )
- } else {
- arrayOf(
- Telephony.Sms._ID,
- Telephony.Sms.DATE,
- Telephony.Sms.DATE_SENT,
- Telephony.Sms.ADDRESS,
- Telephony.Sms.BODY,
- Telephony.Sms.READ,
- Telephony.Sms.CREATOR,
- Telephony.Sms.SERVICE_CENTER,
- Telephony.Sms.SUBJECT,
- Telephony.Sms.TYPE,
- Telephony.Sms.LOCKED
- )
- }
+ arrayOf(
+ Telephony.Sms._ID,
+ Telephony.Sms.DATE,
+ Telephony.Sms.DATE_SENT,
+ Telephony.Sms.ADDRESS,
+ Telephony.Sms.BODY,
+ Telephony.Sms.READ,
+ Telephony.Sms.CREATOR,
+ Telephony.Sms.SERVICE_CENTER,
+ Telephony.Sms.SUBJECT,
+ Telephony.Sms.TYPE,
+ Telephony.Sms.LOCKED,
+ Telephony.Sms.SUBSCRIPTION_ID
+ )
fun Cursor.getUserSmsFromCursorData() =
- if (getVersionSDKInt() >= Build.VERSION_CODES.LOLLIPOP_MR1) {
- UserSms(
- getString(0), // SMS ID Column
- getString(1), // SMS DATE Column
- getString(2), // SMS DATE_SENT Column
- getString(3), // SMS ADDRESS Column
- getString(4), // SMS BODY Column
- getString(5), // SMS READ Column
- getLong(1), // TIME_STAMP
- getString(6), // CREATOR
- getString(7), // SERVICE_CENTER
- getString(8), // SUBJECT
- getString(9), // TYPE
- getString(10), // LOCKED
- getString(11) // SUBSCRIPTION_ID
- )
- } else {
- UserSms(
- getString(0), // SMS ID Column
- getString(1), // SMS DATE Column
- getString(2), // SMS DATE_SENT Column
- getString(3), // SMS ADDRESS Column
- getString(4), // SMS BODY Column
- getString(5), // SMS READ Column
- getLong(1), // TIME_STAMP
- getString(6), // CREATOR
- getString(7), // SERVICE_CENTER
- getString(8), // SUBJECT
- getString(9), // TYPE
- getString(10) // LOCKED
- )
- }
+ UserSms(
+ getString(0), // SMS ID Column
+ getString(1), // SMS DATE Column
+ getString(2), // SMS DATE_SENT Column
+ getString(3), // SMS ADDRESS Column
+ getString(4), // SMS BODY Column
+ getString(5), // SMS READ Column
+ getLong(1), // TIME_STAMP
+ getString(6), // CREATOR
+ getString(7), // SERVICE_CENTER
+ getString(8), // SUBJECT
+ getString(9), // TYPE
+ getString(10), // LOCKED
+ getString(11) // SUBSCRIPTION_ID
+ )
diff --git a/android/navi-design/build.gradle b/android/navi-design/build.gradle
index 8fedecb433..50406a2d9d 100644
--- a/android/navi-design/build.gradle
+++ b/android/navi-design/build.gradle
@@ -11,7 +11,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
targetSdk 33
consumerProguardFiles "consumer-rules.pro"
diff --git a/android/navi-design/src/main/java/com/navi/design/editview/NaviEditText.kt b/android/navi-design/src/main/java/com/navi/design/editview/NaviEditText.kt
index 00846313ef..0f0f8d27aa 100644
--- a/android/navi-design/src/main/java/com/navi/design/editview/NaviEditText.kt
+++ b/android/navi-design/src/main/java/com/navi/design/editview/NaviEditText.kt
@@ -9,7 +9,6 @@ package com.navi.design.editview
import android.content.Context
import android.graphics.Typeface
-import android.os.Build
import android.util.AttributeSet
import android.view.View
import android.view.ViewGroup
@@ -90,13 +89,7 @@ class NaviEditText(context: Context, attrs: AttributeSet) : AppCompatEditText(co
}
fun setStyle(@StyleRes style: Int?) {
- style?.let {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- setTextAppearance(it)
- } else {
- setTextAppearance(context, it)
- }
- }
+ style?.let { setTextAppearance(it) }
}
fun setBackground(
diff --git a/android/navi-design/src/main/java/com/navi/design/textview/NaviTextView.kt b/android/navi-design/src/main/java/com/navi/design/textview/NaviTextView.kt
index bd5d22363a..1c6f0f322c 100644
--- a/android/navi-design/src/main/java/com/navi/design/textview/NaviTextView.kt
+++ b/android/navi-design/src/main/java/com/navi/design/textview/NaviTextView.kt
@@ -9,7 +9,6 @@ package com.navi.design.textview
import android.content.Context
import android.graphics.Typeface
-import android.os.Build
import android.util.AttributeSet
import android.view.View
import android.view.ViewGroup
@@ -88,13 +87,7 @@ class NaviTextView(context: Context, attrs: AttributeSet? = null) :
}
fun setStyle(@StyleRes style: Int?) {
- style?.let {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- setTextAppearance(it)
- } else {
- setTextAppearance(context, it)
- }
- }
+ style?.let { setTextAppearance(it) }
}
fun setBgColor(colorId: Int) {
diff --git a/android/navi-gold/build.gradle b/android/navi-gold/build.gradle
index c8d9a6de34..174e02369f 100644
--- a/android/navi-gold/build.gradle
+++ b/android/navi-gold/build.gradle
@@ -12,7 +12,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
targetSdk 33
consumerProguardFiles "consumer-rules.pro"
diff --git a/android/navi-hl/build.gradle b/android/navi-hl/build.gradle
index f50893e183..0569e24073 100644
--- a/android/navi-hl/build.gradle
+++ b/android/navi-hl/build.gradle
@@ -12,7 +12,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
targetSdk 33
consumerProguardFiles "consumer-rules.pro"
diff --git a/android/navi-insurance/build.gradle b/android/navi-insurance/build.gradle
index 70b1139c99..dd2858a76d 100644
--- a/android/navi-insurance/build.gradle
+++ b/android/navi-insurance/build.gradle
@@ -12,7 +12,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
targetSdk 33
consumerProguardFiles "consumer-rules.pro"
diff --git a/android/navi-insurance/src/main/java/com/navi/insurance/common/fragment/WebViewFragment.kt b/android/navi-insurance/src/main/java/com/navi/insurance/common/fragment/WebViewFragment.kt
index a48d5ab651..31f3c18f23 100644
--- a/android/navi-insurance/src/main/java/com/navi/insurance/common/fragment/WebViewFragment.kt
+++ b/android/navi-insurance/src/main/java/com/navi/insurance/common/fragment/WebViewFragment.kt
@@ -296,7 +296,6 @@ class WebViewFragment : BaseFragment() {
binding.pbLoading.visibility = View.GONE
}
- @RequiresApi(Build.VERSION_CODES.M)
override fun onReceivedError(
view: WebView?,
request: WebResourceRequest?,
diff --git a/android/navi-insurance/src/main/java/com/navi/insurance/common/widgets/SelectionWithPillGridItemView.kt b/android/navi-insurance/src/main/java/com/navi/insurance/common/widgets/SelectionWithPillGridItemView.kt
index c2dcc3393a..3b915a52a7 100644
--- a/android/navi-insurance/src/main/java/com/navi/insurance/common/widgets/SelectionWithPillGridItemView.kt
+++ b/android/navi-insurance/src/main/java/com/navi/insurance/common/widgets/SelectionWithPillGridItemView.kt
@@ -22,7 +22,6 @@ import com.navi.insurance.common.models.PillData
import com.navi.insurance.common.models.PillItem
import com.navi.insurance.common.models.PillWithGridItem
import com.navi.insurance.databinding.SelectionWithPillGridItemBinding
-import com.navi.insurance.util.isMinimumOsVersionM
import com.navi.naviwidgets.extensions.getScreenWidth
import kotlin.math.ceil
import kotlin.math.max
@@ -70,21 +69,13 @@ class SelectionWithPillGridItemView(
binding.pillGrid.visibility = View.VISIBLE
}
binding.selectorImage.setImageResource(WidgetsR.drawable.radio_button_checked_blue)
- if (isMinimumOsVersionM()) {
- binding.title.setTextAppearance(WidgetsR.style.MediumTextFontBoldStyle)
- } else {
- binding.title.setTextAppearance(context, WidgetsR.style.MediumTextFontBoldStyle)
- }
+ binding.title.setTextAppearance(WidgetsR.style.MediumTextFontBoldStyle)
}
private fun setRadioUnselected(binding: SelectionWithPillGridItemBinding) {
binding.pillGrid.visibility = View.GONE
binding.selectorImage.setImageResource(WidgetsR.drawable.radio_button_unchecked_grey)
- if (isMinimumOsVersionM()) {
- binding.title.setTextAppearance(WidgetsR.style.MediumTextFontStyle)
- } else {
- binding.title.setTextAppearance(context, WidgetsR.style.MediumTextFontStyle)
- }
+ binding.title.setTextAppearance(WidgetsR.style.MediumTextFontStyle)
}
private fun setPillGridData(binding: SelectionWithPillGridItemBinding, pillData: PillData) {
diff --git a/android/navi-insurance/src/main/java/com/navi/insurance/formbase/pre_purchase/FormBasedFragment.kt b/android/navi-insurance/src/main/java/com/navi/insurance/formbase/pre_purchase/FormBasedFragment.kt
index ee663d73af..19e094f754 100644
--- a/android/navi-insurance/src/main/java/com/navi/insurance/formbase/pre_purchase/FormBasedFragment.kt
+++ b/android/navi-insurance/src/main/java/com/navi/insurance/formbase/pre_purchase/FormBasedFragment.kt
@@ -9,6 +9,7 @@ package com.navi.insurance.formbase.pre_purchase
import android.graphics.Color
import android.graphics.drawable.ColorDrawable
+import android.os.Build
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
@@ -173,14 +174,8 @@ class FormBasedFragment :
}
private fun setScrollListener() {
- if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
- binding.formRootLayout.apply {
- setOnScrollChangeListener { _, _, _, _, _ -> formAdapter?.doActionOnScroll() }
- }
- } else {
- binding.formRootLayout.viewTreeObserver.addOnScrollChangedListener {
- formAdapter?.doActionOnScroll()
- }
+ binding.formRootLayout.apply {
+ setOnScrollChangeListener { _, _, _, _, _ -> formAdapter?.doActionOnScroll() }
}
}
diff --git a/android/navi-insurance/src/main/java/com/navi/insurance/health/fragment/HealthCardsFragment.kt b/android/navi-insurance/src/main/java/com/navi/insurance/health/fragment/HealthCardsFragment.kt
index e975e24802..525944d5b0 100644
--- a/android/navi-insurance/src/main/java/com/navi/insurance/health/fragment/HealthCardsFragment.kt
+++ b/android/navi-insurance/src/main/java/com/navi/insurance/health/fragment/HealthCardsFragment.kt
@@ -239,9 +239,7 @@ class HealthCardsFragment : BaseFragment(), View.OnClickListener {
viewBinding?.viewPolicyMemberShareBtn?.visibility = View.GONE
Handler(Looper.getMainLooper()).post {
- if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
- viewBinding?.clContent?.foreground = null
- }
+ viewBinding?.clContent?.foreground = null
val member = healthCard.tag as PolicyMemberDetails
val b =
Bitmap.createBitmap(healthCard.width, healthCard.height, Bitmap.Config.ARGB_8888)
diff --git a/android/navi-insurance/src/main/java/com/navi/insurance/health/fragment/PaymentMethodSelectionFragment.kt b/android/navi-insurance/src/main/java/com/navi/insurance/health/fragment/PaymentMethodSelectionFragment.kt
index 686f8aff14..030a573d69 100644
--- a/android/navi-insurance/src/main/java/com/navi/insurance/health/fragment/PaymentMethodSelectionFragment.kt
+++ b/android/navi-insurance/src/main/java/com/navi/insurance/health/fragment/PaymentMethodSelectionFragment.kt
@@ -692,16 +692,9 @@ class PaymentMethodSelectionFragment :
private fun selectFull(isSelected: Boolean) {
if (isSelected) {
binding.layoutPaymentMethod.itemSelectedFullPayment.isChecked = true
- if (isMinimumOsVersionM()) {
- binding.layoutPaymentMethod.paymentInfoTypeFullPaymentTxt.setTextAppearance(
- WidgetsR.style.MediumTextFontBoldStyle
- )
- } else {
- binding.layoutPaymentMethod.paymentInfoTypeFullPaymentTxt.setTextAppearance(
- context,
- WidgetsR.style.MediumTextFontBoldStyle
- )
- }
+ binding.layoutPaymentMethod.paymentInfoTypeFullPaymentTxt.setTextAppearance(
+ WidgetsR.style.MediumTextFontBoldStyle
+ )
paymentMode = binding.layoutPaymentMethod.itemSelectedFullPayment.tag as String
binding.continueBtn.text = payUsingFullPaymentText
val yearlyPaymentDetails = checkoutOptions?.paymentFooter?.yearlyPaymentDetails
@@ -721,32 +714,18 @@ class PaymentMethodSelectionFragment :
}
} else {
binding.layoutPaymentMethod.itemSelectedFullPayment.isChecked = false
- if (isMinimumOsVersionM()) {
- binding.layoutPaymentMethod.paymentInfoTypeFullPaymentTxt.setTextAppearance(
- WidgetsR.style.MediumTextFontStyle
- )
- } else {
- binding.layoutPaymentMethod.paymentInfoTypeFullPaymentTxt.setTextAppearance(
- context,
- WidgetsR.style.MediumTextFontStyle
- )
- }
+ binding.layoutPaymentMethod.paymentInfoTypeFullPaymentTxt.setTextAppearance(
+ WidgetsR.style.MediumTextFontStyle
+ )
}
}
private fun selectEMI(isSelected: Boolean) {
if (isSelected) {
binding.layoutPaymentMethod.itemSelectedEmi.isChecked = true
- if (isMinimumOsVersionM()) {
- binding.layoutPaymentMethod.paymentInfoTypeEmiTxt.setTextAppearance(
- WidgetsR.style.MediumTextFontBoldStyle
- )
- } else {
- binding.layoutPaymentMethod.paymentInfoTypeEmiTxt.setTextAppearance(
- context,
- WidgetsR.style.MediumTextFontBoldStyle
- )
- }
+ binding.layoutPaymentMethod.paymentInfoTypeEmiTxt.setTextAppearance(
+ WidgetsR.style.MediumTextFontBoldStyle
+ )
paymentMode = binding.layoutPaymentMethod.itemSelectedEmi.tag as String
binding.continueBtn.text = payUsingEmiText
val monthlyEmiDetails = checkoutOptions?.paymentFooter?.monthlyPaymentDetails
@@ -760,16 +739,9 @@ class PaymentMethodSelectionFragment :
}
} else {
binding.layoutPaymentMethod.itemSelectedEmi.isChecked = false
- if (isMinimumOsVersionM()) {
- binding.layoutPaymentMethod.paymentInfoTypeEmiTxt.setTextAppearance(
- WidgetsR.style.MediumTextFontStyle
- )
- } else {
- binding.layoutPaymentMethod.paymentInfoTypeEmiTxt.setTextAppearance(
- context,
- WidgetsR.style.MediumTextFontStyle
- )
- }
+ binding.layoutPaymentMethod.paymentInfoTypeEmiTxt.setTextAppearance(
+ WidgetsR.style.MediumTextFontStyle
+ )
}
}
diff --git a/android/navi-insurance/src/main/java/com/navi/insurance/notifications/AppNotification.kt b/android/navi-insurance/src/main/java/com/navi/insurance/notifications/AppNotification.kt
index f842b20fb0..1832cd414c 100644
--- a/android/navi-insurance/src/main/java/com/navi/insurance/notifications/AppNotification.kt
+++ b/android/navi-insurance/src/main/java/com/navi/insurance/notifications/AppNotification.kt
@@ -159,21 +159,12 @@ class AppNotification {
private fun createPendingIntent(intent: Intent, notificationId: Int): PendingIntent {
intent.action = notificationId.toString()
val pendingIntent =
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- PendingIntent.getActivity(
- CommonLibManager.application.applicationContext,
- 0,
- intent,
- PendingIntent.FLAG_CANCEL_CURRENT or PendingIntent.FLAG_IMMUTABLE
- )
- } else {
- PendingIntent.getActivity(
- CommonLibManager.application.applicationContext,
- 0,
- intent,
- PendingIntent.FLAG_CANCEL_CURRENT
- )
- }
+ PendingIntent.getActivity(
+ CommonLibManager.application.applicationContext,
+ 0,
+ intent,
+ PendingIntent.FLAG_CANCEL_CURRENT or PendingIntent.FLAG_IMMUTABLE
+ )
return pendingIntent
}
diff --git a/android/navi-insurance/src/main/java/com/navi/insurance/sharedpref/NaviPreferenceManager.kt b/android/navi-insurance/src/main/java/com/navi/insurance/sharedpref/NaviPreferenceManager.kt
index cadbb952b1..7f070c9b51 100644
--- a/android/navi-insurance/src/main/java/com/navi/insurance/sharedpref/NaviPreferenceManager.kt
+++ b/android/navi-insurance/src/main/java/com/navi/insurance/sharedpref/NaviPreferenceManager.kt
@@ -25,18 +25,13 @@ object NaviPreferenceManager {
private const val ENCRYPTED_PREFS_FILENAME = "com.navi.insurance.preferences_encrypted"
- @RequiresApi(Build.VERSION_CODES.M)
val masterKeyAlias = getMasterKey()
private fun getMasterKey(): String {
- try {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- return MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC)
- } else {
- return ""
- }
+ return try {
+ MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC)
} catch (e: Exception) {
- return ""
+ ""
}
}
@@ -50,23 +45,16 @@ object NaviPreferenceManager {
private val encryptedSharedPreferences = getEncryptedSharedPref()
private fun getEncryptedSharedPref(): SharedPreferences? {
- try {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- return EncryptedSharedPreferences.create(
- ENCRYPTED_PREFS_FILENAME,
- masterKeyAlias,
- CommonLibManager.application.applicationContext,
- EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
- EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
- )
- } else {
- return CommonLibManager.application.getSharedPreferences(
- PREFS_FILENAME,
- Context.MODE_PRIVATE
- )
- }
+ return try {
+ EncryptedSharedPreferences.create(
+ ENCRYPTED_PREFS_FILENAME,
+ masterKeyAlias,
+ CommonLibManager.application.applicationContext,
+ EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
+ EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
+ )
} catch (e: Exception) {
- return CommonLibManager.application.getSharedPreferences(
+ CommonLibManager.application.getSharedPreferences(
PREFS_FILENAME,
Context.MODE_PRIVATE
)
@@ -74,26 +62,18 @@ object NaviPreferenceManager {
}
fun getSecureStringPreference(key: String): String? {
- return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- getEncryptedStringPreference(key)
- } else {
- getStringPreference(key)
- }
+ return getEncryptedStringPreference(key)
}
fun setSecureStringPreference(key: String, value: String) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- setEncryptedStringPreference(key, value)
- } else {
- setStringPreference(key, value)
- }
+ setEncryptedStringPreference(key, value)
}
- fun getEncryptedStringPreference(key: String): String? {
+ private fun getEncryptedStringPreference(key: String): String? {
return encryptedSharedPreferences?.getString(key, "")
}
- fun setEncryptedStringPreference(key: String, value: String) {
+ private fun setEncryptedStringPreference(key: String, value: String) {
val editor = encryptedSharedPreferences?.edit()
editor?.putString(key, value)
editor?.apply()
diff --git a/android/navi-insurance/src/main/java/com/navi/insurance/util/Utility.kt b/android/navi-insurance/src/main/java/com/navi/insurance/util/Utility.kt
index ffd1ed87a9..cf69f58801 100644
--- a/android/navi-insurance/src/main/java/com/navi/insurance/util/Utility.kt
+++ b/android/navi-insurance/src/main/java/com/navi/insurance/util/Utility.kt
@@ -186,10 +186,6 @@ fun convertObjectToJson(type: T): JSONObject? {
return null
}
-fun isMinimumOsVersionM(): Boolean {
- return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
-}
-
fun getBitmap(context: Context, drawableId: Int): Bitmap? {
return when (val drawable: Drawable? = ContextCompat.getDrawable(context, drawableId)) {
is BitmapDrawable -> BitmapFactory.decodeResource(context.resources, drawableId)
diff --git a/android/navi-mqtt/build.gradle b/android/navi-mqtt/build.gradle
index 23d6665f10..b2addf5ffe 100644
--- a/android/navi-mqtt/build.gradle
+++ b/android/navi-mqtt/build.gradle
@@ -9,7 +9,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
targetSdk 33
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
diff --git a/android/navi-pay/build.gradle b/android/navi-pay/build.gradle
index ca32f5af70..049129c7a1 100644
--- a/android/navi-pay/build.gradle
+++ b/android/navi-pay/build.gradle
@@ -12,7 +12,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
targetSdk 33
consumerProguardFiles "consumer-rules.pro"
diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/common/connectivity/NaviPayNetworkConnectivity.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/common/connectivity/NaviPayNetworkConnectivity.kt
index 5e7d20ac6f..3b95f0040d 100644
--- a/android/navi-pay/src/main/kotlin/com/navi/pay/common/connectivity/NaviPayNetworkConnectivity.kt
+++ b/android/navi-pay/src/main/kotlin/com/navi/pay/common/connectivity/NaviPayNetworkConnectivity.kt
@@ -10,7 +10,6 @@ package com.navi.pay.common.connectivity
import android.content.Context
import android.net.ConnectivityManager
import android.net.NetworkCapabilities
-import android.os.Build
import com.navi.pay.common.model.view.SimInfo
import com.navi.pay.common.utils.NaviPayCommonUtils
import dagger.hilt.android.qualifiers.ApplicationContext
@@ -31,30 +30,15 @@ class NaviPayNetworkConnectivityImpl @Inject constructor(@ApplicationContext val
var result = false
val connectivityManager =
context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- val networkCapabilities = connectivityManager.activeNetwork ?: return false
- val actNw =
- connectivityManager.getNetworkCapabilities(networkCapabilities) ?: return false
- result =
- when {
- actNw.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> true
- actNw.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> true
- actNw.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> true
- else -> false
- }
- } else {
- connectivityManager.run {
- connectivityManager.activeNetworkInfo?.run {
- result =
- when (type) {
- ConnectivityManager.TYPE_WIFI -> true
- ConnectivityManager.TYPE_MOBILE -> true
- ConnectivityManager.TYPE_ETHERNET -> true
- else -> false
- }
- }
+ val networkCapabilities = connectivityManager.activeNetwork ?: return false
+ val actNw = connectivityManager.getNetworkCapabilities(networkCapabilities) ?: return false
+ result =
+ when {
+ actNw.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> true
+ actNw.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> true
+ actNw.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> true
+ else -> false
}
- }
return result
}
diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/common/ui/NaviPayWidget.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/common/ui/NaviPayWidget.kt
index 883829374a..dbf4204010 100644
--- a/android/navi-pay/src/main/kotlin/com/navi/pay/common/ui/NaviPayWidget.kt
+++ b/android/navi-pay/src/main/kotlin/com/navi/pay/common/ui/NaviPayWidget.kt
@@ -13,7 +13,6 @@ import android.appwidget.AppWidgetProvider
import android.content.Context
import android.content.Intent
import android.net.Uri
-import android.os.Build
import android.widget.RemoteViews
import com.navi.pay.R
import com.navi.pay.common.model.view.NaviPayScreenType
@@ -60,16 +59,12 @@ internal fun updateAppWidget(
}
val pendingIntent: PendingIntent =
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- PendingIntent.getActivity(
- context,
- 0,
- intent,
- PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
- )
- } else {
- PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)
- }
+ PendingIntent.getActivity(
+ context,
+ 0,
+ intent,
+ PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
+ )
val views: RemoteViews =
RemoteViews(context.packageName, R.layout.navi_pay_widget).apply {
diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/common/utils/NaviPayCommonUtils.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/common/utils/NaviPayCommonUtils.kt
index 855f142367..f2d03f1e3e 100644
--- a/android/navi-pay/src/main/kotlin/com/navi/pay/common/utils/NaviPayCommonUtils.kt
+++ b/android/navi-pay/src/main/kotlin/com/navi/pay/common/utils/NaviPayCommonUtils.kt
@@ -108,10 +108,6 @@ object NaviPayCommonUtils {
fun getCurrentSimInfoList(context: Context): List {
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP_MR1) {
- return emptyList()
- }
-
if (
ActivityCompat.checkSelfPermission(context, Manifest.permission.READ_PHONE_STATE) !=
PackageManager.PERMISSION_GRANTED
@@ -187,10 +183,6 @@ object NaviPayCommonUtils {
subscriptionId: Int,
activityContext: Context
) {
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP_MR1) {
- return
- }
-
if (
ActivityCompat.checkSelfPermission(activityContext, Manifest.permission.SEND_SMS) !=
PackageManager.PERMISSION_GRANTED
@@ -212,38 +204,20 @@ object NaviPayCommonUtils {
}
val sentPendingIntent =
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- PendingIntent.getBroadcast(
- activityContext,
- (0..1000).random(),
- Intent(INTENT_ACTION_SMS_SENT),
- PendingIntent.FLAG_IMMUTABLE
- )
- } else {
- PendingIntent.getBroadcast(
- activityContext,
- (0..1000).random(),
- Intent(INTENT_ACTION_SMS_SENT),
- 0
- )
- }
+ PendingIntent.getBroadcast(
+ activityContext,
+ (0..1000).random(),
+ Intent(INTENT_ACTION_SMS_SENT),
+ PendingIntent.FLAG_IMMUTABLE
+ )
val deliveredPendingIntent =
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- PendingIntent.getBroadcast(
- activityContext,
- (0..1000).random(),
- Intent(INTENT_ACTION_SMS_DELIVERED),
- PendingIntent.FLAG_IMMUTABLE
- )
- } else {
- PendingIntent.getBroadcast(
- activityContext,
- (0..1000).random(),
- Intent(INTENT_ACTION_SMS_DELIVERED),
- 0
- )
- }
+ PendingIntent.getBroadcast(
+ activityContext,
+ (0..1000).random(),
+ Intent(INTENT_ACTION_SMS_DELIVERED),
+ PendingIntent.FLAG_IMMUTABLE
+ )
try {
NaviTrackEvent.trackEventOnClickStream(
@@ -283,11 +257,6 @@ object NaviPayCommonUtils {
isNaviPayAccessible = false,
context.getString(R.string.please_login_to_access_navi_pay)
)
- } else if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
- NaviPayAccessEligibility(
- isNaviPayAccessible = false,
- context.getString(R.string.navi_pay_android_version_error)
- )
} else if (CommonRootDeviceUtil.instance.isDeviceRooted()) {
NaviPayAccessEligibility(
isNaviPayAccessible = false,
diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/common/utils/NaviPayNotificationHandler.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/common/utils/NaviPayNotificationHandler.kt
index ac70c8370d..d3c62a2ede 100644
--- a/android/navi-pay/src/main/kotlin/com/navi/pay/common/utils/NaviPayNotificationHandler.kt
+++ b/android/navi-pay/src/main/kotlin/com/navi/pay/common/utils/NaviPayNotificationHandler.kt
@@ -48,21 +48,12 @@ object NaviPayNotificationHandler {
}
}
val pendingIntent =
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- PendingIntent.getActivity(
- context,
- NAVI_PAY_NOTIFICATION_PENDING_INTENT_REQUEST_CODE,
- intent,
- PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
- )
- } else {
- PendingIntent.getActivity(
- context,
- NAVI_PAY_NOTIFICATION_PENDING_INTENT_REQUEST_CODE,
- intent,
- PendingIntent.FLAG_UPDATE_CURRENT
- )
- }
+ PendingIntent.getActivity(
+ context,
+ NAVI_PAY_NOTIFICATION_PENDING_INTENT_REQUEST_CODE,
+ intent,
+ PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
+ )
val notificationContentTitle =
remoteMessage.data[NAVI_PAY_NOTIFICATION_TITLE]
diff --git a/android/navi-pay/src/main/res/values/strings.xml b/android/navi-pay/src/main/res/values/strings.xml
index 815fb76029..7dff158e6c 100644
--- a/android/navi-pay/src/main/res/values/strings.xml
+++ b/android/navi-pay/src/main/res/values/strings.xml
@@ -350,7 +350,6 @@
Please stay on the app until verification process is done. Closing the app can stop the verification process.
Please login to access Navi UPI
You cannot use Navi UPI on a rooted device
- Navi UPI is not available on android version 5.1 and below
Unable to access Navi UPI
Pause start date
Pause end date
diff --git a/android/navi-payment/build.gradle b/android/navi-payment/build.gradle
index 7389b22596..f0ae8a8c41 100644
--- a/android/navi-payment/build.gradle
+++ b/android/navi-payment/build.gradle
@@ -12,7 +12,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
targetSdk 33
consumerProguardFiles "consumer-rules.pro"
diff --git a/android/navi-rr/build.gradle b/android/navi-rr/build.gradle
index 90ca34eeec..f97a77ee05 100644
--- a/android/navi-rr/build.gradle
+++ b/android/navi-rr/build.gradle
@@ -12,7 +12,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
targetSdk 33
consumerProguardFiles "consumer-rules.pro"
diff --git a/android/navi-vkyc/build.gradle b/android/navi-vkyc/build.gradle
index 33e40b6a78..0bfa39d458 100644
--- a/android/navi-vkyc/build.gradle
+++ b/android/navi-vkyc/build.gradle
@@ -11,7 +11,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
targetSdk 33
consumerProguardFiles "consumer-rules.pro"
diff --git a/android/navi-widgets/build.gradle b/android/navi-widgets/build.gradle
index be1ee8eb0e..5260cd4eed 100644
--- a/android/navi-widgets/build.gradle
+++ b/android/navi-widgets/build.gradle
@@ -11,7 +11,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
targetSdk 33
consumerProguardFiles "consumer-rules.pro"
diff --git a/android/navi-widgets/src/main/java/com/navi/naviwidgets/extensions/WidgetExt.kt b/android/navi-widgets/src/main/java/com/navi/naviwidgets/extensions/WidgetExt.kt
index 66aa51080e..d3fb712a23 100644
--- a/android/navi-widgets/src/main/java/com/navi/naviwidgets/extensions/WidgetExt.kt
+++ b/android/navi-widgets/src/main/java/com/navi/naviwidgets/extensions/WidgetExt.kt
@@ -460,19 +460,11 @@ fun TextView.setTextFieldData(
}
fun TextView.setPrimaryButtonStyle() {
- if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
- this.setTextAppearance(R.style.ButtonFontStylePurple)
- } else {
- this.setTextAppearance(context, R.style.ButtonFontStylePurple)
- }
+ this.setTextAppearance(R.style.ButtonFontStylePurple)
}
fun TextView.setSecondaryButtonStyle() {
- if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
- this.setTextAppearance(R.style.ButtonFontStyleGreyBlack)
- } else {
- this.setTextAppearance(context, R.style.ButtonFontStyleGreyBlack)
- }
+ this.setTextAppearance(R.style.ButtonFontStyleGreyBlack)
}
private fun TextView.setTextGravity(alignment: String) {
diff --git a/android/navi_hl_dynamic/build.gradle b/android/navi_hl_dynamic/build.gradle
index de33897aa8..8182c452fa 100644
--- a/android/navi_hl_dynamic/build.gradle
+++ b/android/navi_hl_dynamic/build.gradle
@@ -11,7 +11,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
diff --git a/android/navi_hl_dynamic/src/main/java/com/navi/hl/common/ui/fragment/HomeLoanBaseFragment.kt b/android/navi_hl_dynamic/src/main/java/com/navi/hl/common/ui/fragment/HomeLoanBaseFragment.kt
index e25740d99b..705f57516f 100644
--- a/android/navi_hl_dynamic/src/main/java/com/navi/hl/common/ui/fragment/HomeLoanBaseFragment.kt
+++ b/android/navi_hl_dynamic/src/main/java/com/navi/hl/common/ui/fragment/HomeLoanBaseFragment.kt
@@ -7,7 +7,6 @@
package com.navi.hl.common.ui.fragment
-import android.os.Build
import android.os.Bundle
import android.view.View
import androidx.core.widget.NestedScrollView
@@ -63,53 +62,47 @@ abstract class HomeLoanBaseFragment : BaseFragment() {
}
internal fun addScrollListener(recyclerBinding: RecyclerView) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- (activity as? HomeLoanStepsActivity)?.addHeaderShadow(
- recyclerBinding.computeVerticalScrollOffset()
- )
- recyclerBinding.addOnScrollListener(
- object : RecyclerView.OnScrollListener() {
- override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
- super.onScrolled(recyclerView, dx, dy)
- if (recyclerBinding.computeVerticalScrollOffset() == 0) {
- (activity as? HomeLoanStepsActivity)?.removeHeaderShadow()
- } else if (!(dx == 0 && dy == 0)) {
- (activity as? HomeLoanStepsActivity)?.addHeaderShadow(
- recyclerBinding.computeVerticalScrollOffset()
- )
- }
+ (activity as? HomeLoanStepsActivity)?.addHeaderShadow(
+ recyclerBinding.computeVerticalScrollOffset()
+ )
+ recyclerBinding.addOnScrollListener(
+ object : RecyclerView.OnScrollListener() {
+ override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
+ super.onScrolled(recyclerView, dx, dy)
+ if (recyclerBinding.computeVerticalScrollOffset() == 0) {
+ (activity as? HomeLoanStepsActivity)?.removeHeaderShadow()
+ } else if (!(dx == 0 && dy == 0)) {
+ (activity as? HomeLoanStepsActivity)?.addHeaderShadow(
+ recyclerBinding.computeVerticalScrollOffset()
+ )
}
}
- )
- }
+ }
+ )
}
internal fun addScrollListener(scrollView: NestedScrollView) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- (activity as? HomeLoanStepsActivity)?.addHeaderShadow(scrollView.scrollY)
- scrollView.setOnScrollChangeListener { _, _, scrollY, _, oldScrollY ->
- if (scrollY == 0) {
- (activity as? HomeLoanStepsActivity)?.removeHeaderShadow()
- } else {
- if (
- (activity as? HomeLoanStepsActivity)
- ?.supportFragmentManager
- ?.backStackEntryCount
- .orZero() <= 0
- ) {
- (activity as? HomeLoanStepsActivity)?.addHeaderShadow(
- scrollY * WEIGHTED_SCROLL_VIEW_OFFSET.toInt()
- )
- }
+ (activity as? HomeLoanStepsActivity)?.addHeaderShadow(scrollView.scrollY)
+ scrollView.setOnScrollChangeListener { _, _, scrollY, _, oldScrollY ->
+ if (scrollY == 0) {
+ (activity as? HomeLoanStepsActivity)?.removeHeaderShadow()
+ } else {
+ if (
+ (activity as? HomeLoanStepsActivity)
+ ?.supportFragmentManager
+ ?.backStackEntryCount
+ .orZero() <= 0
+ ) {
+ (activity as? HomeLoanStepsActivity)?.addHeaderShadow(
+ scrollY * WEIGHTED_SCROLL_VIEW_OFFSET.toInt()
+ )
}
}
}
}
internal fun removeScrollListener(scrollView: NestedScrollView) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- scrollView.setOnScrollChangeListener(null as NestedScrollView.OnScrollChangeListener?)
- }
+ scrollView.setOnScrollChangeListener(null as NestedScrollView.OnScrollChangeListener?)
}
internal fun setDataToLatencyMapper(eventName: String? = null, action: String? = null) {
diff --git a/android/navi_pl_dynamic/build.gradle b/android/navi_pl_dynamic/build.gradle
index c2e0d0b7ed..59d44e9761 100644
--- a/android/navi_pl_dynamic/build.gradle
+++ b/android/navi_pl_dynamic/build.gradle
@@ -10,7 +10,7 @@ android {
compileSdk 34
defaultConfig {
- minSdk 21
+ minSdk 23
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}