Ask user first before uninstalling an app via root
This commit is contained in:
@@ -69,6 +69,7 @@ import com.aurora.store.data.downloader.getGroupId
|
||||
import com.aurora.store.data.event.BusEvent
|
||||
import com.aurora.store.data.event.InstallerEvent
|
||||
import com.aurora.store.data.installer.AppInstaller
|
||||
import com.aurora.store.data.installer.RootInstaller
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import com.aurora.store.data.service.AppMetadataStatusListener
|
||||
import com.aurora.store.data.service.UpdateService
|
||||
@@ -95,6 +96,7 @@ import com.aurora.store.viewmodel.details.AppDetailsViewModel
|
||||
import com.aurora.store.viewmodel.details.DetailsClusterViewModel
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehavior
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehavior.BottomSheetCallback
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import com.tonyodev.fetch2.AbstractFetchGroupListener
|
||||
import com.tonyodev.fetch2.Download
|
||||
import com.tonyodev.fetch2.Error
|
||||
@@ -110,6 +112,7 @@ import org.greenrobot.eventbus.ThreadMode
|
||||
import java.io.File
|
||||
import java.util.Locale
|
||||
|
||||
|
||||
class AppDetailsFragment : BaseFragment(R.layout.fragment_details) {
|
||||
|
||||
private var _binding: FragmentDetailsBinding? = null
|
||||
@@ -480,8 +483,23 @@ class AppDetailsFragment : BaseFragment(R.layout.fragment_details) {
|
||||
|
||||
@Synchronized
|
||||
private fun uninstallApp() {
|
||||
AppInstaller.getInstance(requireContext()).getPreferredInstaller()
|
||||
.uninstall(app.packageName)
|
||||
val installer = AppInstaller.getInstance(requireContext()).getPreferredInstaller()
|
||||
|
||||
if (installer is RootInstaller) {
|
||||
MaterialAlertDialogBuilder(requireContext())
|
||||
.setTitle(app.displayName)
|
||||
.setMessage(requireContext().getString(R.string.action_uninstall_confirmation))
|
||||
.setPositiveButton(requireContext().getString(android.R.string.ok)) { _, _ ->
|
||||
installer.uninstall(app.packageName)
|
||||
}
|
||||
.setNegativeButton(requireContext().getString(android.R.string.cancel)) { dialog, _ ->
|
||||
dialog.dismiss()
|
||||
}
|
||||
.create()
|
||||
.show()
|
||||
} else {
|
||||
installer.uninstall(app.packageName)
|
||||
}
|
||||
}
|
||||
|
||||
private fun attachWhiteListStatus() {
|
||||
|
||||
@@ -92,6 +92,7 @@
|
||||
<string name="action_search">"Search"</string>
|
||||
<string name="action_share">"Share"</string>
|
||||
<string name="action_uninstall">"Uninstall"</string>
|
||||
<string name="action_uninstall_confirmation">"Do you want to uninstall this app ?"</string>
|
||||
<string name="action_info">"App Info"</string>
|
||||
<string name="action_update">"Update"</string>
|
||||
<string name="action_update_all">"Update all"</string>
|
||||
|
||||
Reference in New Issue
Block a user