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

Commit 38bfe2e4 authored by Vladislav Kuzkokov's avatar Vladislav Kuzkokov Committed by Android (Google) Code Review
Browse files

Merge "Add policy disclosure for printing."

parents 032e7c0d 5b1faf1b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@
        settings:controller="com.android.settings.connecteddevice.BluetoothOnWhileDrivingPreferenceController"
        android:order="-2"/>

    <Preference
    <com.android.settingslib.RestrictedPreference
        android:key="connected_device_printing"
        android:title="@string/print_settings"
        android:summary="@string/summary_placeholder"
+7 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.settings.print;

import android.content.Context;
import android.content.pm.PackageManager;
import android.os.UserManager;
import android.print.PrintJob;
import android.print.PrintJobId;
import android.print.PrintJobInfo;
@@ -29,6 +30,7 @@ import android.support.v7.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.wrapper.PrintManagerWrapper;
import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.core.lifecycle.events.OnStop;
@@ -41,12 +43,14 @@ import java.util.List;
public class PrintSettingPreferenceController extends BasePreferenceController implements
        LifecycleObserver, OnStart, OnStop, PrintManager.PrintJobStateChangeListener {

    private static final String KEY_PRINTING_SETTINGS = "connected_device_printing";

    private final PackageManager mPackageManager;
    private PrintManagerWrapper mPrintManager;
    private Preference mPreference;

    public PrintSettingPreferenceController(Context context) {
        super(context, "connected_device_printing" /* preferenceKey */);
        super(context, KEY_PRINTING_SETTINGS);
        mPackageManager = context.getPackageManager();
        mPrintManager = new PrintManagerWrapper(context);
    }
@@ -84,6 +88,8 @@ public class PrintSettingPreferenceController extends BasePreferenceController i
            return;
        }
        preference.setSummary(getSummary());
        ((RestrictedPreference) preference).checkRestrictionAndSetDisabled(
                UserManager.DISALLOW_PRINTING);
    }

    @Override
+17 −4
Original line number Diff line number Diff line
@@ -20,26 +20,29 @@ import static android.arch.lifecycle.Lifecycle.Event.ON_START;
import static android.arch.lifecycle.Lifecycle.Event.ON_STOP;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.arch.lifecycle.LifecycleOwner;
import android.content.Context;
import android.os.UserManager;
import android.print.PrintJob;
import android.print.PrintJobInfo;
import android.print.PrintManager;
import android.printservice.PrintServiceInfo;
import android.support.v7.preference.Preference;

import com.android.settings.R;
import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.wrapper.PrintManagerWrapper;
import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.core.lifecycle.Lifecycle;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
@@ -57,8 +60,11 @@ public class PrintSettingsPreferenceControllerTest {

    @Mock
    private PrintManagerWrapper mPrintManager;
    @Mock
    private UserManager mUserManager;
    private Context mContext;
    private Preference mPreference;
    @Mock
    private RestrictedPreference mPreference;
    private PrintSettingPreferenceController mController;
    private LifecycleOwner mLifecycleOwner;
    private Lifecycle mLifecycle;
@@ -66,8 +72,9 @@ public class PrintSettingsPreferenceControllerTest {
    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
        mContext = RuntimeEnvironment.application;
        mPreference = new Preference(mContext);
        mContext = spy(RuntimeEnvironment.application);
        when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
        mPreference = spy(new RestrictedPreference(mContext));
        mController = new PrintSettingPreferenceController(mContext);
        mLifecycleOwner = () -> mLifecycle;
        mLifecycle = new Lifecycle(mLifecycleOwner);
@@ -122,4 +129,10 @@ public class PrintSettingsPreferenceControllerTest {
        assertThat(mPreference.getSummary())
                .isEqualTo(mContext.getString(R.string.print_settings_summary_no_service));
    }

    @Test
    public void updateState_shouldCheckRestriction() {
        mController.updateState(mPreference);
        verify(mPreference).checkRestrictionAndSetDisabled(UserManager.DISALLOW_PRINTING);
    }
}