• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!
  • Fill out your device list and let everyone know which phones you have!    Edit Your Device Inventory

[APP] InCall Lock - Lock Send/End buttons on incoming call

Search This thread

vangrieg

Senior Member
Jul 30, 2007
2,500
45
Moscow
InCall Lock will temporarily disable Send (aka Talk, Green) and End (aka Red) hardware buttons when you receive an incoming call in order to prevent accidental call pickups/rejects while you are pulling your device out of your pocket. All other hardware buttons are untouched.

After you answer/reject your call the application will release the buttons, so you will be able to hang up, put calls on hold etc. using hardware buttons normally.

The application, after being launched, will remain resident in memory but will not use any CPU cycles at all as it relies on WM Notification system and doesn't do any polling. As it is using WM internal event system, it should work regardless of OS language, installed dialer etc.

This is a zero config application and has no options (yes, this is a feature). I personally needed an application that would do just this - temporarily block these buttons. If you need a device locker, try PocketShield or other available solutions.





How to use:
  • Install attached cab
  • Soft reset or launch "InCall Lock Toggle"
  • To enable/disable InCall Lock temporarily, use InCall Lock Toggle in your Programs menu.
  • To disable it permanently, just uninstall via Settings - Remove Programs
Requires .Net CF 3.5

Important note for HD2 users: the application won't lock the Send button on this device for some strange reason. If you want to lock it, you'll need to copy phone.lnk from \Windows\Start Menu\Programs to \Windows and rename it to long_send.lnk.

Known issues: the application will also lock the wired headset's answer button. There's no solution for this problem as of yet.

Important note: Unfortunately I cannot support this project anymore because of time constraints and the fact that I don't use a WM device anymore. I'm uploading the source (see attached zip file) so that somebody can develop the thing further. Thanks for understanding and all the positive feedback I've received!
 

Attachments

  • vangrieg_InCall_Lock.CAB
    10.9 KB · Views: 5,263
Last edited:
  • Like
Reactions: Tokl

Prof. Yaffle

Senior Member
Mar 19, 2008
304
11
InCall Lock will temporarily disable Send (aka Talk, Green) and End (aka Red) hardware buttons when you receive an incoming call in order to prevent accidental call pickups/rejects while you are pulling your device out of your pocket. All other hardware buttons are untouched.

Thanks. I installed this earlier and just had my first call with it. Seemed to work perfectly. :cool:
 

Dmitry N

Senior Member
Apr 27, 2006
489
33
49
Moscow
Hmm... It doesn't seem to work on Topix 2.9.3. It has the Rhodium dialer. Can this be the culprit?
PS: I've only tested it on outgoing calls so far.
 

vangrieg

Senior Member
Jul 30, 2007
2,500
45
Moscow
Hmm... It doesn't seem to work on Topix 2.9.3. It has the Rhodium dialer. Can this be the culprit?

No, it works with low-level keyboard hooks and WM Notifications so it should work on any device with WM5.0 and later.

PS: I've only tested it on outgoing calls so far.

It only locks keys only when your phone is ringing, so it shouldn't even do anything on outgoing calls. It releases keys immediately when you answer or reject a call.
 

apeko

Senior Member
Apr 11, 2009
115
0
Several apps lock the keys during the incomming call. The touch HD needs to lock the virtuial HW keys during an incomming call AND during a call.You can use the power butten to unblank the screen then use the screen controls to end a call.
This will prevent hangups when using a bt head set and the phone is in your pocket.
 

vangrieg

Senior Member
Jul 30, 2007
2,500
45
Moscow
Several apps lock the keys during the incomming call.

Well, maybe, but they usually come with something else I don't need (i.e. Pocket Shield or LML) or have bugs I can't live with (i.e. Pocket Shield continues to vibrate on incoming calls after I pick up the phone).

The touch HD needs to lock the virtuial HW keys during an incomming call AND during a call.You can use the power butten to unblank the screen then use the screen controls to end a call.
This will prevent hangups when using a bt head set and the phone is in your pocket.

This has never happened to me, and I don't like the idea of locking buttons permanently (I use Green button to put calls on hold, for example, and using touchscreen for this purpose is much more complicated).

If you want a more complete locking solution, why not use a locker like LockDevice, for example? Or even standard lock? It can go hand in hand with InCall Lock. This way you will have buttons locked during the conversation AND prevent accidental presses when pulling your device out of your pocket.

I really don't want to make this program complicated and add options; when people start following this route neat little programs quickly turn into S2U2s. If there is a strong usecase I could theoretically add this functionality, it's not that difficult. I would advise to look at other solutions first though.
 

paalkr

Senior Member
Jul 13, 2005
731
51
Hønefoss
I really don't want to make this program complicated and add options; when people start following this route neat little programs quickly turn into S2U2s. If there is a strong usecase I could theoretically add this functionality, it's not that difficult. I would advise to look at other solutions first though.

Hi, I second that! Please keep this as small and simple as possible. As you say, there are always other solutions that can be used with or without InCall Lock to achieve more complicated behavior.

Thanks for a great little app!

Regards,
PK
 

apeko

Senior Member
Apr 11, 2009
115
0
Well, maybe, but they usually come with something else I don't need (i.e. Pocket Shield or LML) or have bugs I can't live with (i.e. Pocket Shield continues to vibrate on incoming calls after I pick up the phone).



This has never happened to me, and I don't like the idea of locking buttons permanently (I use Green button to put calls on hold, for example, and using touchscreen for this purpose is much more complicated).

