30th January 2013, 03:06 PM
(Last edited by tdunham; 3rd February 2013 at 04:49 PM .)
Recognized Contributor -
OP
Thanks Meter
7797
Posts: 4,974
Join Date: Jun 2008
Location: TampaBay
[GUIDE][How-to] Aosp Lockscreen JB
Enable Aosp Lockscreen with toggle in Jellybean
Credits to Mirko DDD for original guide.
Android.policy.jar
/com/android/internal/policy/impl/LockPatternKeyguardView.smali
Before:
Code:
.method createLockScreen()Landroid/view/View;
.registers 7
.prologue
.line 1419
new-instance v0, Lcom/android/internal/policy/impl/sec/CircleLockScreen;
iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mConfiguration:Landroid/content/res/Configuration;
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
iget-object v4, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;
iget-object v5, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
invoke-direct/range {v0 .. v5}, Lcom/android/internal/policy/impl/sec/CircleLockScreen;-><init>(Landroid/content/Context;Landroid/content/res/Configuration;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)V
.line 1425
.local v0, lockView:Landroid/view/View;
invoke-direct {p0, v0}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->initializeTransportControlView(Landroid/view/View;)V
.line 1426
return-object v0
.end method
After - Replace entire method:
Code:
.method createLockScreen()Landroid/view/View;
.registers 7
.prologue
.line 1419
iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "aosp_lock"
const/4 v2, 0x0
invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
if-nez v0, :cond_al
new-instance v0, Lcom/android/internal/policy/impl/sec/CircleLockScreen;
iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mConfiguration:Landroid/content/res/Configuration;
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
iget-object v4, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;
iget-object v5, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
invoke-direct/range {v0 .. v5}, Lcom/android/internal/policy/impl/sec/CircleLockScreen;-><init>(Landroid/content/Context;Landroid/content/res/Configuration;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)V
goto :goto_td
.line 1425
:cond_al
new-instance v0, Lcom/android/internal/policy/impl/LockScreen;
iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mConfiguration:Landroid/content/res/Configuration;
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
iget-object v4, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;
iget-object v5, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
invoke-direct/range {v0 .. v5}, Lcom/android/internal/policy/impl/LockScreen;-><init>(Landroid/content/Context;Landroid/content/res/Configuration;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)V
.local v0, lockView:Landroid/view/View;
:goto_td
invoke-direct {p0, v0}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->initializeTransportControlView(Landroid/view/View;)V
.line 1426
return-object v0
.end method
Secsettings.apk
res/values/strings.xml
Add code to strings:
Code:
<string name="aosp_lock">AOSP Lockscreen</string>
<string name="aosp_lock_screen">Original Jelly Bean Lockscreen</string>
res/xml/lockscreen_settings.xml
Before:
Code:
<CheckBoxPreference android:title="@string/samsung_unlock_option_say_your_wakeup_command_to_unlock_screen" android:key="say_your_wakeup" android:summary="@string/wakeup_in_lockscreen_summary" />
<PreferenceScreen android:title="@string/samsung_unlock_option_set_wakeup_command" android:key="set_wakeup_command">
After:
Code:
<CheckBoxPreference android:title="@string/aosp_lock" android:key="say_your_wakeup" android:summary="@string/aosp_lock_screen" />
<PreferenceScreen android:title="@string/samsung_unlock_option_set_wakeup_command" android:key="set_wakeup_command">
Secsettings.apk - smali edit
smali\com\android\settings\LockScreenSettings.smal i
Before:
Code:
.field private isWeatherEnabled:Z
.field private mCameraShortCut:Landroid/preference/SwitchPreferenceScreen;
After:
Code:
.field private isWeatherEnabled:Z
.field private mAospLock:Landroid/preference/CheckBoxPreference;
.field private mCameraShortCut:Landroid/preference/SwitchPreferenceScreen;
Before:
Code:
.field private mRippleEffect:Landroid/preference/CheckBoxPreference;
.field private mSayCommand:Landroid/preference/CheckBoxPreference;
.field private mWeather:Landroid/preference/SwitchPreferenceScreen;
After:
Code:
.field private mRippleEffect:Landroid/preference/CheckBoxPreference;
.field private mWeather:Landroid/preference/SwitchPreferenceScreen;
Before:
Code:
.line 355
:cond_f8
iget-object v4, p0, Lcom/android/settings/LockScreenSettings;->mSayCommand:Landroid/preference/CheckBoxPreference;
if-eqz v4, :cond_10e
.line 356
iget-object v7, p0, Lcom/android/settings/LockScreenSettings;->mSayCommand:Landroid/preference/CheckBoxPreference;
invoke-virtual {p0}, Lcom/android/settings/LockScreenSettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v8, "wake_up_lock_screen"
invoke-static {v4, v8, v6}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
After:
Code:
.line 355
:cond_f8
iget-object v4, p0, Lcom/android/settings/LockScreenSettings;->mAospLock:Landroid/preference/CheckBoxPreference;
if-eqz v4, :cond_10e
.line 356
iget-object v7, p0, Lcom/android/settings/LockScreenSettings;->mAospLock:Landroid/preference/CheckBoxPreference;
invoke-virtual {p0}, Lcom/android/settings/LockScreenSettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v8, "aosp_lock"
invoke-static {v4, v8, v6}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
Before:
Code:
.line 244
const-string v9, "say_your_wakeup"
invoke-virtual {p0, v9}, Lcom/android/settings/LockScreenSettings;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v9
check-cast v9, Landroid/preference/CheckBoxPreference;
iput-object v9, p0, Lcom/android/settings/LockScreenSettings;->mSayCommand:Landroid/preference/CheckBoxPreference;
After:
Code:
.line 244
const-string v9, "say_your_wakeup"
invoke-virtual {p0, v9}, Lcom/android/settings/LockScreenSettings;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v9
check-cast v9, Landroid/preference/CheckBoxPreference;
iput-object v9, p0, Lcom/android/settings/LockScreenSettings;->mAospLock:Landroid/preference/CheckBoxPreference;
Before:
Code:
.line 247
iget-object v9, p0, Lcom/android/settings/LockScreenSettings;->mSayCommand:Landroid/preference/CheckBoxPreference;
invoke-virtual {p0}, Lcom/android/settings/LockScreenSettings;->getResources()Landroid/content/res/Resources;
move-result-object v10
const v11, 0x7f090d9b
invoke-virtual {v10, v11}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object v10
invoke-virtual {v9, v10}, Landroid/preference/CheckBoxPreference;->setSummary(Ljava/lang/CharSequence;)V
After:
Code:
.line 247
iget-object v9, p0, Lcom/android/settings/LockScreenSettings;->mAospLock:Landroid/preference/CheckBoxPreference;
invoke-virtual {p0}, Lcom/android/settings/LockScreenSettings;->getResources()Landroid/content/res/Resources;
move-result-object v10
const v11, 0x7f090d9b
invoke-virtual {v10, v11}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object v10
invoke-virtual {v9, v10}, Landroid/preference/CheckBoxPreference;->setSummary(Ljava/lang/CharSequence;)V
Before:
Code:
.line 278
iget-object v9, p0, Lcom/android/settings/LockScreenSettings;->mSayCommand:Landroid/preference/CheckBoxPreference;
if-eqz v9, :cond_2dc
.line 279
invoke-virtual {p0}, Lcom/android/settings/LockScreenSettings;->getPreferenceScreen()Landroid/preference/PreferenceScreen;
move-result-object v9
iget-object v10, p0, Lcom/android/settings/LockScreenSettings;->mSayCommand:Landroid/preference/CheckBoxPreference;
invoke-virtual {v9, v10}, Landroid/preference/PreferenceScreen;->removePreference(Landroid/preference/Preference;)Z
After:
Code:
.line 278
iget-object v9, p0, Lcom/android/settings/LockScreenSettings;->mAospLock:Landroid/preference/CheckBoxPreference;
if-eqz v9, :cond_2dc
.line 279
# invoke-virtual {p0}, Lcom/android/settings/LockScreenSettings;->getPreferenceScreen()Landroid/preference/PreferenceScreen;
# move-result-object v9
# iget-object v10, p0, Lcom/android/settings/LockScreenSettings;->mSayCommand:Landroid/preference/CheckBoxPreference;
# invoke-virtual {v9, v10}, Landroid/preference/PreferenceScreen;->removePreference(Landroid/preference/Preference;)Z
Before:
Code:
.line 283
:cond_2e5
const/4 v9, 0x0
invoke-static {v9}, Lcom/android/settings/Utils;->isTablet(Landroid/content/Context;)Z
move-result v9
if-nez v9, :cond_2f6
iget-object v9, p0, Lcom/android/settings/LockScreenSettings;->mSayCommand:Landroid/preference/CheckBoxPreference;
if-eqz v9, :cond_305
if-eqz v7, :cond_305
iget-object v9, p0, Lcom/android/settings/LockScreenSettings;->mCameraShortCut:Landroid/preference/SwitchPreferenceScreen;
After:
Code:
.line 283
:cond_2e5
const/4 v9, 0x0
invoke-static {v9}, Lcom/android/settings/Utils;->isTablet(Landroid/content/Context;)Z
move-result v9
if-nez v9, :cond_2f6
iget-object v9, p0, Lcom/android/settings/LockScreenSettings;->mAospLock:Landroid/preference/CheckBoxPreference;
if-eqz v9, :cond_305
if-eqz v7, :cond_305
iget-object v9, p0, Lcom/android/settings/LockScreenSettings;->mCameraShortCut:Landroid/preference/SwitchPreferenceScreen;
Before:
Code:
.line 286
:cond_305
iget-object v9, p0, Lcom/android/settings/LockScreenSettings;->mCameraShortCut:Landroid/preference/SwitchPreferenceScreen;
if-nez v9, :cond_31e
iget-object v9, p0, Lcom/android/settings/LockScreenSettings;->mSayCommand:Landroid/preference/CheckBoxPreference;
if-nez v9, :cond_31e
if-nez v7, :cond_31e
After:
Code:
.line 286
:cond_305
iget-object v9, p0, Lcom/android/settings/LockScreenSettings;->mCameraShortCut:Landroid/preference/SwitchPreferenceScreen;
if-nez v9, :cond_31e
iget-object v9, p0, Lcom/android/settings/LockScreenSettings;->mAospLock:Landroid/preference/CheckBoxPreference;
if-nez v9, :cond_31e
if-nez v7, :cond_31e
Before:
Code:
.line 392
:cond_b3
iget-object v4, p0, Lcom/android/settings/LockScreenSettings;->mSayCommand:Landroid/preference/CheckBoxPreference;
invoke-virtual {p2, v4}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_1e
.line 393
invoke-virtual {p0}, Lcom/android/settings/LockScreenSettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v5, "wake_up_lock_screen"
iget-object v6, p0, Lcom/android/settings/LockScreenSettings;->mSayCommand:Landroid/preference/CheckBoxPreference;
invoke-virtual {v6}, Landroid/preference/CheckBoxPreference;->isChecked()Z
move-result v6
After:
Code:
.line 392
:cond_b3
iget-object v4, p0, Lcom/android/settings/LockScreenSettings;->mAospLock:Landroid/preference/CheckBoxPreference;
invoke-virtual {p2, v4}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_1e
.line 393
invoke-virtual {p0}, Lcom/android/settings/LockScreenSettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v5, "aosp_lock"
iget-object v6, p0, Lcom/android/settings/LockScreenSettings;->mAospLock:Landroid/preference/CheckBoxPreference;
invoke-virtual {v6}, Landroid/preference/CheckBoxPreference;->isChecked()Z
move-result v6
Before:
Code:
.line 306
:cond_1e
iget-object v2, p0, Lcom/android/settings/LockScreenSettings;->mSayCommand:Landroid/preference/CheckBoxPreference;
if-eqz v2, :cond_27
.line 307
iget-object v2, p0, Lcom/android/settings/LockScreenSettings;->mSayCommand:Landroid/preference/CheckBoxPreference;
invoke-virtual {v2, v1}, Landroid/preference/CheckBoxPreference;->setEnabled(Z)V
After:
Code:
.line 306
:cond_1e
iget-object v2, p0, Lcom/android/settings/LockScreenSettings;->mAospLock:Landroid/preference/CheckBoxPreference;
if-eqz v2, :cond_27
.line 307
iget-object v2, p0, Lcom/android/settings/LockScreenSettings;->mAospLock:Landroid/preference/CheckBoxPreference;
invoke-virtual {v2, v1}, Landroid/preference/CheckBoxPreference;->setEnabled(Z)V
Hint: When you get through with this section, search for
mSayCommand . All occurrences should have been replaced. If you missed one go back and fix it.
The Following 21 Users Say Thank You to tdunham For This Useful Post: [ Click to Expand ]
5FOOTER (2nd February 2013),
adlx.xda (21st February 2013),
BluesRulez (30th January 2013),
dasesq (11th February 2013),
drkstr_yu (10th February 2013),
evo3d6 (30th January 2013),
IvanAugustoBD (11th February 2013),
KeithOYS (11th February 2013),
Messi10 (21st February 2013),
Olao99 (10th February 2013),
prguzman1978 (2nd February 2013),
Samsung Fanboy (31st January 2013),
Scarface1991 (10th February 2013),
serajr (11th February 2013),
SkyrimBee (10th February 2013),
stylus1828 (11th February 2013),
syamsoul (13th February 2013),
T-Macgnolia (11th February 2013),
temenalie (10th February 2013),
VoiD_Dweller (13th February 2013),
voongoto (10th February 2013)
31st January 2013, 07:00 AM
Senior Member
Thanks Meter
1058
Posts: 592
Join Date: Nov 2011
Location: NJ
DONATE TO ME
I tried this guide and failed
ah I'll try again tomorrow. Thanks!
2nd February 2013, 01:11 PM
Senior Member
Thanks Meter
123
Posts: 729
Join Date: Jul 2008
Location: Tiverton, Rhode Island
Re: [GUIDE][How-to] Aosp Lockscreen JB
Nice another cool mod will add when I get home.
Sent from my SPH-D710 using xda premium
Device: E4GT
Rom: CM10.1-Wild For The Night
Kernel: 3.0.31-CM-dastin1015@build1 #1
Recovery: TWRP 2.5.0.0
2nd February 2013, 10:55 PM
Senior Member
Thanks Meter
123
Posts: 729
Join Date: Jul 2008
Location: Tiverton, Rhode Island
Hey Tdunham is this mod for stock jellybean?
Device: E4GT
Rom: CM10.1-Wild For The Night
Kernel: 3.0.31-CM-dastin1015@build1 #1
Recovery: TWRP 2.5.0.0
3rd February 2013, 03:18 AM
Recognized Contributor -
OP
Thanks Meter
7797
Posts: 4,974
Join Date: Jun 2008
Location: TampaBay
Quote:
Originally Posted by
prguzman1978
Hey Tdunham is this mod for stock jellybean?
Yes, stock based 4.1.2 TW Jellybean.
The Following 3 Users Say Thank You to tdunham For This Useful Post: [ Click to Expand ]
3rd February 2013, 01:29 PM
Senior Member
Thanks Meter
123
Posts: 729
Join Date: Jul 2008
Location: Tiverton, Rhode Island
Re: [GUIDE][How-to] Aosp Lockscreen JB
For some reason the first line 1419 I can't find it I tried looking for it and no luck.
Sent from my SPH-D710 using xda premium
Device: E4GT
Rom: CM10.1-Wild For The Night
Kernel: 3.0.31-CM-dastin1015@build1 #1
Recovery: TWRP 2.5.0.0
3rd February 2013, 01:46 PM
Recognized Contributor -
OP
Thanks Meter
7797
Posts: 4,974
Join Date: Jun 2008
Location: TampaBay
I corrected that replacement method for spacing issue. The method didn't copy and paste correctly and the spacing of a couple of lines weren't right.
What file do you have open? The entire method is supposed to be replaced.
The Following 2 Users Say Thank You to tdunham For This Useful Post: [ Click to Expand ]
3rd February 2013, 04:07 PM
(Last edited by prguzman1978; 3rd February 2013 at 04:09 PM .)
Senior Member
Thanks Meter
123
Posts: 729
Join Date: Jul 2008
Location: Tiverton, Rhode Island
Re: [GUIDE][How-to] Aosp Lockscreen JB
Quote:
Originally Posted by
tdunham
I corrected that replacement method for spacing issue. The method didn't copy and paste correctly and the spacing of a couple of lines weren't right.
What file do you have open? The entire method is supposed to be replaced.
I'm looking in android.policy.jar, in the mentioned path
/com/android/internal/policy/impl/LockPatternKeyguardView.smali
Sent from my SPH-D710 using xda premium
Device: E4GT
Rom: CM10.1-Wild For The Night
Kernel: 3.0.31-CM-dastin1015@build1 #1
Recovery: TWRP 2.5.0.0
3rd February 2013, 04:18 PM
(Last edited by tdunham; 3rd February 2013 at 04:28 PM .)
Recognized Contributor -
OP
Thanks Meter
7797
Posts: 4,974
Join Date: Jun 2008
Location: TampaBay
Quote:
Originally Posted by
prguzman1978
I'm looking in android.policy.jar, in the mentioned path
/com/android/internal/policy/impl/LockPatternKeyguardView.smali
.line 1419 is there.
You should only be using notepad+ to open the file to do edits.
But searching in notepad+ won't work if the options aren't set right.
Edit: I found this out the hard way a couple of times. If you accidentally change any of the checkboxes, the search doesn't work anymore. Or at least not the way it should.
The Following 2 Users Say Thank You to tdunham For This Useful Post: [ Click to Expand ]
3rd February 2013, 07:07 PM
Senior Member
Thanks Meter
123
Posts: 729
Join Date: Jul 2008
Location: Tiverton, Rhode Island
Re: [GUIDE][How-to] Aosp Lockscreen JB
Quote:
Originally Posted by
tdunham
.line 1419 is there.
You should only be using notepad+ to open the file to do edits.
But searching in notepad+ won't work if the options aren't set right.
Edit: I found this out the hard way a couple of times. If you accidentally change any of the checkboxes, the search doesn't work anymore. Or at least not the way it should.
Nice when I get home I will try these settings out, and I am using notepad too.
Sent from my SPH-D710 using xda premium
Device: E4GT
Rom: CM10.1-Wild For The Night
Kernel: 3.0.31-CM-dastin1015@build1 #1
Recovery: TWRP 2.5.0.0
Thread Tools
Search this Thread
Display Modes
Linear Mode
Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
Go to top of page...
Most Thanked In This Thread
3 Those of you who are
having trouble … 3 (quote)
Yes, stock based
4.1.2 TW … 2 (quote)
Have you
installed the … 2 (quote) .line 1419 is
there. You should … 2 I corrected that
replacement method for …