Reimplement QuickSwitch compat libs (#4084)
* Reimplement makeDefaultActivityOptions * No need to post again * Cleanups * Tweak LawnchairQuickstepCompat * Let compatLibVR depend on compatLibVQ * Let compatLibVS depend on compatLibVR * Cleanup compatLibVT * Let compatLibVU depend on compatLibVT * Add ActivityManagerCompatVS.getRunningTasks back * Fix ActivityManagerCompatVS * Don't return null running tasks * Annotate getTaskSnapshot * Fix style * Retrun list from getRunningTasks * Tweaks * Cleanups * null check * Add ActivityManagerCompatVS.invalidateHomeTaskSnapshot back * Move ThumbnailData * Fixed err * Cleanup * Add RequiresApi * Make RemoteTransitionCompat as an interface * Annotate ActivityOptionsCompat * More interfaces * Replace aidl files with generated sources * Reformat * Revert "Replace aidl files with generated sources" This reverts commit ee450e696d93bce5361224710d225b13c5a3127a. Revert "Reformat" This reverts commit 38c8f21ed3cd016e5bf58973483555bd44b3ef18. * Use launcherNullable * Fixes more crashes --------- Co-authored-by: MrSluffy <werdna.jac@gmail.com>
This commit is contained in:
1 parent
0ca884dc25
commit
bfb4ddfa48
34 files changed
+377
-476
No files matched your search
@@ -3,38 +3,63 @@ package app.lawnchair.compatlib;
|
||||
import android.app.Activity;
|
||||
import android.app.ActivityManager;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Rect;
|
||||
import android.view.IRecentsAnimationController;
|
||||
import android.window.TaskSnapshot;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.RequiresApi;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class ActivityManagerCompat {
|
||||
public interface ActivityManagerCompat {
|
||||
int NUM_RECENT_ACTIVITIES_REQUEST = 3;
|
||||
|
||||
public static final int NUM_RECENT_ACTIVITIES_REQUEST = 3;
|
||||
void invalidateHomeTaskSnapshot(final Activity homeActivity);
|
||||
|
||||
public abstract void invalidateHomeTaskSnapshot(final Activity homeActivity);
|
||||
void startRecentsActivity(
|
||||
Intent intent, long eventTime, RecentsAnimationRunnerCompat runnerCompat);
|
||||
|
||||
/**
|
||||
* Called only in S+ platform
|
||||
*
|
||||
* @param taskId
|
||||
* @param isLowResolution
|
||||
* @param takeSnapshotIfNeeded
|
||||
* @return
|
||||
*/
|
||||
@Nullable
|
||||
public TaskSnapshot getTaskSnapshot(
|
||||
@RequiresApi(31)
|
||||
default TaskSnapshot getTaskSnapshot(
|
||||
int taskId, boolean isLowResolution, boolean takeSnapshotIfNeeded) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public abstract void startRecentsActivity(
|
||||
Intent intent, long eventTime, RecentsAnimationRunnerCompat runnerCompat);
|
||||
default ThumbnailData getTaskThumbnail(int taskId, boolean isLowResolution) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public abstract ActivityManager.RunningTaskInfo getRunningTask(
|
||||
boolean filterOnlyVisibleRecents);
|
||||
default ThumbnailData takeScreenshot(
|
||||
IRecentsAnimationController animationController, int taskId) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public abstract List<ActivityManager.RecentTaskInfo> getRecentTasks(int numTasks, int userId);
|
||||
default ThumbnailData convertTaskSnapshotToThumbnailData(Object taskSnapshot) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public abstract ActivityManager.RunningTaskInfo[] getRunningTasks(
|
||||
boolean filterOnlyVisibleRecents);
|
||||
@Nullable
|
||||
ActivityManager.RunningTaskInfo getRunningTask(boolean filterOnlyVisibleRecents);
|
||||
|
||||
@NonNull
|
||||
List<ActivityManager.RunningTaskInfo> getRunningTasks(boolean filterOnlyVisibleRecents);
|
||||
|
||||
@NonNull
|
||||
List<ActivityManager.RecentTaskInfo> getRecentTasks(int numTasks, int userId);
|
||||
|
||||
public static class ThumbnailData {
|
||||
public Bitmap thumbnail;
|
||||
public int orientation;
|
||||
public int rotation;
|
||||
public Rect insets;
|
||||
public boolean reducedResolution;
|
||||
public boolean isRealSnapshot;
|
||||
public boolean isTranslucent;
|
||||
public int windowingMode;
|
||||
public int systemUiVisibility;
|
||||
public float scale;
|
||||
public long snapshotId;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user