summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanesh M <daneshm90@gmail.com>2015-09-29 14:12:12 -0700
committerMichael Bestas <mikeioannina@gmail.com>2016-01-03 14:49:49 -0800
commitce33276f07d4cdc11063c9f42c9baea26b5a8ef8 (patch)
tree0c0c76838b559f26fe196aaad83b1f4cde69c4d1
parentea1ea586b8a0e080b4d7dc394c36c14123d7897c (diff)
downloadpackages_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
-rw-r--r--src/com/android/settings/Utils.java14
-rw-r--r--src/com/android/settings/applications/ManageDefaultApps.java4
-rw-r--r--src/com/android/settings/cyanogenmod/PrivacySettings.java9
-rw-r--r--src/com/android/settings/notification/SoundSettings.java4
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;