some adjustments
This commit is contained in:
parent
2272c21dd8
commit
db2cb4e04b
|
@ -58,6 +58,7 @@ dependencies {
|
|||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
||||
|
||||
// AndroidX
|
||||
implementation 'androidx.activity:activity:1.1.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
||||
implementation 'androidx.browser:browser:1.2.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
|
||||
|
@ -76,7 +77,6 @@ dependencies {
|
|||
implementation 'com.crowdin.platform:mobile-sdk:1.1.4'
|
||||
implementation 'com.github.topjohnwu.libsu:core:2.5.1'
|
||||
implementation 'com.mindorks.android:prdownloader:0.6.0'
|
||||
implementation 'com.squareup.okhttp3:okhttp:4.7.2'
|
||||
implementation 'com.beust:klaxon:5.0.1'
|
||||
|
||||
//core
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
|
||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
|
||||
|
||||
<application
|
||||
android:name=".core.App"
|
||||
|
|
|
@ -5,6 +5,8 @@ import com.crowdin.platform.Crowdin
|
|||
import com.crowdin.platform.CrowdinConfig
|
||||
import com.crowdin.platform.data.remote.NetworkType
|
||||
import com.downloader.PRDownloader
|
||||
import com.vanced.manager.utils.AppUtils.isPermissionGranted
|
||||
import com.vanced.manager.utils.AppUtils.requestPermission
|
||||
import com.vanced.manager.utils.NotificationHelper.createNotifChannel
|
||||
|
||||
class App: Application() {
|
||||
|
@ -19,6 +21,9 @@ class App: Application() {
|
|||
.withDistributionHash("36c51aed3180a4f43073d28j4s6")
|
||||
.withNetworkType(NetworkType.WIFI)
|
||||
.build())
|
||||
|
||||
if (!isPermissionGranted(this))
|
||||
requestPermission()
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -6,26 +6,17 @@ import android.content.BroadcastReceiver
|
|||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.IntentFilter
|
||||
import android.net.Uri
|
||||
import android.os.IBinder
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager
|
||||
import androidx.preference.PreferenceManager
|
||||
import com.downloader.Error
|
||||
import com.downloader.OnDownloadListener
|
||||
import com.downloader.OnStartOrResumeListener
|
||||
import com.downloader.PRDownloader
|
||||
import com.vanced.manager.R
|
||||
import com.vanced.manager.core.installer.AppInstaller
|
||||
import com.vanced.manager.ui.fragments.HomeFragment
|
||||
import com.vanced.manager.utils.DownloadHelper.download
|
||||
import com.vanced.manager.utils.InternetTools.baseUrl
|
||||
import com.vanced.manager.utils.InternetTools.getFileNameFromUrl
|
||||
import com.vanced.manager.utils.InternetTools.getObjectFromJson
|
||||
import com.vanced.manager.utils.NotificationHelper
|
||||
import com.vanced.manager.utils.NotificationHelper.cancelNotif
|
||||
import com.vanced.manager.utils.NotificationHelper.createBasicNotif
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import java.io.File
|
||||
|
||||
class MicrogDownloadService: Service() {
|
||||
|
||||
|
@ -43,18 +34,11 @@ class MicrogDownloadService: Service() {
|
|||
runBlocking {
|
||||
launch {
|
||||
//val prefs = getSharedPreferences("installPrefs", Context.MODE_PRIVATE)
|
||||
val apkUrl = getObjectFromJson(
|
||||
val url = getObjectFromJson(
|
||||
"${PreferenceManager.getDefaultSharedPreferences(context)
|
||||
.getString("install_url", baseUrl)}/microg.json", "url")
|
||||
|
||||
val request = DownloadManager.Request(Uri.parse(apkUrl))
|
||||
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI)
|
||||
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE)
|
||||
request.setTitle(getString(R.string.downloading_file, "MicroG"))
|
||||
request.setDestinationUri(Uri.fromFile(File("${filesDir.path}/microg.apk")))
|
||||
|
||||
val downloadManager = getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
|
||||
downloadId = downloadManager.enqueue(request)
|
||||
downloadId = download(url, "apk", "microg.apk", this@MicrogDownloadService)
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
|
|
@ -6,28 +6,20 @@ import android.content.BroadcastReceiver
|
|||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.IntentFilter
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.os.IBinder
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager
|
||||
import androidx.preference.PreferenceManager
|
||||
import com.downloader.Error
|
||||
import com.downloader.OnDownloadListener
|
||||
import com.downloader.OnStartOrResumeListener
|
||||
import com.downloader.PRDownloader
|
||||
import com.vanced.manager.R
|
||||
import com.vanced.manager.core.installer.RootSplitInstallerService
|
||||
import com.vanced.manager.core.installer.SplitInstaller
|
||||
import com.vanced.manager.ui.fragments.HomeFragment
|
||||
import com.vanced.manager.utils.DownloadHelper.download
|
||||
import com.vanced.manager.utils.InternetTools.baseUrl
|
||||
import com.vanced.manager.utils.InternetTools.getFileNameFromUrl
|
||||
import com.vanced.manager.utils.InternetTools.getObjectFromJson
|
||||
import com.vanced.manager.utils.NotificationHelper.cancelNotif
|
||||
import com.vanced.manager.utils.NotificationHelper.createBasicNotif
|
||||
import com.vanced.manager.utils.NotificationHelper.displayDownloadNotif
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import java.io.File
|
||||
|
||||
class VancedDownloadService: Service() {
|
||||
|
||||
|
@ -52,8 +44,7 @@ class VancedDownloadService: Service() {
|
|||
val vancedVer = getObjectFromJson("$baseUrl/vanced.json", "version")
|
||||
|
||||
val prefs = getSharedPreferences("installPrefs", Context.MODE_PRIVATE)
|
||||
val variant = PreferenceManager.getDefaultSharedPreferences(context)
|
||||
.getString("vanced_variant", "nonroot")
|
||||
val variant = PreferenceManager.getDefaultSharedPreferences(context).getString("vanced_variant", "nonroot")
|
||||
val lang = prefs?.getString("lang", "en")
|
||||
val theme = prefs?.getString("theme", "dark")
|
||||
val arch =
|
||||
|
@ -72,22 +63,7 @@ class VancedDownloadService: Service() {
|
|||
}
|
||||
|
||||
apkType = type
|
||||
val request = DownloadManager.Request(Uri.parse(url))
|
||||
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI)
|
||||
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE)
|
||||
request.setTitle(getString(R.string.downloading_file, "MicroG"))
|
||||
request.setDestinationUri(
|
||||
Uri.fromFile(
|
||||
File(
|
||||
"${filesDir.path}/${getFileNameFromUrl(
|
||||
url
|
||||
)}"
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
val downloadManager = getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
|
||||
downloadId = downloadManager.enqueue(request)
|
||||
downloadId = download(url, "apks", getFileNameFromUrl(url), this@VancedDownloadService)
|
||||
}
|
||||
}
|
||||
/*
|
||||
|
|
|
@ -17,20 +17,11 @@ import androidx.navigation.ui.setupWithNavController
|
|||
import androidx.preference.PreferenceManager
|
||||
import com.crowdin.platform.Crowdin
|
||||
import com.crowdin.platform.LoadingStateListener
|
||||
import com.downloader.Error
|
||||
import com.downloader.OnDownloadListener
|
||||
import com.downloader.PRDownloader
|
||||
import com.vanced.manager.R
|
||||
import com.vanced.manager.core.installer.AppInstaller
|
||||
import com.vanced.manager.databinding.ActivityMainBinding
|
||||
import com.vanced.manager.ui.dialogs.DialogContainer
|
||||
import com.vanced.manager.ui.dialogs.DialogContainer.installAlertBuilder
|
||||
import com.vanced.manager.ui.dialogs.DialogContainer.launchVanced
|
||||
import com.vanced.manager.ui.dialogs.DialogContainer.regularPackageInstalled
|
||||
import com.vanced.manager.ui.fragments.HomeFragment
|
||||
import com.vanced.manager.ui.fragments.UpdateCheckFragment
|
||||
import com.vanced.manager.utils.InternetTools
|
||||
import com.vanced.manager.utils.NotificationHelper
|
||||
import com.vanced.manager.utils.PackageHelper
|
||||
import com.vanced.manager.utils.ThemeHelper.setFinalTheme
|
||||
import kotlinx.coroutines.launch
|
||||
|
@ -47,13 +38,13 @@ class MainActivity : AppCompatActivity() {
|
|||
when (intent.action) {
|
||||
INSTALL_COMPLETED -> {
|
||||
if (intent.getStringExtra("package") == "split")
|
||||
launchVanced(this@MainActivity)
|
||||
DialogContainer.launchVanced(this@MainActivity)
|
||||
else
|
||||
regularPackageInstalled(getString(R.string.successfully_installed, "MicroG"), this@MainActivity)
|
||||
DialogContainer.regularPackageInstalled(getString(R.string.successfully_installed, "MicroG"), this@MainActivity)
|
||||
}
|
||||
INSTALL_FAILED -> installAlertBuilder(intent.getStringExtra("errorMsg") as String, this@MainActivity)
|
||||
INSTALL_FAILED -> DialogContainer.installAlertBuilder(intent.getStringExtra("errorMsg") as String, this@MainActivity)
|
||||
APP_UNINSTALLED -> restartActivity()
|
||||
APP_NOT_UNINSTALLED -> installAlertBuilder(getString(R.string.failed_uninstall, intent.getStringExtra("pkgName")), this@MainActivity)
|
||||
APP_NOT_UNINSTALLED -> DialogContainer.installAlertBuilder(getString(R.string.failed_uninstall, intent.getStringExtra("pkgName")), this@MainActivity)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,12 +31,13 @@ class URLChangeFragment : DialogFragment() {
|
|||
val prefs = PreferenceManager.getDefaultSharedPreferences(activity)
|
||||
urlField.hint = prefs.getString("install_url", baseUrl)
|
||||
view.findViewById<MaterialButton>(R.id.url_save).setOnClickListener {
|
||||
if (urlField.text.endsWith("/"))
|
||||
prefs.edit().putString("install_url", urlField.text.removeSuffix("/").toString()).apply()
|
||||
|
||||
if (!urlField.text.startsWith("https://"))
|
||||
prefs.edit().putString("install_url", "https://${urlField.text}").apply()
|
||||
val finalUrl =
|
||||
if (!urlField.text.startsWith("https://"))
|
||||
"https://${urlField.text}".removeSuffix("/")
|
||||
else
|
||||
urlField.text.removeSuffix("/").toString()
|
||||
|
||||
prefs.edit().putString("install_url", finalUrl).apply()
|
||||
dismiss()
|
||||
}
|
||||
view.findViewById<MaterialButton>(R.id.url_reset).setOnClickListener {
|
||||
|
|
|
@ -3,7 +3,6 @@ package com.vanced.manager.ui.fragments
|
|||
import android.app.DownloadManager
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Context.DOWNLOAD_SERVICE
|
||||
import android.content.Intent
|
||||
import android.content.IntentFilter
|
||||
import android.graphics.Color
|
||||
|
@ -18,11 +17,9 @@ import android.widget.Button
|
|||
import android.widget.TextView
|
||||
import androidx.core.content.FileProvider
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import com.downloader.Error
|
||||
import com.downloader.OnDownloadListener
|
||||
import com.downloader.PRDownloader
|
||||
import com.google.android.material.button.MaterialButton
|
||||
import com.vanced.manager.R
|
||||
import com.vanced.manager.utils.DownloadHelper.download
|
||||
import com.vanced.manager.utils.InternetTools
|
||||
import com.vanced.manager.utils.InternetTools.isUpdateAvailable
|
||||
import kotlinx.coroutines.launch
|
||||
|
@ -76,17 +73,8 @@ class UpdateCheckFragment : DialogFragment() {
|
|||
private fun upgradeManager() {
|
||||
runBlocking {
|
||||
launch {
|
||||
val dwnldUrl = InternetTools.getObjectFromJson("https://x1nto.github.io/VancedFiles/manager.json", "url")
|
||||
//val loadBar = view?.findViewById<ProgressBar>(R.id.update_center_progressbar)
|
||||
|
||||
val request = DownloadManager.Request(Uri.parse(dwnldUrl))
|
||||
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI)
|
||||
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE)
|
||||
request.setTitle(activity?.getString(R.string.downloading_file, "Manager"))
|
||||
request.setDestinationUri(Uri.fromFile(File("${activity?.filesDir?.path}/manager.apk")))
|
||||
|
||||
val downloadManager = activity?.getSystemService(DOWNLOAD_SERVICE) as DownloadManager
|
||||
downloadId = downloadManager.enqueue(request)
|
||||
val url = InternetTools.getObjectFromJson("https://x1nto.github.io/VancedFiles/manager.json", "url")
|
||||
downloadId = activity?.let { download(url, "apk", "manager.apk", it) }!!
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
package com.vanced.manager.utils
|
||||
|
||||
import android.content.Context
|
||||
import android.content.pm.PackageManager
|
||||
import androidx.core.content.ContextCompat.checkSelfPermission
|
||||
|
||||
object AppUtils {
|
||||
|
||||
fun requestPermission(context: Context) {
|
||||
val requestPermissionLauncher = registerForActivityResult()
|
||||
}
|
||||
|
||||
fun isPermissionGranted(context: Context): Boolean {
|
||||
//Check Storage Permissions
|
||||
return checkSelfPermission(context, android.Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package com.vanced.manager.utils
|
||||
|
||||
import android.app.DownloadManager
|
||||
import android.content.Context
|
||||
import android.net.Uri
|
||||
import com.vanced.manager.R
|
||||
|
||||
object DownloadHelper {
|
||||
|
||||
fun download(url: String, dir: String, child: String, context: Context): Long {
|
||||
val request = DownloadManager.Request(Uri.parse(url)).apply {
|
||||
setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI)
|
||||
setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE)
|
||||
setTitle(context.getString(R.string.downloading_file, child))
|
||||
setDestinationInExternalPublicDir(context.getExternalFilesDir(dir)?.path, child)
|
||||
}
|
||||
|
||||
val downloadManager = context.getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
|
||||
return downloadManager.enqueue(request)
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue