123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- package com.vpn.fastestvpnservice
- import android.content.Intent
- import android.content.pm.PackageManager
- import android.net.Uri
- import android.os.Build
- import android.os.Bundle
- import android.util.Log
- import androidx.activity.ComponentActivity
- import androidx.activity.compose.setContent
- import androidx.activity.viewModels
- import androidx.compose.foundation.isSystemInDarkTheme
- import androidx.compose.foundation.layout.fillMaxSize
- import androidx.compose.material.ripple.LocalRippleTheme
- import androidx.compose.material3.MaterialTheme
- import androidx.compose.material3.Surface
- import androidx.compose.material3.Text
- import androidx.compose.runtime.Composable
- import androidx.compose.runtime.CompositionLocalProvider
- import androidx.compose.runtime.getValue
- import androidx.compose.runtime.mutableStateOf
- import androidx.compose.runtime.remember
- import androidx.compose.ui.Modifier
- import androidx.compose.ui.graphics.Color
- import androidx.compose.ui.graphics.toArgb
- import androidx.compose.ui.platform.LocalContext
- import androidx.compose.ui.res.colorResource
- import androidx.compose.ui.tooling.preview.Preview
- import androidx.core.app.ActivityCompat
- import androidx.lifecycle.LifecycleOwner
- import androidx.lifecycle.ViewModelProvider
- import androidx.lifecycle.get
- import androidx.lifecycle.viewmodel.compose.viewModel
- import androidx.navigation.compose.rememberNavController
- import de.blinkt.openvpn.core.App
- import com.vpn.fastestvpnservice.beans.isDarkTheme
- import com.vpn.fastestvpnservice.beans.selectedtheme
- import com.vpn.fastestvpnservice.beans.themesList
- import com.vpn.fastestvpnservice.helpers.BasePreferenceHelper
- import com.vpn.fastestvpnservice.interfaces.VPNConnectionCallBacks
- import com.vpn.fastestvpnservice.navigation.SetUpNavGraph
- import com.vpn.fastestvpnservice.screens.helpScreensAll.fileChooserCallback
- import com.vpn.fastestvpnservice.sealedClass.Screen
- import com.vpn.fastestvpnservice.ui.theme.FastestVPNTheme
- import com.vpn.fastestvpnservice.viewmodels.BillingViewModel
- import com.vpn.fastestvpnservice.viewmodels.LoginViewModel
- import com.vpn.fastestvpnservice.viewmodels.SplashViewModel
- import com.vpn.fastestvpnservice.viewmodels.SubscriptionViewModel
- class MainActivity : ComponentActivity() {
- val loginViewModel: LoginViewModel by viewModels()
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- Log.d("test_branch_compose", "QA_1.0")
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
- if (ActivityCompat.checkSelfPermission(
- this,
- android.Manifest.permission.POST_NOTIFICATIONS
- ) != PackageManager.PERMISSION_GRANTED
- ) {
- requestPermissions(arrayOf(android.Manifest.permission.POST_NOTIFICATIONS), 1);
- }
- }
- // if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) // commenting now...
- // {
- // ActivityCompat.requestPermissions(this,
- // arrayOf(
- // android.Manifest.permission.ACCESS_FINE_LOCATION,
- // android.Manifest.permission.ACCESS_COARSE_LOCATION
- // ),
- // PackageManager.PERMISSION_GRANTED
- // )
- // }
- // else {
- // ActivityCompat.requestPermissions(this,
- // arrayOf(android.Manifest.permission.ACCESS_FINE_LOCATION,
- // android.Manifest.permission.ACCESS_COARSE_LOCATION
- // ),
- // PackageManager.PERMISSION_GRANTED
- // )
- // }
- setContent {
- val context = LocalContext.current
- val basePreferenceHelper = BasePreferenceHelper(context)
- val selectedTheme = basePreferenceHelper.getTheme()
- val isSystemInDarkTheme = isSystemInDarkTheme()
- val systemTheme by remember { mutableStateOf(isSystemInDarkTheme) }
- if (selectedTheme == themesList[0])
- {
- isDarkTheme.value = systemTheme
- }
- else {
- isDarkTheme.value = selectedTheme == themesList[2]
- }
- FastestVPNTheme(isDarkTheme.value) {
- window.statusBarColor = colorResource(id = R.color.blue_text).toArgb()
- val navController = rememberNavController()
- SetUpNavGraph(navHostController = navController, this)
- }
- }
- }
- override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
- super.onActivityResult(requestCode, resultCode, data)
- Log.d("test_file_chat", "onActivityResult: $requestCode $resultCode $data")
- if (requestCode == 0) {
- Log.d("test_file_chat", "onActivityResult: ${fileChooserCallback.toString()}")
- fileChooserCallback?.onReceiveValue(null)
- } else {
- fileChooserCallback?.onReceiveValue(arrayOf(Uri.parse(data?.dataString)))
- }
- fileChooserCallback = null
- }
- override fun onDestroy() {
- super.onDestroy()
- val basePreferenceHelper = BasePreferenceHelper(baseContext)
- basePreferenceHelper.clearServerObject()
- Log.d("test_conn_ser_obj", "onDestroy() called")
- }
- companion object {
- var isWGDown: Boolean = true
- var isAutoEnabled: Boolean = false
- var isSnrNotify: Boolean = false
- var isSelectedServersShown: Boolean = false
- var vpnConnectionCallBacks: VPNConnectionCallBacks? = null
- var isStopSubscriptionNavigation: Boolean = true
- }
- }
|