• Home
  • History
  • Annotate
  • only in /frameworks/support/fragment/tests/java/android/support/
History log of /frameworks/support/fragment/tests/java/android/support/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e97d1f2defa08e9bff9d39d6157981e30407e90a 17-Jul-2017 George Mount <mount@google.com> Fix Fragment.onCreate() not being called in some cases.

Bug 62798751

When an application process has been killed with a retained instance
fragment on its back stack, and a configuration change causes
state save, the retained instance fragment was not calling onCreate()
when it was popped back into existence.

The cause of the problem is that the mRetaining flag was being set,
and when it was supposed to go through onCreate(), it was skipped.
This CL uses a new flag to judge whether or not a Fragment has
called onCreate() or not.

Test: ran fragment tests
Change-Id: Ia66a1f474d815f657b6962097139c796f7fa198b
4/app/FragmentLifecycleTest.java
5b9fbc316b9c49c57ffbdcdcef1ee83171fd189a 10-Jul-2017 George Mount <mount@google.com> Protect FragmentManager from Menu calls while not CREATED.

Bug 62673781

While the FragmentManager is not at least in the CREATED state,
it should not call any methods related to Menu to any of its
Fragments. This can happen after the FragmentManager has been
destroyed, but before the Activity has been replaced.

Test: ran fragment tests
Change-Id: I6a34b5a95ad69190377eaa4afda041c6b9ef925b
4/app/FragmentLifecycleTest.java
e6cf359406cd7baaa0659b54c1b7d8ac45db122a 30-Jun-2017 Aurimas Liutikas <aurimas@google.com> Mark tests @LargeTest if they don't fit @MediumTest times.

Test: None
Change-Id: I2ae471927588ea6f6d1666f45a7a687ee980b139
4/app/PostponedTransitionTest.java
963facb8fce35022f296c38fadafd9a959ab1655 12-Jun-2017 Aurimas Liutikas <aurimas@google.com> Upgrade from mockito 1.9.5 to 2.7.6

Bug: 62532636
Test: ./gradlew assembleAndroidTest succeeds
Change-Id: I5bd89e5aad7761bbd2a5b188fb0661f1dbf4743b
4/app/CtsMockitoUtils.java
d15baded7e3e904ef00ccda50449c2adf8374f11 23-May-2017 Sergey Vasilinets <sergeyv@google.com> Correctly save retained fragments in the backstack

Test: FragmentLifecycleTest#retainedFragmentsInBackstack
Change-Id: I5aa2ad801febcaaf92a628e57160ef127895106b
4/app/FragmentLifecycleTest.java
8ab31e242e509b289fa6a577426b21cc45b95ef5 13-May-2017 George Mount <mount@google.com> Fix back stack problems due to postponed transitions

Bug 38277003

The back stack was being moved while executing operations and
then again when the postponed transaction was executed. It should
only be done once.

Test: ran fragment tests
Change-Id: I3159c2345a7b77fa82f1c602f4639f51b5a47980
4/app/PostponedTransitionTest.java
0b6119c93714b86ba0d0e3d4332ecfa332b87b50 05-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix broken tests" into oc-dev
ff3deb363de36fc9bab1ec6eb4f0f48e4c3556f4 04-May-2017 George Mount <mount@google.com> Remove duplicated onBackStackChanged() call.

Bug 37433435

We were reporting onBackStackChanged() twice, once when the
operations are collected and once when the operations are
executed. This CL only reports the onBackStackChanged() after
the operations are executed.

Test: ran fragment tests
Change-Id: Idaf14cf8c64f87ba78ecd4f0a72a045a30ff9222
4/app/FragmentTransactionTest.java
4/app/FragmentTransitionTest.java
d50cf1504e5a5c80aec83c9a45923cd5c6bbef56 04-May-2017 George Mount <mount@google.com> Fix broken tests

Bug 37947046

Error prone discovered that tests were not actually
testing anything. The broken tests had the logic reversed
from what the actual code does, so the tests were fixed
to test for what is expected to happen.

Test: ran fragment tests
Change-Id: I153229320091899e38a3984484b912c6ebde28e0
4/app/FragmentViewTests.java
1d1dad664f27bc66fa52e4b0a294a5efb5af0ea1 25-Apr-2017 Adam Powell <adamp@google.com> Address API feedback for new fragment APIs

Bug: 37637473
Bug: 37636731
Bug: 37638276

Test: run fragment tests
Change-Id: Ib48dd8a849eb528ead311e2401407e32646c08ed
4/app/FragmentTransactionTest.java
fda5be2466024a656152015c45a7681361d399bb 26-Apr-2017 George Mount <mount@google.com> Address API council feedback.

Bug 37636027

Change FragmentTransaction#setAllowOptimization() to
FragmentTransaction#setReorderingAllowed().

Framework Change: I24c35aad95ffa14d2e2fa092ae71d3d459e6d648
Test: ran fragment tests
Change-Id: Ia81f2cd7bd3c97ad2f121caa3a943aead0f8d100
4/app/FragmentAnimationTest.java
4/app/FragmentAnimatorTest.java
4/app/FragmentLifecycleTest.java
4/app/FragmentOptimizationTest.java
4/app/FragmentReorderingTest.java
4/app/FragmentTransitionTest.java
4/app/FragmentViewTests.java
4/app/PostponedTransitionTest.java
87ec0ef7bc4d91f67a25bbee099fde3e17ae6d9d 25-Apr-2017 George Mount <mount@google.com> Fix usage of isAttachedToWindow() in tests.

Bug 37625300

Test: ran fragment tests

Change-Id: I26f41bec6013547e1d2bcc1fecd52ab91d1a28fd
4/app/FragmentAnimatorTest.java
a6a88fd0bbc5e342b4a71c143c907a61c5666bb4 12-Apr-2017 George Mount <mount@google.com> Kill running animations on fragment view's when removed.

Bug 29274792

Stop animation and animators on the Fragment view from preventing
the view from being removed from the shadow view hierarchy.

Test: ran fragment tests and manually tested.
Change-Id: I628b38f76357bce1ca7dd5c5c736f0f087d7bab4
4/app/FragmentAnimationTest.java
15e593ea3575512d7072240d1db9d74fad8749a3 12-Apr-2017 George Mount <mount@google.com> Add animator support to setCustomAnimations()

Bug 37280782

This adds animator support in setCustomAnimations() to work
in nearly the same way as framework fragments. The difference
is that onCreateAnimation() is called first, then
onCreateAnimator() if onCreateAnimations() returns null.

