Skip to content

Instantly share code, notes, and snippets.

@thedeadfish59
Created November 4, 2016 21:49
Show Gist options
  • Select an option

  • Save thedeadfish59/506042f6e9f9fc4e10dadcd47d467e1e to your computer and use it in GitHub Desktop.

Select an option

Save thedeadfish59/506042f6e9f9fc4e10dadcd47d467e1e to your computer and use it in GitHub Desktop.
Phonestatusbar36.smali fix it someone
.class Lcom/android/systemui/statusbar/phone/PhoneStatusBar$36;
.super Ljava/lang/Object;
.source "PhoneStatusBar.java"
# interfaces
.implements Landroid/view/View$OnClickListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/systemui/statusbar/phone/PhoneStatusBar;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/android/systemui/statusbar/phone/PhoneStatusBar;
# direct methods
.method constructor <init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V
.locals 0
.prologue
.line 3152
iput-object p1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$36;->this$0:Lcom/android/systemui/statusbar/phone/PhoneStatusBar;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public onClick(Landroid/view/View;)V
.locals 25
.param p1, "v" # Landroid/view/View;
.prologue
.line 3154
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$36;->this$0:Lcom/android/systemui/statusbar/phone/PhoneStatusBar;
move-object/from16 v20, v0
# getter for: Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNotificationData:Lcom/android/systemui/statusbar/NotificationData;
invoke-static/range {v20 .. v20}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->access$5400(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)Lcom/android/systemui/statusbar/NotificationData;
move-result-object v21
monitor-enter v21
.line 3156
:try_start_0
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$36;->this$0:Lcom/android/systemui/statusbar/phone/PhoneStatusBar;
move-object/from16 v20, v0
# getter for: Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPile:Lcom/android/systemui/statusbar/policy/NotificationRowLayout;
invoke-static/range {v20 .. v20}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->access$5500(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)Lcom/android/systemui/statusbar/policy/NotificationRowLayout;
move-result-object v20
invoke-virtual/range {v20 .. v20}, Lcom/android/systemui/statusbar/policy/NotificationRowLayout;->getChildCount()I
move-result v12
.line 3158
.local v12, "numChildren":I
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$36;->this$0:Lcom/android/systemui/statusbar/phone/PhoneStatusBar;
move-object/from16 v20, v0
move-object/from16 v0, v20
iget-object v0, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mScrollView:Landroid/widget/ScrollView;
move-object/from16 v20, v0
invoke-virtual/range {v20 .. v20}, Landroid/widget/ScrollView;->getScrollY()I
move-result v15
.line 3159
.local v15, "scrollTop":I
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$36;->this$0:Lcom/android/systemui/statusbar/phone/PhoneStatusBar;
move-object/from16 v20, v0
move-object/from16 v0, v20
iget-object v0, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mScrollView:Landroid/widget/ScrollView;
move-object/from16 v20, v0
invoke-virtual/range {v20 .. v20}, Landroid/widget/ScrollView;->getHeight()I
move-result v20
add-int v14, v15, v20
.line 3160
.local v14, "scrollBottom":I
new-instance v16, Ljava/util/ArrayList;
move-object/from16 v0, v16
invoke-direct {v0, v12}, Ljava/util/ArrayList;-><init>(I)V
.line 3161
.local v16, "snapshot":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Landroid/view/View;>;"
const/4 v9, 0x0
.local v9, "i":I
:goto_0
if-ge v9, v12, :cond_1
.line 3162
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$36;->this$0:Lcom/android/systemui/statusbar/phone/PhoneStatusBar;
move-object/from16 v20, v0
# getter for: Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPile:Lcom/android/systemui/statusbar/policy/NotificationRowLayout;
invoke-static/range {v20 .. v20}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->access$5600(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)Lcom/android/systemui/statusbar/policy/NotificationRowLayout;
move-result-object v20
move-object/from16 v0, v20
invoke-virtual {v0, v9}, Lcom/android/systemui/statusbar/policy/NotificationRowLayout;->getChildAt(I)Landroid/view/View;
move-result-object v6
.line 3163
.local v6, "child":Landroid/view/View;
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$36;->this$0:Lcom/android/systemui/statusbar/phone/PhoneStatusBar;
move-object/from16 v20, v0
# getter for: Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPile:Lcom/android/systemui/statusbar/policy/NotificationRowLayout;
invoke-static/range {v20 .. v20}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->access$5700(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)Lcom/android/systemui/statusbar/policy/NotificationRowLayout;
move-result-object v20
move-object/from16 v0, v20
invoke-virtual {v0, v6}, Lcom/android/systemui/statusbar/policy/NotificationRowLayout;->canChildBeDismissed(Landroid/view/View;)Z
move-result v20
if-eqz v20, :cond_0
invoke-virtual {v6}, Landroid/view/View;->getBottom()I
move-result v20
move/from16 v0, v20
if-le v0, v15, :cond_0
invoke-virtual {v6}, Landroid/view/View;->getTop()I
move-result v20
move/from16 v0, v20
if-ge v0, v14, :cond_0
.line 3165
move-object/from16 v0, v16
invoke-virtual {v0, v6}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 3161
:cond_0
add-int/lit8 v9, v9, 0x1
goto :goto_0
.line 3169
.end local v6 # "child":Landroid/view/View;
:cond_1
invoke-virtual/range {v16 .. v16}, Ljava/util/ArrayList;->isEmpty()Z
move-result v20
if-eqz v20, :cond_2
.line 3170
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$36;->this$0:Lcom/android/systemui/statusbar/phone/PhoneStatusBar;
move-object/from16 v20, v0
const/16 v22, 0x1
move-object/from16 v0, v20
move/from16 v1, v22
# invokes: Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->maybeCollapseAfterNotificationRemoval(Z)V
invoke-static {v0, v1}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->access$5800(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;Z)V
.line 3171
monitor-exit v21
.line 3204
:goto_1
return-void
.line 3176
:cond_2
const/16 v4, 0xa
.line 3177
.local v4, "ROW_DELAY_DECREMENT":I
const/16 v7, 0x8c
.line 3178
.local v7, "currentDelay":I
const/16 v17, 0x0
.line 3182
.local v17, "totalDelay":I
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$36;->this$0:Lcom/android/systemui/statusbar/phone/PhoneStatusBar;
move-object/from16 v20, v0
# getter for: Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPile:Lcom/android/systemui/statusbar/policy/NotificationRowLayout;
invoke-static/range {v20 .. v20}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->access$5900(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)Lcom/android/systemui/statusbar/policy/NotificationRowLayout;
move-result-object v20
const/16 v22, 0x0
move-object/from16 v0, v20
move/from16 v1, v22
invoke-virtual {v0, v1}, Lcom/android/systemui/statusbar/policy/NotificationRowLayout;->setViewRemoval(Z)V
.line 3184
const/16 v20, 0x0
move-object/from16 v0, v16
move/from16 v1, v20
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v13
check-cast v13, Landroid/view/View;
.line 3185
.local v13, "sampleView":Landroid/view/View;
invoke-virtual {v13}, Landroid/view/View;->getWidth()I
move-result v19
.line 3186
.local v19, "width":I
invoke-virtual {v13}, Landroid/view/View;->isLayoutRtl()Z
move-result v20
if-eqz v20, :cond_3
const/4 v8, -0x1
.line 3187
.local v8, "dir":I
:goto_2
mul-int v20, v8, v19
mul-int/lit8 v18, v20, 0x8
.line 3188
.local v18, "velocity":I
invoke-virtual/range {v16 .. v16}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v10
.local v10, "i$":Ljava/util/Iterator;
:goto_3
invoke-interface {v10}, Ljava/util/Iterator;->hasNext()Z
move-result v20
if-eqz v20, :cond_4
invoke-interface {v10}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Landroid/view/View;
.line 3189
.local v5, "_v":Landroid/view/View;
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$36;->this$0:Lcom/android/systemui/statusbar/phone/PhoneStatusBar;
move-object/from16 v20, v0
# getter for: Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mHandler:Lcom/android/systemui/statusbar/BaseStatusBar$H;
invoke-static/range {v20 .. v20}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->access$6100(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)Lcom/android/systemui/statusbar/BaseStatusBar$H;
move-result-object v20
new-instance v22, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$36$1;
move-object/from16 v0, v22
move-object/from16 v1, p0
move/from16 v2, v18
invoke-direct {v0, v1, v5, v2}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$36$1;-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar$36;Landroid/view/View;I)V
move/from16 v0, v17
int-to-long v0, v0
move-wide/from16 v23, v0
move-object/from16 v0, v20
move-object/from16 v1, v22
move-wide/from16 v2, v23
invoke-virtual {v0, v1, v2, v3}, Lcom/android/systemui/statusbar/BaseStatusBar$H;->postDelayed(Ljava/lang/Runnable;J)Z
.line 3195
const/16 v20, 0x32
add-int/lit8 v22, v7, -0xa
move/from16 v0, v20
move/from16 v1, v22
invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I
move-result v7
.line 3196
add-int v17, v17, v7
.line 3197
goto :goto_3
.line 3186
.end local v5 # "_v":Landroid/view/View;
.end local v8 # "dir":I
.end local v10 # "i$":Ljava/util/Iterator;
.end local v18 # "velocity":I
:cond_3
const/4 v8, 0x1
goto :goto_2
.line 3201
.restart local v8 # "dir":I
.restart local v10 # "i$":Ljava/util/Iterator;
.restart local v18 # "velocity":I
:cond_4
invoke-virtual/range {v16 .. v16}, Ljava/util/ArrayList;->size()I
move-result v20
add-int/lit8 v20, v20, -0x1
move-object/from16 v0, v16
move/from16 v1, v20
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v11
check-cast v11, Landroid/view/View;
.line 3202
.local v11, "lastEntry":Landroid/view/View;
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$36;->this$0:Lcom/android/systemui/statusbar/phone/PhoneStatusBar;
move-object/from16 v20, v0
# getter for: Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPile:Lcom/android/systemui/statusbar/policy/NotificationRowLayout;
invoke-static/range {v20 .. v20}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->access$6300(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)Lcom/android/systemui/statusbar/policy/NotificationRowLayout;
move-result-object v20
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$36;->this$0:Lcom/android/systemui/statusbar/phone/PhoneStatusBar;
move-object/from16 v22, v0
# getter for: Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNotifyClearAll:Ljava/lang/Runnable;
invoke-static/range {v22 .. v22}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->access$6200(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)Ljava/lang/Runnable;
move-result-object v22
move-object/from16 v0, v20
move-object/from16 v1, v22
invoke-virtual {v0, v11, v1}, Lcom/android/systemui/statusbar/policy/NotificationRowLayout;->runOnDismiss(Landroid/view/View;Ljava/lang/Runnable;)V
.line 3203
monitor-exit v21
goto/16 :goto_1
.end local v4 # "ROW_DELAY_DECREMENT":I
.end local v7 # "currentDelay":I
.end local v8 # "dir":I
.end local v9 # "i":I
.end local v10 # "i$":Ljava/util/Iterator;
.end local v11 # "lastEntry":Landroid/view/View;
.end local v12 # "numChildren":I
.end local v13 # "sampleView":Landroid/view/View;
.end local v14 # "scrollBottom":I
.end local v15 # "scrollTop":I
.end local v16 # "snapshot":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Landroid/view/View;>;"
.end local v17 # "totalDelay":I
.end local v18 # "velocity":I
.end local v19 # "width":I
:catchall_0
move-exception v20
monitor-exit v21
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v20
.end method
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment