[Epic 4G Android Development] amosher13:
I know a bunch of people have been waiting on this so here you go, I bring you the AOSP lockscreen for EB13!

MUST BE ON A DEODEXED EB13 ROM!!! I wouldnt flash any of these over SyndicateROM as they wont be compatible until we can get compatible versions posted.

EB13 AOSP Lockscreen - Download (android.policy.jar)

With Haptic Feedback Removed - Download (android.policy.jar AND framework.jar)

Replace Haptic Feedback - Download (only replaces framework.jar, will still have AOSP lockscreen!)

TW lockscreen - Download (replaces to stock only android.policy.jar)

Remove Haptic Feedback for Bonsai 3.0.1 - Download (does NOT flash AOSP lockscreen, only framework.jar compatible with Bonsai which removes haptic feedback from AOSP lockscreen if you already have it installed. try a theme with AOSP lock.

Replace haptic feedback for Bonsai 3.0.1 - Download

Remove haptic feedback for SRF 1.0.1 - Download (same deal as Bonsai, framework.jar only)

Replace haptic feedback for SRF 1.0.1 - Download

credit to raiderep for getting us the aosp lockscreen for DK28 AND for removing haptic feedback, i basically just winmerged his changes against stock to figure out the mod.

as he did, i should post the files to revert, i'll get those up soon.

How To Create AOSP Lockscreen from stock android.policy.jar:

1.) Pull classes.dex out of android.policy.jar with 7zip

2.) java -jar baksmali.jar -o classout/ classes.dex

3.) Open com\android\internal\policy\impl\LockPatternKeyguardView.smali

4.) Change:

.line 1344
sget-object v0, Lcom/android/internal/policy/impl/LockPatternKeyguardView$LockScreenMode;->PuzzleLock:Lcom/android/internal/policy/impl/LockPatternKeyguardView$LockScreenMode;

.line 1347
:goto_8
return-object v0

:cond_9
sget-object v0, Lcom/android/internal/policy/impl/LockPatternKeyguardView$LockScreenMode;->GlassLock:Lcom/android/internal/policy/impl/LockPatternKeyguardView$LockScreenMode;

to this:

.line 1344
sget-object v0, Lcom/android/internal/policy/impl/LockPatternKeyguardView$LockScreenMode;->TapLock:Lcom/android/internal/policy/impl/LockPatternKeyguardView$LockScreenMode;

.line 1347
:goto_8
return-object v0

:cond_9
sget-object v0, Lcom/android/internal/policy/impl/LockPatternKeyguardView$LockScreenMode;->TapLock:Lcom/android/internal/policy/impl/LockPatternKeyguardView$LockScreenMode;

basically, you are just changing "PuzzleLock" and "GlassLock" both to "TapLock"

5.) In the same directory, open LockScreen.smali

6.) Find (not quite half way down):

.line 172
.local v1, fileOverride:Z
if-eqz v0, :cond_23

if-nez v2, :cond_23

if-eqz v1, :cond_25

:cond_23
const/4 v4, 0x1

:goto_24
return v4

:cond_25
move v4, v6

goto :goto_24
.end method

in the above, change:

:goto_24
return v4

to:

:goto_24
return v6

7.) Recompile: java -Xmx512M -jar smali.jar classout/ -o new-classes.dex

8.) Rename new-classes.dex to classes.dex and replace inside android.policy.jar with 7zip

----

To mod framework.jar to remove haptic feedback from AOSP lockscreen:

1.) Pull classes.dex out of framework.jar with 7zip

2.) java -jar baksmali.jar -o classout/ classes.dex

3.) Open com\android\internal\widget\SlidingTab.smali

4.) Change:

.method private declared-synchronized vibrate(J)V
.registers 5
.parameter "duration"

.prologue
.line 808
monitor-enter p0

:try_start_1
iget-object v0, p0, Lcom/android/internal/widget/SlidingTab;->mVibrator:Landroid/os/Vibrator;

if-nez v0, :cond_14

.line 809
invoke-virtual {p0}, Lcom/android/internal/widget/SlidingTab;->getContext()Landroid/content/Context;

move-result-object v0

const-string/jumbo v1, "vibrator"

invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

move-result-object v0

check-cast v0, Landroid/os/Vibrator;

iput-object v0, p0, Lcom/android/internal/widget/SlidingTab;->mVibrator:Landroid/os/Vibrator;

.line 812
:cond_14
iget-object v0, p0, Lcom/android/internal/widget/SlidingTab;->mVibrator:Landroid/os/Vibrator;

invoke-virtual {v0, p1, p2}, Landroid/os/Vibrator;->vibrate(J)V
:try_end_19
.catchall {:try_start_1 .. :try_end_19} :catchall_1b

.line 813
monitor-exit p0

return-void

.line 808
:catchall_1b
move-exception v0

monitor-exit p0

throw v0
.end method

to this:

.method private declared-synchronized vibrate(J)V
.registers 5
.parameter "duration"

return-void

.prologue
.line 808
monitor-enter p0

:try_start_2
iget-object v0, p0, Lcom/android/internal/widget/SlidingTab;->mVibrator:Landroid/os/Vibrator;

if-nez v0, :cond_15

.line 809
invoke-virtual {p0}, Lcom/android/internal/widget/SlidingTab;->getContext()Landroid/content/Context;

move-result-object v0

const-string/jumbo v1, "vibrator"

invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

move-result-object v0

check-cast v0, Landroid/os/Vibrator;

iput-object v0, p0, Lcom/android/internal/widget/SlidingTab;->mVibrator:Landroid/os/Vibrator;

.line 812
:cond_15
iget-object v0, p0, Lcom/android/internal/widget/SlidingTab;->mVibrator:Landroid/os/Vibrator;

invoke-virtual {v0, p1, p2}, Landroid/os/Vibrator;->vibrate(J)V
:try_end_1a
.catchall {:try_start_2 .. :try_end_1a} :catchall_1c

.line 813
monitor-exit p0

return-void

.line 808
:catchall_1c
move-exception v0

monitor-exit p0

throw v0
.end method

5.) Recompile: java -Xmx512M -jar smali.jar classout/ -o new-classes.dex

6.) Rename new-classes.dex to classes.dex and replace inside framework.jar with 7zip

----------------------------------------------

From raiderep, dont forget to thank him for this:

my assumption is that if you add it in AFTER compiling, you would have to stick with a jpg, since that is what the default is. but if you want a png, change it out before compiling, thanks again raiderep!