Show 'on the lockscreen' setting in more contexts.

- For managed profile apps
- When 'auto' importance is on.

Bug: 28405255
Change-Id: Ia4c0bc6010f157cac18a828069bbcf54087fc663
This commit is contained in:
Julia Reynolds
2016-04-27 12:46:43 -04:00
parent 1e5d0e731e
commit 21fd269ea3
3 changed files with 11 additions and 2 deletions

View File

@@ -22,6 +22,7 @@ import android.content.Intent;
import android.content.pm.ActivityInfo; import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.content.pm.UserInfo;
import android.os.Bundle; import android.os.Bundle;
import android.os.UserHandle; import android.os.UserHandle;
import android.service.notification.NotificationListenerService.Ranking; import android.service.notification.NotificationListenerService.Ranking;
@@ -101,8 +102,12 @@ public class AppNotificationSettings extends NotificationSettingsBase {
@Override @Override
protected void updateDependents(int importance) { protected void updateDependents(int importance) {
final boolean lockscreenSecure = new LockPatternUtils(getActivity()).isSecure( LockPatternUtils utils = new LockPatternUtils(getActivity());
UserHandle.myUserId()); boolean lockscreenSecure = utils.isSecure(UserHandle.myUserId());
UserInfo parentUser = mUm.getProfileParent(UserHandle.myUserId());
if (parentUser != null){
lockscreenSecure |= utils.isSecure(parentUser.id);
}
if (getPreferenceScreen().findPreference(mBlock.getKey()) != null) { if (getPreferenceScreen().findPreference(mBlock.getKey()) != null) {
setVisible(mSilent, checkCanBeVisible(Ranking.IMPORTANCE_MIN, importance)); setVisible(mSilent, checkCanBeVisible(Ranking.IMPORTANCE_MIN, importance));

View File

@@ -133,6 +133,7 @@ public class ImportanceSeekBarPreference extends SeekBarPreference implements
mSeekBar.setThumbTintList(sliderTint); mSeekBar.setThumbTintList(sliderTint);
if (mAutoOn) { if (mAutoOn) {
setProgress(NotificationListenerService.Ranking.IMPORTANCE_DEFAULT);
mSummary = getProgressSummary( mSummary = getProgressSummary(
NotificationListenerService.Ranking.IMPORTANCE_UNSPECIFIED); NotificationListenerService.Ranking.IMPORTANCE_UNSPECIFIED);
} }

View File

@@ -30,6 +30,7 @@ import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle; import android.os.Bundle;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings; import android.provider.Settings;
import android.service.notification.NotificationListenerService.Ranking; import android.service.notification.NotificationListenerService.Ranking;
import android.support.v7.preference.DropDownPreference; import android.support.v7.preference.DropDownPreference;
@@ -54,6 +55,7 @@ abstract public class NotificationSettingsBase extends SettingsPreferenceFragmen
protected static final String KEY_SILENT = "silent"; protected static final String KEY_SILENT = "silent";
protected PackageManager mPm; protected PackageManager mPm;
protected UserManager mUm;
protected final NotificationBackend mBackend = new NotificationBackend(); protected final NotificationBackend mBackend = new NotificationBackend();
protected Context mContext; protected Context mContext;
protected boolean mCreated; protected boolean mCreated;
@@ -94,6 +96,7 @@ abstract public class NotificationSettingsBase extends SettingsPreferenceFragmen
} }
mPm = getPackageManager(); mPm = getPackageManager();
mUm = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
mPkg = args != null && args.containsKey(AppInfoBase.ARG_PACKAGE_NAME) mPkg = args != null && args.containsKey(AppInfoBase.ARG_PACKAGE_NAME)
? args.getString(AppInfoBase.ARG_PACKAGE_NAME) ? args.getString(AppInfoBase.ARG_PACKAGE_NAME)