Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

android: update user agent values #1203

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions nym-vpn-android/app/src/main/java/net/nymtech/nymvpn/NymVpn.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package net.nymtech.nymvpn

import android.app.Application
import android.content.Context
import android.os.Build
import android.os.StrictMode
import androidx.lifecycle.DefaultLifecycleObserver
import androidx.lifecycle.LifecycleOwner
Expand Down Expand Up @@ -102,5 +103,15 @@ class NymVpn : Application() {
private set

val environment = Tunnel.Environment.from(BuildConfig.FLAVOR)

fun getCPUArchitecture(): String {
return when (Build.SUPPORTED_ABIS.firstOrNull()) {
"arm64-v8a" -> "ARM64"
"armeabi-v7a" -> "ARM32"
"x86_64" -> "x86_64"
"x86" -> "x86"
else -> "Unknown"
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import kotlinx.coroutines.SupervisorJob
import net.nymtech.logcatutil.LogCollect
import net.nymtech.logcatutil.LogcatHelper
import net.nymtech.nymvpn.BuildConfig
import net.nymtech.nymvpn.NymVpn
import net.nymtech.nymvpn.data.GatewayRepository
import net.nymtech.nymvpn.data.SettingsRepository
import net.nymtech.nymvpn.manager.shortcut.DynamicShortcutManager
Expand All @@ -34,6 +35,7 @@ import net.nymtech.nymvpn.service.notification.NotificationService
import net.nymtech.nymvpn.service.notification.VpnAlertNotifications
import net.nymtech.nymvpn.util.Constants
import net.nymtech.nymvpn.util.FileUtils
import net.nymtech.nymvpn.util.extensions.isAndroidTV
import net.nymtech.vpn.NymApi
import net.nymtech.vpn.backend.Backend
import net.nymtech.vpn.backend.NymBackend
Expand All @@ -56,10 +58,16 @@ object AppModule {

@Singleton
@Provides
fun provideNymApi(@IoDispatcher dispatcher: CoroutineDispatcher): NymApi {
fun provideNymApi(@IoDispatcher dispatcher: CoroutineDispatcher, @ApplicationContext context: Context): NymApi {
val platform = if(context.isAndroidTV()) "AndroidTV" else "Android"
return NymApi(
dispatcher,
UserAgent(BuildConfig.APP_NAME, BuildConfig.VERSION_NAME, "android-sdk${Build.VERSION.SDK_INT}", BuildConfig.COMMIT_HASH),
UserAgent(
Constants.APP_PROJECT_NAME,
BuildConfig.VERSION_NAME,
"${platform}; ${Build.VERSION.SDK_INT}; ${NymVpn.getCPUArchitecture()}; ${BuildConfig.FLAVOR}",
BuildConfig.COMMIT_HASH,
),
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package net.nymtech.nymvpn.util

object Constants {

const val APP_PROJECT_NAME = "nym-vpn-android"

const val LANGUAGE_SWITCH_DELAY = 500L
const val VPN_API_BASE_URL = "https://nymvpn.com/api/"
const val SUBSCRIPTION_TIMEOUT = 5_000L
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -177,3 +177,7 @@ fun Context.launchAppSettings() {
startActivity(intent)
}
}

fun Context.isAndroidTV(): Boolean {
return packageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK)
}
Loading