Add metrics log for special cases

Support Wifi toggle, Smart storage toggle, Manage storage, Face unlock,
Pixel Imprint

Bug: 137559984
Test: robotest
Change-Id: I3e2e666a8bee1e54d6bd13349b5bedb48fbc42df
This commit is contained in:
Jason Chiu
2020-05-12 17:44:06 +08:00
parent 7a31f2da60
commit bee14256df
8 changed files with 56 additions and 49 deletions

View File

@@ -23,6 +23,7 @@ import android.content.Context;
import android.content.Intent;
import android.os.UserHandle;
import android.os.UserManager;
import android.text.TextUtils;
import androidx.preference.Preference;
@@ -100,29 +101,31 @@ public abstract class BiometricStatusPreferenceController extends BasePreference
} else {
preference.setVisible(true);
}
final int userId = getUserId();
final String clazz;
if (hasEnrolledBiometrics()) {
preference.setSummary(getSummaryTextEnrolled());
clazz = getSettingsClassName();
} else {
preference.setSummary(getSummaryTextNoneEnrolled());
clazz = getEnrollClassName();
preference.setSummary(hasEnrolledBiometrics() ? getSummaryTextEnrolled()
: getSummaryTextNoneEnrolled());
}
@Override
public boolean handlePreferenceTreeClick(Preference preference) {
if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
return super.handlePreferenceTreeClick(preference);
}
preference.setOnPreferenceClickListener(target -> {
final Context context = target.getContext();
final UserManager userManager = UserManager.get(context);
if (Utils.startQuietModeDialogIfNecessary(context, userManager,
userId)) {
return false;
}
Intent intent = new Intent();
intent.setClassName(SETTINGS_PACKAGE_NAME, clazz);
intent.putExtra(Intent.EXTRA_USER_ID, userId);
intent.putExtra(EXTRA_FROM_SETTINGS_SUMMARY, true);
context.startActivity(intent);
return true;
});
final Context context = preference.getContext();
final UserManager userManager = UserManager.get(context);
final int userId = getUserId();
if (Utils.startQuietModeDialogIfNecessary(context, userManager, userId)) {
return false;
}
final Intent intent = new Intent();
final String clazz = hasEnrolledBiometrics() ? getSettingsClassName()
: getEnrollClassName();
intent.setClassName(SETTINGS_PACKAGE_NAME, clazz);
intent.putExtra(Intent.EXTRA_USER_ID, userId);
intent.putExtra(EXTRA_FROM_SETTINGS_SUMMARY, true);
context.startActivity(intent);
return true;
}
protected int getUserId() {

View File

@@ -35,6 +35,8 @@ import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.widget.LayoutPreference;
import java.util.List;
@@ -80,12 +82,14 @@ public class FaceSettingsRemoveButtonPreferenceController extends BasePreference
void onRemoved();
}
private Preference mPreference;
private Button mButton;
private Listener mListener;
private SettingsActivity mActivity;
private int mUserId;
private boolean mRemoving;
private final MetricsFeatureProvider mMetricsFeatureProvider;
private final Context mContext;
private final FaceManager mFaceManager;
private final FaceManager.RemovalCallback mRemovalCallback = new FaceManager.RemovalCallback() {
@@ -141,6 +145,7 @@ public class FaceSettingsRemoveButtonPreferenceController extends BasePreference
super(context, preferenceKey);
mContext = context;
mFaceManager = context.getSystemService(FaceManager.class);
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
}
public FaceSettingsRemoveButtonPreferenceController(Context context) {
@@ -155,6 +160,7 @@ public class FaceSettingsRemoveButtonPreferenceController extends BasePreference
public void updateState(Preference preference) {
super.updateState(preference);
mPreference = preference;
mButton = ((LayoutPreference) preference)
.findViewById(R.id.security_settings_face_settings_remove_button);
mButton.setOnClickListener(this);
@@ -179,6 +185,7 @@ public class FaceSettingsRemoveButtonPreferenceController extends BasePreference
@Override
public void onClick(View v) {
if (v == mButton) {
mMetricsFeatureProvider.logClickedPreference(mPreference, getMetricsCategory());
mRemoving = true;
ConfirmRemoveDialog dialog = new ConfirmRemoveDialog();
dialog.setOnClickListener(mOnClickListener);