
Quote:
|
We need: Resources: A notepad: e.g. Notepad++ APKTOOL Simple Guide to use SystemUI.apk + = Add or Replace - = Remove or to be removed |
DECOMPILE THE SystemUI.apk!
FIRST: ADD RESOURCES (.png and xml) but not smalis!!! we will add later!!!
![]()
FIRST: ADD RESOURCES (.png and xml) but not smalis!!! we will add later!!!
Quote:
|
+ ic_recents_clear.xml -----> SystemUI\res\drawable + ic_recents_clear_normal.png|ic_recents_clear_press ed.png -----> SystemUI\res\drawable-yourRES |
Quote:
|
SystemUI/res/layout/status_bar_recent_panel.xml |
Code:
<LinearLayout android:orientation="vertical" android:id="@id/recents_linear_layout" android:fitsSystemWindows="true" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</com.android.systemui.recent.RecentsVerticalScrollView>
+ <ImageView android:layout_gravity="bottom|left" android:id="@id/recents_clear" android:clickable="true" android:layout_width="50.0dip" android:layout_height="50.0dip" android:src="@drawable/ic_recents_clear" android:scaleType="center" />
</FrameLayout>Quote:
|
SystemUI/res/layout-land/status_bar_recent_panel.xml |
Code:
<LinearLayout android:layout_gravity="left" android:orientation="horizontal" android:id="@id/recents_linear_layout" android:fitsSystemWindows="true" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layoutDirection="ltr" />
</com.android.systemui.recent.RecentsHorizontalScrollView>
+ <ImageView android:layout_gravity="bottom|left" android:id="@id/recents_clear" android:clickable="true" android:layout_width="50.0dip" android:layout_height="50.0dip" android:src="@drawable/ic_recents_clear" android:scaleType="center" />
</FrameLayout>Change (examples)
Bottom-Right
Code:
android:layout_gravity="bottom|right"Code:
android:layout_gravity="top|right"Quote:
|
SystemUI\res\values\ids.xml |
Code:
+ <item type="id" name="recents_clear">false</item>
Quote:
|
SystemUI/smali/com/android/systemui/recent/RecentsHorizontalScrollView.smali |
Code:
<-------------------------------SEARCH FOR IT -------------------------->
invoke-super {p0, p1}, Landroid/widget/HorizontalScrollView;->onTouchEvent(Landroid/view/MotionEvent;)Z
move-result v0
if-eqz v0, :cond_1
:cond_0
const/4 v0, 0x1
:goto_0
return v0
:cond_1
const/4 v0, 0x0
goto :goto_0
.end method
.method public removeAllViewsInLayout()V
.locals 8
.prologue
.line 184
iget-object v5, p0, Lcom/android/systemui/recent/RecentsHorizontalScrollView;->mLinearLayout:Landroid/widget/LinearLayout;
invoke-virtual {v5}, Landroid/widget/LinearLayout;->getChildCount()I
move-result v1
.line 185
.local v1, count:I
invoke-virtual {p0}, Lcom/android/systemui/recent/RecentsHorizontalScrollView;->getScrollX()I
move-result v4
.line 187
.local v4, scrollX:I
const/4 v3, 0x0
.local v3, i:I
const/4 v2, 0x0
.local v2, delayCounter:I
:goto_0
if-ge v3, v1, :cond_1
.line 189
iget-object v5, p0, Lcom/android/systemui/recent/RecentsHorizontalScrollView;->mLinearLayout:Landroid/widget/LinearLayout;
invoke-virtual {v5, v3}, Landroid/widget/LinearLayout;->getChildAt(I)Landroid/view/View;
move-result-object v0
.line 190
.local v0, child:Landroid/view/View;
invoke-virtual {v0}, Landroid/view/View;->getRight()I
move-result v5
if-le v5, v4, :cond_0
.line 191
add-int/lit8 v2, v2, 0x1
.line 192
:cond_0
new-instance v5, Lcom/android/systemui/recent/RecentsHorizontalScrollView$6;
invoke-direct {v5, p0, v0}, Lcom/android/systemui/recent/RecentsHorizontalScrollView$6;-><init>(Lcom/android/systemui/recent/RecentsHorizontalScrollView;Landroid/view/View;)V
mul-int/lit16 v6, v2, 0x96
int-to-long v6, v6
invoke-virtual {p0, v5, v6, v7}, Lcom/android/systemui/recent/RecentsHorizontalScrollView;->postDelayed(Ljava/lang/Runnable;J)Z
.line 194
add-int/lit8 v3, v3, 0x1
goto :goto_0
.line 195
.end local v0 #child:Landroid/view/View;
:cond_1
return-void
.end method
<-------------------------------SEARCH FOR IT -------------------------->
.method public removeViewInLayout(Landroid/view/View;)V
.locals 0
.parameter "view"
.prologue
.line 177
invoke-virtual {p0, p1}, Lcom/android/systemui/recent/RecentsHorizontalScrollView;->dismissChild(Landroid/view/View;)VQuote:
|
/SystemUI/smali/com/android/systemui/recent/RecentsVerticalScrollView.smali |
Code:
<-------------------------------SEARCH FOR IT -------------------------->
invoke-super {p0, p1}, Landroid/widget/ScrollView;->onTouchEvent(Landroid/view/MotionEvent;)Z
move-result v0
if-eqz v0, :cond_1
:cond_0
const/4 v0, 0x1
:goto_0
return v0
:cond_1
const/4 v0, 0x0
goto :goto_0
.end method
.method public removeAllViewsInLayout()V
.locals 8
.prologue
.line 191
iget-object v5, p0, Lcom/android/systemui/recent/RecentsVerticalScrollView;->mLinearLayout:Landroid/widget/LinearLayout;
invoke-virtual {v5}, Landroid/widget/LinearLayout;->getChildCount()I
move-result v1
.line 192
.local v1, count:I
invoke-virtual {p0}, Lcom/android/systemui/recent/RecentsVerticalScrollView;->getScrollY()I
move-result v4
.line 193
.local v4, scrollY:I
const/4 v3, 0x0
.local v3, i:I
const/4 v2, 0x0
.local v2, delayCounter:I
:goto_0
if-ge v3, v1, :cond_1
.line 194
iget-object v5, p0, Lcom/android/systemui/recent/RecentsVerticalScrollView;->mLinearLayout:Landroid/widget/LinearLayout;
invoke-virtual {v5, v3}, Landroid/widget/LinearLayout;->getChildAt(I)Landroid/view/View;
move-result-object v0
.line 195
.local v0, child:Landroid/view/View;
invoke-virtual {v0}, Landroid/view/View;->getBottom()I
move-result v5
if-le v5, v4, :cond_0
.line 197
add-int/lit8 v2, v2, 0x1
.line 198
:cond_0
new-instance v5, Lcom/android/systemui/recent/RecentsVerticalScrollView$6;
invoke-direct {v5, p0, v0}, Lcom/android/systemui/recent/RecentsVerticalScrollView$6;-><init>(Lcom/android/systemui/recent/RecentsVerticalScrollView;Landroid/view/View;)V
mul-int/lit16 v6, v2, 0x96
int-to-long v6, v6
invoke-virtual {p0, v5, v6, v7}, Lcom/android/systemui/recent/RecentsVerticalScrollView;->postDelayed(Ljava/lang/Runnable;J)Z
.line 193
add-int/lit8 v3, v3, 0x1
goto :goto_0
.line 207
.end local v0 #child:Landroid/view/View;
:cond_1
return-void
.end method
<-------------------------------SEARCH FOR IT -------------------------->
.method public removeViewInLayout(Landroid/view/View;)V
.locals 0
.parameter "view"
.prologue
.line 185Quote:
|
SystemUI/smali/com/android/systemui/recent/RecentsPanelView.smali |
Code:
.field private mCallUiHiddenBeforeNextReload:Z
+ .field private mClearRecents:Landroid/widget/ImageView;
.field private mFitThumbnailToXY:ZQuote:
|
SEARCH FOR |
Code:
.method private showImpl(Z)VQuote:
|
Replace with: |
Code:
.method private showImpl(Z)V
.locals 9
.parameter "show"
.prologue
const/16 v7, 0x8
const/4 v5, 0x0
const/4 v4, 0x1
.line 337
iget-object v6, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
const-string v8, "recentapps"
invoke-static {v6, v8}, Lcom/android/systemui/recent/RecentsPanelView;->sendCloseSystemWindows(Landroid/content/Context;Ljava/lang/String;)V
.line 339
iput-boolean p1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mShowing:Z
.line 341
if-eqz p1, :cond_6
.line 343
iget-object v6, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentTaskDescriptions:Ljava/util/ArrayList;
if-eqz v6, :cond_2
iget-object v6, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentTaskDescriptions:Ljava/util/ArrayList;
invoke-virtual {v6}, Ljava/util/ArrayList;->size()I
move-result v6
if-nez v6, :cond_2
move v2, v4
.line 345
.local v2, noApps:Z
:goto_0
iget-object v6, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentsNoApps:Landroid/view/View;
const/high16 v8, 0x3f80
invoke-virtual {v6, v8}, Landroid/view/View;->setAlpha(F)V
.line 346
iget-object v8, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentsNoApps:Landroid/view/View;
if-eqz v2, :cond_3
move v6, v5
:goto_1
invoke-virtual {v8, v6}, Landroid/view/View;->setVisibility(I)V
.line 348
iget-object v6, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
invoke-virtual {v6}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v6
const-string v8, "clear_recents_button"
invoke-static {v6, v8, v4}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v6
if-ne v6, v4, :cond_4
move v3, v4
.line 350
.local v3, showClearAllButton:Z
:goto_2
if-eqz v3, :cond_5
.line 351
iget-object v6, p0, Lcom/android/systemui/recent/RecentsPanelView;->mClearRecents:Landroid/widget/ImageView;
if-eqz v2, :cond_0
move v5, v7
:cond_0
invoke-virtual {v6, v5}, Landroid/widget/ImageView;->setVisibility(I)V
.line 352
iget-object v5, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
invoke-virtual {v5}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v5
const-string v6, "clear_recents_button_location"
const/4 v7, 0x2
invoke-static {v5, v6, v7}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
.line 353
.local v0, clearAllButtonLocation:I
iget-object v5, p0, Lcom/android/systemui/recent/RecentsPanelView;->mClearRecents:Landroid/widget/ImageView;
invoke-virtual {v5}, Landroid/widget/ImageView;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v1
check-cast v1, Landroid/widget/FrameLayout$LayoutParams;
.line 354
.local v1, layoutParams:Landroid/widget/FrameLayout$LayoutParams;
packed-switch v0, :pswitch_data_0
.line 366
:pswitch_0
const/16 v5, 0x53
iput v5, v1, Landroid/widget/FrameLayout$LayoutParams;->gravity:I
.line 369
:goto_3
iget-object v5, p0, Lcom/android/systemui/recent/RecentsPanelView;->mClearRecents:Landroid/widget/ImageView;
invoke-virtual {v5, v1}, Landroid/widget/ImageView;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
.line 374
.end local v0 #clearAllButtonLocation:I
.end local v1 #layoutParams:Landroid/widget/FrameLayout$LayoutParams;
:goto_4
const/4 v5, 0x0
invoke-virtual {p0, v5}, Lcom/android/systemui/recent/RecentsPanelView;->onAnimationEnd(Landroid/animation/Animator;)V
.line 375
invoke-virtual {p0, v4}, Lcom/android/systemui/recent/RecentsPanelView;->setFocusable(Z)V
.line 376
invoke-virtual {p0, v4}, Lcom/android/systemui/recent/RecentsPanelView;->setFocusableInTouchMode(Z)V
.line 377
invoke-virtual {p0}, Lcom/android/systemui/recent/RecentsPanelView;->requestFocus()Z
.line 386
.end local v2 #noApps:Z
.end local v3 #showClearAllButton:Z
:cond_1
:goto_5
return-void
:cond_2
move v2, v5
.line 343
goto :goto_0
.line 346
.restart local v2 #noApps:Z
:cond_3
const/4 v6, 0x4
goto :goto_1
:cond_4
move v3, v5
.line 348
goto :goto_2
.line 356
.restart local v0 #clearAllButtonLocation:I
.restart local v1 #layoutParams:Landroid/widget/FrameLayout$LayoutParams;
.restart local v3 #showClearAllButton:Z
:pswitch_1
const/16 v5, 0x33
iput v5, v1, Landroid/widget/FrameLayout$LayoutParams;->gravity:I
goto :goto_3
.line 359
:pswitch_2
const/16 v5, 0x35
iput v5, v1, Landroid/widget/FrameLayout$LayoutParams;->gravity:I
goto :goto_3
.line 362
:pswitch_3
const/16 v5, 0x55
iput v5, v1, Landroid/widget/FrameLayout$LayoutParams;->gravity:I
goto :goto_3
.line 371
.end local v0 #clearAllButtonLocation:I
.end local v1 #layoutParams:Landroid/widget/FrameLayout$LayoutParams;
:cond_5
iget-object v5, p0, Lcom/android/systemui/recent/RecentsPanelView;->mClearRecents:Landroid/widget/ImageView;
invoke-virtual {v5, v7}, Landroid/widget/ImageView;->setVisibility(I)V
goto :goto_4
.line 379
.end local v2 #noApps:Z
.end local v3 #showClearAllButton:Z
:cond_6
iput-boolean v5, p0, Lcom/android/systemui/recent/RecentsPanelView;->mWaitingToShow:Z
.line 381
iput-boolean v4, p0, Lcom/android/systemui/recent/RecentsPanelView;->mCallUiHiddenBeforeNextReload:Z
.line 382
iget-object v4, p0, Lcom/android/systemui/recent/RecentsPanelView;->mPopup:Landroid/widget/PopupMenu;
if-eqz v4, :cond_1
.line 383
iget-object v4, p0, Lcom/android/systemui/recent/RecentsPanelView;->mPopup:Landroid/widget/PopupMenu;
invoke-virtual {v4}, Landroid/widget/PopupMenu;->dismiss()V
goto :goto_5
.line 354
:pswitch_data_0
.packed-switch 0x0
:pswitch_1
:pswitch_2
:pswitch_0
:pswitch_3
.end packed-switch
.end method
<------------------------------- UP TO HERE -------------------------->
.method private startApplicationDetailsActivity(Ljava/lang/String;)V
.locals 4
.parameter "packageName"Code:
<-------------------------------SEARCH FOR IT -------------------------->
.line 409
invoke-super {p0, p1}, Landroid/view/ViewGroup;->dispatchHoverEvent(Landroid/view/MotionEvent;)Z
move-result v2
.line 411
:goto_0
return v2
:cond_0
const/4 v2, 0x1
goto :goto_0
.end method
.method protected fitSystemWindows(Landroid/graphics/Rect;)Z
.locals 2
.parameter "insets"
.prologue
.line 856
iget-object v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mClearRecents:Landroid/widget/ImageView;
if-eqz v1, :cond_0
.line 857
iget-object v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mClearRecents:Landroid/widget/ImageView;
invoke-virtual {v1}, Landroid/widget/ImageView;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
check-cast v0, Landroid/view/ViewGroup$MarginLayoutParams;
.line 858
.local v0, lp:Landroid/view/ViewGroup$MarginLayoutParams;
iget v1, p1, Landroid/graphics/Rect;->top:I
iput v1, v0, Landroid/view/ViewGroup$MarginLayoutParams;->topMargin:I
.line 859
iget v1, p1, Landroid/graphics/Rect;->bottom:I
iput v1, v0, Landroid/view/ViewGroup$MarginLayoutParams;->bottomMargin:I
.line 860
iget v1, p1, Landroid/graphics/Rect;->right:I
iput v1, v0, Landroid/view/ViewGroup$MarginLayoutParams;->rightMargin:I
.line 861
iget v1, p1, Landroid/graphics/Rect;->left:I
iput v1, v0, Landroid/view/ViewGroup$MarginLayoutParams;->leftMargin:I
.line 862
iget-object v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mClearRecents:Landroid/widget/ImageView;
invoke-virtual {v1, v0}, Landroid/widget/ImageView;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
.line 865
.end local v0 #lp:Landroid/view/ViewGroup$MarginLayoutParams;
:cond_0
invoke-super {p0, p1}, Landroid/widget/FrameLayout;->fitSystemWindows(Landroid/graphics/Rect;)Z
move-result v1
return v1
.end method
<-------------------------------SEARCH FOR IT -------------------------->
.method public handleLongPress(Landroid/view/View;Landroid/view/View;Landroid/view/View;)V
.locals 4
.parameter "selectedView"
.parameter "anchorView"
.parameter "thumbnailView"Quote:
|
SEARCH FOR |
Code:
.method protected onFinishInflate()VCode:
<-------------------------------SEARCH FOR IT -------------------------->
.line 448
const v0, 0x7f07005d
invoke-virtual {p0, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
iput-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentsNoApps:Landroid/view/View;
.line 480
const v0, 0x########
invoke-virtual {p0, v0}, Lcom/android/systemui/recent/RecentsPanelView;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/ImageView;
iput-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mClearRecents:Landroid/widget/ImageView;
.line 481
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mClearRecents:Landroid/widget/ImageView;
if-eqz v0, :cond_0
.line 483
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mClearRecents:Landroid/widget/ImageView;
new-instance v1, Lcom/android/systemui/recent/RecentsPanelView$2;
invoke-direct {v1, p0}, Lcom/android/systemui/recent/RecentsPanelView$2;-><init>(Lcom/android/systemui/recent/RecentsPanelView;)V
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setOnClickListener(Landroid/view/View$OnClickListener;)V
<-------------------------------SEARCH FOR IT -------------------------->
.line 450
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentsScrim:Landroid/view/View;
if-eqz v0, :cond_0
.line 451
invoke-static {}, Landroid/app/ActivityManager;->isHighEndGfx()ZQuote:
|
NOTE: ########= add a fake ID, for example the one in .line 448 const v0, 0x7f07005d for now NOW PAY ATTENTION WE NEED Code:
<public type="id" name="recents_clear" id="0x########" /> |
Quote:
|
1) Recompile the apk with the changes, preserving the signature 2) Decompile the new SystemUI that was just created 3) Open \res\values\public.xml and find and search for Code:
<public type="id" name="recents_clear" id="0x########" />Code:
######## = Your IDAdd to Code:
.line 480 |
Quote:
|
SystemUI/smali/com/android/systemui/recent/RecentsPanelView$RecentsScrollView.smali |
Code:
.method public abstract numItemsInOneScreenful()I
.end method
+ .method public abstract removeAllViewsInLayout()V
+ .end method
.method public abstract setAdapter(Lcom/android/systemui/recent/RecentsPanelView$TaskDescriptionAdapter;)V
.end method"FINISHED"
-----------------------------------------------------------------------
![]()
-----------------------------------------------------------------------

