Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 45e92aa2 authored by Andrey Kulikov's avatar Andrey Kulikov
Browse files

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
parent 771a85af
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);
+10 −10
Original line number Diff line number Diff line
@@ -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);
    }