Add preference click metric logs for some special cases
Bug: 137559984 Test: visual, robotest Change-Id: If8624b49abcd0000487065160ce4a7ba861f234c
This commit is contained in:
@@ -23,7 +23,6 @@ import android.content.Context;
|
||||
import android.icu.text.RelativeDateTimeFormatter;
|
||||
import android.os.UserHandle;
|
||||
import android.util.IconDrawableFactory;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
@@ -37,7 +36,9 @@ import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
|
||||
import com.android.settings.applications.manageapplications.ManageApplications;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.applications.ApplicationsState;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settingslib.utils.StringUtil;
|
||||
import com.android.settingslib.widget.AppEntitiesHeaderController;
|
||||
import com.android.settingslib.widget.AppEntityInfo;
|
||||
@@ -65,6 +66,7 @@ public class RecentAppsPreferenceController extends BasePreferenceController
|
||||
private final ApplicationsState mApplicationsState;
|
||||
private final int mUserId;
|
||||
private final IconDrawableFactory mIconDrawableFactory;
|
||||
private final MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
|
||||
private Fragment mHost;
|
||||
private List<UsageStats> mRecentApps;
|
||||
@@ -75,6 +77,7 @@ public class RecentAppsPreferenceController extends BasePreferenceController
|
||||
(Application) mContext.getApplicationContext());
|
||||
mUserId = UserHandle.myUserId();
|
||||
mIconDrawableFactory = IconDrawableFactory.newInstance(mContext);
|
||||
mMetricsFeatureProvider = FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
|
||||
}
|
||||
|
||||
public void setFragment(Fragment fragment) {
|
||||
@@ -96,6 +99,8 @@ public class RecentAppsPreferenceController extends BasePreferenceController
|
||||
mAppEntitiesController = AppEntitiesHeaderController.newInstance(mContext, view)
|
||||
.setHeaderTitleRes(R.string.recent_app_category_title)
|
||||
.setHeaderDetailsClickListener((View v) -> {
|
||||
mMetricsFeatureProvider.logClickedPreference(mRecentAppsPreference,
|
||||
SettingsEnums.SETTINGS_APP_NOTIF_CATEGORY);
|
||||
new SubSettingLauncher(mContext)
|
||||
.setDestination(ManageApplications.class.getName())
|
||||
.setArguments(null /* arguments */)
|
||||
@@ -161,11 +166,14 @@ public class RecentAppsPreferenceController extends BasePreferenceController
|
||||
.setSummary(StringUtil.formatRelativeTime(mContext,
|
||||
System.currentTimeMillis() - stat.getLastTimeUsed(), false,
|
||||
RelativeDateTimeFormatter.Style.SHORT))
|
||||
.setOnClickListener(v ->
|
||||
AppInfoBase.startAppInfoFragment(AppInfoDashboardFragment.class,
|
||||
R.string.application_info_label, pkgName, appEntry.info.uid,
|
||||
mHost, 1001 /*RequestCode*/,
|
||||
SettingsEnums.SETTINGS_APP_NOTIF_CATEGORY))
|
||||
.setOnClickListener(v -> {
|
||||
mMetricsFeatureProvider.logClickedPreference(mRecentAppsPreference,
|
||||
SettingsEnums.SETTINGS_APP_NOTIF_CATEGORY);
|
||||
AppInfoBase.startAppInfoFragment(AppInfoDashboardFragment.class,
|
||||
R.string.application_info_label, pkgName, appEntry.info.uid,
|
||||
mHost, 1001 /*RequestCode*/,
|
||||
SettingsEnums.SETTINGS_APP_NOTIF_CATEGORY);
|
||||
})
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,6 +46,9 @@ import androidx.preference.PreferenceScreen;
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||
import com.android.settingslib.core.lifecycle.events.OnStart;
|
||||
import com.android.settingslib.core.lifecycle.events.OnStop;
|
||||
@@ -71,6 +74,7 @@ public class DeviceAdminListPreferenceController extends BasePreferenceControlle
|
||||
private final UserManager mUm;
|
||||
private final PackageManager mPackageManager;
|
||||
private final IPackageManager mIPackageManager;
|
||||
private final MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
/**
|
||||
* Internal collection of device admin info objects for all profiles associated with the current
|
||||
* user.
|
||||
@@ -102,6 +106,7 @@ public class DeviceAdminListPreferenceController extends BasePreferenceControlle
|
||||
mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
|
||||
mPackageManager = mContext.getPackageManager();
|
||||
mIPackageManager = AppGlobals.getPackageManager();
|
||||
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -197,6 +202,8 @@ public class DeviceAdminListPreferenceController extends BasePreferenceControlle
|
||||
pref.setSummary(item.getDescription());
|
||||
pref.setEnabled(item.isEnabled());
|
||||
pref.setOnPreferenceClickListener(preference -> {
|
||||
mMetricsFeatureProvider.logClickedPreference(preference,
|
||||
pref.getExtras().getInt(DashboardFragment.CATEGORY));
|
||||
final UserHandle user = item.getUser();
|
||||
mContext.startActivityAsUser(item.getLaunchIntent(mContext), user);
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user