From 655a4c310bb356a9a107d8375e934a228398e252 Mon Sep 17 00:00:00 2001 From: micky387 Date: Mon, 10 Jul 2023 14:40:56 +0200 Subject: [PATCH] added crashing logs for fixes for supportsSplitScreenMultiWindow --- .../log.txt | 38 ++ .../shared/recents/model/Task(modified).smali | 415 ++++++++++++++++++ .../shared/recents/model/Task(original).smali | 415 ++++++++++++++++++ 3 files changed, 868 insertions(+) create mode 100644 Modifications/Fixes/supportsSplitScreenMultiWindow is not in TaskInfo/log.txt create mode 100644 Modifications/Fixes/supportsSplitScreenMultiWindow is not in TaskInfo/smali/com/android/systemui/shared/recents/model/Task(modified).smali create mode 100644 Modifications/Fixes/supportsSplitScreenMultiWindow is not in TaskInfo/smali/com/android/systemui/shared/recents/model/Task(original).smali diff --git a/Modifications/Fixes/supportsSplitScreenMultiWindow is not in TaskInfo/log.txt b/Modifications/Fixes/supportsSplitScreenMultiWindow is not in TaskInfo/log.txt new file mode 100644 index 00000000..f150410d --- /dev/null +++ b/Modifications/Fixes/supportsSplitScreenMultiWindow is not in TaskInfo/log.txt @@ -0,0 +1,38 @@ +07-10 08:28:27.769 3033 3033 E AndroidRuntime: FATAL EXCEPTION: main +07-10 08:28:27.769 3033 3033 E AndroidRuntime: Process: com.google.android.apps.nexuslauncher, PID: 3033 +07-10 08:28:27.769 3033 3033 E AndroidRuntime: java.lang.NoSuchFieldError: No instance field supportsSplitScreenMultiWindow of type Z in class Landroid/app/TaskInfo; or its superclasses (declaration of 'android.app.TaskInfo' appears in /system/framework/framework.jar) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.systemui.shared.recents.model.Task.from(Unknown Source:21) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.quickstep.TopTaskTracker$CachedTaskInfo.getPlaceholderTasks(SourceFile:2) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.quickstep.AbsSwipeUpHandler.notifyGestureAnimationStartToRecents(Unknown Source:35) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.quickstep.AbsSwipeUpHandler.setupRecentsViewUi(Unknown Source:12) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.quickstep.AbsSwipeUpHandler.onActivityInit(Unknown Source:153) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.quickstep.d0.test(Unknown Source:4) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.quickstep.LauncherActivityInterface.lambda$createActivityInitListener$0(Unknown Source:0) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.quickstep.LauncherActivityInterface.e(Unknown Source:0) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.quickstep.B0.test(Unknown Source:6) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.quickstep.util.ActivityInitListener.handleInit(Unknown Source:6) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.launcher3.LauncherInitListener.handleInit(SourceFile:8) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.launcher3.LauncherInitListener.handleInit(SourceFile:1) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.quickstep.util.ActivityInitListener.init(Unknown Source:6) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.launcher3.util.ActivityTracker.registerCallback(Unknown Source:19) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.quickstep.util.ActivityInitListener.register(Unknown Source:5) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.quickstep.AbsSwipeUpHandler.initWhenReady(Unknown Source:16) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.quickstep.inputconsumers.OtherActivityInputConsumer.startTouchTrackingForWindowAnimation(Unknown Source:38) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.quickstep.inputconsumers.OtherActivityInputConsumer.onMotionEvent(Unknown Source:373) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.quickstep.inputconsumers.OneHandedModeInputConsumer.onMotionEvent(Unknown Source:243) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.quickstep.TouchInteractionService.onInputEvent(Unknown Source:353) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.quickstep.TouchInteractionService.b(Unknown Source:0) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.quickstep.a3.onInputEvent(Unknown Source:2) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.systemui.shared.system.InputChannelCompat$InputEventReceiver$1.onInputEvent(Unknown Source:2) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:267) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:247) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at android.view.BatchedInputEventReceiver.onBatchedInputEventPending(BatchedInputEventReceiver.java:53) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at android.os.MessageQueue.nativePollOnce(Native Method) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at android.os.MessageQueue.next(MessageQueue.java:335) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:161) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at android.os.Looper.loop(Looper.java:288) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7918) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) +07-10 08:28:27.769 3033 3033 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936) diff --git a/Modifications/Fixes/supportsSplitScreenMultiWindow is not in TaskInfo/smali/com/android/systemui/shared/recents/model/Task(modified).smali b/Modifications/Fixes/supportsSplitScreenMultiWindow is not in TaskInfo/smali/com/android/systemui/shared/recents/model/Task(modified).smali new file mode 100644 index 00000000..a0de85d2 --- /dev/null +++ b/Modifications/Fixes/supportsSplitScreenMultiWindow is not in TaskInfo/smali/com/android/systemui/shared/recents/model/Task(modified).smali @@ -0,0 +1,415 @@ +.class public Lcom/android/systemui/shared/recents/model/Task; +.super Ljava/lang/Object; +.source "SourceFile" + + +# static fields +.field public static final TAG:Ljava/lang/String; = "Task" + + +# instance fields +.field public colorBackground:I + .annotation runtime Landroid/view/ViewDebug$ExportedProperty; + category = "recents" + .end annotation +.end field + +.field public colorPrimary:I + .annotation runtime Landroid/view/ViewDebug$ExportedProperty; + category = "recents" + .end annotation +.end field + +.field public icon:Landroid/graphics/drawable/Drawable; + +.field public isDockable:Z + .annotation runtime Landroid/view/ViewDebug$ExportedProperty; + category = "recents" + .end annotation +.end field + +.field public isLocked:Z + .annotation runtime Landroid/view/ViewDebug$ExportedProperty; + category = "recents" + .end annotation +.end field + +.field public key:Lcom/android/systemui/shared/recents/model/Task$TaskKey; + .annotation runtime Landroid/view/ViewDebug$ExportedProperty; + deepExport = true + prefix = "key_" + .end annotation +.end field + +.field public lastSnapshotData:Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + +.field public taskDescription:Landroid/app/ActivityManager$TaskDescription; + +.field public thumbnail:Lcom/android/systemui/shared/recents/model/ThumbnailData; + +.field public title:Ljava/lang/String; + .annotation runtime Landroid/view/ViewDebug$ExportedProperty; + category = "recents" + .end annotation + + .annotation runtime Ljava/lang/Deprecated; + .end annotation +.end field + +.field public titleDescription:Ljava/lang/String; + .annotation runtime Landroid/view/ViewDebug$ExportedProperty; + category = "recents" + .end annotation +.end field + +.field public topActivity:Landroid/content/ComponentName; + .annotation runtime Landroid/view/ViewDebug$ExportedProperty; + category = "recents" + .end annotation +.end field + + +# direct methods +.method public constructor ()V + .locals 1 + + .line 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + + .line 2 + new-instance v0, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + invoke-direct {v0}, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;->()V + + iput-object v0, p0, Lcom/android/systemui/shared/recents/model/Task;->lastSnapshotData:Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + return-void +.end method + +.method public constructor (Lcom/android/systemui/shared/recents/model/Task$TaskKey;)V + .locals 1 + + .line 3 + invoke-direct {p0}, Ljava/lang/Object;->()V + + .line 4 + new-instance v0, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + invoke-direct {v0}, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;->()V + + iput-object v0, p0, Lcom/android/systemui/shared/recents/model/Task;->lastSnapshotData:Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + .line 5 + iput-object p1, p0, Lcom/android/systemui/shared/recents/model/Task;->key:Lcom/android/systemui/shared/recents/model/Task$TaskKey; + + .line 6 + new-instance p1, Landroid/app/ActivityManager$TaskDescription; + + invoke-direct {p1}, Landroid/app/ActivityManager$TaskDescription;->()V + + iput-object p1, p0, Lcom/android/systemui/shared/recents/model/Task;->taskDescription:Landroid/app/ActivityManager$TaskDescription; + + return-void +.end method + +.method public constructor (Lcom/android/systemui/shared/recents/model/Task$TaskKey;IIZZLandroid/app/ActivityManager$TaskDescription;Landroid/content/ComponentName;)V + .locals 1 + .annotation runtime Ljava/lang/Deprecated; + .end annotation + + .line 9 + invoke-direct {p0}, Ljava/lang/Object;->()V + + .line 10 + new-instance v0, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + invoke-direct {v0}, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;->()V + + iput-object v0, p0, Lcom/android/systemui/shared/recents/model/Task;->lastSnapshotData:Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + .line 11 + iput-object p1, p0, Lcom/android/systemui/shared/recents/model/Task;->key:Lcom/android/systemui/shared/recents/model/Task$TaskKey; + + .line 12 + iput p2, p0, Lcom/android/systemui/shared/recents/model/Task;->colorPrimary:I + + .line 13 + iput p3, p0, Lcom/android/systemui/shared/recents/model/Task;->colorBackground:I + + .line 14 + iput-object p6, p0, Lcom/android/systemui/shared/recents/model/Task;->taskDescription:Landroid/app/ActivityManager$TaskDescription; + + .line 15 + iput-boolean p4, p0, Lcom/android/systemui/shared/recents/model/Task;->isDockable:Z + + .line 16 + iput-boolean p5, p0, Lcom/android/systemui/shared/recents/model/Task;->isLocked:Z + + .line 17 + iput-object p7, p0, Lcom/android/systemui/shared/recents/model/Task;->topActivity:Landroid/content/ComponentName; + + return-void +.end method + +.method public constructor (Lcom/android/systemui/shared/recents/model/Task;)V + .locals 8 + + .line 7 + iget-object v1, p1, Lcom/android/systemui/shared/recents/model/Task;->key:Lcom/android/systemui/shared/recents/model/Task$TaskKey; + + iget v2, p1, Lcom/android/systemui/shared/recents/model/Task;->colorPrimary:I + + iget v3, p1, Lcom/android/systemui/shared/recents/model/Task;->colorBackground:I + + iget-boolean v4, p1, Lcom/android/systemui/shared/recents/model/Task;->isDockable:Z + + iget-boolean v5, p1, Lcom/android/systemui/shared/recents/model/Task;->isLocked:Z + + iget-object v6, p1, Lcom/android/systemui/shared/recents/model/Task;->taskDescription:Landroid/app/ActivityManager$TaskDescription; + + iget-object v7, p1, Lcom/android/systemui/shared/recents/model/Task;->topActivity:Landroid/content/ComponentName; + + move-object v0, p0 + + invoke-direct/range {v0 .. v7}, Lcom/android/systemui/shared/recents/model/Task;->(Lcom/android/systemui/shared/recents/model/Task$TaskKey;IIZZLandroid/app/ActivityManager$TaskDescription;Landroid/content/ComponentName;)V + + .line 8 + iget-object p0, p0, Lcom/android/systemui/shared/recents/model/Task;->lastSnapshotData:Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + iget-object p1, p1, Lcom/android/systemui/shared/recents/model/Task;->lastSnapshotData:Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + invoke-virtual {p0, p1}, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;->set(Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;)V + + return-void +.end method + +.method public static from(Lcom/android/systemui/shared/recents/model/Task$TaskKey;Landroid/app/TaskInfo;Z)Lcom/android/systemui/shared/recents/model/Task; + .locals 9 + + iget-object v6, p1, Landroid/app/TaskInfo;->taskDescription:Landroid/app/ActivityManager$TaskDescription; + + new-instance v8, Lcom/android/systemui/shared/recents/model/Task; + + const/4 v0, 0x0 + + if-eqz v6, :cond_0 + + invoke-virtual {v6}, Landroid/app/ActivityManager$TaskDescription;->getPrimaryColor()I + + move-result v1 + + move v2, v1 + + goto :goto_0 + + :cond_0 + move v2, v0 + + :goto_0 + if-eqz v6, :cond_1 + + invoke-virtual {v6}, Landroid/app/ActivityManager$TaskDescription;->getBackgroundColor()I + + move-result v0 + + :cond_1 + move v3, v0 + + iget-boolean v4, p1, Landroid/app/ActivityTaskManager;->supportsSplitScreenMultiWindow(Landroid/content/Context;)Z + + iget-object v7, p1, Landroid/app/TaskInfo;->topActivity:Landroid/content/ComponentName; + + move-object v0, v8 + + move-object v1, p0 + + move v5, p2 + + invoke-direct/range {v0 .. v7}, Lcom/android/systemui/shared/recents/model/Task;->(Lcom/android/systemui/shared/recents/model/Task$TaskKey;IIZZLandroid/app/ActivityManager$TaskDescription;Landroid/content/ComponentName;)V + + return-object v8 +.end method + + +# virtual methods +.method public dump(Ljava/lang/String;Ljava/io/PrintWriter;)V + .locals 0 + + invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + + iget-object p1, p0, Lcom/android/systemui/shared/recents/model/Task;->key:Lcom/android/systemui/shared/recents/model/Task$TaskKey; + + invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/Object;)V + + iget-boolean p1, p0, Lcom/android/systemui/shared/recents/model/Task;->isDockable:Z + + if-nez p1, :cond_0 + + const-string p1, " dockable=N" + + invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + + :cond_0 + iget-boolean p1, p0, Lcom/android/systemui/shared/recents/model/Task;->isLocked:Z + + if-eqz p1, :cond_1 + + const-string p1, " locked=Y" + + invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + + :cond_1 + const-string p1, " " + + invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + + iget-object p0, p0, Lcom/android/systemui/shared/recents/model/Task;->title:Ljava/lang/String; + + invoke-virtual {p2, p0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + + invoke-virtual {p2}, Ljava/io/PrintWriter;->println()V + + return-void +.end method + +.method public equals(Ljava/lang/Object;)Z + .locals 0 + + check-cast p1, Lcom/android/systemui/shared/recents/model/Task; + + iget-object p0, p0, Lcom/android/systemui/shared/recents/model/Task;->key:Lcom/android/systemui/shared/recents/model/Task$TaskKey; + + iget-object p1, p1, Lcom/android/systemui/shared/recents/model/Task;->key:Lcom/android/systemui/shared/recents/model/Task$TaskKey; + + invoke-virtual {p0, p1}, Lcom/android/systemui/shared/recents/model/Task$TaskKey;->equals(Ljava/lang/Object;)Z + + move-result p0 + + return p0 +.end method + +.method public getTopComponent()Landroid/content/ComponentName; + .locals 1 + + iget-object v0, p0, Lcom/android/systemui/shared/recents/model/Task;->topActivity:Landroid/content/ComponentName; + + if-eqz v0, :cond_0 + + goto :goto_0 + + :cond_0 + iget-object p0, p0, Lcom/android/systemui/shared/recents/model/Task;->key:Lcom/android/systemui/shared/recents/model/Task$TaskKey; + + iget-object p0, p0, Lcom/android/systemui/shared/recents/model/Task$TaskKey;->baseIntent:Landroid/content/Intent; + + invoke-virtual {p0}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName; + + move-result-object v0 + + :goto_0 + return-object v0 +.end method + +.method public getVisibleThumbnailRatio(Z)F + .locals 3 + + iget-object p0, p0, Lcom/android/systemui/shared/recents/model/Task;->lastSnapshotData:Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + iget-object v0, p0, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;->taskSize:Landroid/graphics/Point; + + if-eqz v0, :cond_2 + + iget-object p0, p0, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;->contentInsets:Landroid/graphics/Rect; + + if-nez p0, :cond_0 + + goto :goto_0 + + :cond_0 + iget v1, v0, Landroid/graphics/Point;->x:I + + int-to-float v1, v1 + + iget v0, v0, Landroid/graphics/Point;->y:I + + int-to-float v0, v0 + + if-eqz p1, :cond_1 + + iget p1, p0, Landroid/graphics/Rect;->left:I + + iget v2, p0, Landroid/graphics/Rect;->right:I + + add-int/2addr p1, v2 + + int-to-float p1, p1 + + sub-float/2addr v1, p1 + + iget p1, p0, Landroid/graphics/Rect;->top:I + + iget p0, p0, Landroid/graphics/Rect;->bottom:I + + add-int/2addr p1, p0 + + int-to-float p0, p1 + + sub-float/2addr v0, p0 + + :cond_1 + div-float/2addr v1, v0 + + return v1 + + :cond_2 + :goto_0 + const/4 p0, 0x0 + + return p0 +.end method + +.method public setLastSnapshotData(Landroid/app/ActivityManager$RecentTaskInfo;)V + .locals 0 + + iget-object p0, p0, Lcom/android/systemui/shared/recents/model/Task;->lastSnapshotData:Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + iget-object p1, p1, Landroid/app/ActivityManager$RecentTaskInfo;->lastSnapshotData:Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + invoke-virtual {p0, p1}, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;->set(Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;)V + + return-void +.end method + +.method public toString()Ljava/lang/String; + .locals 2 + + new-instance v0, Ljava/lang/StringBuilder; + + invoke-direct {v0}, Ljava/lang/StringBuilder;->()V + + const-string v1, "[" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/systemui/shared/recents/model/Task;->key:Lcom/android/systemui/shared/recents/model/Task$TaskKey; + + invoke-virtual {v1}, Lcom/android/systemui/shared/recents/model/Task$TaskKey;->toString()Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v1, "] " + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object p0, p0, Lcom/android/systemui/shared/recents/model/Task;->title:Ljava/lang/String; + + invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p0 + + return-object p0 +.end method diff --git a/Modifications/Fixes/supportsSplitScreenMultiWindow is not in TaskInfo/smali/com/android/systemui/shared/recents/model/Task(original).smali b/Modifications/Fixes/supportsSplitScreenMultiWindow is not in TaskInfo/smali/com/android/systemui/shared/recents/model/Task(original).smali new file mode 100644 index 00000000..7febce74 --- /dev/null +++ b/Modifications/Fixes/supportsSplitScreenMultiWindow is not in TaskInfo/smali/com/android/systemui/shared/recents/model/Task(original).smali @@ -0,0 +1,415 @@ +.class public Lcom/android/systemui/shared/recents/model/Task; +.super Ljava/lang/Object; +.source "SourceFile" + + +# static fields +.field public static final TAG:Ljava/lang/String; = "Task" + + +# instance fields +.field public colorBackground:I + .annotation runtime Landroid/view/ViewDebug$ExportedProperty; + category = "recents" + .end annotation +.end field + +.field public colorPrimary:I + .annotation runtime Landroid/view/ViewDebug$ExportedProperty; + category = "recents" + .end annotation +.end field + +.field public icon:Landroid/graphics/drawable/Drawable; + +.field public isDockable:Z + .annotation runtime Landroid/view/ViewDebug$ExportedProperty; + category = "recents" + .end annotation +.end field + +.field public isLocked:Z + .annotation runtime Landroid/view/ViewDebug$ExportedProperty; + category = "recents" + .end annotation +.end field + +.field public key:Lcom/android/systemui/shared/recents/model/Task$TaskKey; + .annotation runtime Landroid/view/ViewDebug$ExportedProperty; + deepExport = true + prefix = "key_" + .end annotation +.end field + +.field public lastSnapshotData:Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + +.field public taskDescription:Landroid/app/ActivityManager$TaskDescription; + +.field public thumbnail:Lcom/android/systemui/shared/recents/model/ThumbnailData; + +.field public title:Ljava/lang/String; + .annotation runtime Landroid/view/ViewDebug$ExportedProperty; + category = "recents" + .end annotation + + .annotation runtime Ljava/lang/Deprecated; + .end annotation +.end field + +.field public titleDescription:Ljava/lang/String; + .annotation runtime Landroid/view/ViewDebug$ExportedProperty; + category = "recents" + .end annotation +.end field + +.field public topActivity:Landroid/content/ComponentName; + .annotation runtime Landroid/view/ViewDebug$ExportedProperty; + category = "recents" + .end annotation +.end field + + +# direct methods +.method public constructor ()V + .locals 1 + + .line 1 + invoke-direct {p0}, Ljava/lang/Object;->()V + + .line 2 + new-instance v0, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + invoke-direct {v0}, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;->()V + + iput-object v0, p0, Lcom/android/systemui/shared/recents/model/Task;->lastSnapshotData:Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + return-void +.end method + +.method public constructor (Lcom/android/systemui/shared/recents/model/Task$TaskKey;)V + .locals 1 + + .line 3 + invoke-direct {p0}, Ljava/lang/Object;->()V + + .line 4 + new-instance v0, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + invoke-direct {v0}, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;->()V + + iput-object v0, p0, Lcom/android/systemui/shared/recents/model/Task;->lastSnapshotData:Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + .line 5 + iput-object p1, p0, Lcom/android/systemui/shared/recents/model/Task;->key:Lcom/android/systemui/shared/recents/model/Task$TaskKey; + + .line 6 + new-instance p1, Landroid/app/ActivityManager$TaskDescription; + + invoke-direct {p1}, Landroid/app/ActivityManager$TaskDescription;->()V + + iput-object p1, p0, Lcom/android/systemui/shared/recents/model/Task;->taskDescription:Landroid/app/ActivityManager$TaskDescription; + + return-void +.end method + +.method public constructor (Lcom/android/systemui/shared/recents/model/Task$TaskKey;IIZZLandroid/app/ActivityManager$TaskDescription;Landroid/content/ComponentName;)V + .locals 1 + .annotation runtime Ljava/lang/Deprecated; + .end annotation + + .line 9 + invoke-direct {p0}, Ljava/lang/Object;->()V + + .line 10 + new-instance v0, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + invoke-direct {v0}, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;->()V + + iput-object v0, p0, Lcom/android/systemui/shared/recents/model/Task;->lastSnapshotData:Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + .line 11 + iput-object p1, p0, Lcom/android/systemui/shared/recents/model/Task;->key:Lcom/android/systemui/shared/recents/model/Task$TaskKey; + + .line 12 + iput p2, p0, Lcom/android/systemui/shared/recents/model/Task;->colorPrimary:I + + .line 13 + iput p3, p0, Lcom/android/systemui/shared/recents/model/Task;->colorBackground:I + + .line 14 + iput-object p6, p0, Lcom/android/systemui/shared/recents/model/Task;->taskDescription:Landroid/app/ActivityManager$TaskDescription; + + .line 15 + iput-boolean p4, p0, Lcom/android/systemui/shared/recents/model/Task;->isDockable:Z + + .line 16 + iput-boolean p5, p0, Lcom/android/systemui/shared/recents/model/Task;->isLocked:Z + + .line 17 + iput-object p7, p0, Lcom/android/systemui/shared/recents/model/Task;->topActivity:Landroid/content/ComponentName; + + return-void +.end method + +.method public constructor (Lcom/android/systemui/shared/recents/model/Task;)V + .locals 8 + + .line 7 + iget-object v1, p1, Lcom/android/systemui/shared/recents/model/Task;->key:Lcom/android/systemui/shared/recents/model/Task$TaskKey; + + iget v2, p1, Lcom/android/systemui/shared/recents/model/Task;->colorPrimary:I + + iget v3, p1, Lcom/android/systemui/shared/recents/model/Task;->colorBackground:I + + iget-boolean v4, p1, Lcom/android/systemui/shared/recents/model/Task;->isDockable:Z + + iget-boolean v5, p1, Lcom/android/systemui/shared/recents/model/Task;->isLocked:Z + + iget-object v6, p1, Lcom/android/systemui/shared/recents/model/Task;->taskDescription:Landroid/app/ActivityManager$TaskDescription; + + iget-object v7, p1, Lcom/android/systemui/shared/recents/model/Task;->topActivity:Landroid/content/ComponentName; + + move-object v0, p0 + + invoke-direct/range {v0 .. v7}, Lcom/android/systemui/shared/recents/model/Task;->(Lcom/android/systemui/shared/recents/model/Task$TaskKey;IIZZLandroid/app/ActivityManager$TaskDescription;Landroid/content/ComponentName;)V + + .line 8 + iget-object p0, p0, Lcom/android/systemui/shared/recents/model/Task;->lastSnapshotData:Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + iget-object p1, p1, Lcom/android/systemui/shared/recents/model/Task;->lastSnapshotData:Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + invoke-virtual {p0, p1}, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;->set(Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;)V + + return-void +.end method + +.method public static from(Lcom/android/systemui/shared/recents/model/Task$TaskKey;Landroid/app/TaskInfo;Z)Lcom/android/systemui/shared/recents/model/Task; + .locals 9 + + iget-object v6, p1, Landroid/app/TaskInfo;->taskDescription:Landroid/app/ActivityManager$TaskDescription; + + new-instance v8, Lcom/android/systemui/shared/recents/model/Task; + + const/4 v0, 0x0 + + if-eqz v6, :cond_0 + + invoke-virtual {v6}, Landroid/app/ActivityManager$TaskDescription;->getPrimaryColor()I + + move-result v1 + + move v2, v1 + + goto :goto_0 + + :cond_0 + move v2, v0 + + :goto_0 + if-eqz v6, :cond_1 + + invoke-virtual {v6}, Landroid/app/ActivityManager$TaskDescription;->getBackgroundColor()I + + move-result v0 + + :cond_1 + move v3, v0 + + iget-boolean v4, p1, Landroid/app/TaskInfo;->supportsSplitScreenMultiWindow:Z + + iget-object v7, p1, Landroid/app/TaskInfo;->topActivity:Landroid/content/ComponentName; + + move-object v0, v8 + + move-object v1, p0 + + move v5, p2 + + invoke-direct/range {v0 .. v7}, Lcom/android/systemui/shared/recents/model/Task;->(Lcom/android/systemui/shared/recents/model/Task$TaskKey;IIZZLandroid/app/ActivityManager$TaskDescription;Landroid/content/ComponentName;)V + + return-object v8 +.end method + + +# virtual methods +.method public dump(Ljava/lang/String;Ljava/io/PrintWriter;)V + .locals 0 + + invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + + iget-object p1, p0, Lcom/android/systemui/shared/recents/model/Task;->key:Lcom/android/systemui/shared/recents/model/Task$TaskKey; + + invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/Object;)V + + iget-boolean p1, p0, Lcom/android/systemui/shared/recents/model/Task;->isDockable:Z + + if-nez p1, :cond_0 + + const-string p1, " dockable=N" + + invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + + :cond_0 + iget-boolean p1, p0, Lcom/android/systemui/shared/recents/model/Task;->isLocked:Z + + if-eqz p1, :cond_1 + + const-string p1, " locked=Y" + + invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + + :cond_1 + const-string p1, " " + + invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + + iget-object p0, p0, Lcom/android/systemui/shared/recents/model/Task;->title:Ljava/lang/String; + + invoke-virtual {p2, p0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V + + invoke-virtual {p2}, Ljava/io/PrintWriter;->println()V + + return-void +.end method + +.method public equals(Ljava/lang/Object;)Z + .locals 0 + + check-cast p1, Lcom/android/systemui/shared/recents/model/Task; + + iget-object p0, p0, Lcom/android/systemui/shared/recents/model/Task;->key:Lcom/android/systemui/shared/recents/model/Task$TaskKey; + + iget-object p1, p1, Lcom/android/systemui/shared/recents/model/Task;->key:Lcom/android/systemui/shared/recents/model/Task$TaskKey; + + invoke-virtual {p0, p1}, Lcom/android/systemui/shared/recents/model/Task$TaskKey;->equals(Ljava/lang/Object;)Z + + move-result p0 + + return p0 +.end method + +.method public getTopComponent()Landroid/content/ComponentName; + .locals 1 + + iget-object v0, p0, Lcom/android/systemui/shared/recents/model/Task;->topActivity:Landroid/content/ComponentName; + + if-eqz v0, :cond_0 + + goto :goto_0 + + :cond_0 + iget-object p0, p0, Lcom/android/systemui/shared/recents/model/Task;->key:Lcom/android/systemui/shared/recents/model/Task$TaskKey; + + iget-object p0, p0, Lcom/android/systemui/shared/recents/model/Task$TaskKey;->baseIntent:Landroid/content/Intent; + + invoke-virtual {p0}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName; + + move-result-object v0 + + :goto_0 + return-object v0 +.end method + +.method public getVisibleThumbnailRatio(Z)F + .locals 3 + + iget-object p0, p0, Lcom/android/systemui/shared/recents/model/Task;->lastSnapshotData:Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + iget-object v0, p0, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;->taskSize:Landroid/graphics/Point; + + if-eqz v0, :cond_2 + + iget-object p0, p0, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;->contentInsets:Landroid/graphics/Rect; + + if-nez p0, :cond_0 + + goto :goto_0 + + :cond_0 + iget v1, v0, Landroid/graphics/Point;->x:I + + int-to-float v1, v1 + + iget v0, v0, Landroid/graphics/Point;->y:I + + int-to-float v0, v0 + + if-eqz p1, :cond_1 + + iget p1, p0, Landroid/graphics/Rect;->left:I + + iget v2, p0, Landroid/graphics/Rect;->right:I + + add-int/2addr p1, v2 + + int-to-float p1, p1 + + sub-float/2addr v1, p1 + + iget p1, p0, Landroid/graphics/Rect;->top:I + + iget p0, p0, Landroid/graphics/Rect;->bottom:I + + add-int/2addr p1, p0 + + int-to-float p0, p1 + + sub-float/2addr v0, p0 + + :cond_1 + div-float/2addr v1, v0 + + return v1 + + :cond_2 + :goto_0 + const/4 p0, 0x0 + + return p0 +.end method + +.method public setLastSnapshotData(Landroid/app/ActivityManager$RecentTaskInfo;)V + .locals 0 + + iget-object p0, p0, Lcom/android/systemui/shared/recents/model/Task;->lastSnapshotData:Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + iget-object p1, p1, Landroid/app/ActivityManager$RecentTaskInfo;->lastSnapshotData:Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData; + + invoke-virtual {p0, p1}, Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;->set(Landroid/app/ActivityManager$RecentTaskInfo$PersistedTaskSnapshotData;)V + + return-void +.end method + +.method public toString()Ljava/lang/String; + .locals 2 + + new-instance v0, Ljava/lang/StringBuilder; + + invoke-direct {v0}, Ljava/lang/StringBuilder;->()V + + const-string v1, "[" + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object v1, p0, Lcom/android/systemui/shared/recents/model/Task;->key:Lcom/android/systemui/shared/recents/model/Task$TaskKey; + + invoke-virtual {v1}, Lcom/android/systemui/shared/recents/model/Task$TaskKey;->toString()Ljava/lang/String; + + move-result-object v1 + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v1, "] " + + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + iget-object p0, p0, Lcom/android/systemui/shared/recents/model/Task;->title:Ljava/lang/String; + + invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p0 + + return-object p0 +.end method