Fix for NPE in ScreenTimeoutSettingsTest
Test: make RunSettingsRoboTests -j54 ROBOTEST_FILTER=ScreenTimeoutSettings
Bug: 182149244
Change-Id: I22e15c84fa6b0864d35f79df015f1d5b86dec24b
diff --git a/src/com/android/settings/display/ScreenTimeoutSettings.java b/src/com/android/settings/display/ScreenTimeoutSettings.java
index 15b5466..f9bb99e 100644
--- a/src/com/android/settings/display/ScreenTimeoutSettings.java
+++ b/src/com/android/settings/display/ScreenTimeoutSettings.java
@@ -85,6 +85,12 @@
@VisibleForTesting
AdaptiveSleepPreferenceController mAdaptiveSleepController;
+ public ScreenTimeoutSettings() {
+ super();
+ mMetricsFeatureProvider = FeatureFactory.getFactory(getContext())
+ .getMetricsFeatureProvider();
+ }
+
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
@@ -105,7 +111,6 @@
mPrivacyPreference.setTitle(R.string.adaptive_sleep_privacy);
mPrivacyPreference.setSelectable(false);
mPrivacyPreference.setLayoutResource(R.layout.preference_footer);
- mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
}
@Override
diff --git a/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java b/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java
index f0bf95c..771a863 100644
--- a/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java
@@ -40,6 +40,7 @@
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
+import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.RestrictedLockUtils;
import org.junit.Before;
@@ -78,6 +79,7 @@
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
+ FakeFeatureFactory.setupForTest();
mContext = spy(getApplicationContext());
mSettings = spy(new ScreenTimeoutSettings());
mContentResolver = mContext.getContentResolver();