Child-proofing an Android phone? Is there a way (an app, or a special launcher, a set of apps with instructions) that allows turning an Android phone into a child-proof "only call parents" one?

Here are my main requirements (and some possible implementation ideas I was thinking of as bullet points):


The phone's main purpose is to serve as an emergency way to contact parents etc...

Yes, I know there are special child proof phones like LG Milo - I am interested in how to turn an Android phone into that same functionality when not "unlocked".
When "locked down", the only thing a child must be able to do would be to call one of several pre-defined phone #s.


Whitelisting #s in dialer app (requiring password for non-whitelist)
or, having a custom dialer that only has "call Mom" etc... buttons with no way to dial specific phone #s; and tuning off access to Android dialer app (see item #2)

When "locked down", access to ALL non-whitelisted apps is restricted


Password protecting ALL apps not whitelisted (including of course Play Store and browser).
Or, custom Launcher that doesn't have anything but a widget for calling whitelisted #s and apps.
Or, if push comes to shove, I'm OK with ONLY phone functionality being whitelisted if no other apps can be to get this to work.

Less importantly, it's a nice-to-have if the phone can be "unlocked", perhaps via "parent" password, to allow full Android functionality without having to re-flush/reinstall etc...
This does NOT need to be genius-child-proof. E.g. if the way to unlock it is to reboot and launch Recovery mode, that's safe enough for me. The goal of locking down is mostly to cut down on accidental bad usage; and on temptation to do stuff that the phone isn't designated for in school (IOW, emergency contact method); if a child is smart enough to bypass lockdown, it's not the end of the world.


As far as what it takes to do this, I'm extremely comfortable with rooting, somewhat comfortable with flashing as a process (but less comfortable with flashing a random ROM of questionably stability, for obvious reasons); very comfortable with generic Unix commmand line; shell, Perl and C programming; but not Java or Android development. Basically, the sky's the limit technically as long as I don't have to actually write a genuine Android program
Activate Fixed Dialing Numbers feature from Call Settings (and, add numbers there to allow). You may need to contact your carrier. This is supported by even classic Nokia phones, so all ROMs should support it.
Kiosk lockdown the device and allow only Phone/Dialer app in Kiosk Mode. For Kiosk Mode, try searching "Kiosk" in Play Store. SureLock Kiosk Lockdown app looks great to me.


Don't forget to allow kid apps other than phone in Kiosk Mode. Happy Parenting!