Merge "Hides the settings entry in Magnification Settings if window magnification feature is not supported" into tm-dev am: 41257fe00a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17286343 Change-Id: Id3aeecb00020ce42c14ce954279a79d270f25cd1
This commit is contained in:
@@ -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());
|
||||
|
@@ -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,10 +338,26 @@ 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);
|
||||
|
||||
|
Reference in New Issue
Block a user