Loading core/java/android/view/transition/Move.java +9 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Rect; import android.graphics.drawable.BitmapDrawable; import android.util.Log; import android.view.View; import android.view.ViewGroup; Loading @@ -42,6 +43,7 @@ public class Move extends Transition { int[] tempLocation = new int[2]; boolean mResizeClip = false; boolean mReparent = false; private static final String LOG_TAG = "Move"; private static RectEvaluator sRectEvaluator = new RectEvaluator(); Loading Loading @@ -114,6 +116,13 @@ public class Move extends Transition { int endHeight = endBottom - endTop; int numChanges = 0; if (startWidth != 0 && startHeight != 0 && endWidth != 0 && endHeight != 0) { if (Transition.DBG) { Log.v(LOG_TAG, "Target = " + endValues.view); Log.v(LOG_TAG, " start bounds: " + startLeft + ", " + startTop + ", " + startRight + ", " + startBottom); Log.v(LOG_TAG, " end bounds: " + endLeft + ", " + endTop + ", " + endRight + ", " + endBottom); } if (startLeft != endLeft) ++numChanges; if (startTop != endTop) ++numChanges; if (startRight != endRight) ++numChanges; Loading core/java/android/view/transition/Transition.java +12 −4 Original line number Diff line number Diff line Loading @@ -534,14 +534,18 @@ public abstract class Transition { captureValues(values, start); if (start) { mStartValues.put(view, values); if (id >= 0) { mStartIdValues.put(id, values); } } else { mEndValues.put(view, values); if (id >= 0) { mEndIdValues.put(id, values); } } } } } if (mTargets != null) { for (int i = 0; i < mTargets.length; ++i) { View view = mTargets[i]; Loading Loading @@ -599,14 +603,18 @@ public abstract class Transition { if (start) { if (!isListViewItem) { mStartValues.put(view, values); if (id >= 0) { mStartIdValues.put((int) id, values); } } else { mStartItemIdValues.put(id, values); } } else { if (!isListViewItem) { mEndValues.put(view, values); if (id >= 0) { mEndIdValues.put((int) id, values); } } else { mEndItemIdValues.put(id, values); } Loading core/java/android/view/transition/TransitionGroup.java +22 −0 Original line number Diff line number Diff line Loading @@ -106,9 +106,31 @@ public class TransitionGroup extends Transition { int numTransitions = transitions.length; for (int i = 0; i < numTransitions; ++i) { mTransitions.add(transitions[i]); if (mDuration >= 0) { transitions[0].setDuration(mDuration); } } } } /** * Setting a non-negative duration on a TransitionGroup causes all of the child * transitions (current and future) to inherit this duration. * * @param duration The length of the animation, in milliseconds. * @return This transitionGroup object. */ @Override public Transition setDuration(long duration) { super.setDuration(duration); if (mDuration >= 0) { int numTransitions = mTransitions.size(); for (int i = 0; i < numTransitions; ++i) { mTransitions.get(i).setDuration(duration); } } return this; } /** * Removes the specified child transition from this group. Loading tests/TransitionTests/AndroidManifest.xml +7 −0 Original line number Diff line number Diff line Loading @@ -205,6 +205,13 @@ <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:label="InterruptionTest" android:name="InterruptionTest"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> Loading tests/TransitionTests/res/layout/interruption.xml 0 → 100644 +45 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent"> <RadioGroup android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <RadioButton android:id="@+id/scene1RB" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/state1" android:onClick="onRadioButtonClicked"/> <RadioButton android:id="@+id/scene2RB" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/state2" android:onClick="onRadioButtonClicked"/> <RadioButton android:id="@+id/scene3RB" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/state3" android:onClick="onRadioButtonClicked"/> <RadioButton android:id="@+id/scene4RB" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/state4" android:onClick="onRadioButtonClicked"/> </RadioGroup> <LinearLayout android:orientation="vertical" android:id="@+id/sceneRoot" android:layout_width="match_parent" android:layout_height="match_parent"> <include layout="@layout/interruption_inner_1"/> </LinearLayout> </LinearLayout> No newline at end of file Loading
core/java/android/view/transition/Move.java +9 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Rect; import android.graphics.drawable.BitmapDrawable; import android.util.Log; import android.view.View; import android.view.ViewGroup; Loading @@ -42,6 +43,7 @@ public class Move extends Transition { int[] tempLocation = new int[2]; boolean mResizeClip = false; boolean mReparent = false; private static final String LOG_TAG = "Move"; private static RectEvaluator sRectEvaluator = new RectEvaluator(); Loading Loading @@ -114,6 +116,13 @@ public class Move extends Transition { int endHeight = endBottom - endTop; int numChanges = 0; if (startWidth != 0 && startHeight != 0 && endWidth != 0 && endHeight != 0) { if (Transition.DBG) { Log.v(LOG_TAG, "Target = " + endValues.view); Log.v(LOG_TAG, " start bounds: " + startLeft + ", " + startTop + ", " + startRight + ", " + startBottom); Log.v(LOG_TAG, " end bounds: " + endLeft + ", " + endTop + ", " + endRight + ", " + endBottom); } if (startLeft != endLeft) ++numChanges; if (startTop != endTop) ++numChanges; if (startRight != endRight) ++numChanges; Loading
core/java/android/view/transition/Transition.java +12 −4 Original line number Diff line number Diff line Loading @@ -534,14 +534,18 @@ public abstract class Transition { captureValues(values, start); if (start) { mStartValues.put(view, values); if (id >= 0) { mStartIdValues.put(id, values); } } else { mEndValues.put(view, values); if (id >= 0) { mEndIdValues.put(id, values); } } } } } if (mTargets != null) { for (int i = 0; i < mTargets.length; ++i) { View view = mTargets[i]; Loading Loading @@ -599,14 +603,18 @@ public abstract class Transition { if (start) { if (!isListViewItem) { mStartValues.put(view, values); if (id >= 0) { mStartIdValues.put((int) id, values); } } else { mStartItemIdValues.put(id, values); } } else { if (!isListViewItem) { mEndValues.put(view, values); if (id >= 0) { mEndIdValues.put((int) id, values); } } else { mEndItemIdValues.put(id, values); } Loading
core/java/android/view/transition/TransitionGroup.java +22 −0 Original line number Diff line number Diff line Loading @@ -106,9 +106,31 @@ public class TransitionGroup extends Transition { int numTransitions = transitions.length; for (int i = 0; i < numTransitions; ++i) { mTransitions.add(transitions[i]); if (mDuration >= 0) { transitions[0].setDuration(mDuration); } } } } /** * Setting a non-negative duration on a TransitionGroup causes all of the child * transitions (current and future) to inherit this duration. * * @param duration The length of the animation, in milliseconds. * @return This transitionGroup object. */ @Override public Transition setDuration(long duration) { super.setDuration(duration); if (mDuration >= 0) { int numTransitions = mTransitions.size(); for (int i = 0; i < numTransitions; ++i) { mTransitions.get(i).setDuration(duration); } } return this; } /** * Removes the specified child transition from this group. Loading
tests/TransitionTests/AndroidManifest.xml +7 −0 Original line number Diff line number Diff line Loading @@ -205,6 +205,13 @@ <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:label="InterruptionTest" android:name="InterruptionTest"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> Loading
tests/TransitionTests/res/layout/interruption.xml 0 → 100644 +45 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent"> <RadioGroup android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <RadioButton android:id="@+id/scene1RB" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/state1" android:onClick="onRadioButtonClicked"/> <RadioButton android:id="@+id/scene2RB" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/state2" android:onClick="onRadioButtonClicked"/> <RadioButton android:id="@+id/scene3RB" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/state3" android:onClick="onRadioButtonClicked"/> <RadioButton android:id="@+id/scene4RB" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/state4" android:onClick="onRadioButtonClicked"/> </RadioGroup> <LinearLayout android:orientation="vertical" android:id="@+id/sceneRoot" android:layout_width="match_parent" android:layout_height="match_parent"> <include layout="@layout/interruption_inner_1"/> </LinearLayout> </LinearLayout> No newline at end of file