Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bd470255 authored by Adrian Roos's avatar Adrian Roos
Browse files

resolve merge conflicts of 333ba2df to nyc-mr1-dev

Change-Id: I32f284bb2216755ae0ddbea4b7fc76a38c7aa7e2
parents eddcd7d0 333ba2df
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -64,16 +64,6 @@
                android:layout_height="wrap_content"
                android:text="@string/lock_screen_notifications_summary_disable" />

            <!-- Place the checkbox inside RadioGroup and use SuwRadioButton style instead of
                 SuwCheckBox style so that the checkbox and text is aligned with radio buttons. -->
            <com.android.settings.RestrictedCheckBox
                android:id="@+id/lockscreen_remote_input"
                style="@style/SuwRadioButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/redaction_vertical_margins"
                android:text="@string/lockscreen_remote_input" />

        </RadioGroup>

        <Button
+1 −1
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@
            android:title="@string/notification_pulse_title" />

    <!-- When device is locked -->
    <com.android.settings.notification.NotificationLockscreenPreference
    <com.android.settings.notification.RestrictedDropDownPreference
            android:key="lock_screen_notifications"
            android:title="@string/lock_screen_notifications_title"
            android:summary="%s" />
+1 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@
    <PreferenceCategory
            android:title="@string/profile_section_header" >

        <com.android.settings.notification.NotificationLockscreenPreference
        <com.android.settings.notification.RestrictedDropDownPreference
            android:key="lock_screen_notifications_profile"
            android:title="@string/lock_screen_notifications_title"
            android:summary="%s" />
