diff options
author | Danesh M <daneshm90@gmail.com> | 2015-09-29 14:12:12 -0700 |
---|---|---|
committer | Michael Bestas <mikeioannina@gmail.com> | 2016-01-03 14:49:49 -0800 |
commit | ce33276f07d4cdc11063c9f42c9baea26b5a8ef8 (patch) | |
tree | 0c0c76838b559f26fe196aaad83b1f4cde69c4d1 | |
parent | ea1ea586b8a0e080b4d7dc394c36c14123d7897c (diff) | |
download | packages_apps_Settings-ce33276f07d4cdc11063c9f42c9baea26b5a8ef8.zip packages_apps_Settings-ce33276f07d4cdc11063c9f42c9baea26b5a8ef8.tar.gz packages_apps_Settings-ce33276f07d4cdc11063c9f42c9baea26b5a8ef8.tar.bz2 |
Settings : Filter settings for secondary users
Filter blacklist for secondary user
Filter default sms if user can't sms/call
Filter phone ringtone/vibrate on calls for secondary user
issue-id: CYNGNOS-904
Change-Id: I008215f885e819bd3229a4f9a6c6ca6fc09df6c5
4 files changed, 27 insertions, 4 deletions
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java index 6dcbbe5..630858b 100644 --- a/src/com/android/settings/Utils.java +++ b/src/com/android/settings/Utils.java @@ -1439,4 +1439,18 @@ public final class Utils { } activity.setRequestedOrientation(frozenRotation); } + + public static boolean isUserOwner() { + return UserHandle.myUserId() == UserHandle.USER_OWNER; + } + + public static boolean canUserMakeCallsSms(Context context) { + UserManager userManager = UserManager.get(context); + UserHandle userHandle = new UserHandle(UserHandle.myUserId()); + boolean callSmsNotAllowed = userManager.hasUserRestriction( + userManager.DISALLOW_OUTGOING_CALLS, userHandle); + callSmsNotAllowed &= userManager.hasUserRestriction( + UserManager.DISALLOW_SMS, userHandle); + return !callSmsNotAllowed; + } } diff --git a/src/com/android/settings/applications/ManageDefaultApps.java b/src/com/android/settings/applications/ManageDefaultApps.java index f4ec843..b4ac174 100644 --- a/src/com/android/settings/applications/ManageDefaultApps.java +++ b/src/com/android/settings/applications/ManageDefaultApps.java @@ -38,6 +38,7 @@ import com.android.settings.SettingsPreferenceFragment; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Index; import com.android.settings.search.Indexable; +import com.android.settings.Utils; import java.util.ArrayList; import java.util.Arrays; @@ -158,7 +159,8 @@ public class ManageDefaultApps extends SettingsPreferenceFragment // Restricted users cannot currently read/write SMS. // Remove SMS Application if the device does not support SMS - if (isRestrictedUser || !DefaultSmsPreference.isAvailable(getActivity())) { + if (isRestrictedUser || !Utils.canUserMakeCallsSms(getActivity()) + || !DefaultSmsPreference.isAvailable(getActivity())) { removePreference(KEY_SMS_APPLICATION); } diff --git a/src/com/android/settings/cyanogenmod/PrivacySettings.java b/src/com/android/settings/cyanogenmod/PrivacySettings.java index 0e62915..c1fb2e6 100644 --- a/src/com/android/settings/cyanogenmod/PrivacySettings.java +++ b/src/com/android/settings/cyanogenmod/PrivacySettings.java @@ -32,6 +32,7 @@ import com.android.internal.telephony.util.BlacklistUtils; public class PrivacySettings extends SettingsPreferenceFragment { private static final String KEY_BLACKLIST = "blacklist"; + private static final String KEY_STATS = "cmstats"; private PreferenceScreen mBlacklist; @@ -45,8 +46,14 @@ public class PrivacySettings extends SettingsPreferenceFragment { // Add package manager to check if features are available PackageManager pm = getPackageManager(); + boolean isOwner = Utils.isUserOwner(); + if (!isOwner) { + PreferenceScreen root = getPreferenceScreen(); + root.removePreference(findPreference(KEY_STATS)); + } + // Determine options based on device telephony support - if (!pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) { + if (!pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY) || !isOwner) { // No telephony, remove dependent options PreferenceScreen root = getPreferenceScreen(); root.removePreference(mBlacklist); diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java index e932740..a8e3165 100644 --- a/src/com/android/settings/notification/SoundSettings.java +++ b/src/com/android/settings/notification/SoundSettings.java @@ -348,7 +348,7 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab private void initRingtones(PreferenceCategory root) { mPhoneRingtonePreference = root.findPreference(KEY_PHONE_RINGTONE); - if (mPhoneRingtonePreference != null && !mVoiceCapable) { + if (mPhoneRingtonePreference != null && (!mVoiceCapable || !Utils.isUserOwner())) { root.removePreference(mPhoneRingtonePreference); mPhoneRingtonePreference = null; } @@ -450,7 +450,7 @@ public class SoundSettings extends SettingsPreferenceFragment implements Indexab Log.i(TAG, "Preference not found: " + KEY_VIBRATE_WHEN_RINGING); return; } - if (!mVoiceCapable) { + if (!mVoiceCapable || !Utils.isUserOwner()) { root.removePreference(mVibrateWhenRinging); mVibrateWhenRinging = null; return; |