Add option to open app-specific setting for installed apps

This commit is contained in:
Rahul Patel
2023-10-18 02:19:06 +05:30
parent 3339d4a395
commit 79516bbc20
3 changed files with 17 additions and 0 deletions

View File

@@ -26,6 +26,7 @@ import android.content.ComponentName
import android.content.Intent
import android.content.ServiceConnection
import android.content.pm.PackageManager
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.os.Environment
@@ -399,6 +400,15 @@ class AppDetailsFragment : BaseFragment(R.layout.fragment_details) {
)
}
R.id.menu_app_settings -> {
val intent = Intent().apply {
action = Settings.ACTION_APPLICATION_DETAILS_SETTINGS
data = Uri.fromParts("package", app.packageName, null)
}
startActivity(intent)
}
R.id.menu_download_manager -> {
findNavController().navigate(R.id.downloadFragment)
}
@@ -413,6 +423,7 @@ class AppDetailsFragment : BaseFragment(R.layout.fragment_details) {
if (::app.isInitialized) {
val installed = PackageUtil.isInstalled(requireContext(), app.packageName)
menu?.findItem(R.id.action_uninstall)?.isVisible = installed
menu?.findItem(R.id.menu_app_settings)?.isVisible = installed
uninstallActionEnabled = installed
}
}

View File

@@ -24,6 +24,7 @@
android:icon="@drawable/ic_share"
android:title="@string/action_share"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_uninstall"
android:title="@string/action_uninstall" />
@@ -36,6 +37,10 @@
android:id="@+id/menu_download_manager"
android:title="@string/title_download_manager" />
<item
android:id="@+id/menu_app_settings"
android:title="@string/title_app_settings" />
<item
android:id="@+id/action_playstore"
android:title="@string/title_download_playstore" />

View File

@@ -282,6 +282,7 @@
<string name="title_about">About</string>
<string name="title_account_manager">"Accounts"</string>
<string name="title_apps">"Apps"</string>
<string name="title_app_settings">"App Settings"</string>
<string name="title_apps_games">"My apps &amp; games"</string>
<string name="title_apps_library">"Apps in library"</string>
<string name="title_apps_sale">"Apps on sale"</string>