diff options
author | George Mount <mount@google.com> | 2014-08-18 16:27:43 -0700 |
---|---|---|
committer | George Mount <mount@google.com> | 2014-08-22 17:09:05 -0700 |
commit | 448bace8612b0f9a41844339ca5db1b8eac1ac5c (patch) | |
tree | a7d0d0039c7b89e987d0403ed26027c23fec0a2b | |
parent | 5fa3f3a995ba5bd86e460b1b5f72b2f1ada699fb (diff) | |
download | frameworks_base-448bace8612b0f9a41844339ca5db1b8eac1ac5c.zip frameworks_base-448bace8612b0f9a41844339ca5db1b8eac1ac5c.tar.gz frameworks_base-448bace8612b0f9a41844339ca5db1b8eac1ac5c.tar.bz2 |
API Review: change fragment transition methods.
Bug 16959326
Change-Id: I7460ac077e81c37bbec3ed6350b6e34f7c7b6e33
-rw-r--r-- | api/current.txt | 3 | ||||
-rw-r--r-- | core/java/android/app/BackStackRecord.java | 18 | ||||
-rw-r--r-- | core/java/android/app/FragmentTransaction.java | 13 |
3 files changed, 27 insertions, 7 deletions
diff --git a/api/current.txt b/api/current.txt index dfa95a0..9746198 100644 --- a/api/current.txt +++ b/api/current.txt @@ -4374,6 +4374,7 @@ package android.app { method public abstract android.app.FragmentTransaction add(android.app.Fragment, java.lang.String); method public abstract android.app.FragmentTransaction add(int, android.app.Fragment); method public abstract android.app.FragmentTransaction add(int, android.app.Fragment, java.lang.String); + method public abstract android.app.FragmentTransaction addSharedElement(android.view.View, java.lang.String); method public abstract android.app.FragmentTransaction addToBackStack(java.lang.String); method public abstract android.app.FragmentTransaction attach(android.app.Fragment); method public abstract int commit(); @@ -4393,8 +4394,6 @@ package android.app { method public abstract android.app.FragmentTransaction setCustomAnimations(int, int); method public abstract android.app.FragmentTransaction setCustomAnimations(int, int, int, int); method public abstract android.app.FragmentTransaction setCustomTransition(int, int); - method public abstract android.app.FragmentTransaction setSharedElement(android.view.View, java.lang.String); - method public abstract android.app.FragmentTransaction setSharedElements(android.util.Pair<android.view.View, java.lang.String>...); method public abstract android.app.FragmentTransaction setTransition(int); method public abstract android.app.FragmentTransaction setTransitionStyle(int); method public abstract android.app.FragmentTransaction show(android.app.Fragment); diff --git a/core/java/android/app/BackStackRecord.java b/core/java/android/app/BackStackRecord.java index 4433a3a..67863a5 100644 --- a/core/java/android/app/BackStackRecord.java +++ b/core/java/android/app/BackStackRecord.java @@ -580,6 +580,23 @@ final class BackStackRecord extends FragmentTransaction implements } @Override + public FragmentTransaction addSharedElement(View sharedElement, String name) { + String transitionName = sharedElement.getTransitionName(); + if (transitionName == null) { + throw new IllegalArgumentException("Unique transitionNames are required for all" + + " sharedElements"); + } + if (mSharedElementSourceNames == null) { + mSharedElementSourceNames = new ArrayList<String>(); + mSharedElementTargetNames = new ArrayList<String>(); + } + mSharedElementSourceNames.add(transitionName); + mSharedElementTargetNames.add(name); + return this; + } + + /** TODO: remove this */ + @Override public FragmentTransaction setSharedElement(View sharedElement, String name) { String transitionName = sharedElement.getTransitionName(); if (transitionName == null) { @@ -594,6 +611,7 @@ final class BackStackRecord extends FragmentTransaction implements return this; } + /** TODO: remove this */ @Override public FragmentTransaction setSharedElements(Pair<View, String>... sharedElements) { if (sharedElements == null || sharedElements.length == 0) { diff --git a/core/java/android/app/FragmentTransaction.java b/core/java/android/app/FragmentTransaction.java index 0adc835..1077bac 100644 --- a/core/java/android/app/FragmentTransaction.java +++ b/core/java/android/app/FragmentTransaction.java @@ -190,14 +190,17 @@ public abstract class FragmentTransaction { * @param name The transitionName for a View in an appearing Fragment to match to the shared * element. */ + public abstract FragmentTransaction addSharedElement(View sharedElement, String name); + + /** + * TODO: remove from API + * @hide + */ public abstract FragmentTransaction setSharedElement(View sharedElement, String name); /** - * Used with {@link #setCustomTransition(int, int)} to map multiple Views from removed or hidden - * Fragments to a Views from a shown or added Fragments. Views in - * <var>sharedElements</var> must have unique transitionNames in the View hierarchy. - * @param sharedElements Pairs of Views in disappearing Fragments to transitionNames in - * appearing Fragments. + * TODO: remove from API + * @hide */ public abstract FragmentTransaction setSharedElements(Pair<View, String>... sharedElements); |