[Android Themes] thirdzcee:
so after trying endless number of times including analyzing the smalis of a dozen guides for crt effect and the mysterious libsurfacelinger losing hwcomposer error in logcat which causes the phone to soft reboot after crt animation, i finally have gotten it to work, so let us begin

1st off we need to decompile services.jar and open up smali/com/android/server/PowerManagerService$ScreenBrightnessAnimator.smali

look for this line (code in LIME might look different in your smali)

.line 2716
.restart local[COLOR="Lime"] v1 [/COLOR] #turningOff:Z
:[COLOR="Lime"]cond_e[/COLOR]

add this after the code, note color in LIME might be different in your smali

iget-object v4, p0, Lcom/android/server/PowerManagerService$ScreenBrightnessAnimator;->this$0:Lcom/android/server/PowerManagerService;

const/16 v3, 0x10

#calls: Lcom/android/server/PowerManagerService;->nativeStartSurfaceFlingerAnimation(I)V
invoke-static {v4, v3}, Lcom/android/server/PowerManagerService;->access$[COLOR="Lime"]7100[/COLOR](Lcom/android/server/PowerManagerService;I)V

to make sure what access$ yours is, open up PowerManagerService.smali and look for somethings that looks like this

.method static synthetic access[COLOR="Red"]$XXXX[/COLOR](Lcom/android/server/PowerManagerService;I)V
.registers 2
.parameter "x0"
.parameter "x1"

.prologue
.line 110
invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->nativeStartSurfaceFlingerAnimation(I)V

return-void
.end method

NOTE the $XXXX in RED as this is what you should put in your PowerManagerService$ScreenBrightnessAnimator.smali

Finally it should look like this afterwards( code in RED is what we added and color in LIME is your access$ which in my case was 7100)

.line 2716
.restart local v1 #turningOff:Z
:cond_e
[COLOR="Red"] iget-object v4, p0, Lcom/android/server/PowerManagerService$ScreenBrightnessAnimator;->this$0:Lcom/android/server/PowerManagerService;

const/16 v3, 0x10

#calls: Lcom/android/server/PowerManagerService;->nativeStartSurfaceFlingerAnimation(I)V
invoke-static {v4, v3}, Lcom/android/server/PowerManagerService;->access$[COLOR="Lime"]7100[/COLOR](Lcom/android/server/PowerManagerService;I)V[/COLOR]

iget-object v2, p0, Lcom/android/server/PowerManagerService$ScreenBrightnessAnimator;->this$0:Lcom/android/server/PowerManagerService;

const/4 v3, 0x1

#setter for: Lcom/android/server/PowerManagerService;->mWaitKeyguardDraw:Z
invoke-static {v2, v3}, Lcom/android/server/PowerManagerService;->access$2002(Lcom/android/server/PowerManagerService;Z)Z

now recompile and put classes.dex back to android.policy.jar.

and lastly download the attached zip add your android.policy.jar and flash it, or extract and push manually the files to their corresponding folders

reboot, or just run

pkill zygote

from terminal as root and voila you should have crt effect working now,

alternative way is framework-res.apk method, just decompile it and open up /res/values/bools.xml

look for somehing like

and change its value from TRUE to FALSE

and flash the zip, although this method will not show crt effect if your window animations speed is 0.5 and below while smali method crt will work regardless if you set your animations or not in developer settings