Test: ran fragment tests
Change-Id: I23becb7a3b282a5435758b202771f11f69b5094c
4/app/FragmentAnimationTest.java
4/app/FragmentAnimatorTest.java
bae5c5f73f48516194fdf5c7cfb6b3b7d9878537 18-Apr-2017 George Mount <mount@google.com> resolve merge conflicts of 0eb50f95ba to oc-dev

Test: Ran fragment tests
Change-Id: I7a7e25bf6b99c6762f771cf818524739e6c1d56d
8b60e88655f6d4191e55b1dd8706e4ae2ae21b04 13-Apr-2017 George Mount <mount@google.com> Adds getLayoutInflater() to return a cached value.

Bug 37156970

Many applications need to get the LayoutInflater used for
fragment View inflation. onGetLayoutInflater() can be heavy
weight, so a version that caches that last value is added.

Test: ran fragment tests
Change-Id: I11d719d7416a5bb3b65f37a78e6ed96a69c32332
4/app/FragmentTransactionTest.java
197266c5208e5bbed17cbbb4466681d2b246b099 17-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Execute pending transactions after FM state change." into oc-dev
8a058074df40beb07fe45c1eaae5baffd63f6a97 14-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove unnecessary casts on calls to findViewById" into oc-dev
aee2fb02851620a16703f950f865d990fc64cf6d 14-Apr-2017 George Mount <mount@google.com> Execute pending transactions after FM state change.

Bug 37255517

Because we no longer allow reentrant transactions
during fragment manager state changes, we must
have the pending transactions execute as soon as
the state changes. This allows developers to avoid
calling executePendingTransactions() in lifecycle
calls.

Test: ran fragment tests

Change-Id: Icdecc018c7cb02f69a694b52c711ba9056469aa5
4/app/FragmentLifecycleTest.java
fa2e2acf79d791a90410025daad438968550d18c 31-Mar-2017 Alan Viverette <alanv@google.com> Remove unnecessary casts on calls to findViewById

Updates Android.mk where applicable.

Bug: 24137209
Test: make -j32
Change-Id: I04084b2d05ddd7afaa160a76efe0b0d0c8eb5f00
4/app/test/LoaderActivity.java
f9039ecb78c9347ebf85c932d6613c807dbf460c 06-Apr-2017 George Mount <mount@google.com> Fix flaky LoaderTest tests.

Some LoaderTest tests were flaky. This CL removes the need
to change the orientation of a device to run the loader tests,
reducing dependency on other systems.

Test: ran fragment tests
Change-Id: Ie69d0a1508886685eac12f6a580eaf33987721cb
4/app/FragmentManagerNonConfigTest.java
4/app/FragmentTestUtil.java
4/app/LoaderTest.java
4/app/test/LoaderActivity.java
4/app/test/NonConfigOnStopActivity.java
4/app/test/OrientationChangeActivity.java
4/app/test/RecreatedActivity.java
1045192d999ff058f0f27036af14ab4506b8b328 05-Apr-2017 George Mount <mount@google.com> DO NOT MERGE: Change getFragments() to return List instead of Collection

Bug 36762718

This reverts commit de7e27c0d3d1477fed1e3b1150411797f682cc21.

This CL also changes getFragments() to return a List instead
of a Colleciton as the public API and offers a reliable order
as part of the API.

Test: ran fragment tests

Change-Id: Ib18e38a9d7bc4b20797c57b7e1694e5c7b03176f
4/app/FragmentTransactionTest.java
25806414c27ad7a9b194e01328b1315058d3d2ad 04-Apr-2017 George Mount <mount@google.com> Save FragmentManagerNonConfig during onSaveInstanceState()

Bug 36815706

onSaveInstanceState() is called prior to onStop(), but
onRetainNonConfigInstance() is called after. When a
retained instance fragment is added during onStop(),
the state of the two configurations won't match. This
CL moves the non-configuration save to happen immediately
after the save instance state.

Test: ran fragment tests
Change-Id: Ib41cbe02d060d3411e32d1494525e119d0c23dd7
4/app/FragmentLifecycleTest.java
4/app/FragmentManagerNonConfigTest.java
4/app/FragmentTestUtil.java
4/app/LoaderTest.java
4/app/test/LoaderActivity.java
4/app/test/NonConfigOnStopActivity.java
4/app/test/OrientationChangeActivity.java
5a97188ba9e2fe80ef31c1bd269f3963c394c1b4 04-Apr-2017 George Mount <mount@google.com> Fix saving target fragment when Fragment not created.

Bug 35928527

During optimized transactions, a fragment may be removed without
being created. That leaves the state of the fragment in INITIALIZING
and previously, that state wasn't ever saved. This CL allows a
fragment that is being removed to be brought up to the CREATED state
so that it can be saved during saveAllState().

Chrry-picked from: Iea922369ab9bd91a7ee7a4e9e5a638e58dd97430

Matches Framework changes:
* I649f1931745be43087ec3578e9195624e80821dc
* Ie7207cc647312d38b377405bc5ec8721db757d2e

Test: ran fragment tests
Change-Id: Iea922369ab9bd91a7ee7a4e9e5a638e58dd97430
4/app/FragmentLifecycleTest.java
4/app/FragmentOptimizationTest.java
4/app/LoaderTest.java
cfedb8d5ab2b14e025e8202fb6d0a2356e56c18f 04-Apr-2017 George Mount <mount@google.com> resolve merge conflicts of 0765353c00 to oc-dev

Test: I solemnly swear I tested this conflict resolution.
Change-Id: I7574a0666e2e029ce7ea0ecbce6aaf1cdac98a93
2506af21275447a309f284540194866f9fcd5cb7 04-Apr-2017 George Mount <mount@google.com> Fix saving target fragment when Fragment not yet created.

Bug 35928527

During optimized transactions, a fragment may be removed without
being created. That leaves the state of the fragment in INITIALIZING
and previously, that state wasn't ever saved. This CL allows a
fragment that is being removed to be brought up to the CREATED state
so that it can be saved during saveAllState().

Matches Framework changes:
* I649f1931745be43087ec3578e9195624e80821dc
* Ie7207cc647312d38b377405bc5ec8721db757d2e

Test: ran fragment tests
Change-Id: Iea922369ab9bd91a7ee7a4e9e5a638e58dd97430
4/app/FragmentLifecycleTest.java
4/app/FragmentOptimizationTest.java
0765353c002bfdf681c982565810aa4be3499dd0 01-Apr-2017 George Mount <mount@google.com> Call noteStateNotSaved on child fragment managers.

Bug 36740474

When onNewIntent() is called, it calls noteStateNotSaved on
the FragmentManager. It wasn't propagating that to child
FragmentManagers. This CL properly propagates the
noteStateNotSaved().

