[MOD][DEV][SMALI] Optimus 4X style lockscreen mod for CM10 - Android Themes

GUIDE ( SMALI ) CM10 Optimus 4X style lockscreen
for HDPI / XHDPI DEVICES
Hi..Hi..Hello XDA especially for Developer only
I want to share to you all how to make Optimus 4x style lockscreen for your Devices running CyanogenMod 10
I am coming from this guide thread http://forum.xda-developers.com/showthread.php?t=1597928
and Full Credit goes to the original founder Senior Member EVILISTO
and here I want to share it to you how to make Mod Optimus 4X style lockscreen but with SMALI code :good:
Mod LG Optimus 4X Style Lockscreen, Youtube preview on my device (HDPI) http://www.youtube.com/watch?v=OWfoNdfIMvc&feature=youtu.be
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
ok lets go to Guide:
first of all need some requirement for this MOD-GUIDE
REQUIREMENT:
- BRAIN
- Patient
- experience
- Know how to decompile/recompiling Apk file
- Know how to decompile/recompiling jar Apk file
- notepad++
- Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools/ or else
​
STEP-1
DECOMPILE android.policy.jar
\com\android\internal\policy\impl\ KeyguardViewManager.smali
find this line
Code:
const v4, 0x4100800
Change it to
Code:
const v4, 0x4000800
save and compile
NEXT
STEP-2
DECOMPILE services.jar
\com\android\server\wm\WindowAnimator.smali
find this method
Code:
.method private updateWindowsAndWallpaperLocked()V
DELETE that line until its .end method
Code:
.method private updateWindowsAndWallpaperLocked()V
-
-
-
-
DELETE UNTIL ITS .end method
-
-
-
-
.end method
REPLACE WITH THIS
Code:
.method private updateWindowsAndWallpaperLocked()V
.registers 19
.prologue
.line 203
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mAnimTransactionSequence:I
add-int/lit8 v15, v15, 0x1
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mAnimTransactionSequence:I
.line 205
const/4 v10, 0x0
.line 206
.local v10, unForceHiding:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/server/wm/WindowStateAnimator;>;"
const/4 v11, 0x0
.line 208
.local v11, wallpaperInUnForceHiding:Z
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
iget-object v15, v15, Lcom/android/server/wm/WindowManagerService;->mWindows:Ljava/util/ArrayList;
invoke-virtual {v15}, Ljava/util/ArrayList;->size()I
move-result v15
add-int/lit8 v8, v15, -0x1
.local v8, i:I
:goto_18
if-ltz v8, :cond_271
.line 209
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
iget-object v15, v15, Lcom/android/server/wm/WindowManagerService;->mWindows:Ljava/util/ArrayList;
invoke-virtual {v15, v8}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v13
check-cast v13, Lcom/android/server/wm/WindowState;
.line 210
.local v13, win:Lcom/android/server/wm/WindowState;
iget-object v14, v13, Lcom/android/server/wm/WindowState;->mWinAnimator:Lcom/android/server/wm/WindowStateAnimator;
.line 211
.local v14, winAnimator:Lcom/android/server/wm/WindowStateAnimator;
iget v6, v14, Lcom/android/server/wm/WindowStateAnimator;->mAttrFlags:I
.line 213
.local v6, flags:I
iget-object v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mSurface:Landroid/view/Surface;
if-eqz v15, :cond_14d
.line 214
iget-boolean v12, v14, Lcom/android/server/wm/WindowStateAnimator;->mWasAnimating:Z
.line 215
.local v12, wasAnimating:Z
move-object/from16 v0, p0
iget-wide v15, v0, Lcom/android/server/wm/WindowAnimator;->mCurrentTime:J
invoke-virtual/range {v14 .. v16}, Lcom/android/server/wm/WindowStateAnimator;->stepAnimationLocked(J)Z
move-result v9
.line 225
.local v9, nowAnimating:Z
if-eqz v9, :cond_82
.line 226
iget-object v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimation:Landroid/view/animation/Animation;
if-eqz v15, :cond_7d
.line 227
const/high16 v15, 0x10
and-int/2addr v15, v6
if-eqz v15, :cond_4f
iget-object v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimation:Landroid/view/animation/Animation;
invoke-virtual {v15}, Landroid/view/animation/Animation;->getDetachWallpaper()Z
move-result v15
if-eqz v15, :cond_4f
.line 229
move-object/from16 v0, p0
iput-object v13, v0, Lcom/android/server/wm/WindowAnimator;->mDetachedWallpaper:Lcom/android/server/wm/WindowState;
.line 231
:cond_4f
iget-object v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimation:Landroid/view/animation/Animation;
invoke-virtual {v15}, Landroid/view/animation/Animation;->getBackgroundColor()I
move-result v4
.line 232
.local v4, backgroundColor:I
if-eqz v4, :cond_7d
.line 233
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackground:Lcom/android/server/wm/WindowState;
if-eqz v15, :cond_75
iget v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackground:Lcom/android/server/wm/WindowState;
move-object/from16 v16, v0
move-object/from16 v0, v16
iget-object v0, v0, Lcom/android/server/wm/WindowState;->mWinAnimator:Lcom/android/server/wm/WindowStateAnimator;
move-object/from16 v16, v0
move-object/from16 v0, v16
iget v0, v0, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
move/from16 v16, v0
move/from16 v0, v16
if-ge v15, v0, :cond_7d
.line 236
:cond_75
move-object/from16 v0, p0
iput-object v13, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackground:Lcom/android/server/wm/WindowState;
.line 237
move-object/from16 v0, p0
iput v4, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackgroundColor:I
.line 241
.end local v4 #backgroundColor:I
:cond_7d
const/4 v15, 0x1
move-object/from16 v0, p0
iput-boolean v15, v0, Lcom/android/server/wm/WindowAnimator;->mAnimating:Z
.line 247
:cond_82
iget-object v15, v13, Lcom/android/server/wm/WindowState;->mAppToken:Lcom/android/server/wm/AppWindowToken;
if-nez v15, :cond_1ac
const/4 v2, 0x0
.line 249
.local v2, appAnimator:Lcom/android/server/wm/AppWindowAnimator;
:goto_87
if-eqz v2, :cond_d0
iget-object v15, v2, Lcom/android/server/wm/AppWindowAnimator;->animation:Landroid/view/animation/Animation;
if-eqz v15, :cond_d0
iget-boolean v15, v2, Lcom/android/server/wm/AppWindowAnimator;->animating:Z
if-eqz v15, :cond_d0
.line 251
const/high16 v15, 0x10
and-int/2addr v15, v6
if-eqz v15, :cond_a2
iget-object v15, v2, Lcom/android/server/wm/AppWindowAnimator;->animation:Landroid/view/animation/Animation;
invoke-virtual {v15}, Landroid/view/animation/Animation;->getDetachWallpaper()Z
move-result v15
if-eqz v15, :cond_a2
.line 253
move-object/from16 v0, p0
iput-object v13, v0, Lcom/android/server/wm/WindowAnimator;->mDetachedWallpaper:Lcom/android/server/wm/WindowState;
.line 255
:cond_a2
iget-object v15, v2, Lcom/android/server/wm/AppWindowAnimator;->animation:Landroid/view/animation/Animation;
invoke-virtual {v15}, Landroid/view/animation/Animation;->getBackgroundColor()I
move-result v4
.line 256
.restart local v4 #backgroundColor:I
if-eqz v4, :cond_d0
.line 257
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackground:Lcom/android/server/wm/WindowState;
if-eqz v15, :cond_c8
iget v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackground:Lcom/android/server/wm/WindowState;
move-object/from16 v16, v0
move-object/from16 v0, v16
iget-object v0, v0, Lcom/android/server/wm/WindowState;->mWinAnimator:Lcom/android/server/wm/WindowStateAnimator;
move-object/from16 v16, v0
move-object/from16 v0, v16
iget v0, v0, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
move/from16 v16, v0
move/from16 v0, v16
if-ge v15, v0, :cond_d0
.line 260
:cond_c8
move-object/from16 v0, p0
iput-object v13, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackground:Lcom/android/server/wm/WindowState;
.line 261
move-object/from16 v0, p0
iput v4, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackgroundColor:I
.line 266
.end local v4 #backgroundColor:I
:cond_d0
if-eqz v12, :cond_101
iget-boolean v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimating:Z
if-nez v15, :cond_101
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
iget-object v15, v15, Lcom/android/server/wm/WindowManagerService;->mWallpaperTarget:Lcom/android/server/wm/WindowState;
if-ne v15, v13, :cond_101
.line 267
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
or-int/lit8 v15, v15, 0x2
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
.line 268
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
or-int/lit8 v15, v15, 0x4
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
.line 270
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
const-string v16, "updateWindowsAndWallpaperLocked 2"
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
move/from16 v17, v0
invoke-virtual/range {v15 .. v17}, Lcom/android/server/wm/WindowManagerService;->debugLayoutRepeats(Ljava/lang/String;I)V
.line 275
:cond_101
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mPolicy:Landroid/view/WindowManagerPolicy;
iget-object v0, v13, Lcom/android/server/wm/WindowState;->mAttrs:Landroid/view/WindowManager$LayoutParams;
move-object/from16 v16, v0
move-object/from16 v0, v16
invoke-interface {v15, v13, v0}, Landroid/view/WindowManagerPolicy;->doesForceHide(Landroid/view/WindowManagerPolicy$WindowState;Landroid/view/WindowManager$LayoutParams;)Z
move-result v15
if-eqz v15, :cond_1b2
.line 276
if-nez v12, :cond_142
if-eqz v9, :cond_142
.line 280
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
or-int/lit8 v15, v15, 0x4
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
.line 281
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
or-int/lit8 v15, v15, 0x4
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
.line 283
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
const-string v16, "updateWindowsAndWallpaperLocked 3"
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
move/from16 v17, v0
invoke-virtual/range {v15 .. v17}, Lcom/android/server/wm/WindowManagerService;->debugLayoutRepeats(Ljava/lang/String;I)V
.line 286
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
const/16 v16, 0x1
move/from16 v0, v16
iput-boolean v0, v15, Lcom/android/server/wm/WindowManagerService;->mFocusMayChange:Z
.line 288
:cond_142
invoke-virtual {v13}, Lcom/android/server/wm/WindowState;->isReadyForDisplay()Z
move-result v15
if-eqz v15, :cond_14d
.line 289
const/4 v15, 0x0
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mForceHiding:I
.line 344
.end local v2 #appAnimator:Lcom/android/server/wm/AppWindowAnimator;
.end local v9 #nowAnimating:Z
.end local v12 #wasAnimating:Z
:cond_14d
:goto_14d
iget-object v3, v13, Lcom/android/server/wm/WindowState;->mAppToken:Lcom/android/server/wm/AppWindowToken;
.line 345
.local v3, atoken:Lcom/android/server/wm/AppWindowToken;
iget v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mDrawState:I
const/16 v16, 0x3
move/from16 v0, v16
if-ne v15, v0, :cond_17c
.line 346
if-eqz v3, :cond_15d
iget-boolean v15, v3, Lcom/android/server/wm/AppWindowToken;->allDrawn:Z
if-eqz v15, :cond_17c
.line 347
:cond_15d
invoke-virtual {v14}, Lcom/android/server/wm/WindowStateAnimator;->performShowLocked()Z
move-result v15
if-eqz v15, :cond_17c
.line 348
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
or-int/lit8 v15, v15, 0x8
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
.line 350
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
const-string v16, "updateWindowsAndWallpaperLocked 5"
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
move/from16 v17, v0
invoke-virtual/range {v15 .. v17}, Lcom/android/server/wm/WindowManagerService;->debugLayoutRepeats(Ljava/lang/String;I)V
.line 356
:cond_17c
if-nez v3, :cond_26d
const/4 v2, 0x0
.line 358
.restart local v2 #appAnimator:Lcom/android/server/wm/AppWindowAnimator;
:goto_17f
if-eqz v2, :cond_1a8
iget-object v15, v2, Lcom/android/server/wm/AppWindowAnimator;->thumbnail:Landroid/view/Surface;
if-eqz v15, :cond_1a8
.line 359
iget v15, v2, Lcom/android/server/wm/AppWindowAnimator;->thumbnailTransactionSeq:I
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mAnimTransactionSequence:I
move/from16 v16, v0
move/from16 v0, v16
if-eq v15, v0, :cond_19a
.line 360
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mAnimTransactionSequence:I
iput v15, v2, Lcom/android/server/wm/AppWindowAnimator;->thumbnailTransactionSeq:I
.line 361
const/4 v15, 0x0
iput v15, v2, Lcom/android/server/wm/AppWindowAnimator;->thumbnailLayer:I
.line 363
:cond_19a
iget v15, v2, Lcom/android/server/wm/AppWindowAnimator;->thumbnailLayer:I
iget v0, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
move/from16 v16, v0
move/from16 v0, v16
if-ge v15, v0, :cond_1a8
.line 364
iget v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
iput v15, v2, Lcom/android/server/wm/AppWindowAnimator;->thumbnailLayer:I
.line 208
:cond_1a8
add-int/lit8 v8, v8, -0x1
goto/16 :goto_18
.line 247
.end local v2 #appAnimator:Lcom/android/server/wm/AppWindowAnimator;
.end local v3 #atoken:Lcom/android/server/wm/AppWindowToken;
.restart local v9 #nowAnimating:Z
.restart local v12 #wasAnimating:Z
:cond_1ac
iget-object v15, v13, Lcom/android/server/wm/WindowState;->mAppToken:Lcom/android/server/wm/AppWindowToken;
iget-object v2, v15, Lcom/android/server/wm/AppWindowToken;->mAppAnimator:Lcom/android/server/wm/AppWindowAnimator;
goto/16 :goto_87
.line 300
.restart local v2 #appAnimator:Lcom/android/server/wm/AppWindowAnimator;
:cond_1b2
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mPolicy:Landroid/view/WindowManagerPolicy;
iget-object v0, v13, Lcom/android/server/wm/WindowState;->mAttrs:Landroid/view/WindowManager$LayoutParams;
move-object/from16 v16, v0
move-object/from16 v0, v16
invoke-interface {v15, v13, v0}, Landroid/view/WindowManagerPolicy;->canBeForceHidden(Landroid/view/WindowManagerPolicy$WindowState;Landroid/view/WindowManager$LayoutParams;)Z
move-result v15
if-eqz v15, :cond_14d
.line 301
iget v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAttrFlags:I
const/high16 v16, 0x8
and-int v15, v15, v16
if-nez v15, :cond_21e
const/4 v7, 0x1
.line 304
.local v7, hideWhenLocked:Z
:goto_1cb
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mForceHiding:I
const/16 v16, 0x1
move/from16 v0, v16
if-ne v15, v0, :cond_1dd
invoke-virtual {v14}, Lcom/android/server/wm/WindowStateAnimator;->isAnimating()Z
move-result v15
if-eqz v15, :cond_1e9
if-nez v7, :cond_1e9
:cond_1dd
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mForceHiding:I
const/16 v16, 0x2
move/from16 v0, v16
if-ne v15, v0, :cond_220
if-eqz v7, :cond_220
.line 307
:cond_1e9
const/4 v15, 0x0
const/16 v16, 0x0
move/from16 v0, v16
invoke-virtual {v13, v15, v0}, Lcom/android/server/wm/WindowState;->hideLw(ZZ)Z
move-result v5
.line 333
.local v5, changed:Z
:cond_1f2
:goto_1f2
if-eqz v5, :cond_14d
const/high16 v15, 0x10
and-int/2addr v15, v6
if-eqz v15, :cond_14d
.line 334
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
or-int/lit8 v15, v15, 0x2
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
.line 335
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
or-int/lit8 v15, v15, 0x4
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
.line 337
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
const-string v16, "updateWindowsAndWallpaperLocked 4"
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
move/from16 v17, v0
invoke-virtual/range {v15 .. v17}, Lcom/android/server/wm/WindowManagerService;->debugLayoutRepeats(Ljava/lang/String;I)V
goto/16 :goto_14d
.line 301
.end local v5 #changed:Z
.end local v7 #hideWhenLocked:Z
:cond_21e
const/4 v7, 0x0
goto :goto_1cb
.line 311
.restart local v7 #hideWhenLocked:Z
:cond_220
const/4 v15, 0x0
const/16 v16, 0x0
move/from16 v0, v16
invoke-virtual {v13, v15, v0}, Lcom/android/server/wm/WindowState;->showLw(ZZ)Z
move-result v5
.line 314
.restart local v5 #changed:Z
if-eqz v5, :cond_1f2
.line 315
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
and-int/lit8 v15, v15, 0x4
if-eqz v15, :cond_24e
invoke-virtual {v13}, Lcom/android/server/wm/WindowState;->isVisibleNow()Z
move-result v15
if-eqz v15, :cond_24e
.line 317
if-nez v10, :cond_240
.line 318
new-instance v10, Ljava/util/ArrayList;
.end local v10 #unForceHiding:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/server/wm/WindowStateAnimator;>;"
invoke-direct {v10}, Ljava/util/ArrayList;-><init>()V
.line 320
.restart local v10 #unForceHiding:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/server/wm/WindowStateAnimator;>;"
:cond_240
invoke-virtual {v10, v14}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 321
iget-object v15, v13, Lcom/android/server/wm/WindowState;->mAttrs:Landroid/view/WindowManager$LayoutParams;
iget v15, v15, Landroid/view/WindowManager$LayoutParams;->flags:I
const/high16 v16, 0x10
and-int v15, v15, v16
if-eqz v15, :cond_24e
.line 322
const/4 v11, 0x1
.line 325
:cond_24e
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mCurrentFocus:Lcom/android/server/wm/WindowState;
if-eqz v15, :cond_262
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mCurrentFocus:Lcom/android/server/wm/WindowState;
iget v15, v15, Lcom/android/server/wm/WindowState;->mLayer:I
iget v0, v13, Lcom/android/server/wm/WindowState;->mLayer:I
move/from16 v16, v0
move/from16 v0, v16
if-ge v15, v0, :cond_1f2
.line 329
:cond_262
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
const/16 v16, 0x1
move/from16 v0, v16
iput-boolean v0, v15, Lcom/android/server/wm/WindowManagerService;->mFocusMayChange:Z
goto :goto_1f2
.line 356
.end local v2 #appAnimator:Lcom/android/server/wm/AppWindowAnimator;
.end local v5 #changed:Z
.end local v7 #hideWhenLocked:Z
.end local v9 #nowAnimating:Z
.end local v12 #wasAnimating:Z
.restart local v3 #atoken:Lcom/android/server/wm/AppWindowToken;
:cond_26d
iget-object v2, v3, Lcom/android/server/wm/AppWindowToken;->mAppAnimator:Lcom/android/server/wm/AppWindowAnimator;
goto/16 :goto_17f
.line 371
.end local v3 #atoken:Lcom/android/server/wm/AppWindowToken;
.end local v6 #flags:I
.end local v13 #win:Lcom/android/server/wm/WindowState;
.end local v14 #winAnimator:Lcom/android/server/wm/WindowStateAnimator;
:cond_271
if-eqz v10, :cond_294
.line 372
invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
move-result v15
add-int/lit8 v8, v15, -0x1
:goto_279
if-ltz v8, :cond_294
.line 373
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mPolicy:Landroid/view/WindowManagerPolicy;
invoke-interface {v15, v11}, Landroid/view/WindowManagerPolicy;->createForceHideEnterAnimation(Z)Landroid/view/animation/Animation;
move-result-object v1
.line 374
.local v1, a:Landroid/view/animation/Animation;
if-eqz v1, :cond_291
.line 375
invoke-virtual {v10, v8}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v14
check-cast v14, Lcom/android/server/wm/WindowStateAnimator;
.line 376
.restart local v14 #winAnimator:Lcom/android/server/wm/WindowStateAnimator;
invoke-virtual {v14, v1}, Lcom/android/server/wm/WindowStateAnimator;->setAnimation(Landroid/view/animation/Animation;)V
.line 377
const/4 v15, 0x1
iput-boolean v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimationIsEntrance:Z
.line 372
.end local v14 #winAnimator:Lcom/android/server/wm/WindowStateAnimator;
:cond_291
add-int/lit8 v8, v8, -0x1
goto :goto_279
.line 381
.end local v1 #a:Landroid/view/animation/Animation;
:cond_294
return-void
.end method
save and compile
Those two steps, android.policy.jar and services.jar will give you transparent lockscreen
LET'S GO TO NEXT STEP IN POST #2

OKE NEXT STEP
STEP-3
DECOMPILE framework-res.apk
\framework-res.apk\res\layout\keyguard_screen_tab_unlock.xml
DELETE the whole lines, and replace with this
Code:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:gravity="center_horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<com.android.internal.widget.WaveView android:id="@id/unlock_widget" android:layout_width="fill_parent" android:layout_height="fill_parent" />
<GridLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/root" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.internal.widget.DigitalClock android:id="@id/time" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/keyguard_lockscreen_status_line_clockfont_top_margin" android:layout_marginBottom="12.0dip">
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_clock_font_size" android:textColor="@color/lockscreen_clock_background" android:ellipsize="none" android:id="@id/timeDisplayBackground" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="6.0dip" android:singleLine="true" />
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_clock_font_size" android:textColor="@color/lockscreen_clock_foreground" android:ellipsize="none" android:id="@id/timeDisplayForeground" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="6.0dip" android:singleLine="true" android:layout_alignLeft="@id/timeDisplayBackground" android:layout_alignTop="@id/timeDisplayBackground" />
</com.android.internal.widget.DigitalClock>
<LinearLayout android:orientation="horizontal" android:id="@id/date_line" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:ellipsize="marquee" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" />
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:ellipsize="marquee" android:id="@id/alarm_status" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="16.0dip" android:singleLine="true" android:drawablePadding="4.0dip" />
</LinearLayout>
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:ellipsize="marquee" android:id="@id/status1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:drawablePadding="4.0dip" />
<RelativeLayout android:orientation="horizontal" android:id="@id/weather_panel" android:paddingTop="4.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content">
<ImageView android:id="@id/weather_image" android:paddingLeft="8.0dip" android:paddingRight="8.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_dialog_alert" android:layout_centerHorizontal="true" android:layout_centerVertical="true" />
<RelativeLayout android:orientation="horizontal" android:padding="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/weather_image" android:layout_centerVertical="true">
<TextView android:textSize="14.0sp" android:textStyle="bold" android:textColor="?textColorPrimary" android:ellipsize="marquee" android:gravity="right" android:id="@id/weather_city" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:layout_alignParentRight="true" />
<TextView android:textSize="12.0sp" android:textColor="?textColorPrimary" android:ellipsize="marquee" android:gravity="right" android:id="@id/weather_condition" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:layout_below="@id/weather_city" android:layout_alignParentRight="true" />
<TextView android:textSize="8.0sp" android:textColor="?textColorSecondary" android:gravity="right" android:id="@id/update_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/weather_condition" android:layout_alignParentRight="true" />
</RelativeLayout>
<RelativeLayout android:orientation="horizontal" android:id="@id/weather_temps_panel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/weather_image" android:layout_centerVertical="true">
<TextView android:textSize="20.0sp" android:textColor="?textColorPrimary" android:id="@id/weather_temp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" />
<View android:id="@id/weather_divider" android:background="@drawable/divider_horizontal_dark" android:layout_width="44.0dip" android:layout_height="1.0dip" android:layout_below="@id/weather_temp" />
<TextView android:textSize="12.0sp" android:textColor="?textColorPrimary" android:id="@id/weather_low_high" android:paddingTop="2.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/weather_divider" android:layout_centerHorizontal="true" />
</RelativeLayout>
</RelativeLayout>
<Space android:layout_gravity="fill" />
<Button android:layout_gravity="right" android:id="@id/emergencyCallButton" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="4.0dip" android:layout_marginRight="16.0dip" android:text="@string/lockscreen_emergency_call" android:drawableLeft="@drawable/lockscreen_emergency_button" android:drawablePadding="4.0dip" style="?android:attr/buttonBarButtonStyle" />
<RelativeLayout android:layout_width="fill_parent" android:layout_height="302.0dip">
<LinearLayout android:gravity="center_vertical" android:id="@id/calendar_panel" android:paddingLeft="12.0dip" android:paddingRight="12.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:minHeight="28.0dip">
<ImageView android:gravity="center" android:layout_gravity="center_vertical" android:layout_width="36.0dip" android:layout_height="wrap_content" android:src="@drawable/ic_lock_idle_calendar" />
<View android:background="@drawable/divider_horizontal_dark" android:paddingTop="6.0dip" android:paddingBottom="6.0dip" android:layout_width="1.0dip" android:layout_height="fill_parent" />
<RelativeLayout android:paddingLeft="4.0dip" android:paddingTop="6.0dip" android:paddingBottom="6.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0">
<TextView android:textSize="14.0sp" android:textColor="?textColorPrimary" android:ellipsize="marquee" android:id="@id/calendar_event_title" android:fadingEdge="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" />
<TextView android:textSize="12.0sp" android:textColor="?textColorSecondary" android:ellipsize="marquee" android:id="@id/calendar_event_details" android:focusable="true" android:focusableInTouchMode="true" android:fadingEdge="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scrollHorizontally="true" android:singleLine="true" android:layout_below="@id/calendar_event_title" android:layout_alignLeft="@id/calendar_event_title" android:marqueeRepeatLimit="marquee_forever" />
</RelativeLayout>
</LinearLayout>
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:textColor="?textColorSecondary" android:ellipsize="marquee" android:gravity="center_horizontal" android:id="@id/carrier" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="12.0dip" android:singleLine="true" android:layout_alignParentBottom="true" />
</RelativeLayout>
<LinearLayout android:gravity="center" android:orientation="horizontal" android:layout_width="fill_parent" android:weightSum="2.0" style="?android:attr/buttonBarStyle">
<Button android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:layout_gravity="center_horizontal" android:id="@id/emergencyCallButton" android:visibility="gone" android:layout_width="0.0dip" android:layout_height="wrap_content" android:text="@string/lockscreen_emergency_call" android:drawableLeft="@drawable/lockscreen_emergency_button" android:drawablePadding="0.0dip" android:layout_weight="1.0" style="?android:attr/buttonBarButtonStyle" />
</LinearLayout>
<include android:layout_gravity="fill" android:id="@id/transport" android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_column="0" android:layout_row="0" android:layout_rowSpan="5" android:layout_columnSpan="1" layout="@layout/keyguard_transport_control" />
</GridLayout>
</RelativeLayout>
\framework-res.apk\res\layout\keyguard_transport_control.xml
DELETE the whole lines, and replace with this
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.internal.widget.TransportControlView android:id="@id/transport_controls"
xmlns:android="http://schemas.android.com/apk/res/android">
<FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent">
<ImageView android:layout_gravity="fill" android:id="@id/albumart" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scaleType="centerCrop" android:adjustViewBounds="false" />
</FrameLayout>
<LinearLayout android:layout_gravity="bottom" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textAppearance="?textAppearanceMedium" android:ellipsize="end" android:gravity="center_horizontal" android:id="@id/title" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="16.0dip" android:layout_marginTop="8.0dip" android:layout_marginRight="16.0dip" android:singleLine="true" />
<LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="5.0dip">
<FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0">
<ImageView android:layout_gravity="center" android:id="@id/btn_prev" android:background="?selectableItemBackground" android:padding="10.0dip" android:clickable="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_media_previous" android:contentDescription="@string/lockscreen_transport_prev_description" />
</FrameLayout>
<FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0">
<ImageView android:layout_gravity="center" android:id="@id/btn_play" android:background="?selectableItemBackground" android:padding="10.0dip" android:clickable="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_media_play" android:contentDescription="@string/lockscreen_transport_play_description" />
</FrameLayout>
<FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0">
<ImageView android:layout_gravity="center" android:id="@id/btn_next" android:background="?selectableItemBackground" android:padding="10.0dip" android:clickable="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_media_next" android:contentDescription="@string/lockscreen_transport_next_description" />
</FrameLayout>
</LinearLayout>
</LinearLayout>
</com.android.internal.widget.TransportControlView>
NEXT STEP IN POST #3

OKE NEXT STEP
STEP-4
for HDPI DEVICES download : http://d-h.st/Eil
exstract it and put it to
\framework-res.apk\res\drawable-hdpi
for XHDPI DEVICES download : http://d-h.st/OZx
exstract it and put it to
\framework-res.apk\res\drawable-xhdpi
DONE and recompile your framework-res.apk,
NEXT
STEP - 5
Decompile the Newly recompiled APK again
and go to
\res\values\public.xml
open in text editor or notepad++ that public.xml
and don't do anything, we just leave it, but keep it open
NEXT
STEP - 6
Decompile your framework.jar
\com\android\internal\widget
DELETE, WaveView.smali and TransportControlView.smali
REPLACE with this : http://d-h.st/f4b
NEXT
STEP - 7
Open in text editor/Notepad++ WaveView.smali, TransportControlView.smali and look into your new public.xml that we just leave.
Make sure the IDs in WaveView.smali and TransportControlView.smali is same like your new IDs in new public.xml
but without 0 number in the new public.xml
Code:
new [B]WaveView.smali[/B] new [B]public.xml[/B]
line 198, const v1, 0x10404f8 <public type="string" name="description_target_camera" id="0x[COLOR="Red"]0[/COLOR]10404f8" />
line 308, const v1, 0x1080622 <public type="drawable" name="unlock_ring" id="0x[COLOR="Red"]0[/COLOR]1080622" />
line 357, const v1, 0x1080620 <public type="drawable" name="unlock_default" id="0x[COLOR="Red"]0[/COLOR]1080620" />
line 406, const v1, 0x1080621 <public type="drawable" name="unlock_halo" id="0x[COLOR="Red"]0[/COLOR]1080621" />
line 455, const v1, 0x1080623 <public type="drawable" name="unlock_wave" id="0x[COLOR="Red"]0[/COLOR]1080623" />
Code:
new [B]TransportControlView.smali[/B] new [B]public.xml[/B]
line 777, const v1, 0x1080024 <public type="drawable" name="ic_media_play" id="0x[COLOR="Red"]0[/COLOR]1080024" />
line 781, const v0, 0x104033a <public type="string" name="lockscreen_permanent_disabled_sim_instructions" id="0x[COLOR="Red"]0[/COLOR]104033a" />
line 836, const v1, 0x108008a <public type="drawable" name="stat_sys_warning" id="0x[COLOR="Red"]0[/COLOR]108008a" />
line 840, const v0, 0x104033a <public type="string" name="lockscreen_permanent_disabled_sim_instructions" id="0x[COLOR="Red"]0[/COLOR]104033a" />
line 850, const v1, 0x1080023 <public type="drawable" name="ic_media_pause" id="0x[COLOR="Red"]0[/COLOR]1080023" />
line 854, const v0, 0x1040339 <public type="string" name="lockscreen_permanent_disabled_sim_message_short" id="0x[COLOR="Red"]0[/COLOR]1040339" />
line 867, const v1, 0x1080347 <public type="drawable" name="ic_media_stop" id="0x[COLOR="Red"]0[/COLOR]1080347" />
line 871, const v0, 0x104033b <public type="string" name="lockscreen_transport_prev_description" id="0x[COLOR="Red"]0[/COLOR]104033b" />
line 1143, const v5, 0x1020016 <public type="id" name="title" id="0x[COLOR="Red"]0[/COLOR]1020016" />
line 1159, const v5, 0x10202db <public type="id" name="albumart" id="0x[COLOR="Red"]0[/COLOR]10202db" />
line 1170, const v5, 0x10202dc <public type="id" name="btn_prev" id="0x[COLOR="Red"]0[/COLOR]10202dc" />
line 1181, const v5, 0x10202dd <public type="id" name="btn_play" id="0x[COLOR="Red"]0[/COLOR]10202dd" />
line 1192, const v5, 0x10202de <public type="id" name="btn_next" id="0x[COLOR="Red"]0[/COLOR]10202de" />
if the IDs in new public.xml is different, you must change the IDs in new WaveView.smali and new TransportControlView.smali with your new IDs in new public.xml but without 0 number in the new public.xml
DONE and Compile your framework-res.apk and your framework.jar.

