aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-05-16 23:36:33 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2023-05-16 23:36:33 +0000
commitb795695f651c1a35b39d307450a731a880ea9396 (patch)
tree610a6f6fcd9b55ffedf14b4ddd1f6c088e1e3aed
parent83ddcb2404d6f59e4ec73500406b7ae70e7149fc (diff)
parente2cbf9603e929668b001ca920e19ef7094ee546a (diff)
downloadsupport-snap-temp-L22900000960710814.tar.gz
Merge "Preparation for ViewPager2 1.1.0-beta02 release" into snap-temp-L22900000960710814snap-temp-L22900000960710814
-rw-r--r--viewpager2/viewpager2/api/current.txt1
-rw-r--r--viewpager2/viewpager2/api/public_plus_experimental_current.txt5
-rw-r--r--viewpager2/viewpager2/api/restricted_current.txt1
-rw-r--r--viewpager2/viewpager2/build.gradle3
-rw-r--r--viewpager2/viewpager2/src/main/java/androidx/viewpager2/adapter/FragmentStateAdapter.java7
5 files changed, 13 insertions, 4 deletions
diff --git a/viewpager2/viewpager2/api/current.txt b/viewpager2/viewpager2/api/current.txt
index 111eb2ff0ed..997ce2a9d79 100644
--- a/viewpager2/viewpager2/api/current.txt
+++ b/viewpager2/viewpager2/api/current.txt
@@ -24,7 +24,6 @@ package androidx.viewpager2.adapter {
method public androidx.viewpager2.adapter.FragmentStateAdapter.FragmentTransactionCallback.OnPostEventListener onFragmentMaxLifecyclePreUpdated(androidx.fragment.app.Fragment, androidx.lifecycle.Lifecycle.State);
method public androidx.viewpager2.adapter.FragmentStateAdapter.FragmentTransactionCallback.OnPostEventListener onFragmentPreAdded(androidx.fragment.app.Fragment);
method public androidx.viewpager2.adapter.FragmentStateAdapter.FragmentTransactionCallback.OnPostEventListener onFragmentPreRemoved(androidx.fragment.app.Fragment);
- method public androidx.viewpager2.adapter.FragmentStateAdapter.FragmentTransactionCallback.OnPostEventListener onFragmentPreSavedInstanceState(androidx.fragment.app.Fragment);
}
public static interface FragmentStateAdapter.FragmentTransactionCallback.OnPostEventListener {
diff --git a/viewpager2/viewpager2/api/public_plus_experimental_current.txt b/viewpager2/viewpager2/api/public_plus_experimental_current.txt
index 111eb2ff0ed..63ac8cbbf8d 100644
--- a/viewpager2/viewpager2/api/public_plus_experimental_current.txt
+++ b/viewpager2/viewpager2/api/public_plus_experimental_current.txt
@@ -19,12 +19,15 @@ package androidx.viewpager2.adapter {
method public void unregisterFragmentTransactionCallback(androidx.viewpager2.adapter.FragmentStateAdapter.FragmentTransactionCallback);
}
+ @RequiresOptIn(level=androidx.annotation.RequiresOptIn.Level.WARNING) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public static @interface FragmentStateAdapter.ExperimentalFragmentStateAdapterApi {
+ }
+
public abstract static class FragmentStateAdapter.FragmentTransactionCallback {
ctor public FragmentStateAdapter.FragmentTransactionCallback();
method public androidx.viewpager2.adapter.FragmentStateAdapter.FragmentTransactionCallback.OnPostEventListener onFragmentMaxLifecyclePreUpdated(androidx.fragment.app.Fragment, androidx.lifecycle.Lifecycle.State);
method public androidx.viewpager2.adapter.FragmentStateAdapter.FragmentTransactionCallback.OnPostEventListener onFragmentPreAdded(androidx.fragment.app.Fragment);
method public androidx.viewpager2.adapter.FragmentStateAdapter.FragmentTransactionCallback.OnPostEventListener onFragmentPreRemoved(androidx.fragment.app.Fragment);
- method public androidx.viewpager2.adapter.FragmentStateAdapter.FragmentTransactionCallback.OnPostEventListener onFragmentPreSavedInstanceState(androidx.fragment.app.Fragment);
+ method @androidx.viewpager2.adapter.FragmentStateAdapter.ExperimentalFragmentStateAdapterApi public androidx.viewpager2.adapter.FragmentStateAdapter.FragmentTransactionCallback.OnPostEventListener onFragmentPreSavedInstanceState(androidx.fragment.app.Fragment);
}
public static interface FragmentStateAdapter.FragmentTransactionCallback.OnPostEventListener {
diff --git a/viewpager2/viewpager2/api/restricted_current.txt b/viewpager2/viewpager2/api/restricted_current.txt
index 9316cd0e623..4aab4bd3c8a 100644
--- a/viewpager2/viewpager2/api/restricted_current.txt
+++ b/viewpager2/viewpager2/api/restricted_current.txt
@@ -24,7 +24,6 @@ package androidx.viewpager2.adapter {
method public androidx.viewpager2.adapter.FragmentStateAdapter.FragmentTransactionCallback.OnPostEventListener onFragmentMaxLifecyclePreUpdated(androidx.fragment.app.Fragment, androidx.lifecycle.Lifecycle.State);
method public androidx.viewpager2.adapter.FragmentStateAdapter.FragmentTransactionCallback.OnPostEventListener onFragmentPreAdded(androidx.fragment.app.Fragment);
method public androidx.viewpager2.adapter.FragmentStateAdapter.FragmentTransactionCallback.OnPostEventListener onFragmentPreRemoved(androidx.fragment.app.Fragment);
- method public androidx.viewpager2.adapter.FragmentStateAdapter.FragmentTransactionCallback.OnPostEventListener onFragmentPreSavedInstanceState(androidx.fragment.app.Fragment);
}
public static interface FragmentStateAdapter.FragmentTransactionCallback.OnPostEventListener {
diff --git a/viewpager2/viewpager2/build.gradle b/viewpager2/viewpager2/build.gradle
index 2da8cdd2894..8ca56085d1a 100644
--- a/viewpager2/viewpager2/build.gradle
+++ b/viewpager2/viewpager2/build.gradle
@@ -24,9 +24,10 @@ plugins {
dependencies {
api("androidx.annotation:annotation:1.1.0")
+ api("androidx.annotation:annotation-experimental:1.3.0")
implementation("androidx.core:core:1.3.2")
api("androidx.fragment:fragment:1.1.0")
- api(project(":recyclerview:recyclerview"))
+ api(project(":recyclerview:recyclerview")) // TODO(191302495): pin to RV 1.3.1 once in prebuilts
implementation("androidx.collection:collection:1.1.0")
androidTestImplementation(libs.testUiautomator)
diff --git a/viewpager2/viewpager2/src/main/java/androidx/viewpager2/adapter/FragmentStateAdapter.java b/viewpager2/viewpager2/src/main/java/androidx/viewpager2/adapter/FragmentStateAdapter.java
index 9bfcf049271..7a61aece608 100644
--- a/viewpager2/viewpager2/src/main/java/androidx/viewpager2/adapter/FragmentStateAdapter.java
+++ b/viewpager2/viewpager2/src/main/java/androidx/viewpager2/adapter/FragmentStateAdapter.java
@@ -34,6 +34,8 @@ import android.widget.FrameLayout;
import androidx.annotation.CallSuper;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.annotation.OptIn;
+import androidx.annotation.RequiresOptIn;
import androidx.collection.ArraySet;
import androidx.collection.LongSparseArray;
import androidx.core.view.ViewCompat;
@@ -830,6 +832,7 @@ public abstract class FragmentStateAdapter extends
return result;
}
+ @OptIn(markerClass = ExperimentalFragmentStateAdapterApi.class)
public List<OnPostEventListener> dispatchPreSavedInstanceState(Fragment fragment) {
List<OnPostEventListener> result = new ArrayList<>();
for (FragmentTransactionCallback callback : mCallbacks) {
@@ -878,6 +881,7 @@ public abstract class FragmentStateAdapter extends
* @return Listener called after the operation
*/
@NonNull
+ @ExperimentalFragmentStateAdapterApi // Experimental in v1.1.*. To become stable in v1.2.*.
public OnPostEventListener onFragmentPreSavedInstanceState(@NonNull Fragment fragment) {
return NO_OP;
}
@@ -937,4 +941,7 @@ public abstract class FragmentStateAdapter extends
@NonNull FragmentTransactionCallback callback) {
mFragmentEventDispatcher.unregisterCallback(callback);
}
+
+ @RequiresOptIn(level = RequiresOptIn.Level.WARNING)
+ public @interface ExperimentalFragmentStateAdapterApi { }
}