Test: ran fragment tests
Change-Id: Ibe0794c02059f5787e144d1ee63980990fe2a04a
4/app/FragmentTransactionTest.java
4/app/test/NewIntentActivity.java
de7e27c0d3d1477fed1e3b1150411797f682cc21 03-Apr-2017 George Mount <mount@google.com> DO NOT MERGE: Revert to List return for getFragments()

Bug 36762718

Temporarily use a List return type for getFragments to unblock
builds.

Test: removed tests relying on getFragments() and ran fragment tests
Change-Id: I7783f19b81a878280f2a25997ce554486d9d013b
4/app/FragmentTransactionTest.java
dac8b826698e502f7a4712d50ed5739116c1fdfb 30-Mar-2017 George Mount <mount@google.com> Merge "Allow committing allowing state loss on detached FragmentManager." into nyc-support-25.4-dev
am: 3fd952f578

Change-Id: Ia8c21696069b9cb49ea9c09ea3659570e10ecdd8
875d9733f354fc93e72c7e8d849c9b5333950183 30-Mar-2017 George Mount <mount@google.com> Allow committing allowing state loss on detached FragmentManager.

Bug 36702993

Instead of throwing an exception during commitAllowStateLoss()
or commitNowAllowingStateLoss(), silently drop the transaction
when the FragmentManager is detached.

Test: ran fragment tests
Change-Id: Ic1f36c9fdbaa598b17180cfa6afbf8fa45a952a4
4/app/FragmentTransactionTest.java
c9b422af389946c58cd15ff0d1b776bee6bbf2fe 30-Mar-2017 George Mount <mount@google.com> Merge "Fix getting wrong instance when restoring non-config" into nyc-support-25.4-dev
am: 3b53e55fe6

Change-Id: If09fa4cb75562175dcbf2fd3958b6d4c7dd79796
f019390c7c85b8e185d6b06eb5c7e66be7bb4143 30-Mar-2017 George Mount <mount@google.com> resolve merge conflicts of 43db3168ca to oc-dev

Test: I solemnly swear I tested this conflict resolution.
Change-Id: Ia8a53b6307c3b543eb279e0ca45d0a2a18ae3e4c
38083235ff15c516dbba4ef655f4895b0282cf7b 29-Mar-2017 George Mount <mount@google.com> Fix getting wrong instance when restoring non-config

Bug 36679897

When restoring the non-config fragments, the wrong index was
being used to lookup the fragment fromt the list of active
fragment states.

Test: ran breaking test in google3 and ran fragment tests
Change-Id: I73ea16550a4e7333b90e24f3dc253cad531c8e27
4/app/FragmentLifecycleTest.java
4/app/FragmentTestUtil.java
4/app/HostCallbacks.java
43db3168ca4a4d309f059363054ba60bc22a9ef3 29-Mar-2017 George Mount <mount@google.com> Change getFragments() to return a collection instead of list.

Bug 34703669
Bug 36656643
Test: ran fragment and appcompat tests

Change-Id: I4c41adfebb073a74c569fc4514d38a010619c80c
4/app/FragmentTransactionTest.java
995c3504e6c5b1d20368c36193b44a7e6844709d 22-Mar-2017 George Mount <mount@google.com> resolve merge conflicts of 945ef67304 to master

Test: Ran fragment and appcompat tests
Change-Id: I8c1d95280dbe75624aa43d64247376cd22f32a67
96221034e4a23a2abb83f772a0281bb197ac5ac0 14-Mar-2017 George Mount <mount@google.com> Make public getFragments() and getLayoutInflater() methods

Bug 34703669

Test: ran fragment tests

Change-Id: I460bc4b7c74550dddaa8345db4514c4b29094d84
4/app/FragmentTransactionTest.java
f8c25c18541712bd9f27be663c3b2ffc3b462e8f 15-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Reset the orientation after LoaderTest executions."
e6534676f3e08ee11e53d6846845e8df5a106258 14-Mar-2017 George Mount <mount@google.com> Reset the orientation after LoaderTest executions.

Bug 36119878
Bug 36138509

I *think* this should fix the flakiness of these two tests.

Test: ran fragment tests on angler and hammerhead
Change-Id: I7d8e078a3faa27603c50af204248d7cb112503b3
4/app/LoaderTest.java
72d1e423ae55aa7af3b37e8f11e62ba55431bc9c 10-Mar-2017 George Mount <mount@google.com> Disable flaky noStaleData test until I can figure it out.

Bug 36119878

Test: ran fragment tests
Change-Id: I66e473d775f3d3b2e79ea36066f8b8872f7308bb
4/app/LoaderTest.java
1016f631d33605743c11d35c261618f152ede73a 10-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix flaky LoaderTest.testLeak()"
4c2ef6fd24c793c52a73c90fbfe4d6a68c09818a 08-Mar-2017 George Mount <mount@google.com> Fix flaky LoaderTest.testLeak()

Bug 36044087

There's a little challenge when it comes to forcing garbage collection.
There's no guarantee about things being collected. It appears that
the problem is that the previous activity hasn't been destroyed and
has no reference when the GC happens. This CL waits for the old activity
to be destroyed and for a few cycles of the UI thread before continuing
with the GC. It also changes the forceGC() for O+.

Test: ran testLeak
Change-Id: I9c94c16e76990b9c15b776356fb32e5fe1a982f7
4/app/FragmentTestUtil.java
4/app/LoaderTest.java
4/app/test/LoaderActivity.java
3fb3c306bb82574254e0781b0248d45ab2d86821 09-Mar-2017 George Mount <mount@google.com> Merge "Fix stale data due to stopped loader." into nyc-support-25.2-dev am: 95bda21d46 am: d84f7d146b
am: 2f829911b8

Change-Id: I3be3d1635466ac9c1af6c1a1c78048d48484eb86
68e91a863a33bd9bca500f0c8bce38014b5018b9 07-Mar-2017 George Mount <mount@google.com> Fix stale data due to stopped loader.

Bug 33185424

When stopping an CursorLoader while data is being loaded,
the load task will be canceled. This CL marks the data as
changed if the cancel is called while the loader is stopped.

Test: ran fragment tests
Change-Id: Iaddeade186b37cae9061df78754622d3296ebb0e
4/app/LoaderTest.java
4/app/test/LoaderActivity.java
c05ad763e973f347f3220cd40e8b735a85120810 06-Mar-2017 George Mount <mount@google.com> resolve merge conflicts of 890378e35d to master

Test: ran fragment tests

Change-Id: I664e6544397d1f242ef14719bb70747aa9ef88b1
2656ae585662d63454ca757c2f33336fa58062fa 06-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Re-enable lint enforcement, fix remaining lint issues"
c69882cb9b130902c1554ef5d3e3b06d776cd796 05-Mar-2017 Alan Viverette <alanv@google.com> Re-enable lint enforcement, fix remaining lint issues

