c7b8957bbb
This avoids changing them when going from an app to launcher (most obvious when going to overview). This also allows us to not change insets on apps when opening/closing IME, which reduces potential jumpiness. Finally, also use this logic for 3P launchers by calling directly from TaskbarDragLayerController instead of TaskbarUIController (which was only overridden by LauncherTaskbarUIController). This fixes some bad issues like sending fullscreen insets when opening a folder from taskbar. Test: Open Calculator, unstash taskbar, go to overview and ensure no jump as taskbar stashes. Fixes: 200805319 Change-Id: I4f1cc187398d0051863ff44ea90b7ab9c6aaa8f9
71 lines
2.0 KiB
Java
71 lines
2.0 KiB
Java
/*
|
|
* Copyright (C) 2021 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.taskbar;
|
|
|
|
import android.view.View;
|
|
|
|
import androidx.annotation.CallSuper;
|
|
|
|
import com.android.launcher3.model.data.ItemInfoWithIcon;
|
|
import com.android.launcher3.model.data.WorkspaceItemInfo;
|
|
|
|
import java.util.stream.Stream;
|
|
|
|
/**
|
|
* Base class for providing different taskbar UI
|
|
*/
|
|
public class TaskbarUIController {
|
|
|
|
public static final TaskbarUIController DEFAULT = new TaskbarUIController();
|
|
|
|
// Initialized in init.
|
|
protected TaskbarControllers mControllers;
|
|
|
|
@CallSuper
|
|
protected void init(TaskbarControllers taskbarControllers) {
|
|
mControllers = taskbarControllers;
|
|
}
|
|
|
|
@CallSuper
|
|
protected void onDestroy() {
|
|
mControllers = null;
|
|
}
|
|
|
|
protected boolean isTaskbarTouchable() {
|
|
return true;
|
|
}
|
|
|
|
protected void onStashedInAppChanged() { }
|
|
|
|
public Stream<ItemInfoWithIcon> getAppIconsForEdu() {
|
|
return Stream.empty();
|
|
}
|
|
|
|
public void onTaskbarIconLaunched(WorkspaceItemInfo item) { }
|
|
|
|
public View getRootView() {
|
|
return mControllers.taskbarActivityContext.getDragLayer();
|
|
}
|
|
|
|
/**
|
|
* Called when swiping from the bottom nav region in fully gestural mode.
|
|
* @param inProgress True if the animation started, false if we just settled on an end target.
|
|
*/
|
|
public void setSystemGestureInProgress(boolean inProgress) {
|
|
mControllers.taskbarStashController.setSystemGestureInProgress(inProgress);
|
|
}
|
|
}
|