From e1fc16892ea0037fcd490a15f2279c9148b91d20 Mon Sep 17 00:00:00 2001 From: Juan Lang Date: Wed, 10 May 2017 09:18:39 -0700 Subject: [PATCH] Add a factory method to create a Lifecycle. Some unit tests in other packages want to override the mLifecycle member with their own value. When the Lifecycle class moves into SettingsLib, the classpath of ObservableDialogFragment and Lifecycle have to remain consistent. This change allows dependent classes to remain agnostic to Lifecycle's classpath. Test: make RunSettingsGoogleRoboTests && make RunSettingsLibRoboTests && make RunSettingsRoboTests Change-Id: I594e447741aeeb3ba95afb4044d496b1540bd92c --- .../core/lifecycle/ObservableDialogFragment.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/core/lifecycle/ObservableDialogFragment.java b/src/com/android/settings/core/lifecycle/ObservableDialogFragment.java index c3265dde0da..f9029340940 100644 --- a/src/com/android/settings/core/lifecycle/ObservableDialogFragment.java +++ b/src/com/android/settings/core/lifecycle/ObservableDialogFragment.java @@ -17,6 +17,7 @@ package com.android.settings.core.lifecycle; import android.app.DialogFragment; import android.content.Context; +import android.support.annotation.VisibleForTesting; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -26,7 +27,7 @@ import android.view.MenuItem; */ public class ObservableDialogFragment extends DialogFragment { - protected final Lifecycle mLifecycle = new Lifecycle(); + protected final Lifecycle mLifecycle = createLifecycle(); @Override public void onAttach(Context context) { @@ -84,4 +85,10 @@ public class ObservableDialogFragment extends DialogFragment { } return lifecycleHandled; } + + @VisibleForTesting(otherwise = VisibleForTesting.NONE) + /** @return a new lifecycle. */ + public static Lifecycle createLifecycle() { + return new Lifecycle(); + } }