Bug: 29630077
Test: ./gradlew lint
Change-Id: Ied1e4b1c33ba158d6bfab5439497ee4fc8284a8f
4/app/FragmentReplaceTest.java
e2104f4b5c8e3ad63570306a25e61502dfe4c418 05-Mar-2017 Aurimas Liutikas <aurimas@google.com> Add all missing @Override annotations.

Historically, we could not add @Override for certain methods due to
using older SDKs to build support library. That is no longer the case
so we can add @Override everywhere now.

Test: ./gradlew assemble assembleAndroidTest still works
Change-Id: I85e3c1157f0e253e3eab7584189f3bf95cf030e9
4/app/NestedFragmentTest.java
6a5ddc9c208bb615b3397aa8705e3e4ad73c4a62 03-Mar-2017 George Mount <mount@google.com> Fix Loader bugs

Bug 32758881
Bug 34264461

When destroying the LoaderManager, the host was not being cleared.
The host was being leaked and this leaked the Activity.

When a LoaderManager is reused, for example with an orientation
change, the host was updated, but it wasn't started. This
adds a test for that case to ensure that when a reused
LoaderManager is loaded that it is properly started.

Test: ran fragment tests
Change-Id: I71fa5e53b20a8e1ff3ff721a954568ffd6a7227e
4/app/FragmentTestUtil.java
4/app/LoaderTest.java
4/app/test/LoaderActivity.java
1d638c678a147e2ade04eee52797dca956253e61 01-Mar-2017 George Mount <mount@google.com> Merge "Fix NPE when combining pop with add transaction." into nyc-support-25.2-dev am: 09616c0c1d am: 5f6eef1051
am: 6a898cf786

Change-Id: Ia859488f61df24086520d3773999d80b2d4c9509
f066b3f7fd084a1459e4ded4a8ec3b68c65baee2 28-Feb-2017 George Mount <mount@google.com> Fix NPE when combining pop with add transaction.

Bug 35832085

When pop transactions and an add transaction are acting
in the same frame, optimized tranactions can work properly,
but unoptimized transactions have no guarantees. This fixes
a crash with unoptimized transactions so they will at least
not break.

Test: ran fragment tests
Change-Id: I789fdf808640806725e84280a5187f252916c453
4/app/FragmentTransitionTest.java
8b5f31fb9f3e5bbedf82fb21e1a6c05c4b0ed193 24-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Expose isStateSaved() in FragmentManager."
47844337986f365dae294fb434de0c0f7f8df5db 21-Feb-2017 George Mount <mount@google.com> Expose isStateSaved() in FragmentManager.

Bug 35594367

Protect the FragmentManager during onBackPressed() from
changing the state after the state was saved.

Test: ran fragment tests
Change-Id: Iae10e71402c600566590022ae0d992b978409ccb
4/app/FragmentTransactionTest.java
1136f044790e765c43a04c920ac7095a787538f0 21-Feb-2017 George Mount <mount@google.com> Ensure transactions cannot be run during controller state change am: 9268ce1264 am: dc03f0f5cc
am: 26aec22c3e

Change-Id: If58468608e78383f6070ab7d394e0defdb486b80
9268ce1264c6c2919b3feb1e26eef13ded3c9ab4 17-Feb-2017 George Mount <mount@google.com> Ensure transactions cannot be run during controller state change

Bug 35349893

When the FragmentManager is being brought up or down, the state
of fragments is changed. Any fragment using commitNow() during
the state change was being allowed through instead of throwing.

This CL locks out reentrant fragment transctions during
FragmentManager state changes.

Test: ran fragment tests
Change-Id: Iead0e44cfc6515b044da1d1ebcad045d0a24b162
4/app/FragmentAnimationTest.java
4/app/FragmentLifecycleTest.java
4/app/FragmentTestUtil.java
4/app/PostponedTransitionTest.java
4/app/ReentrantFragment.java
4/app/StrictFragment.java
a4f6216bbaccbc509a5a8a6e59f25ad4bc589d57 18-Feb-2017 George Mount <mount@google.com> Merge "Catch reentrancy while executing postponed transactions." into nyc-support-25.2-dev am: 3776f73df5 am: 239af8f4bd
am: 7f0630acde

Change-Id: I829579f0377d499cd6c6d439c44ea3e316a53dcc
0a849aafc735476e572e97c78be0ce912adfe512 17-Feb-2017 George Mount <mount@google.com> Catch reentrancy while executing postponed transactions.

Bug 35349893

While executing postponed transactions, it was possible for
Fragments to call commitNow() or executePendingTransactions()
and therefore causing disallowed reentrancy.

This CL now prevents reentrancy while executing postponed
transactions.

Test: ran fragment/ tests
Change-Id: I90935fbae1cf0bcb90f041803f97d7dfa6a70d56
4/app/PostponedTransitionTest.java
e9f3e0ef247b160713f8f4cee4547ca52e3188fb 16-Feb-2017 George Mount <mount@google.com> Merge "Fix test on API 23 and earlier." into nyc-support-25.2-dev am: 2fda9e1daf am: 6c9b203910
am: 7b387196a2

Change-Id: Ib4ac0ad9a97c56776f647d4db6ea077ec15920c0
5d9d42d02fb4d02bc9920607b3f458adaecd1d8a 16-Feb-2017 George Mount <mount@google.com> Fix test on API 23 and earlier.

Test: Ran the broken test on an angler running M DR1
Change-Id: I70947dcf5ff64138235b5f4dda36b6a7badbe209
4/app/FragmentLifecycleTest.java
c009eb05e87eb0bb17032d5d6e8eac6aedd85526 15-Feb-2017 George Mount <mount@google.com> resolve merge conflicts of 9c018c4a10 to master

Test: gradlew connectedCheck in fragment
Change-Id: I3bc047c0658cb854223736dcd7c9402a2784b8e5
eb87508275fbb5d9bbce0d363a0de2f913b116df 14-Feb-2017 George Mount <mount@google.com> Don't raise the state of FragmentManager while destroying.

Bug 34759474

In onDestroy, FragmentActivity was calling FragmentController's
doReallyStop(), which moved the state to STOPPED. This can
raise the state and call onCreate() on Fragments that weren't
previously raised to that state.

The problem is that the initial state of the FragmentActivity
was not set to "stopped," so it thought that it had to destroy
the FragmentController when it didn't.

Test: gradlew connectedCheck in Fragments on sailfish

