Add option to open app-specific setting for installed apps
This commit is contained in:
@@ -26,6 +26,7 @@ import android.content.ComponentName
|
|||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.ServiceConnection
|
import android.content.ServiceConnection
|
||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
|
import android.net.Uri
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.Environment
|
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 -> {
|
R.id.menu_download_manager -> {
|
||||||
findNavController().navigate(R.id.downloadFragment)
|
findNavController().navigate(R.id.downloadFragment)
|
||||||
}
|
}
|
||||||
@@ -413,6 +423,7 @@ class AppDetailsFragment : BaseFragment(R.layout.fragment_details) {
|
|||||||
if (::app.isInitialized) {
|
if (::app.isInitialized) {
|
||||||
val installed = PackageUtil.isInstalled(requireContext(), app.packageName)
|
val installed = PackageUtil.isInstalled(requireContext(), app.packageName)
|
||||||
menu?.findItem(R.id.action_uninstall)?.isVisible = installed
|
menu?.findItem(R.id.action_uninstall)?.isVisible = installed
|
||||||
|
menu?.findItem(R.id.menu_app_settings)?.isVisible = installed
|
||||||
uninstallActionEnabled = installed
|
uninstallActionEnabled = installed
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
android:icon="@drawable/ic_share"
|
android:icon="@drawable/ic_share"
|
||||||
android:title="@string/action_share"
|
android:title="@string/action_share"
|
||||||
app:showAsAction="ifRoom" />
|
app:showAsAction="ifRoom" />
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_uninstall"
|
android:id="@+id/action_uninstall"
|
||||||
android:title="@string/action_uninstall" />
|
android:title="@string/action_uninstall" />
|
||||||
@@ -36,6 +37,10 @@
|
|||||||
android:id="@+id/menu_download_manager"
|
android:id="@+id/menu_download_manager"
|
||||||
android:title="@string/title_download_manager" />
|
android:title="@string/title_download_manager" />
|
||||||
|
|
||||||
|
<item
|
||||||
|
android:id="@+id/menu_app_settings"
|
||||||
|
android:title="@string/title_app_settings" />
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_playstore"
|
android:id="@+id/action_playstore"
|
||||||
android:title="@string/title_download_playstore" />
|
android:title="@string/title_download_playstore" />
|
||||||
|
|||||||
@@ -282,6 +282,7 @@
|
|||||||
<string name="title_about">About</string>
|
<string name="title_about">About</string>
|
||||||
<string name="title_account_manager">"Accounts"</string>
|
<string name="title_account_manager">"Accounts"</string>
|
||||||
<string name="title_apps">"Apps"</string>
|
<string name="title_apps">"Apps"</string>
|
||||||
|
<string name="title_app_settings">"App Settings"</string>
|
||||||
<string name="title_apps_games">"My apps & games"</string>
|
<string name="title_apps_games">"My apps & games"</string>
|
||||||
<string name="title_apps_library">"Apps in library"</string>
|
<string name="title_apps_library">"Apps in library"</string>
|
||||||
<string name="title_apps_sale">"Apps on sale"</string>
|
<string name="title_apps_sale">"Apps on sale"</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user