849c6a2b18
(This cl reverts change-Id: I455edcd17bda83ab51c2c04fa40e66097a4d6975) Various animations were marked for cancellation when launcher activity is destroyed. This this does not work with multiple activities (Launcher, fallback recents, shortcut confirmation). Also since launcher activity handles configuration changes, the activity is not destroyed often. Instead associating a target with various animations which automatically cancels the animations when that target goes away. Change-Id: I64cd095a28075561a9e20c9dcdeb9f90c18e1047
55 lines
1.7 KiB
Java
55 lines
1.7 KiB
Java
/*
|
|
* Copyright (C) 2017 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
package com.android.launcher3.folder;
|
|
|
|
import android.graphics.drawable.Drawable;
|
|
|
|
/**
|
|
* Manages the parameters used to draw a Folder preview item.
|
|
*/
|
|
class PreviewItemDrawingParams {
|
|
float transX;
|
|
float transY;
|
|
float scale;
|
|
float overlayAlpha;
|
|
FolderPreviewItemAnim anim;
|
|
public boolean hidden;
|
|
Drawable drawable;
|
|
|
|
PreviewItemDrawingParams(float transX, float transY, float scale, float overlayAlpha) {
|
|
this.transX = transX;
|
|
this.transY = transY;
|
|
this.scale = scale;
|
|
this.overlayAlpha = overlayAlpha;
|
|
}
|
|
|
|
public void update(float transX, float transY, float scale) {
|
|
// We ensure the update will not interfere with an animation on the layout params
|
|
// If the final values differ, we cancel the animation.
|
|
if (anim != null) {
|
|
if (anim.finalState[1] == transX || anim.finalState[2] == transY
|
|
|| anim.finalState[0] == scale) {
|
|
return;
|
|
}
|
|
anim.cancel();
|
|
}
|
|
|
|
this.transX = transX;
|
|
this.transY = transY;
|
|
this.scale = scale;
|
|
}
|
|
}
|