AppDetailsFragment: Also show Unarchive as primary action

Show action text as "Unarchive" if the package was archived instead of "Install"

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2024-12-21 12:35:39 +07:00
parent 42f87b5f64
commit d48e24f376
3 changed files with 21 additions and 3 deletions

View File

@@ -40,6 +40,7 @@ import com.aurora.extensions.isHuawei
import com.aurora.extensions.isOAndAbove import com.aurora.extensions.isOAndAbove
import com.aurora.extensions.isPAndAbove import com.aurora.extensions.isPAndAbove
import com.aurora.extensions.isTAndAbove import com.aurora.extensions.isTAndAbove
import com.aurora.extensions.isVAndAbove
import com.aurora.extensions.isValidApp import com.aurora.extensions.isValidApp
import com.aurora.store.BuildConfig import com.aurora.store.BuildConfig
import com.aurora.store.R import com.aurora.store.R
@@ -95,6 +96,14 @@ object PackageUtil {
} }
} }
fun isArchived(context: Context, packageName: String): Boolean {
return try {
isVAndAbove && context.packageManager.getArchivedPackage(packageName) != null
} catch (e: PackageManager.NameNotFoundException) {
false
}
}
fun isSharedLibrary(context: Context, packageName: String): Boolean { fun isSharedLibrary(context: Context, packageName: String): Boolean {
return if (isOAndAbove) { return if (isOAndAbove) {
getAllSharedLibraries(context).any { it.name == packageName } getAllSharedLibraries(context).any { it.name == packageName }

View File

@@ -624,10 +624,16 @@ class AppDetailsFragment : BaseFragment<FragmentDetailsBinding>() {
} }
} }
} else { } else {
if (app.isFree) { if (PackageUtil.isArchived(requireContext(), app.packageName)) {
binding.layoutDetailsApp.btnPrimaryAction.setText(R.string.action_install) binding.layoutDetailsApp.btnPrimaryAction.text =
getString(R.string.action_unarchive)
} else { } else {
binding.layoutDetailsApp.btnPrimaryAction.text = app.price if (app.isFree) {
binding.layoutDetailsApp.btnPrimaryAction.text =
getString(R.string.action_install)
} else {
binding.layoutDetailsApp.btnPrimaryAction.text = app.price
}
} }
binding.layoutDetailsApp.btnPrimaryAction.setOnClickListener { binding.layoutDetailsApp.btnPrimaryAction.setOnClickListener {

View File

@@ -480,4 +480,7 @@
<!-- SpoofFragment --> <!-- SpoofFragment -->
<string name="default_spoof">Default</string> <string name="default_spoof">Default</string>
<string name="available_spoof">Available</string> <string name="available_spoof">Available</string>
<!-- AppDetailsFragment -->
<string name="action_unarchive">Unarchive</string>
</resources> </resources>