Patch WebOS Bypassing Lock Screen

From WebOS Internals
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


webOS 2.2 and newer

(I think this changed from 2.2 onwards?)

About

Since the 1.1 update (see About), upon connecting an e-mail account to Exchange (EAS), if a policy enforcement exists on that server, it will be enforced on the webOS device as well.

Modification

The place to bypass the PIN in the codebase has changed quite a bit -- the patch is now done to com.palm.app.phone/phoneAppPinCode/source/PhonePinCard.js.

Conveniently, the webOS team left a nice, simple way to bypass it all around line 66:

                // DEFAULT: just handle known launch mode
                } else {
                        //always unlock - for testing
                        //this.$.updatePinAppState.call({state: 'unlock'}); return;

                        this.handleLaunchLockMode();
                }

webOS 2.1 and older

About

The 1.1 update allowed me to connect to Exchange (EAS) with a policy enforced. Of course, having my screen lock every single time I turn off the screen seems a little harsh. The policy asks for a 10-minute timeout, but the way it's implemented in WebOS, the screen locks whenever the screen turns off.

Modification

Below is a modification to automatically unlock the screen. This method seems to still work with the 1.3.5 update.

Edit

/usr/palm/applications/com.palm.app.phone/app/controllers/pin-assistant.js

Immediately after " setup: function() { " (line 32 in 1.1, line 33 in 1.3.1 and 1.3.5, line number may vary in other versions)

add the line:

this.unlock(); return;

What you've done is edit the "setup" function to immediately call the unlock function and return (skipping anything else it would normally do).

Reboot, and your screen should automatically unlock as soon as you slide it open.

Should work like a charm!