Change-Id: I91e8a15b88380b8a8ce062e12d5b4aafdf91b108
4/app/FragmentLifecycleTest.java
4/app/FragmentTestUtil.java
4/app/test/FragmentTestActivity.java
1a8d4cc864801bd850f643247a6f60c483ff4528 07-Feb-2017 George Mount <mount@google.com> Delay changing state of added fragments until all executed. am: 0846eb5fb9 am: a19afca341
am: ba711e9638

Change-Id: Ic690bd1e9ff85208c8f2b469938cec52ae2bff55
0846eb5fb991505a85c8288b52d7fa58ebade9b2 06-Feb-2017 George Mount <mount@google.com> Delay changing state of added fragments until all executed.

Bug 34963118

When popping multiple transactions, all added fragments
should wait until all transactions are executed before
moving their states to the final state.

This CL brings back the behavior of executing all operations
first before changing the state of added fragments. This means
that intermediate fragments won't be created when popping.

Test: gradlew connectedCheck in fragment

Change-Id: I45a8c0319794e20f08559fb63cafbb84024c9a45
4/app/FragmentViewTests.java
e5709e378135a6e6f9baa2becbf36d07e56e0673 02-Feb-2017 George Mount <mount@google.com> Fix: fragment destroyed improperly during pop. am: 37e785570b am: 1d0969951a
am: 84d8e4ef88

Change-Id: I4d23e465fe4dbeeb3be372fa970ed992cb6ffa58
0d088e711a4010c026ca2df3a73f427e6cb269c8 02-Feb-2017 Adam Powell <adamp@google.com> Merge "Fix setting null target fragments"
37e785570b316db48ae8843d101f383899ea4d61 01-Feb-2017 George Mount <mount@google.com> Fix: fragment destroyed improperly during pop.

Bug 34850219

When multiple back stack records were popped together,
to the bottom of the stack, the fragment at the bottom
would be destroyed. This was caused by the back stack
being bumped prior to executing the operations. The
back stack record index didn't properly reflect the
state it should be in during the operation and the
final fragment returned false to isInBackStack().

This CL moves the back stack bumping to immediately
prior to executing the operations.

Test: gradlew connectedCheck
Change-Id: I40fcbea9f5dc3777731a0465d4e000d496321717
4/app/FragmentViewTests.java
2ab15df66963610bc02cb30e9a459f2b49c2ccfa 01-Feb-2017 Adam Powell <adamp@google.com> Fix setting null target fragments

Bug: 34869013
Test: ./gradlew support-fragment:connectedCheck
Change-Id: I9977132dea068245008da0eef2783d9ea2e4a8f0
4/app/FragmentLifecycleTest.java
35232c6eaeb9b99f390cb8ef0ac83bf45fa0b3fa 01-Feb-2017 Aurimas Liutikas <aurimas@google.com> Update test sizes for all currently @SmallTest.

SmallTests are supposed to complete in <200ms, Medium in <1s, and Large in <30s.
This CL updates the size of all the SmallTest based on excecution times from
presubmit test runners.

Test: None
Bug: 34854821
Change-Id: Iec73f7b6ef63b27cd3d8b19a8e8c7a9b91ff6729
4/app/FragmentTest.java
a4fd990846a60f3647445bf65980faad47b4cc68 25-Jan-2017 Adam Powell <adamp@google.com> Lifecycle guarantees for target fragments

When a target fragment was set using Fragment#setTargetFragment, all
bets were off, especially when restoring from instance state. Order of
lifecyle initialization was undefined meaning that two bugs could
occur, both of which manifested as the target fragment was not
initialized by the time the referring fragment's onCreate ran. One
could happen if the target fragment is on the back stack, the other
could happen if the target fragment was ordered unfortunately in
FragmentManager implementation details. (!)

Fix both by guaranteeing that any target fragment gets pushed forward
to at least the CREATED state before we dispatch any lifecycle events
for the referring fragment.

Add some sanity checks that try to keep developers from setting target
fragments across different FragmentManagers or from creating target
cycles, both of which are bad ideas.

Bug: 33653458
Test: ./gradlew support-fragment:connectedCheck
Change-Id: I824eb312fbdfd6b548fe94aa2cd5b03afbaa97c7
4/app/FragmentLifecycleTest.java
5d8425281103b45e95ad5caa8613ec9ee95e2b4f 18-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fragment grab bag!"
00622d4bf84a985a71944e8d52c424bcd92fe5f2 18-Jan-2017 Aurimas Liutikas <aurimas@google.com> Fix FragmentOptimizationTest#focusedView on API17.
am: ca73e9a3d7

Change-Id: Ib42f36ad6906ee6417cbd42485d2fdb025db601c
826d6b277b92fa5307bb31bfc1cc8dcfd714d293 18-Jan-2017 Aurimas Liutikas <aurimas@google.com> Merge "Fix FragmentOptimizationTest#focusedView on API17." into nyc-support-25.2-dev
5e2b030b851bde2b4569104a01b4acf6960327a6 13-Jan-2017 Adam Powell <adamp@google.com> Fragment grab bag!

* Fragment#isStateSaved: report whether a given fragment has been
through state save within its given FragmentManager. This will
additionally echo the state of its child FragmentManager, indicating
whether it is safe to perform transactions without losing state.

* Fragment#setArguments can now be called at any time before a
fragment's state is saved, not just before an internal index is
assigned. This fixes an issue with assigning arguments during
fragment inflation in some code paths.

* FragmentTransaction#postOnCommit: Add a Runnable to a
FragmentTransaction that will be executed once the operations in the
transaction have been fully executed. Transaction optimization may
mean that other transaction ops could run before this is executed,
or that specific operations from this transaction were optimized
out. (e.g. a fragment in this transaction was added, but then
removed in a subsequent transaction before pending operations were
executed.) This may not be used for transactions added to the back
stack, as we cannot persist the runnable for later to guarantee
running it when the transaction is reversed.

Test: ./gradlew support-fragment:connectedCheck

Change-Id: Iff605d35329214d15148f3e83960cd264a8c0316
4/app/FragmentLifecycleTest.java
4/app/FragmentTransactionTest.java
d2fe020fcd1ccd753bf8a00f2564d857266da7d8 12-Jan-2017 George Mount <mount@google.com> Protect use of onFindViewById for Fragment Transitions. am: 1780bc94be
am: a4d8f8ab99

Change-Id: I5e7fb67fc36221ab736948fd44b582b98f2768c8
1780bc94be2d26adc4a9c2daa2aed87cb535fbcf 12-Jan-2017 George Mount <mount@google.com> Protect use of onFindViewById for Fragment Transitions.

Bug 34163850

