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

Commit 8141b102 authored by Tetiana Meronyk's avatar Tetiana Meronyk Committed by Android (Google) Code Review
Browse files

Merge "Fix "Allow guest to use telephony" toggle not updating its value" into udc-qpr-dev

parents 2070808a b88bad67
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -34,14 +34,11 @@ public class GuestTelephonyPreferenceController extends TogglePreferenceControll

    private final UserManager mUserManager;
    private final UserCapabilities mUserCaps;
    private Bundle mDefaultGuestRestrictions;

    public GuestTelephonyPreferenceController(Context context, String preferenceKey) {
        super(context, preferenceKey);
        mUserManager = context.getSystemService(UserManager.class);
        mUserCaps = UserCapabilities.create(context);
        mDefaultGuestRestrictions = mUserManager.getDefaultGuestRestrictions();
        mDefaultGuestRestrictions.putBoolean(UserManager.DISALLOW_SMS, true);
    }

    @Override
@@ -55,13 +52,16 @@ public class GuestTelephonyPreferenceController extends TogglePreferenceControll

    @Override
    public boolean isChecked() {
        return !mDefaultGuestRestrictions.getBoolean(UserManager.DISALLOW_OUTGOING_CALLS, false);
        return !mUserManager.getDefaultGuestRestrictions()
                .getBoolean(UserManager.DISALLOW_OUTGOING_CALLS, false);
    }

    @Override
    public boolean setChecked(boolean isChecked) {
        mDefaultGuestRestrictions.putBoolean(UserManager.DISALLOW_OUTGOING_CALLS, !isChecked);
        mUserManager.setDefaultGuestRestrictions(mDefaultGuestRestrictions);
        Bundle guestRestrictions = mUserManager.getDefaultGuestRestrictions();
        guestRestrictions.putBoolean(UserManager.DISALLOW_SMS, true);
        guestRestrictions.putBoolean(UserManager.DISALLOW_OUTGOING_CALLS, !isChecked);
        mUserManager.setDefaultGuestRestrictions(guestRestrictions);
        return true;
    }

@@ -74,7 +74,7 @@ public class GuestTelephonyPreferenceController extends TogglePreferenceControll
    public void updateState(Preference preference) {
        super.updateState(preference);
        mUserCaps.updateAddUserCapabilities(mContext);
        preference.setVisible(isAvailable() && mUserCaps.mUserSwitcherEnabled && mContext
                .getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY));
        preference.setVisible(isAvailable() && mUserCaps.mUserSwitcherEnabled
                && mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY));
    }
}
+4 −0
Original line number Diff line number Diff line
@@ -18,12 +18,14 @@ package com.android.settings.users;

import static com.google.common.truth.Truth.assertThat;

import static org.junit.Assume.assumeTrue;
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.content.Context;
import android.content.pm.PackageManager;
import android.os.SystemProperties;
import android.os.UserManager;

@@ -103,6 +105,8 @@ public class GuestTelephonyPreferenceControllerTest {

    @Test
    public void updateState_Admin_shouldDisplayPreference() {
        assumeTrue("Device does not have telephony feature ",
                mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY));
        SystemProperties.set("fw.max_users", Long.toBinaryString(4));
        mDpm.setDeviceOwner(null);
        mUserManager.setIsAdminUser(true);