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

Commit 1f526760 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Update security screen summary text when no fingerprint"

parents 55d2eb6d 2cab298f
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -1300,8 +1300,13 @@ public class SecuritySettings extends SettingsPreferenceFragment
                        dashboardFeatureProvider.getTilesForCategory(CategoryKey.CATEGORY_SECURITY);
                mSummaryLoader.setSummary(this, getPackageVerifierSummary(dashboardCategory));
            } else {
                final FingerprintManager fpm = Utils.getFingerprintManagerOrNull(mContext);
                if (fpm != null && fpm.isHardwareDetected()) {
                    mSummaryLoader.setSummary(this,
                            mContext.getString(R.string.security_dashboard_summary));
                } else {
                    mSummaryLoader.setSummary(this, null);
                }
            }
        }

@@ -1319,8 +1324,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
                String summaryUri = tile.metaData.getString(
                        TileUtils.META_DATA_PREFERENCE_SUMMARY_URI, null);
                return TileUtils.getTextFromUri(mContext, summaryUri,
                            new ArrayMap<String, IContentProvider>(),
                            TileUtils.META_DATA_PREFERENCE_SUMMARY);
                        new ArrayMap<>(), TileUtils.META_DATA_PREFERENCE_SUMMARY);
            }
            return null;
        }
+26 −5
Original line number Diff line number Diff line
@@ -16,14 +16,14 @@

package com.android.settings;

import android.content.Context;
import android.content.ContentResolver;
import android.content.Context;
import android.content.IContentProvider;
import android.provider.Settings;
import android.content.pm.PackageManager;
import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle;
import android.provider.Settings;

import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.drawer.DashboardCategory;
@@ -46,7 +46,7 @@ import java.util.Map;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.isNull;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
@@ -120,6 +120,27 @@ public class SecuritySettingsTest {
        verify(mSummaryLoader, times(1)).setSummary(any(), isNull(String.class));
    }

    @Test
    @Config(shadows = {
            ShadowSecureSettings.class,
    })
    public void testSummaryProvider_hasFingerPrint_hasStaticSummary() {
        // Package verifier state is set to disabled.
        ShadowSecureSettings.putInt(null, Settings.Secure.PACKAGE_VERIFIER_STATE, -1);
        final FingerprintManager fpm = mock(FingerprintManager.class);
        when(mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_FINGERPRINT))
                .thenReturn(true);

        // Cast to Object to workaround a robolectric casting bug
        when((Object) mContext.getSystemService(FingerprintManager.class)).thenReturn(fpm);
        when(fpm.isHardwareDetected()).thenReturn(true);

        mSummaryProvider.setListening(true);

        verify(mContext).getString(R.string.security_dashboard_summary);
    }


    @Test
    public void testGetPackageVerifierSummary_nullInput() {
        assertThat(mSummaryProvider.getPackageVerifierSummary(null)).isNull();