Settings user restriction changes: wireless & networks changes.

Bug: 14081992
Change-Id: I32b0f06da7e7ff9bd8303ce26be2584e6cddbedc
This commit is contained in:
Julia Reynolds
2014-05-09 13:36:20 -04:00
parent 6268209628
commit ee27b9de8f
7 changed files with 135 additions and 10 deletions

View File

@@ -32,6 +32,7 @@ import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
import android.os.UserManager;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceGroup;
@@ -83,10 +84,14 @@ public class ApnSettings extends PreferenceActivity implements
private RestoreApnProcessHandler mRestoreApnProcessHandler;
private HandlerThread mRestoreDefaultApnThread;
private UserManager mUm;
private String mSelectedKey;
private IntentFilter mMobileStateFilter;
private boolean mUnavailable;
private final BroadcastReceiver mMobileStateReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
@@ -119,6 +124,14 @@ public class ApnSettings extends PreferenceActivity implements
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
mUm = (UserManager) getSystemService(Context.USER_SERVICE);
if (mUm.hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS)) {
mUnavailable = true;
setContentView(R.layout.apn_disallowed_preference_screen);
return;
}
addPreferencesFromResource(R.xml.apn_settings);
getListView().setItemsCanFocus(true);
@@ -130,6 +143,10 @@ public class ApnSettings extends PreferenceActivity implements
protected void onResume() {
super.onResume();
if (mUnavailable) {
return;
}
registerReceiver(mMobileStateReceiver, mMobileStateFilter);
if (!mRestoreDefaultApnMode) {
@@ -143,6 +160,10 @@ public class ApnSettings extends PreferenceActivity implements
protected void onPause() {
super.onPause();
if (mUnavailable) {
return;
}
unregisterReceiver(mMobileStateReceiver);
}