diff --git a/app/src/main/java/com/vanced/manager/adapter/ExpandableAppListAdapter.kt b/app/src/main/java/com/vanced/manager/adapter/ExpandableAppListAdapter.kt index bd00b7d3..5ffb03fb 100644 --- a/app/src/main/java/com/vanced/manager/adapter/ExpandableAppListAdapter.kt +++ b/app/src/main/java/com/vanced/manager/adapter/ExpandableAppListAdapter.kt @@ -18,6 +18,7 @@ import com.vanced.manager.databinding.ViewAppExpandableBinding import com.vanced.manager.model.ButtonTag import com.vanced.manager.model.DataModel import com.vanced.manager.ui.dialogs.AppInfoDialog +import com.vanced.manager.ui.dialogs.AppUninstallDialog import com.vanced.manager.ui.viewmodels.HomeViewModel import com.vanced.manager.utils.* @@ -64,7 +65,7 @@ class ExpandableAppListAdapter( } } appUninstall.setOnClickListener { - dataModel?.appPkg?.let { it1 -> viewModel.uninstallPackage(it1) } + AppUninstallDialog.newInstance(apps[position]).show(activity.supportFragmentManager, null) } appLaunch.setOnClickListener { viewModel.launchApp(apps[position], isRoot) diff --git a/app/src/main/java/com/vanced/manager/ui/dialogs/AppUninstallDialog.kt b/app/src/main/java/com/vanced/manager/ui/dialogs/AppUninstallDialog.kt new file mode 100644 index 00000000..d6c1db6d --- /dev/null +++ b/app/src/main/java/com/vanced/manager/ui/dialogs/AppUninstallDialog.kt @@ -0,0 +1,50 @@ +package com.vanced.manager.ui.dialogs + +import android.app.Activity +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.os.Bundle +import android.view.LayoutInflater +import android.view.ViewGroup +import com.vanced.manager.R +import com.vanced.manager.core.ui.base.BindingDialogFragment +import com.vanced.manager.databinding.DialogAppUninstallBinding + +class AppUninstallDialog : BindingDialogFragment() { + + companion object { + + private var TAG_APP_NAME: String? = null + + fun newInstance(appName: String?) : AppUninstallDialog = AppUninstallDialog().apply { + arguments = Bundle().apply { + TAG_APP_NAME = appName + } + } + } + + override fun binding( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ) = DialogAppUninstallBinding.inflate(inflater, container, false) + + override fun otherSetups() { + dialog?.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + bindData() + } + + private fun bindData() { + with(binding) { + appUninstallConfirm.setOnClickListener { + //uninstall instruction ?? + //dataModel?.appPkg?.let { it1 -> viewModel.uninstallPackage(it1) } (taken from original ExpandanbleAppListAdapter.kt) + //but uninstallPackage method is not static so I would be forced to spawn a new HomeViewModel instance + } + appUninstallCancel.setOnClickListener { + dismiss() + } + appUninstallMessage.text = getString(R.string.uninstall_app_text, TAG_APP_NAME) + } + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_app_uninstall.xml b/app/src/main/res/layout/dialog_app_uninstall.xml new file mode 100644 index 00000000..4f8e5157 --- /dev/null +++ b/app/src/main/res/layout/dialog_app_uninstall.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f28f80c1..e7130d40 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -91,6 +91,8 @@ To install Vanced, you MUST disable MIUI Optimizations in the developer settings. (You can ignore this warning if you are using 20.2.20 or later xiaomi.eu based ROM) MIUI Optimizations are enabled! Please do NOT exit the app during this process! + Are you sure you want to uninstall %1$s ? + Uninstall Redownload Make sure that you downloaded the app from vancedapp.com, the Vanced Discord server, or the Vanced GitHub Version