mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-03 17:36:49 +00:00
For the new home gardening mode, we plan on not having a spring loaded mode where the overlay shrinks, so when we have the flag for home gardening on, we won't be having the workspace have the green overlay and the icons shrink Bug: 251259222 Test: Hold on an icon in workspace to enter edit workspace mode, notice how we no longer shrink the workspace Change-Id: Ibf1c38eecc117a838eca20a860d47c355955b513
91 lines
2.9 KiB
Java
91 lines
2.9 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.states;
|
|
|
|
import static com.android.launcher3.config.FeatureFlags.SHOW_HOME_GARDENING;
|
|
import static com.android.launcher3.logging.StatsLogManager.LAUNCHER_STATE_HOME;
|
|
|
|
import android.content.Context;
|
|
|
|
import com.android.launcher3.DeviceProfile;
|
|
import com.android.launcher3.Launcher;
|
|
import com.android.launcher3.LauncherState;
|
|
import com.android.launcher3.Workspace;
|
|
|
|
/**
|
|
* Definition for spring loaded state used during drag and drop.
|
|
*/
|
|
public class SpringLoadedState extends LauncherState {
|
|
|
|
private static final int STATE_FLAGS = FLAG_MULTI_PAGE
|
|
| FLAG_WORKSPACE_INACCESSIBLE | FLAG_DISABLE_RESTORE
|
|
| FLAG_WORKSPACE_ICONS_CAN_BE_DRAGGED | FLAG_WORKSPACE_HAS_BACKGROUNDS;
|
|
|
|
public SpringLoadedState(int id) {
|
|
super(id, LAUNCHER_STATE_HOME, STATE_FLAGS);
|
|
}
|
|
|
|
@Override
|
|
public int getTransitionDuration(Context context, boolean isToState) {
|
|
return 150;
|
|
}
|
|
|
|
@Override
|
|
public ScaleAndTranslation getWorkspaceScaleAndTranslation(Launcher launcher) {
|
|
|
|
if (SHOW_HOME_GARDENING.get()) {
|
|
return super.getWorkspaceScaleAndTranslation(launcher);
|
|
}
|
|
|
|
DeviceProfile grid = launcher.getDeviceProfile();
|
|
Workspace<?> ws = launcher.getWorkspace();
|
|
if (ws.getChildCount() == 0) {
|
|
return super.getWorkspaceScaleAndTranslation(launcher);
|
|
}
|
|
|
|
float shrunkTop = grid.getCellLayoutSpringLoadShrunkTop();
|
|
float scale = grid.getWorkspaceSpringLoadScale(launcher);
|
|
|
|
float halfHeight = ws.getHeight() / 2;
|
|
float myCenter = ws.getTop() + halfHeight;
|
|
float cellTopFromCenter = halfHeight - ws.getChildAt(0).getTop();
|
|
float actualCellTop = myCenter - cellTopFromCenter * scale;
|
|
return new ScaleAndTranslation(scale, 0, shrunkTop - actualCellTop);
|
|
}
|
|
|
|
@Override
|
|
protected float getDepthUnchecked(Context context) {
|
|
if (SHOW_HOME_GARDENING.get()) {
|
|
return 0;
|
|
}
|
|
return 0.5f;
|
|
}
|
|
|
|
@Override
|
|
public ScaleAndTranslation getHotseatScaleAndTranslation(Launcher launcher) {
|
|
return new ScaleAndTranslation(1, 0, 0);
|
|
}
|
|
|
|
@Override
|
|
public float getWorkspaceBackgroundAlpha(Launcher launcher) {
|
|
if (SHOW_HOME_GARDENING.get()) {
|
|
return 0;
|
|
}
|
|
|
|
return 0.2f;
|
|
}
|
|
}
|