If you want a more complete locking solution, why not use a locker like LockDevice, for example? Or even standard lock? It can go hand in hand with InCall Lock. This way you will have buttons locked during the conversation AND prevent accidental presses when pulling your device out of your pocket.

I really don't want to make this program complicated and add options; when people start following this route neat little programs quickly turn into S2U2s. If there is a strong usecase I could theoretically add this functionality, it's not that difficult. I would advise to look at other solutions first though.

The problem is on the touch HD phone the vertuial keys are allways active even with theas other programs.
No other program has an option to lock the virtuial HW keys on a touch HD during a call. Yours could be the first! If you are making a program to lock the keys why not make it complete? Then with a touch of the power button everything unlocks.
 

vangrieg

Senior Member
Jul 30, 2007
2,500
45
Moscow
The problem is on the touch HD phone the vertuial keys are allways active even with theas other programs.
No other program has an option to lock the virtuial HW keys on a touch HD during a call.

I have a Touch HD myself, and I still don't understand your problem. Keys on HD may be "virtual" in that they are part of the touchscreen, but they are "hardware" in that they are managed by the system (or programs, for that matter) in the same way as true hardware keys are.

If you are making a program to lock the keys why not make it complete? Then with a touch of the power button everything unlocks.

Because it locks keys in situations where they can be pressed accidentally and which aren't handled well by other programs, that's the point. Like I said, I don't understand why you can't use standard locking programs to lock keys in standard situations. Maybe I'm missing something?
 

apeko

Senior Member
Apr 11, 2009
115
0
When i am on a call i do not want the keys on the bottem active. Just because a program blanks out the screen the keys at the bottem of the phone are still active. This causes acctdental key press when the phone is in my pocket and i am talking on my bt head set.
 

vangrieg

Senior Member
Jul 30, 2007
2,500
45
Moscow
apeko, have you tried LockDevice? If yes, did you try activation on screen off? If not, you should try it. If it doesn't help I'll look into the issue and probably will make a version of InCall Lock that will keep keys locked until the end of call.
 

vangrieg

Senior Member
Jul 30, 2007
2,500
45
Moscow
Actually, how about an alternative solution - what if a program locked Send and End keys while a headset is connected, without monitoring call state?
 

apeko

Senior Member
Apr 11, 2009
115
0
Actually, how about an alternative solution - what if a program locked Send and End keys while a headset is connected, without monitoring call state?

Yes that would work.
Is it the monitoring of the call status that makes the program tricky?
To be specific the problem is the Send and End keys while on the BT head set. Your alternitive solution should work fine. But the actual key locking problem on the touch hd is the Send and End keys only
1. when the phone rings-(solved)
2. during a call when on a BT head set- if it has to lock the Send &End keys allways during a BT connection i think i could live with that!:D
 

vangrieg

Senior Member
Jul 30, 2007
2,500
45
Moscow
Is it the monitoring of the call status that makes the program tricky?

Well, maybe you don't need all these details, but since you asked... It brings the number of checks the program has to perform to like a dozen from one trigger and one check. :)

First, it has to monitor if a headset is present - that's two or three checks (HeadsetPresent, A2DPConected and HeadsetAudio).

Then there are like two dozen Phone states, out of which probably three to five are relevant - PhoneIncomingCall, PhoneCallCalling, PhoneCallTalking, PhoneCallOnHold(?), PhoneConferenceCall. Maybe not - that's a Windows flavor after all. :) In any case, there's no simple "Phone is actively used" state. Or maybe there is - needs investigation.

All this stuff needs testing in different combinations, and I don't even have a bluetooth headset to test (that is, I have it but for the life of me can't remember where it is).

When you introduce all these things you're asking for bugs because it's difficult to predict what they all mean exactly and how they work with each other. That's why I'm reluctant to add features like this into an application that seems to work fine. I'll look into the issue though, and if I do add this functionality it will be in a separate application.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    InCall Lock will temporarily disable Send (aka Talk, Green) and End (aka Red) hardware buttons when you receive an incoming call in order to prevent accidental call pickups/rejects while you are pulling your device out of your pocket. All other hardware buttons are untouched.

    After you answer/reject your call the application will release the buttons, so you will be able to hang up, put calls on hold etc. using hardware buttons normally.

    The application, after being launched, will remain resident in memory but will not use any CPU cycles at all as it relies on WM Notification system and doesn't do any polling. As it is using WM internal event system, it should work regardless of OS language, installed dialer etc.

    This is a zero config application and has no options (yes, this is a feature). I personally needed an application that would do just this - temporarily block these buttons. If you need a device locker, try PocketShield or other available solutions.





    How to use:
    • Install attached cab
    • Soft reset or launch "InCall Lock Toggle"
    • To enable/disable InCall Lock temporarily, use InCall Lock Toggle in your Programs menu.
    • To disable it permanently, just uninstall via Settings - Remove Programs
    Requires .Net CF 3.5

    Important note for HD2 users: the application won't lock the Send button on this device for some strange reason. If you want to lock it, you'll need to copy phone.lnk from \Windows\Start Menu\Programs to \Windows and rename it to long_send.lnk.

    Known issues: the application will also lock the wired headset's answer button. There's no solution for this problem as of yet.

    Important note: Unfortunately I cannot support this project anymore because of time constraints and the fact that I don't use a WM device anymore. I'm uploading the source (see attached zip file) so that somebody can develop the thing further. Thanks for understanding and all the positive feedback I've received!