summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/view/transition/Transition.java2
-rw-r--r--tests/TransitionTests/res/layout/interruption_inner_1.xml7
-rw-r--r--tests/TransitionTests/res/layout/interruption_inner_2.xml7
-rw-r--r--tests/TransitionTests/res/layout/interruption_inner_3.xml7
-rw-r--r--tests/TransitionTests/res/layout/interruption_inner_4.xml7
-rw-r--r--tests/TransitionTests/src/com/android/transitiontests/InterruptionTest.java19
6 files changed, 41 insertions, 8 deletions
diff --git a/core/java/android/view/transition/Transition.java b/core/java/android/view/transition/Transition.java
index 45919425efba..205c825e6b0b 100644
--- a/core/java/android/view/transition/Transition.java
+++ b/core/java/android/view/transition/Transition.java
@@ -798,7 +798,7 @@ public abstract class Transition {
// TODO: how does this work with instances?
// TODO: this doesn't actually do *anything* yet
int numAnimators = mCurrentAnimators.size();
- for (int i = 0; i < numAnimators; ++i) {
+ for (int i = numAnimators - 1; i >= 0; i--) {
Animator animator = mCurrentAnimators.get(i);
animator.cancel();
}
diff --git a/tests/TransitionTests/res/layout/interruption_inner_1.xml b/tests/TransitionTests/res/layout/interruption_inner_1.xml
index 990a7fdb0d31..f82dfb08bb91 100644
--- a/tests/TransitionTests/res/layout/interruption_inner_1.xml
+++ b/tests/TransitionTests/res/layout/interruption_inner_1.xml
@@ -9,5 +9,12 @@
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:text="@string/state1"/>
+ <Button
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:id="@+id/button1"
+ android:layout_alignLeft="@+id/button"
+ android:layout_below="@+id/button"
+ android:text="@string/state1"/>
</RelativeLayout> \ No newline at end of file
diff --git a/tests/TransitionTests/res/layout/interruption_inner_2.xml b/tests/TransitionTests/res/layout/interruption_inner_2.xml
index d18b5571be1f..e6821d6c8acd 100644
--- a/tests/TransitionTests/res/layout/interruption_inner_2.xml
+++ b/tests/TransitionTests/res/layout/interruption_inner_2.xml
@@ -9,5 +9,12 @@
android:id="@+id/button"
android:layout_alignParentRight="true"
android:text="@string/state2"/>
+ <Button
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:id="@+id/button1"
+ android:layout_alignLeft="@+id/button"
+ android:layout_below="@+id/button"
+ android:text="@string/state2"/>
</RelativeLayout> \ No newline at end of file
diff --git a/tests/TransitionTests/res/layout/interruption_inner_3.xml b/tests/TransitionTests/res/layout/interruption_inner_3.xml
index 70bd02cb53ac..4e4015050419 100644
--- a/tests/TransitionTests/res/layout/interruption_inner_3.xml
+++ b/tests/TransitionTests/res/layout/interruption_inner_3.xml
@@ -9,5 +9,12 @@
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="@string/state3"/>
+ <Button
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:id="@+id/button1"
+ android:layout_alignLeft="@+id/button"
+ android:layout_above="@+id/button"
+ android:text="@string/state3"/>
</RelativeLayout> \ No newline at end of file
diff --git a/tests/TransitionTests/res/layout/interruption_inner_4.xml b/tests/TransitionTests/res/layout/interruption_inner_4.xml
index 85265fcfb6d2..8c3661eb135a 100644
--- a/tests/TransitionTests/res/layout/interruption_inner_4.xml
+++ b/tests/TransitionTests/res/layout/interruption_inner_4.xml
@@ -9,5 +9,12 @@
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="@string/state4"/>
+ <Button
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:id="@+id/button1"
+ android:layout_alignLeft="@+id/button"
+ android:layout_above="@+id/button"
+ android:text="@string/state4"/>
</RelativeLayout> \ No newline at end of file
diff --git a/tests/TransitionTests/src/com/android/transitiontests/InterruptionTest.java b/tests/TransitionTests/src/com/android/transitiontests/InterruptionTest.java
index 47cf00220a04..b380225b8839 100644
--- a/tests/TransitionTests/src/com/android/transitiontests/InterruptionTest.java
+++ b/tests/TransitionTests/src/com/android/transitiontests/InterruptionTest.java
@@ -35,14 +35,13 @@ public class InterruptionTest extends Activity {
private Scene mScene2;
private Scene mScene3;
private Scene mScene4;
- Transition mAutoTransition = new AutoTransition();
+ TransitionGroup mSequencedMove = new TransitionGroup(TransitionGroup.SEQUENTIALLY);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.interruption);
- View container = (View) findViewById(R.id.container);
ViewGroup sceneRoot = (ViewGroup) findViewById(R.id.sceneRoot);
mScene1 = new Scene(sceneRoot, R.layout.interruption_inner_1, this);
@@ -57,18 +56,24 @@ public class InterruptionTest extends Activity {
sceneRoot.setCurrentScene(mScene1);
- mAutoTransition.setDuration(1500);
+ Move move1 = new Move();
+ move1.setTargetIds(R.id.button);
+ Move move2 = new Move();
+ move2.setTargetIds(R.id.button1);
+
+ mSequencedMove.addTransitions(move1, move2);
+ mSequencedMove.setDuration(1000);
}
public void onRadioButtonClicked(View clickedButton) {
if (clickedButton == mScene1RB) {
- TransitionManager.go(mScene1, mAutoTransition);
+ TransitionManager.go(mScene1, mSequencedMove);
} else if (clickedButton == mScene2RB) {
- TransitionManager.go(mScene2, mAutoTransition);
+ TransitionManager.go(mScene2, mSequencedMove);
} else if (clickedButton == mScene3RB) {
- TransitionManager.go(mScene3, mAutoTransition);
+ TransitionManager.go(mScene3, mSequencedMove);
} else {
- TransitionManager.go(mScene4, mAutoTransition);
+ TransitionManager.go(mScene4, mSequencedMove);
}
}
}