mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2025-03-18 04:08:44 +03:00
making use of the existing sdk int provider instead of supplying it via the BuildMeta
This commit is contained in:
parent
cb59d82846
commit
8b9d1bb0d8
9 changed files with 17 additions and 15 deletions
|
@ -20,6 +20,7 @@ import dagger.Module
|
|||
import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import im.vector.app.BuildConfig
|
||||
import im.vector.app.config.Analytics
|
||||
import im.vector.app.config.Config
|
||||
import im.vector.app.config.KeySharingStrategy
|
||||
|
|
|
@ -23,7 +23,6 @@ import android.content.SharedPreferences
|
|||
import android.content.res.Resources
|
||||
import androidx.preference.PreferenceManager
|
||||
import com.google.i18n.phonenumbers.PhoneNumberUtil
|
||||
import android.os.Build
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
|
@ -212,7 +211,6 @@ object VectorStaticModule {
|
|||
@Singleton
|
||||
fun providesBuildMeta() = BuildMeta(
|
||||
isDebug = BuildConfig.DEBUG,
|
||||
sdkInt = Build.VERSION.SDK_INT,
|
||||
applicationId = BuildConfig.APPLICATION_ID,
|
||||
lowPrivacyLoggingEnabled = Config.LOW_PRIVACY_LOG_ENABLE,
|
||||
versionName = BuildConfig.VERSION_NAME,
|
||||
|
|
|
@ -37,7 +37,7 @@ import androidx.datastore.preferences.core.Preferences
|
|||
import dagger.hilt.EntryPoints
|
||||
import im.vector.app.core.datastore.dataStoreProvider
|
||||
import im.vector.app.core.di.SingletonEntryPoint
|
||||
import im.vector.app.core.resources.BuildMeta
|
||||
import org.matrix.android.sdk.api.util.BuildVersionSdkIntProvider
|
||||
import java.io.OutputStream
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
|
@ -93,9 +93,9 @@ fun Context.safeOpenOutputStream(uri: Uri): OutputStream? {
|
|||
*/
|
||||
@Suppress("deprecation")
|
||||
@SuppressLint("NewApi") // false positive
|
||||
fun Context.inferNoConnectivity(buildMeta: BuildMeta): Boolean {
|
||||
fun Context.inferNoConnectivity(sdkIntProvider: BuildVersionSdkIntProvider): Boolean {
|
||||
val connectivityManager = getSystemService<ConnectivityManager>()!!
|
||||
return if (buildMeta.sdkInt > Build.VERSION_CODES.M) {
|
||||
return if (sdkIntProvider.get() > Build.VERSION_CODES.M) {
|
||||
val networkCapabilities = connectivityManager.getNetworkCapabilities(connectivityManager.activeNetwork)
|
||||
when {
|
||||
networkCapabilities?.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) == true -> false
|
||||
|
|
|
@ -18,7 +18,6 @@ package im.vector.app.core.resources
|
|||
|
||||
data class BuildMeta(
|
||||
val isDebug: Boolean,
|
||||
val sdkInt: Int,
|
||||
val applicationId: String,
|
||||
val lowPrivacyLoggingEnabled: Boolean,
|
||||
val versionName: String,
|
||||
|
|
|
@ -31,6 +31,7 @@ import im.vector.app.features.home.room.detail.RoomDetailActivity
|
|||
import im.vector.app.features.home.room.detail.arguments.TimelineArgs
|
||||
import im.vector.app.features.location.live.map.LiveLocationMapViewActivity
|
||||
import im.vector.app.features.location.live.map.LiveLocationMapViewArgs
|
||||
import im.vector.app.features.notifications.NotificationActionIds
|
||||
import im.vector.app.features.notifications.NotificationUtils
|
||||
import im.vector.app.features.themes.ThemeUtils
|
||||
import javax.inject.Inject
|
||||
|
@ -41,6 +42,7 @@ class LiveLocationNotificationBuilder @Inject constructor(
|
|||
private val context: Context,
|
||||
private val stringProvider: StringProvider,
|
||||
private val clock: Clock,
|
||||
private val actionIds: NotificationActionIds,
|
||||
) {
|
||||
|
||||
/**
|
||||
|
@ -66,7 +68,7 @@ class LiveLocationNotificationBuilder @Inject constructor(
|
|||
liveLocationMapViewArgs = LiveLocationMapViewArgs(roomId = roomId),
|
||||
firstStartMainActivity = true
|
||||
)
|
||||
mapIntent.action = NotificationUtils.TAP_TO_VIEW_ACTION
|
||||
mapIntent.action = actionIds.TAP_TO_VIEW_ACTION
|
||||
// pending intent get reused by system, this will mess up the extra params, so put unique info to avoid that
|
||||
mapIntent.data = createIgnoredUri("openLiveLocationMap?$roomId")
|
||||
|
||||
|
|
|
@ -32,7 +32,6 @@ import im.vector.app.core.extensions.isMatrixId
|
|||
import im.vector.app.core.extensions.toReducedUrl
|
||||
import im.vector.app.core.extensions.vectorStore
|
||||
import im.vector.app.core.platform.VectorViewModel
|
||||
import im.vector.app.core.resources.BuildMeta
|
||||
import im.vector.app.core.resources.StringProvider
|
||||
import im.vector.app.core.utils.ensureProtocol
|
||||
import im.vector.app.core.utils.ensureTrailingSlash
|
||||
|
@ -63,6 +62,7 @@ import org.matrix.android.sdk.api.auth.registration.RegistrationAvailability
|
|||
import org.matrix.android.sdk.api.auth.registration.RegistrationWizard
|
||||
import org.matrix.android.sdk.api.failure.isHomeserverUnavailable
|
||||
import org.matrix.android.sdk.api.session.Session
|
||||
import org.matrix.android.sdk.api.util.BuildVersionSdkIntProvider
|
||||
import timber.log.Timber
|
||||
import java.util.UUID
|
||||
import java.util.concurrent.CancellationException
|
||||
|
@ -86,7 +86,7 @@ class OnboardingViewModel @AssistedInject constructor(
|
|||
private val startAuthenticationFlowUseCase: StartAuthenticationFlowUseCase,
|
||||
private val vectorOverrides: VectorOverrides,
|
||||
private val registrationActionHandler: RegistrationActionHandler,
|
||||
private val buildMeta: BuildMeta,
|
||||
private val sdkIntProvider: BuildVersionSdkIntProvider,
|
||||
) : VectorViewModel<OnboardingViewState, OnboardingAction, OnboardingViewEvents>(initialState) {
|
||||
|
||||
@AssistedFactory
|
||||
|
@ -708,7 +708,7 @@ class OnboardingViewModel @AssistedInject constructor(
|
|||
|
||||
private fun onAuthenticationStartError(error: Throwable, trigger: OnboardingAction.HomeServerChange) {
|
||||
when {
|
||||
error.isHomeserverUnavailable() && applicationContext.inferNoConnectivity(buildMeta) -> _viewEvents.post(
|
||||
error.isHomeserverUnavailable() && applicationContext.inferNoConnectivity(sdkIntProvider) -> _viewEvents.post(
|
||||
OnboardingViewEvents.Failure(error)
|
||||
)
|
||||
deeplinkUrlIsUnavailable(error, trigger) -> _viewEvents.post(
|
||||
|
|
|
@ -25,6 +25,7 @@ import android.view.View
|
|||
import androidx.fragment.app.DialogFragment
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import com.squareup.moshi.Types
|
||||
import im.vector.app.BuildConfig
|
||||
import im.vector.app.R
|
||||
import im.vector.app.core.di.ActiveSessionHolder
|
||||
import im.vector.app.core.extensions.getAllChildFragments
|
||||
|
@ -50,6 +51,7 @@ import okhttp3.Response
|
|||
import org.json.JSONException
|
||||
import org.json.JSONObject
|
||||
import org.matrix.android.sdk.api.Matrix
|
||||
import org.matrix.android.sdk.api.util.BuildVersionSdkIntProvider
|
||||
import org.matrix.android.sdk.api.util.JsonDict
|
||||
import org.matrix.android.sdk.api.util.MatrixJsonParser
|
||||
import org.matrix.android.sdk.api.util.MimeTypes
|
||||
|
@ -76,6 +78,7 @@ class BugReporter @Inject constructor(
|
|||
private val systemLocaleProvider: SystemLocaleProvider,
|
||||
private val matrix: Matrix,
|
||||
private val buildMeta: BuildMeta,
|
||||
private val sdkIntProvider: BuildVersionSdkIntProvider,
|
||||
) {
|
||||
var inMultiWindowMode = false
|
||||
|
||||
|
@ -286,7 +289,7 @@ class BugReporter @Inject constructor(
|
|||
.addFormDataPart("verbose_log", vectorPreferences.labAllowedExtendedLogging().toOnOff())
|
||||
.addFormDataPart("multi_window", inMultiWindowMode.toOnOff())
|
||||
.addFormDataPart(
|
||||
"os", Build.VERSION.RELEASE + " (API " + buildMeta.sdkInt + ") " +
|
||||
"os", Build.VERSION.RELEASE + " (API " + sdkIntProvider.get() + ") " +
|
||||
Build.VERSION.INCREMENTAL + "-" + Build.VERSION.CODENAME
|
||||
)
|
||||
.addFormDataPart("locale", Locale.getDefault().toString())
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
package im.vector.app.features.onboarding
|
||||
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import com.airbnb.mvrx.test.MvRxTestRule
|
||||
import im.vector.app.R
|
||||
import im.vector.app.features.login.LoginConfig
|
||||
|
@ -24,6 +25,7 @@ import im.vector.app.features.login.LoginMode
|
|||
import im.vector.app.features.login.ReAuthHelper
|
||||
import im.vector.app.features.login.SignMode
|
||||
import im.vector.app.features.onboarding.StartAuthenticationFlowUseCase.StartAuthenticationResult
|
||||
import im.vector.app.test.TestBuildVersionSdkIntProvider
|
||||
import im.vector.app.test.fakes.FakeActiveSessionHolder
|
||||
import im.vector.app.test.fakes.FakeAnalyticsTracker
|
||||
import im.vector.app.test.fakes.FakeAuthenticationService
|
||||
|
@ -43,7 +45,6 @@ import im.vector.app.test.fakes.FakeVectorFeatures
|
|||
import im.vector.app.test.fakes.FakeVectorOverrides
|
||||
import im.vector.app.test.fakes.toTestString
|
||||
import im.vector.app.test.fixtures.a401ServerError
|
||||
import im.vector.app.test.fixtures.aBuildMeta
|
||||
import im.vector.app.test.fixtures.aHomeServerCapabilities
|
||||
import im.vector.app.test.test
|
||||
import kotlinx.coroutines.test.runTest
|
||||
|
@ -720,7 +721,7 @@ class OnboardingViewModelTest {
|
|||
fakeStartAuthenticationFlowUseCase.instance,
|
||||
FakeVectorOverrides(),
|
||||
fakeRegistrationActionHandler.instance,
|
||||
aBuildMeta(),
|
||||
TestBuildVersionSdkIntProvider().also { it.value = Build.VERSION_CODES.O },
|
||||
).also {
|
||||
viewModel = it
|
||||
initialState = state
|
||||
|
|
|
@ -16,12 +16,10 @@
|
|||
|
||||
package im.vector.app.test.fixtures
|
||||
|
||||
import android.os.Build
|
||||
import im.vector.app.core.resources.BuildMeta
|
||||
|
||||
fun aBuildMeta() = BuildMeta(
|
||||
isDebug = false,
|
||||
sdkInt = Build.VERSION_CODES.O,
|
||||
applicationId = "im.vector",
|
||||
lowPrivacyLoggingEnabled = false,
|
||||
versionName = "app-version-name",
|
||||
|
|
Loading…
Add table
Reference in a new issue