Change platform Scene.getCurrentScene parameter from View to ViewGroup

API Review request to use ViewGroup here as Scene roots can only be ViewGroup

Bug: 120504681
Test: none
Change in AndroidX: aosp/841919
Change-Id: I6fb857bc68d2afca54fe7d366fe8490d03c947a9
This commit is contained in:
Andrey Kulikov
2018-12-17 17:37:23 +00:00
parent 771a85af84
commit 45e92aa281
2 changed files with 11 additions and 11 deletions

View File

@@ -46930,7 +46930,7 @@ package android.transition {
ctor public deprecated Scene(android.view.ViewGroup, android.view.ViewGroup);
method public void enter();
method public void exit();
method public static android.transition.Scene getCurrentScene(android.view.View);
method public static android.transition.Scene getCurrentScene(android.view.ViewGroup);
method public static android.transition.Scene getSceneForLayout(android.view.ViewGroup, int, android.content.Context);
method public android.view.ViewGroup getSceneRoot();
method public void setEnterAction(java.lang.Runnable);

View File

@@ -96,7 +96,7 @@ public final class Scene {
* the hierarchy specified by the layoutId resource file.
*
* <p>This method is hidden because layoutId-based scenes should be
* created by the caching factory method {@link Scene#getCurrentScene(View)}.</p>
* created by the caching factory method {@link Scene#getCurrentScene(ViewGroup)}.</p>
*
* @param sceneRoot The root of the hierarchy in which scene changes
* and transitions will take place.
@@ -194,28 +194,28 @@ public final class Scene {
}
/**
* Set the scene that the given view is in. The current scene is set only
* on the root view of a scene, not for every view in that hierarchy. This
* Set the scene that the given ViewGroup is in. The current scene is set only
* on the root ViewGroup of a scene, not for every view in that hierarchy. This
* information is used by Scene to determine whether there is a previous
* scene which should be exited before the new scene is entered.
*
* @param sceneRoot The view on which the current scene is being set
* @param sceneRoot The ViewGroup on which the current scene is being set
*/
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P)
static void setCurrentScene(@NonNull View sceneRoot, @Nullable Scene scene) {
static void setCurrentScene(@NonNull ViewGroup sceneRoot, @Nullable Scene scene) {
sceneRoot.setTagInternal(com.android.internal.R.id.current_scene, scene);
}
/**
* Gets the current {@link Scene} set on the given view. A scene is set on a view
* only if that view is the scene root.
* Gets the current {@link Scene} set on the given ViewGroup. A scene is set on a ViewGroup
* only if that ViewGroup is the scene root.
*
* @param sceneRoot The view on which the current scene will be returned
* @return The current Scene set on this view. A value of null indicates that
* @param sceneRoot The ViewGroup on which the current scene will be returned
* @return The current Scene set on this ViewGroup. A value of null indicates that
* no Scene is currently set.
*/
@Nullable
public static Scene getCurrentScene(@NonNull View sceneRoot) {
public static Scene getCurrentScene(@NonNull ViewGroup sceneRoot) {
return (Scene) sceneRoot.getTag(com.android.internal.R.id.current_scene);
}