Add preference click metric logs for some special cases

Bug: 137559984
Test: visual, robotest
Change-Id: If8624b49abcd0000487065160ce4a7ba861f234c
This commit is contained in:
Jason Chiu
2019-12-19 15:59:07 +08:00
parent d889dec474
commit 2d609759cd
18 changed files with 134 additions and 42 deletions

View File

@@ -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();
}
}