+16 −17
Original line number Diff line number Diff line
@@ -57,8 +57,8 @@ public class ConfigureNotificationSettings extends SettingsPreferenceFragment {
    private Context mContext;

    private TwoStatePreference mNotificationPulse;
    private NotificationLockscreenPreference mLockscreen;
    private NotificationLockscreenPreference mLockscreenProfile;
    private RestrictedDropDownPreference mLockscreen;
    private RestrictedDropDownPreference mLockscreenProfile;
    private boolean mSecure;
    private boolean mSecureProfile;
    private int mLockscreenSelectedValue;
@@ -148,7 +148,7 @@ public class ConfigureNotificationSettings extends SettingsPreferenceFragment {
    }

    private void initLockscreenNotifications() {
        mLockscreen = (NotificationLockscreenPreference) getPreferenceScreen().findPreference(
        mLockscreen = (RestrictedDropDownPreference) getPreferenceScreen().findPreference(
                KEY_LOCK_SCREEN_NOTIFICATIONS);
        if (mLockscreen == null) {
            Log.i(TAG, "Preference not found: " + KEY_LOCK_SCREEN_NOTIFICATIONS);
@@ -178,9 +178,6 @@ public class ConfigureNotificationSettings extends SettingsPreferenceFragment {
                    KEYGUARD_DISABLE_SECURE_NOTIFICATIONS);
        }

        mLockscreen.setRemoteInputRestricted(RestrictedLockUtils.checkIfKeyguardFeaturesDisabled(
                mContext, DevicePolicyManager.KEYGUARD_DISABLE_REMOTE_INPUT, UserHandle.myUserId()));

        mLockscreen.setEntries(entries.toArray(new CharSequence[entries.size()]));
        mLockscreen.setEntryValues(values.toArray(new CharSequence[values.size()]));
        updateLockscreenNotifications();
@@ -211,13 +208,12 @@ public class ConfigureNotificationSettings extends SettingsPreferenceFragment {

    // === Lockscreen (public / private) notifications ===
    private void initLockscreenNotificationsForProfile() {
        mLockscreenProfile = (NotificationLockscreenPreference) getPreferenceScreen()
        mLockscreenProfile = (RestrictedDropDownPreference) getPreferenceScreen()
                .findPreference(KEY_LOCK_SCREEN_PROFILE_NOTIFICATIONS);
        if (mLockscreenProfile == null) {
            Log.i(TAG, "Preference not found: " + KEY_LOCK_SCREEN_PROFILE_NOTIFICATIONS);
            return;
        }
        mLockscreenProfile.setUserId(mProfileChallengeUserId);
        ArrayList<CharSequence> entries = new ArrayList<>();
        ArrayList<CharSequence> values = new ArrayList<>();
        entries.add(getString(R.string.lock_screen_notifications_summary_disable_profile));
@@ -243,14 +239,14 @@ public class ConfigureNotificationSettings extends SettingsPreferenceFragment {
                    KEYGUARD_DISABLE_SECURE_NOTIFICATIONS);
        }

        mLockscreen.setRemoteInputRestricted(RestrictedLockUtils.checkIfKeyguardFeaturesDisabled(
                mContext, DevicePolicyManager.KEYGUARD_DISABLE_REMOTE_INPUT,
                mProfileChallengeUserId));
        mLockscreenProfile.setOnPreClickListener(
                (Preference p) -> Utils.startQuietModeDialogIfNecessary(mContext,
                        UserManager.get(mContext),
                        mProfileChallengeUserId)
        );

        mLockscreenProfile.setEntries(entries.toArray(new CharSequence[entries.size()]));
        mLockscreenProfile.setEntryValues(values.toArray(new CharSequence[values.size()]));
        // Work profile does not support this settings as we do not have a policy to enforce it yet
        mLockscreenProfile.setRemoteInputCheckBoxEnabled(false);
        updateLockscreenNotificationsForProfile();
        if (mLockscreenProfile.getEntries().length > 1) {
            mLockscreenProfile.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@@ -284,15 +280,18 @@ public class ConfigureNotificationSettings extends SettingsPreferenceFragment {
            CharSequence entryValue, int keyguardNotificationFeatures) {
        EnforcedAdmin admin = RestrictedLockUtils.checkIfKeyguardFeaturesDisabled(
                mContext, keyguardNotificationFeatures, UserHandle.myUserId());
        if (admin != null) {
            RestrictedItem item = new RestrictedItem(entry, entryValue, admin);
        if (admin != null && mLockscreen != null) {
            RestrictedDropDownPreference.RestrictedItem item =
                    new RestrictedDropDownPreference.RestrictedItem(entry, entryValue, admin);
            mLockscreen.addRestrictedItem(item);
        }
        if (mProfileChallengeUserId != UserHandle.USER_NULL) {
            EnforcedAdmin profileAdmin = RestrictedLockUtils.checkIfKeyguardFeaturesDisabled(
                    mContext, keyguardNotificationFeatures, mProfileChallengeUserId);
            if (profileAdmin != null) {
                RestrictedItem item = new RestrictedItem(entry, entryValue, profileAdmin);
            if (profileAdmin != null && mLockscreenProfile != null) {
                RestrictedDropDownPreference.RestrictedItem item =
                        new RestrictedDropDownPreference.RestrictedItem(
                                entry, entryValue, profileAdmin);
                mLockscreenProfile.addRestrictedItem(item);
            }
        }
+1 −32
Original line number Diff line number Diff line
@@ -82,13 +82,11 @@ public class RedactionInterstitial extends SettingsActivity {
    }

    public static class RedactionInterstitialFragment extends SettingsPreferenceFragment
            implements RadioGroup.OnCheckedChangeListener, CompoundButton.OnCheckedChangeListener,
            View.OnClickListener {
            implements RadioGroup.OnCheckedChangeListener, View.OnClickListener {

        private RadioGroup mRadioGroup;
        private RestrictedRadioButton mShowAllButton;
        private RestrictedRadioButton mRedactSensitiveButton;
        private RestrictedCheckBox mRemoteInputCheckbox;
        private int mUserId;

        @Override
@@ -109,9 +107,6 @@ public class RedactionInterstitial extends SettingsActivity {
            mShowAllButton = (RestrictedRadioButton) view.findViewById(R.id.show_all);
            mRedactSensitiveButton =
                    (RestrictedRadioButton) view.findViewById(R.id.redact_sensitive);
            mRemoteInputCheckbox =
                    (RestrictedCheckBox) view.findViewById(R.id.lockscreen_remote_input);
            mRemoteInputCheckbox.setOnCheckedChangeListener(this);

            mRadioGroup.setOnCheckedChangeListener(this);
            mUserId = Utils.getUserIdFromBundle(
@@ -151,9 +146,6 @@ public class RedactionInterstitial extends SettingsActivity {
                    KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS);
            checkNotificationFeaturesAndSetDisabled(mRedactSensitiveButton,
                    KEYGUARD_DISABLE_SECURE_NOTIFICATIONS);
            mRemoteInputCheckbox.setDisabledByAdmin(
                    RestrictedLockUtils.checkIfKeyguardFeaturesDisabled(getActivity(),
                            DevicePolicyManager.KEYGUARD_DISABLE_REMOTE_INPUT, mUserId));
            loadFromSettings();
        }

@@ -180,12 +172,6 @@ public class RedactionInterstitial extends SettingsActivity {
            }

            mRadioGroup.check(checkedButtonId);

            boolean allowRemoteInput = Settings.Secure.getIntForUser(getContentResolver(),
                    Settings.Secure.LOCK_SCREEN_ALLOW_REMOTE_INPUT, 0, mUserId) != 0;
            mRemoteInputCheckbox.setChecked(!allowRemoteInput);

            updateRemoteInputCheckboxVisibility();
        }

        @Override
@@ -198,23 +184,6 @@ public class RedactionInterstitial extends SettingsActivity {
            Settings.Secure.putIntForUser(getContentResolver(),
                    Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, enabled ? 1 : 0, mUserId);

            updateRemoteInputCheckboxVisibility();
        }

        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean checked) {
            if (buttonView == mRemoteInputCheckbox) {
                Settings.Secure.putIntForUser(getContentResolver(),
                        Settings.Secure.LOCK_SCREEN_ALLOW_REMOTE_INPUT, checked ? 0 : 1, mUserId);
            }
        }

        private void updateRemoteInputCheckboxVisibility() {
            boolean visible = mRadioGroup.getCheckedRadioButtonId() == R.id.show_all;
            boolean isManagedProfile = Utils.isManagedProfile(UserManager.get(getPrefContext()),
                    mUserId);
            mRemoteInputCheckbox
                    .setVisibility((visible && !isManagedProfile) ? View.VISIBLE : View.INVISIBLE);
        }
    }
}
Loading