Extend MetricsFactory so it can log to different LogWriters

- Renamed MetricsFractory to MetricsFeatureProvider, and access it using
  FeatureFactory.
- Instead of containing exactly 1 logWriter, MetricsFeatureProvider now
  contain a list.
- Added OnAttach event in Lifecycle. This is needed when a mixin
  requires Context to initialize itself.
- Updated tests.

Bug: 29575437
Test: make RunSettingsRoboTests
Change-Id: I7cc1528b9a744cd40088701e2bd115f41a8bf744
This commit is contained in:
Fan Zhang
2016-09-14 15:04:07 -07:00
parent 9f15fe4fc1
commit 66a9852a7b
15 changed files with 261 additions and 58 deletions

View File

@@ -18,6 +18,9 @@ package com.android.settings.overlay;
import android.content.Context;
import android.support.annotation.Keep;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.core.instrumentation.MetricsFeatureProviderImpl;
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
/**
@@ -26,11 +29,21 @@ import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
@Keep
public final class FeatureFactoryImpl extends FeatureFactory {
private MetricsFeatureProvider mMetricsFeatureProvider;
@Override
public SupportFeatureProvider getSupportFeatureProvider(Context context) {
return null;
}
@Override
public MetricsFeatureProvider getMetricsFeatureProvider() {
if (mMetricsFeatureProvider == null) {
mMetricsFeatureProvider = new MetricsFeatureProviderImpl();
}
return mMetricsFeatureProvider;
}
@Override
public PowerUsageFeatureProvider getPowerUsageFeatureProvider() {
return null;