sys user split: first pass updating Settings

Update various places in Settings to use "admin" ueser flag
instead of checking user id "0".  This should be no-op in
single user mode since the only admin user would be user 0.
In split system user mode, this will correctly ACL admin
user instead of non-interactive system user.

Bug: 19913735
Change-Id: Ida4d59c5f689ea0dc34b3b3ff0822b087fa0afd6
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
index 47c8a69..76f2d1a 100644
--- a/src/com/android/settings/DataUsageSummary.java
+++ b/src/com/android/settings/DataUsageSummary.java
@@ -200,6 +200,7 @@
     private NetworkPolicyManager mPolicyManager;
     private TelephonyManager mTelephonyManager;
     private SubscriptionManager mSubscriptionManager;
+    private UserManager mUserManager;
 
     private INetworkStatsSession mStatsSession;
 
@@ -307,6 +308,7 @@
         mPolicyManager = NetworkPolicyManager.from(context);
         mTelephonyManager = TelephonyManager.from(context);
         mSubscriptionManager = SubscriptionManager.from(context);
+        mUserManager = UserManager.get(context);
 
         mPrefs = getActivity().getSharedPreferences(PREF_FILE, Context.MODE_PRIVATE);
 
@@ -548,7 +550,7 @@
     public void onPrepareOptionsMenu(Menu menu) {
         final Context context = getActivity();
         final boolean appDetailMode = isAppDetailMode();
-        final boolean isOwner = ActivityManager.getCurrentUser() == UserHandle.USER_OWNER;
+        final boolean isAdmin = mUserManager.isAdminUser();
 
         mMenuShowWifi = menu.findItem(R.id.data_usage_menu_show_wifi);
         if (hasWifiRadio(context) && hasReadyMobileRadio(context)) {
@@ -566,7 +568,7 @@
 
         mMenuRestrictBackground = menu.findItem(R.id.data_usage_menu_restrict_background);
         mMenuRestrictBackground.setVisible(
-                hasReadyMobileRadio(context) && isOwner && !appDetailMode);
+                hasReadyMobileRadio(context) && isAdmin && !appDetailMode);
 
         final MenuItem metered = menu.findItem(R.id.data_usage_menu_metered);
         if (hasReadyMobileRadio(context) || hasWifiRadio(context)) {
@@ -581,7 +583,7 @@
 
         mMenuCellularNetworks = menu.findItem(R.id.data_usage_menu_cellular_networks);
         mMenuCellularNetworks.setVisible(hasReadyMobileRadio(context)
-                && !appDetailMode && isOwner);
+                && !appDetailMode && isAdmin);
 
         final MenuItem help = menu.findItem(R.id.data_usage_menu_help);
         String helpUrl;
@@ -796,9 +798,8 @@
         if (!isAdded()) return;
 
         final Context context = getActivity();
-        final Resources resources = context.getResources();
         final String currentTab = mTabHost.getCurrentTabTag();
-        final boolean isOwner = ActivityManager.getCurrentUser() == UserHandle.USER_OWNER;
+        final boolean isAdmin = mUserManager.isAdminUser();
 
         if (currentTab == null) {
             Log.w(TAG, "no tab selected; hiding body");
@@ -812,7 +813,7 @@
 
         if (LOGD) Log.d(TAG, "updateBody() with currentTab=" + currentTab);
 
-        mDataEnabledSupported = isOwner;
+        mDataEnabledSupported = isAdmin;
         mDisableAtLimitSupported = true;
 
         // TODO: remove mobile tabs when SIM isn't ready probably by
@@ -1077,7 +1078,7 @@
 
     private boolean isNetworkPolicyModifiable(NetworkPolicy policy) {
         return policy != null && isBandwidthControlEnabled() && mDataEnabled.isChecked()
-                && ActivityManager.getCurrentUser() == UserHandle.USER_OWNER;
+                && mUserManager.isAdminUser();
     }
 
     private boolean isBandwidthControlEnabled() {