summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Mount <mount@google.com>2014-08-18 16:27:43 -0700
committerGeorge Mount <mount@google.com>2014-08-22 17:09:05 -0700
commit448bace8612b0f9a41844339ca5db1b8eac1ac5c (patch)
treea7d0d0039c7b89e987d0403ed26027c23fec0a2b
parent5fa3f3a995ba5bd86e460b1b5f72b2f1ada699fb (diff)
downloadframeworks_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.txt3
-rw-r--r--core/java/android/app/BackStackRecord.java18
-rw-r--r--core/java/android/app/FragmentTransaction.java13
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);