reserved 3

reserved 4

Good job adi
Sent from my GT-I8150 using xda app-developers app

ipromeh said:
Good job adi
Sent from my GT-I8150 using xda app-developers app
Click to expand...
Click to collapse
Thanks Ipromeh

Yay! Making it now!
Sent from my U8800pro using xda premium

Works like a charm again! Awesome work!
Sent from my U8800pro using xda premium

Gud 1, I ll try it soon aftr ma exam....
Sent from my LAVA IRIS 501 using xda premium

Good Job Bro!!!!!!
Sent from my Galaxy Nexus using xda premium

Sent from my Galaxy Nexus using xda premium

Omar1c said:
Good Job Bro!!!!!!
Sent from my Galaxy Nexus using xda premium
Click to expand...
Click to collapse
Omar1c said:
Sent from my Galaxy Nexus using xda premium
Click to expand...
Click to collapse
Very nice
finally for toro

Evilsto already had it for toro rite? I may be wrong. I dont understand evilsto's guides really.
-Rik[Rittik]

It will not work with 10.1?
Sent from my Nexus 4 using xda app-developers app

Rittik said:
Evilsto already had it for toro rite? I may be wrong. I dont understand evilsto's guides really.
-Rik[Rittik]
Click to expand...
Click to collapse
@Rittik, see here : http://forum.xda-developers.com/showpost.php?p=41175664&postcount=18
pikachukaki said:
It will not work with 10.1?
Sent from my Nexus 4 using xda app-developers app
Click to expand...
Click to collapse
@pikachukaki : no it will not work

Adi Aisiteru Reborn said:
@Rittik, see here : http://forum.xda-developers.com/showpost.php?p=41175664&postcount=18
@pikachukaki : no it will not work
Click to expand...
Click to collapse
Your killing me! I really like it!sadly no cm10 on n4!good work btw!
Sent from my Nexus 4 using xda app-developers app

pikachukaki said:
Your killing me! I really like it!sadly no cm10 on n4!good work btw!
Sent from my Nexus 4 using xda app-developers app
Click to expand...
Click to collapse
on my signature, there are some guide for CM10.1.
Only that I can give so far

pikachukaki said:
Your killing me! I really like it!sadly no cm10 on n4!good work btw!
Sent from my Nexus 4 using xda app-developers app
Click to expand...
Click to collapse
Pika shhh i wont release theze for U+ people out there should learn how to make these stuffs atleast
Sent from my U8800pro using xda premium

Adi Aisiteru Reborn said:
on my signature, there are some guide for CM10.1.
Only that I can give so far
Click to expand...
Click to collapse
I check them later cause on mobile i cant see your signature or do anything!thx
Sent from my Nexus 4 using xda app-developers app

Related

[GUIDE][CM10.1] Transparent StatusBar, Center Clock,...( VERTICAL CRT OFF ANIMATION)

