Loading res/values/strings.xml +2 −0 Original line number Diff line number Diff line Loading @@ -1801,6 +1801,8 @@ <string name="wifi_saved_access_points_label">Saved networks</string> <!-- Wifi Advanced settings. Used as a label under the shortcut icon that goes to Wifi advanced settings. [CHAR LIMIT=20] --> <string name="wifi_advanced_settings_label">IP settings</string> <!-- Error message for users that aren't allowed to see or modify WiFi advanced settings [CHAR LIMIT=NONE] --> <string name="wifi_advanced_not_available">Wi\u2011Fi advanced settings are not available for this user</string> <!-- Menu item to save the IP settings --> <string name="wifi_ip_settings_menu_save">Save</string> <!-- Menu ietm to cancel the IP settings --> Loading src/com/android/settings/ApnSettings.java +11 −17 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ import com.android.internal.telephony.uicc.UiccController; import java.util.ArrayList; public class ApnSettings extends SettingsPreferenceFragment implements public class ApnSettings extends RestrictedSettingsFragment implements Preference.OnPreferenceChangeListener { static final String TAG = "ApnSettings"; Loading Loading @@ -103,8 +103,6 @@ public class ApnSettings extends SettingsPreferenceFragment implements private String mMvnoType; private String mMvnoMatchData; private UserManager mUm; private String mSelectedKey; private IntentFilter mMobileStateFilter; Loading @@ -114,6 +112,10 @@ public class ApnSettings extends SettingsPreferenceFragment implements private boolean mHideImsApn; private boolean mAllowAddingApns; public ApnSettings() { super(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS); } private final BroadcastReceiver mMobileStateReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Loading Loading @@ -154,14 +156,10 @@ public class ApnSettings extends SettingsPreferenceFragment implements final int subId = activity.getIntent().getIntExtra(SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID); mUm = (UserManager) getSystemService(Context.USER_SERVICE); mMobileStateFilter = new IntentFilter( TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED); if (!mUm.hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS)) { setHasOptionsMenu(true); } setIfOnlyAvailableForAdmins(true); mSubscriptionInfo = SubscriptionManager.from(activity).getActiveSubscriptionInfo(subId); mUiccController = UiccController.getInstance(); Loading @@ -177,16 +175,12 @@ public class ApnSettings extends SettingsPreferenceFragment implements public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); TextView empty = (TextView) getView().findViewById(android.R.id.empty); if (empty != null) { empty.setText(R.string.apn_settings_not_available); setEmptyView(empty); } if (mUm.hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS) || !mUm.isAdminUser()) { mUnavailable = true; getEmptyTextView().setText(R.string.apn_settings_not_available); mUnavailable = isUiRestricted(); setHasOptionsMenu(!mUnavailable); if (mUnavailable) { setPreferenceScreen(new PreferenceScreen(getPrefContext(), null)); getPreferenceScreen().removeAll(); return; } Loading src/com/android/settings/nfc/AndroidBeam.java +27 −8 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.app.ActionBar; import android.content.Context; import android.nfc.NfcAdapter; import android.os.Bundle; import android.os.UserHandle; import android.os.UserManager; import android.view.LayoutInflater; import android.view.Menu; Loading @@ -33,7 +34,11 @@ import com.android.settings.HelpUtils; import com.android.settings.InstrumentedFragment; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.ShowAdminSupportDetailsDialog; import com.android.settings.widget.SwitchBar; import com.android.settingslib.RestrictedLockUtils; import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; public class AndroidBeam extends InstrumentedFragment implements SwitchBar.OnSwitchChangeListener { Loading @@ -41,7 +46,8 @@ public class AndroidBeam extends InstrumentedFragment private NfcAdapter mNfcAdapter; private SwitchBar mSwitchBar; private CharSequence mOldActivityTitle; private boolean mBeamDisallowed; private boolean mBeamDisallowedByBase; private boolean mBeamDisallowedByAdmin; @Override public void onCreate(Bundle savedInstanceState) { Loading @@ -53,8 +59,6 @@ public class AndroidBeam extends InstrumentedFragment actionBar.setTitle(R.string.android_beam_settings_title); mNfcAdapter = NfcAdapter.getDefaultAdapter(getActivity()); mBeamDisallowed = ((UserManager) getActivity().getSystemService(Context.USER_SERVICE)) .hasUserRestriction(UserManager.DISALLOW_OUTGOING_BEAM); setHasOptionsMenu(true); } Loading @@ -68,8 +72,19 @@ public class AndroidBeam extends InstrumentedFragment @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced( getActivity(), UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId()); final UserManager um = UserManager.get(getActivity()); mBeamDisallowedByBase = RestrictedLockUtils.hasBaseUserRestriction(getActivity(), UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId()); if (!mBeamDisallowedByBase && admin != null) { View view = inflater.inflate(R.layout.admin_support_details_empty_view, null); ShowAdminSupportDetailsDialog.setAdminSupportDetails(getActivity(), view, admin, false); view.setVisibility(View.VISIBLE); mBeamDisallowedByAdmin = true; return view; } mView = inflater.inflate(R.layout.android_beam, container, false); return mView; } Loading @@ -80,11 +95,15 @@ public class AndroidBeam extends InstrumentedFragment SettingsActivity activity = (SettingsActivity) getActivity(); mSwitchBar = activity.getSwitchBar(); mSwitchBar.setChecked(!mBeamDisallowed && mNfcAdapter.isNdefPushEnabled()); if (!mBeamDisallowedByBase && mBeamDisallowedByAdmin) { mSwitchBar.hide(); } else { mSwitchBar.setChecked(!mBeamDisallowedByBase && mNfcAdapter.isNdefPushEnabled()); mSwitchBar.addOnSwitchChangeListener(this); mSwitchBar.setEnabled(!mBeamDisallowed); mSwitchBar.setEnabled(!mBeamDisallowedByBase); mSwitchBar.show(); } } @Override public void onDestroyView() { Loading src/com/android/settings/wifi/AdvancedWifiSettings.java +30 −4 Original line number Diff line number Diff line Loading @@ -22,14 +22,18 @@ import android.content.Context; import android.content.Intent; import android.net.wifi.WpsInfo; import android.os.Bundle; import android.os.UserManager; import android.security.Credentials; import android.support.v7.preference.Preference; import android.support.v7.preference.Preference.OnPreferenceClickListener; import android.support.v7.preference.PreferenceScreen; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.RestrictedSettingsFragment; import com.android.settingslib.RestrictedLockUtils; public class AdvancedWifiSettings extends SettingsPreferenceFragment { public class AdvancedWifiSettings extends RestrictedSettingsFragment { private static final String TAG = "AdvancedWifiSettings"; private static final String KEY_INSTALL_CREDENTIALS = "install_credentials"; Loading @@ -37,6 +41,12 @@ public class AdvancedWifiSettings extends SettingsPreferenceFragment { private static final String KEY_WPS_PUSH = "wps_push_button"; private static final String KEY_WPS_PIN = "wps_pin_entry"; private boolean mUnavailable; public AdvancedWifiSettings() { super(UserManager.DISALLOW_CONFIG_WIFI); } @Override protected int getMetricsCategory() { return MetricsEvent.WIFI_ADVANCED; Loading @@ -45,14 +55,30 @@ public class AdvancedWifiSettings extends SettingsPreferenceFragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (isUiRestricted()) { mUnavailable = true; setPreferenceScreen(new PreferenceScreen(getPrefContext(), null)); } else { addPreferencesFromResource(R.xml.wifi_advanced_settings); } } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); getEmptyTextView().setText(R.string.wifi_advanced_not_available); if (mUnavailable) { getPreferenceScreen().removeAll(); } } @Override public void onResume() { super.onResume(); if (!mUnavailable) { initPreferences(); } } private void initPreferences() { final Context context = getActivity(); Loading Loading
res/values/strings.xml +2 −0 Original line number Diff line number Diff line Loading @@ -1801,6 +1801,8 @@ <string name="wifi_saved_access_points_label">Saved networks</string> <!-- Wifi Advanced settings. Used as a label under the shortcut icon that goes to Wifi advanced settings. [CHAR LIMIT=20] --> <string name="wifi_advanced_settings_label">IP settings</string> <!-- Error message for users that aren't allowed to see or modify WiFi advanced settings [CHAR LIMIT=NONE] --> <string name="wifi_advanced_not_available">Wi\u2011Fi advanced settings are not available for this user</string> <!-- Menu item to save the IP settings --> <string name="wifi_ip_settings_menu_save">Save</string> <!-- Menu ietm to cancel the IP settings --> Loading
src/com/android/settings/ApnSettings.java +11 −17 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ import com.android.internal.telephony.uicc.UiccController; import java.util.ArrayList; public class ApnSettings extends SettingsPreferenceFragment implements public class ApnSettings extends RestrictedSettingsFragment implements Preference.OnPreferenceChangeListener { static final String TAG = "ApnSettings"; Loading Loading @@ -103,8 +103,6 @@ public class ApnSettings extends SettingsPreferenceFragment implements private String mMvnoType; private String mMvnoMatchData; private UserManager mUm; private String mSelectedKey; private IntentFilter mMobileStateFilter; Loading @@ -114,6 +112,10 @@ public class ApnSettings extends SettingsPreferenceFragment implements private boolean mHideImsApn; private boolean mAllowAddingApns; public ApnSettings() { super(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS); } private final BroadcastReceiver mMobileStateReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Loading Loading @@ -154,14 +156,10 @@ public class ApnSettings extends SettingsPreferenceFragment implements final int subId = activity.getIntent().getIntExtra(SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID); mUm = (UserManager) getSystemService(Context.USER_SERVICE); mMobileStateFilter = new IntentFilter( TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED); if (!mUm.hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS)) { setHasOptionsMenu(true); } setIfOnlyAvailableForAdmins(true); mSubscriptionInfo = SubscriptionManager.from(activity).getActiveSubscriptionInfo(subId); mUiccController = UiccController.getInstance(); Loading @@ -177,16 +175,12 @@ public class ApnSettings extends SettingsPreferenceFragment implements public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); TextView empty = (TextView) getView().findViewById(android.R.id.empty); if (empty != null) { empty.setText(R.string.apn_settings_not_available); setEmptyView(empty); } if (mUm.hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS) || !mUm.isAdminUser()) { mUnavailable = true; getEmptyTextView().setText(R.string.apn_settings_not_available); mUnavailable = isUiRestricted(); setHasOptionsMenu(!mUnavailable); if (mUnavailable) { setPreferenceScreen(new PreferenceScreen(getPrefContext(), null)); getPreferenceScreen().removeAll(); return; } Loading
src/com/android/settings/nfc/AndroidBeam.java +27 −8 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.app.ActionBar; import android.content.Context; import android.nfc.NfcAdapter; import android.os.Bundle; import android.os.UserHandle; import android.os.UserManager; import android.view.LayoutInflater; import android.view.Menu; Loading @@ -33,7 +34,11 @@ import com.android.settings.HelpUtils; import com.android.settings.InstrumentedFragment; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.ShowAdminSupportDetailsDialog; import com.android.settings.widget.SwitchBar; import com.android.settingslib.RestrictedLockUtils; import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; public class AndroidBeam extends InstrumentedFragment implements SwitchBar.OnSwitchChangeListener { Loading @@ -41,7 +46,8 @@ public class AndroidBeam extends InstrumentedFragment private NfcAdapter mNfcAdapter; private SwitchBar mSwitchBar; private CharSequence mOldActivityTitle; private boolean mBeamDisallowed; private boolean mBeamDisallowedByBase; private boolean mBeamDisallowedByAdmin; @Override public void onCreate(Bundle savedInstanceState) { Loading @@ -53,8 +59,6 @@ public class AndroidBeam extends InstrumentedFragment actionBar.setTitle(R.string.android_beam_settings_title); mNfcAdapter = NfcAdapter.getDefaultAdapter(getActivity()); mBeamDisallowed = ((UserManager) getActivity().getSystemService(Context.USER_SERVICE)) .hasUserRestriction(UserManager.DISALLOW_OUTGOING_BEAM); setHasOptionsMenu(true); } Loading @@ -68,8 +72,19 @@ public class AndroidBeam extends InstrumentedFragment @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced( getActivity(), UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId()); final UserManager um = UserManager.get(getActivity()); mBeamDisallowedByBase = RestrictedLockUtils.hasBaseUserRestriction(getActivity(), UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId()); if (!mBeamDisallowedByBase && admin != null) { View view = inflater.inflate(R.layout.admin_support_details_empty_view, null); ShowAdminSupportDetailsDialog.setAdminSupportDetails(getActivity(), view, admin, false); view.setVisibility(View.VISIBLE); mBeamDisallowedByAdmin = true; return view; } mView = inflater.inflate(R.layout.android_beam, container, false); return mView; } Loading @@ -80,11 +95,15 @@ public class AndroidBeam extends InstrumentedFragment SettingsActivity activity = (SettingsActivity) getActivity(); mSwitchBar = activity.getSwitchBar(); mSwitchBar.setChecked(!mBeamDisallowed && mNfcAdapter.isNdefPushEnabled()); if (!mBeamDisallowedByBase && mBeamDisallowedByAdmin) { mSwitchBar.hide(); } else { mSwitchBar.setChecked(!mBeamDisallowedByBase && mNfcAdapter.isNdefPushEnabled()); mSwitchBar.addOnSwitchChangeListener(this); mSwitchBar.setEnabled(!mBeamDisallowed); mSwitchBar.setEnabled(!mBeamDisallowedByBase); mSwitchBar.show(); } } @Override public void onDestroyView() { Loading
src/com/android/settings/wifi/AdvancedWifiSettings.java +30 −4 Original line number Diff line number Diff line Loading @@ -22,14 +22,18 @@ import android.content.Context; import android.content.Intent; import android.net.wifi.WpsInfo; import android.os.Bundle; import android.os.UserManager; import android.security.Credentials; import android.support.v7.preference.Preference; import android.support.v7.preference.Preference.OnPreferenceClickListener; import android.support.v7.preference.PreferenceScreen; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.RestrictedSettingsFragment; import com.android.settingslib.RestrictedLockUtils; public class AdvancedWifiSettings extends SettingsPreferenceFragment { public class AdvancedWifiSettings extends RestrictedSettingsFragment { private static final String TAG = "AdvancedWifiSettings"; private static final String KEY_INSTALL_CREDENTIALS = "install_credentials"; Loading @@ -37,6 +41,12 @@ public class AdvancedWifiSettings extends SettingsPreferenceFragment { private static final String KEY_WPS_PUSH = "wps_push_button"; private static final String KEY_WPS_PIN = "wps_pin_entry"; private boolean mUnavailable; public AdvancedWifiSettings() { super(UserManager.DISALLOW_CONFIG_WIFI); } @Override protected int getMetricsCategory() { return MetricsEvent.WIFI_ADVANCED; Loading @@ -45,14 +55,30 @@ public class AdvancedWifiSettings extends SettingsPreferenceFragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (isUiRestricted()) { mUnavailable = true; setPreferenceScreen(new PreferenceScreen(getPrefContext(), null)); } else { addPreferencesFromResource(R.xml.wifi_advanced_settings); } } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); getEmptyTextView().setText(R.string.wifi_advanced_not_available); if (mUnavailable) { getPreferenceScreen().removeAll(); } } @Override public void onResume() { super.onResume(); if (!mUnavailable) { initPreferences(); } } private void initPreferences() { final Context context = getActivity(); Loading