One evening during this week, right after I bought a phone for my mom, my X10 suddenly lost the ability to display the lock screen and the home button lost most all functionality leave for the ability to wake the phone up from a blank screen.
It is troublesome because of the mere fact that any contact with either the volume, home or the power button wakes up the phone and without the lock screen, it activates all manner of buttons on the screen whist in my pocket. This problem is not device specific and simply just occurs from a bad startup which has the side effect of restoring factory default settings – which I noticed immediately because mobile data was being streamed which I had always kept disabled.
The rest of the evening and a part of the following morning was used to search for possible solutions and finally find one. Why this is special is its the first time I was able to completely utilize root through a terminal (a linux command line) and cure my phone with the help of forums and similarly plagued individuals.
I’ve been using android for quite sometime and it still surprises me that things like this occur. At first I tried some of the more general possible cures which didnt extend to wiping anything simply because I didnt want to do that.
Reboot through recovery
Battery removal while in operation
Electrostatic purge through a ten second power button hold without battery and power
Tried activating secondary locks (patetrn/password)
Some of the other possible solutions I didnt try include the installation of a locking app which I think is silly since natively theres already a two tier lock.
What the actual solution was is putting back a lost syntax in the system through sqlite commands through the terminal which you can only do if you’re on administrative level which android calls "superuser" and is denoted by a "#" sign on the terminal instead of a "$" sign.
The complete syntax is as follows:
sqlite3 /data/data/com.android.providers.settings/databases/settings.db "INSERT INTO secure (name,value) VALUES (‘device_provisioned’,’1′);"
I’m keeping it here so just in case it happens again, I’d have an easier way to find it… might just be able to help out someone as well.