onFindViewById is only valid once the Fragment's View
has been created, but the child fragment manager
can be used prior to its creation. This protects
the use of onFindViewById from use by fragment
transitions.

Test: gradlew connectedCheck in fragments/

Change-Id: I31c1c30dc721ce95cf6d0f11cbb2cf0b34649a36
4/app/FragmentViewTests.java
6afb38c9e9f1f70be0738b2342c7277753fbdc45 10-Jan-2017 George Mount <mount@google.com> Execute non-optimized add operations one at a time. am: f284a0dc76
am: 84073ffb43

Change-Id: I6654e9d947aa0d0bd22cc8aa07e35fb27be25b58
ca73e9a3d7af224d0aa1669fcb758a0334e63b5a 10-Jan-2017 Aurimas Liutikas <aurimas@google.com> Fix FragmentOptimizationTest#focusedView on API17.

API17 requires to create EditText on UI thread and throws an assertion
otherwise. This change changes FragmentOptimizationTest#focusedView to
create EditText on UI thread.

Test: FragmentOptimizationTest now passes on API 17.
Change-Id: I21c0b899250425663cad35fefe701c2e091dce4a
4/app/FragmentOptimizationTest.java
f284a0dc76d73ef7132dd1187a43d9a7ad0258de 06-Jan-2017 George Mount <mount@google.com> Execute non-optimized add operations one at a time.

Bug 34125817

It appears that some developers rely on fragment views containing
other fragments without using the fragment's child fragment manager.
This CL executes all unoptimized add operations separately to make
sure that this continues to work. Pop operations continue to be
executed together as they did previously.

Test: gradlew connectedCheck in fragments/

Change-Id: Iabf76eb1a95d5d7436a14c59b13f0c87932306b4
4/app/FragmentViewTests.java
1ff374ad7efdabdd103bf0ad3352a4bb184acc78 06-Jan-2017 George Mount <mount@google.com> Properly track fragments from pop operations.

Bug 33849992

When popping and executing another transaction, the pop
transaction weren't properly tracking the fragments that were
added and removed.

This CL adds tracking the fragments during the pop execution.
It also fixes a small issue in when fragment state was executed
during pop.

Test: gradlew connectedCheck in fragments/

Manually merged from the original
CL: Id9f99eb44e54bf5202a170c8b1d01ba045383278

Change-Id: I9ae1774d293b71f50278cd516d878fa8f51a31af
4/app/FragmentViewTests.java
e7e8d3d3a5211abc960351923b8b2bac85f6adec 05-Jan-2017 George Mount <mount@google.com> Properly track fragments from pop operations.

Bug 33849992

When popping and executing another transaction, the pop
transaction weren't properly tracking the fragments that were
added and removed.

This CL adds tracking the fragments during the pop execution.
It also fixes a small issue in when fragment state was executed
during pop.

Test: gradlew connectedCheck in fragments/

Change-Id: Id9f99eb44e54bf5202a170c8b1d01ba045383278
4/app/FragmentViewTests.java
3bfda46e646d72b25a6cedc73e61dc1eb90475f8 05-Jan-2017 George Mount <mount@google.com> Fix focus problems when using optimized fragment transactions. am: 0bb3f19c91
am: 84aaafe705

Change-Id: I7d7fb57327497248c002ed49b8a047e1c644ea1d
0bb3f19c91311de0b6619c7728a7bcc1f6863132 04-Jan-2017 George Mount <mount@google.com> Fix focus problems when using optimized fragment transactions.

Bug 33754255

Instead of making Views INVISIBLE immediately after adding them,
Views are set to alpha = 0 (or INVISIBLE pre-11) only after they
have been determined to be postponed.

Test: gradlew connectedCheck in fragments/

Change-Id: I474af8ca19f7544afef28067e8d11749ef3571b4
4/app/FragmentAnimationTest.java
4/app/FragmentOptimizationTest.java
4/app/PostponedTransitionTest.java
5a7c2e2f552254fcee66c565985713acf3d6206c 04-Jan-2017 George Mount <mount@google.com> Turn of fragment operation optimization by default. am: 6628c97905
am: 9dcded93be

Change-Id: Idf4caa421ff338d9ca256847766848d5133e95ee
6628c979055293cf6086aafb27a0bb723395d540 04-Jan-2017 George Mount <mount@google.com> Turn of fragment operation optimization by default.

Bug 33754255
Bug 33827301
Bug 33763750
Bug 33896221
Bug 33682723

Because there is not enough time to fix optimization problems
prior to shipping 25.1.1, it is being turned off by default.

Test: gradelw connectedCheck in fragments/

Change-Id: Ie180151b728994fa180684233856deab2e157df6
4/app/FragmentAnimationTest.java
4/app/FragmentOptimizationTest.java
4/app/FragmentTransitionTest.java
4/app/PostponedTransitionTest.java
aa3a5538c003c6098185d1c948e22054e2f27488 28-Nov-2016 George Mount <mount@google.com> Don't change visibility of fragment Views that aren't visible

Bug 32864127

When a fragment creates a view that is either invisible or gone,
it should remain that way. This means that the fragment won't have
any animations. When transactions are optimized, transitions
will avoid invisible and gone fragment views, but unoptimized
transactions will lead to failed transitions because none of the
views will be visible.

Test: gradlew connectedCheck in fragments/

Change-Id: Id5ab447a006cf37b30024bbe7efb3bb7d253f2ce
4/app/FragmentTransitionTest.java
4/app/FragmentViewTests.java
f85e2a6833e99f8b9bc8065f10201cb68b00978c 22-Nov-2016 George Mount <mount@google.com> Fix NPE when a shared element doesn't have a matching transitionName.

Bug 33053923

Also added an early error check when the same shared element is
used for multiple shared elements in the source or target fragment.

Test: gradlew connectedCheck in fragment/
Change-Id: If5dfbac66cfd9e60660439ce5c519547de3ef1d0
4/app/FragmentTransitionTest.java
4/app/TransitionFragment.java
418738949305a8a0e30eba92c125c650048f9c50 10-Dec-2016 Adam Powell <adamp@google.com> Primary navigation fragments

Add API to track the "primary navigation fragment" for a
FragmentManager. This allows designating one active fragment in a
FragmentManager as the intended nested recipient of navigation actions
such as popping the back stack.

The FragmentManager popBackStack methods will now delegate to the
child FragmentManager of the current primary navigation fragment first
before trying to pop its own back stack. This can only happen if a
back stack transaction id or back stack entry name is not provided to
the pop operation, as these names and ids are namespaced to each
individual FragmentManager.

