Don't run expand/collapse animations when dismissing.

Also restore some padding.

Change-Id: Iada58be574c52651931ea733aaa4022c71e136b5
Fixes: 30764259
Fixes: 30781039
This commit is contained in:
Julia Reynolds
2016-08-10 11:42:56 -04:00
parent fc13448507
commit 48242f0ac6
2 changed files with 38 additions and 35 deletions

View File

@@ -18,7 +18,8 @@
android:id="@+id/volume_zen_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" > <!-- extends LinearLayout -->
android:orientation="vertical"
android:paddingBottom="8dp" > <!-- extends LinearLayout -->
<View
android:id="@+id/zen_embedded_divider"

View File

@@ -495,7 +495,7 @@ public class VolumeDialog implements TunerService.Tunable {
mMotion.startDismiss(new Runnable() {
@Override
public void run() {
updateExpandedH(false);
updateExpandedH(false /* expanding */, true /* dismissing */);
}
});
if (mAccessibilityMgr.isEnabled()) {
@@ -541,45 +541,47 @@ public class VolumeDialog implements TunerService.Tunable {
mHandler.sendEmptyMessageDelayed(H.UPDATE_BOTTOM_MARGIN, getConservativeCollapseDuration());
}
private void updateExpandedH(final boolean expanded) {
private void updateExpandedH(final boolean expanded, final boolean dismissing) {
if (mExpanded == expanded) return;
mExpanded = expanded;
mExpandButtonAnimationRunning = isAttached();
if (D.BUG) Log.d(TAG, "updateExpandedH " + expanded);
updateExpandButtonH();
updateFooterH();
final VolumeRow activeRow = getActiveRow();
mWindow.setLayout(mWindow.getAttributes().width, ViewGroup.LayoutParams.MATCH_PARENT);
AutoTransition transition = new AutoTransition();
transition.setDuration(mExpandButtonAnimationDuration);
transition.setInterpolator(Interpolators.LINEAR_OUT_SLOW_IN);
transition.addListener(new Transition.TransitionListener() {
@Override
public void onTransitionStart(Transition transition) {
}
@Override
public void onTransitionEnd(Transition transition) {
mWindow.setLayout(
mWindow.getAttributes().width, ViewGroup.LayoutParams.WRAP_CONTENT);
}
@Override
public void onTransitionCancel(Transition transition) {
mWindow.setLayout(
mWindow.getAttributes().width, ViewGroup.LayoutParams.WRAP_CONTENT);
}
@Override
public void onTransitionPause(Transition transition) {
}
@Override
public void onTransitionResume(Transition transition) {
}
});
TransitionManager.endTransitions(mDialogView);
TransitionManager.beginDelayedTransition(mDialogView, transition);
final VolumeRow activeRow = getActiveRow();
if (!dismissing) {
mWindow.setLayout(mWindow.getAttributes().width, ViewGroup.LayoutParams.MATCH_PARENT);
AutoTransition transition = new AutoTransition();
transition.setDuration(mExpandButtonAnimationDuration);
transition.setInterpolator(Interpolators.LINEAR_OUT_SLOW_IN);
transition.addListener(new Transition.TransitionListener() {
@Override
public void onTransitionStart(Transition transition) {
}
@Override
public void onTransitionEnd(Transition transition) {
mWindow.setLayout(
mWindow.getAttributes().width, ViewGroup.LayoutParams.WRAP_CONTENT);
}
@Override
public void onTransitionCancel(Transition transition) {
}
@Override
public void onTransitionPause(Transition transition) {
mWindow.setLayout(
mWindow.getAttributes().width, ViewGroup.LayoutParams.WRAP_CONTENT);
}
@Override
public void onTransitionResume(Transition transition) {
}
});
TransitionManager.beginDelayedTransition(mDialogView, transition);
}
updateRowsH(activeRow);
rescheduleTimeoutH();
}
@@ -1029,7 +1031,7 @@ public class VolumeDialog implements TunerService.Tunable {
if (mExpandButtonAnimationRunning) return;
final boolean newExpand = !mExpanded;
Events.writeEvent(mContext, Events.EVENT_EXPAND, newExpand);
updateExpandedH(newExpand);
updateExpandedH(newExpand, false /* dismissing */);
}
};