Quote:
|
Now it's time to fix some smali... ----> = BECOME rename RecentsHorizontal/VerticalScrollView$#.smali |
Code:
Recents(Horizontal|Vertical)ScrollView$7---->Recents(Horizontal|Vertical)ScrollView$8
Recents(Horizontal|Vertical)ScrollView$6---->Recents(Horizontal|Vertical)ScrollView$7Quote:
|
AND ADD THE TWO SMALIS I PROVIDED: |
Code:
+ RecentsHorizontalScrollView$6 -----> SystemUI\smali\com\android\systemui\recent
+ RecentsVerticalScrollView$6 -----> SystemUI\smali\com\android\systemui\recentQuote:
|
Do some renaming also inside RecentsHorizontal/VerticalScrollView$#.smali; Open Recents(Horizontal|Vertical)ScrollView$7 and Recents(Horizontal|Vertical)ScrollView$8 in Notepad++, and FIND & REPLACE (respectively) |
Code:
View$6 ----> View$7 (inside the smali $7 already renamed)
View$7 ----> View$8 (inside the smali $8 already renamed)Quote:
|
Do the same also for some lines in SystemUI/smali/com/android/systemui/recent/RecentsHorizontal|VerticalScrollView.smali's |
Quote:
|
SystemUI/smali/com/android/systemui/recent/RecentsHorizontalScrollView.smali |
Code:
.line 323
- new-instance v1, Lcom/android/systemui/recent/RecentsHorizontalScrollView$6;
- invoke-direct {v1, p0}, Lcom/android/systemui/recent/RecentsHorizontalScrollView$6;-><init>(Lcom/android/systemui/recent/RecentsHorizontalScrollView;)V
invoke-virtual {p0, v1}, Landroid/view/View;->post(Ljava/lang/Runnable;)ZCode:
.line 323
+ new-instance v1, Lcom/android/systemui/recent/RecentsHorizontalScrollView$7;
+ invoke-direct {v1, p0}, Lcom/android/systemui/recent/RecentsHorizontalScrollView$7;-><init>(Lcom/android/systemui/recent/RecentsHorizontalScrollView;)V
invoke-virtual {p0, v1}, Landroid/view/View;->post(Ljava/lang/Runnable;)ZCode:
.line 337
iget-object v5, p0, Lcom/android/systemui/recent/RecentsHorizontalScrollView;->mAdapter:Lcom/android/systemui/recent/RecentsPanelView$TaskDescriptionAdapter;
- new-instance v6, Lcom/android/systemui/recent/RecentsHorizontalScrollView$7;
- invoke-direct {v6, p0}, Lcom/android/systemui/recent/RecentsHorizontalScrollView$7;-><init>(Lcom/android/systemui/recent/RecentsHorizontalScrollView;)VCode:
.line 337
iget-object v5, p0, Lcom/android/systemui/recent/RecentsHorizontalScrollView;->mAdapter:Lcom/android/systemui/recent/RecentsPanelView$TaskDescriptionAdapter;
+ new-instance v6, Lcom/android/systemui/recent/RecentsHorizontalScrollView$8;
+ invoke-direct {v6, p0}, Lcom/android/systemui/recent/RecentsHorizontalScrollView$8;-><init>(Lcom/android/systemui/recent/RecentsHorizontalScrollView;)VQuote:
|
SystemUI/smali/com/android/systemui/recent/RecentsVerticalScrollView.smali |
Code:
.line 346
iget-object v5, p0, Lcom/android/systemui/recent/RecentsVerticalScrollView;->mAdapter:Lcom/android/systemui/recent/RecentsPanelView$TaskDescriptionAdapter;
- new-instance v6, Lcom/android/systemui/recent/RecentsVerticalScrollView$7;
- invoke-direct {v6, p0}, Lcom/android/systemui/recent/RecentsVerticalScrollView$7;-><init>(Lcom/android/systemui/recent/RecentsVerticalScrollView;)VCode:
.line 346
iget-object v5, p0, Lcom/android/systemui/recent/RecentsVerticalScrollView;->mAdapter:Lcom/android/systemui/recent/RecentsPanelView$TaskDescriptionAdapter;
+ new-instance v6, Lcom/android/systemui/recent/RecentsVerticalScrollView$8;
+ invoke-direct {v6, p0}, Lcom/android/systemui/recent/RecentsVerticalScrollView$8;-><init>(Lcom/android/systemui/recent/RecentsVerticalScrollView;)VCode:
.line 332
- new-instance v1, Lcom/android/systemui/recent/RecentsVerticalScrollView$6;
- invoke-direct {v1, p0}, Lcom/android/systemui/recent/RecentsVerticalScrollView$6;-><init>(Lcom/android/systemui/recent/RecentsVerticalScrollView;)VCode:
.line 332
+ new-instance v1, Lcom/android/systemui/recent/RecentsVerticalScrollView$7;
+ invoke-direct {v1, p0}, Lcom/android/systemui/recent/RecentsVerticalScrollView$7;-><init>(Lcom/android/systemui/recent/RecentsVerticalScrollView;)VQuote:
|
Now it's time to fix some smali... ----> = BECOME rename RecentsPanelView$#..smali |
Code:
RecentsPanelView$3---->RecentsPanelView$4
RecentsPanelView$2---->RecentsPanelView$3Quote:
|
AND ADD THE TWO SMALI I PROVIDED: |
Code:
+ RecentsPanelView$2.smali -----> SystemUI\smali\com\android\systemui\recentQuote:
|
Now, Open RecentsPanelView$3 and RecentsPanelView$3 in Notepad++, and FIND & REPLACE (respectively) |
Code:
View$2 ----> View$3 (inside the smali $3 already renamed)
View$3 ----> View$4 (inside the smali $4 already renamed)Quote:
|
Do the same also for some lines in SystemUI/smali/com/android/systemui/recent/RecentsPanelView.smali |
SystemUI/smali/com/android/systemui/recent/RecentsPanelView.smali
Code:
.line 764
- new-instance v1, Lcom/android/systemui/recent/RecentsPanelView$2;
- invoke-direct {v1, p0, p1}, Lcom/android/systemui/recent/RecentsPanelView$2;-><init>(Lcom/android/systemui/recent/RecentsPanelView;Landroid/view/View;)VCode:
.line 764
+ new-instance v1, Lcom/android/systemui/recent/RecentsPanelView$3;
+ invoke-direct {v1, p0, p1}, Lcom/android/systemui/recent/RecentsPanelView$3;-><init>(Lcom/android/systemui/recent/RecentsPanelView;Landroid/view/View;)VCode:
.line 783
- new-instance v1, Lcom/android/systemui/recent/RecentsPanelView$3;
- invoke-direct {v1, p0, p3}, Lcom/android/systemui/recent/RecentsPanelView$3;-><init>(Lcom/android/systemui/recent/RecentsPanelView;Landroid/view/View;)VCode:
.line 783
+ new-instance v1, Lcom/android/systemui/recent/RecentsPanelView$4;
+ invoke-direct {v1, p0, p3}, Lcom/android/systemui/recent/RecentsPanelView$4;-><init>(Lcom/android/systemui/recent/RecentsPanelView;Landroid/view/View;)V
More info here: https://github.com/AOKP/frameworks_b...df2d4da53d4f15
Credits:
- @D4rKn3sSyS
- @Roman Birg (Romanbb)

-
