Fixed
Status Update
Comments
wu...@google.com <wu...@google.com>
ch...@google.com <ch...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-master-dev
commit b3af8650cc51d87063c9cd814b32144bfa48bc8b
Author: jbwoods <jbwoods@google.com>
Date: Thu Apr 11 14:17:02 2019
Implement FragmentTransaction methods in the class
Split the FragmentTransaction methods out of BackStackRecord and back
into FragmentTransaction to create a layer of separation between the
manipulation and the execution of Operations.
Moving the implementation to FragmentTransaction means new operations
can be added without the need to create empty methods in
FragmentTransactions.
Test: ran fragment tests, ./gradlew checkApi
Bug: 129780800
Change-Id: If352280983fa798eafa6aa41162e4b7d24106ecb
M fragment/api/1.1.0-alpha07.txt
M fragment/api/current.txt
M fragment/src/main/java/androidx/fragment/app/BackStackRecord.java
M fragment/src/main/java/androidx/fragment/app/FragmentTransaction.java
https://android-review.googlesource.com/943726
https://goto.google.com/android-sha1/b3af8650cc51d87063c9cd814b32144bfa48bc8b
Branch: androidx-master-dev
commit b3af8650cc51d87063c9cd814b32144bfa48bc8b
Author: jbwoods <jbwoods@google.com>
Date: Thu Apr 11 14:17:02 2019
Implement FragmentTransaction methods in the class
Split the FragmentTransaction methods out of BackStackRecord and back
into FragmentTransaction to create a layer of separation between the
manipulation and the execution of Operations.
Moving the implementation to FragmentTransaction means new operations
can be added without the need to create empty methods in
FragmentTransactions.
Test: ran fragment tests, ./gradlew checkApi
Bug: 129780800
Change-Id: If352280983fa798eafa6aa41162e4b7d24106ecb
M fragment/api/1.1.0-alpha07.txt
M fragment/api/current.txt
M fragment/src/main/java/androidx/fragment/app/BackStackRecord.java
M fragment/src/main/java/androidx/fragment/app/FragmentTransaction.java
ma...@gmail.com <ma...@gmail.com> #3
Project: platform/frameworks/support
Branch: androidx-master-dev
commit a6c8bc7b1d821496ae8cad896566b7d334336a27
Author: jbwoods <jbwoods@google.com>
Date: Fri Apr 12 15:38:15 2019
Set max Lifecycle for a Fragment
Added FragmentTransaction API to allow Fragment Lifecycle states to be
capped at a lower Lifecycle than FragmentManager or Activity. Passing
Lifecycle.State.RESUMED effectively removes any restriction. If the
transactions are added and popped off of the FragmentManager back stack,
the max Lifecycle state returns to the previous value.
Test: new tests. Ran Fragment tests
./gradlew checkApi
BUG: 129780800
Change-Id: I20735b88ed78735894ace9ae68a1287c6235dfdc
M fragment/api/1.1.0-alpha07.txt
M fragment/api/current.txt
M fragment/src/androidTest/java/androidx/fragment/app/BackStackStateTest.kt
M fragment/src/androidTest/java/androidx/fragment/app/FragmentLifecycleTest.kt
M fragment/src/main/java/androidx/fragment/app/BackStackRecord.java
M fragment/src/main/java/androidx/fragment/app/BackStackState.java
M fragment/src/main/java/androidx/fragment/app/Fragment.java
M fragment/src/main/java/androidx/fragment/app/FragmentManagerImpl.java
M fragment/src/main/java/androidx/fragment/app/FragmentTransaction.java
M fragment/src/main/java/androidx/fragment/app/FragmentTransition.java
https://android-review.googlesource.com/942528
https://goto.google.com/android-sha1/a6c8bc7b1d821496ae8cad896566b7d334336a27
Branch: androidx-master-dev
commit a6c8bc7b1d821496ae8cad896566b7d334336a27
Author: jbwoods <jbwoods@google.com>
Date: Fri Apr 12 15:38:15 2019
Set max Lifecycle for a Fragment
Added FragmentTransaction API to allow Fragment Lifecycle states to be
capped at a lower Lifecycle than FragmentManager or Activity. Passing
Lifecycle.State.RESUMED effectively removes any restriction. If the
transactions are added and popped off of the FragmentManager back stack,
the max Lifecycle state returns to the previous value.
Test: new tests. Ran Fragment tests
./gradlew checkApi
BUG: 129780800
Change-Id: I20735b88ed78735894ace9ae68a1287c6235dfdc
M fragment/api/1.1.0-alpha07.txt
M fragment/api/current.txt
M fragment/src/androidTest/java/androidx/fragment/app/BackStackStateTest.kt
M fragment/src/androidTest/java/androidx/fragment/app/FragmentLifecycleTest.kt
M fragment/src/main/java/androidx/fragment/app/BackStackRecord.java
M fragment/src/main/java/androidx/fragment/app/BackStackState.java
M fragment/src/main/java/androidx/fragment/app/Fragment.java
M fragment/src/main/java/androidx/fragment/app/FragmentManagerImpl.java
M fragment/src/main/java/androidx/fragment/app/FragmentTransaction.java
M fragment/src/main/java/androidx/fragment/app/FragmentTransition.java
ma...@gmail.com <ma...@gmail.com>
ch...@google.com <ch...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-master-dev
commit a24863fab1958f10c3791f0dbf612862c972be21
Author: jbwoods <jbwoods@google.com>
Date: Wed Apr 17 10:09:32 2019
Save fragment maxState on save and restore
Added mMaxState to fragmentState.
Test: Added test and reran Fragment tests
BUG: 129780800
Change-Id: Ibbe023668043e82078aa7fd97e0fd233457972f8
M fragment/src/androidTest/java/androidx/fragment/app/SaveStateFragmentTest.kt
M fragment/src/main/java/androidx/fragment/app/FragmentState.java
https://android-review.googlesource.com/946700
https://goto.google.com/android-sha1/a24863fab1958f10c3791f0dbf612862c972be21
Branch: androidx-master-dev
commit a24863fab1958f10c3791f0dbf612862c972be21
Author: jbwoods <jbwoods@google.com>
Date: Wed Apr 17 10:09:32 2019
Save fragment maxState on save and restore
Added mMaxState to fragmentState.
Test: Added test and reran Fragment tests
BUG: 129780800
Change-Id: Ibbe023668043e82078aa7fd97e0fd233457972f8
M fragment/src/androidTest/java/androidx/fragment/app/SaveStateFragmentTest.kt
M fragment/src/main/java/androidx/fragment/app/FragmentState.java
ch...@google.com <ch...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-master-dev
commit c37223a1b4512f1d34e100d2e521062dbad028d7
Author: jbwoods <jbwoods@google.com>
Date: Tue Apr 16 13:39:38 2019
Deprecate setUserVisibleHint()
We the addition of the setMaxLifecycle() Api in FragmentTransactions,
setUserVisibleHint() can be deprecated.
Deprecate setUserVisibleHint() method in fragments and marking all
usages (only used in FragmentPagerAdapter and
FragmentStatePagerAdapter) with SuppressWarnings("deprecated").
Test: ran Fragment Test
./gradlew checkApi
BUG: 129780800
Change-Id: I3d99991eb33dfc65d4b79efe566b54d0adce9d68
M fragment/api/1.1.0-alpha07.txt
M fragment/api/current.txt
M fragment/src/androidTest/java/androidx/fragment/app/NestedInflatedFragmentTest.kt
M fragment/src/androidTest/java/androidx/fragment/app/SaveStateFragmentTest.kt
M fragment/src/main/java/androidx/fragment/app/Fragment.java
M fragment/src/main/java/androidx/fragment/app/FragmentPagerAdapter.java
M fragment/src/main/java/androidx/fragment/app/FragmentStatePagerAdapter.java
https://android-review.googlesource.com/945776
https://goto.google.com/android-sha1/c37223a1b4512f1d34e100d2e521062dbad028d7
Branch: androidx-master-dev
commit c37223a1b4512f1d34e100d2e521062dbad028d7
Author: jbwoods <jbwoods@google.com>
Date: Tue Apr 16 13:39:38 2019
Deprecate setUserVisibleHint()
We the addition of the setMaxLifecycle() Api in FragmentTransactions,
setUserVisibleHint() can be deprecated.
Deprecate setUserVisibleHint() method in fragments and marking all
usages (only used in FragmentPagerAdapter and
FragmentStatePagerAdapter) with SuppressWarnings("deprecated").
Test: ran Fragment Test
./gradlew checkApi
BUG: 129780800
Change-Id: I3d99991eb33dfc65d4b79efe566b54d0adce9d68
M fragment/api/1.1.0-alpha07.txt
M fragment/api/current.txt
M fragment/src/androidTest/java/androidx/fragment/app/NestedInflatedFragmentTest.kt
M fragment/src/androidTest/java/androidx/fragment/app/SaveStateFragmentTest.kt
M fragment/src/main/java/androidx/fragment/app/Fragment.java
M fragment/src/main/java/androidx/fragment/app/FragmentPagerAdapter.java
M fragment/src/main/java/androidx/fragment/app/FragmentStatePagerAdapter.java
ma...@gmail.com <ma...@gmail.com> #6
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 27bacd7294b8bcb312fadeb155724ebf9ac99e16
Author: jbwoods <jbwoods@google.com>
Date: Thu Apr 18 10:16:21 2019
Change max lifecycle state in FragmentState to ordinal
Saving the max lifecycle state as an int instead of a String.
Also renamed mLifecycleState to mMaxLifecycleState.
Test: all test pass
BUG: 129780800
Change-Id: Id8e3cf5acfee491f0fe6dae1799b83fbbff49635
M fragment/src/main/java/androidx/fragment/app/FragmentState.java
https://android-review.googlesource.com/947817
https://goto.google.com/android-sha1/27bacd7294b8bcb312fadeb155724ebf9ac99e16
Branch: androidx-master-dev
commit 27bacd7294b8bcb312fadeb155724ebf9ac99e16
Author: jbwoods <jbwoods@google.com>
Date: Thu Apr 18 10:16:21 2019
Change max lifecycle state in FragmentState to ordinal
Saving the max lifecycle state as an int instead of a String.
Also renamed mLifecycleState to mMaxLifecycleState.
Test: all test pass
BUG: 129780800
Change-Id: Id8e3cf5acfee491f0fe6dae1799b83fbbff49635
M fragment/src/main/java/androidx/fragment/app/FragmentState.java
ma...@gmail.com <ma...@gmail.com> #7
Project: platform/frameworks/support
Branch: androidx-master-dev
commit c727857cf258f06d003c42417f37c75a4139b369
Author: jbwoods <jbwoods@google.com>
Date: Wed Apr 17 02:15:03 2019
Add constructors for new opt-in FragmentPagerAdapter behavior
FragmentPagerAdapter can make use of the setMaxLifecycle()
FragmentTransaction Api to ensure that only the fragment currently
visible to the user is resumed.
The default behavior places all fragments in a resumed state. This gives
developers the option to pass a boolean in to take advantage of the new
behavior.
Test: Ran supportv7 app
./gradlew checkApi
BUG: 129780800
Change-Id: Idbd97b4ebe0c22ac588340ef3b4369c7c5f4a1bd
M fragment/api/1.1.0-alpha07.txt
M fragment/api/current.txt
M fragment/src/main/java/androidx/fragment/app/BackStackRecord.java
M fragment/src/main/java/androidx/fragment/app/BackStackState.java
M fragment/src/main/java/androidx/fragment/app/FragmentPagerAdapter.java
M fragment/src/main/java/androidx/fragment/app/FragmentStatePagerAdapter.java
M fragment/src/main/java/androidx/fragment/app/FragmentTransaction.java
M samples/Support7Demos/src/main/java/com/example/android/supportv7/app/ToolbarFragmentPagerMenu.java
https://android-review.googlesource.com/945787
https://goto.google.com/android-sha1/c727857cf258f06d003c42417f37c75a4139b369
Branch: androidx-master-dev
commit c727857cf258f06d003c42417f37c75a4139b369
Author: jbwoods <jbwoods@google.com>
Date: Wed Apr 17 02:15:03 2019
Add constructors for new opt-in FragmentPagerAdapter behavior
FragmentPagerAdapter can make use of the setMaxLifecycle()
FragmentTransaction Api to ensure that only the fragment currently
visible to the user is resumed.
The default behavior places all fragments in a resumed state. This gives
developers the option to pass a boolean in to take advantage of the new
behavior.
Test: Ran supportv7 app
./gradlew checkApi
BUG: 129780800
Change-Id: Idbd97b4ebe0c22ac588340ef3b4369c7c5f4a1bd
M fragment/api/1.1.0-alpha07.txt
M fragment/api/current.txt
M fragment/src/main/java/androidx/fragment/app/BackStackRecord.java
M fragment/src/main/java/androidx/fragment/app/BackStackState.java
M fragment/src/main/java/androidx/fragment/app/FragmentPagerAdapter.java
M fragment/src/main/java/androidx/fragment/app/FragmentStatePagerAdapter.java
M fragment/src/main/java/androidx/fragment/app/FragmentTransaction.java
M samples/Support7Demos/src/main/java/com/example/android/supportv7/app/ToolbarFragmentPagerMenu.java
ma...@gmail.com <ma...@gmail.com>
ch...@google.com <ch...@google.com> #8
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 55a7eabab4c4b81efaf146626a34e5014fd8081c
Author: jbwoods <jbwoods@google.com>
Date: Thu Apr 18 13:18:18 2019
Change max lifecycle state in BackStackState to ordinal
Saving the max lifecycle state as an int array instead of an array list
of strings.
Also renamed mLifecycleStates to mMaxLifecycleStates
Test: all test pass
BUG: 129780800
Change-Id: Ie91d4b6fd22f202cfcc0847791643821808deb78
M fragment/src/androidTest/java/androidx/fragment/app/BackStackStateTest.kt
M fragment/src/main/java/androidx/fragment/app/BackStackState.java
https://android-review.googlesource.com/947562
https://goto.google.com/android-sha1/55a7eabab4c4b81efaf146626a34e5014fd8081c
Branch: androidx-master-dev
commit 55a7eabab4c4b81efaf146626a34e5014fd8081c
Author: jbwoods <jbwoods@google.com>
Date: Thu Apr 18 13:18:18 2019
Change max lifecycle state in BackStackState to ordinal
Saving the max lifecycle state as an int array instead of an array list
of strings.
Also renamed mLifecycleStates to mMaxLifecycleStates
Test: all test pass
BUG: 129780800
Change-Id: Ie91d4b6fd22f202cfcc0847791643821808deb78
M fragment/src/androidTest/java/androidx/fragment/app/BackStackStateTest.kt
M fragment/src/main/java/androidx/fragment/app/BackStackState.java
ap...@google.com <ap...@google.com> #9
Project: platform/frameworks/support
Branch: androidx-master-dev
commit ee8763ef15a9aeb37e9b5afed55a1e8b05c2ad55
Author: jbwoods <jbwoods@google.com>
Date: Fri Apr 19 15:13:20 2019
SetUserVisibleHint on current PrimaryItem instead of new one
setUserVisibleHint() was being called on the wrong fragment. It was
being called on the fragment that would no longer be the primary.
Test: Ran in support v7
BUG: 129780800
Change-Id: I79c4e907a3ad1c747f6c865951ef15943c5d20ce
M fragment/src/main/java/androidx/fragment/app/FragmentPagerAdapter.java
M fragment/src/main/java/androidx/fragment/app/FragmentStatePagerAdapter.java
https://android-review.googlesource.com/948717
https://goto.google.com/android-sha1/ee8763ef15a9aeb37e9b5afed55a1e8b05c2ad55
Branch: androidx-master-dev
commit ee8763ef15a9aeb37e9b5afed55a1e8b05c2ad55
Author: jbwoods <jbwoods@google.com>
Date: Fri Apr 19 15:13:20 2019
SetUserVisibleHint on current PrimaryItem instead of new one
setUserVisibleHint() was being called on the wrong fragment. It was
being called on the fragment that would no longer be the primary.
Test: Ran in support v7
BUG: 129780800
Change-Id: I79c4e907a3ad1c747f6c865951ef15943c5d20ce
M fragment/src/main/java/androidx/fragment/app/FragmentPagerAdapter.java
M fragment/src/main/java/androidx/fragment/app/FragmentStatePagerAdapter.java
ch...@google.com <ch...@google.com> #10
Project: platform/frameworks/support
Branch: androidx-master-dev
commit a3a06d11f42afb5d4f891a71046d49fcca387576
Author: jbwoods <jbwoods@google.com>
Date: Mon Apr 22 15:21:06 2019
Use IntDef instead of boolean in FragmentPagerAdapter
Deprecated the orignal constructors for FragmentPagerAdapter and
FragmentStatePagerAdapter to encourage developers to use the new
constructor that allows the behavior of only allowing the current
fragment to be in a RESUMED state.
Changed the new constructor to take an IntDef instead of a boolean so
that the intended behavior is clear. Passing in
USE_SET_USER_VISIBLE_HINT uses the old behavior and passing
RESUME_ONLY_CURRENT_FRAGMENT uses the new behavior.
Test: support v4 demo, support v7 demo, ./gradlew checkApi
BUG: 129780800
Change-Id: Ie2fcf318424fd4037ff6c541ba5a6e901c97fc5b
M fragment/api/1.1.0-alpha07.txt
M fragment/api/current.txt
M fragment/src/main/java/androidx/fragment/app/FragmentPagerAdapter.java
M fragment/src/main/java/androidx/fragment/app/FragmentStatePagerAdapter.java
M samples/Support4Demos/src/main/java/com/example/android/supportv4/app/FragmentPagerSupport.java
M samples/Support4Demos/src/main/java/com/example/android/supportv4/app/FragmentStatePagerSupport.java
M samples/Support7Demos/src/main/java/com/example/android/supportv7/app/ToolbarFragmentPagerMenu.java
https://android-review.googlesource.com/948733
https://goto.google.com/android-sha1/a3a06d11f42afb5d4f891a71046d49fcca387576
Branch: androidx-master-dev
commit a3a06d11f42afb5d4f891a71046d49fcca387576
Author: jbwoods <jbwoods@google.com>
Date: Mon Apr 22 15:21:06 2019
Use IntDef instead of boolean in FragmentPagerAdapter
Deprecated the orignal constructors for FragmentPagerAdapter and
FragmentStatePagerAdapter to encourage developers to use the new
constructor that allows the behavior of only allowing the current
fragment to be in a RESUMED state.
Changed the new constructor to take an IntDef instead of a boolean so
that the intended behavior is clear. Passing in
USE_SET_USER_VISIBLE_HINT uses the old behavior and passing
RESUME_ONLY_CURRENT_FRAGMENT uses the new behavior.
Test: support v4 demo, support v7 demo, ./gradlew checkApi
BUG: 129780800
Change-Id: Ie2fcf318424fd4037ff6c541ba5a6e901c97fc5b
M fragment/api/1.1.0-alpha07.txt
M fragment/api/current.txt
M fragment/src/main/java/androidx/fragment/app/FragmentPagerAdapter.java
M fragment/src/main/java/androidx/fragment/app/FragmentStatePagerAdapter.java
M samples/Support4Demos/src/main/java/com/example/android/supportv4/app/FragmentPagerSupport.java
M samples/Support4Demos/src/main/java/com/example/android/supportv4/app/FragmentStatePagerSupport.java
M samples/Support7Demos/src/main/java/com/example/android/supportv7/app/ToolbarFragmentPagerMenu.java
pr...@google.com <pr...@google.com> #11
Project: platform/frameworks/support
Branch: androidx-master-dev
commit f78c4e5094bcc35546c177e2360e90b0b6316ed9
Author: jbwoods <jbwoods@google.com>
Date: Mon Apr 22 15:32:10 2019
Call setMaxLifecycle() after add() in FragmentStatePagerAdapter
SetMaxLifecycle() must be called after add() or an
IllegalArgumentException will be called because the fragment is not yet
attached to the FragmentManager.
In instantiateItem(), if used, the call the setUserVisibleHint() will still
happen before the fragment is added. If only the current fragment is resumed,
setMaxLifecycle() will be called after add().
Test: support v4 app
BUG: 129780800
Change-Id: Ic3406fcb83554ba94e270f8cffd8acacf3a2da4f
M fragment/src/main/java/androidx/fragment/app/FragmentStatePagerAdapter.java
M samples/Support4Demos/src/main/java/com/example/android/supportv4/app/FragmentStatePagerSupport.java
https://android-review.googlesource.com/948732
https://goto.google.com/android-sha1/f78c4e5094bcc35546c177e2360e90b0b6316ed9
Branch: androidx-master-dev
commit f78c4e5094bcc35546c177e2360e90b0b6316ed9
Author: jbwoods <jbwoods@google.com>
Date: Mon Apr 22 15:32:10 2019
Call setMaxLifecycle() after add() in FragmentStatePagerAdapter
SetMaxLifecycle() must be called after add() or an
IllegalArgumentException will be called because the fragment is not yet
attached to the FragmentManager.
In instantiateItem(), if used, the call the setUserVisibleHint() will still
happen before the fragment is added. If only the current fragment is resumed,
setMaxLifecycle() will be called after add().
Test: support v4 app
BUG: 129780800
Change-Id: Ic3406fcb83554ba94e270f8cffd8acacf3a2da4f
M fragment/src/main/java/androidx/fragment/app/FragmentStatePagerAdapter.java
M samples/Support4Demos/src/main/java/com/example/android/supportv4/app/FragmentStatePagerSupport.java
Description
CAMERAX VERSION: 1.4.0-alpha02 - 1.4.0-alpha05
CAMERA APPLICATION NAME AND VERSION: custom app
ANDROID OS BUILD NUMBER: Android 14, UP1A.231005.007.X200XXU3DXB3
DEVICE NAME: Samsung Galaxy Tab A8
DESCRIPTION:
When calling
imageCapture.takePicture
with anImageCapture.onImageSavedCallback
, the onCaptureStarted method is called, but none of the other methods are ever called.Opening the camera and issuing the first imageCapture has logs like this:
Further interactions add the following:
LIST ANY EXPERIMENTAL FEATURES: NONE
STEPS TO REPRODUCE:
OBSERVED RESULTS: takePicture is called, but never returns anything, not even an error.
EXPECTED RESULTS: some kind of return
REPRODUCIBILITY: (5 of 5, 1 of 100, etc) 100% on this device. Exact same code works on other devices (Pixel 7, Samsung Galaxy S24 Ultra, Pixel 3a)
ADDITIONAL INFORMATION:
CODE FRAGMENTS (this will help us troubleshoot your issues):