We are looking for a method
onTouchEvent (Landroid / view / MotionEvent;) Z .
Again, we see it these 5 switches:
: pswitch_1 ,
: pswitch_2 ,
: pswitch_3 ,
: pswitch_4 ,
: pswitch_5 go to
: pswitch_1 and we see where the code like this:
If you do not do the 1st part of the "Creation" series:
: pswitch_1
invoke-static {}, Landroid / view / VelocityTracker; ->obtain () Landroid / view / VelocityTracker;
move-result-object v2
iput-object v2, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mVelocityTracker: Landroid / view / VelocityTracker;
.line 156
iget-object v2, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mVelocityTracker: Landroid / view / VelocityTracker;
invoke-virtual {v2, p1}, Landroid / view / VelocityTracker; ->addMovement (Landroid / view / MotionEvent;) V
.line 157
iput-boolean v6, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mHasTouchedBelowPeekHeight: Z
.line 158
iput v6, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mPeekIgnoreActionMove: I
.line 160
invoke-virtual {p1}, Landroid / view / MotionEvent; ->getY () F
move-result v2
iget v3, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mPeekHeight: I
int-to-float v3, v3
cmpg-float v2, v2, v3
if-gez v2,: cond_0
.line 165
const-string v2, "tab_notifications"
invoke-direct {p0, v2, v6}, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->setCurrentTab (Ljava / lang / String; Z) V
goto: goto_0
If, on the other hand, do the 1st part of the series:
: pswitch_1
invoke-static {}, Landroid / view / VelocityTracker; ->obtain () Landroid / view / VelocityTracker;
move-result-object v2
iput-object v2, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mVelocityTracker: Landroid / view / VelocityTracker;
.line 156
iget-object v2, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mVelocityTracker: Landroid / view / VelocityTracker;
invoke-virtual {v2, p1}, Landroid / view / VelocityTracker; ->addMovement (Landroid / view / MotionEvent;) V
.line 157
iput-boolean v6, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mHasTouchedBelowPeekHeight: Z
.line 158
iput v6, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mPeekIgnoreActionMove: I
.line 160
invoke-virtual {p1}, Landroid / view / MotionEvent; ->getY () F
move-result v2
iget v3, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mPeekHeight: I
int-to-float v3, v3
cmpg-float v2, v2, v3
if-gez v2,: cond_0
invoke-virtual {p0}, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->FFgetLeftRightKey () I
move-result v2
if-eqz v2,: cond_aa
invoke-virtual {p1}, Landroid / view / MotionEvent; ->getX () F
move-result v2
invoke-direct {p0, v2}, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->getTabTag (F) Ljava / lang / String;
move-result-object v2
invoke-direct {p0, v2, v6}, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->setCurrentTab (Ljava / lang / String; Z) V
goto: goto_0
: cond_aa
.line 165
const-string v2, "tab_notifications"
invoke-direct {p0, v2, v6}, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->setCurrentTab (Ljava / lang / String; Z) V
goto: goto_0
Add the new code, you get this (changes in bold):
If you do not do the 1st part of the "Creation" series:
: pswitch_1
invoke-static {}, Landroid / view / VelocityTracker; ->obtain () Landroid / view / VelocityTracker;
move-result-object v2
iput-object v2, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mVelocityTracker: Landroid / view / VelocityTracker;
.line 156
iget-object v2, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mVelocityTracker: Landroid / view / VelocityTracker;
invoke-virtual {v2, p1}, Landroid / view / VelocityTracker; ->addMovement (Landroid / view / MotionEvent;) V
.line 157
iput-boolean v6, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mHasTouchedBelowPeekHeight: Z
.line 158
iput v6, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mPeekIgnoreActionMove: I
.line 160
invoke-virtual {p1}, Landroid / view / MotionEvent; ->getY () F
move-result v2
iget v3, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mPeekHeight: I
int-to-float v3, v3
cmpg-float v2, v2, v3
# If-gez v2,: cond_0
if-gez v2,: cond_cc
.line 165
const-string v2, "tab_notifications"
invoke-direct {p0, v2, v6}, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->setCurrentTab (Ljava / lang / String; Z) V
goto: goto_0
: cond_cc
invoke-virtual {p0}, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->FFsetTouchDelayed () V
goto: goto_0
If you do the 1st part:
: pswitch_1
invoke-static {}, Landroid / view / VelocityTracker; ->obtain () Landroid / view / VelocityTracker;
move-result-object v2
iput-object v2, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mVelocityTracker: Landroid / view / VelocityTracker;
.line 156
iget-object v2, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mVelocityTracker: Landroid / view / VelocityTracker;
invoke-virtual {v2, p1}, Landroid / view / VelocityTracker; ->addMovement (Landroid / view / MotionEvent;) V
.line 157
iput-boolean v6, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mHasTouchedBelowPeekHeight: Z
.line 158
iput v6, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mPeekIgnoreActionMove: I
.line 160
invoke-virtual {p1}, Landroid / view / MotionEvent; ->getY () F
move-result v2
iget v3, p0, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->mPeekHeight: I
int-to-float v3, v3
cmpg-float v2, v2, v3
# If-gez v2,: cond_0
if-gez v2,: cond_cc
invoke-virtual {p0}, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->FFgetLeftRightKey () I
move-result v2
if-eqz v2,: cond_aa
invoke-virtual {p1}, Landroid / view / MotionEvent; ->getX () F
move-result v2
invoke-direct {p0, v2}, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->getTabTag (F) Ljava / lang / String;
move-result-object v2
invoke-direct {p0, v2, v6}, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->setCurrentTab (Ljava / lang / String; Z) V
goto: goto_0
: cond_aa
.line 165
const-string v2, "tab_notifications"
invoke-direct {p0, v2, v6}, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->setCurrentTab (Ljava / lang / String; Z) V
goto: goto_0
: cond_cc
invoke-virtual {p0}, Lcom / sonymobile / systemui / statusbar / tools / SomcTabsNotificationPanelView; ->FFsetTouchDelayed () V
goto: goto_0