summaryrefslogtreecommitdiff
path: root/tests/testables
diff options
context:
space:
mode:
authorJason Monk <jmonk@google.com>2018-12-19 14:17:26 -0500
committerJason Monk <jmonk@google.com>2018-12-19 16:07:46 -0500
commit9424af7315de764c6609dac7676c283481654202 (patch)
tree17cbbc69944e48dec0c676d03179b076eacb4305 /tests/testables
parent27d01a624d7afc9d61dbd3d462695a28c18e1250 (diff)
Add support for dagger injection with fragments
Convert NavigationBarFragment as a proof of concept and remove all references to Dependency from NavigationBarFragment. Test: atest SystemUITests Change-Id: I0cdb5bc6ac455fce91e67b9e449cb7b78b1da9a4
Diffstat (limited to 'tests/testables')
-rw-r--r--tests/testables/src/android/testing/BaseFragmentTest.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/tests/testables/src/android/testing/BaseFragmentTest.java b/tests/testables/src/android/testing/BaseFragmentTest.java
index 5fa065a9135a..d18c126a96c1 100644
--- a/tests/testables/src/android/testing/BaseFragmentTest.java
+++ b/tests/testables/src/android/testing/BaseFragmentTest.java
@@ -21,7 +21,9 @@ import android.app.Fragment;
import android.app.FragmentController;
import android.app.FragmentHostCallback;
import android.app.FragmentManagerNonConfig;
+import android.content.Context;
import android.graphics.PixelFormat;
+import android.os.Bundle;
import android.os.Handler;
import android.os.Parcelable;
import android.support.test.InstrumentationRegistry;
@@ -75,7 +77,7 @@ public abstract class BaseFragmentTest {
TestableLooper.get(this).runWithLooper(() -> {
mHandler = new Handler();
- mFragment = mCls.newInstance();
+ mFragment = instantiate(mContext, mCls.getName(), null);
mFragments = FragmentController.createController(new HostCallbacks());
mFragments.attachHost(null);
mFragments.getFragmentManager().beginTransaction()
@@ -187,6 +189,13 @@ public abstract class BaseFragmentTest {
TestableLooper.get(this).processAllMessages();
}
+ /**
+ * Method available for override to replace fragment instantiation.
+ */
+ protected Fragment instantiate(Context context, String className, @Nullable Bundle arguments) {
+ return Fragment.instantiate(context, className, arguments);
+ }
+
private View findViewById(int id) {
return mView.findViewById(id);
}
@@ -206,6 +215,11 @@ public abstract class BaseFragmentTest {
}
@Override
+ public Fragment instantiate(Context context, String className, Bundle arguments) {
+ return BaseFragmentTest.this.instantiate(context, className, arguments);
+ }
+
+ @Override
public boolean onShouldSaveFragmentState(Fragment fragment) {
return true; // True for now.
}