mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-11 06:44:00 +00:00
High level: - As you swipe up from an app (OtherActivityInputConsumer), a state transition animation to All Apps is created in AnimatorControllerWithResistance. The animation is played alongside the Recents resistance animation (i.e. past the settling point of Overview, which is at mCurrentShift 1). - The actual state transition to All Apps only happens if you release your finger in the "all apps region." This is set to mCurrentShift 2, so double the distance that Overview rests. - A haptic plays whenever you enter or exit this region, and the all apps animation is set to 0 until the region is active. This is so it's clear that something different is happening. - The panel that was previously used for tablets is now used for phones during this transition. It comes in at full opacity when you enter the region, and the contents (apps and search suggestions) fade in as you continue swiping. - The only gesture that is recognized in the all apps region is a fling downwards, which will return you to the previous app. Otherwise a left/right/up fling or slow release will finish the all apps transition. - The threshold is ignored if the flag is disabled (default) or if FallbackActivityInterface is active. Flag: The threshold is ignored if ENABLE_ALL_APPS_FROM_OVERVIEW is disabled (default). Bug: 259619990 Bug: 275132633 Test: Manual with and without the flag enabled Change-Id: Ie311b77252416d97677b2c56fad61dfd392b6fe8
69 lines
1.8 KiB
Protocol Buffer
69 lines
1.8 KiB
Protocol Buffer
/*
|
|
* Copyright (C) 2019 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.
|
|
*/
|
|
|
|
syntax = "proto2";
|
|
|
|
package com.android.launcher3.tracing;
|
|
|
|
option java_multiple_files = true;
|
|
|
|
message LauncherTraceProto {
|
|
|
|
optional TouchInteractionServiceProto touch_interaction_service = 1;
|
|
}
|
|
|
|
message TouchInteractionServiceProto {
|
|
|
|
optional bool service_connected = 1;
|
|
optional OverviewComponentObserverProto overview_component_obvserver = 2;
|
|
optional InputConsumerProto input_consumer = 3;
|
|
}
|
|
|
|
message OverviewComponentObserverProto {
|
|
|
|
optional bool overview_activity_started = 1;
|
|
optional bool overview_activity_resumed = 2;
|
|
}
|
|
|
|
message InputConsumerProto {
|
|
|
|
optional string name = 1;
|
|
optional SwipeHandlerProto swipe_handler = 2;
|
|
}
|
|
|
|
message SwipeHandlerProto {
|
|
|
|
optional GestureStateProto gesture_state = 1;
|
|
optional bool is_recents_attached_to_app_window = 2;
|
|
optional int32 scroll_offset = 3;
|
|
// Swipe up progress from 0 (app) to 1 (overview); can be > 1 if swiping past overview.
|
|
optional float app_to_overview_progress = 4;
|
|
}
|
|
|
|
message GestureStateProto {
|
|
|
|
optional GestureEndTarget endTarget = 1 [default = UNSET];
|
|
|
|
enum GestureEndTarget {
|
|
UNSET = 0;
|
|
HOME = 1;
|
|
RECENTS = 2;
|
|
NEW_TASK = 3;
|
|
LAST_TASK = 4;
|
|
ALL_APPS = 5;
|
|
}
|
|
}
|