Support click metrics logs in several pages
- Assign metrics category to perferences at an earlier stage in DashboardFragment for better usability. Bug: 137559984 Test: robotest Change-Id: Icd4185efa0e655be20c4b673a1380fa42140923f
This commit is contained in:
@@ -20,9 +20,6 @@ import android.content.Context;
|
|||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
|
||||||
import androidx.preference.Preference;
|
|
||||||
import androidx.preference.SwitchPreference;
|
|
||||||
|
|
||||||
import com.android.settings.core.TogglePreferenceController;
|
import com.android.settings.core.TogglePreferenceController;
|
||||||
|
|
||||||
/** Controller that shows the magnification enable mode summary. */
|
/** Controller that shows the magnification enable mode summary. */
|
||||||
|
@@ -54,6 +54,7 @@ public class MagnificationGesturesPreferenceController extends TogglePreferenceC
|
|||||||
populateMagnificationGesturesPreferenceExtras(extras, mContext);
|
populateMagnificationGesturesPreferenceExtras(extras, mContext);
|
||||||
extras.putBoolean(AccessibilitySettings.EXTRA_CHECKED, isChecked());
|
extras.putBoolean(AccessibilitySettings.EXTRA_CHECKED, isChecked());
|
||||||
extras.putBoolean(AccessibilitySettings.EXTRA_LAUNCHED_FROM_SUW, mIsFromSUW);
|
extras.putBoolean(AccessibilitySettings.EXTRA_LAUNCHED_FROM_SUW, mIsFromSUW);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -59,6 +59,7 @@ public class MagnificationNavbarPreferenceController extends TogglePreferenceCon
|
|||||||
mContext.getText(R.string.accessibility_screen_magnification_navbar_summary));
|
mContext.getText(R.string.accessibility_screen_magnification_navbar_summary));
|
||||||
extras.putBoolean(AccessibilitySettings.EXTRA_CHECKED, isChecked());
|
extras.putBoolean(AccessibilitySettings.EXTRA_CHECKED, isChecked());
|
||||||
extras.putBoolean(AccessibilitySettings.EXTRA_LAUNCHED_FROM_SUW, mIsFromSUW);
|
extras.putBoolean(AccessibilitySettings.EXTRA_LAUNCHED_FROM_SUW, mIsFromSUW);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -80,6 +80,7 @@ public class AccountPreferenceController extends AbstractPreferenceController
|
|||||||
private static final int ORDER_NEXT_TO_LAST = 1001;
|
private static final int ORDER_NEXT_TO_LAST = 1001;
|
||||||
private static final int ORDER_NEXT_TO_NEXT_TO_LAST = 1000;
|
private static final int ORDER_NEXT_TO_NEXT_TO_LAST = 1000;
|
||||||
|
|
||||||
|
private static final String PREF_KEY_ADD_ACCOUNT = "add_account";
|
||||||
private static final String PREF_KEY_REMOVE_PROFILE = "remove_profile";
|
private static final String PREF_KEY_REMOVE_PROFILE = "remove_profile";
|
||||||
private static final String PREF_KEY_WORK_PROFILE_SETTING = "work_profile_setting";
|
private static final String PREF_KEY_WORK_PROFILE_SETTING = "work_profile_setting";
|
||||||
|
|
||||||
@@ -225,11 +226,13 @@ public class AccountPreferenceController extends AbstractPreferenceController
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceClick(Preference preference) {
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
|
final int metricsCategory = mFragment.getMetricsCategory();
|
||||||
// Check the preference
|
// Check the preference
|
||||||
final int count = mProfiles.size();
|
final int count = mProfiles.size();
|
||||||
for (int i = 0; i < count; i++) {
|
for (int i = 0; i < count; i++) {
|
||||||
ProfileData profileData = mProfiles.valueAt(i);
|
ProfileData profileData = mProfiles.valueAt(i);
|
||||||
if (preference == profileData.addAccountPreference) {
|
if (preference == profileData.addAccountPreference) {
|
||||||
|
mMetricsFeatureProvider.logClickedPreference(preference, metricsCategory);
|
||||||
Intent intent = new Intent(ACTION_ADD_ACCOUNT);
|
Intent intent = new Intent(ACTION_ADD_ACCOUNT);
|
||||||
intent.putExtra(EXTRA_USER, profileData.userInfo.getUserHandle());
|
intent.putExtra(EXTRA_USER, profileData.userInfo.getUserHandle());
|
||||||
intent.putExtra(EXTRA_AUTHORITIES, mAuthorities);
|
intent.putExtra(EXTRA_AUTHORITIES, mAuthorities);
|
||||||
@@ -237,16 +240,18 @@ public class AccountPreferenceController extends AbstractPreferenceController
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (preference == profileData.removeWorkProfilePreference) {
|
if (preference == profileData.removeWorkProfilePreference) {
|
||||||
|
mMetricsFeatureProvider.logClickedPreference(preference, metricsCategory);
|
||||||
final int userId = profileData.userInfo.id;
|
final int userId = profileData.userInfo.id;
|
||||||
RemoveUserFragment.newInstance(userId).show(mFragment.getFragmentManager(),
|
RemoveUserFragment.newInstance(userId).show(mFragment.getFragmentManager(),
|
||||||
"removeUser");
|
"removeUser");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (preference == profileData.managedProfilePreference) {
|
if (preference == profileData.managedProfilePreference) {
|
||||||
|
mMetricsFeatureProvider.logClickedPreference(preference, metricsCategory);
|
||||||
Bundle arguments = new Bundle();
|
Bundle arguments = new Bundle();
|
||||||
arguments.putParcelable(Intent.EXTRA_USER, profileData.userInfo.getUserHandle());
|
arguments.putParcelable(Intent.EXTRA_USER, profileData.userInfo.getUserHandle());
|
||||||
new SubSettingLauncher(mContext)
|
new SubSettingLauncher(mContext)
|
||||||
.setSourceMetricsCategory(mFragment.getMetricsCategory())
|
.setSourceMetricsCategory(metricsCategory)
|
||||||
.setDestination(ManagedProfileSettings.class.getName())
|
.setDestination(ManagedProfileSettings.class.getName())
|
||||||
.setTitleRes(R.string.managed_profile_settings_title)
|
.setTitleRes(R.string.managed_profile_settings_title)
|
||||||
.setArguments(arguments)
|
.setArguments(arguments)
|
||||||
@@ -360,6 +365,7 @@ public class AccountPreferenceController extends AbstractPreferenceController
|
|||||||
private RestrictedPreference newAddAccountPreference() {
|
private RestrictedPreference newAddAccountPreference() {
|
||||||
RestrictedPreference preference =
|
RestrictedPreference preference =
|
||||||
new RestrictedPreference(mFragment.getPreferenceManager().getContext());
|
new RestrictedPreference(mFragment.getPreferenceManager().getContext());
|
||||||
|
preference.setKey(PREF_KEY_ADD_ACCOUNT);
|
||||||
preference.setTitle(R.string.add_account_label);
|
preference.setTitle(R.string.add_account_label);
|
||||||
preference.setIcon(R.drawable.ic_add_24dp);
|
preference.setIcon(R.drawable.ic_add_24dp);
|
||||||
preference.setOnPreferenceClickListener(this);
|
preference.setOnPreferenceClickListener(this);
|
||||||
|
@@ -40,10 +40,12 @@ import androidx.preference.PreferenceScreen;
|
|||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.core.PreferenceControllerMixin;
|
import com.android.settings.core.PreferenceControllerMixin;
|
||||||
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||||
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settingslib.RestrictedLockUtils;
|
import com.android.settingslib.RestrictedLockUtils;
|
||||||
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||||
import com.android.settingslib.RestrictedLockUtilsInternal;
|
import com.android.settingslib.RestrictedLockUtilsInternal;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
|
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||||
import com.android.settingslib.widget.LayoutPreference;
|
import com.android.settingslib.widget.LayoutPreference;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -53,20 +55,23 @@ public class RemoveAccountPreferenceController extends AbstractPreferenceControl
|
|||||||
|
|
||||||
private static final String KEY_REMOVE_ACCOUNT = "remove_account";
|
private static final String KEY_REMOVE_ACCOUNT = "remove_account";
|
||||||
|
|
||||||
|
private final MetricsFeatureProvider mMetricsFeatureProvider;
|
||||||
private Account mAccount;
|
private Account mAccount;
|
||||||
private Fragment mParentFragment;
|
private Fragment mParentFragment;
|
||||||
private UserHandle mUserHandle;
|
private UserHandle mUserHandle;
|
||||||
|
private LayoutPreference mRemoveAccountPreference;
|
||||||
|
|
||||||
public RemoveAccountPreferenceController(Context context, Fragment parent) {
|
public RemoveAccountPreferenceController(Context context, Fragment parent) {
|
||||||
super(context);
|
super(context);
|
||||||
mParentFragment = parent;
|
mParentFragment = parent;
|
||||||
|
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void displayPreference(PreferenceScreen screen) {
|
public void displayPreference(PreferenceScreen screen) {
|
||||||
super.displayPreference(screen);
|
super.displayPreference(screen);
|
||||||
final LayoutPreference removeAccountPreference = screen.findPreference(KEY_REMOVE_ACCOUNT);
|
mRemoveAccountPreference = screen.findPreference(KEY_REMOVE_ACCOUNT);
|
||||||
Button removeAccountButton = (Button) removeAccountPreference.findViewById(R.id.button);
|
final Button removeAccountButton = mRemoveAccountPreference.findViewById(R.id.button);
|
||||||
removeAccountButton.setOnClickListener(this);
|
removeAccountButton.setOnClickListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,6 +87,8 @@ public class RemoveAccountPreferenceController extends AbstractPreferenceControl
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
|
mMetricsFeatureProvider.logClickedPreference(mRemoveAccountPreference,
|
||||||
|
mMetricsFeatureProvider.getMetricsCategory(mParentFragment));
|
||||||
if (mUserHandle != null) {
|
if (mUserHandle != null) {
|
||||||
final EnforcedAdmin admin = RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
|
final EnforcedAdmin admin = RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
|
||||||
mContext, UserManager.DISALLOW_MODIFY_ACCOUNTS, mUserHandle.getIdentifier());
|
mContext, UserManager.DISALLOW_MODIFY_ACCOUNTS, mUserHandle.getIdentifier());
|
||||||
|
@@ -173,6 +173,13 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
|||||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||||
checkUiBlocker(mControllers);
|
checkUiBlocker(mControllers);
|
||||||
refreshAllPreferences(getLogTag());
|
refreshAllPreferences(getLogTag());
|
||||||
|
mControllers.stream()
|
||||||
|
.map(controller -> (Preference) findPreference(controller.getPreferenceKey()))
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.forEach(preference -> {
|
||||||
|
// Give all controllers a chance to handle click.
|
||||||
|
preference.getExtras().putInt(CATEGORY, getMetricsCategory());
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -211,8 +218,6 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
|||||||
public boolean onPreferenceTreeClick(Preference preference) {
|
public boolean onPreferenceTreeClick(Preference preference) {
|
||||||
final Collection<List<AbstractPreferenceController>> controllers =
|
final Collection<List<AbstractPreferenceController>> controllers =
|
||||||
mPreferenceControllers.values();
|
mPreferenceControllers.values();
|
||||||
// Give all controllers a chance to handle click.
|
|
||||||
preference.getExtras().putInt(CATEGORY, getMetricsCategory());
|
|
||||||
for (List<AbstractPreferenceController> controllerList : controllers) {
|
for (List<AbstractPreferenceController> controllerList : controllers) {
|
||||||
for (AbstractPreferenceController controller : controllerList) {
|
for (AbstractPreferenceController controller : controllerList) {
|
||||||
if (controller.handlePreferenceTreeClick(preference)) {
|
if (controller.handlePreferenceTreeClick(preference)) {
|
||||||
|
@@ -20,6 +20,7 @@ import android.accounts.Account;
|
|||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
@@ -63,7 +64,14 @@ public class BrandedAccountPreferenceController extends BasePreferenceController
|
|||||||
}
|
}
|
||||||
|
|
||||||
accountPreference.setSummary(mAccounts[0].name);
|
accountPreference.setSummary(mAccounts[0].name);
|
||||||
accountPreference.setOnPreferenceClickListener(preference -> {
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean handlePreferenceTreeClick(Preference preference) {
|
||||||
|
if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
final Bundle args = new Bundle();
|
final Bundle args = new Bundle();
|
||||||
args.putParcelable(AccountDetailDashboardFragment.KEY_ACCOUNT,
|
args.putParcelable(AccountDetailDashboardFragment.KEY_ACCOUNT,
|
||||||
mAccounts[0]);
|
mAccounts[0]);
|
||||||
@@ -79,7 +87,6 @@ public class BrandedAccountPreferenceController extends BasePreferenceController
|
|||||||
.setSourceMetricsCategory(SettingsEnums.DEVICEINFO)
|
.setSourceMetricsCategory(SettingsEnums.DEVICEINFO)
|
||||||
.launch();
|
.launch();
|
||||||
return true;
|
return true;
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -23,7 +23,6 @@ import android.content.Intent;
|
|||||||
import android.content.pm.UserInfo;
|
import android.content.pm.UserInfo;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
import android.provider.SearchIndexableResource;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
@@ -50,7 +49,6 @@ import com.android.settingslib.search.SearchIndexable;
|
|||||||
import com.android.settingslib.widget.LayoutPreference;
|
import com.android.settingslib.widget.LayoutPreference;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@SearchIndexable
|
@SearchIndexable
|
||||||
|
@@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
package com.android.settings.dream;
|
package com.android.settings.dream;
|
||||||
|
|
||||||
import android.app.settings.SettingsEnums;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
|
|
||||||
@@ -25,6 +24,7 @@ import androidx.preference.PreferenceScreen;
|
|||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.core.PreferenceControllerMixin;
|
import com.android.settings.core.PreferenceControllerMixin;
|
||||||
|
import com.android.settings.dashboard.DashboardFragment;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||||
@@ -62,7 +62,8 @@ public class StartNowPreferenceController extends AbstractPreferenceController i
|
|||||||
LayoutPreference pref = screen.findPreference(getPreferenceKey());
|
LayoutPreference pref = screen.findPreference(getPreferenceKey());
|
||||||
Button startButton = pref.findViewById(R.id.dream_start_now_button);
|
Button startButton = pref.findViewById(R.id.dream_start_now_button);
|
||||||
startButton.setOnClickListener(v -> {
|
startButton.setOnClickListener(v -> {
|
||||||
mMetricsFeatureProvider.logClickedPreference(pref, SettingsEnums.DREAM);
|
mMetricsFeatureProvider.logClickedPreference(pref,
|
||||||
|
pref.getExtras().getInt(DashboardFragment.CATEGORY));
|
||||||
mBackend.startDreaming();
|
mBackend.startDreaming();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@@ -17,11 +17,14 @@
|
|||||||
package com.android.settings.location;
|
package com.android.settings.location;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
|
|
||||||
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settings.widget.RestrictedAppPreference;
|
import com.android.settings.widget.RestrictedAppPreference;
|
||||||
|
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||||
import com.android.settingslib.location.InjectedSetting;
|
import com.android.settingslib.location.InjectedSetting;
|
||||||
import com.android.settingslib.location.SettingsInjector;
|
import com.android.settingslib.location.SettingsInjector;
|
||||||
import com.android.settingslib.widget.apppreference.AppPreference;
|
import com.android.settingslib.widget.apppreference.AppPreference;
|
||||||
@@ -31,8 +34,13 @@ import com.android.settingslib.widget.apppreference.AppPreference;
|
|||||||
*/
|
*/
|
||||||
public class AppSettingsInjector extends SettingsInjector {
|
public class AppSettingsInjector extends SettingsInjector {
|
||||||
|
|
||||||
public AppSettingsInjector(Context context) {
|
private final MetricsFeatureProvider mMetricsFeatureProvider;
|
||||||
|
private final int mMetricsCategory;
|
||||||
|
|
||||||
|
public AppSettingsInjector(Context context, int metricsCategory) {
|
||||||
super(context);
|
super(context);
|
||||||
|
mMetricsCategory = metricsCategory;
|
||||||
|
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -41,4 +49,9 @@ public class AppSettingsInjector extends SettingsInjector {
|
|||||||
? new AppPreference(prefContext)
|
? new AppPreference(prefContext)
|
||||||
: new RestrictedAppPreference(prefContext, setting.userRestriction);
|
: new RestrictedAppPreference(prefContext, setting.userRestriction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void logPreferenceClick(Intent intent) {
|
||||||
|
mMetricsFeatureProvider.logStartedIntent(intent, mMetricsCategory);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -58,7 +58,7 @@ public class LocationServicePreferenceController extends LocationBasePreferenceC
|
|||||||
@Override
|
@Override
|
||||||
public void init(DashboardFragment fragment) {
|
public void init(DashboardFragment fragment) {
|
||||||
super.init(fragment);
|
super.init(fragment);
|
||||||
mInjector = new AppSettingsInjector(mContext);
|
mInjector = new AppSettingsInjector(mContext, getMetricsCategory());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -311,8 +311,9 @@ public class ChooseLockGeneric extends SettingsActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceTreeClick(Preference preference) {
|
public boolean onPreferenceTreeClick(Preference preference) {
|
||||||
final String key = preference.getKey();
|
writePreferenceClickMetric(preference);
|
||||||
|
|
||||||
|
final String key = preference.getKey();
|
||||||
if (!isUnlockMethodSecure(key) && mLockPatternUtils.isSecure(mUserId)) {
|
if (!isUnlockMethodSecure(key) && mLockPatternUtils.isSecure(mUserId)) {
|
||||||
// Show the disabling FRP warning only when the user is switching from a secure
|
// Show the disabling FRP warning only when the user is switching from a secure
|
||||||
// unlock method to an insecure one
|
// unlock method to an insecure one
|
||||||
|
@@ -31,6 +31,7 @@ import com.android.settings.R;
|
|||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.core.PreferenceControllerMixin;
|
import com.android.settings.core.PreferenceControllerMixin;
|
||||||
import com.android.settings.core.SubSettingLauncher;
|
import com.android.settings.core.SubSettingLauncher;
|
||||||
|
import com.android.settings.dashboard.DashboardFragment;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settings.password.ChooseLockGeneric;
|
import com.android.settings.password.ChooseLockGeneric;
|
||||||
import com.android.settings.security.screenlock.ScreenLockSettings;
|
import com.android.settings.security.screenlock.ScreenLockSettings;
|
||||||
@@ -39,6 +40,7 @@ import com.android.settingslib.RestrictedLockUtils;
|
|||||||
import com.android.settingslib.RestrictedLockUtilsInternal;
|
import com.android.settingslib.RestrictedLockUtilsInternal;
|
||||||
import com.android.settingslib.RestrictedPreference;
|
import com.android.settingslib.RestrictedPreference;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
|
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||||
|
|
||||||
public class ChangeScreenLockPreferenceController extends AbstractPreferenceController implements
|
public class ChangeScreenLockPreferenceController extends AbstractPreferenceController implements
|
||||||
PreferenceControllerMixin, GearPreference.OnGearClickListener {
|
PreferenceControllerMixin, GearPreference.OnGearClickListener {
|
||||||
@@ -52,6 +54,7 @@ public class ChangeScreenLockPreferenceController extends AbstractPreferenceCont
|
|||||||
|
|
||||||
protected final int mUserId = UserHandle.myUserId();
|
protected final int mUserId = UserHandle.myUserId();
|
||||||
protected final int mProfileChallengeUserId;
|
protected final int mProfileChallengeUserId;
|
||||||
|
private final MetricsFeatureProvider mMetricsFeatureProvider;
|
||||||
|
|
||||||
protected RestrictedPreference mPreference;
|
protected RestrictedPreference mPreference;
|
||||||
|
|
||||||
@@ -64,6 +67,7 @@ public class ChangeScreenLockPreferenceController extends AbstractPreferenceCont
|
|||||||
.getLockPatternUtils(context);
|
.getLockPatternUtils(context);
|
||||||
mHost = host;
|
mHost = host;
|
||||||
mProfileChallengeUserId = Utils.getManagedProfileId(mUm, mUserId);
|
mProfileChallengeUserId = Utils.getManagedProfileId(mUm, mUserId);
|
||||||
|
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -104,6 +108,8 @@ public class ChangeScreenLockPreferenceController extends AbstractPreferenceCont
|
|||||||
@Override
|
@Override
|
||||||
public void onGearClick(GearPreference p) {
|
public void onGearClick(GearPreference p) {
|
||||||
if (TextUtils.equals(p.getKey(), getPreferenceKey())) {
|
if (TextUtils.equals(p.getKey(), getPreferenceKey())) {
|
||||||
|
mMetricsFeatureProvider.logClickedPreference(p,
|
||||||
|
p.getExtras().getInt(DashboardFragment.CATEGORY));
|
||||||
new SubSettingLauncher(mContext)
|
new SubSettingLauncher(mContext)
|
||||||
.setDestination(ScreenLockSettings.class.getName())
|
.setDestination(ScreenLockSettings.class.getName())
|
||||||
.setSourceMetricsCategory(mHost.getMetricsCategory())
|
.setSourceMetricsCategory(mHost.getMetricsCategory())
|
||||||
|
Reference in New Issue
Block a user