Add metrics for biometric onboarding & education

Log the stats for the new changed buttons

Bug: 370940762
Test: atest FaceSettingsAppsPreferenceControllerTest
            FaceSettingsKeyguardUnlockPreferenceControllerTest
	    FingerprintSettingsAppsPreferenceControllerTest
	    FingerprintSettingsKeyguardUnlockPreferenceControllerTest
Flag: com.android.settings.flags.biometrics_onboarding_education
Change-Id: Ic14ffc43457a71f1f70ace0479410b7449dcc539
This commit is contained in:
Shawn Lin
2025-02-20 08:32:37 +00:00
parent 010869fc7e
commit 738d13829d
12 changed files with 123 additions and 0 deletions

View File

@@ -18,11 +18,18 @@ package com.android.settings.biometrics.face;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.verify;
import android.app.settings.SettingsEnums;
import android.content.Context;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -31,10 +38,12 @@ import org.junit.runner.RunWith;
public class FaceSettingsAppsPreferenceControllerTest {
private Context mContext;
private FaceSettingsAppsPreferenceController mController;
private FakeFeatureFactory mFeatureFactory;
@Before
public void setUp() {
mContext = ApplicationProvider.getApplicationContext();
mFeatureFactory = FakeFeatureFactory.setupForTest();
mController = new FaceSettingsAppsPreferenceController(
mContext, "biometric_settings_face_app");
}
@@ -43,4 +52,18 @@ public class FaceSettingsAppsPreferenceControllerTest {
public void isSliceable_returnFalse() {
assertThat(mController.isSliceable()).isFalse();
}
@Test
public void setChecked_checked_updateMetrics() {
mController.setChecked(true);
verify(mFeatureFactory.metricsFeatureProvider).action(any(),
eq(SettingsEnums.ACTION_FACE_ENABLED_FOR_APP), eq(true));
}
@Test
public void setChecked_unchecked_updateMetrics() {
mController.setChecked(false);
verify(mFeatureFactory.metricsFeatureProvider).action(any(),
eq(SettingsEnums.ACTION_FACE_ENABLED_FOR_APP), eq(false));
}
}

View File

@@ -18,11 +18,18 @@ package com.android.settings.biometrics.face;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.verify;
import android.app.settings.SettingsEnums;
import android.content.Context;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -31,10 +38,12 @@ import org.junit.runner.RunWith;
public class FaceSettingsKeyguardUnlockPreferenceControllerTest {
private Context mContext;
private FaceSettingsKeyguardUnlockPreferenceController mController;
private FakeFeatureFactory mFeatureFactory;
@Before
public void setUp() {
mContext = ApplicationProvider.getApplicationContext();
mFeatureFactory = FakeFeatureFactory.setupForTest();
mController = new FaceSettingsKeyguardUnlockPreferenceController(
mContext, "biometric_settings_face_keyguard");
}
@@ -43,4 +52,18 @@ public class FaceSettingsKeyguardUnlockPreferenceControllerTest {
public void isSliceable_returnFalse() {
assertThat(mController.isSliceable()).isFalse();
}
@Test
public void setChecked_checked_updateMetrics() {
mController.setChecked(true);
verify(mFeatureFactory.metricsFeatureProvider).action(any(),
eq(SettingsEnums.ACTION_FACE_ENABLED_ON_KEYGUARD), eq(true));
}
@Test
public void setChecked_unchecked_updateMetrics() {
mController.setChecked(false);
verify(mFeatureFactory.metricsFeatureProvider).action(any(),
eq(SettingsEnums.ACTION_FACE_ENABLED_ON_KEYGUARD), eq(false));
}
}

View File

@@ -18,11 +18,18 @@ package com.android.settings.biometrics.fingerprint;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.verify;
import android.app.settings.SettingsEnums;
import android.content.Context;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -31,10 +38,12 @@ import org.junit.runner.RunWith;
public class FingerprintSettingsAppsPreferenceControllerTest {
private Context mContext;
private FingerprintSettingsAppsPreferenceController mController;
private FakeFeatureFactory mFeatureFactory;
@Before
public void setUp() {
mContext = ApplicationProvider.getApplicationContext();
mFeatureFactory = FakeFeatureFactory.setupForTest();
mController = new FingerprintSettingsAppsPreferenceController(
mContext, "biometric_settings_fingerprint_app");
}
@@ -43,4 +52,18 @@ public class FingerprintSettingsAppsPreferenceControllerTest {
public void isSliceable_returnFalse() {
assertThat(mController.isSliceable()).isFalse();
}
@Test
public void setChecked_checked_updateMetrics() {
mController.setChecked(true);
verify(mFeatureFactory.metricsFeatureProvider).action(any(),
eq(SettingsEnums.ACTION_FINGERPRINT_ENABLED_FOR_APP), eq(true));
}
@Test
public void setChecked_unchecked_updateMetrics() {
mController.setChecked(false);
verify(mFeatureFactory.metricsFeatureProvider).action(any(),
eq(SettingsEnums.ACTION_FINGERPRINT_ENABLED_FOR_APP), eq(false));
}
}

View File

@@ -18,11 +18,18 @@ package com.android.settings.biometrics.fingerprint;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.verify;
import android.app.settings.SettingsEnums;
import android.content.Context;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -31,10 +38,12 @@ import org.junit.runner.RunWith;
public class FingerprintSettingsKeyguardUnlockPreferenceControllerTest {
private Context mContext;
private FingerprintSettingsKeyguardUnlockPreferenceController mController;
private FakeFeatureFactory mFeatureFactory;
@Before
public void setUp() {
mContext = ApplicationProvider.getApplicationContext();
mFeatureFactory = FakeFeatureFactory.setupForTest();
mController = new FingerprintSettingsKeyguardUnlockPreferenceController(
mContext, "biometric_settings_fingerprint_keyguard");
}
@@ -43,4 +52,18 @@ public class FingerprintSettingsKeyguardUnlockPreferenceControllerTest {
public void isSliceable_returnFalse() {
assertThat(mController.isSliceable()).isFalse();
}
@Test
public void setChecked_checked_updateMetrics() {
mController.setChecked(true);
verify(mFeatureFactory.metricsFeatureProvider).action(any(),
eq(SettingsEnums.ACTION_FINGERPRINT_ENABLED_ON_KEYGUARD), eq(true));
}
@Test
public void setChecked_unchecked_updateMetrics() {
mController.setChecked(false);
verify(mFeatureFactory.metricsFeatureProvider).action(any(),
eq(SettingsEnums.ACTION_FINGERPRINT_ENABLED_ON_KEYGUARD), eq(false));
}
}