diff options
author | Jason Monk <jmonk@google.com> | 2018-12-19 14:17:26 -0500 |
---|---|---|
committer | Jason Monk <jmonk@google.com> | 2018-12-19 16:07:46 -0500 |
commit | 9424af7315de764c6609dac7676c283481654202 (patch) | |
tree | 17cbbc69944e48dec0c676d03179b076eacb4305 /tests/testables | |
parent | 27d01a624d7afc9d61dbd3d462695a28c18e1250 (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.java | 16 |
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. } |