Skip to content

Commit

Permalink
package installer crash workaround
Browse files Browse the repository at this point in the history
  • Loading branch information
crackededed committed Oct 16, 2024
1 parent 49baebe commit 58c6942
Showing 1 changed file with 31 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@ import android.app.Activity
import android.content.ComponentName
import android.content.Intent
import android.content.pm.PackageManager
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.provider.Settings
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
Expand Down Expand Up @@ -178,6 +180,13 @@ class SettingsActivity : AppCompatActivity() {
repeatOnLifecycle(Lifecycle.State.STARTED) {
viewModel.updateUrl.collectLatest {
if (it != null) {
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.UPSIDE_DOWN_CAKE && !requireContext().prefs().getBoolean(C.UPDATE_USE_BROWSER, false) &&
!requireContext().packageManager.canRequestPackageInstalls()) {
val intent = Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, Uri.parse("package:${requireContext().packageName}"))
if (intent.resolveActivity(requireContext().packageManager) != null) {
requireContext().startActivity(intent)
}
}
requireActivity().getAlertDialogBuilder()
.setTitle(getString(R.string.update_available))
.setMessage(getString(R.string.update_message))
Expand Down Expand Up @@ -349,6 +358,17 @@ class SettingsActivity : AppCompatActivity() {
true
}

findPreference<SwitchPreferenceCompat>("update_check_enabled")?.setOnPreferenceChangeListener { _, newValue ->
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.UPSIDE_DOWN_CAKE && newValue == true && !requireContext().prefs().getBoolean(C.UPDATE_USE_BROWSER, false) &&
!requireContext().packageManager.canRequestPackageInstalls()) {
val intent = Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, Uri.parse("package:${requireContext().packageName}"))
if (intent.resolveActivity(requireContext().packageManager) != null) {
requireContext().startActivity(intent)
}
}
true
}

findPreference<EditTextPreference>("update_check_frequency")?.apply {
summary = getString(R.string.update_check_frequency_summary, text)
setOnPreferenceChangeListener { _, newValue ->
Expand All @@ -357,6 +377,17 @@ class SettingsActivity : AppCompatActivity() {
}
}

findPreference<SwitchPreferenceCompat>("update_use_browser")?.setOnPreferenceChangeListener { _, newValue ->
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.UPSIDE_DOWN_CAKE && newValue == false && requireContext().prefs().getBoolean(C.UPDATE_CHECK_ENABLED, false) &&
!requireContext().packageManager.canRequestPackageInstalls()) {
val intent = Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, Uri.parse("package:${requireContext().packageName}"))
if (intent.resolveActivity(requireContext().packageManager) != null) {
requireContext().startActivity(intent)
}
}
true
}

findPreference<Preference>("check_updates")?.setOnPreferenceClickListener {
viewModel.checkUpdates(
requireContext().prefs().getString(C.UPDATE_URL, null) ?: "https://api.github.com/repos/crackededed/xtra/releases/tags/latest",
Expand Down

0 comments on commit 58c6942

Please sign in to comment.