​
Click to expand...
Click to collapse
MOD DEV/GUIDE TRANSPARENT STATUS BAR, CENTER CLOCK, ADD MORE TILES COLOUMS TO QUICKSETTINGS, TRANSPARENT LOCKSCREEN, TWEAKING BY "daxgirl", VERTICAL CRT OFF ANIMATION, TABBED SETTINGS, TRANSPARENT NAVBAR, BOTTOM NAVBAR IN LANDSCAPE MODE
Hello XDA,. , especially for Developer only
I've been able to make some mods for CyanogenMod 10.1 ,
and here I want to share it to you all what is my mod and how/guide to build it for your device running CyanogenMod 10.1
ok lets go to Guide:
first of all need some requirement for this MOD-GUIDE
REQUIREMENT:
- BRAIN
- Patient
- experience
- Know how to decompile/recompiling Apk file
- Know how to decompile/recompiling jar Apk file
- notepad++
- Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools/ or else
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------​
Click to expand...
Click to collapse
TRANSPARENT STATUS BAR & CENTER CLOCK
TRANSPARENT STATUS BAR GUIDE IS IN POST #2
CENTER CLOCK GUIDE IS IN POST #3
SCREENSHOT
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
QUICKSETTINGS WITH 4 OR 5 TILES COLOUMS
QUICKSETTINGS WITH 4 OR 5 TILES COLOUMS GUIDE IS IN POST #4
SCREENSHOTS
TRANSPARENT LOCKSCREEN
TRANSPARENT LOCKSCREEN GUIDE IS IN POST #5
SCREENSHOTS
TWEAKING BY "daxgirl"
TWEAKING BY "daxgirl" is in POST #16 DON'T FORGET TO PRESS HER THANKS BUTTON
SCREENSHOTS
VERTICAL CRT OFF ANIMATION
YOUTUBE PREVIEW BY THE ORIGINAL FOUNDER >> IN HERE <<
YOUTUBE PREVIEW BY ME >> IN HERE <<
VERTICAL CRT OFF ANIMATION SMALI GUIDE IS IN POST #6
TABBED SETTINGS WITH SWIPE
Tabbed Settings guide is in here : http://forum.xda-developers.com/showthread.php?t=2273807
TRANSPARENT NAVBAR
Transparent Navbar guide is in here : http://forum.xda-developers.com/showthread.php?t=2361902
BOTTOM NAVBAR IN LANDSCAPE MODE
Guide is in here : http://forum.xda-developers.com/showthread.php?p=43710577#post43710577
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------​
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Click to expand...
Click to collapse
CREDIT & THANKS
ARCO
EVILISTO
Recognized themer @rodman01
@mulbyungjahri
@BOND1987
Daxgirl
XDA
CYANOGEN MOD
[Unofficial Community] Galaxy Wonder CyanogenMod Indonesia
PRESS MY THANKS BUTTON IF I HELPED YOU:good::laugh:​
TRANSPARENT STATUS BAR
GUIDE NOW FIXED !!
It also work to, CM10 / CM10.1/ JB 4.1.1/ JB 4.1.2 / JB 4.2.1/JB 4.2.2/ JB 4.3
CREDIT & THANKS TO :
- Senior Member @evilisto
- Recognized themer @rodman01
- @mulbyungjahri
- @BOND1987
1. DECOMPILE android.policy.jar
\com\android\internal\policy\impl\PhoneWindowManager.smali
find this method :
Code:
.method public getSystemDecorRectLw(Landroid/graphics/Rect;)I
DELETE the RED CODE
AND REPLACE it with the BLUE CODE
Code:
.method public getSystemDecorRectLw(Landroid/graphics/Rect;)I
.registers 3
.parameter "systemRect"
.prologue
.line 3057
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemLeft:I
iput v0, p1, Landroid/graphics/Rect;->left:I
.line 3058
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemTop:I
iput v0, p1, Landroid/graphics/Rect;->top:I
.line 3059
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemRight:I
iput v0, p1, Landroid/graphics/Rect;->right:I
.line 3060
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemBottom:I
iput v0, p1, Landroid/graphics/Rect;->bottom:I
.line 3061
[COLOR="Red"]iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_1b
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;
invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I
move-result v0
.line 3063
:goto_1a
return v0
.line 3062
:cond_1b
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_26
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;
invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I
move-result v0
goto :goto_1a
.line 3063
:cond_26
const/4 v0, 0x0
goto :goto_1a
.end method[/COLOR]
and replace with this BLUE CODE
Code:
[COLOR="Blue"]const/4 v0, 0x0
return v0
.end method[/COLOR]
DONE & COMPILE
2. DECOMPILE SystemUI.apk
. /res/values/drawables.xml
Code:
<item type="drawable" name="notification_number_text_color">#ff000000</item>
<item type="drawable" name="ticker_background_color">#ff1d1d1d</item>
<item type="drawable" name="[COLOR="Blue"]status_bar_background[/COLOR]">[COLOR="Red"]#00000000[/COLOR]</item>
<item type="drawable" name="status_bar_recents_app_thumbnail_background">#88000000</item>
<item type="drawable" name="status_bar_notification_row_background_color">#ff090909</item>
<item type="drawable" name="recents_callout_line">#99ffffff</item>
<item type="drawable" name="notification_item_background_legacy_color">#ffaaaaaa</item>
<item type="drawable" name="intruder_bg_pressed">#ff33b5e5</item>
<item type="drawable" name="notification_header_bg">#ff000000</item>
<item type="drawable" name="system_bar_background">[COLOR="Red"]#88000000[/COLOR]</item>
<item type="drawable" name="notification_icon_area_smoke">[COLOR="Red"]#88000000[/COLOR]</item>
100% Transparency :
Code:
[COLOR="Red"]#00000000[/COLOR]
80% Transparency :
Code:
[COLOR="Red"]#88000000[/COLOR][/B]
DONE !!, AND COMPILE
NEXT READ THIS
Cancelling autodimming for transparent status bar by "daxgirl"
SEE IN POST #20, Don't forget to press her THANKS BUTTON
CENTER CLOCK
DECOMPILE, SystemUI.apk
1. /res/layout/status_bar.xml
DELETE whole line and replace with this :
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.phone.PhoneStatusBarView android:id="@id/status_bar" android:background="@drawable/status_bar_background" android:focusable="true" android:fitsSystemWindows="true" android:descendantFocusability="afterDescendants" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<ImageView android:id="@id/notification_lights_out" android:paddingLeft="6.0dip" android:paddingBottom="2.0dip" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_lights_out_dot_large" android:scaleType="center" />
<LinearLayout android:orientation="horizontal" android:id="@id/status_bar_contents" android:paddingLeft="6.0dip" android:paddingRight="6.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0">
<LinearLayout android:orientation="horizontal" android:id="@id/notification_icon_area" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">
<com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_image_error" />
<com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" />
</LinearLayout>
</LinearLayout>
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="center" android:id="@id/clock" android:paddingLeft="6.0dip" android:clickable="false" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<LinearLayout android:gravity="right" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0">
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/system_icon_area" android:layout_width="wrap_content" android:layout_height="fill_parent" />
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
<LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent">
<include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/signal_cluster_view" />
<include android:id="@id/signal_cluster_text" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/signal_cluster_text_view" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Battery" android:gravity="left|center" android:id="@id/dock_battery_text" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="-3.0dip" android:singleLine="true" />
<ImageView android:id="@id/dock_battery" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Battery" android:gravity="left|center" android:id="@id/battery_text" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="-3.0dip" android:singleLine="true" />
<ImageView android:id="@id/battery" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<com.android.systemui.statusbar.policy.CircleBattery android:textAppearance="@style/TextAppearance.StatusBar.Battery" android:gravity="bottom" android:id="@id/circle_battery" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:id="@id/ticker" android:paddingLeft="6.0dip" android:animationCache="false" android:layout_width="fill_parent" android:layout_height="fill_parent">
<ImageSwitcher android:id="@id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginRight="4.0dip">
<com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" />
<com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" />
</ImageSwitcher>
<com.android.systemui.statusbar.phone.TickerView android:id="@id/tickerText" android:paddingTop="2.0dip" android:paddingRight="10.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0">
<TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
</com.android.systemui.statusbar.phone.TickerView>
</LinearLayout>
</com.android.systemui.statusbar.phone.PhoneStatusBarView>
2. /res/layout/status_bar_expanded_header.xml
LINE 2 , replace with my line
Code:
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/header" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="@dimen/notification_panel_header_height" android:baselineAligned="false"
DONE !!, AND COMPILE
QUICKSETTINGS WITH 4 OR 5 TILES COLOUMS
DECOMPILE, SystemUI.apk
. /res/layout/status_bar_expanded_header.xml
LINE xml 2 , replace with my line
Code:
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/header" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="@dimen/notification_panel_header_height" android:baselineAligned="false"
. /res/values/integers.xml
Code:
<integer name="quick_settings_num_columns">[COLOR="Red"]3[/COLOR]</integer>
3 is stok , you can change it you like to 4 or 5
. /res/values/dimens/
Code:
<dimen name="notification_panel_header_height">[COLOR="Red"]60.0dip[/COLOR]</dimen>
. /res/values/dimens/
Code:
<dimen name="quick_settings_cell_height">[COLOR="Red"]100.0dip[/COLOR]</dimen>
- SystemUI/res/values/styles.xml/
Code:
<style name="TextAppearance.QuickSettings.TileView" parent="@style/TextAppearance.QuickSettings">
<item name="android:textSize">[COLOR="Red"]9.0dip[/COLOR]</item>
DONE !!, AND COMPILE
TRANSPARENT LOCKSCREEN
DECOMPILE android.policy.jar
com/android/internal/policy/impl/keyguard/KeyguardViewManager.smali
find this method.
Code:
.method private maybeCreateKeyguardLocked(ZZLandroid/os/Bundle;)V
DELETE that line until its end method
Code:
.method private maybeCreateKeyguardLocked(ZZLandroid/os/Bundle;)V
-
-
-
-DELETE UNTIL ITS END METHOD
-
-
-
.end method
and Replace with this
Code:
.method private maybeCreateKeyguardLocked(ZZLandroid/os/Bundle;)V
.registers 13
.parameter "enableScreenRotation"
.parameter "force"
.parameter "options"
.prologue
const/high16 v8, 0x100
const/4 v1, -0x1
.line 158
iget-object v2, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mContext:Landroid/content/Context;
instance-of v6, v2, Landroid/app/Activity;
.line 160
.local v6, isActivity:Z
iget-object v2, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mKeyguardHost:Landroid/widget/FrameLayout;
if-eqz v2, :cond_12
.line 161
iget-object v2, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mKeyguardHost:Landroid/widget/FrameLayout;
iget-object v5, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mStateContainer:Landroid/util/SparseArray;
invoke-virtual {v2, v5}, Landroid/widget/FrameLayout;->saveHierarchyState(Landroid/util/SparseArray;)V
.line 164
:cond_12
iget-object v2, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mKeyguardHost:Landroid/widget/FrameLayout;
if-nez v2, :cond_79
.line 167
new-instance v2, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager$ViewManagerHost;
iget-object v5, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mContext:Landroid/content/Context;
invoke-direct {v2, p0, v5}, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager$ViewManagerHost;-><init>(Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;Landroid/content/Context;)V
iput-object v2, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mKeyguardHost:Landroid/widget/FrameLayout;
.line 169
const v4, 0x10900
.line 173
.local v4, flags:I
iget-boolean v2, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mNeedsInput:Z
if-nez v2, :cond_29
.line 174
const/high16 v2, 0x2
or-int/2addr v4, v2
.line 176
:cond_29
invoke-static {}, Landroid/app/ActivityManager;->isHighEndGfx()Z
move-result v2
if-eqz v2, :cond_30
.line 177
or-int/2addr v4, v8
.line 180
:cond_30
const/4 v7, -0x1
.line 181
.local v7, stretch:I
if-eqz v6, :cond_96
const/4 v3, 0x2
.line 183
.local v3, type:I
:goto_34
new-instance v0, Landroid/view/WindowManager$LayoutParams;
const/4 v5, -0x3
move v2, v1
invoke-direct/range {v0 .. v5}, Landroid/view/WindowManager$LayoutParams;-><init>(IIIII)V
.line 185
.local v0, lp:Landroid/view/WindowManager$LayoutParams;
const/16 v1, 0x10
iput v1, v0, Landroid/view/WindowManager$LayoutParams;->softInputMode:I
.line 186
const v1, 0x10301e2
iput v1, v0, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I
.line 187
invoke-static {}, Landroid/app/ActivityManager;->isHighEndGfx()Z
move-result v1
if-eqz v1, :cond_55
.line 188
iget v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I
or-int/2addr v1, v8
iput v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I
.line 189
iget v1, v0, Landroid/view/WindowManager$LayoutParams;->privateFlags:I
or-int/lit8 v1, v1, 0x2
iput v1, v0, Landroid/view/WindowManager$LayoutParams;->privateFlags:I
.line 192
:cond_55
iget v1, v0, Landroid/view/WindowManager$LayoutParams;->privateFlags:I
or-int/lit8 v1, v1, 0x8
iput v1, v0, Landroid/view/WindowManager$LayoutParams;->privateFlags:I
.line 193
if-eqz v6, :cond_63
.line 194
iget v1, v0, Landroid/view/WindowManager$LayoutParams;->privateFlags:I
or-int/lit8 v1, v1, 0x10
iput v1, v0, Landroid/view/WindowManager$LayoutParams;->privateFlags:I
.line 196
:cond_63
iget v1, v0, Landroid/view/WindowManager$LayoutParams;->inputFeatures:I
or-int/lit8 v1, v1, 0x4
iput v1, v0, Landroid/view/WindowManager$LayoutParams;->inputFeatures:I
.line 197
if-eqz v6, :cond_99
const-string v1, "KeyguardMock"
:goto_6d
invoke-virtual {v0, v1}, Landroid/view/WindowManager$LayoutParams;->setTitle(Ljava/lang/CharSequence;)V
.line 198
iput-object v0, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mWindowLayoutParams:Landroid/view/WindowManager$LayoutParams;
.line 199
iget-object v1, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mViewManager:Landroid/view/ViewManager;
iget-object v2, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mKeyguardHost:Landroid/widget/FrameLayout;
invoke-interface {v1, v2, v0}, Landroid/view/ViewManager;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
.line 202
.end local v0 #lp:Landroid/view/WindowManager$LayoutParams;
.end local v3 #type:I
.end local v4 #flags:I
.end local v7 #stretch:I
:cond_79
if-nez p2, :cond_7f
iget-object v1, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mKeyguardView:Lcom/android/internal/policy/impl/keyguard/KeyguardHostView;
if-nez v1, :cond_82
.line 203
:cond_7f
invoke-direct {p0, p3}, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->inflateKeyguardView(Landroid/os/Bundle;)V
.line 205
:cond_82
invoke-direct {p0}, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->updateUserActivityTimeoutInWindowLayoutParams()V
.line 206
iget-object v1, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mViewManager:Landroid/view/ViewManager;
iget-object v2, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mKeyguardHost:Landroid/widget/FrameLayout;
iget-object v5, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mWindowLayoutParams:Landroid/view/WindowManager$LayoutParams;
invoke-interface {v1, v2, v5}, Landroid/view/ViewManager;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
.line 208
iget-object v1, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mKeyguardHost:Landroid/widget/FrameLayout;
iget-object v2, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mStateContainer:Landroid/util/SparseArray;
invoke-virtual {v1, v2}, Landroid/widget/FrameLayout;->restoreHierarchyState(Landroid/util/SparseArray;)V
.line 209
return-void
.line 181
.restart local v4 #flags:I
.restart local v7 #stretch:I
:cond_96
const/16 v3, 0x7d4
goto :goto_34
.line 197
.restart local v0 #lp:Landroid/view/WindowManager$LayoutParams;
.restart local v3 #type:I
:cond_99
const-string v1, "Keyguard"
goto :goto_6d
.end method
NEXT
DECOMPILE services.jar
com/android/server/wm/WindowAnimator.smali
find this method
Code:
.method private updateWindowsLocked(I)V
DELETE that line until its end method
Code:
.method private updateWindowsLocked(I)V
-
-
-
-DELETE UNTIL ITS END METHOD
-
-
-.end method
and REPLACE WITH THIS LINES :
Code:
.method private updateWindowsLocked(I)V
.registers 23
.parameter "displayId"
.prologue
.line 343
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mAnimTransactionSequence:I
move/from16 v17, v0
add-int/lit8 v17, v17, 0x1
move/from16 v0, v17
move-object/from16 v1, p0
iput v0, v1, Lcom/android/server/wm/WindowAnimator;->mAnimTransactionSequence:I
.line 345
invoke-direct/range {p0 .. p1}, Lcom/android/server/wm/WindowAnimator;->getDisplayContentsAnimatorLocked(I)Lcom/android/server/wm/WindowAnimator$DisplayContentsAnimator;
move-result-object v17
move-object/from16 v0, v17
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator$DisplayContentsAnimator;->mWinAnimators:Lcom/android/server/wm/WinAnimatorList;
move-object/from16 v16, v0
.line 347
.local v16, winAnimatorList:Lcom/android/server/wm/WinAnimatorList;
const/4 v11, 0x0
.line 348
.local v11, unForceHiding:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/server/wm/WindowStateAnimator;>;"
const/4 v12, 0x0
.line 349
.local v12, wallpaperInUnForceHiding:Z
const/16 v17, 0x0
move/from16 v0, v17
move-object/from16 v1, p0
iput v0, v1, Lcom/android/server/wm/WindowAnimator;->mForceHiding:I
.line 351
invoke-virtual/range {v16 .. v16}, Lcom/android/server/wm/WinAnimatorList;->size()I
move-result v17
add-int/lit8 v9, v17, -0x1
.local v9, i:I
:goto_28
if-ltz v9, :cond_26a
.line 352
move-object/from16 v0, v16
invoke-virtual {v0, v9}, Lcom/android/server/wm/WinAnimatorList;->get(I)Ljava/lang/Object;
move-result-object v15
check-cast v15, Lcom/android/server/wm/WindowStateAnimator;
.line 353
.local v15, winAnimator:Lcom/android/server/wm/WindowStateAnimator;
iget-object v14, v15, Lcom/android/server/wm/WindowStateAnimator;->mWin:Lcom/android/server/wm/WindowState;
.line 354
.local v14, win:Lcom/android/server/wm/WindowState;
iget v7, v15, Lcom/android/server/wm/WindowStateAnimator;->mAttrFlags:I
.line 356
.local v7, flags:I
iget-object v0, v15, Lcom/android/server/wm/WindowStateAnimator;->mSurface:Landroid/view/Surface;
move-object/from16 v17, v0
if-eqz v17, :cond_f4
.line 357
iget-boolean v13, v15, Lcom/android/server/wm/WindowStateAnimator;->mWasAnimating:Z
.line 358
.local v13, wasAnimating:Z
move-object/from16 v0, p0
iget-wide v0, v0, Lcom/android/server/wm/WindowAnimator;->mCurrentTime:J
move-wide/from16 v17, v0
move-wide/from16 v0, v17
invoke-virtual {v15, v0, v1}, Lcom/android/server/wm/WindowStateAnimator;->stepAnimationLocked(J)Z
move-result v10
.line 365
.local v10, nowAnimating:Z
if-eqz v13, :cond_8e
iget-boolean v0, v15, Lcom/android/server/wm/WindowStateAnimator;->mAnimating:Z
move/from16 v17, v0
if-nez v17, :cond_8e
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mWallpaperTarget:Lcom/android/server/wm/WindowState;
move-object/from16 v17, v0
move-object/from16 v0, v17
if-ne v0, v14, :cond_8e
.line 366
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
move/from16 v17, v0
or-int/lit8 v17, v17, 0x2
move/from16 v0, v17
move-object/from16 v1, p0
iput v0, v1, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
.line 367
const/16 v17, 0x0
const/16 v18, 0x4
move-object/from16 v0, p0
move/from16 v1, v17
move/from16 v2, v18
invoke-virtual {v0, v1, v2}, Lcom/android/server/wm/WindowAnimator;->setPendingLayoutChanges(II)V
.line 370
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
move-object/from16 v17, v0
const-string v18, "updateWindowsAndWallpaperLocked 2"
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:Landroid/util/SparseIntArray;
move-object/from16 v19, v0
const/16 v20, 0x0
invoke-virtual/range {v19 .. v20}, Landroid/util/SparseIntArray;->get(I)I
move-result v19
invoke-virtual/range {v17 .. v19}, Lcom/android/server/wm/WindowManagerService;->debugLayoutRepeats(Ljava/lang/String;I)V
.line 375
:cond_8e
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mPolicy:Landroid/view/WindowManagerPolicy;
move-object/from16 v17, v0
iget-object v0, v14, Lcom/android/server/wm/WindowState;->mAttrs:Landroid/view/WindowManager$LayoutParams;
move-object/from16 v18, v0
move-object/from16 v0, v17
move-object/from16 v1, v18
invoke-interface {v0, v14, v1}, Landroid/view/WindowManagerPolicy;->doesForceHide(Landroid/view/WindowManagerPolicy$WindowState;Landroid/view/WindowManager$LayoutParams;)Z
move-result v17
if-eqz v17, :cond_17e
.line 376
if-nez v13, :cond_e6
if-eqz v10, :cond_e6
.line 380
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
move/from16 v17, v0
or-int/lit8 v17, v17, 0x4
move/from16 v0, v17
move-object/from16 v1, p0
iput v0, v1, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
.line 381
const/16 v17, 0x4
move-object/from16 v0, p0
move/from16 v1, p1
move/from16 v2, v17
invoke-virtual {v0, v1, v2}, Lcom/android/server/wm/WindowAnimator;->setPendingLayoutChanges(II)V
.line 384
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
move-object/from16 v17, v0
const-string v18, "updateWindowsAndWallpaperLocked 3"
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:Landroid/util/SparseIntArray;
move-object/from16 v19, v0
move-object/from16 v0, v19
move/from16 v1, p1
invoke-virtual {v0, v1}, Landroid/util/SparseIntArray;->get(I)I
move-result v19
invoke-virtual/range {v17 .. v19}, Lcom/android/server/wm/WindowManagerService;->debugLayoutRepeats(Ljava/lang/String;I)V
.line 387
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
move-object/from16 v17, v0
const/16 v18, 0x1
move/from16 v0, v18
move-object/from16 v1, v17
iput-boolean v0, v1, Lcom/android/server/wm/WindowManagerService;->mFocusMayChange:Z
.line 389
:cond_e6
invoke-virtual {v14}, Lcom/android/server/wm/WindowState;->isReadyForDisplay()Z
move-result v17
if-eqz v17, :cond_f4
.line 390
const/16 v17, 0x0
move/from16 v0, v17
move-object/from16 v1, p0
iput v0, v1, Lcom/android/server/wm/WindowAnimator;->mForceHiding:I
.line 446
.end local v10 #nowAnimating:Z
.end local v13 #wasAnimating:Z
:cond_f4
:goto_f4
iget-object v5, v14, Lcom/android/server/wm/WindowState;->mAppToken:Lcom/android/server/wm/AppWindowToken;
.line 447
.local v5, atoken:Lcom/android/server/wm/AppWindowToken;
iget v0, v15, Lcom/android/server/wm/WindowStateAnimator;->mDrawState:I
move/from16 v17, v0
const/16 v18, 0x3
move/from16 v0, v17
move/from16 v1, v18
if-ne v0, v1, :cond_13a
.line 448
if-eqz v5, :cond_10a
iget-boolean v0, v5, Lcom/android/server/wm/AppWindowToken;->allDrawn:Z
move/from16 v17, v0
if-eqz v17, :cond_13a
.line 449
:cond_10a
invoke-virtual {v15}, Lcom/android/server/wm/WindowStateAnimator;->performShowLocked()Z
move-result v17
if-eqz v17, :cond_13a
.line 450
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:Landroid/util/SparseIntArray;
move-object/from16 v17, v0
const/16 v18, 0x8
move-object/from16 v0, v17
move/from16 v1, p1
move/from16 v2, v18
invoke-virtual {v0, v1, v2}, Landroid/util/SparseIntArray;->put(II)V
.line 453
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
move-object/from16 v17, v0
const-string v18, "updateWindowsAndWallpaperLocked 5"
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:Landroid/util/SparseIntArray;
move-object/from16 v19, v0
move-object/from16 v0, v19
move/from16 v1, p1
invoke-virtual {v0, v1}, Landroid/util/SparseIntArray;->get(I)I
move-result v19
invoke-virtual/range {v17 .. v19}, Lcom/android/server/wm/WindowManagerService;->debugLayoutRepeats(Ljava/lang/String;I)V
.line 459
:cond_13a
iget-object v4, v15, Lcom/android/server/wm/WindowStateAnimator;->mAppAnimator:Lcom/android/server/wm/AppWindowAnimator;
.line 460
.local v4, appAnimator:Lcom/android/server/wm/AppWindowAnimator;
if-eqz v4, :cond_17a
iget-object v0, v4, Lcom/android/server/wm/AppWindowAnimator;->thumbnail:Landroid/view/Surface;
move-object/from16 v17, v0
if-eqz v17, :cond_17a
.line 461
iget v0, v4, Lcom/android/server/wm/AppWindowAnimator;->thumbnailTransactionSeq:I
move/from16 v17, v0
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mAnimTransactionSequence:I
move/from16 v18, v0
move/from16 v0, v17
move/from16 v1, v18
if-eq v0, v1, :cond_164
.line 462
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mAnimTransactionSequence:I
move/from16 v17, v0
move/from16 v0, v17
iput v0, v4, Lcom/android/server/wm/AppWindowAnimator;->thumbnailTransactionSeq:I
.line 463
const/16 v17, 0x0
move/from16 v0, v17
iput v0, v4, Lcom/android/server/wm/AppWindowAnimator;->thumbnailLayer:I
.line 465
:cond_164
iget v0, v4, Lcom/android/server/wm/AppWindowAnimator;->thumbnailLayer:I
move/from16 v17, v0
iget v0, v15, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
move/from16 v18, v0
move/from16 v0, v17
move/from16 v1, v18
if-ge v0, v1, :cond_17a
.line 466
iget v0, v15, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
move/from16 v17, v0
move/from16 v0, v17
iput v0, v4, Lcom/android/server/wm/AppWindowAnimator;->thumbnailLayer:I
.line 351
:cond_17a
add-int/lit8 v9, v9, -0x1
goto/16 :goto_28
.line 401
.end local v4 #appAnimator:Lcom/android/server/wm/AppWindowAnimator;
.end local v5 #atoken:Lcom/android/server/wm/AppWindowToken;
.restart local v10 #nowAnimating:Z
.restart local v13 #wasAnimating:Z
:cond_17e
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mPolicy:Landroid/view/WindowManagerPolicy;
move-object/from16 v17, v0
iget-object v0, v14, Lcom/android/server/wm/WindowState;->mAttrs:Landroid/view/WindowManager$LayoutParams;
move-object/from16 v18, v0
move-object/from16 v0, v17
move-object/from16 v1, v18
invoke-interface {v0, v14, v1}, Landroid/view/WindowManagerPolicy;->canBeForceHidden(Landroid/view/WindowManagerPolicy$WindowState;Landroid/view/WindowManager$LayoutParams;)Z
move-result v17
if-eqz v17, :cond_f4
.line 402
iget v0, v15, Lcom/android/server/wm/WindowStateAnimator;->mAttrFlags:I
move/from16 v17, v0
const/high16 v18, 0x8
and-int v17, v17, v18
if-nez v17, :cond_20b
const/4 v8, 0x1
.line 405
.local v8, hideWhenLocked:Z
:goto_19d
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mForceHiding:I
move/from16 v17, v0
const/16 v18, 0x1
move/from16 v0, v17
move/from16 v1, v18
if-ne v0, v1, :cond_1b3
invoke-virtual {v15}, Lcom/android/server/wm/WindowStateAnimator;->isAnimating()Z
move-result v17
if-eqz v17, :cond_1c3
if-nez v8, :cond_1c3
:cond_1b3
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mForceHiding:I
move/from16 v17, v0
const/16 v18, 0x2
move/from16 v0, v17
move/from16 v1, v18
if-ne v0, v1, :cond_20d
if-eqz v8, :cond_20d
.line 408
:cond_1c3
const/16 v17, 0x0
const/16 v18, 0x0
move/from16 v0, v17
move/from16 v1, v18
invoke-virtual {v14, v0, v1}, Lcom/android/server/wm/WindowState;->hideLw(ZZ)Z
move-result v6
.line 434
.local v6, changed:Z
:cond_1cf
:goto_1cf
if-eqz v6, :cond_f4
const/high16 v17, 0x10
and-int v17, v17, v7
if-eqz v17, :cond_f4
.line 435
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
move/from16 v17, v0
or-int/lit8 v17, v17, 0x2
move/from16 v0, v17
move-object/from16 v1, p0
iput v0, v1, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
.line 436
const/16 v17, 0x0
const/16 v18, 0x4
move-object/from16 v0, p0
move/from16 v1, v17
move/from16 v2, v18
invoke-virtual {v0, v1, v2}, Lcom/android/server/wm/WindowAnimator;->setPendingLayoutChanges(II)V
.line 439
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
move-object/from16 v17, v0
const-string v18, "updateWindowsAndWallpaperLocked 4"
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:Landroid/util/SparseIntArray;
move-object/from16 v19, v0
const/16 v20, 0x0
invoke-virtual/range {v19 .. v20}, Landroid/util/SparseIntArray;->get(I)I
move-result v19
invoke-virtual/range {v17 .. v19}, Lcom/android/server/wm/WindowManagerService;->debugLayoutRepeats(Ljava/lang/String;I)V
goto/16 :goto_f4
.line 402
.end local v6 #changed:Z
.end local v8 #hideWhenLocked:Z
:cond_20b
const/4 v8, 0x0
goto :goto_19d
.line 412
.restart local v8 #hideWhenLocked:Z
:cond_20d
const/16 v17, 0x0
const/16 v18, 0x0
move/from16 v0, v17
move/from16 v1, v18
invoke-virtual {v14, v0, v1}, Lcom/android/server/wm/WindowState;->showLw(ZZ)Z
move-result v6
.line 415
.restart local v6 #changed:Z
if-eqz v6, :cond_1cf
.line 416
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
move/from16 v17, v0
and-int/lit8 v17, v17, 0x4
if-eqz v17, :cond_23c
invoke-virtual {v14}, Lcom/android/server/wm/WindowState;->isVisibleNow()Z
move-result v17
if-eqz v17, :cond_23c
.line 418
if-nez v11, :cond_232
.line 419
new-instance v11, Ljava/util/ArrayList;
.end local v11 #unForceHiding:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/server/wm/WindowStateAnimator;>;"
invoke-direct {v11}, Ljava/util/ArrayList;-><init>()V
.line 421
.restart local v11 #unForceHiding:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/server/wm/WindowStateAnimator;>;"
:cond_232
invoke-virtual {v11, v15}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 422
const/high16 v17, 0x10
and-int v17, v17, v7
if-eqz v17, :cond_23c
.line 423
const/4 v12, 0x1
.line 426
:cond_23c
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mCurrentFocus:Lcom/android/server/wm/WindowState;
move-object/from16 v17, v0
if-eqz v17, :cond_25a
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mCurrentFocus:Lcom/android/server/wm/WindowState;
move-object/from16 v17, v0
move-object/from16 v0, v17
iget v0, v0, Lcom/android/server/wm/WindowState;->mLayer:I
move/from16 v17, v0
iget v0, v14, Lcom/android/server/wm/WindowState;->mLayer:I
move/from16 v18, v0
move/from16 v0, v17
move/from16 v1, v18
if-ge v0, v1, :cond_1cf
.line 430
:cond_25a
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
move-object/from16 v17, v0
const/16 v18, 0x1
move/from16 v0, v18
move-object/from16 v1, v17
iput-boolean v0, v1, Lcom/android/server/wm/WindowManagerService;->mFocusMayChange:Z
goto/16 :goto_1cf
.line 473
.end local v6 #changed:Z
.end local v7 #flags:I
.end local v8 #hideWhenLocked:Z
.end local v10 #nowAnimating:Z
.end local v13 #wasAnimating:Z
.end local v14 #win:Lcom/android/server/wm/WindowState;
.end local v15 #winAnimator:Lcom/android/server/wm/WindowStateAnimator;
:cond_26a
if-eqz v11, :cond_294
.line 474
invoke-virtual {v11}, Ljava/util/ArrayList;->size()I
move-result v17
add-int/lit8 v9, v17, -0x1
:goto_272
if-ltz v9, :cond_294
.line 475
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mPolicy:Landroid/view/WindowManagerPolicy;
move-object/from16 v17, v0
move-object/from16 v0, v17
invoke-interface {v0, v12}, Landroid/view/WindowManagerPolicy;->createForceHideEnterAnimation(Z)Landroid/view/animation/Animation;
move-result-object v3
.line 476
.local v3, a:Landroid/view/animation/Animation;
if-eqz v3, :cond_291
.line 477
invoke-virtual {v11, v9}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v15
check-cast v15, Lcom/android/server/wm/WindowStateAnimator;
.line 478
.restart local v15 #winAnimator:Lcom/android/server/wm/WindowStateAnimator;
invoke-virtual {v15, v3}, Lcom/android/server/wm/WindowStateAnimator;->setAnimation(Landroid/view/animation/Animation;)V
.line 479
const/16 v17, 0x1
move/from16 v0, v17
iput-boolean v0, v15, Lcom/android/server/wm/WindowStateAnimator;->mAnimationIsEntrance:Z
.line 474
.end local v15 #winAnimator:Lcom/android/server/wm/WindowStateAnimator;
:cond_291
add-int/lit8 v9, v9, -0x1
goto :goto_272
.line 483
.end local v3 #a:Landroid/view/animation/Animation;
:cond_294
return-void
.end method
DONE !! :good::laugh:
VERTICAL CRT OFF ANIMATION
DECOMPILE services.jar
\com\android\server\power\ElectronBeam.smali
1.find this method
Code:
.method private drawHStretch(F)V
Delete that line until its .end method
Code:
.method private drawHStretch(F)V
-
-
-
DELETE that line until its .end method
-
-
-
.end method
and replace with this
Code:
.method private drawHStretch(F)V
.registers 9
.parameter "stretch"
.prologue
const v6, 0x8074
const/4 v5, 0x0
const/high16 v4, 0x3f80
.line 325
const/high16 v1, 0x4100
invoke-static {p1, v1}, Lcom/android/server/power/ElectronBeam;->scurve(FF)F
move-result v0
.line 330
.local v0, ag:F
cmpg-float v1, p1, v4
if-gez v1, :cond_37
.line 332
const/4 v1, 0x2
const/16 v2, 0x1406
iget-object v3, p0, Lcom/android/server/power/ElectronBeam;->mVertexBuffer:Ljava/nio/FloatBuffer;
invoke-static {v1, v2, v5, v3}, Landroid/opengl/GLES10;->glVertexPointer(IIILjava/nio/Buffer;)V
.line 333
invoke-static {v6}, Landroid/opengl/GLES10;->glEnableClientState(I)V
.line 336
iget-object v1, p0, Lcom/android/server/power/ElectronBeam;->mVertexBuffer:Ljava/nio/FloatBuffer;
iget v2, p0, Lcom/android/server/power/ElectronBeam;->mDisplayWidth:I
int-to-float v2, v2
iget v3, p0, Lcom/android/server/power/ElectronBeam;->mDisplayHeight:I
int-to-float v3, v3
invoke-static {v1, v2, v3, v0}, Lcom/android/server/power/ElectronBeam;->setHStretchQuad(Ljava/nio/FloatBuffer;FFF)V
.line 337
sub-float v1, v4, v0
sub-float v2, v4, v0
sub-float v3, v4, v0
invoke-static {v1, v2, v3, v4}, Landroid/opengl/GLES10;->glColor4f(FFFF)V
.line 338
const/4 v1, 0x6
const/4 v2, 0x4
invoke-static {v1, v5, v2}, Landroid/opengl/GLES10;->glDrawArrays(III)V
.line 341
invoke-static {v6}, Landroid/opengl/GLES10;->glDisableClientState(I)V
.line 343
:cond_37
return-void
.end method
2.NEXT find this method
Code:
.method private drawVStretch(F)V
Delete that line until its .end method
Code:
.method private drawVStretch(F)V
-
-
-
- DELETE that line until its .end method
-
-
-
.end method
and Replace with this
Code:
.method private drawVStretch(F)V
.registers 13
.parameter "stretch"
.prologue
const/4 v10, 0x6
const/4 v9, 0x4
const/16 v8, 0xde1
const/4 v7, 0x1
const/4 v6, 0x0
.line 253
const/high16 v3, 0x40f0
invoke-static {p1, v3}, Lcom/android/server/power/ElectronBeam;->scurve(FF)F
move-result v2
.line 254
.local v2, ar:F
const/high16 v3, 0x4100
invoke-static {p1, v3}, Lcom/android/server/power/ElectronBeam;->scurve(FF)F
move-result v1
.line 255
.local v1, ag:F
const/high16 v3, 0x4108
invoke-static {p1, v3}, Lcom/android/server/power/ElectronBeam;->scurve(FF)F
move-result v0
.line 262
.local v0, ab:F
invoke-static {v7, v7}, Landroid/opengl/GLES10;->glBlendFunc(II)V
.line 263
const/16 v3, 0xbe2
invoke-static {v3}, Landroid/opengl/GLES10;->glEnable(I)V
.line 266
const/4 v3, 0x2
const/16 v4, 0x1406
iget-object v5, p0, Lcom/android/server/power/ElectronBeam;->mVertexBuffer:Ljava/nio/FloatBuffer;
invoke-static {v3, v4, v6, v5}, Landroid/opengl/GLES10;->glVertexPointer(IIILjava/nio/Buffer;)V
.line 267
const v3, 0x8074
invoke-static {v3}, Landroid/opengl/GLES10;->glEnableClientState(I)V
.line 270
iget-object v3, p0, Lcom/android/server/power/ElectronBeam;->mTexNames:[I
aget v3, v3, v6
invoke-static {v8, v3}, Landroid/opengl/GLES10;->glBindTexture(II)V
.line 271
const/16 v4, 0x2300
const/16 v5, 0x2200
iget v3, p0, Lcom/android/server/power/ElectronBeam;->mMode:I
if-nez v3, :cond_c8
const/16 v3, 0x2100
:goto_3f
invoke-static {v4, v5, v3}, Landroid/opengl/GLES10;->glTexEnvx(III)V
.line 273
const/16 v3, 0x2800
const/16 v4, 0x2601
invoke-static {v8, v3, v4}, Landroid/opengl/GLES10;->glTexParameterx(III)V
.line 275
const/16 v3, 0x2801
const/16 v4, 0x2601
invoke-static {v8, v3, v4}, Landroid/opengl/GLES10;->glTexParameterx(III)V
.line 277
const/16 v3, 0x2802
const v4, 0x812f
invoke-static {v8, v3, v4}, Landroid/opengl/GLES10;->glTexParameterx(III)V
.line 279
const/16 v3, 0x2803
const v4, 0x812f
invoke-static {v8, v3, v4}, Landroid/opengl/GLES10;->glTexParameterx(III)V
.line 281
invoke-static {v8}, Landroid/opengl/GLES10;->glEnable(I)V
.line 282
const/4 v3, 0x2
const/16 v4, 0x1406
iget-object v5, p0, Lcom/android/server/power/ElectronBeam;->mTexCoordBuffer:Ljava/nio/FloatBuffer;
invoke-static {v3, v4, v6, v5}, Landroid/opengl/GLES10;->glTexCoordPointer(IIILjava/nio/Buffer;)V
.line 283
const v3, 0x8078
invoke-static {v3}, Landroid/opengl/GLES10;->glEnableClientState(I)V
.line 286
iget-object v3, p0, Lcom/android/server/power/ElectronBeam;->mVertexBuffer:Ljava/nio/FloatBuffer;
iget v4, p0, Lcom/android/server/power/ElectronBeam;->mDisplayWidth:I
int-to-float v4, v4
iget v5, p0, Lcom/android/server/power/ElectronBeam;->mDisplayHeight:I
int-to-float v5, v5
invoke-static {v3, v4, v5, v2}, Lcom/android/server/power/ElectronBeam;->setVStretchQuad(Ljava/nio/FloatBuffer;FFF)V
.line 287
invoke-static {v7, v6, v6, v7}, Landroid/opengl/GLES10;->glColorMask(ZZZZ)V
.line 288
invoke-static {v10, v6, v9}, Landroid/opengl/GLES10;->glDrawArrays(III)V
.line 291
iget-object v3, p0, Lcom/android/server/power/ElectronBeam;->mVertexBuffer:Ljava/nio/FloatBuffer;
iget v4, p0, Lcom/android/server/power/ElectronBeam;->mDisplayWidth:I
int-to-float v4, v4
iget v5, p0, Lcom/android/server/power/ElectronBeam;->mDisplayHeight:I
int-to-float v5, v5
invoke-static {v3, v4, v5, v1}, Lcom/android/server/power/ElectronBeam;->setVStretchQuad(Ljava/nio/FloatBuffer;FFF)V
.line 292
invoke-static {v6, v7, v6, v7}, Landroid/opengl/GLES10;->glColorMask(ZZZZ)V
.line 293
invoke-static {v10, v6, v9}, Landroid/opengl/GLES10;->glDrawArrays(III)V
.line 296
iget-object v3, p0, Lcom/android/server/power/ElectronBeam;->mVertexBuffer:Ljava/nio/FloatBuffer;
iget v4, p0, Lcom/android/server/power/ElectronBeam;->mDisplayWidth:I
int-to-float v4, v4
iget v5, p0, Lcom/android/server/power/ElectronBeam;->mDisplayHeight:I
int-to-float v5, v5
invoke-static {v3, v4, v5, v0}, Lcom/android/server/power/ElectronBeam;->setVStretchQuad(Ljava/nio/FloatBuffer;FFF)V
.line 297
invoke-static {v6, v6, v7, v7}, Landroid/opengl/GLES10;->glColorMask(ZZZZ)V
.line 298
invoke-static {v10, v6, v9}, Landroid/opengl/GLES10;->glDrawArrays(III)V
.line 301
invoke-static {v8}, Landroid/opengl/GLES10;->glDisable(I)V
.line 302
const v3, 0x8078
invoke-static {v3}, Landroid/opengl/GLES10;->glDisableClientState(I)V
.line 303
invoke-static {v7, v7, v7, v7}, Landroid/opengl/GLES10;->glColorMask(ZZZZ)V
.line 306
iget v3, p0, Lcom/android/server/power/ElectronBeam;->mMode:I
if-ne v3, v7, :cond_bc
.line 307
const/high16 v3, 0x3f80
invoke-static {v1, v1, v1, v3}, Landroid/opengl/GLES10;->glColor4f(FFFF)V
.line 308
invoke-static {v10, v6, v9}, Landroid/opengl/GLES10;->glDrawArrays(III)V
.line 312
:cond_bc
const v3, 0x8074
invoke-static {v3}, Landroid/opengl/GLES10;->glDisableClientState(I)V
.line 313
const/16 v3, 0xbe2
invoke-static {v3}, Landroid/opengl/GLES10;->glDisable(I)V
.line 314
return-void
.line 271
:cond_c8
const/16 v3, 0x1e01
goto/16 :goto_3f
.end method
3. NEXT find this method
Code:
.method private static setHStretchQuad(Ljava/nio/FloatBuffer;FFF)V
DELETE that line until its .end method
Code:
.method private static setHStretchQuad(Ljava/nio/FloatBuffer;FFF)V
-
-
-
- DELETE that line until its .end method
-
-
-
.end method
and Replace with this
Code:
.method private static setHStretchQuad(Ljava/nio/FloatBuffer;FFF)V
.registers 11
.parameter "vtx"
.parameter "dw"
.parameter "dh"
.parameter "a"
.prologue
const/high16 v6, 0x3f80
const/high16 v5, 0x3f00
.line 354
const/high16 v1, 0x3f80
.line 355
.local v1, w:F
mul-float v4, p1, p3
add-float v0, p1, v4
.line 356
.local v0, h:F
sub-float v4, p1, v6
mul-float v2, v4, v5
.line 357
.local v2, x:F
sub-float v4, p2, v0
mul-float v3, v4, v5
.line 358
.local v3, y:F
invoke-static {p0, v2, v3, v6, v0}, Lcom/android/server/power/ElectronBeam;->setQuad(Ljava/nio/FloatBuffer;FFFF)V
.line 359
return-void
.end method
4. NEXT find this method
Code:
.method private static setVStretchQuad(Ljava/nio/FloatBuffer;FFF)V
Delete that line Until its .end method
Code:
.method private static setVStretchQuad(Ljava/nio/FloatBuffer;FFF)V
-
-
-
- DELETE that line until its .end method
-
-
-
-.end.method
and Replace with this
Code:
.method private static setVStretchQuad(Ljava/nio/FloatBuffer;FFF)V
.registers 10
.parameter "vtx"
.parameter "dw"
.parameter "dh"
.parameter "a"
.prologue
const/high16 v5, 0x3f00
.line 346
mul-float v4, p1, p3
sub-float v1, p1, v4
.line 347
.local v1, w:F
mul-float v4, p2, p3
add-float v0, p2, v4
.line 348
.local v0, h:F
sub-float v4, p1, v1
mul-float v2, v4, v5
.line 349
.local v2, x:F
sub-float v4, p2, v0
mul-float v3, v4, v5
.line 350
.local v3, y:F
invoke-static {p0, v2, v3, v1, v0}, Lcom/android/server/power/ElectronBeam;->setQuad(Ljava/nio/FloatBuffer;FFFF)V
.line 351
return-void
.end method
DONE !!! and Compile.
wonderful/aweful Mod and Guide....
Hi Hi and gongrats for your great work and your effort! Hats up and :highfive::good:....I tried to realize this since hours, days...yes even weeks...got lot of headaches and finally almost gave up....but now you did it...many thanks for it and for the guide and sharing your knowledge!!
I already got it "portet" to Galaxy S1 and Supernexus Rom...and it sure works .
Do you mind, and do you give me your permission to use it in a new Thread in the Themes/Apps section of SGS1? I am thinking of title the thread for CM10.1 Nightlys as you did, but if there are inquiries from users for other ROMs I would like to fullfill them in that thread too. Sure all thanks and credits will only go to you and I mention you and your threads in the very first position of my OP.
rodman01 said:
Hi Hi and gongrats for your great work and your effort! Hats up and :highfive::good:....I tried to realize this since hours, days...yes even weeks...got lot of headaches and finally almost gave up....but now you did it...many thanks for it and for the guide and sharing your knowledge!!
I already got it "portet" to Galaxy S1 and Supernexus Rom...and it sure works .
Do you mind, and do you give me your permission to use it in a new Thread in the Themes/Apps section of SGS1? I am thinking of title the thread for CM10.1 Nightlys as you did, but if there are inquiries rom users for other ROMs I would like to fullfill them in that thread too. Sure all thanks and credits will only go to you and I mention you and your threads in the very first position of my OP.
Click to expand...
Click to collapse
No problem.. you can re-post it again with your own style packaging..
And Glad to know it work to your device :thumbup:
Sent from my GT-I8150 using xda app-developers app
THANK YOU!!!!!!!!!!!!
@Adi Aisiteru Reborn
You'v helped me soooooooooooooo much!!! Thank you for a wonderful guide!!!!
:good:
I have a question, you seem to be quite skilled in modding the cm10.1 platform. Would you by any chance know how to make the notification item bg transparent or at least replace it with a nice transparent pic? I've been replacing .9.pngs and working on both framework-res and SystemUI and I can't seem to get it done no matter what I do.
Any clue?
Any suggestion would be highly appreciated!!!
Thank you in advance,
Dax
Thanks can you add one to make the navigation bar transparent too
Sent from my Galaxy Nexus using xda premium
daxgirl said:
@Adi Aisiteru Reborn
You'v helped me soooooooooooooo much!!! Thank you for a wonderful guide!!!!
:good:
I have a question, you seem to be quite skilled in modding the cm10.1 platform. Would you by any chance know how to make the notification item bg transparent or at least replace it with a nice transparent pic? I've been replacing .9.pngs and working on both framework-res and SystemUI and I can't seem to get it done no matter what I do.
Any clue?
Any suggestion would be highly appreciated!!!
Thank you in advance,
Dax
Click to expand...
Click to collapse
you mean like this :
DECOMPILE framework-res.apk
/res/drawable/notification_bg.xml
BEFORE
LINE xml 5
Code:
<item android:state_pressed="false" android:drawable=[COLOR="Red"]"@drawable/notification_bg_normal"[/COLOR] />
CHANGE IT TO
Code:
<item android:state_pressed="false" android:drawable=[COLOR="Red"]"@drawable/notification_item_background_color"[/COLOR] />
NEXT
/res/values/drawables.xml
Code:
<item type="drawable" name="notification_item_background_color">[COLOR="Red"]#00000000[/COLOR]</item>
DONE , AND COMPILE,. no need 9.png :good::laugh:
nirvanax said:
Thanks can you add one to make the navigation bar transparent too
Sent from my Galaxy Nexus using xda premium
Click to expand...
Click to collapse
sure I will,. just wait for that..
EDIT,. I've tried it, but the navbar still show black background
I will try to solve this
Wow many thanks for the QuickSettings 4/5 columns how-to!
For me it's simple..if no QuickSettings 4 columns choice in a rom I prefer keep it up with power toggles.
Something could be added mainly for a 5 columns choice maybe, text on tiles appears often truncated with 5 columns so a way to un-display text on tiles would be great.
It could be done artificially too by changing tiles text color to be the same as tiles background maybe? I have no real idea about it if possible or not (maybe text on tiles is "same"text used on others parts?), personally i only made tiles backround color changes for now (since Rodman01 once talked to me about this ).
Thanks!
Bejda said:
Wow many thanks for the QuickSettings 4/5 columns how-to!
For me it's simple..if no QuickSettings 4 columns choice in a rom I prefer keep it up with power toggles.
Something could be added mainly for a 5 columns choice maybe, text on tiles appears often truncated with 5 columns so a way to un-display text on tiles would be great.
It could be done artificially too by changing tiles text color to be the same as tiles background maybe? I have no real idea about it if possible or not (maybe text on tiles is "same"text used on others parts?), personally i only made tiles backround color changes for now (since Rodman01 once talked to me about this ).
Thanks!
Click to expand...
Click to collapse
can you explain it more specific ?
give me example screenshot bro,.
ADDED - GUIDE TRANSPARENT LOCKSCREEN IN POST #5
:good::laugh:
Some tweaking for your mod
Hi Adi!
Did some tweaking to your quick settings mode. If you like it (or anyone else for that matter), here is how it goes:
Decompile SystemUI.apk
Navigate to res/drawable/qs_tile_background.xml
Replace the entire content of the document with my code:
Code:
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape>
<solid android:color="#7f33b5e5" />
<stroke
android:width="1dp"
android:color="#ffffffff" />
<corners
android:radius="3dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="#7fffffff"
android:centerColor="#00000000"
android:endColor="#7fffffff"
android:angle="270"
android:centerX="0.2"
android:centerY="0.3" />
<stroke
android:width="1dp"
android:color="#ff33b5e5" />
<corners
android:radius="4dp" />
</shape>
</item>
</selector>
The picture is with 4 columns. Since the mod is in XML it doesn't matter how many columns you create - it'll fit
Some additional things that I modded here:
res/values/dimens.xml
Code:
<dimen name="quick_settings_cell_gap">[COLOR="Red"]3.0dip[/COLOR]</dimen>
res/values/styles.xml
Code:
<style name="TextAppearance.QuickSettings.TileView" parent="@style/TextAppearance.QuickSettings">
<item name="android:textSize">[COLOR="red"]11.0dip[/COLOR]</item>
<item name="android:textStyle">[COLOR="red"]bold[/COLOR]</item>
<item name="android:textColor">[COLOR="red"]#ffffffff[/COLOR]</item>
<item name="android:ellipsize">marquee</item>
<item name="android:paddingLeft">6.0dip</item>
<item name="android:paddingRight">6.0dip</item>
<item name="android:paddingBottom">2.0dip</item>
<item name="android:fadingEdge">horizontal</item>
<item name="android:singleLine">true</item>
<item name="android:drawablePadding">12.0dip</item>
<item name="android:textAllCaps">[COLOR="red"]false[/COLOR]</item>
Cheers!!!
daxgirl said:
Hi Adi!
Did some tweaking to your quick settings mode. If you like it (or anyone else for that matter), here is how it goes:
Decompile SystemUI.apk
Navigate to res/drawable/qs_tile_background.xml
Replace the entire content of the document with my code:
Code:
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape>
<solid android:color="#7f33b5e5" />
<stroke
android:width="1dp"
android:color="#ffffffff" />
<corners
android:radius="3dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="#7fffffff"
android:centerColor="#00000000"
android:endColor="#7fffffff"
android:angle="270"
android:centerX="0.2"
android:centerY="0.3" />
<stroke
android:width="1dp"
android:color="#ff33b5e5" />
<corners
android:radius="4dp" />
</shape>
</item>
</selector>
The picture is with 4 columns. Since the mod is in XML it doesn't matter how many columns you create - it'll fit
Some additional things that I modded here:
res/values/dimens.xml
Code:
<dimen name="quick_settings_cell_gap">[COLOR="Red"]3.0dip[/COLOR]</dimen>
res/values/styles.xml
Code:
<style name="TextAppearance.QuickSettings.TileView" parent="@style/TextAppearance.QuickSettings">
<item name="android:textSize">[COLOR="red"]11.0dip[/COLOR]</item>
<item name="android:textStyle">[COLOR="red"]bold[/COLOR]</item>
<item name="android:textColor">[COLOR="red"]#ffffffff[/COLOR]</item>
<item name="android:ellipsize">marquee</item>
<item name="android:paddingLeft">6.0dip</item>
<item name="android:paddingRight">6.0dip</item>
<item name="android:paddingBottom">2.0dip</item>
<item name="android:fadingEdge">horizontal</item>
<item name="android:singleLine">true</item>
<item name="android:drawablePadding">12.0dip</item>
<item name="android:textAllCaps">[COLOR="red"]false[/COLOR]</item>
Cheers!!!
Click to expand...
Click to collapse
Nice Broo, :good::laugh:
I 'll put this post to first post :good:
THANKS
Adi Aisiteru Reborn said:
Nice Broo, :good::laugh:
I 'll put this post to first post :good:
THANKS
Click to expand...
Click to collapse
You're welcome. Anytime!!! It was created on Galaxy S. I'll post it there at some point with full credit to you for the 4clmn QS mod of course Keep up the great work!!!
P.S. it's not broo. if anything, it's sis
Cheers, mate!
daxgirl said:
You're welcome. Anytime!!! It was created on Galaxy S. I'll post it there at some point with full credit to you for the 4clmn QS mod of course Keep up the great work!!!
P.S. it's not broo. if anything, it's sis
Cheers, mate!
Click to expand...
Click to collapse
DONE in first post, please Check sist
Cancelling autodimming for transparent status bar
Thanks, appreciate it
One more thing I forgot to tell you. It's about the transparent status bar.
As you know, google introduced the autodimming of notification icons (top left) couple APIs back.
So when you set the status bar to transparent, the icons look dim and kinda transparent and not at all easy to see on any wallpaper.
In order to tweak the notifications drawing alpha, go to:
SystemUI.apk/res/values/dimens.xml
find this dimen:
Code:
<item type="dimen" name="status_bar_icon_drawing_alpha">[COLOR="Green"]65.0%[/COLOR]</item>
and change the percentage value to anything you want. Usually I'm using rather bright wallpapers, so I set it to 100%.
You can just increase it to whatever value you want and find nicely visible
Cheers!!!

[MOD][DEV][SMALI] Blackberry ten style Lockscreen for CM10

GUIDE (SMALI) CM1O BLACKBERRY TEN STYLE LOCKSCREEN FOR HDPI / XHDPI DEVICES ONLY
FOR MDPI DEVICES , GO HERE http://forum.xda-developers.com/showthread.php?t=2341179
Hi..Hi..Hello XDA especially for Developer only
I want to share to you all how to make Mod Backberry ten style lockscreen but only for HDPI/XHDPI Devices running CyanogenMod 10
I am coming from this guide thread http://forum.xda-developers.com/showthread.php?t=1920612
and Full Credit goes to the original founder Senior Member EVILISTO
and here I want to share it to you how to make Mod Blackberry ten style lockscreen but with SMALI code :good:
I made one for my device Galaxy Wonder GT-I8150 : http://forum.xda-developers.com/showthread.php?t=2224691
THANKS to sir Arco68 for giving our device smooth and stable CyanogenMod 10 :good:
and Thanks to Sir Idiomedi for helping me with the Blackberry WaveView.smali
ok lets go to Guide:
first of all need some requirement for this MOD-GUIDE
REQUIREMENT:
- BRAIN
- Patient
- experience
- Know how to decompile/recompiling Apk file
- Know how to decompile/recompiling jar Apk file
- notepad++
- Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools/ or else
​
STEP-1
DECOMPILE android.policy.jar
\com\android\internal\policy\impl\ KeyguardViewManager.smali
find this line
Code:
const v4, 0x4100800
Change it to
Code:
const v4, 0x4000800
save and compile
NEXT
STEP-2
DECOMPILE services.jar
\com\android\server\wm\WindowAnimator.smali
find this method
Code:
.method private updateWindowsAndWallpaperLocked()V
DELETE that line until its .end method
Code:
.method private updateWindowsAndWallpaperLocked()V
-
-
-
-
DELETE UNTIL ITS .end method
-
-
-
-
.end method
REPLACE WITH THIS
Code:
.method private updateWindowsAndWallpaperLocked()V
.registers 19
.prologue
.line 203
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mAnimTransactionSequence:I
add-int/lit8 v15, v15, 0x1
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mAnimTransactionSequence:I
.line 205
const/4 v10, 0x0
.line 206
.local v10, unForceHiding:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/server/wm/WindowStateAnimator;>;"
const/4 v11, 0x0
.line 208
.local v11, wallpaperInUnForceHiding:Z
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
iget-object v15, v15, Lcom/android/server/wm/WindowManagerService;->mWindows:Ljava/util/ArrayList;
invoke-virtual {v15}, Ljava/util/ArrayList;->size()I
move-result v15
add-int/lit8 v8, v15, -0x1
.local v8, i:I
:goto_18
if-ltz v8, :cond_271
.line 209
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
iget-object v15, v15, Lcom/android/server/wm/WindowManagerService;->mWindows:Ljava/util/ArrayList;
invoke-virtual {v15, v8}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v13
check-cast v13, Lcom/android/server/wm/WindowState;
.line 210
.local v13, win:Lcom/android/server/wm/WindowState;
iget-object v14, v13, Lcom/android/server/wm/WindowState;->mWinAnimator:Lcom/android/server/wm/WindowStateAnimator;
.line 211
.local v14, winAnimator:Lcom/android/server/wm/WindowStateAnimator;
iget v6, v14, Lcom/android/server/wm/WindowStateAnimator;->mAttrFlags:I
.line 213
.local v6, flags:I
iget-object v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mSurface:Landroid/view/Surface;
if-eqz v15, :cond_14d
.line 214
iget-boolean v12, v14, Lcom/android/server/wm/WindowStateAnimator;->mWasAnimating:Z
.line 215
.local v12, wasAnimating:Z
move-object/from16 v0, p0
iget-wide v15, v0, Lcom/android/server/wm/WindowAnimator;->mCurrentTime:J
invoke-virtual/range {v14 .. v16}, Lcom/android/server/wm/WindowStateAnimator;->stepAnimationLocked(J)Z
move-result v9
.line 225
.local v9, nowAnimating:Z
if-eqz v9, :cond_82
.line 226
iget-object v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimation:Landroid/view/animation/Animation;
if-eqz v15, :cond_7d
.line 227
const/high16 v15, 0x10
and-int/2addr v15, v6
if-eqz v15, :cond_4f
iget-object v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimation:Landroid/view/animation/Animation;
invoke-virtual {v15}, Landroid/view/animation/Animation;->getDetachWallpaper()Z
move-result v15
if-eqz v15, :cond_4f
.line 229
move-object/from16 v0, p0
iput-object v13, v0, Lcom/android/server/wm/WindowAnimator;->mDetachedWallpaper:Lcom/android/server/wm/WindowState;
.line 231
:cond_4f
iget-object v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimation:Landroid/view/animation/Animation;
invoke-virtual {v15}, Landroid/view/animation/Animation;->getBackgroundColor()I
move-result v4
.line 232
.local v4, backgroundColor:I
if-eqz v4, :cond_7d
.line 233
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackground:Lcom/android/server/wm/WindowState;
if-eqz v15, :cond_75
iget v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackground:Lcom/android/server/wm/WindowState;
move-object/from16 v16, v0
move-object/from16 v0, v16
iget-object v0, v0, Lcom/android/server/wm/WindowState;->mWinAnimator:Lcom/android/server/wm/WindowStateAnimator;
move-object/from16 v16, v0
move-object/from16 v0, v16
iget v0, v0, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
move/from16 v16, v0
move/from16 v0, v16
if-ge v15, v0, :cond_7d
.line 236
:cond_75
move-object/from16 v0, p0
iput-object v13, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackground:Lcom/android/server/wm/WindowState;
.line 237
move-object/from16 v0, p0
iput v4, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackgroundColor:I
.line 241
.end local v4 #backgroundColor:I
:cond_7d
const/4 v15, 0x1
move-object/from16 v0, p0
iput-boolean v15, v0, Lcom/android/server/wm/WindowAnimator;->mAnimating:Z
.line 247
:cond_82
iget-object v15, v13, Lcom/android/server/wm/WindowState;->mAppToken:Lcom/android/server/wm/AppWindowToken;
if-nez v15, :cond_1ac
const/4 v2, 0x0
.line 249
.local v2, appAnimator:Lcom/android/server/wm/AppWindowAnimator;
:goto_87
if-eqz v2, :cond_d0
iget-object v15, v2, Lcom/android/server/wm/AppWindowAnimator;->animation:Landroid/view/animation/Animation;
if-eqz v15, :cond_d0
iget-boolean v15, v2, Lcom/android/server/wm/AppWindowAnimator;->animating:Z
if-eqz v15, :cond_d0
.line 251
const/high16 v15, 0x10
and-int/2addr v15, v6
if-eqz v15, :cond_a2
iget-object v15, v2, Lcom/android/server/wm/AppWindowAnimator;->animation:Landroid/view/animation/Animation;
invoke-virtual {v15}, Landroid/view/animation/Animation;->getDetachWallpaper()Z
move-result v15
if-eqz v15, :cond_a2
.line 253
move-object/from16 v0, p0
iput-object v13, v0, Lcom/android/server/wm/WindowAnimator;->mDetachedWallpaper:Lcom/android/server/wm/WindowState;
.line 255
:cond_a2
iget-object v15, v2, Lcom/android/server/wm/AppWindowAnimator;->animation:Landroid/view/animation/Animation;
invoke-virtual {v15}, Landroid/view/animation/Animation;->getBackgroundColor()I
move-result v4
.line 256
.restart local v4 #backgroundColor:I
if-eqz v4, :cond_d0
.line 257
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackground:Lcom/android/server/wm/WindowState;
if-eqz v15, :cond_c8
iget v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackground:Lcom/android/server/wm/WindowState;
move-object/from16 v16, v0
move-object/from16 v0, v16
iget-object v0, v0, Lcom/android/server/wm/WindowState;->mWinAnimator:Lcom/android/server/wm/WindowStateAnimator;
move-object/from16 v16, v0
move-object/from16 v0, v16
iget v0, v0, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
move/from16 v16, v0
move/from16 v0, v16
if-ge v15, v0, :cond_d0
.line 260
:cond_c8
move-object/from16 v0, p0
iput-object v13, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackground:Lcom/android/server/wm/WindowState;
.line 261
move-object/from16 v0, p0
iput v4, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackgroundColor:I
.line 266
.end local v4 #backgroundColor:I
:cond_d0
if-eqz v12, :cond_101
iget-boolean v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimating:Z
if-nez v15, :cond_101
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
iget-object v15, v15, Lcom/android/server/wm/WindowManagerService;->mWallpaperTarget:Lcom/android/server/wm/WindowState;
if-ne v15, v13, :cond_101
.line 267
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
or-int/lit8 v15, v15, 0x2
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
.line 268
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
or-int/lit8 v15, v15, 0x4
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
.line 270
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
const-string v16, "updateWindowsAndWallpaperLocked 2"
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
move/from16 v17, v0
invoke-virtual/range {v15 .. v17}, Lcom/android/server/wm/WindowManagerService;->debugLayoutRepeats(Ljava/lang/String;I)V
.line 275
:cond_101
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mPolicy:Landroid/view/WindowManagerPolicy;
iget-object v0, v13, Lcom/android/server/wm/WindowState;->mAttrs:Landroid/view/WindowManager$LayoutParams;
move-object/from16 v16, v0
move-object/from16 v0, v16
invoke-interface {v15, v13, v0}, Landroid/view/WindowManagerPolicy;->doesForceHide(Landroid/view/WindowManagerPolicy$WindowState;Landroid/view/WindowManager$LayoutParams;)Z
move-result v15
if-eqz v15, :cond_1b2
.line 276
if-nez v12, :cond_142
if-eqz v9, :cond_142
.line 280
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
or-int/lit8 v15, v15, 0x4
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
.line 281
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
or-int/lit8 v15, v15, 0x4
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
.line 283
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
const-string v16, "updateWindowsAndWallpaperLocked 3"
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
move/from16 v17, v0
invoke-virtual/range {v15 .. v17}, Lcom/android/server/wm/WindowManagerService;->debugLayoutRepeats(Ljava/lang/String;I)V
.line 286
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
const/16 v16, 0x1
move/from16 v0, v16
iput-boolean v0, v15, Lcom/android/server/wm/WindowManagerService;->mFocusMayChange:Z
.line 288
:cond_142
invoke-virtual {v13}, Lcom/android/server/wm/WindowState;->isReadyForDisplay()Z
move-result v15
if-eqz v15, :cond_14d
.line 289
const/4 v15, 0x0
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mForceHiding:I
.line 344
.end local v2 #appAnimator:Lcom/android/server/wm/AppWindowAnimator;
.end local v9 #nowAnimating:Z
.end local v12 #wasAnimating:Z
:cond_14d
:goto_14d
iget-object v3, v13, Lcom/android/server/wm/WindowState;->mAppToken:Lcom/android/server/wm/AppWindowToken;
.line 345
.local v3, atoken:Lcom/android/server/wm/AppWindowToken;
iget v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mDrawState:I
const/16 v16, 0x3
move/from16 v0, v16
if-ne v15, v0, :cond_17c
.line 346
if-eqz v3, :cond_15d
iget-boolean v15, v3, Lcom/android/server/wm/AppWindowToken;->allDrawn:Z
if-eqz v15, :cond_17c
.line 347
:cond_15d
invoke-virtual {v14}, Lcom/android/server/wm/WindowStateAnimator;->performShowLocked()Z
move-result v15
if-eqz v15, :cond_17c
.line 348
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
or-int/lit8 v15, v15, 0x8
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
.line 350
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
const-string v16, "updateWindowsAndWallpaperLocked 5"
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
move/from16 v17, v0
invoke-virtual/range {v15 .. v17}, Lcom/android/server/wm/WindowManagerService;->debugLayoutRepeats(Ljava/lang/String;I)V
.line 356
:cond_17c
if-nez v3, :cond_26d
const/4 v2, 0x0
.line 358
.restart local v2 #appAnimator:Lcom/android/server/wm/AppWindowAnimator;
:goto_17f
if-eqz v2, :cond_1a8
iget-object v15, v2, Lcom/android/server/wm/AppWindowAnimator;->thumbnail:Landroid/view/Surface;
if-eqz v15, :cond_1a8
.line 359
iget v15, v2, Lcom/android/server/wm/AppWindowAnimator;->thumbnailTransactionSeq:I
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mAnimTransactionSequence:I
move/from16 v16, v0
move/from16 v0, v16
if-eq v15, v0, :cond_19a
.line 360
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mAnimTransactionSequence:I
iput v15, v2, Lcom/android/server/wm/AppWindowAnimator;->thumbnailTransactionSeq:I
.line 361
const/4 v15, 0x0
iput v15, v2, Lcom/android/server/wm/AppWindowAnimator;->thumbnailLayer:I
.line 363
:cond_19a
iget v15, v2, Lcom/android/server/wm/AppWindowAnimator;->thumbnailLayer:I
iget v0, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
move/from16 v16, v0
move/from16 v0, v16
if-ge v15, v0, :cond_1a8
.line 364
iget v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
iput v15, v2, Lcom/android/server/wm/AppWindowAnimator;->thumbnailLayer:I
.line 208
:cond_1a8
add-int/lit8 v8, v8, -0x1
goto/16 :goto_18
.line 247
.end local v2 #appAnimator:Lcom/android/server/wm/AppWindowAnimator;
.end local v3 #atoken:Lcom/android/server/wm/AppWindowToken;
.restart local v9 #nowAnimating:Z
.restart local v12 #wasAnimating:Z
:cond_1ac
iget-object v15, v13, Lcom/android/server/wm/WindowState;->mAppToken:Lcom/android/server/wm/AppWindowToken;
iget-object v2, v15, Lcom/android/server/wm/AppWindowToken;->mAppAnimator:Lcom/android/server/wm/AppWindowAnimator;
goto/16 :goto_87
.line 300
.restart local v2 #appAnimator:Lcom/android/server/wm/AppWindowAnimator;
:cond_1b2
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mPolicy:Landroid/view/WindowManagerPolicy;
iget-object v0, v13, Lcom/android/server/wm/WindowState;->mAttrs:Landroid/view/WindowManager$LayoutParams;
move-object/from16 v16, v0
move-object/from16 v0, v16
invoke-interface {v15, v13, v0}, Landroid/view/WindowManagerPolicy;->canBeForceHidden(Landroid/view/WindowManagerPolicy$WindowState;Landroid/view/WindowManager$LayoutParams;)Z
move-result v15
if-eqz v15, :cond_14d
.line 301
iget v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAttrFlags:I
const/high16 v16, 0x8
and-int v15, v15, v16
if-nez v15, :cond_21e
const/4 v7, 0x1
.line 304
.local v7, hideWhenLocked:Z
:goto_1cb
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mForceHiding:I
const/16 v16, 0x1
move/from16 v0, v16
if-ne v15, v0, :cond_1dd
invoke-virtual {v14}, Lcom/android/server/wm/WindowStateAnimator;->isAnimating()Z
move-result v15
if-eqz v15, :cond_1e9
if-nez v7, :cond_1e9
:cond_1dd
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mForceHiding:I
const/16 v16, 0x2
move/from16 v0, v16
if-ne v15, v0, :cond_220
if-eqz v7, :cond_220
.line 307
:cond_1e9
const/4 v15, 0x0
const/16 v16, 0x0
move/from16 v0, v16
invoke-virtual {v13, v15, v0}, Lcom/android/server/wm/WindowState;->hideLw(ZZ)Z
move-result v5
.line 333
.local v5, changed:Z
:cond_1f2
:goto_1f2
if-eqz v5, :cond_14d
const/high16 v15, 0x10
and-int/2addr v15, v6
if-eqz v15, :cond_14d
.line 334
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
or-int/lit8 v15, v15, 0x2
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
.line 335
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
or-int/lit8 v15, v15, 0x4
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
.line 337
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
const-string v16, "updateWindowsAndWallpaperLocked 4"
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
move/from16 v17, v0
invoke-virtual/range {v15 .. v17}, Lcom/android/server/wm/WindowManagerService;->debugLayoutRepeats(Ljava/lang/String;I)V
goto/16 :goto_14d
.line 301
.end local v5 #changed:Z
.end local v7 #hideWhenLocked:Z
:cond_21e
const/4 v7, 0x0
goto :goto_1cb
.line 311
.restart local v7 #hideWhenLocked:Z
:cond_220
const/4 v15, 0x0
const/16 v16, 0x0
move/from16 v0, v16
invoke-virtual {v13, v15, v0}, Lcom/android/server/wm/WindowState;->showLw(ZZ)Z
move-result v5
.line 314
.restart local v5 #changed:Z
if-eqz v5, :cond_1f2
.line 315
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
and-int/lit8 v15, v15, 0x4
if-eqz v15, :cond_24e
invoke-virtual {v13}, Lcom/android/server/wm/WindowState;->isVisibleNow()Z
move-result v15
if-eqz v15, :cond_24e
.line 317
if-nez v10, :cond_240
.line 318
new-instance v10, Ljava/util/ArrayList;
.end local v10 #unForceHiding:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/server/wm/WindowStateAnimator;>;"
invoke-direct {v10}, Ljava/util/ArrayList;-><init>()V
.line 320
.restart local v10 #unForceHiding:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/server/wm/WindowStateAnimator;>;"
:cond_240
invoke-virtual {v10, v14}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 321
iget-object v15, v13, Lcom/android/server/wm/WindowState;->mAttrs:Landroid/view/WindowManager$LayoutParams;
iget v15, v15, Landroid/view/WindowManager$LayoutParams;->flags:I
const/high16 v16, 0x10
and-int v15, v15, v16
if-eqz v15, :cond_24e
.line 322
const/4 v11, 0x1
.line 325
:cond_24e
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mCurrentFocus:Lcom/android/server/wm/WindowState;
if-eqz v15, :cond_262
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mCurrentFocus:Lcom/android/server/wm/WindowState;
iget v15, v15, Lcom/android/server/wm/WindowState;->mLayer:I
iget v0, v13, Lcom/android/server/wm/WindowState;->mLayer:I
move/from16 v16, v0
move/from16 v0, v16
if-ge v15, v0, :cond_1f2
.line 329
:cond_262
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
const/16 v16, 0x1
move/from16 v0, v16
iput-boolean v0, v15, Lcom/android/server/wm/WindowManagerService;->mFocusMayChange:Z
goto :goto_1f2
.line 356
.end local v2 #appAnimator:Lcom/android/server/wm/AppWindowAnimator;
.end local v5 #changed:Z
.end local v7 #hideWhenLocked:Z
.end local v9 #nowAnimating:Z
.end local v12 #wasAnimating:Z
.restart local v3 #atoken:Lcom/android/server/wm/AppWindowToken;
:cond_26d
iget-object v2, v3, Lcom/android/server/wm/AppWindowToken;->mAppAnimator:Lcom/android/server/wm/AppWindowAnimator;
goto/16 :goto_17f
.line 371
.end local v3 #atoken:Lcom/android/server/wm/AppWindowToken;
.end local v6 #flags:I
.end local v13 #win:Lcom/android/server/wm/WindowState;
.end local v14 #winAnimator:Lcom/android/server/wm/WindowStateAnimator;
:cond_271
if-eqz v10, :cond_294
.line 372
invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
move-result v15
add-int/lit8 v8, v15, -0x1
:goto_279
if-ltz v8, :cond_294
.line 373
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mPolicy:Landroid/view/WindowManagerPolicy;
invoke-interface {v15, v11}, Landroid/view/WindowManagerPolicy;->createForceHideEnterAnimation(Z)Landroid/view/animation/Animation;
move-result-object v1
.line 374
.local v1, a:Landroid/view/animation/Animation;
if-eqz v1, :cond_291
.line 375
invoke-virtual {v10, v8}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v14
check-cast v14, Lcom/android/server/wm/WindowStateAnimator;
.line 376
.restart local v14 #winAnimator:Lcom/android/server/wm/WindowStateAnimator;
invoke-virtual {v14, v1}, Lcom/android/server/wm/WindowStateAnimator;->setAnimation(Landroid/view/animation/Animation;)V
.line 377
const/4 v15, 0x1
iput-boolean v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimationIsEntrance:Z
.line 372
.end local v14 #winAnimator:Lcom/android/server/wm/WindowStateAnimator;
:cond_291
add-int/lit8 v8, v8, -0x1
goto :goto_279
.line 381
.end local v1 #a:Landroid/view/animation/Animation;
:cond_294
return-void
.end method
save and compile
Those two steps, android.policy.jar and services.jar will give you transparent lockscreen
LET'S GO TO NEXT STEP IN POST #2
OKE NEXT STEP
STEP-3
DECOMPILE framework-res.apk
\framework-res.apk\res\layout\keyguard_screen_tab_unlock.xml
DELETE the whole lines, and replace with this
Code:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:gravity="center_horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<com.android.internal.widget.WaveView android:id="@id/unlock_widget" android:layout_width="fill_parent" android:layout_height="fill_parent" />
<GridLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/root" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.internal.widget.DigitalClock android:id="@id/time" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="36.0dip" android:layout_marginBottom="4.0dip">
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_clock_font_size" android:textColor="@color/lockscreen_clock_background" android:ellipsize="none" android:id="@id/timeDisplayBackground" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="6.0dip" android:singleLine="true" />
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_clock_font_size" android:textColor="@color/lockscreen_clock_foreground" android:ellipsize="none" android:id="@id/timeDisplayForeground" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="6.0dip" android:singleLine="true" android:layout_alignLeft="@id/timeDisplayBackground" android:layout_alignTop="@id/timeDisplayBackground" />
</com.android.internal.widget.DigitalClock>
<LinearLayout android:orientation="horizontal" android:id="@id/date_line" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:ellipsize="marquee" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" />
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:ellipsize="marquee" android:id="@id/alarm_status" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="16.0dip" android:singleLine="true" android:drawablePadding="4.0dip" />
</LinearLayout>
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:ellipsize="marquee" android:id="@id/status1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:drawablePadding="4.0dip" />
<RelativeLayout android:orientation="horizontal" android:id="@id/weather_panel" android:paddingTop="4.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content">
<ImageView android:id="@id/weather_image" android:paddingLeft="8.0dip" android:paddingRight="8.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_dialog_alert" android:layout_centerHorizontal="true" android:layout_centerVertical="true" />
<RelativeLayout android:orientation="horizontal" android:padding="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/weather_image" android:layout_centerVertical="true">
<TextView android:textSize="14.0sp" android:textStyle="bold" android:textColor="?textColorPrimary" android:ellipsize="marquee" android:gravity="right" android:id="@id/weather_city" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:layout_alignParentRight="true" />
<TextView android:textSize="12.0sp" android:textColor="?textColorPrimary" android:ellipsize="marquee" android:gravity="right" android:id="@id/weather_condition" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:layout_below="@id/weather_city" android:layout_alignParentRight="true" />
<TextView android:textSize="8.0sp" android:textColor="?textColorSecondary" android:gravity="right" android:id="@id/update_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/weather_condition" android:layout_alignParentRight="true" />
</RelativeLayout>
<RelativeLayout android:orientation="horizontal" android:id="@id/weather_temps_panel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/weather_image" android:layout_centerVertical="true">
<TextView android:textSize="20.0sp" android:textColor="?textColorPrimary" android:id="@id/weather_temp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" />
<View android:id="@id/weather_divider" android:background="@drawable/divider_horizontal_dark" android:layout_width="44.0dip" android:layout_height="1.0dip" android:layout_below="@id/weather_temp" />
<TextView android:textSize="12.0sp" android:textColor="?textColorPrimary" android:id="@id/weather_low_high" android:paddingTop="2.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/weather_divider" android:layout_centerHorizontal="true" />
</RelativeLayout>
</RelativeLayout>
<Space android:layout_gravity="fill" />
<Button android:layout_gravity="right" android:id="@id/emergencyCallButton" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="4.0dip" android:layout_marginRight="16.0dip" android:text="@string/lockscreen_emergency_call" android:drawableLeft="@drawable/lockscreen_emergency_button" android:drawablePadding="4.0dip" style="?android:attr/buttonBarButtonStyle" />
<RelativeLayout android:layout_width="fill_parent" android:layout_height="302.0dip">
<LinearLayout android:gravity="center_vertical" android:id="@id/calendar_panel" android:paddingLeft="12.0dip" android:paddingRight="12.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:minHeight="28.0dip">
<ImageView android:gravity="center" android:layout_gravity="center_vertical" android:layout_width="36.0dip" android:layout_height="wrap_content" android:src="@drawable/ic_lock_idle_calendar" />
<View android:background="@drawable/divider_horizontal_dark" android:paddingTop="6.0dip" android:paddingBottom="6.0dip" android:layout_width="1.0dip" android:layout_height="fill_parent" />
<RelativeLayout android:paddingLeft="4.0dip" android:paddingTop="6.0dip" android:paddingBottom="6.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0">
<TextView android:textSize="14.0sp" android:textColor="?textColorPrimary" android:ellipsize="marquee" android:id="@id/calendar_event_title" android:fadingEdge="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" />
<TextView android:textSize="12.0sp" android:textColor="?textColorSecondary" android:ellipsize="marquee" android:id="@id/calendar_event_details" android:focusable="true" android:focusableInTouchMode="true" android:fadingEdge="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scrollHorizontally="true" android:singleLine="true" android:layout_below="@id/calendar_event_title" android:layout_alignLeft="@id/calendar_event_title" android:marqueeRepeatLimit="marquee_forever" />
</RelativeLayout>
</LinearLayout>
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="0.0sp" android:textColor="?textColorSecondary" android:ellipsize="marquee" android:gravity="center_horizontal" android:id="@id/carrier" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="12.0dip" android:singleLine="true" android:maxLength="0" android:layout_alignParentBottom="true" />
</RelativeLayout>
<LinearLayout android:gravity="center" android:orientation="horizontal" android:layout_width="fill_parent" android:weightSum="2.0" style="?android:attr/buttonBarStyle">
<Button android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:layout_gravity="center_horizontal" android:id="@id/emergencyCallButton" android:visibility="gone" android:layout_width="0.0dip" android:layout_height="wrap_content" android:text="@string/lockscreen_emergency_call" android:drawableLeft="@drawable/lockscreen_emergency_button" android:drawablePadding="0.0dip" android:layout_weight="1.0" style="?android:attr/buttonBarButtonStyle" />
</LinearLayout>
<include android:layout_gravity="fill" android:id="@id/transport" android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_column="0" android:layout_row="0" android:layout_rowSpan="5" android:layout_columnSpan="1" layout="@layout/keyguard_transport_control" />
</GridLayout>
</RelativeLayout>
NEXT
for HDPI DEVICES download this and put it to
\framework-res.apk\res\drawable-hdpi
for XHDPI DEVICES download this and put it to
\framework-res.apk\res\drawable-xhdpi
DONE and recompile,
NEXT
STEP - 4
Decompile the Newly recompiled APK again
and go to
\res\values\public.xml
open in text editor or notepad++ that public.xml
and don't do anything., we just leave it
NEXT
STEP - 5
Decompile your framework.jar
\com\android\internal\widget
DELETE WaveView.smali and replace with THIS new WaveView.smali
NEXT
STEP - 6
Open in text editor WaveView.smali and look into your new public.xml that we just leave.
Make sure the ID in WaveView.smali is same like your new ID in new public.xml
but without 0 number in the public.xml
Code:
[B]WaveView.smali new public.xml[/B]
line 198 -> 0x10404f8 <public type="string" name="description_target_camera" id="0x[COLOR="Red"]0[/COLOR]10404f8" />
line 306 -> 0x1080622 <public type="drawable" name="unlock_ring" id="0x[COLOR="Red"]0[/COLOR]1080622" />
line 355 -> 0x1080623 <public type="drawable" name="unlock_wave" id="0x[COLOR="Red"]0[/COLOR]1080623" />
line 404 -> 0x1080620 <public type="drawable" name="unlock_default" id="0x[COLOR="Red"]0[/COLOR]1080620" />
line 453 -> 0x1080621 <public type="drawable" name="unlock_halo" id="0x[COLOR="Red"]0[/COLOR]1080621" />
if the ID in public.xml is different, you must change the ID in WaveView.smali with your new ID in public.xml but without 0 number in the public.xml
DONE and Compile your framework-res.apk and your framework.jar.
reserved 2
DONE
Woowww... nice guide broo.. I will try it
Very nice tutorial, I will try it later
adikasgw said:
Woowww... nice guide broo.. I will try it
Click to expand...
Click to collapse
dewadg said:
Very nice tutorial, I will try it later
Click to expand...
Click to collapse
Have fun my fren
waiting for your reporting the result :good:
Wow,this must-become-recognized-themer/contributor-asap is on fire..
Do you think it could be technically possible to add multi-lockscreen choice support the smali way?
(Not a request huh,I ask for your opinion)
Bejda said:
Wow,this must-become-recognized-themer/contributor-asap is on fire..
Do you think it could be technically possible to add multi-lockscreen choice support the smali way?
(Not a request huh,I ask for your opinion)
Click to expand...
Click to collapse
havnt try that yet. , but it wiil be more complicated, we will need to edit settings.apk, android.policy.jar, and framework-res.apk
Also Work On Mdpi Sir???
Afrizal Firmansyah said:
Also Work On Mdpi Sir???
Click to expand...
Click to collapse
Not yet,.
my fren tried it on his MDPI & LDPI device, using hdpi resources, yes it boots, but he cannot unlocking the lockscreen .
hope someone can help me for MDPI and LDPI devices will be appreaciated
Adi Aisiteru Reborn said:
...yes it boots, but he cannot unlocking the lockscreen...
Click to expand...
Click to collapse
http://phandroid.com/wp-content/uploads/2012/10/*****-please.jpeg
via XDA for Timescape™
Adi Aisiteru Reborn said:
Not yet,.
my fren tried it on his MDPI & LDPI device, using hdpi resources, yes it boots, but he cannot unlocking the lockscreen .
hope someone can help me for MDPI and LDPI devices will be appreaciated
Click to expand...
Click to collapse
gimme ur waveview.java will convert to mdpi
then u can compile to smali
Sent from my S500 using xda app-developers app
SpaceCaker said:
gimme ur waveview.java will convert to mdpi
then u can compile to smali
Sent from my S500 using xda app-developers app
Click to expand...
Click to collapse
I don't have knowledge compiling java code, I use original nexus BB ten waveview smali. which Evilisto share the mod on nexus theme forum
Adi Aisiteru Reborn said:
I don't have knowledge compiling java code, I use original nexus BB ten waveview smali. which Evilisto share the mod on nexus theme forum
Click to expand...
Click to collapse
ohhh...
i still have my old waveview smali some were
Sent from my S500 using xda app-developers app
SpaceCaker said:
ohhh...
i still have my old waveview smali some were
Sent from my S500 using xda app-developers app
Click to expand...
Click to collapse
My fren did like this,
he used first post waveview smali and
he used hdpi png resources,. but not put it to drawable-mdpi or drawable-ldpi
he make an empty new folder drawable-hdpi in framework/res and put hdpi bb png resources there,. then compile
Adi Aisiteru Reborn said:
My fren did like this,
he used first post waveview smali and
he used hdpi png resources,. but not put it to drawable-mdpi or drawable-ldpi
he make an empty new folder drawable-hdpi in framework/res and put hdpi bb png resources there,. then compile
Click to expand...
Click to collapse
yeah i knowout the decompile frameworks res apk
ad new folder named drawable hdpi
add pngs
but the waveview itself is for 720 and needs to be 320 for mdoi
Sent from my S500 using xda app-developers app
nice tutorial :good:
but so far I do not understand how to recompile apk :crying:
riotaruna said:
nice tutorial :good:
but so far I do not understand how to recompile apk :crying:
Click to expand...
Click to collapse
upload me your JB file:
- framework-res.apk
- framework.jar
- android.policy.jar
- services.jar
I try to make it for you
Adi Aisiteru Reborn said:
upload me your JB file:
- framework-res.apk
- framework.jar
- android.policy.jar
- services.jar
I try to make it for you
Click to expand...
Click to collapse
if systemui.apk and framework.apk after recompile, META-INF folder and AndroidManifest.xml must be taken from the original and on the move to the new .apk, how to android.policy.jar, service.jar and framework.jar, whether to perform the same thing ? :angel:

[GUIDE][MOD][All MDPI CM10] BlackBerry 10 Lockscreen

Haiya Devs....
Good news for ya... Now All MDPI CM10 devices could have one of awesome Lockscreens
Yeaahh... BlackBerry 10 Lockscreen Style!
If you guys (MDPI CM10 users) had succeded to port from HDPI/ XHDPI CM10 by using THIS methode,
I knew it won't Unlocked didn't ya...? :silly:
It's all about WaveView.smali couldn't touched on MDPI devices due have to resized
Let's do this things.....
Requirements:
PC
Knowledge on how to use Apktool or Similar Tools
Notepad++ (Devs always use this)
Winrar or 7z
A Cup of Coffee (Yeaahh...)
1. Decompile android.policy.jar > Navigate to \com\android\internal\policy\impl\ KeyguardViewManager.smali
Open it with Notepad++ and search this code:
Code:
const v4, 0x4100800
Change it to:
Code:
const v4, 0x4000800
Save and recompile
2. Decompile services.jar > Navigate to \com\android\server\wm\WindowAnimator.smali
Open it with Notepad++ and search this code:
Code:
.method private updateWindowsAndWallpaperLocked()V
Use FIND/ SEARCH feature and search this code:
Code:
.end method
Just Mark it... This methode will help you to avoid mistaken from deleted, because we will delete and replace long enough codes...
Then Mark and delete whole lines from:
Code:
.method private updateWindowsAndWallpaperLocked()V
[COLOR="DeepSkyBlue"]To[/COLOR] .end method
Now Replace with this:
Code:
.method private updateWindowsAndWallpaperLocked()V
.registers 19
.prologue
.line 203
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mAnimTransactionSequence:I
add-int/lit8 v15, v15, 0x1
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mAnimTransactionSequence:I
.line 205
const/4 v10, 0x0
.line 206
.local v10, unForceHiding:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/server/wm/WindowStateAnimator;>;"
const/4 v11, 0x0
.line 208
.local v11, wallpaperInUnForceHiding:Z
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
iget-object v15, v15, Lcom/android/server/wm/WindowManagerService;->mWindows:Ljava/util/ArrayList;
invoke-virtual {v15}, Ljava/util/ArrayList;->size()I
move-result v15
add-int/lit8 v8, v15, -0x1
.local v8, i:I
:goto_18
if-ltz v8, :cond_271
.line 209
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
iget-object v15, v15, Lcom/android/server/wm/WindowManagerService;->mWindows:Ljava/util/ArrayList;
invoke-virtual {v15, v8}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v13
check-cast v13, Lcom/android/server/wm/WindowState;
.line 210
.local v13, win:Lcom/android/server/wm/WindowState;
iget-object v14, v13, Lcom/android/server/wm/WindowState;->mWinAnimator:Lcom/android/server/wm/WindowStateAnimator;
.line 211
.local v14, winAnimator:Lcom/android/server/wm/WindowStateAnimator;
iget v6, v14, Lcom/android/server/wm/WindowStateAnimator;->mAttrFlags:I
.line 213
.local v6, flags:I
iget-object v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mSurface:Landroid/view/Surface;
if-eqz v15, :cond_14d
.line 214
iget-boolean v12, v14, Lcom/android/server/wm/WindowStateAnimator;->mWasAnimating:Z
.line 215
.local v12, wasAnimating:Z
move-object/from16 v0, p0
iget-wide v15, v0, Lcom/android/server/wm/WindowAnimator;->mCurrentTime:J
invoke-virtual/range {v14 .. v16}, Lcom/android/server/wm/WindowStateAnimator;->stepAnimationLocked(J)Z
move-result v9
.line 225
.local v9, nowAnimating:Z
if-eqz v9, :cond_82
.line 226
iget-object v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimation:Landroid/view/animation/Animation;
if-eqz v15, :cond_7d
.line 227
const/high16 v15, 0x10
and-int/2addr v15, v6
if-eqz v15, :cond_4f
iget-object v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimation:Landroid/view/animation/Animation;
invoke-virtual {v15}, Landroid/view/animation/Animation;->getDetachWallpaper()Z
move-result v15
if-eqz v15, :cond_4f
.line 229
move-object/from16 v0, p0
iput-object v13, v0, Lcom/android/server/wm/WindowAnimator;->mDetachedWallpaper:Lcom/android/server/wm/WindowState;
.line 231
:cond_4f
iget-object v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimation:Landroid/view/animation/Animation;
invoke-virtual {v15}, Landroid/view/animation/Animation;->getBackgroundColor()I
move-result v4
.line 232
.local v4, backgroundColor:I
if-eqz v4, :cond_7d
.line 233
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackground:Lcom/android/server/wm/WindowState;
if-eqz v15, :cond_75
iget v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackground:Lcom/android/server/wm/WindowState;
move-object/from16 v16, v0
move-object/from16 v0, v16
iget-object v0, v0, Lcom/android/server/wm/WindowState;->mWinAnimator:Lcom/android/server/wm/WindowStateAnimator;
move-object/from16 v16, v0
move-object/from16 v0, v16
iget v0, v0, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
move/from16 v16, v0
move/from16 v0, v16
if-ge v15, v0, :cond_7d
.line 236
:cond_75
move-object/from16 v0, p0
iput-object v13, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackground:Lcom/android/server/wm/WindowState;
.line 237
move-object/from16 v0, p0
iput v4, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackgroundColor:I
.line 241
.end local v4 #backgroundColor:I
:cond_7d
const/4 v15, 0x1
move-object/from16 v0, p0
iput-boolean v15, v0, Lcom/android/server/wm/WindowAnimator;->mAnimating:Z
.line 247
:cond_82
iget-object v15, v13, Lcom/android/server/wm/WindowState;->mAppToken:Lcom/android/server/wm/AppWindowToken;
if-nez v15, :cond_1ac
const/4 v2, 0x0
.line 249
.local v2, appAnimator:Lcom/android/server/wm/AppWindowAnimator;
:goto_87
if-eqz v2, :cond_d0
iget-object v15, v2, Lcom/android/server/wm/AppWindowAnimator;->animation:Landroid/view/animation/Animation;
if-eqz v15, :cond_d0
iget-boolean v15, v2, Lcom/android/server/wm/AppWindowAnimator;->animating:Z
if-eqz v15, :cond_d0
.line 251
const/high16 v15, 0x10
and-int/2addr v15, v6
if-eqz v15, :cond_a2
iget-object v15, v2, Lcom/android/server/wm/AppWindowAnimator;->animation:Landroid/view/animation/Animation;
invoke-virtual {v15}, Landroid/view/animation/Animation;->getDetachWallpaper()Z
move-result v15
if-eqz v15, :cond_a2
.line 253
move-object/from16 v0, p0
iput-object v13, v0, Lcom/android/server/wm/WindowAnimator;->mDetachedWallpaper:Lcom/android/server/wm/WindowState;
.line 255
:cond_a2
iget-object v15, v2, Lcom/android/server/wm/AppWindowAnimator;->animation:Landroid/view/animation/Animation;
invoke-virtual {v15}, Landroid/view/animation/Animation;->getBackgroundColor()I
move-result v4
.line 256
.restart local v4 #backgroundColor:I
if-eqz v4, :cond_d0
.line 257
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackground:Lcom/android/server/wm/WindowState;
if-eqz v15, :cond_c8
iget v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackground:Lcom/android/server/wm/WindowState;
move-object/from16 v16, v0
move-object/from16 v0, v16
iget-object v0, v0, Lcom/android/server/wm/WindowState;->mWinAnimator:Lcom/android/server/wm/WindowStateAnimator;
move-object/from16 v16, v0
move-object/from16 v0, v16
iget v0, v0, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
move/from16 v16, v0
move/from16 v0, v16
if-ge v15, v0, :cond_d0
.line 260
:cond_c8
move-object/from16 v0, p0
iput-object v13, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackground:Lcom/android/server/wm/WindowState;
.line 261
move-object/from16 v0, p0
iput v4, v0, Lcom/android/server/wm/WindowAnimator;->mWindowAnimationBackgroundColor:I
.line 266
.end local v4 #backgroundColor:I
:cond_d0
if-eqz v12, :cond_101
iget-boolean v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimating:Z
if-nez v15, :cond_101
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
iget-object v15, v15, Lcom/android/server/wm/WindowManagerService;->mWallpaperTarget:Lcom/android/server/wm/WindowState;
if-ne v15, v13, :cond_101
.line 267
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
or-int/lit8 v15, v15, 0x2
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
.line 268
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
or-int/lit8 v15, v15, 0x4
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
.line 270
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
const-string v16, "updateWindowsAndWallpaperLocked 2"
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
move/from16 v17, v0
invoke-virtual/range {v15 .. v17}, Lcom/android/server/wm/WindowManagerService;->debugLayoutRepeats(Ljava/lang/String;I)V
.line 275
:cond_101
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mPolicy:Landroid/view/WindowManagerPolicy;
iget-object v0, v13, Lcom/android/server/wm/WindowState;->mAttrs:Landroid/view/WindowManager$LayoutParams;
move-object/from16 v16, v0
move-object/from16 v0, v16
invoke-interface {v15, v13, v0}, Landroid/view/WindowManagerPolicy;->doesForceHide(Landroid/view/WindowManagerPolicy$WindowState;Landroid/view/WindowManager$LayoutParams;)Z
move-result v15
if-eqz v15, :cond_1b2
.line 276
if-nez v12, :cond_142
if-eqz v9, :cond_142
.line 280
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
or-int/lit8 v15, v15, 0x4
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
.line 281
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
or-int/lit8 v15, v15, 0x4
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
.line 283
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
const-string v16, "updateWindowsAndWallpaperLocked 3"
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
move/from16 v17, v0
invoke-virtual/range {v15 .. v17}, Lcom/android/server/wm/WindowManagerService;->debugLayoutRepeats(Ljava/lang/String;I)V
.line 286
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
const/16 v16, 0x1
move/from16 v0, v16
iput-boolean v0, v15, Lcom/android/server/wm/WindowManagerService;->mFocusMayChange:Z
.line 288
:cond_142
invoke-virtual {v13}, Lcom/android/server/wm/WindowState;->isReadyForDisplay()Z
move-result v15
if-eqz v15, :cond_14d
.line 289
const/4 v15, 0x0
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mForceHiding:I
.line 344
.end local v2 #appAnimator:Lcom/android/server/wm/AppWindowAnimator;
.end local v9 #nowAnimating:Z
.end local v12 #wasAnimating:Z
:cond_14d
:goto_14d
iget-object v3, v13, Lcom/android/server/wm/WindowState;->mAppToken:Lcom/android/server/wm/AppWindowToken;
.line 345
.local v3, atoken:Lcom/android/server/wm/AppWindowToken;
iget v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mDrawState:I
const/16 v16, 0x3
move/from16 v0, v16
if-ne v15, v0, :cond_17c
.line 346
if-eqz v3, :cond_15d
iget-boolean v15, v3, Lcom/android/server/wm/AppWindowToken;->allDrawn:Z
if-eqz v15, :cond_17c
.line 347
:cond_15d
invoke-virtual {v14}, Lcom/android/server/wm/WindowStateAnimator;->performShowLocked()Z
move-result v15
if-eqz v15, :cond_17c
.line 348
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
or-int/lit8 v15, v15, 0x8
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
.line 350
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
const-string v16, "updateWindowsAndWallpaperLocked 5"
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
move/from16 v17, v0
invoke-virtual/range {v15 .. v17}, Lcom/android/server/wm/WindowManagerService;->debugLayoutRepeats(Ljava/lang/String;I)V
.line 356
:cond_17c
if-nez v3, :cond_26d
const/4 v2, 0x0
.line 358
.restart local v2 #appAnimator:Lcom/android/server/wm/AppWindowAnimator;
:goto_17f
if-eqz v2, :cond_1a8
iget-object v15, v2, Lcom/android/server/wm/AppWindowAnimator;->thumbnail:Landroid/view/Surface;
if-eqz v15, :cond_1a8
.line 359
iget v15, v2, Lcom/android/server/wm/AppWindowAnimator;->thumbnailTransactionSeq:I
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mAnimTransactionSequence:I
move/from16 v16, v0
move/from16 v0, v16
if-eq v15, v0, :cond_19a
.line 360
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mAnimTransactionSequence:I
iput v15, v2, Lcom/android/server/wm/AppWindowAnimator;->thumbnailTransactionSeq:I
.line 361
const/4 v15, 0x0
iput v15, v2, Lcom/android/server/wm/AppWindowAnimator;->thumbnailLayer:I
.line 363
:cond_19a
iget v15, v2, Lcom/android/server/wm/AppWindowAnimator;->thumbnailLayer:I
iget v0, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
move/from16 v16, v0
move/from16 v0, v16
if-ge v15, v0, :cond_1a8
.line 364
iget v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimLayer:I
iput v15, v2, Lcom/android/server/wm/AppWindowAnimator;->thumbnailLayer:I
.line 208
:cond_1a8
add-int/lit8 v8, v8, -0x1
goto/16 :goto_18
.line 247
.end local v2 #appAnimator:Lcom/android/server/wm/AppWindowAnimator;
.end local v3 #atoken:Lcom/android/server/wm/AppWindowToken;
.restart local v9 #nowAnimating:Z
.restart local v12 #wasAnimating:Z
:cond_1ac
iget-object v15, v13, Lcom/android/server/wm/WindowState;->mAppToken:Lcom/android/server/wm/AppWindowToken;
iget-object v2, v15, Lcom/android/server/wm/AppWindowToken;->mAppAnimator:Lcom/android/server/wm/AppWindowAnimator;
goto/16 :goto_87
.line 300
.restart local v2 #appAnimator:Lcom/android/server/wm/AppWindowAnimator;
:cond_1b2
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mPolicy:Landroid/view/WindowManagerPolicy;
iget-object v0, v13, Lcom/android/server/wm/WindowState;->mAttrs:Landroid/view/WindowManager$LayoutParams;
move-object/from16 v16, v0
move-object/from16 v0, v16
invoke-interface {v15, v13, v0}, Landroid/view/WindowManagerPolicy;->canBeForceHidden(Landroid/view/WindowManagerPolicy$WindowState;Landroid/view/WindowManager$LayoutParams;)Z
move-result v15
if-eqz v15, :cond_14d
.line 301
iget v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAttrFlags:I
const/high16 v16, 0x8
and-int v15, v15, v16
if-nez v15, :cond_21e
const/4 v7, 0x1
.line 304
.local v7, hideWhenLocked:Z
:goto_1cb
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mForceHiding:I
const/16 v16, 0x1
move/from16 v0, v16
if-ne v15, v0, :cond_1dd
invoke-virtual {v14}, Lcom/android/server/wm/WindowStateAnimator;->isAnimating()Z
move-result v15
if-eqz v15, :cond_1e9
if-nez v7, :cond_1e9
:cond_1dd
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mForceHiding:I
const/16 v16, 0x2
move/from16 v0, v16
if-ne v15, v0, :cond_220
if-eqz v7, :cond_220
.line 307
:cond_1e9
const/4 v15, 0x0
const/16 v16, 0x0
move/from16 v0, v16
invoke-virtual {v13, v15, v0}, Lcom/android/server/wm/WindowState;->hideLw(ZZ)Z
move-result v5
.line 333
.local v5, changed:Z
:cond_1f2
:goto_1f2
if-eqz v5, :cond_14d
const/high16 v15, 0x10
and-int/2addr v15, v6
if-eqz v15, :cond_14d
.line 334
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
or-int/lit8 v15, v15, 0x2
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
.line 335
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
or-int/lit8 v15, v15, 0x4
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
.line 337
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
const-string v16, "updateWindowsAndWallpaperLocked 4"
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/wm/WindowAnimator;->mPendingLayoutChanges:I
move/from16 v17, v0
invoke-virtual/range {v15 .. v17}, Lcom/android/server/wm/WindowManagerService;->debugLayoutRepeats(Ljava/lang/String;I)V
goto/16 :goto_14d
.line 301
.end local v5 #changed:Z
.end local v7 #hideWhenLocked:Z
:cond_21e
const/4 v7, 0x0
goto :goto_1cb
.line 311
.restart local v7 #hideWhenLocked:Z
:cond_220
const/4 v15, 0x0
const/16 v16, 0x0
move/from16 v0, v16
invoke-virtual {v13, v15, v0}, Lcom/android/server/wm/WindowState;->showLw(ZZ)Z
move-result v5
.line 314
.restart local v5 #changed:Z
if-eqz v5, :cond_1f2
.line 315
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/wm/WindowAnimator;->mBulkUpdateParams:I
and-int/lit8 v15, v15, 0x4
if-eqz v15, :cond_24e
invoke-virtual {v13}, Lcom/android/server/wm/WindowState;->isVisibleNow()Z
move-result v15
if-eqz v15, :cond_24e
.line 317
if-nez v10, :cond_240
.line 318
new-instance v10, Ljava/util/ArrayList;
.end local v10 #unForceHiding:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/server/wm/WindowStateAnimator;>;"
invoke-direct {v10}, Ljava/util/ArrayList;-><init>()V
.line 320
.restart local v10 #unForceHiding:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/server/wm/WindowStateAnimator;>;"
:cond_240
invoke-virtual {v10, v14}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 321
iget-object v15, v13, Lcom/android/server/wm/WindowState;->mAttrs:Landroid/view/WindowManager$LayoutParams;
iget v15, v15, Landroid/view/WindowManager$LayoutParams;->flags:I
const/high16 v16, 0x10
and-int v15, v15, v16
if-eqz v15, :cond_24e
.line 322
const/4 v11, 0x1
.line 325
:cond_24e
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mCurrentFocus:Lcom/android/server/wm/WindowState;
if-eqz v15, :cond_262
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mCurrentFocus:Lcom/android/server/wm/WindowState;
iget v15, v15, Lcom/android/server/wm/WindowState;->mLayer:I
iget v0, v13, Lcom/android/server/wm/WindowState;->mLayer:I
move/from16 v16, v0
move/from16 v0, v16
if-ge v15, v0, :cond_1f2
.line 329
:cond_262
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mService:Lcom/android/server/wm/WindowManagerService;
const/16 v16, 0x1
move/from16 v0, v16
iput-boolean v0, v15, Lcom/android/server/wm/WindowManagerService;->mFocusMayChange:Z
goto :goto_1f2
.line 356
.end local v2 #appAnimator:Lcom/android/server/wm/AppWindowAnimator;
.end local v5 #changed:Z
.end local v7 #hideWhenLocked:Z
.end local v9 #nowAnimating:Z
.end local v12 #wasAnimating:Z
.restart local v3 #atoken:Lcom/android/server/wm/AppWindowToken;
:cond_26d
iget-object v2, v3, Lcom/android/server/wm/AppWindowToken;->mAppAnimator:Lcom/android/server/wm/AppWindowAnimator;
goto/16 :goto_17f
.line 371
.end local v3 #atoken:Lcom/android/server/wm/AppWindowToken;
.end local v6 #flags:I
.end local v13 #win:Lcom/android/server/wm/WindowState;
.end local v14 #winAnimator:Lcom/android/server/wm/WindowStateAnimator;
:cond_271
if-eqz v10, :cond_294
.line 372
invoke-virtual {v10}, Ljava/util/ArrayList;->size()I
move-result v15
add-int/lit8 v8, v15, -0x1
:goto_279
if-ltz v8, :cond_294
.line 373
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/wm/WindowAnimator;->mPolicy:Landroid/view/WindowManagerPolicy;
invoke-interface {v15, v11}, Landroid/view/WindowManagerPolicy;->createForceHideEnterAnimation(Z)Landroid/view/animation/Animation;
move-result-object v1
.line 374
.local v1, a:Landroid/view/animation/Animation;
if-eqz v1, :cond_291
.line 375
invoke-virtual {v10, v8}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v14
check-cast v14, Lcom/android/server/wm/WindowStateAnimator;
.line 376
.restart local v14 #winAnimator:Lcom/android/server/wm/WindowStateAnimator;
invoke-virtual {v14, v1}, Lcom/android/server/wm/WindowStateAnimator;->setAnimation(Landroid/view/animation/Animation;)V
.line 377
const/4 v15, 0x1
iput-boolean v15, v14, Lcom/android/server/wm/WindowStateAnimator;->mAnimationIsEntrance:Z
.line 372
.end local v14 #winAnimator:Lcom/android/server/wm/WindowStateAnimator;
:cond_291
add-int/lit8 v8, v8, -0x1
goto :goto_279
.line 381
.end local v1 #a:Landroid/view/animation/Animation;
:cond_294
return-void
.end method
Save and recompile
You may skip this steps if you won't have Transparent view lockscreen background (only wallpaper viewed)
Next:
3. Decompile your framework-res.apk > Navigate to \res\layout\keyguard_screen_tab_unlock.xml
Open it with Notepad++ and delete the whole lines then replace with this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:gravity="center_horizontal" android:layout_width="320.0dip" android:layout_height="480.0dip"
xmlns:android="http://schemas.android.com/apk/res/android">
<com.android.internal.widget.WaveView android:id="@id/unlock_widget" android:layout_width="fill_parent" android:layout_height="fill_parent" />
<GridLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/root" android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.android.internal.widget.DigitalClock android:id="@id/time" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="36.0dip" android:layout_marginBottom="4.0dip">
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_clock_font_size" android:textColor="@color/lockscreen_clock_background" android:ellipsize="none" android:id="@id/timeDisplayBackground" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="6.0dip" android:singleLine="true" />
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_clock_font_size" android:textColor="@color/lockscreen_clock_foreground" android:ellipsize="none" android:id="@id/timeDisplayForeground" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="6.0dip" android:singleLine="true" android:layout_alignLeft="@id/timeDisplayBackground" android:layout_alignTop="@id/timeDisplayBackground" />
</com.android.internal.widget.DigitalClock>
<LinearLayout android:orientation="horizontal" android:id="@id/date_line" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:ellipsize="marquee" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" />
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:ellipsize="marquee" android:id="@id/alarm_status" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="16.0dip" android:singleLine="true" android:drawablePadding="4.0dip" />
</LinearLayout>
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:ellipsize="marquee" android:id="@id/status1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:drawablePadding="4.0dip" />
<RelativeLayout android:orientation="horizontal" android:id="@id/weather_panel" android:paddingTop="4.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content">
<ImageView android:id="@id/weather_image" android:paddingLeft="8.0dip" android:paddingRight="8.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_dialog_alert" android:layout_centerHorizontal="true" android:layout_centerVertical="true" />
<RelativeLayout android:orientation="horizontal" android:padding="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/weather_image" android:layout_centerVertical="true">
<TextView android:textSize="14.0sp" android:textStyle="bold" android:textColor="?textColorPrimary" android:ellipsize="marquee" android:gravity="right" android:id="@id/weather_city" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:layout_alignParentRight="true" />
<TextView android:textSize="12.0sp" android:textColor="?textColorPrimary" android:ellipsize="marquee" android:gravity="right" android:id="@id/weather_condition" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:layout_below="@id/weather_city" android:layout_alignParentRight="true" />
<TextView android:textSize="8.0sp" android:textColor="?textColorSecondary" android:gravity="right" android:id="@id/update_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/weather_condition" android:layout_alignParentRight="true" />
</RelativeLayout>
<RelativeLayout android:orientation="horizontal" android:id="@id/weather_temps_panel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/weather_image" android:layout_centerVertical="true">
<TextView android:textSize="20.0sp" android:textColor="?textColorPrimary" android:id="@id/weather_temp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" />
<View android:id="@id/weather_divider" android:background="@drawable/divider_horizontal_dark" android:layout_width="44.0dip" android:layout_height="1.0dip" android:layout_below="@id/weather_temp" />
<TextView android:textSize="12.0sp" android:textColor="?textColorPrimary" android:id="@id/weather_low_high" android:paddingTop="2.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/weather_divider" android:layout_centerHorizontal="true" />
</RelativeLayout>
</RelativeLayout>
<Space android:layout_gravity="fill" />
<Button android:layout_gravity="right" android:id="@id/emergencyCallButton" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="4.0dip" android:layout_marginRight="16.0dip" android:text="@string/lockscreen_emergency_call" android:drawableLeft="@drawable/lockscreen_emergency_button" android:drawablePadding="4.0dip" style="?android:attr/buttonBarButtonStyle" />
<RelativeLayout android:layout_width="fill_parent" android:layout_height="302.0dip">
<LinearLayout android:gravity="center_vertical" android:id="@id/calendar_panel" android:paddingLeft="12.0dip" android:paddingRight="12.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:minHeight="28.0dip">
<ImageView android:gravity="center" android:layout_gravity="center_vertical" android:layout_width="36.0dip" android:layout_height="wrap_content" android:src="@drawable/ic_lock_idle_calendar" />
<View android:background="@drawable/divider_horizontal_dark" android:paddingTop="6.0dip" android:paddingBottom="6.0dip" android:layout_width="1.0dip" android:layout_height="fill_parent" />
<RelativeLayout android:paddingLeft="4.0dip" android:paddingTop="6.0dip" android:paddingBottom="6.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0">
<TextView android:textSize="14.0sp" android:textColor="?textColorPrimary" android:ellipsize="marquee" android:id="@id/calendar_event_title" android:fadingEdge="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" />
<TextView android:textSize="12.0sp" android:textColor="?textColorSecondary" android:ellipsize="marquee" android:id="@id/calendar_event_details" android:focusable="true" android:focusableInTouchMode="true" android:fadingEdge="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scrollHorizontally="true" android:singleLine="true" android:layout_below="@id/calendar_event_title" android:layout_alignLeft="@id/calendar_event_title" android:marqueeRepeatLimit="marquee_forever" />
</RelativeLayout>
</LinearLayout>
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="0.0sp" android:textColor="?textColorSecondary" android:ellipsize="marquee" android:gravity="center_horizontal" android:id="@id/carrier" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="12.0dip" android:singleLine="true" android:maxLength="0" android:layout_alignParentBottom="true" />
</RelativeLayout>
<LinearLayout android:gravity="center" android:orientation="horizontal" android:layout_width="fill_parent" android:weightSum="2.0" style="?android:attr/buttonBarStyle">
<Button android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:layout_gravity="center_horizontal" android:id="@id/emergencyCallButton" android:visibility="gone" android:layout_width="0.0dip" android:layout_height="wrap_content" android:text="@string/lockscreen_emergency_call" android:drawableLeft="@drawable/lockscreen_emergency_button" android:drawablePadding="0.0dip" android:layout_weight="1.0" style="?android:attr/buttonBarButtonStyle" />
</LinearLayout>
<include android:layout_gravity="fill" android:id="@id/transport" android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_column="0" android:layout_row="0" android:layout_rowSpan="5" android:layout_columnSpan="1" layout="@layout/keyguard_transport_control" />
</GridLayout>
</RelativeLayout>
Save it
If you have \layout-mdpi\ folder inside your framework-res, you have to do the same thing as mentioned above... in my case, i have this folder and keyguard_screen_tab_unlock.xml inside...
4. Download > extract the MDPI-Resources CLICK ME!
Copy the Whole .pngs > send it to \res\drawable-mdpi\
Save and recompile
5. Decompile back your recompiled framework-res.apk > Navigate to \res\values\public.xml
Just open it, we have to do nothing with it... just leave it open because we will do compare...
6. Decompile framework.jar > Navigate to \smali\com\android\internal\widget\ Delete your WaveView.smali or just replace with mine (on extracted MDPI-Resources)
Now open it and let's do compare with our leaved public.xml
Should be look like this:
Code:
[COLOR="DeepSkyBlue"]WaveView.smali[/COLOR] [COLOR="DeepSkyBlue"]New public.xml[/COLOR]
line 198 -> 0x104050f <public type="string" name="description_target_camera" id="0x0104050f" />
line 306 -> 0x1080622 <public type="drawable" name="unlock_ring" id="0x01080622" />
line 355 -> 0x1080623 <public type="drawable" name="unlock_wave" id="0x01080623" />
line 404 -> 0x1080620 <public type="drawable" name="unlock_default" id="0x01080620" />
line 453 -> 0x1080621 <public type="drawable" name="unlock_halo" id="0x01080621" />
If your public.xml ids are different with WaveView.smali ids, you have to change those ids on WaveView.smali with NO zero number after "x" code as public.xml ids...
7. Done, recompile your framework.jar
8. Download my empty Flashable_Zippy.zip CLICK ME! > Open it with Winrar or 7z (Just open/ Not extract) > Navigate to \system\framework\
9. Send the whole modified files/ drag and drop (android.policy.jar, services.jar, framework.jar and framework-res.apk) into it
10. Flash and Enjoy.... :fingers-crossed:
CREDITS:
CM Team for making Those things possible
Evilisto for the first guy founder :hatsoff:
Adi Aisiteru Reborn for making this like easily (Terima kasih untuk WaveView.smali nya Gan)
My brother for resized WaveView.smali (You're Linux pro, but why you hate Android?)
Google
My Coffee
Some Screenies
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
If you had Xperia E/ Dual already on your hands, you can Just TAKE ME!
Congratulation brorher, you solved it with your new waveview.smali for CM10 MDPI , everybody have been waiting for this..
Good job !
I'll put this to my first post :good::laugh:
Nice :good:
but is there any guide for CM10.1 MDPI device too ​
@yayakuya Asking for permission to post this to Sony Ericsson Xperia Mini, Mini Pro, Active, Ray, Live with Walkman Forum
+1 Could we using guide above for CM10.1? If there's a little chance to work, I'll try that
Sent from my cm-10.1.2-coconut using Tapatalk 4 Beta
Diaz1999 said:
@yayakuya Asking for permission to post this to Sony Ericsson Xperia Mini, Mini Pro, Active, Ray, Live with Walkman Forum
+1 Could we using guide above for CM10.1? If there's a little chance to work, I'll try that
Sent from my cm-10.1.2-coconut using Tapatalk 4 Beta
Click to expand...
Click to collapse
of sure... with my pleasure
i thought it will be the same as CM10.1's waveview.smali, due those lockscreen has the same codes as old honeycomb....
but i'm not 100% sure... you may try buddy... :finger-cross:
yayakuya said:
of sure... with my pleasure
i thought it will be the same as CM10.1's waveview.smali, due those lockscreen has the same codes as old honeycomb....
but i'm not 100% sure... you may try buddy... :finger-cross:
Click to expand...
Click to collapse
Start compiling, open KeyguardViewManager.smali, searching for hex codes, suddenly "NO RESULT FOUND"
Out of luck...
@yayakuya
What should be the png's resolution for LDPI device?
Need Help
Bro, can you please tell me why my Framework-res.apk can't success recompile after using that mods.
on framework-res.apk sems doesn't have folder name drawable-mdpi.
so where should i put Whole .pngs
My device is Xperia go, running CROM.

How to added RAM PROGRESS BAR & CLEAR ALL RECENT APPS in Recent panel for JB 4.2 + +

How to added RAM PROGRESS BAR & CLEAR ALL RECENT APPS in Recent panel for JB 4.2 + +
HOW TO ADD RAM PROGRESS BAR IN RECENT PANEL for JB 4.2 + +
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Let's just start it,. :good::laugh:
REQUIREMENT:
- BRAIN
- Patient
- experience
- Know how to decompile/recompiling Apk file
- Know how to decompile/recompiling jar Apk file
- notepad++
- Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools/ or else
STEP - 1
- Decompile your Settings.apk
- Download attached RamBar Settings.apk , exstract it and merge to your decompiled Settings.apk
- Next, go to
Settings.apk/res/xml/display_settings.xml
add the red line
Code:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen android:title="@string/display_settings"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
[COLOR="Red"]<PreferenceScreen android:title="Ram Progress Bar" android:key="adi_vanir_settings" android:fragment="com.android.settings.adi.VanirRamProgressBar" />[/COLOR]
<com.android.settings.BrightnessPreference android:title="@string/brightness" android:key="brightness" android:dialogTitle="@string/brightness" />
<PreferenceScreen android:title="@string/wallpaper_settings_title" android:key="wallpaper" android:fragment="com.android.settings.WallpaperTypeSettings" />
<PreferenceScreen android:title="@string/display_rotation_title" android:key="display_rotation" android:fragment="com.android.settings.cyanogenmod.DisplayRotation" />
<ListPreference android:persistent="false" android:entries="@array/screen_timeout_entries" android:title="@string/screen_timeout" android:key="screen_timeout" android:summary="@string/screen_timeout_summary" android:entryValues="@array/screen_timeout_values" />
<PreferenceScreen android:title="@string/screensaver_settings_title" android:key="screensaver" android:fragment="com.android.settings.DreamSettings" />
<com.android.settings.WarnedListPreference android:entries="@array/entries_font_size" android:title="@string/title_font_size" android:key="font_size" android:summary="@string/summary_font_size" android:dialogTitle="@string/dialog_title_font_size" android:entryValues="@array/entryvalues_font_size" />
<PreferenceScreen android:title="@string/wifi_display_settings_title" android:key="wifi_display" android:fragment="com.android.settings.wfd.WifiDisplaySettings" />
<CheckBoxPreference android:title="@string/screen_off_animation_title" android:key="screen_off_animation" android:summary="@string/screen_off_animation_summary" android:defaultValue="true" />
<PreferenceCategory android:title="@string/display_category_wakeup_options_title" android:key="category_wakeup_options">
<CheckBoxPreference android:title="@string/pref_home_wake_title" android:key="pref_home_wake" android:summary="@string/pref_home_wake_summary" android:defaultValue="true" />
<CheckBoxPreference android:title="@string/pref_volume_wake_title" android:key="pref_volume_wake" android:summary="@string/pref_volume_wake_summary" android:defaultValue="false" />
</PreferenceCategory>
</PreferenceScreen>
- Recompile your Settings.apk
- Decompile the newly recompiled Settings.apk and go to res/values/public.xml
open it with Notepad++
leave it, but keep it open
- go to Settings.apk/smali/com/android/settings/adi/VanirRamProgressBar.smali
search for this
Code:
[COLOR="Red"]0x7f050068[/COLOR]
and change it with the IDS you got in your own public.xml
Code:
<public type="xml" name="adi_vanir_rambar" id="[COLOR="Red"]0x7f??????[/COLOR]" />
- Done, and recompile your settings.apk
- Push it to system/app with right permission / reboot
- Done reboot, open your settings app, go to settings / Display settings / and check enabled "Ram Progress Bar"
STEP -2
- Decompile your SystemUI.apk
- SystemUI.apk/res/layout/status_bar_recent_panel.xml
add the red line
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.recent.RecentsPanelView android:id="@id/recents_root" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:recentItemLayout="@layout/status_bar_recent_item"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<FrameLayout android:id="@id/recents_bg_protect" android:background="@drawable/status_bar_recents_background" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentBottom="true">
<com.android.systemui.recent.RecentsVerticalScrollView android:layout_gravity="bottom|left|center" android:id="@id/recents_container" android:scrollbars="none" android:fadingEdge="vertical" android:fadingEdgeLength="@dimen/status_bar_recents_scroll_fading_edge_length" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="0.0dip" android:stackFromBottom="true" android:divider="@null">
<LinearLayout android:orientation="vertical" android:id="@id/recents_linear_layout" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</com.android.systemui.recent.RecentsVerticalScrollView>
[COLOR="Red"]<LinearLayout android:layout_gravity="top" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="5.0dip">
<TextView android:textColor="@*android:color/holo_blue_dark" android:layout_gravity="center" android:id="@id/recents_memory_text" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ProgressBar android:id="@id/recents_memory_bar" android:paddingLeft="4.0dip" android:paddingRight="4.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="@*android:dimen/preference_fragment_padding_side" android:layout_marginRight="@*android:dimen/preference_fragment_padding_side" style="?android:attr/progressBarStyleHorizontal" />
</LinearLayout>[/COLOR]
<ImageView android:layout_gravity="bottom|left|center" 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>
<include android:id="@id/recents_no_apps" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/status_bar_no_recent_apps" />
</com.android.systemui.recent.RecentsPanelView>
- SystemUI.apk/res/layout-land/status_bar_recent_panel.xml
add the red line
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.recent.RecentsPanelView android:id="@id/recents_root" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:recentItemLayout="@layout/status_bar_recent_item"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<FrameLayout android:id="@id/recents_bg_protect" android:background="@drawable/status_bar_recents_background" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentBottom="true">
<com.android.systemui.recent.RecentsHorizontalScrollView android:layout_gravity="right" android:id="@id/recents_container" android:scrollbars="none" android:fadingEdge="horizontal" android:fadingEdgeLength="@dimen/status_bar_recents_scroll_fading_edge_length" android:layout_width="wrap_content" android:layout_height="fill_parent">
<LinearLayout android:orientation="horizontal" android:id="@id/recents_linear_layout" android:layout_width="wrap_content" android:layout_height="fill_parent" />
</com.android.systemui.recent.RecentsHorizontalScrollView>
[COLOR="Red"]<LinearLayout android:layout_gravity="top" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="5.0dip">
<TextView android:textColor="@*android:color/holo_blue_dark" android:layout_gravity="center" android:id="@id/recents_memory_text" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ProgressBar android:id="@id/recents_memory_bar" android:paddingLeft="4.0dip" android:paddingRight="4.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="@*android:dimen/preference_fragment_padding_side" android:layout_marginRight="@*android:dimen/preference_fragment_padding_side" style="?android:attr/progressBarStyleHorizontal" />
</LinearLayout>[/COLOR]
<ImageView android:layout_gravity="bottom|left|center" 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>
<include android:id="@id/recents_no_apps" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/status_bar_no_recent_apps" />
</com.android.systemui.recent.RecentsPanelView>
- SystemUI.apk/res/values/ids.xml
add the red line to end of it before </resources>
Code:
<item type="id" name="notifications_tab_contents">false</item>
<item type="id" name="bottom_bg_helper">false</item>
[COLOR="Red"]<item type="id" name="recents_memory_bar">false</item>
<item type="id" name="recents_memory_text">false</item>[/COLOR]
</resources>
- Recompile your SystemUI.apk
- Decompile the newly Recompiled APK again
Next go to
res/values/public.xml
open it with Notepad++
leave it, but keep it open
- SystemUI.apk/smali/com/android/systemui/recent/RecentsPanelView.smali
add the red line
Code:
iget-object v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mPopup:Landroid/widget/PopupMenu;
invoke-virtual {v1}, Landroid/widget/PopupMenu;->dismiss()V
goto :goto_2
.end method
[COLOR="Red"].method private showMemDisplay()Z
.locals 7
.prologue
const/16 v5, 0x8
const/4 v3, 0x1
const/4 v4, 0x0
.line 994
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "adi_beanning_rom_ram_progrees_bar"
invoke-static {v0, v1, v4}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
if-ne v0, v3, :cond_0
move v2, v3
.line 997
:goto_0
const v0, [COLOR="Blue"]0x7f0900f0[/COLOR]
invoke-virtual {p0, v0}, Lcom/android/systemui/recent/RecentsPanelView;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/TextView;
.line 998
const v1, [COLOR="Blue"]0x7f0900ef[/COLOR]
invoke-virtual {p0, v1}, Lcom/android/systemui/recent/RecentsPanelView;->findViewById(I)Landroid/view/View;
move-result-object v1
check-cast v1, Landroid/widget/ProgressBar;
.line 1000
if-nez v2, :cond_1
.line 1001
invoke-virtual {v0, v5}, Landroid/widget/TextView;->setVisibility(I)V
.line 1002
invoke-virtual {v1, v5}, Landroid/widget/ProgressBar;->setVisibility(I)V
.line 1015
:goto_1
return v4
:cond_0
move v2, v4
.line 994
goto :goto_0
.line 1006
:cond_1
invoke-virtual {v0, v4}, Landroid/widget/TextView;->setVisibility(I)V
.line 1007
invoke-virtual {v1, v4}, Landroid/widget/ProgressBar;->setVisibility(I)V
.line 1009
invoke-virtual {p0}, Lcom/android/systemui/recent/RecentsPanelView;->getTotalMemory()I
move-result v2
.line 1010
invoke-virtual {v1, v2}, Landroid/widget/ProgressBar;->setMax(I)V
.line 1012
invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->getAvailMemory()Ljava/lang/String;
move-result-object v4
invoke-static {v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v4
.line 1013
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Free RAM: "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-static {v4}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v6
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
const-string v6, "MB"
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-virtual {v0, v5}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 1014
sub-int v0, v2, v4
invoke-virtual {v1, v0}, Landroid/widget/ProgressBar;->setProgress(I)V
move v4, v3
.line 1015
goto :goto_1
.end method[/COLOR]
.method private startApplicationDetailsActivity(Ljava/lang/String;)V
.locals 4
.parameter "packageName"
.prologue
.line 742
new-instance v0, Landroid/content/Intent;
const-string v1, "android.settings.APPLICATION_DETAILS_SETTINGS"
const-string v2, "package"
Change this 0x7f0900f0
with the IDS value you got in your public.xml
Code:
<public type="id" name="recents_memory_text" id="[COLOR="Blue"]0x7f??????[/COLOR]" />
and this 0x7f0900ef with
<public type="id" name="recents_memory_bar" id="0x7f??????" />
- Next
Search this method
Code:
.method public handleSwipe(Landroid/view/View;)V
scroll down in that method and add the red line
Code:
.method public handleSwipe(Landroid/view/View;)V
.locals 7
.parameter "view"
.prologue
const/4 v4, 0x1
.line 709
invoke-virtual {p1}, Landroid/view/View;->getTag()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;
iget-object v0, v2, Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;->taskDescription:Lcom/android/systemui/recent/TaskDescription;
.line 710
.local v0, ad:Lcom/android/systemui/recent/TaskDescription;
if-nez v0, :cond_1
.line 711
const-string v2, "RecentsPanelView"
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Not able to find activity description for swiped task; view="
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, " tag="
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {p1}, Landroid/view/View;->getTag()Ljava/lang/Object;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
.line 739
:cond_0
:goto_0
return-void
.line 716
:cond_1
iget-object v2, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentTaskDescriptions:Ljava/util/ArrayList;
invoke-virtual {v2, v0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
.line 717
iget-object v2, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentTasksLoader:Lcom/android/systemui/recent/RecentTasksLoader;
invoke-virtual {v2, v0}, Lcom/android/systemui/recent/RecentTasksLoader;->remove(Lcom/android/systemui/recent/TaskDescription;)V
.line 722
iget-object v2, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentTaskDescriptions:Ljava/util/ArrayList;
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result v2
if-nez v2, :cond_2
.line 723
invoke-virtual {p0}, Lcom/android/systemui/recent/RecentsPanelView;->dismissAndGoBack()V
.line 728
:cond_2
iget-object v2, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
const-string v3, "activity"
invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/app/ActivityManager;
.line 730
.local v1, am:Landroid/app/ActivityManager;
if-eqz v1, :cond_0
.line 731
iget v2, v0, Lcom/android/systemui/recent/TaskDescription;->persistentTaskId:I
invoke-virtual {v1, v2, v4}, Landroid/app/ActivityManager;->removeTask(II)Z
.line 734
iget-object v2, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
const v3, 0x7f0a00ba
new-array v4, v4, [Ljava/lang/Object;
const/4 v5, 0x0
invoke-virtual {v0}, Lcom/android/systemui/recent/TaskDescription;->getLabel()Ljava/lang/CharSequence;
move-result-object v6
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Landroid/content/Context;->getString(I[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-virtual {p0, v2}, Lcom/android/systemui/recent/RecentsPanelView;->setContentDescription(Ljava/lang/CharSequence;)V
.line 736
const/4 v2, 0x4
invoke-virtual {p0, v2}, Lcom/android/systemui/recent/RecentsPanelView;->sendAccessibilityEvent(I)V
.line 737
const/4 v2, 0x0
invoke-virtual {p0, v2}, Lcom/android/systemui/recent/RecentsPanelView;->setContentDescription(Ljava/lang/CharSequence;)V
[COLOR="Red"] invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->showMemDisplay()Z[/COLOR]
goto :goto_0
.end method
- Next
Search this method
Code:
.method public show(ZLjava/util/ArrayList;ZZ)V
scroll down in that method and add the red line
Code:
.method public show(ZLjava/util/ArrayList;ZZ)V
.locals 1
.parameter "show"
.parameter
.parameter "firstScreenful"
.parameter "animateIconOfFirstTask"
.annotation system Ldalvik/annotation/Signature;
value = {
"(Z",
"Ljava/util/ArrayList",
"<",
"Lcom/android/systemui/recent/TaskDescription;",
">;ZZ)V"
}
.end annotation
.prologue
.line 302
.local p2, recentTaskDescriptions:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/systemui/recent/TaskDescription;>;"
iput-boolean p4, p0, Lcom/android/systemui/recent/RecentsPanelView;->mAnimateIconOfFirstTask:Z
.line 303
iput-boolean p4, p0, Lcom/android/systemui/recent/RecentsPanelView;->mWaitingForWindowAnimation:Z
.line 304
if-eqz p1, :cond_0
.line 305
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mWaitingToShow:Z
.line 306
invoke-direct {p0, p2, p3}, Lcom/android/systemui/recent/RecentsPanelView;->refreshRecentTasksList(Ljava/util/ArrayList;Z)V
.line 307
invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->showIfReady()V
[COLOR="Red"] invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->showMemDisplay()Z[/COLOR]
.line 311
:goto_0
return-void
.line 309
:cond_0
const/4 v0, 0x0
invoke-direct {p0, v0}, Lcom/android/systemui/recent/RecentsPanelView;->showImpl(Z)V
goto :goto_0
.end method
- Next
add the red method
Code:
.method public dispatchHoverEvent(Landroid/view/MotionEvent;)Z
.locals 3
.parameter "event"
.prologue
.line 394
invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
move-result v2
float-to-int v0, v2
.line 395
.local v0, x:I
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result v2
float-to-int v1, v2
.line 396
.local v1, y:I
if-ltz v0, :cond_0
invoke-virtual {p0}, Lcom/android/systemui/recent/RecentsPanelView;->getWidth()I
move-result v2
if-ge v0, v2, :cond_0
if-ltz v1, :cond_0
invoke-virtual {p0}, Lcom/android/systemui/recent/RecentsPanelView;->getHeight()I
move-result v2
if-ge v1, v2, :cond_0
.line 397
invoke-super {p0, p1}, Landroid/widget/FrameLayout;->dispatchHoverEvent(Landroid/view/MotionEvent;)Z
move-result v2
.line 399
:goto_0
return v2
:cond_0
const/4 v2, 0x1
goto :goto_0
.end method
[COLOR="Red"].method public getTotalMemory()I
.locals 4
.prologue
.line 1027
const-string v1, "/proc/meminfo"
.line 1030
const/4 v0, 0x0
.line 1032
:try_start_0
new-instance v2, Ljava/io/FileReader;
invoke-direct {v2, v1}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V
.line 1033
new-instance v1, Ljava/io/BufferedReader;
const/16 v3, 0x2000
invoke-direct {v1, v2, v3}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V
.line 1034
invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v2
.line 1035
const-string v3, "\\s+"
invoke-virtual {v2, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v2
.line 1036
const/4 v3, 0x1
aget-object v2, v2, v3
invoke-static {v2}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
move-result v0
mul-int/lit16 v0, v0, 0x400
.line 1037
invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
.line 1040
:goto_0
const/high16 v1, 0x10
div-int/2addr v0, v1
return v0
.line 1038
:catch_0
move-exception v1
goto :goto_0
.end method[/COLOR]
.method public handleLongPress(Landroid/view/View;Landroid/view/View;Landroid/view/View;)V
.locals 4
.parameter "selectedView"
.parameter "anchorView"
.parameter "thumbnailView"
.prologue
.line 759
const/4 v1, 0x1
invoke-virtual {p3, v1}, Landroid/view/View;->setSelected(Z)V
.line 760
new-instance v0, Landroid/widget/PopupMenu;
iget-object v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
if-nez p2, :cond_0
move-object p2, p1
.end local p2
:cond_0
invoke-direct {v0, v1, p2}, Landroid/widget/PopupMenu;-><init>(Landroid/content/Context;Landroid/view/View;)V
- Next and the last
Add the red codes
Code:
.method private createCustomAnimations(Landroid/animation/LayoutTransition;)V
.locals 3
.parameter "transitioner"
.prologue
.line 475
const-wide/16 v0, 0xc8
invoke-virtual {p1, v0, v1}, Landroid/animation/LayoutTransition;->setDuration(J)V
.line 476
const/4 v0, 0x1
const-wide/16 v1, 0x0
invoke-virtual {p1, v0, v1, v2}, Landroid/animation/LayoutTransition;->setStartDelay(IJ)V
.line 477
const/4 v0, 0x3
const/4 v1, 0x0
invoke-virtual {p1, v0, v1}, Landroid/animation/LayoutTransition;->setAnimator(ILandroid/animation/Animator;)V
.line 478
return-void
.end method
[COLOR="Red"].method private getAvailMemory()Ljava/lang/String;
.locals 8
.prologue
.line 1019
new-instance v3, Landroid/app/ActivityManager$MemoryInfo;
invoke-direct {v3}, Landroid/app/ActivityManager$MemoryInfo;-><init>()V
.line 1020
.local v3, memInfo:Landroid/app/ActivityManager$MemoryInfo;
iget-object v4, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
const-string v5, "activity"
invoke-virtual {v4, v5}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/ActivityManager;
.line 1021
.local v0, am:Landroid/app/ActivityManager;
invoke-virtual {v0, v3}, Landroid/app/ActivityManager;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
.line 1022
iget-wide v4, v3, Landroid/app/ActivityManager$MemoryInfo;->availMem:J
const-wide/32 v6, 0x100000
div-long v1, v4, v6
.line 1023
.local v1, availableMem:J
invoke-static {v1, v2}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v4
return-object v4
.end method[/COLOR]
.method private pointInside(IILandroid/view/View;)Z
.locals 5
.parameter "x"
.parameter "y"
.parameter "v"
.prologue
.line 278
invoke-virtual {p3}, Landroid/view/View;->getLeft()I
move-result v1
.line 279
.local v1, l:I
invoke-virtual {p3}, Landroid/view/View;->getRight()I
- Done and recompile your SystemUI.apk
Credit to :
- CyanogenMod
- Vanir KK AOSP ROM
- [Unofficial Community] Galaxy Wonder CyanogenMod Indonesia
How to add samsung clear all button, google launch button , task manager button,
HOW TO ADD SAMSUNG
CLEAR ALL RECENT APPS BUTTON, GOOGLE LAUNCH BUTTON , TASK MANAGER BUTTON, IN RECENT PANEL
STEP -1
- Decompile your SystemUI.apk
- Download attached ClearAll-SystemUI.apk.zip, exstract it and merge it to you decompiled SystemUI.apk
- SystemUI.apk/res/layout/status_bar_recent_panel.xml
add the red line
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.recent.RecentsPanelView android:id="@id/recents_root" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:recentItemLayout="@layout/status_bar_recent_item"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<FrameLayout android:id="@id/recents_bg_protect" android:background="@drawable/status_bar_recents_background" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentBottom="true">
<com.android.systemui.recent.RecentsVerticalScrollView android:layout_gravity="bottom|left|center" android:id="@id/recents_container" android:scrollbars="none" android:fadingEdge="vertical" android:fadingEdgeLength="@dimen/status_bar_recents_scroll_fading_edge_length" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="0.0dip" android:stackFromBottom="true" android:divider="@null">
<LinearLayout android:orientation="vertical" android:id="@id/recents_linear_layout" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</com.android.systemui.recent.RecentsVerticalScrollView>
<LinearLayout android:layout_gravity="top" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="5.0dip">
<TextView android:textColor="@*android:color/holo_blue_dark" android:layout_gravity="center" android:id="@id/recents_memory_text" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ProgressBar android:id="@id/recents_memory_bar" android:paddingLeft="4.0dip" android:paddingRight="4.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="@*android:dimen/preference_fragment_padding_side" android:layout_marginRight="@*android:dimen/preference_fragment_padding_side" style="?android:attr/progressBarStyleHorizontal" />
</LinearLayout>
[COLOR="Red"]<LinearLayout android:layout_gravity="bottom" android:orientation="horizontal" android:background="@drawable/tw_ab_bottom_transparent_dark_holo" android:layout_width="fill_parent" android:layout_height="45.0dip" android:layout_weight="1.0">
<ImageButton android:id="@id/asteroid_recents_task_manager_button" android:background="@drawable/tw_recent_panel_button_forphone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tw_recent_panel_ic_task_manager_holo_dark" android:layout_weight="1.0" android:contentDescription="@string/status_bar_recent_launch_task_manager_title" style="?android:attr/buttonStyle" />
<LinearLayout android:layout_gravity="center_vertical" android:background="@drawable/tw_divider_vertical_holo_dark" android:layout_width="1.0dip" android:layout_height="29.0dip" />
<ImageButton android:id="@id/asteroid_recents_google_button" android:background="@drawable/tw_recent_panel_button_forphone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tw_recent_panel_ic_google_holo_dark" android:layout_weight="1.0" android:contentDescription="@string/status_bar_recent_launch_google_button" style="?android:attr/buttonStyle" />
<LinearLayout android:layout_gravity="center_vertical" android:background="@drawable/tw_divider_vertical_holo_dark" android:layout_width="1.0dip" android:layout_height="29.0dip" />
<ImageButton android:id="@id/asteroid_recents_clear_all_button" android:background="@drawable/tw_recent_panel_button_forphone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tw_recent_panel_ic_delete_holo_dark" android:layout_weight="1.0" android:contentDescription="@string/status_bar_recent_remove_all_button" style="?android:attr/buttonStyle" />
</LinearLayout>[/COLOR]
</FrameLayout>
<include android:id="@id/recents_no_apps" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/status_bar_no_recent_apps" />
</com.android.systemui.recent.RecentsPanelView>
- SystemUI.apk/res/layout-land/status_bar_recent_panel.xml
add the red line
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.recent.RecentsPanelView android:id="@id/recents_root" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:recentItemLayout="@layout/status_bar_recent_item"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<FrameLayout android:id="@id/recents_bg_protect" android:background="@drawable/status_bar_recents_background" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentBottom="true">
<com.android.systemui.recent.RecentsHorizontalScrollView android:layout_gravity="right" android:id="@id/recents_container" android:scrollbars="none" android:fadingEdge="horizontal" android:fadingEdgeLength="@dimen/status_bar_recents_scroll_fading_edge_length" android:clipChildren="false" android:clipToPadding="false" android:layout_width="wrap_content" android:layout_height="fill_parent">
<LinearLayout android:orientation="horizontal" android:id="@id/recents_linear_layout" android:clipChildren="false" android:clipToPadding="false" android:layout_width="wrap_content" android:layout_height="fill_parent" />
</com.android.systemui.recent.RecentsHorizontalScrollView>
<LinearLayout android:layout_gravity="top" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="5.0dip">
<TextView android:textColor="@*android:color/holo_blue_dark" android:layout_gravity="center" android:id="@id/recents_memory_text" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ProgressBar android:id="@id/recents_memory_bar" android:paddingLeft="4.0dip" android:paddingRight="4.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="@*android:dimen/preference_fragment_padding_side" android:layout_marginRight="@*android:dimen/preference_fragment_padding_side" style="?android:attr/progressBarStyleHorizontal" />
</LinearLayout>
[COLOR="Red"]<LinearLayout android:layout_gravity="bottom" android:orientation="horizontal" android:background="@drawable/tw_ab_bottom_transparent_dark_holo" android:layout_width="fill_parent" android:layout_height="45.0dip" android:layout_weight="1.0">
<ImageButton android:id="@id/asteroid_recents_task_manager_button" android:background="@drawable/tw_recent_panel_button_forphone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tw_recent_panel_ic_task_manager_holo_dark" android:layout_weight="1.0" android:contentDescription="@string/status_bar_recent_launch_task_manager_title" style="?android:attr/buttonStyle" />
<LinearLayout android:layout_gravity="center_vertical" android:background="@drawable/tw_divider_vertical_holo_dark" android:layout_width="1.0dip" android:layout_height="29.0dip" />
<ImageButton android:id="@id/asteroid_recents_google_button" android:background="@drawable/tw_recent_panel_button_forphone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tw_recent_panel_ic_google_holo_dark" android:layout_weight="1.0" android:contentDescription="@string/status_bar_recent_launch_google_button" style="?android:attr/buttonStyle" />
<LinearLayout android:layout_gravity="center_vertical" android:background="@drawable/tw_divider_vertical_holo_dark" android:layout_width="1.0dip" android:layout_height="29.0dip" />
<ImageButton android:id="@id/asteroid_recents_clear_all_button" android:background="@drawable/tw_recent_panel_button_forphone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tw_recent_panel_ic_delete_holo_dark" android:layout_weight="1.0" android:contentDescription="@string/status_bar_recent_remove_all_button" style="?android:attr/buttonStyle" />
</LinearLayout>[/COLOR]
</FrameLayout>
<include android:id="@id/recents_no_apps" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/status_bar_no_recent_apps" />
</com.android.systemui.recent.RecentsPanelView>
- SystemUI.apk/res/values/ids.xml
add the red line to end of it before </resources>
Code:
<item type="id" name="recents_memory_bar">false</item>
<item type="id" name="recents_memory_text">false</item>
[COLOR="Red"]<item type="id" name="asteroid_recents_task_manager_button">false</item>
<item type="id" name="asteroid_recents_google_button">false</item>
<item type="id" name="asteroid_recents_clear_all_button">false</item>[/COLOR]
</resources>
- SystemUI.apk/res/values/strings.xml
add the red line to end of it before </resources>
Code:
<string name="status_bar_help_text">"Access them anytime by swiping down.
Swipe down again for system controls."</string>
<string name="shutdown_prompt_title">Shutdown</string>
<string name="shutdown_prompt_message">Low battery and then will be auto shutdown</string>
<string name="shutdown_prompt_message_before">Low battery ! Your phone will shutdown in</string>
<string name="shutdown_prompt_message_after">seconds</string>
[COLOR="Red"]<string name="status_bar_recent_launch_task_manager_title">Task manager</string>
<string name="status_bar_recent_launch_google_button">Google</string>
<string name="status_bar_recent_remove_all_button">Remove all</string>[/COLOR]
</resources>
- Recompile your SystemUI.apk
STEP - 2
- Decompile the newly Recompiled APK again
Next go to
res/values/public.xml
open it with Notepad++
leave it, but keep it open
- SystemUI.apk/smali/com/android/systemui/recent/RecentsPanelView.smali
add the red line
Code:
# instance fields
.field private mAnimateIconOfFirstTask:Z
.field private mFitThumbnailToXY:Z
[COLOR="Red"].field private mGoogleButton:Landroid/widget/ImageButton;[/COLOR]
.field private mHighEndGfx:Z
Code:
.end annotation
.end field
.field private mRecentTasksLoader:Lcom/android/systemui/recent/RecentTasksLoader;
[COLOR="Red"].field private mRecentsClearAllButton:Landroid/widget/ImageButton;[/COLOR]
.field private mRecentsContainer:Landroid/view/ViewGroup;
.field private mRecentsNoApps:Landroid/view/View;
.field private mRecentsScrim:Landroid/view/View;
.field private mShowing:Z
.field private mStatusBarTouchProxy:Lcom/android/systemui/recent/StatusBarTouchProxy;
[COLOR="Red"].field private mTaskManagerButton:Landroid/widget/ImageButton;[/COLOR]
.field private mThumbnailWidth:I
.field private mWaitingForWindowAnimation:Z
Code:
iput v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentItemLayoutId:I
.line 267
invoke-static {p1}, Lcom/android/systemui/recent/RecentTasksLoader;->getInstance(Landroid/content/Context;)Lcom/android/systemui/recent/RecentTasksLoader;
move-result-object v1
iput-object v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentTasksLoader:Lcom/android/systemui/recent/RecentTasksLoader;
.line 268
invoke-virtual {v0}, Landroid/content/res/TypedArray;->recycle()V
.line 269
return-void
.end method
[COLOR="Red"].method private AsteroidClearAllRecentApps()V
.locals 8
.prologue
const/4 v7, 0x1
const/4 v6, 0x0
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
const-string v1, "activity"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/ActivityManager;
iget-object v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentTaskDescriptions:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->isEmpty()Z
move-result v1
if-nez v1, :cond_1
iget-object v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentTaskDescriptions:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_0
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/android/systemui/recent/TaskDescription;
iget v3, v1, Lcom/android/systemui/recent/TaskDescription;->persistentTaskId:I
invoke-virtual {v0, v3, v7}, Landroid/app/ActivityManager;->removeTask(II)Z
iget-object v3, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
const v4, [COLOR="Blue"]0x7f0b00a5[/COLOR]
new-array v5, v7, [Ljava/lang/Object;
invoke-virtual {v1}, Lcom/android/systemui/recent/TaskDescription;->getLabel()Ljava/lang/CharSequence;
move-result-object v1
aput-object v1, v5, v6
invoke-virtual {v3, v4, v5}, Landroid/content/Context;->getString(I[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {p0, v1}, Lcom/android/systemui/recent/RecentsPanelView;->setContentDescription(Ljava/lang/CharSequence;)V
const/4 v1, 0x4
invoke-virtual {p0, v1}, Lcom/android/systemui/recent/RecentsPanelView;->sendAccessibilityEvent(I)V
const/4 v1, 0x0
invoke-virtual {p0, v1}, Lcom/android/systemui/recent/RecentsPanelView;->setContentDescription(Ljava/lang/CharSequence;)V
goto :goto_0
:cond_0
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentTaskDescriptions:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
:cond_1
invoke-virtual {p0}, Lcom/android/systemui/recent/RecentsPanelView;->dismissAndGoBack()V
return-void
.end method
.method static synthetic access$177777700(Lcom/android/systemui/recent/RecentsPanelView;)V
.locals 0
.parameter "x0"
.prologue
.line 75
invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->AsteroidClearAllRecentApps()V
return-void
.end method[/COLOR]
.method static synthetic access$000(Lcom/android/systemui/recent/RecentsPanelView;)Ljava/util/ArrayList;
.locals 1
.parameter "x0"
.prologue
.line 73
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentTaskDescriptions:Ljava/util/ArrayList;
return-object v0
.end method
.method static synthetic access$100(Lcom/android/systemui/recent/RecentsPanelView;)I
.locals 1
.parameter "x0"
.prologue
.line 73
iget v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentItemLayoutId:I
Change this 0x7f0b00a5
with the IDS value you got in your public.xml
Code:
<public type="string" name="accessibility_recents_item_dismissed" id="[COLOR="Blue"]0x7f??????[/COLOR]" />
NEXT
find this method
Code:
.method protected onFinishInflate()V
scroll down in that method and add the red codes above return-void
Code:
invoke-virtual {v1, v2}, Landroid/view/View;->setBackground(Landroid/graphics/drawable/Drawable;)V
.line 488
:cond_0
:goto_0
[COLOR="Red"]const v1, [COLOR="Blue"]0x7f08012e[/COLOR]
invoke-virtual {p0, v1}, Lcom/android/systemui/recent/RecentsPanelView;->findViewById(I)Landroid/view/View;
move-result-object v1
check-cast v1, Landroid/widget/ImageButton;
iput-object v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentsClearAllButton:Landroid/widget/ImageButton;
.line 499
iget-object v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentsClearAllButton:Landroid/widget/ImageButton;
new-instance v2, Lcom/android/systemui/recent/RecentsPanelView$AsteroidClearAll;
invoke-direct {v2, p0}, Lcom/android/systemui/recent/RecentsPanelView$AsteroidClearAll;-><init>(Lcom/android/systemui/recent/RecentsPanelView;)V
invoke-virtual {v1, v2}, Landroid/widget/ImageButton;->setOnClickListener(Landroid/view/View$OnClickListener;)V
const v1, [COLOR="Blue"]0x7f08012c[/COLOR]
invoke-virtual {p0, v1}, Lcom/android/systemui/recent/RecentsPanelView;->findViewById(I)Landroid/view/View;
move-result-object v1
check-cast v1, Landroid/widget/ImageButton;
iput-object v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mTaskManagerButton:Landroid/widget/ImageButton;
iget-object v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mTaskManagerButton:Landroid/widget/ImageButton;
new-instance v2, Lcom/android/systemui/recent/RecentsPanelView$AsteroidTaskManagerHelper;
invoke-direct {v2, p0}, Lcom/android/systemui/recent/RecentsPanelView$AsteroidTaskManagerHelper;-><init>(Lcom/android/systemui/recent/RecentsPanelView;)V
invoke-virtual {v1, v2}, Landroid/widget/ImageButton;->setOnClickListener(Landroid/view/View$OnClickListener;)V
const v1, [COLOR="Blue"]0x7f08012d[/COLOR]
invoke-virtual {p0, v1}, Lcom/android/systemui/recent/RecentsPanelView;->findViewById(I)Landroid/view/View;
move-result-object v1
check-cast v1, Landroid/widget/ImageButton;
iput-object v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mGoogleButton:Landroid/widget/ImageButton;
iget-object v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mGoogleButton:Landroid/widget/ImageButton;
new-instance v2, Lcom/android/systemui/recent/RecentsPanelView$AsteroidGoogleHelper;
invoke-direct {v2, p0}, Lcom/android/systemui/recent/RecentsPanelView$AsteroidGoogleHelper;-><init>(Lcom/android/systemui/recent/RecentsPanelView;)V
invoke-virtual {v1, v2}, Landroid/widget/ImageButton;->setOnClickListener(Landroid/view/View$OnClickListener;)V[/COLOR]
[COLOR="Blue"]return-void[/COLOR]
.line 473
.end local v0 #scrollView:Lcom/android/systemui/recent/RecentsPanelView$RecentsScrollView;
:cond_1
new-instance v1, Ljava/lang/IllegalArgumentException;
const-string v2, "missing Recents[Horizontal]ScrollView"
invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v1
.line 483
.restart local v0 #scrollView:Lcom/android/systemui/recent/RecentsPanelView$RecentsScrollView;
Change this 0x7f08012e
with the IDS value you got in your public.xml
Code:
<public type="id" name="asteroid_recents_clear_all_button" id="[COLOR="Blue"]0x7f??????[/COLOR]" />
this 0x7f08012c with
Code:
<public type="id" name="asteroid_recents_task_manager_button" id="[COLOR="Blue"]0x7f??????[/COLOR]" />
and this 0x7f08012d with
Code:
<public type="id" name="asteroid_recents_google_button" id="[COLOR="Blue"]0x7f??????[/COLOR]" />
- Done and recompile your systemUI.apk
- Download attached Asteroid_taskmanager.apk and
- Quicksearcbox.apk ( skip this if you already have velvet / google search installed )
- Push them together to your system/app/reboot
- Done
Additional
for JB 4.1.2
change this from the guide
Code:
invoke-virtual {p0}, Lcom/android/systemui/recent/RecentsPanelView;->dismissAndGoBack()V
to like this
Code:
invoke-virtual {p0, v6}, Lcom/android/systemui/recent/RecentsPanelView;->hide(Z)V
Adi Aisiteru Reborn said:
HOW TO ADD RAM PROGRESS BAR IN RECENT PANEL for JB 4.2 + +
Let's just start it,. :good::laugh:
REQUIREMENT:
- BRAIN
- Patient
- experience
- Know how to decompile/recompiling Apk file
- Know how to decompile/recompiling jar Apk file
- notepad++
- Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools/ or else
STEP - 1
- Decompile your Settings.apk
- Download attached RamBar Settings.apk , exstract it and merge to your decompiled Settings.apk
- Next, go to
Settings.apk/res/xml/display_settings.xml
add the red line
Code:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen android:title="@string/display_settings"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
[COLOR="Red"]<PreferenceScreen android:title="Ram Progress Bar" android:key="adi_vanir_settings" android:fragment="com.android.settings.adi.VanirRamProgressBar" />[/COLOR]
<com.android.settings.BrightnessPreference android:title="@string/brightness" android:key="brightness" android:dialogTitle="@string/brightness" />
<PreferenceScreen android:title="@string/wallpaper_settings_title" android:key="wallpaper" android:fragment="com.android.settings.WallpaperTypeSettings" />
<PreferenceScreen android:title="@string/display_rotation_title" android:key="display_rotation" android:fragment="com.android.settings.cyanogenmod.DisplayRotation" />
<ListPreference android:persistent="false" android:entries="@array/screen_timeout_entries" android:title="@string/screen_timeout" android:key="screen_timeout" android:summary="@string/screen_timeout_summary" android:entryValues="@array/screen_timeout_values" />
<PreferenceScreen android:title="@string/screensaver_settings_title" android:key="screensaver" android:fragment="com.android.settings.DreamSettings" />
<com.android.settings.WarnedListPreference android:entries="@array/entries_font_size" android:title="@string/title_font_size" android:key="font_size" android:summary="@string/summary_font_size" android:dialogTitle="@string/dialog_title_font_size" android:entryValues="@array/entryvalues_font_size" />
<PreferenceScreen android:title="@string/wifi_display_settings_title" android:key="wifi_display" android:fragment="com.android.settings.wfd.WifiDisplaySettings" />
<CheckBoxPreference android:title="@string/screen_off_animation_title" android:key="screen_off_animation" android:summary="@string/screen_off_animation_summary" android:defaultValue="true" />
<PreferenceCategory android:title="@string/display_category_wakeup_options_title" android:key="category_wakeup_options">
<CheckBoxPreference android:title="@string/pref_home_wake_title" android:key="pref_home_wake" android:summary="@string/pref_home_wake_summary" android:defaultValue="true" />
<CheckBoxPreference android:title="@string/pref_volume_wake_title" android:key="pref_volume_wake" android:summary="@string/pref_volume_wake_summary" android:defaultValue="false" />
</PreferenceCategory>
</PreferenceScreen>
- Recompile your Settings.apk
- Decompile the newly recompiled Settings.apk and go to res/values/public.xml
open it with Notepad++
leave it, but keep it open
- go to Settings.apk/smali/com/android/settings/adi/VanirRamProgressBar.smali
search for this
Code:
[COLOR="Red"]0x7f050068[/COLOR]
and change it with the IDS you got in your own public.xml
Code:
<public type="xml" name="adi_vanir_rambar" id="[COLOR="Red"]0x7f??????[/COLOR]" />
- Done, and recompile your settings.apk
- Push it to system/app with right permission / reboot
- Done reboot, open your settings app, go to settings / Display settings / and check enabled "Ram Progress Bar"
STEP -2
- Decompile your SystemUI.apk
- SystemUI.apk/res/layout/status_bar_recent_panel.xml
add the red line
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.recent.RecentsPanelView android:id="@id/recents_root" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:recentItemLayout="@layout/status_bar_recent_item"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<FrameLayout android:id="@id/recents_bg_protect" android:background="@drawable/status_bar_recents_background" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentBottom="true">
<com.android.systemui.recent.RecentsVerticalScrollView android:layout_gravity="bottom|left|center" android:id="@id/recents_container" android:scrollbars="none" android:fadingEdge="vertical" android:fadingEdgeLength="@dimen/status_bar_recents_scroll_fading_edge_length" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="0.0dip" android:stackFromBottom="true" android:divider="@null">
<LinearLayout android:orientation="vertical" android:id="@id/recents_linear_layout" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</com.android.systemui.recent.RecentsVerticalScrollView>
[COLOR="Red"]<LinearLayout android:layout_gravity="top" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="5.0dip">
<TextView android:textColor="@*android:color/holo_blue_dark" android:layout_gravity="center" android:id="@id/recents_memory_text" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ProgressBar android:id="@id/recents_memory_bar" android:paddingLeft="4.0dip" android:paddingRight="4.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="@*android:dimen/preference_fragment_padding_side" android:layout_marginRight="@*android:dimen/preference_fragment_padding_side" style="?android:attr/progressBarStyleHorizontal" />
</LinearLayout>[/COLOR]
<ImageView android:layout_gravity="bottom|left|center" 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>
<include android:id="@id/recents_no_apps" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/status_bar_no_recent_apps" />
</com.android.systemui.recent.RecentsPanelView>
- SystemUI.apk/res/layout-land/status_bar_recent_panel.xml
add the red line
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.recent.RecentsPanelView android:id="@id/recents_root" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:recentItemLayout="@layout/status_bar_recent_item"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<FrameLayout android:id="@id/recents_bg_protect" android:background="@drawable/status_bar_recents_background" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentBottom="true">
<com.android.systemui.recent.RecentsHorizontalScrollView android:layout_gravity="right" android:id="@id/recents_container" android:scrollbars="none" android:fadingEdge="horizontal" android:fadingEdgeLength="@dimen/status_bar_recents_scroll_fading_edge_length" android:layout_width="wrap_content" android:layout_height="fill_parent">
<LinearLayout android:orientation="horizontal" android:id="@id/recents_linear_layout" android:layout_width="wrap_content" android:layout_height="fill_parent" />
</com.android.systemui.recent.RecentsHorizontalScrollView>
[COLOR="Red"]<LinearLayout android:layout_gravity="top" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="5.0dip">
<TextView android:textColor="@*android:color/holo_blue_dark" android:layout_gravity="center" android:id="@id/recents_memory_text" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ProgressBar android:id="@id/recents_memory_bar" android:paddingLeft="4.0dip" android:paddingRight="4.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="@*android:dimen/preference_fragment_padding_side" android:layout_marginRight="@*android:dimen/preference_fragment_padding_side" style="?android:attr/progressBarStyleHorizontal" />
</LinearLayout>[/COLOR]
<ImageView android:layout_gravity="bottom|left|center" 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>
<include android:id="@id/recents_no_apps" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/status_bar_no_recent_apps" />
</com.android.systemui.recent.RecentsPanelView>
- SystemUI.apk/res/layout-land/status_bar_recent_panel.xml
add the red line to end of it before </resources>
Code:
<item type="id" name="notifications_tab_contents">false</item>
<item type="id" name="bottom_bg_helper">false</item>
[COLOR="Red"]<item type="id" name="recents_memory_bar">false</item>
<item type="id" name="recents_memory_text">false</item>[/COLOR]
</resources>
- Recompile your SystemUI.apk
- Decompile the newly Recompiled APK again
Next go to
res/values/public.xml
open it with Notepad++
leave it, but keep it open
- SystemUI.apk/smali/com/android/systemui/recent/RecentsPanelView.smali
add the red line
Code:
iget-object v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mPopup:Landroid/widget/PopupMenu;
invoke-virtual {v1}, Landroid/widget/PopupMenu;->dismiss()V
goto :goto_2
.end method
[COLOR="Red"].method private showMemDisplay()Z
.locals 7
.prologue
const/16 v5, 0x8
const/4 v3, 0x1
const/4 v4, 0x0
.line 994
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "adi_beanning_rom_ram_progrees_bar"
invoke-static {v0, v1, v4}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
if-ne v0, v3, :cond_0
move v2, v3
.line 997
:goto_0
const v0, [COLOR="Blue"]0x7f0900f0[/COLOR]
invoke-virtual {p0, v0}, Lcom/android/systemui/recent/RecentsPanelView;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/TextView;
.line 998
const v1, [COLOR="Blue"]0x7f0900ef[/COLOR]
invoke-virtual {p0, v1}, Lcom/android/systemui/recent/RecentsPanelView;->findViewById(I)Landroid/view/View;
move-result-object v1
check-cast v1, Landroid/widget/ProgressBar;
.line 1000
if-nez v2, :cond_1
.line 1001
invoke-virtual {v0, v5}, Landroid/widget/TextView;->setVisibility(I)V
.line 1002
invoke-virtual {v1, v5}, Landroid/widget/ProgressBar;->setVisibility(I)V
.line 1015
:goto_1
return v4
:cond_0
move v2, v4
.line 994
goto :goto_0
.line 1006
:cond_1
invoke-virtual {v0, v4}, Landroid/widget/TextView;->setVisibility(I)V
.line 1007
invoke-virtual {v1, v4}, Landroid/widget/ProgressBar;->setVisibility(I)V
.line 1009
invoke-virtual {p0}, Lcom/android/systemui/recent/RecentsPanelView;->getTotalMemory()I
move-result v2
.line 1010
invoke-virtual {v1, v2}, Landroid/widget/ProgressBar;->setMax(I)V
.line 1012
invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->getAvailMemory()Ljava/lang/String;
move-result-object v4
invoke-static {v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v4
.line 1013
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Free RAM: "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-static {v4}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v6
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
const-string v6, "MB"
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-virtual {v0, v5}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 1014
sub-int v0, v2, v4
invoke-virtual {v1, v0}, Landroid/widget/ProgressBar;->setProgress(I)V
move v4, v3
.line 1015
goto :goto_1
.end method[/COLOR]
.method private startApplicationDetailsActivity(Ljava/lang/String;)V
.locals 4
.parameter "packageName"
.prologue
.line 742
new-instance v0, Landroid/content/Intent;
const-string v1, "android.settings.APPLICATION_DETAILS_SETTINGS"
const-string v2, "package"
Change this 0x7f0900f0
with the IDS value you got in your public.xml
Code:
<public type="id" name="recents_memory_text" id="[COLOR="Blue"]0x7f??????[/COLOR]" />
and this 0x7f0900ef with
<public type="id" name="recents_memory_bar" id="0x7f??????" />
- Next
Search this method
Code:
.method public handleSwipe(Landroid/view/View;)V
scroll down in that method and add the red line
Code:
.method public handleSwipe(Landroid/view/View;)V
.locals 7
.parameter "view"
.prologue
const/4 v4, 0x1
.line 709
invoke-virtual {p1}, Landroid/view/View;->getTag()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;
iget-object v0, v2, Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;->taskDescription:Lcom/android/systemui/recent/TaskDescription;
.line 710
.local v0, ad:Lcom/android/systemui/recent/TaskDescription;
if-nez v0, :cond_1
.line 711
const-string v2, "RecentsPanelView"
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Not able to find activity description for swiped task; view="
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, " tag="
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {p1}, Landroid/view/View;->getTag()Ljava/lang/Object;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
.line 739
:cond_0
:goto_0
return-void
.line 716
:cond_1
iget-object v2, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentTaskDescriptions:Ljava/util/ArrayList;
invoke-virtual {v2, v0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
.line 717
iget-object v2, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentTasksLoader:Lcom/android/systemui/recent/RecentTasksLoader;
invoke-virtual {v2, v0}, Lcom/android/systemui/recent/RecentTasksLoader;->remove(Lcom/android/systemui/recent/TaskDescription;)V
.line 722
iget-object v2, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentTaskDescriptions:Ljava/util/ArrayList;
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result v2
if-nez v2, :cond_2
.line 723
invoke-virtual {p0}, Lcom/android/systemui/recent/RecentsPanelView;->dismissAndGoBack()V
.line 728
:cond_2
iget-object v2, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
const-string v3, "activity"
invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/app/ActivityManager;
.line 730
.local v1, am:Landroid/app/ActivityManager;
if-eqz v1, :cond_0
.line 731
iget v2, v0, Lcom/android/systemui/recent/TaskDescription;->persistentTaskId:I
invoke-virtual {v1, v2, v4}, Landroid/app/ActivityManager;->removeTask(II)Z
.line 734
iget-object v2, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
const v3, 0x7f0a00ba
new-array v4, v4, [Ljava/lang/Object;
const/4 v5, 0x0
invoke-virtual {v0}, Lcom/android/systemui/recent/TaskDescription;->getLabel()Ljava/lang/CharSequence;
move-result-object v6
aput-object v6, v4, v5
invoke-virtual {v2, v3, v4}, Landroid/content/Context;->getString(I[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-virtual {p0, v2}, Lcom/android/systemui/recent/RecentsPanelView;->setContentDescription(Ljava/lang/CharSequence;)V
.line 736
const/4 v2, 0x4
invoke-virtual {p0, v2}, Lcom/android/systemui/recent/RecentsPanelView;->sendAccessibilityEvent(I)V
.line 737
const/4 v2, 0x0
invoke-virtual {p0, v2}, Lcom/android/systemui/recent/RecentsPanelView;->setContentDescription(Ljava/lang/CharSequence;)V
[COLOR="Red"] invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->showMemDisplay()Z[/COLOR]
goto :goto_0
.end method
- Next
Search this method
Code:
.method public show(ZLjava/util/ArrayList;ZZ)V
scroll down in that method and add the red line
Code:
.method public show(ZLjava/util/ArrayList;ZZ)V
.locals 1
.parameter "show"
.parameter
.parameter "firstScreenful"
.parameter "animateIconOfFirstTask"
.annotation system Ldalvik/annotation/Signature;
value = {
"(Z",
"Ljava/util/ArrayList",
"<",
"Lcom/android/systemui/recent/TaskDescription;",
">;ZZ)V"
}
.end annotation
.prologue
.line 302
.local p2, recentTaskDescriptions:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/systemui/recent/TaskDescription;>;"
iput-boolean p4, p0, Lcom/android/systemui/recent/RecentsPanelView;->mAnimateIconOfFirstTask:Z
.line 303
iput-boolean p4, p0, Lcom/android/systemui/recent/RecentsPanelView;->mWaitingForWindowAnimation:Z
.line 304
if-eqz p1, :cond_0
.line 305
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mWaitingToShow:Z
.line 306
invoke-direct {p0, p2, p3}, Lcom/android/systemui/recent/RecentsPanelView;->refreshRecentTasksList(Ljava/util/ArrayList;Z)V
.line 307
invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->showIfReady()V
[COLOR="Red"] invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->showMemDisplay()Z[/COLOR]
.line 311
:goto_0
return-void
.line 309
:cond_0
const/4 v0, 0x0
invoke-direct {p0, v0}, Lcom/android/systemui/recent/RecentsPanelView;->showImpl(Z)V
goto :goto_0
.end method
- Next
add the red method
Code:
.method public dispatchHoverEvent(Landroid/view/MotionEvent;)Z
.locals 3
.parameter "event"
.prologue
.line 394
invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
move-result v2
float-to-int v0, v2
.line 395
.local v0, x:I
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result v2
float-to-int v1, v2
.line 396
.local v1, y:I
if-ltz v0, :cond_0
invoke-virtual {p0}, Lcom/android/systemui/recent/RecentsPanelView;->getWidth()I
move-result v2
if-ge v0, v2, :cond_0
if-ltz v1, :cond_0
invoke-virtual {p0}, Lcom/android/systemui/recent/RecentsPanelView;->getHeight()I
move-result v2
if-ge v1, v2, :cond_0
.line 397
invoke-super {p0, p1}, Landroid/widget/FrameLayout;->dispatchHoverEvent(Landroid/view/MotionEvent;)Z
move-result v2
.line 399
:goto_0
return v2
:cond_0
const/4 v2, 0x1
goto :goto_0
.end method
[COLOR="Red"].method public getTotalMemory()I
.locals 4
.prologue
.line 1027
const-string v1, "/proc/meminfo"
.line 1030
const/4 v0, 0x0
.line 1032
:try_start_0
new-instance v2, Ljava/io/FileReader;
invoke-direct {v2, v1}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V
.line 1033
new-instance v1, Ljava/io/BufferedReader;
const/16 v3, 0x2000
invoke-direct {v1, v2, v3}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V
.line 1034
invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v2
.line 1035
const-string v3, "\\s+"
invoke-virtual {v2, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v2
.line 1036
const/4 v3, 0x1
aget-object v2, v2, v3
invoke-static {v2}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
move-result v0
mul-int/lit16 v0, v0, 0x400
.line 1037
invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
.line 1040
:goto_0
const/high16 v1, 0x10
div-int/2addr v0, v1
return v0
.line 1038
:catch_0
move-exception v1
goto :goto_0
.end method[/COLOR]
.method public handleLongPress(Landroid/view/View;Landroid/view/View;Landroid/view/View;)V
.locals 4
.parameter "selectedView"
.parameter "anchorView"
.parameter "thumbnailView"
.prologue
.line 759
const/4 v1, 0x1
invoke-virtual {p3, v1}, Landroid/view/View;->setSelected(Z)V
.line 760
new-instance v0, Landroid/widget/PopupMenu;
iget-object v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
if-nez p2, :cond_0
move-object p2, p1
.end local p2
:cond_0
invoke-direct {v0, v1, p2}, Landroid/widget/PopupMenu;-><init>(Landroid/content/Context;Landroid/view/View;)V
- Next and the last
Add the red codes
Code:
.method private createCustomAnimations(Landroid/animation/LayoutTransition;)V
.locals 3
.parameter "transitioner"
.prologue
.line 475
const-wide/16 v0, 0xc8
invoke-virtual {p1, v0, v1}, Landroid/animation/LayoutTransition;->setDuration(J)V
.line 476
const/4 v0, 0x1
const-wide/16 v1, 0x0
invoke-virtual {p1, v0, v1, v2}, Landroid/animation/LayoutTransition;->setStartDelay(IJ)V
.line 477
const/4 v0, 0x3
const/4 v1, 0x0
invoke-virtual {p1, v0, v1}, Landroid/animation/LayoutTransition;->setAnimator(ILandroid/animation/Animator;)V
.line 478
return-void
.end method
[COLOR="Red"].method private getAvailMemory()Ljava/lang/String;
.locals 8
.prologue
.line 1019
new-instance v3, Landroid/app/ActivityManager$MemoryInfo;
invoke-direct {v3}, Landroid/app/ActivityManager$MemoryInfo;-><init>()V
.line 1020
.local v3, memInfo:Landroid/app/ActivityManager$MemoryInfo;
iget-object v4, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
const-string v5, "activity"
invoke-virtual {v4, v5}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/ActivityManager;
.line 1021
.local v0, am:Landroid/app/ActivityManager;
invoke-virtual {v0, v3}, Landroid/app/ActivityManager;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
.line 1022
iget-wide v4, v3, Landroid/app/ActivityManager$MemoryInfo;->availMem:J
const-wide/32 v6, 0x100000
div-long v1, v4, v6
.line 1023
.local v1, availableMem:J
invoke-static {v1, v2}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v4
return-object v4
.end method[/COLOR]
.method private pointInside(IILandroid/view/View;)Z
.locals 5
.parameter "x"
.parameter "y"
.parameter "v"
.prologue
.line 278
invoke-virtual {p3}, Landroid/view/View;->getLeft()I
move-result v1
.line 279
.local v1, l:I
invoke-virtual {p3}, Landroid/view/View;->getRight()I
- Done and recompile your SystemUI.apk
Credit to :
- CyanogenMod
- Vanir KK AOSP ROM
- [Unofficial Community] Galaxy Wonder CyanogenMod Indonesia
- Mediatek Android Art and Dev Indonesia
Click to expand...
Click to collapse
Nice Guide Sir
Sent from my GT-B5330 using xda premium
nice om...thanks
can it use in 4.1?
待8缘 said:
can it use in 4.1?
Click to expand...
Click to collapse
sure you can try it,
and I think The ram progress bar will read/detect the same activity in every framewrok
guud luck
Adi Aisiteru Reborn said:
reserved
Click to expand...
Click to collapse
I just want to show free RAM on statusbar, could u write the guide to do it?
Oohhlala said:
I just want to show free RAM on statusbar, could u write the guide to do it?
Click to expand...
Click to collapse
I dont know yet
Sent from my GT-I8150 using xda app-developers app
Adi Aisiteru Reborn said:
I dont know yet
Sent from my GT-I8150 using xda app-developers app
Click to expand...
Click to collapse
Me FC sir
06-14 01:07:27.064 E/AndroidRuntime(2942): java.lang.NullPointerException
06-14 01:07:27.064 E/AndroidRuntime(2942): at com.android.systemui.recent.RecentsPanelView.showMemDisplay(RecentsPanelView.java:1001)
06-14 01:07:27.064 E/AndroidRuntime(2942): at com.android.systemui.recent.RecentsPanelView.show(RecentsPanelView.java:421)
06-14 01:07:27.064 E/AndroidRuntime(2942): at com.android.systemui.recent.RecentsPanelView.showIfReady(RecentsPanelView.java:391)
06-14 01:07:27.064 E/AndroidRuntime(2942): at com.android.systemui.recent.RecentsPanelView.onTasksLoaded(RecentsPanelView.java:1016)
06-14 01:07:27.064 E/AndroidRuntime(2942): at com.android.systemui.recent.RecentTasksLoader$1.onProgressUpdate(RecentTasksLoader.java:292)
I use 2 recent panel, original & sense with setting....
what because that's what makes a stop??
Thanks
Sent from my GT-B5330 using xda premium
Then Try itvin stock @andrim3
Sent from my GT-I8150 using xda app-developers app
Adi Aisiteru Reborn said:
Then Try itvin stock @andrim3
Sent from my GT-I8150 using xda app-developers app
Click to expand...
Click to collapse
OK sir...
I will try it later...
Thank you soo much...
Sent from my GT-B5330 using xda premium
another awesome guides from you master...ॐtháńk ýőúॐ so much...
Sent from my GT-I9152 using Tapatalk
thread updated !
added
HOW TO ADD SAMSUNG
CLEAR ALL RECENT APPS BUTTON, GOOGLE LAUNCH BUTTON , TASK MANAGER BUTTON, IN RECENT PANEL
thanks
Adi Aisiteru Reborn said:
thread updated !
added
HOW TO ADD SAMSUNG
CLEAR ALL RECENT APPS BUTTON, GOOGLE LAUNCH BUTTON , TASK MANAGER BUTTON, IN RECENT PANEL
thanks
Click to expand...
Click to collapse
Awesome guide again om :victory:
thank's sir...
Thanx sifu Adi ram bar is works on my Cross a88 MT6589
_/|\_
Sir. I've tried this on the stock UI. results remain the same.
Can you check what my mistake.
This my logcat
Code:
E/AndroidRuntime( 7222): at com.android.systemui.recent.RecentsPanelView.showMemDisplay(RecentsPanelView.java:1001)
06-15 23:17:19.435 E/AndroidRuntime ( 7222): at com.android.systemui.recent.RecentsPanelView.show
(RecentsPanelView.java:380)
06-15 23:17:19.435 E/AndroidRuntime( 7222): at com.android.systemui.statusbar.BaseStatusBar
$H.handleMessage(BaseStatusBar.java:772)
06-15 23:17:19.435 E/AndroidRuntime( 7222): at com.android.systemui.statusbar.phone.PhoneStatusBar
$H.handleMessage(PhoneStatusBar.java:1846)
And this my smali
https://www.dropbox.com/s/ie6pubb57yjthfk/RecentsPanelView.smali
Thanks before sir...
Sent from my GT-B5330 using xda premium
sorry bro am on mobile now, can't look into your file, but seeing logcat it point to method ShowMemory display, find your mistake there,
Sent from my GT-I8150 using xda app-developers app
How to change task manager button? I want to launch other task manager, but if i change activity in RecentsPanelView$AsteroidTaskManagerHelper I have FC :c
E/AndroidRuntime( 675): FATAL EXCEPTION: main
E/AndroidRuntime( 675): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.omichsoft.taskmanager.Main flg=0x10000000 }
E/AndroidRuntime( 675): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1551)
E/AndroidRuntime( 675): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1422)
E/AndroidRuntime( 675): at android.app.ContextImpl.startActivity(ContextImpl.java:947)
E/AndroidRuntime( 675): at android.app.ContextImpl.startActivity(ContextImpl.java:936)
E/AndroidRuntime( 675): at android.content.ContextWrapper.startActivity(ContextWrapper.java:276)
E/AndroidRuntime( 675): at com.android.systemui.recent.RecentsPanelView$AsteroidTaskManagerHelper.onClick(RecentsPanelView.java:2336)
E/AndroidRuntime( 675): at android.view.View.performClick(View.java:4091)
E/AndroidRuntime( 675): at android.view.View$PerformClick.run(View.java:17072)
E/AndroidRuntime( 675): at android.os.Handler.handleCallback(Handler.java:615)
E/AndroidRuntime( 675): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime( 675): at android.os.Looper.loop(Looper.java:153)
E/AndroidRuntime( 675): at android.app.ActivityThread.main(ActivityThread.java:5086)
E/AndroidRuntime( 675): at java.lang.reflect.Method.invokeNative(NativeMethod)
E/AndroidRuntime( 675): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime( 675): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
E/AndroidRuntime( 675): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
E/AndroidRuntime( 675): at dalvik.system.NativeStart.main(Native Method)
Just to inform, i have tested your guide in AOSP Android 4.0.4 and all is working fine:laugh:
Awesome guide, thank you very much for this!

HOW TO ADD AOSP RAM LINEAR COLOR BAR, IN RECENT PANEL for JB 4.2 + +

HOW TO ADD AOSP RAM LINEAR COLOR BAR, IN RECENT PANEL
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
NOTE !! , This Mod guide is a continue from this thread, How to added RAM PROGRESS BAR & CLEAR ALL RECENT APPS in Recent panel for JB 4.2 + +
so to understand this Mod guide you have to already clean done that guide first !!
TRY AT YOUR OWN RISK !!!
THANKS :laugh::good:
STEP -1
Decompile your SystemUI.apk
- Download attached LinearColorRamBar_SystemUI.apk.zip exstract it and merge to your decompiled systemui.apk
- SystemUI.apk/res/layout/status_bar_recent_panel.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.recent.RecentsPanelView android:id="@id/recents_root" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:recentItemLayout="@layout/status_bar_recent_item"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<LinearLayout android:orientation="vertical" android:background="@drawable/status_bar_recents_background" android:layout_width="fill_parent" android:layout_height="fill_parent">
<view android:orientation="horizontal" android:id="@id/asteroid_ram_usage_bar" android:paddingLeft="4.0dip" android:paddingTop="10.0dip" android:paddingRight="4.0dip" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="@*android:dimen/preference_fragment_padding_side" android:layout_marginTop="-5.0dip" android:layout_marginRight="@*android:dimen/preference_fragment_padding_side" class="com.android.systemui.recent.LinearColorBar">
<TextView android:textAppearance="?android:textAppearanceSmallInverse" android:textColor="#ff000000" android:gravity="bottom|left|center" android:id="@id/asteroid_usedMemText" android:focusable="true" android:layout_width="0.0px" android:layout_height="wrap_content" android:singleLine="true" android:layout_weight="1.0" />
<TextView android:textAppearance="?android:textAppearanceSmallInverse" android:textColor="#ff000000" android:gravity="center" android:id="@id/asteroid_ramText" android:focusable="true" android:layout_width="0.0px" android:layout_height="wrap_content" android:singleLine="true" android:layout_weight="1.0" />
<TextView android:textAppearance="?android:textAppearanceSmallInverse" android:textColor="#ff000000" android:gravity="bottom|right|center" android:layout_gravity="right|center" android:id="@id/asteroid_freeMemText" android:focusable="true" android:layout_width="0.0px" android:layout_height="wrap_content" android:singleLine="true" android:layout_weight="1.0" />
</view>
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textColor="@*android:color/holo_blue_dark" android:layout_gravity="center" android:id="@id/recents_memory_text" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ProgressBar android:id="@id/recents_memory_bar" android:paddingLeft="4.0dip" android:paddingRight="4.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="@*android:dimen/preference_fragment_padding_side" android:layout_marginRight="@*android:dimen/preference_fragment_padding_side" style="?android:attr/progressBarStyleHorizontal" />
</LinearLayout>
<FrameLayout android:id="@id/recents_bg_protect" android:fitsSystemWindows="true" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentBottom="true">
<com.android.systemui.recent.RecentsVerticalScrollView android:layout_gravity="bottom|left|center" android:id="@id/recents_container" android:scrollbars="none" android:fadingEdge="vertical" android:fadingEdgeLength="@dimen/status_bar_recents_scroll_fading_edge_length" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="0.0dip" android:stackFromBottom="true" android:divider="@null">
<LinearLayout android:orientation="vertical" android:id="@id/recents_linear_layout" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</com.android.systemui.recent.RecentsVerticalScrollView>
<include android:layout_gravity="center" android:id="@id/recents_no_apps" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/status_bar_no_recent_apps" />
<LinearLayout android:layout_gravity="bottom" android:orientation="horizontal" android:background="@drawable/tw_ab_bottom_transparent_dark_holo" android:layout_width="fill_parent" android:layout_height="45.0dip" android:layout_weight="1.0">
<ImageButton android:id="@id/asteroid_recents_task_manager_button" android:background="@drawable/tw_recent_panel_button_forphone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tw_recent_panel_ic_task_manager_holo_dark" android:layout_weight="1.0" android:contentDescription="@string/status_bar_recent_launch_task_manager_title" style="?android:attr/buttonStyle" />
<LinearLayout android:layout_gravity="center_vertical" android:background="@drawable/tw_divider_vertical_holo_dark" android:layout_width="1.0dip" android:layout_height="29.0dip" />
<ImageButton android:id="@id/asteroid_recents_google_button" android:background="@drawable/tw_recent_panel_button_forphone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tw_recent_panel_ic_google_holo_dark" android:layout_weight="1.0" android:contentDescription="@string/status_bar_recent_launch_google_button" style="?android:attr/buttonStyle" />
<LinearLayout android:layout_gravity="center_vertical" android:background="@drawable/tw_divider_vertical_holo_dark" android:layout_width="1.0dip" android:layout_height="29.0dip" />
<ImageButton android:id="@id/asteroid_recents_clear_all_button" android:background="@drawable/tw_recent_panel_button_forphone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tw_recent_panel_ic_delete_holo_dark" android:layout_weight="1.0" android:contentDescription="@string/status_bar_recent_remove_all_button" style="?android:attr/buttonStyle" />
</LinearLayout>
</FrameLayout>
</LinearLayout>
</com.android.systemui.recent.RecentsPanelView>
- SystemUI.apk/res/layout-land/status_bar_recent_panel.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.recent.RecentsPanelView android:id="@id/recents_root" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:recentItemLayout="@layout/status_bar_recent_item"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<LinearLayout android:orientation="vertical" android:background="@drawable/status_bar_recents_background" android:layout_width="fill_parent" android:layout_height="fill_parent">
<view android:orientation="horizontal" android:id="@id/asteroid_ram_usage_bar" android:paddingLeft="4.0dip" android:paddingTop="10.0dip" android:paddingRight="4.0dip" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="@*android:dimen/preference_fragment_padding_side" android:layout_marginTop="-5.0dip" android:layout_marginRight="@*android:dimen/preference_fragment_padding_side" class="com.android.systemui.recent.LinearColorBar">
<TextView android:textAppearance="?android:textAppearanceSmallInverse" android:textColor="#ff000000" android:gravity="bottom|left|center" android:id="@id/asteroid_usedMemText" android:focusable="true" android:layout_width="0.0px" android:layout_height="wrap_content" android:singleLine="true" android:layout_weight="1.0" />
<TextView android:textAppearance="?android:textAppearanceSmallInverse" android:textColor="#ff000000" android:gravity="center" android:id="@id/asteroid_ramText" android:focusable="true" android:layout_width="0.0px" android:layout_height="wrap_content" android:singleLine="true" android:layout_weight="1.0" />
<TextView android:textAppearance="?android:textAppearanceSmallInverse" android:textColor="#ff000000" android:gravity="bottom|right|center" android:layout_gravity="right|center" android:id="@id/asteroid_freeMemText" android:focusable="true" android:layout_width="0.0px" android:layout_height="wrap_content" android:singleLine="true" android:layout_weight="1.0" />
</view>
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textColor="@*android:color/holo_blue_dark" android:layout_gravity="center" android:id="@id/recents_memory_text" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ProgressBar android:id="@id/recents_memory_bar" android:paddingLeft="4.0dip" android:paddingRight="4.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="@*android:dimen/preference_fragment_padding_side" android:layout_marginRight="@*android:dimen/preference_fragment_padding_side" style="?android:attr/progressBarStyleHorizontal" />
</LinearLayout>
<FrameLayout android:id="@id/recents_bg_protect" android:fitsSystemWindows="true" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentBottom="true">
<com.android.systemui.recent.RecentsHorizontalScrollView android:layout_gravity="right" android:id="@id/recents_container" android:scrollbars="none" android:fadingEdge="horizontal" android:fadingEdgeLength="@dimen/status_bar_recents_scroll_fading_edge_length" android:clipChildren="false" android:clipToPadding="false" android:layout_width="wrap_content" android:layout_height="fill_parent">
<LinearLayout android:orientation="horizontal" android:id="@id/recents_linear_layout" android:clipChildren="false" android:clipToPadding="false" android:layout_width="wrap_content" android:layout_height="fill_parent" />
</com.android.systemui.recent.RecentsHorizontalScrollView>
<include android:layout_gravity="center" android:id="@id/recents_no_apps" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/status_bar_no_recent_apps" />
<LinearLayout android:layout_gravity="bottom" android:orientation="horizontal" android:background="@drawable/tw_ab_bottom_transparent_dark_holo" android:layout_width="fill_parent" android:layout_height="45.0dip" android:layout_weight="1.0">
<ImageButton android:id="@id/asteroid_recents_task_manager_button" android:background="@drawable/tw_recent_panel_button_forphone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tw_recent_panel_ic_task_manager_holo_dark" android:layout_weight="1.0" android:contentDescription="@string/status_bar_recent_launch_task_manager_title" style="?android:attr/buttonStyle" />
<LinearLayout android:layout_gravity="center_vertical" android:background="@drawable/tw_divider_vertical_holo_dark" android:layout_width="1.0dip" android:layout_height="29.0dip" />
<ImageButton android:id="@id/asteroid_recents_google_button" android:background="@drawable/tw_recent_panel_button_forphone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tw_recent_panel_ic_google_holo_dark" android:layout_weight="1.0" android:contentDescription="@string/status_bar_recent_launch_google_button" style="?android:attr/buttonStyle" />
<LinearLayout android:layout_gravity="center_vertical" android:background="@drawable/tw_divider_vertical_holo_dark" android:layout_width="1.0dip" android:layout_height="29.0dip" />
<ImageButton android:id="@id/asteroid_recents_clear_all_button" android:background="@drawable/tw_recent_panel_button_forphone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tw_recent_panel_ic_delete_holo_dark" android:layout_weight="1.0" android:contentDescription="@string/status_bar_recent_remove_all_button" style="?android:attr/buttonStyle" />
</LinearLayout>
</FrameLayout>
</LinearLayout>
</com.android.systemui.recent.RecentsPanelView>
- SystemUI.apk/res/values/ids.xml
Code:
<item type="id" name="asteroid_recents_google_button">false</item>
<item type="id" name="asteroid_recents_clear_all_button">false</item>
[COLOR="Red"]<item type="id" name="asteroid_ram_usage_bar">false</item>
<item type="id" name="asteroid_usedMemText">false</item>
<item type="id" name="asteroid_ramText">false</item>
<item type="id" name="asteroid_freeMemText">false</item>[/COLOR]
</resources>
- SystemUI.apk/res/values/strings.xml
Code:
<string name="status_bar_recent_launch_task_manager_title">Task manager</string>
<string name="status_bar_recent_launch_google_button">Google</string>
<string name="status_bar_recent_remove_all_button">Remove all</string>
[COLOR="Red"]<string name="memory">RAM</string>
<string name="service_free_mem">%1$s free</string>
<string name="service_used_mem">%1$s used</string>[/COLOR]
</resources>
- Recompile your SystemUI.apk
STEP -2
Decompile the newly Recompiled APK again
Next go to
res/values/public.xml
open it with Notepad++
leave it, but keep it open
- SystemUI.apk/smali/com/android/systemui/recent/RecentsPanelView.smali
add the red line
Code:
# instance fields
[COLOR="Red"].field private mActiveMemory:J[/COLOR]
.field private mAnimateIconOfFirstTask:Z
[COLOR="Red"].field private mCachedMemory:J[/COLOR]
.field private mFitThumbnailToXY:Z
[COLOR="Red"].field mFreeMemText:Landroid/widget/TextView;[/COLOR]
[COLOR="Red"].field private mFreeMemory:J[/COLOR]
.field private mGoogleButton:Landroid/widget/ImageButton;
.field private mHighEndGfx:Z
.field private mItemToAnimateInWhenWindowAnimationIsFinished:Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;
.field private mListAdapter:Lcom/android/systemui/recent/RecentsPanelView$TaskDescriptionAdapter;
[COLOR="Red"].field mMemInfoReader:Lcom/android/internal/util/MemInfoReader;[/COLOR]
.field private mPopup:Landroid/widget/PopupMenu;
[COLOR="Red"].field mRamText:Landroid/widget/TextView;[/COLOR]
[COLOR="Red"].field private mRamUsageBar:Lcom/android/systemui/recent/LinearColorBar;[/COLOR]
.field private mRecentItemLayoutId:I
.field private mRecentTaskDescriptions:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList",
"<",
"Lcom/android/systemui/recent/TaskDescription;",
">;"
}
.end annotation
.end field
.field private mRecentTasksLoader:Lcom/android/systemui/recent/RecentTasksLoader;
.field private mRecentsClearAllButton:Landroid/widget/ImageButton;
.field private mRecentsContainer:Landroid/view/ViewGroup;
.field private mRecentsNoApps:Landroid/view/View;
.field private mRecentsScrim:Landroid/view/View;
.field private mShowing:Z
.field private mStatusBarTouchProxy:Lcom/android/systemui/recent/StatusBarTouchProxy;
.field private mTaskManagerButton:Landroid/widget/ImageButton;
.field private mThumbnailWidth:I
[COLOR="Red"].field private mTotalMemory:J[/COLOR]
[COLOR="Red"].field mUsedMemText:Landroid/widget/TextView;[/COLOR]
.field private mWaitingForWindowAnimation:Z
.field private mWaitingToShow:Z
.field private mWindowAnimationStartTime:J
Code:
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.locals 3
.parameter "context"
.parameter "attrs"
.parameter "defStyle"
.prologue
const/4 v2, 0x0
.line 260
invoke-direct {p0, p1, p2, p3}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
[COLOR="Red"]new-instance v1, Lcom/android/internal/util/MemInfoReader;
invoke-direct {v1}, Lcom/android/internal/util/MemInfoReader;-><init>()V
iput-object v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mMemInfoReader:Lcom/android/internal/util/MemInfoReader;[/COLOR]
.line 261
invoke-virtual {p0}, Lcom/android/systemui/recent/RecentsPanelView;->updateValuesFromResources()V
.line 263
sget-object v1, Lcom/android/systemui/R$styleable;->RecentsPanelView:[I
invoke-virtual {p1, p2, v1, p3, v2}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object v0
Code:
.method static synthetic access$1102(Lcom/android/systemui/recent/RecentsPanelView;Landroid/widget/PopupMenu;)Landroid/widget/PopupMenu;
.locals 0
.parameter "x0"
.parameter "x1"
.prologue
.line 73
iput-object p1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mPopup:Landroid/widget/PopupMenu;
return-object p1
.end method
[COLOR="Red"].method static synthetic access$11400(Lcom/android/systemui/recent/RecentsPanelView;)Landroid/content/Context;
.locals 1
.parameter "x0"
.prologue
.line 85
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
return-object v0
.end method[/COLOR]
.method static synthetic access$177777700(Lcom/android/systemui/recent/RecentsPanelView;)V
.locals 0
.parameter "x0"
.prologue
.line 75
invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->AsteroidClearAllRecentApps()V
return-void
.end method
.method static synthetic access$200(Lcom/android/systemui/recent/RecentsPanelView;)Lcom/android/systemui/recent/RecentTasksLoader;
Code:
.method private pointInside(IILandroid/view/View;)Z
.locals 5
.parameter "x"
.parameter "y"
.parameter "v"
.prologue
.line 282
invoke-virtual {p3}, Landroid/view/View;->getLeft()I
move-result v1
.line 283
.local v1, l:I
invoke-virtual {p3}, Landroid/view/View;->getRight()I
move-result v2
.line 284
.local v2, r:I
invoke-virtual {p3}, Landroid/view/View;->getTop()I
move-result v3
.line 285
.local v3, t:I
invoke-virtual {p3}, Landroid/view/View;->getBottom()I
move-result v0
.line 286
.local v0, b:I
if-lt p1, v1, :cond_0
if-ge p1, v2, :cond_0
if-lt p2, v3, :cond_0
if-ge p2, v0, :cond_0
const/4 v4, 0x1
:goto_0
return v4
:cond_0
const/4 v4, 0x0
goto :goto_0
.end method
[COLOR="Red"].method private static readLine(Ljava/lang/String;I)Ljava/lang/String;
.locals 4
.parameter "filename"
.parameter "line"
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 1190
new-instance v1, Ljava/io/BufferedReader;
new-instance v2, Ljava/io/FileReader;
invoke-direct {v2, p0}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V
const/16 v3, 0x100
invoke-direct {v1, v2, v3}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V
.line 1192
.local v1, reader:Ljava/io/BufferedReader;
const/4 v0, 0x1
.local v0, i:I
:goto_0
if-ge v0, p1, :cond_0
.line 1193
:try_start_0
invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
.line 1192
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 1195
:cond_0
invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
move-result-object v2
.line 1197
invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
return-object v2
:catchall_0
move-exception v2
invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
throw v2
.end method[/COLOR]
.method private refreshRecentTasksList(Ljava/util/ArrayList;Z)V
.locals 1
.parameter
.parameter "firstScreenful"
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/ArrayList",
"<",
"Lcom/android/systemui/recent/TaskDescription;",
">;Z)V"
}
.end annotation
.prologue
.line 646
.local p1, recentTasksList:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lcom/android/systemui/recent/TaskDescription;>;"
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentTaskDescriptions:Ljava/util/ArrayList;
if-nez v0, :cond_0
Code:
iget-object v0, p1, Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;->iconView:Landroid/widget/ImageView;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setVisibility(I)V
.line 515
:cond_1
return-void
.end method
[COLOR="Red"].method private updateMemoryInfo()V
.locals 7
.prologue
const/4 v6, 0x3
const-wide/16 v0, 0x0
:try_start_0
const-string v2, "/proc/meminfo"
const/4 v3, 0x1
invoke-static {v2, v3}, Lcom/android/systemui/recent/RecentsPanelView;->readLine(Ljava/lang/String;I)Ljava/lang/String;
move-result-object v2
if-eqz v2, :cond_0
const-string v3, "\\s+"
invoke-virtual {v2, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v2
array-length v3, v2
if-ne v3, v6, :cond_0
const/4 v3, 0x1
aget-object v2, v2, v3
invoke-static {v2}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v2
const-wide/16 v4, 0x400
div-long v0, v2, v4
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_3
:cond_0
:goto_0
iput-wide v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mTotalMemory:J
:try_start_1
const-string v2, "/proc/meminfo"
const/4 v3, 0x2
invoke-static {v2, v3}, Lcom/android/systemui/recent/RecentsPanelView;->readLine(Ljava/lang/String;I)Ljava/lang/String;
move-result-object v2
if-eqz v2, :cond_1
const-string v3, "\\s+"
invoke-virtual {v2, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v2
array-length v3, v2
if-ne v3, v6, :cond_1
const/4 v3, 0x1
aget-object v2, v2, v3
invoke-static {v2}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v2
const-wide/16 v4, 0x400
div-long v0, v2, v4
:try_end_1
.catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_2
:cond_1
:goto_1
iput-wide v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mFreeMemory:J
:try_start_2
const-string v2, "/proc/meminfo"
const/4 v3, 0x6
invoke-static {v2, v3}, Lcom/android/systemui/recent/RecentsPanelView;->readLine(Ljava/lang/String;I)Ljava/lang/String;
move-result-object v2
if-eqz v2, :cond_2
const-string v3, "\\s+"
invoke-virtual {v2, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v2
array-length v3, v2
if-ne v3, v6, :cond_2
const/4 v3, 0x1
aget-object v2, v2, v3
invoke-static {v2}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v2
const-wide/16 v4, 0x400
div-long v0, v2, v4
:try_end_2
.catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_1
:cond_2
:goto_2
iput-wide v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mActiveMemory:J
:try_start_3
const-string v2, "/proc/meminfo"
const/4 v3, 0x4
invoke-static {v2, v3}, Lcom/android/systemui/recent/RecentsPanelView;->readLine(Ljava/lang/String;I)Ljava/lang/String;
move-result-object v2
if-eqz v2, :cond_3
const-string v3, "\\s+"
invoke-virtual {v2, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v2
array-length v3, v2
if-ne v3, v6, :cond_3
const/4 v3, 0x1
aget-object v2, v2, v3
invoke-static {v2}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v2
const-wide/16 v4, 0x400
div-long v0, v2, v4
:try_end_3
.catch Ljava/io/IOException; {:try_start_3 .. :try_end_3} :catch_0
:cond_3
:goto_3
iput-wide v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mCachedMemory:J
return-void
:catch_0
move-exception v2
goto :goto_3
:catch_1
move-exception v2
goto :goto_2
:catch_2
move-exception v2
goto :goto_1
:catch_3
move-exception v2
goto :goto_0
.end method
.method private updateRamBar()V
.locals 15
.prologue
const-wide/16 v1, 0x0
const/4 v10, 0x1
const/4 v9, 0x0
const v0, [COLOR="Blue"]0x7f08012f[/COLOR]
invoke-virtual {p0, v0}, Lcom/android/systemui/recent/RecentsPanelView;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Lcom/android/systemui/recent/LinearColorBar;
iput-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRamUsageBar:Lcom/android/systemui/recent/LinearColorBar;
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v3, "recents_ram_bar_mode"
invoke-static {v0, v3, v9}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
if-eqz v3, :cond_1
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRamUsageBar:Lcom/android/systemui/recent/LinearColorBar;
if-eqz v0, :cond_1
new-instance v4, Landroid/util/DisplayMetrics;
invoke-direct {v4}, Landroid/util/DisplayMetrics;-><init>()V
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
const-string v5, "window"
invoke-virtual {v0, v5}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/WindowManager;
invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;
move-result-object v0
invoke-virtual {v0, v4}, Landroid/view/Display;->getMetrics(Landroid/util/DisplayMetrics;)V
iget v0, v4, Landroid/util/DisplayMetrics;->density:F
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRamUsageBar:Lcom/android/systemui/recent/LinearColorBar;
invoke-virtual {v0, v9}, Lcom/android/systemui/recent/LinearColorBar;->setVisibility(I)V
invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->updateMemoryInfo()V
packed-switch v3, :pswitch_data_0
move-wide v3, v1
:goto_0
const v0, [COLOR="Blue"]0x7f080130[/COLOR]
invoke-virtual {p0, v0}, Lcom/android/systemui/recent/RecentsPanelView;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/TextView;
iput-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mUsedMemText:Landroid/widget/TextView;
const v0, [COLOR="Blue"]0x7f080132[/COLOR]
invoke-virtual {p0, v0}, Lcom/android/systemui/recent/RecentsPanelView;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/TextView;
iput-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mFreeMemText:Landroid/widget/TextView;
const v0, [COLOR="Blue"]0x7f080131[/COLOR]
invoke-virtual {p0, v0}, Lcom/android/systemui/recent/RecentsPanelView;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/TextView;
iput-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRamText:Landroid/widget/TextView;
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mUsedMemText:Landroid/widget/TextView;
invoke-virtual {p0}, Lcom/android/systemui/recent/RecentsPanelView;->getResources()Landroid/content/res/Resources;
move-result-object v5
const v6, [COLOR="Blue"]0x7f0b00f7[/COLOR]
new-array v7, v10, [Ljava/lang/Object;
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v8, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, " MB"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
aput-object v3, v7, v9
invoke-virtual {v5, v6, v7}, Landroid/content/res/Resources;->getString(I[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mFreeMemText:Landroid/widget/TextView;
invoke-virtual {p0}, Lcom/android/systemui/recent/RecentsPanelView;->getResources()Landroid/content/res/Resources;
move-result-object v3
const v4, [COLOR="Blue"]0x7f0b00f6[/COLOR]
new-array v5, v10, [Ljava/lang/Object;
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v6, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " MB"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
aput-object v1, v5, v9
invoke-virtual {v3, v4, v5}, Landroid/content/res/Resources;->getString(I[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRamText:Landroid/widget/TextView;
invoke-virtual {p0}, Lcom/android/systemui/recent/RecentsPanelView;->getResources()Landroid/content/res/Resources;
move-result-object v1
const v2, [COLOR="Blue"]0x7f0b00f5[/COLOR]
invoke-virtual {v1, v2}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
iget-wide v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mTotalMemory:J
long-to-float v0, v0
iget-wide v1, p0, Lcom/android/systemui/recent/RecentsPanelView;->mTotalMemory:J
iget-wide v3, p0, Lcom/android/systemui/recent/RecentsPanelView;->mFreeMemory:J
sub-long/2addr v1, v3
iget-wide v3, p0, Lcom/android/systemui/recent/RecentsPanelView;->mCachedMemory:J
sub-long/2addr v1, v3
iget-wide v3, p0, Lcom/android/systemui/recent/RecentsPanelView;->mActiveMemory:J
sub-long/2addr v1, v3
long-to-float v1, v1
div-float/2addr v1, v0
iget-wide v2, p0, Lcom/android/systemui/recent/RecentsPanelView;->mActiveMemory:J
long-to-float v2, v2
div-float/2addr v2, v0
iget-wide v3, p0, Lcom/android/systemui/recent/RecentsPanelView;->mCachedMemory:J
long-to-float v3, v3
div-float v0, v3, v0
iget-object v3, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRamUsageBar:Lcom/android/systemui/recent/LinearColorBar;
invoke-virtual {v3, v1, v0, v2}, Lcom/android/systemui/recent/LinearColorBar;->setRatios(FFF)V
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRamUsageBar:Lcom/android/systemui/recent/LinearColorBar;
new-instance v1, Lcom/android/systemui/recent/RecentsPanelView$AsteroidRunningServices;
invoke-direct {v1, p0}, Lcom/android/systemui/recent/RecentsPanelView$AsteroidRunningServices;-><init>(Lcom/android/systemui/recent/RecentsPanelView;)V
invoke-virtual {v0, v1}, Lcom/android/systemui/recent/LinearColorBar;->setOnClickListener(Landroid/view/View$OnClickListener;)V
:cond_0
:goto_1
return-void
:pswitch_0
iget-wide v2, p0, Lcom/android/systemui/recent/RecentsPanelView;->mActiveMemory:J
iget-wide v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mTotalMemory:J
iget-wide v4, p0, Lcom/android/systemui/recent/RecentsPanelView;->mActiveMemory:J
sub-long/2addr v0, v4
move-wide v11, v0
move-wide v13, v2
move-wide v3, v13
move-wide v1, v11
goto/16 :goto_0
:pswitch_1
iget-wide v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mActiveMemory:J
iget-wide v2, p0, Lcom/android/systemui/recent/RecentsPanelView;->mCachedMemory:J
add-long/2addr v2, v0
iget-wide v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mTotalMemory:J
iget-wide v4, p0, Lcom/android/systemui/recent/RecentsPanelView;->mActiveMemory:J
sub-long/2addr v0, v4
iget-wide v4, p0, Lcom/android/systemui/recent/RecentsPanelView;->mCachedMemory:J
sub-long/2addr v0, v4
move-wide v11, v0
move-wide v13, v2
move-wide v3, v13
move-wide v1, v11
goto/16 :goto_0
:pswitch_2
iget-wide v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mTotalMemory:J
iget-wide v2, p0, Lcom/android/systemui/recent/RecentsPanelView;->mFreeMemory:J
sub-long v2, v0, v2
iget-wide v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mFreeMemory:J
move-wide v11, v0
move-wide v13, v2
move-wide v3, v13
move-wide v1, v11
goto/16 :goto_0
:cond_1
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRamUsageBar:Lcom/android/systemui/recent/LinearColorBar;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRamUsageBar:Lcom/android/systemui/recent/LinearColorBar;
const/16 v1, 0x8
invoke-virtual {v0, v1}, Lcom/android/systemui/recent/LinearColorBar;->setVisibility(I)V
goto :goto_1
nop
:pswitch_data_0
.packed-switch 0x1
:pswitch_0
:pswitch_1
:pswitch_2
.end packed-switch
.end method[/COLOR]
.method private updateThumbnail(Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;Landroid/graphics/Bitmap;ZZ)V
.locals 5
.parameter "h"
.parameter "thumbnail"
.parameter "show"
.parameter "anim"
Change this IDS with the value you got in your own public.xml
- 0x7f08012f
Code:
<public type="id" name="asteroid_ram_usage_bar" id="[COLOR="Blue"]0x7f??????[/COLOR]" />
Click to expand...
Click to collapse
-- 0x7f080130
Code:
<public type="id" name="asteroid_usedMemText" id="[COLOR="Blue"]0x7f??????[/COLOR]" />
Click to expand...
Click to collapse
-- 0x7f080132
Code:
<public type="id" name="asteroid_freeMemText" id="[COLOR="Blue"]0x7f??????[/COLOR]" />
Click to expand...
Click to collapse
-- 0x7f080131
Code:
<public type="id" name="asteroid_ramText" id="[COLOR="Blue"]0x7f??????[/COLOR]" />
Click to expand...
Click to collapse
-- 0x7f0b00f7
Code:
<public type="string" name="service_used_mem" id="[COLOR="Blue"]0x7f??????[/COLOR]" />
Click to expand...
Click to collapse
-- 0x7f0b00f6
Code:
<public type="string" name="service_free_mem" id="[COLOR="Blue"]0x7f??????[/COLOR]" />
Click to expand...
Click to collapse
-- 0x7f0b00f5
Code:
<public type="string" name="memory" id="[COLOR="Blue"]0x7f??????[/COLOR]" />
Click to expand...
Click to collapse
NEXT,
add the red line
Code:
.method public clearRecentTasksList()V
.locals 1
.prologue
.line 611
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentTaskDescriptions:Ljava/util/ArrayList;
if-eqz v0, :cond_0
.line 612
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentTasksLoader:Lcom/android/systemui/recent/RecentTasksLoader;
invoke-virtual {v0, p0}, Lcom/android/systemui/recent/RecentTasksLoader;->cancelLoadingThumbnailsAndIcons(Lcom/android/systemui/recent/RecentsPanelView;)V
.line 613
invoke-virtual {p0}, Lcom/android/systemui/recent/RecentsPanelView;->onTaskLoadingCancelled()V
.line 615
:cond_0
[COLOR="Red"] invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->updateRamBar()V[/COLOR]
return-void
.end method
find this method, and add the red line above goto :goto_0
Code:
.method public handleSwipe(Landroid/view/View;)V
Code:
.line 770
const/4 v2, 0x0
invoke-virtual {p0, v2}, Lcom/android/systemui/recent/RecentsPanelView;->setContentDescription(Ljava/lang/CharSequence;)V
invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->showMemDisplay()Z
[COLOR="Red"] invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->updateRamBar()V[/COLOR]
[COLOR="Blue"]goto :goto_0[/COLOR]
.end method
.method public isInContentArea(II)Z
.locals 2
.parameter "x"
.parameter "y"
.prologue
const/4 v0, 0x1
Next, find this method
Code:
.method protected onFinishInflate()V
and add the red line above return-void
Code:
invoke-direct {v2, p0}, Lcom/android/systemui/recent/RecentsPanelView$AsteroidGoogleHelper;-><init>(Lcom/android/systemui/recent/RecentsPanelView;)V
invoke-virtual {v1, v2}, Landroid/widget/ImageButton;->setOnClickListener(Landroid/view/View$OnClickListener;)V
[COLOR="Red"]invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->updateRamBar()V[/COLOR]
[COLOR="Blue"]return-void[/COLOR]
.line 473
.end local v0 #scrollView:Lcom/android/systemui/recent/RecentsPanelView$RecentsScrollView;
:cond_1
new-instance v1, Ljava/lang/IllegalArgumentException;
const-string v2, "missing Recents[Horizontal]ScrollView"
Next
Code:
.method public onTaskLoadingCancelled()V
.locals 1
.prologue
.line 619
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentTaskDescriptions:Ljava/util/ArrayList;
if-eqz v0, :cond_0
.line 620
const/4 v0, 0x0
iput-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mRecentTaskDescriptions:Ljava/util/ArrayList;
.line 621
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mListAdapter:Lcom/android/systemui/recent/RecentsPanelView$TaskDescriptionAdapter;
invoke-virtual {v0}, Lcom/android/systemui/recent/RecentsPanelView$TaskDescriptionAdapter;->notifyDataSetInvalidated()V
.line 623
:cond_0
[COLOR="Red"]invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->updateRamBar()V[/COLOR]
return-void
.end method
.method onTaskThumbnailLoaded(Lcom/android/systemui/recent/TaskDescription;)V
.locals 7
Next and the last
Code:
.method public refreshViews()V
.locals 1
.prologue
.line 626
iget-object v0, p0, Lcom/android/systemui/recent/RecentsPanelView;->mListAdapter:Lcom/android/systemui/recent/RecentsPanelView$TaskDescriptionAdapter;
invoke-virtual {v0}, Lcom/android/systemui/recent/RecentsPanelView$TaskDescriptionAdapter;->notifyDataSetInvalidated()V
.line 627
invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->updateUiElements()V
.line 628
invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->showIfReady()V
[COLOR="Red"] invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->updateRamBar()V[/COLOR]
.line 629
return-void
.end method
Done and recompile
Download attached AsteroidRAMbar.apk, push to system/app/with right permission
CREDIT & THANKS :
- AOKP ROM
- SLIMROM
- CARBON ROM
- CYANOGENMOD
- Ficeto colorpicker
- magaritnov colorpicker
- [Unofficial Community] Galaxy Wonder CyanogenMod Indonesia
wew...
thanks sir...:laugh::good:
mantap
Adi Aisiteru Reborn said:
CREDIT & THANKS :
- AOKP ROM
- SLIMROM
- CARBON ROM
- CYANOGENMOD
- Ficeto colorpicker
- magaritnov colorpicker
- [Unofficial Community] Galaxy Wonder CyanogenMod Indonesia
Click to expand...
Click to collapse
sir, i met this issue when recompile, tell me what is this and how to fix
I: Smaling...
[48,4] Error for input '.param': Invalid directive
[49,4] Error for input '.param': Invalid directive
[50,4] Error for input '.param': Invalid directive
[48,11] mismatched input 'p1' expecting END_METHOD_DIRECTIVE
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file: c:\TickleMyAndroid\_WorkArea1\_working\SystemUI.apk\smali\com\android\systemui\BeanBag$Board$1.smali
at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java:45)
at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java:33)
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:66)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:50)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:37)
at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:257)
at brut.androlib.Androlib.buildSources(Androlib.java:214)
at brut.androlib.Androlib.build(Androlib.java:205)
at brut.androlib.Androlib.build(Androlib.java:176)
at brut.apktool.Main.cmdBuild(Main.java:228)
at brut.apktool.Main.main(Main.java:79)
----------------
Recompile Not Successful!
Oohhlala said:
sir, i met this issue when recompile, tell me what is this and how to fix
I: Smaling...
[48,4] Error for input '.param': Invalid directive
[49,4] Error for input '.param': Invalid directive
[50,4] Error for input '.param': Invalid directive
[48,11] mismatched input 'p1' expecting END_METHOD_DIRECTIVE
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file: c:\TickleMyAndroid\_WorkArea1\_working\SystemUI.apk\smali\com\android\systemui\BeanBag$Board$1.smali
at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java:45)
at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java:33)
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:66)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:50)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:37)
at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:257)
at brut.androlib.Androlib.buildSources(Androlib.java:214)
at brut.androlib.Androlib.build(Androlib.java:205)
at brut.androlib.Androlib.build(Androlib.java:176)
at brut.apktool.Main.cmdBuild(Main.java:228)
at brut.apktool.Main.main(Main.java:79)
----------------
Recompile Not Successful!
Click to expand...
Click to collapse
Try with apktool 1.5 xx
Sent from my GT-I8150 using XDA Free mobile app
Adi Aisiteru Reborn said:
Try with apktool 1.5 xx
Sent from my GT-I8150 using XDA Free mobile app
Click to expand...
Click to collapse
that error log from apktool 1.5.2
Oohhlala said:
that error log from apktool 1.5.2
Click to expand...
Click to collapse
I see that you are using Tikle my android tool, then you can read this ? http://forum.xda-developers.com/showthread.php?p=53839770
Adi Aisiteru Reborn said:
I see that you are using Tikle my android tool, then you can read this ? http://forum.xda-developers.com/showthread.php?p=53839770
Click to expand...
Click to collapse
Sir, what is this issue? I just did following this guide, i didnt do following your first guide.
Oohhlala said:
Sir, what is this issue? I just did following this guide, i didnt do following your first guide.
Click to expand...
Click to collapse
have you check enabled show on Recents ram bar mod
Adi Aisiteru Reborn said:
have you check enabled show on Recents ram bar mod
Click to expand...
Click to collapse
of course, this is issue of smali file or xml file ?
Oohhlala said:
of course, this is issue of smali file or xml file ?
Click to expand...
Click to collapse
I don't understand, but this mod confirmed work on XM JB4.3
Sent from my GT-I8150 using XDA Free mobile app
Adi Aisiteru Reborn said:
I don't understand, but this mod confirmed work on XM JB4.3
Sent from my GT-I8150 using XDA Free mobile app
Click to expand...
Click to collapse
i meant this is problem with editing smali file or xml layout, and can u check my recenpanelview.smali ? or need to do this mod with your first guide
Oohhlala said:
i meant this is problem with editing smali file or xml layout, and can u check my recenpanelview.smali ? or need to do this mod with your first guide
Click to expand...
Click to collapse
The layout is fine, but the smali not run
Sent from my GT-I8150 using XDA Free mobile app
Adi Aisiteru Reborn said:
The layout is fine, but the smali not run
Sent from my GT-I8150 using XDA Free mobile app
Click to expand...
Click to collapse
here is my recentpanelview.smali file, plz check for me
Adi Aisiteru Reborn said:
The layout is fine, but the smali not run
Sent from my GT-I8150 using XDA Free mobile app
Click to expand...
Click to collapse
- 0x7f08012f
Code:
<public type="id" name="asteroid_ram_usage_bar" id="0x7f??????" />
Click to expand...
Click to collapse
bro, plz explain me this step. i have to replace the ID in public.xml by your ID ( in smali ) or replace the ID in smali by one in public.xml ?
Oohhlala said:
bro, plz explain me this step. i have to replace the ID in public.xml by your ID ( in smali ) or replace the ID in smali by one in public.xml ?
Click to expand...
Click to collapse
you will get the value of the questions marks in your secondly decompiled SystemUI.Apk/res/values/publc.xml
Code:
<public type="[COLOR="Red"]id[/COLOR]" name="[COLOR="Red"]asteroid_ram_usage_bar[/COLOR]" id="0x7f[COLOR="Blue"]??????[/COLOR]" />
Next , change this 0x7f08012f in my smali with that . I think am clear enough
Adi Aisiteru Reborn said:
you will get the value of the questions marks in your secondly decompiled SystemUI.Apk/res/values/publc.xml
Code:
<public type="[COLOR="Red"]id[/COLOR]" name="[COLOR="Red"]asteroid_ram_usage_bar[/COLOR]" id="0x7f[COLOR="Blue"]??????[/COLOR]" />
Next , change this 0x7f08012f in my smali with that . I think am clear enough
Click to expand...
Click to collapse
Finally i got it, thank in advance :good:
Btw i tried to add this mod to other area ( notification panel) but it just shows the bar background, doesn't show the values

Categories

Resources