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

Commit d4858cef authored by Minche Li's avatar Minche Li Committed by Automerger Merge Worker
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 am: 41257fe0

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17286343

Change-Id: I41a08d448612127502eb2449b4394644829f6a48
parents 166b88c3 41257fe0
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);