Lauch manage permissions UI from settings

Change-Id: I96f75ebfb4c3984b7e93abf1de41963aa67d4cbd
diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java
index 9316810..0fffb7e 100755
--- a/src/com/android/settings/applications/InstalledAppDetails.java
+++ b/src/com/android/settings/applications/InstalledAppDetails.java
@@ -20,6 +20,7 @@
 import android.app.ActivityManager;
 import android.app.AlertDialog;
 import android.app.LoaderManager.LoaderCallbacks;
+import android.content.ActivityNotFoundException;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
@@ -46,6 +47,7 @@
 import android.provider.Settings;
 import android.text.format.DateUtils;
 import android.text.format.Formatter;
+import android.util.Log;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
@@ -82,6 +84,8 @@
 public class InstalledAppDetails extends AppInfoBase
         implements View.OnClickListener, OnPreferenceClickListener {
 
+    private static final String LOG_TAG = "InstalledAppDetails";
+
     // Menu identifiers
     public static final int UNINSTALL_ALL_USERS_MENU = 1;
     public static final int UNINSTALL_UPDATES = 2;
@@ -563,6 +567,17 @@
         }
     }
 
+    private void startManagePermissionsActivity() {
+        // start new activity to manage app permissions
+        Intent intent = new Intent(Intent.ACTION_MANAGE_APP_PERMISSIONS);
+        intent.putExtra(Intent.EXTRA_PACKAGE_NAME, mAppEntry.info.packageName);
+        try {
+            startActivity(intent);
+        } catch (ActivityNotFoundException e) {
+            Log.w(LOG_TAG, "No app can handle android.intent.action.MANAGE_APP_PERMISSIONS");
+        }
+    }
+
     private void startAppInfoFragment(Class<? extends AppInfoBase> fragment, CharSequence title) {
         // start new fragment to display extended information
         Bundle args = new Bundle();
@@ -617,7 +632,7 @@
         } else if (preference == mNotificationPreference) {
             startNotifications();
         } else if (preference == mPermissionsPreference) {
-            startAppInfoFragment(AppPermissionSettings.class, mPermissionsPreference.getTitle());
+            startManagePermissionsActivity();
         } else if (preference == mLaunchPreference) {
             startAppInfoFragment(AppLaunchSettings.class, mLaunchPreference.getTitle());
         } else if (preference == mDataPreference) {