Primary navigation fragments are set as part of a FragmentTransaction
and follow the associated expectations. Transactions added to the back
stack will be fully reversed when popped, restoring the previous
primary navigation fragment for the FragmentManager. If a primary
navigation fragment is removed from the FragmentManager, the primary
navigation fragment will be set to null.

Bug: 30596279
Test: ../gradlew connectedCheck in fragment/

Change-Id: I82cd22cda6e9ee22fe293c36859e99f49d36a129
4/app/PrimaryNavFragmentTest.java
4/app/StrictFragment.java
d88ddfd4577e46829bf87124ad335d3cb82c3895 28-Nov-2016 George Mount <mount@google.com> Don't change visibility of fragment Views that aren't visible

Bug 32864127

When a fragment creates a view that is either invisible or gone,
it should remain that way. This means that the fragment won't have
any animations. When transactions are optimized, transitions
will avoid invisible and gone fragment views, but unoptimized
transactions will lead to failed transitions because none of the
views will be visible.

Test: gradlew connectedCheck in fragments/

Change-Id: Id5ab447a006cf37b30024bbe7efb3bb7d253f2ce
4/app/FragmentTransitionTest.java
4/app/FragmentViewTests.java
116d033c8569becf78f6ac24caf37ebb368a1aae 22-Nov-2016 George Mount <mount@google.com> Fix NPE when a shared element doesn't have a matching transitionName.

Bug 33053923

Also added an early error check when the same shared element is
used for multiple shared elements in the source or target fragment.

Test: gradlew connectedCheck in fragment/
Change-Id: If5dfbac66cfd9e60660439ce5c519547de3ef1d0
4/app/FragmentTransitionTest.java
4/app/TransitionFragment.java
37149f137aad1b2ec06df63807cef6713da3ca2f 11-Nov-2016 Adam Powell <adamp@google.com> Fix bugs around inflated child fragments

* Ensure that a fragment that has had its view destroyed has a chance
to recreate it.

* Clear mInLayout after views are destroyed

* Make sure that when a fragment is restored from the back stack and
reinflates its view that child fragments from fragment tags are
reconnected properly.

Bug: 32691935
Test: ./gradlew support-fragment:connectedCheck --info --daemon -Pandroid.testInstrumentationRunnerArguments.class=android.support.v4.app.NestedInflatedFragmentTest

Change-Id: I581af852a9162d7328270575be8f82c2442c9650
4/app/NestedInflatedFragmentTest.java
77f11e921b9be7645b74a33b2ca11c1c4e24fbab 02-Nov-2016 George Mount <mount@google.com> Don't update fragments if the manager's state doesn't change.

Bug 32610133

A change in behavior was introduced in which the dispatch* methods
moved the state of the manager's fragments even when the manager's
state doesn't change.

Test: gradlew connectedCheck in fragments/

Change-Id: I2dd80b257c5375904a99de8bb36db7521318eb91
4/app/FragmentLifecycleTest.java
f1f122ef5d7ad2f401de2015f47c730b66d58345 28-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove use of isAttachedToWindow in fragment tests"
4285a0db794444695fd0752e7bbc2ad95082043c 28-Oct-2016 George Mount <mount@google.com> Remove use of isAttachedToWindow in fragment tests

Bug 32493766
Bug 32470870
Bug 32502590

Also made timeouts longer to reduce flakiness.
Also used a CountDownLatch for getting the results
of startActivityForResult.

Test: gradlew connectedCheck in fragments/ on API 16 emuator.

Change-Id: If0347a1bffa1e2fff15f19171ef2b741f6e03d7a
4/app/FragmentAnimationTest.java
4/app/FragmentReceiveResultTest.java
44e98ab45229efc5f2fbbc61611787f75299d903 28-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Perform onDestroy when FragmentController is torn down."
40e1750a5ed6cca1efb47e10af4db19abecd9fd5 27-Oct-2016 George Mount <mount@google.com> Perform onDestroy when FragmentController is torn down.

Bug 32457575

Test: gradlew connectedCheck in fragments/

Change-Id: Ie248995ba0a173535bbc0e2e7e652446d41b699e
4/app/FragmentLifecycleTest.java
4/app/StrictFragment.java
4/app/StrictViewFragment.java
6c169fdfc3f7577c852dbca6aa9251d82d26e5f0 28-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add FragmentLifecycleCallbacks"
267b02ebf455fa4d7de59150548676e406b2dd2b 25-Oct-2016 Adam Powell <adamp@google.com> Add FragmentLifecycleCallbacks

Add a new callback object that can be attached to a FragmentManager to
observe all fragment lifecycle events within that
FragmentManager. Useful for dependency injection and other
shenanigans.

FragmentLifecycleCallbacks can be registered as recursive, in which
case they will be activated for any lifecycle events that happen in
descendant FragmentManagers as well.

Test: ../gradlew connectedCheck [from fragment/]

Change-Id: I19af51fb98dea54628781676a3c25090626df547
4/app/FragmentLifecycleTest.java
b424f6e6298a7f8b29baf7f14ccaeb1417d97614 27-Oct-2016 George Mount <mount@google.com> Execute fragment transitions only for L and greater.

Bug 32455877

Test: gradlew connectedCheck in fragments/ on KK emulator.
Change-Id: If73c12a7b85dcee3428c714d9350df1d7c26ce96
4/app/FragmentTransitionTest.java
4/app/PostponedTransitionTest.java
667ec4150c78bf295b3db1fa4d546def9ade9d20 26-Oct-2016 George Mount <mount@google.com> Fix hide fragment transition.

Bug 30699392

During optimized hide operations with fragment transitions, the
hidden fragment View should not be GONE, but instead be visible
and the exiting views should be made INVISIBLE. After the
transition completes, the fragment's view should be GONE.

Add tests for Fragment Transitions with show/hide/attach/detach

Test: ./gradlew connectedCheck in fragment/

Change-Id: Id7699ef6f9c5bab3b37ab9710ad897d8556adaed
4/app/FragmentTransitionTest.java
990e6fc0326f5948736650c0cb71b6002d443c9c 14-Oct-2016 George Mount <mount@google.com> Add optimize and postpone transactions.

Bug 29631389
Bug 30502032
Bug 20068723

When multiple operations are executed at once, they sometimes
cancel each other. For example, if the following transactions
are queued:

Transaction 1: add A
Transaction 2: replace with B

This can be trimmed down to add B.

This CL optimizes fragments in both add and pop directions.

Developers can choose not to allow optimization by
using FragmentTransaction#setAllowOptimization

Fragments in a transaction can now indicate when they are ready
and the transaction should complete. Postponed transactions will
have new views in the fragments created and added to the hierarchy
INVISIBLE. When all postponed fragments are ready, the transitions
and animations will start. INVISIBLE views will be made VISIBLE
and removed views will be taken out of the View hierarchy

