Don't show Restrictions item if it has been disabled for the user.

Also don't show actual Restrictions content if the fragment was launched
through a different entry point.

Change-Id: I70cb76ca6f68a382e68219053e6f69e7f1fa0150
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 24ffc50..db295cf 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -488,7 +488,8 @@
                     target.remove(i);
                 }
             } else if (id == R.id.restriction_settings) {
-                if (um.isLinkedUser()) {
+                if (um.isLinkedUser()
+                        || um.hasUserRestriction(UserManager.DISALLOW_APP_RESTRICTIONS)) {
                     target.remove(i);
                 }
             }
diff --git a/src/com/android/settings/users/RestrictionSettings.java b/src/com/android/settings/users/RestrictionSettings.java
index 19812a3..91b8bd3 100644
--- a/src/com/android/settings/users/RestrictionSettings.java
+++ b/src/com/android/settings/users/RestrictionSettings.java
@@ -46,10 +46,15 @@
 
     private boolean mChallengeSucceeded;
     private boolean mChallengeRequested;
+    private boolean mDisableSelf;
 
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-
+        if (UserManager.get(getActivity()).hasUserRestriction(
+                UserManager.DISALLOW_APP_RESTRICTIONS)) {
+            mDisableSelf = true;
+            return;
+        }
         init(icicle);
         if (icicle != null) {
             mChallengeSucceeded = icicle.getBoolean(KEY_CHALLENGE_SUCCEEDED, false);
@@ -60,7 +65,9 @@
 
     public void onResume() {
         super.onResume();
-        ensurePin();
+        if (!mDisableSelf) {
+            ensurePin();
+        }
     }
 
     private void ensurePin() {
@@ -122,9 +129,10 @@
 
     @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-        menu.add(0, MENU_RESET, 0, R.string.restriction_menu_reset);
-        menu.add(0, MENU_CHANGE_PIN, 0, R.string.restriction_menu_change_pin);
-
+        if (!mDisableSelf) {
+            menu.add(0, MENU_RESET, 0, R.string.restriction_menu_reset);
+            menu.add(0, MENU_CHANGE_PIN, 0, R.string.restriction_menu_change_pin);
+        }
         super.onCreateOptionsMenu(menu, inflater);
     }