Add lifecycle observers for future mixin structures.

- Converted VisibilityLoggerMixin into a LifecyclerObservable so we
  don't have to call logger.onResume/onPause manually in most fragments.
- Observable will be useful when we provide logics across all
  fragment/activity, eg log lifecycle event latencies.
- Also added new tests for lifecycle component.

Bug: 30681529
Test: RunSettingsRoboTests

Change-Id: Ida39300aeb42f71b2e0bbfaebd0c51dc468cb5e8
This commit is contained in:
Fan Zhang
2016-08-22 15:20:22 -07:00
parent 141c20c5e3
commit ea024155fb
19 changed files with 583 additions and 53 deletions

View File

@@ -64,7 +64,7 @@ public class DeviceAdminSettings extends ListFragment implements Instrumentable
static final String TAG = "DeviceAdminSettings";
private final VisibilityLoggerMixin mVisibilityLoggerMixin =
new VisibilityLoggerMixin(this);
new VisibilityLoggerMixin(getMetricsCategory());
private DevicePolicyManager mDPM;
private UserManager mUm;
@@ -135,7 +135,7 @@ public class DeviceAdminSettings extends ListFragment implements Instrumentable
public void onResume() {
super.onResume();
final Activity activity = getActivity();
mVisibilityLoggerMixin.onResume(activity);
mVisibilityLoggerMixin.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction(DevicePolicyManager.ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED);
activity.registerReceiverAsUser(
@@ -158,7 +158,7 @@ public class DeviceAdminSettings extends ListFragment implements Instrumentable
public void onPause() {
final Activity activity = getActivity();
activity.unregisterReceiver(mBroadcastReceiver);
mVisibilityLoggerMixin.onPause(activity);
mVisibilityLoggerMixin.onPause();
super.onPause();
}