Test: gradlew connectedCheck in fragment/
Test: manual tests also, just to make sure

Change-Id: I3fdab8e75cb33a02e9e636ff6f43a6f95a564d21
4/app/CountCallsFragment.java
4/app/CtsMockitoUtils.java
4/app/FragmentAnimationTest.java
4/app/FragmentOptimizationTest.java
4/app/FragmentTestUtil.java
4/app/FragmentTransitionTest.java
4/app/FragmentViewTests.java
4/app/HostCallbacks.java
4/app/PostponedTransitionTest.java
4/app/StrictViewFragment.java
4/app/TargetTracking.java
4/app/TrackingTransition.java
4/app/TrackingVisibility.java
4/app/TransitionFragment.java
c90b24ff959edb955ff48e345c074a98368a90ad 28-Sep-2016 Aurimas Liutikas <aurimas@google.com> Move Support library fragment tests to JUnit4.

Test: ran all the tests locally on Nexus 5X 7.0 and they passed.
Change-Id: Ibcf77ae7227a1a30cfe4fa61e9c4bb6c554712a9
4/BaseInstrumentationTestCase.java
4/BaseTestActivity.java
4/app/ChildFragmentStateTest.java
4/app/FragmentReceiveResultTest.java
4/app/FragmentReplaceTest.java
4/app/FragmentTest.java
4/app/FragmentTransactionTest.java
4/app/FragmentTransitionTest.java
4/app/NestedFragmentRestoreTest.java
4/app/NestedFragmentTest.java
754cb29c50f09a83251dd4bb633ba445b2411adb 27-Sep-2016 Aurimas Liutikas <aurimas@google.com> Switch from deprecated size annotations to new ones.

Switching from android.test.suitebuilder.annotation.*Test
to android.support.test.filters.*Test.

Bug: 30074170
Test: manual - ran small appcompat tests, they still run and pass
Change-Id: Idce58b988c8e1a809f7f5fae67e0e235159d9fc5
4/app/ChildFragmentStateTest.java
4/app/FragmentLifecycleTest.java
4/app/FragmentReceiveResultTest.java
4/app/FragmentReplaceTest.java
4/app/FragmentTest.java
4/app/FragmentTransactionTest.java
4/app/FragmentTransitionTest.java
4/app/NestedFragmentRestoreTest.java
4/app/NestedFragmentTest.java
f0039c1465cd83a4f30c4f0ce24a6b15f3e26874 17-Aug-2016 Aurimas Liutikas <aurimas@google.com> resolve merge conflicts of 019c65e to master

Change-Id: I6846ffff4a5085a15c2786fbebcbd22da746f0bf
fad2335f169d36b7b6f2c0ec8ddfe6c0094c2072 16-Aug-2016 Aurimas Liutikas <aurimas@google.com> Annotate more support lib tests with size annotations.

Turns out we were not running these tests because they are not
annotated with @SmallTest, @MediumTest, or @LargeTest.

Bug: 30892341
Change-Id: I4ed870d4c1a456c1fcd446243179c005653a041d
4/app/ChildFragmentStateTest.java
4/app/NestedFragmentTest.java
4e53dd40bd0f1976c4fd9e4817368528241cd193 04-Aug-2016 Aurimas Liutikas <aurimas@google.com> Fix failing FragmentReplaceTest test.

This test was changed to work with a broken @UiThreadTest
which made these tests work on non-ui thread. @UiThreadTest just
got fixed now causing these tests to fail as we were calling
runOnMainSync that requires to be called off the main thread.

Bug:30307969
Change-Id: I14871ed755c65f6f5fb3bf3e9da94b8a21c3a4de
4/app/FragmentReplaceTest.java
37b7448eb5ff8fdc0e8a66cde471a73fb24fc1f6 30-Jul-2016 Aurimas Liutikas <aurimas@google.com> Use ViewCompat#isAttachedToWindow to fix FragmentLifecycleTest. am: 981736d484 am: e0dbe9d5aa am: b756dcceb0
am: b52bf1c3d4

Change-Id: Iff9811190702f724344d2421bad74d59e1c22e6b
981736d484a1d5167012e8c0e3ff4db8d2bbcd1b 30-Jul-2016 Aurimas Liutikas <aurimas@google.com> Use ViewCompat#isAttachedToWindow to fix FragmentLifecycleTest.

Tests were crashing on API 15.

Bug: 30198627
Change-Id: I8ee08d86393b5d2aa16f563d2141c917010366ba
4/app/FragmentLifecycleTest.java
4c9fcaeeb1aee2110d0c6c9e39e65426cf88b57d 22-Jul-2016 Abhinav Baid <abhinavbaid@google.com> Fix FragmentReplaceTest

testBackPressWithFrameworkFragment() was failing previously. Modify the
test to avoid this. In the process, change the test according to the
current standard for support library tests.

Bug: 30307969
Change-Id: Iea520da26a581d3d50000fcec550163eac60f15e
4/app/FragmentReplaceTest.java
af556dcfc63652cafa822a3d742ad96c78bff037 13-Jun-2016 Clara Bayarri <clarabayarri@google.com> Throw ISE when adding a non-public non-static fragment class instance to a transaction

Also fix a test that had a private fragment and breaks with this change

Bug: 25925078
Change-Id: Ib9a2df99f4bf668cd9f650b890f9a3d44100a824
4/app/FragmentReceiveResultTest.java
4/app/FragmentTransactionTest.java
2a87300db31223942e2916add55067bc7a3e4c4f 14-May-2016 Adam Powell <adamp@google.com> resolve merge conflicts of 9540fd1 to master

Change-Id: I73485945388f8467e9956240ad60352b5321313d
ff22d81f6561f6cdd2a91eb63238c41079927a22 12-May-2016 Kirill Grouchnikov <kirillg@google.com> Extracting fragments and widgets into their own modules.

Also rename core to core-utils.

Change-Id: Icef764d01bc49cd4d04ac4ce47faadda983f4c48
4/BaseInstrumentationTestCase.java
4/BaseTestActivity.java
4/app/ChildFragmentStateTest.java
4/app/FragmentLifecycleTest.java
4/app/FragmentReceiveResultTest.java
4/app/FragmentReplaceTest.java
4/app/FragmentTest.java
4/app/FragmentTransitionTest.java
4/app/NestedFragmentRestoreTest.java
4/app/NestedFragmentTest.java
4/app/StrictFragment.java
4/app/StrictViewFragment.java
4/app/test/EmptyFragmentTestActivity.java
4/app/test/FragmentResultActivity.java
4/app/test/FragmentTestActivity.java