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

Commit 41257fe0 authored by Minche Li's avatar Minche Li Committed by Android (Google) Code Review
Browse files

Merge "Hides the settings entry in Magnification Settings if window...

Merge "Hides the settings entry in Magnification Settings if window magnification feature is not supported" into tm-dev
parents 1a3bdbff 57b35f9f
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.icu.text.CaseMap;
import android.net.Uri;
import android.os.Bundle;
@@ -162,9 +163,14 @@ public class ToggleScreenMagnificationPreferenceFragment extends

    @Override
    protected void initSettingsPreference() {
        // If the device doesn't support magnification area, it should hide the settings preference.
        if (!getContext().getResources().getBoolean(
                com.android.internal.R.bool.config_magnification_area)) {
        // If the device doesn't support window magnification feature, it should hide the
        // settings preference.
        final boolean supportWindowMagnification =
                getContext().getResources().getBoolean(
                        com.android.internal.R.bool.config_magnification_area)
                        && getContext().getPackageManager().hasSystemFeature(
                        PackageManager.FEATURE_WINDOW_MAGNIFICATION);
        if (!supportWindowMagnification) {
            return;
        }
        mSettingsPreference = new Preference(getPrefContext());
+21 −1
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.os.Bundle;
import android.provider.Settings;
@@ -101,6 +102,8 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
    private FragmentActivity mActivity;
    @Mock
    private ContentResolver mContentResolver;
    @Mock
    private PackageManager mPackageManager;

    @Before
    public void setUpTestFragment() {
@@ -110,6 +113,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
        mFragment = spy(new TestToggleScreenMagnificationPreferenceFragment(mContext));
        mResources = spy(mContext.getResources());
        when(mContext.getResources()).thenReturn(mResources);
        when(mContext.getPackageManager()).thenReturn(mPackageManager);
        when(mFragment.getContext().getResources()).thenReturn(mResources);
        when(mFragment.getActivity()).thenReturn(mActivity);
        when(mActivity.getContentResolver()).thenReturn(mContentResolver);
@@ -334,9 +338,25 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {

    @Ignore("Ignore it since a NPE is happened in ShadowWindowManagerGlobal. (Ref. b/214161063)")
    @Test
    public void onCreateView_notSupportsMagnificationArea_settingsPreferenceIsNull() {
    public void onCreateView_magnificationAreaNotSupported_settingsPreferenceIsNull() {
        when(mResources.getBoolean(
                com.android.internal.R.bool.config_magnification_area))
                .thenReturn(false);
        when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_WINDOW_MAGNIFICATION))
                .thenReturn(true);

        mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);

        assertThat(mFragment.mSettingsPreference).isNull();
    }

    @Ignore("Ignore it since a NPE is happened in ShadowWindowManagerGlobal. (Ref. b/214161063)")
    @Test
    public void onCreateView_windowMagnificationNotSupported_settingsPreferenceIsNull() {
        when(mResources.getBoolean(
                com.android.internal.R.bool.config_magnification_area))
                .thenReturn(true);
        when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_WINDOW_MAGNIFICATION))
                .thenReturn(false);

        mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);