Log source with visibility change

- Add a method in VisibilityLoggerMixin to log visible event using
  LogMaker, which allows logging additional FIELD_CONTEXT field.
- In Utils.startFragment, add current page's metricsCategory as an extra
  to next page.
- In next page's onResume(), extract the previous page's metricsCategory
  and send it to VisibilityLoggerMixin.visible()
- Update all caller with additional paramters

Change-Id: I8e1f2597fa465b7d3aa16fa1d21c052a3219694a
Fix: 35359289
Test: RunSettingsRoboTests
This commit is contained in:
Fan Zhang
2017-02-14 15:02:35 -08:00
parent 358eab0fff
commit c6ca314c0b
64 changed files with 347 additions and 215 deletions

View File

@@ -38,6 +38,7 @@ import com.android.settings.AppHeader;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.applications.instantapps.InstantAppDetails;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.applications.ApplicationsState;
import java.lang.annotation.Retention;
@@ -65,6 +66,7 @@ public class AppHeaderController {
private final Context mContext;
private final Fragment mFragment;
private final int mMetricsCategory;
private final View mAppHeader;
private Drawable mIcon;
@@ -84,6 +86,8 @@ public class AppHeaderController {
public AppHeaderController(Context context, Fragment fragment, View appHeader) {
mContext = context;
mFragment = fragment;
mMetricsCategory = FeatureFactory.getFactory(context).getMetricsFeatureProvider()
.getMetricsCategory(fragment);
if (appHeader != null) {
mAppHeader = appHeader;
} else {
@@ -266,7 +270,7 @@ public class AppHeaderController {
button.setImageResource(com.android.settings.R.drawable.ic_info);
button.setOnClickListener(v -> AppInfoBase.startAppInfoFragment(
InstalledAppDetails.class, R.string.application_info_label,
mPackageName, mUid, mFragment, 0));
mPackageName, mUid, mFragment, 0 /* request */, mMetricsCategory));
button.setVisibility(View.VISIBLE);
}
return;