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

Commit a900c1dd authored by Joshua McCloskey's avatar Joshua McCloskey Committed by Joshua Mccloskey
Browse files

Fixed biometric setting crash.

Test: Verified test crashed without fix, and passed with fix
Test: atest FingerprintSettingsFragmentTest
Fixes: 315164185
Change-Id: I1d8ab32eef8578a6d35831aef46275a9732e497c
parent 212c2b47
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -93,6 +93,7 @@ import com.android.settingslib.widget.TwoTargetPreference;
import com.google.android.setupdesign.util.DeviceHelper;
import com.google.android.setupdesign.util.DeviceHelper;


import java.util.ArrayList;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashMap;
import java.util.List;
import java.util.List;


@@ -876,6 +877,8 @@ public class FingerprintSettings extends SubSettings {
        @Override
        @Override
        protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
        protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
            if (!isFingerprintHardwareDetected(context)) {
            if (!isFingerprintHardwareDetected(context)) {
                Log.e(TAG, "Fingerprint hardware is not detected");
                mControllers = Collections.emptyList();
                return null;
                return null;
            }
            }


+7 −0
Original line number Original line Diff line number Diff line
@@ -262,6 +262,13 @@ public class FingerprintSettingsFragmentTest {
        mFragment.onResume();
        mFragment.onResume();
    }
    }


    @Test
    public void testFragmentVisibleWhenNoHardwareDetected() {
        doReturn(false).when(mFingerprintManager).isHardwareDetected();
        setUpFragment(false);
        assertThat(mFragment.isVisible()).isTrue();
    }

    private void setSensor(@FingerprintSensorProperties.SensorType int sensorType) {
    private void setSensor(@FingerprintSensorProperties.SensorType int sensorType) {
        final ArrayList<FingerprintSensorPropertiesInternal> props = new ArrayList<>();
        final ArrayList<FingerprintSensorPropertiesInternal> props = new ArrayList<>();
        props.add(new FingerprintSensorPropertiesInternal(
        props.add(new FingerprintSensorPropertiesInternal(