[flashable MOD added, post#2][GUIDE][ILLUSTRATED]Remove video call icon from dialpad!

stone_ship

Senior Member
Jul 17, 2010
509
178
0
Binghamton, NY
0. INTRO
One of the only things I like about the US firmwares for our phones is that the dialer actually looks normal. Those of you using Hellraiser on int'l firmwares have probably thought wtf is this fugly mess? It just drives me crazy, so I decided to write a guide to removing the video call icon, and decribe the basics of modding the dialer layout. This is not particularly advanced, but I'm not getting into any apktool specifics, so you will need to be comfortable with that before you try this.

First things first, thank you to jivy26 and dully79 for helping me out with this! And of course to Brut.alll for apktool.

Let's take a close look at this thing:



Yup, you're supposed to make a call with that. Or a video call. Or a text message. Especially text message, because if you hit the menu button, you're presented with another way to text: 'Send message'.

</rant>​

1. GET RID OF VIDEO CALL ICON
I don't think there's any way to activate it in the US, so let's get rid of it.

a. Get a clean copy of Contacts.apk from your favorite i9100 firmware. The one I'm using is from XWKL1.
b. Decompile.
c. Open up res/layout/dialer_app.xml in a text editor.
d. We will be working in the last LinearLayout entry, find it.
e. We will use android:visibility="gone" to get rid of the icon. You can see that voicemailbutton is hidden by default.
Code:
<LinearLayout android:orientation="horizontal" android:id="@id/dialbuttonset" android:layout_width="314.0dip" android:layout_height="54.669983dip" android:layout_marginTop="2.6599731dip">
            <ImageButton android:id="@id/voicemailbutton" android:background="@drawable/call_dial_btn06" android:visibility="gone" android:layout_width="98.66998dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_voicemail_icon" />
            <ImageButton android:id="@id/callbutton" android:background="@drawable/call_dial_btn01" android:layout_width="98.66998dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_outgoingcall_icon" android:scaleType="fitXY" android:contentDescription="@string/call" />
            <ImageButton android:id="@id/videocallbutton" android:background="@drawable/call_dial_btn02" android:layout_width="63.0dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_contacts_icon" android:scaleType="fitXY" android:contentDescription="@string/video_call" />
            <ImageButton android:id="@id/messagebutton" android:background="@drawable/call_dial_btn03" android:layout_width="63.0dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_message_icon_04" android:scaleType="fitXY" android:contentDescription="@string/message" />
            <ImageButton android:id="@id/imageclear" android:background="@drawable/call_dial_btn06" android:nextFocusLeft="@id/messagebutton" android:nextFocusRight="@id/callbutton" android:layout_width="63.0dip" android:layout_height="52.899994dip" android:layout_marginLeft="6.0dip" android:layout_marginTop="1.0dip" android:src="@drawable/call_clear_btn_04" android:scaleType="fitXY" android:contentDescription="@string/description_delete_button" />
            <ImageButton android:id="@id/messagebutton_novt" android:background="@drawable/call_dial_btn05" android:layout_width="98.66998dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_message_icon_03" android:scaleType="fitXY" android:contentDescription="@string/message" />
            <ImageButton android:id="@id/imageclear_novt" android:background="@drawable/call_dial_btn06" android:layout_width="98.0dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_clear_btn_03" android:scaleType="fitXY" android:contentDescription="@string/description_delete_button" />
</LinearLayout>
f. Modify the relevant line by adding android:visibility="gone"
Code:
<ImageButton android:id="@id/videocallbutton" android:background="@drawable/call_dial_btn02" [COLOR="Blue"]android:visibility="gone"[/COLOR] android:layout_width="63.0dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_contacts_icon" android:scaleType="fitXY" android:contentDescription="@string/video_call" />
If you were to compile this now, it would look like this:



Got rid of the video call button, but we've introduced new fugliness courtesy of messagebutton_novt and imageclear_novt. I'm really not sure what those are, but they were "next in line" in our layout, and removing videocallbutton revealed them.​

2. GET RID OF _NOVT BUTTONS
Who knows what these are, but the last thing we need is more buttons down here.

a. Apply android:visibility="gone" to the relevant lines:
Code:
<ImageButton android:id="@id/messagebutton_novt" android:background="@drawable/call_dial_btn05" [COLOR="Blue"]android:visibility="gone"[/COLOR] android:layout_width="98.66998dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_message_icon_03" android:scaleType="fitXY" android:contentDescription="@string/message" />
<ImageButton android:id="@id/imageclear_novt" android:background="@drawable/call_dial_btn06" [COLOR="Blue"]android:visibility="gone"[/COLOR] android:layout_width="98.0dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_clear_btn_03" android:scaleType="fitXY" android:contentDescription="@string/description_delete_button" />
If you were to compile it at this point, it would look like this:



Getting warmer.

3. CHANGE THE ORDER
I want to have the call button in the middle, so we have to move it.

a. Swap the order of the entries so callbutton is between messagebutton and imageclear
Code:
<LinearLayout android:orientation="horizontal" android:id="@id/dialbuttonset" android:layout_width="314.0dip" android:layout_height="54.669983dip" android:layout_marginTop="2.6599731dip">
            <ImageButton android:id="@id/voicemailbutton" android:background="@drawable/call_dial_btn06" android:visibility="gone" android:layout_width="98.66998dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_voicemail_icon" />
            <ImageButton android:id="@id/videocallbutton" android:background="@drawable/call_dial_btn02" android:visibility="gone" android:layout_width="63.0dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_contacts_icon" android:scaleType="fitXY" android:contentDescription="@string/video_call" />
            <ImageButton android:id="@id/messagebutton" android:background="@drawable/call_dial_btn03" android:layout_width="63.0dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_message_icon_04" android:scaleType="fitXY" android:contentDescription="@string/message" />
           [COLOR="Blue"] <ImageButton android:id="@id/callbutton" android:background="@drawable/call_dial_btn01" android:layout_width="98.66998dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_outgoingcall_icon" android:scaleType="fitXY" android:contentDescription="@string/call" />[/COLOR]
            <ImageButton android:id="@id/imageclear" android:background="@drawable/call_dial_btn06" android:nextFocusLeft="@id/messagebutton" android:nextFocusRight="@id/callbutton" android:layout_width="63.0dip" android:layout_height="52.899994dip" android:layout_marginLeft="6.0dip" android:layout_marginTop="1.0dip" android:src="@drawable/call_clear_btn_04" android:scaleType="fitXY" android:contentDescription="@string/description_delete_button" />
            <ImageButton android:id="@id/messagebutton_novt" android:background="@drawable/call_dial_btn05" android:visibility="gone" android:layout_width="98.66998dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_message_icon_03" android:scaleType="fitXY" android:contentDescription="@string/message" />
            <ImageButton android:id="@id/imageclear_novt" android:background="@drawable/call_dial_btn06" android:visibility="gone" android:layout_width="98.0dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_clear_btn_03" android:scaleType="fitXY" android:contentDescription="@string/description_delete_button" />
</LinearLayout>

So, here's what it would look like now:



Just have to align it

4. ALIGN IT
So there's many things you could do now. Stretching the message and clear icons to be the same width as the call button by setting android:layout_width="98.66998dip"would result in:



To fix the stretching, you could modify the referenced images. But for simplicity's sake, we are just going to pad the margins so that everything lines up.

a. change the margin of messagebutton to 41.66998dip.
Code:
<ImageButton android:id="@id/messagebutton" android:background="@drawable/call_dial_btn03" android:layout_width="63.0dip" android:layout_height="54.669983dip" [COLOR="Blue"]android:layout_marginLeft="41.66998dip"[/COLOR] android:src="@drawable/call_message_icon_04" android:scaleType="fitXY" android:contentDescription="@string/message" />

b. Wait, where did that number come from??
c. Since we want everything to line up, it's easy to figure out how far to "push" the message button to the left by looking at the layout of the number area of the dialpad in our xml.
Each button is 98.66998dip wide, preceded by a 6.0dip margin.
messagebutton is 63.0dip wide.
98.66998-63.0==35.66998
Add the original 6.0dip for the left margin==41.66998​
d. SIDE NOTE: If you are a perfectionist, you can also make 2 small changes to the imageclear entry at this point to bring the layout in line with the rest of the buttons.
i. Remove the section in red (below) from the imageclear entry. (No other button has a top margin)

ii. Change the android:layout_height to 54.669983dip, which is what the rest of the buttons use. I can't imagine why only this button would need a tiny top margin, and smaller height, making it a tiny bit smaller than all the rest of the buttons. Samsung goofiness.

Code:
<ImageButton android:id="@id/imageclear" android:background="@drawable/call_dial_btn06" android:nextFocusLeft="@id/messagebutton" android:nextFocusRight="@id/callbutton" android:layout_width="63.0dip" [COLOR="Blue"]android:layout_height="54.669983dip"[/COLOR] android:layout_marginLeft="6.0dip" [COLOR="Red"]android:layout_marginTop="1.0dip"[/COLOR] android:src="@drawable/call_clear_btn_04" android:scaleType="fitXY" android:contentDescription="@string/description_delete_button" />

e. Our final, modified section of xml will look like this:
Code:
<LinearLayout android:orientation="horizontal" android:id="@id/dialbuttonset" android:layout_width="314.0dip" android:layout_height="54.669983dip" android:layout_marginTop="2.6599731dip">
            <ImageButton android:id="@id/voicemailbutton" android:background="@drawable/call_dial_btn06" android:visibility="gone" android:layout_width="98.66998dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_voicemail_icon" />
            <ImageButton android:id="@id/videocallbutton" android:background="@drawable/call_dial_btn02" android:visibility="gone" android:layout_width="63.0dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_contacts_icon" android:scaleType="fitXY" android:contentDescription="@string/video_call" />
            <ImageButton android:id="@id/messagebutton" android:background="@drawable/call_dial_btn03" android:layout_width="63.0dip" android:layout_height="54.669983dip" android:layout_marginLeft="41.66998dip" android:src="@drawable/call_message_icon_04" android:scaleType="fitXY" android:contentDescription="@string/message" />
            <ImageButton android:id="@id/callbutton" android:background="@drawable/call_dial_btn01" android:layout_width="98.66998dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_outgoingcall_icon" android:scaleType="fitXY" android:contentDescription="@string/call" />
            <ImageButton android:id="@id/imageclear" android:background="@drawable/call_dial_btn06" android:nextFocusLeft="@id/messagebutton" android:nextFocusRight="@id/callbutton" android:layout_width="63.0dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_clear_btn_04" android:scaleType="fitXY" android:contentDescription="@string/description_delete_button" />
            <ImageButton android:id="@id/messagebutton_novt" android:background="@drawable/call_dial_btn05" android:visibility="gone" android:layout_width="98.66998dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_message_icon_03" android:scaleType="fitXY" android:contentDescription="@string/message" />
            <ImageButton android:id="@id/imageclear_novt" android:background="@drawable/call_dial_btn06" android:visibility="gone" android:layout_width="98.0dip" android:layout_height="54.669983dip" android:layout_marginLeft="6.0dip" android:src="@drawable/call_clear_btn_03" android:scaleType="fitXY" android:contentDescription="@string/description_delete_button" />
</LinearLayout>

f. Compile and push to phone and it should look like this:



 
Last edited:

stone_ship

Senior Member
Jul 17, 2010
509
178
0
Binghamton, NY
flashable VRTheme for i9100 firmwares!

This flashable VRTheme does the following:
1) Removes video call button.
2) Centers call button.
3) Replaces .pngs so that icons are not stretched.

Install:*
0) For international (i9100) 2.3.x firmwares only! Make sure the Contacts.apk is unthemed (stock).
1) Copy US_dialer_VRTheme.zip and VRTheme-Restore-Backup-v0.3.6.zip to your sdcard. Different kernels/versions of CWM recovery mount sdcard differently, so you might have to put it in sdcard/external_sd.
2) Flash from recovery.
3) Reboot. This wipes dalvik so please be patient. First boot can take 5 mins. or more.
*Tested on XWKL1 and XILA2 firmwares. It should work with almost any firmware version b/c the VRTheme just replaces the parts of the apk pertaining to the dialer. For unthemed ROMs only! If your ROM has a themed dialer, this will mess up the theme.

Revert:
0) The zip will automatically create a vrtheme-backup folder in the root of your sdcard in case something goes wrong.
1) Flash VRTheme-Restore-Backup-v0.3.6.zip from recovery.


If this works for people, please let me know what firmware you are on and I'll update the post with confirmed working versions.
NOTE: My phone is themed, so your tabs will look different (stock) as compared to the screenshot!

Thanks to:
VillainROM team for making this useful tool: http://forum.xda-developers.com/showthread.php?t=1207017
D.O.C. for modifications and restore scripts



screenshot:
 

Attachments

Last edited:
  • Like
Reactions: jdbeitz

LiLChris06

Senior Member
Nov 23, 2011
2,381
1,261
0
XDA
Going to give this a try now, thanks! :)

Ugh getting a bunch of compile errors, maybe cause its too late for me doing this...
 
Last edited:

RockRatt

Senior Member
Aug 1, 2010
4,102
3,711
0
Tried the zip file on xila3 and it did not remove video button. Also tried manually and failed last night. I will try manually again today. Can anyone upload the xila2 or xla4 stock contacts with this done already? I also tried grabbing the xila2 contacts from lilrom to see if i could modify it but then i lose the phone and contact buttons completely.

If someone else has better luck here is the stock contacts.apk for xila3 firmware. I still am not having any luck with getting rid of that damned video call button. http://db.tt/Fg3emi5O

Also here is my modified xila3 contacts.apk that i have already got most the things working except getting rid of the video button and resizing the buttons. The layout/dialer.app just doesn't open up correctly on notepad++ or on my phone. Same thing either way. I tried starting a layout/dialer.app from scratch but then i get a acore.process error and force close when i try to open the dialer after making the changes. http://db.tt/7KmD3fM4

Sent From My KickAss ATT SGS2 SPORTING CM7
 
Last edited:

stone_ship

Senior Member
Jul 17, 2010
509
178
0
Binghamton, NY
Tried the zip file on xila3 and it did not remove video button. Also tried manually and failed last night. I will try manually again today. Can anyone upload the xila2 or xla4 stock contacts with this done already? I also tried grabbing the xila2 contacts from lilrom to see if i could modify it but then i lose the phone and contact buttons completely.

If someone else has better luck here is the stock contacts.apk for xila3 firmware. I still am not having any luck with getting rid of that damned video call button. http://db.tt/Fg3emi5O

Also here is my modified xila3 contacts.apk that i have already got most the things working except getting rid of the video button and resizing the buttons. The layout/dialer.app just doesn't open up correctly on notepad++ or on my phone. Same thing either way. I tried starting a layout/dialer.app from scratch but then i get a acore.process error and force close when i try to open the dialer after making the changes. http://db.tt/7KmD3fM4

Sent From My KickAss ATT SGS2 SPORTING CM7
Something is up. I tried to have a look at your modified apk and got an error saying archive could be damaged. Anyway, here's the XILA3 modded for you. I didn't use the apk from your link, so maybe there's something wrong with that file. idk anyway, enjoy ;)
 

Attachments

RockRatt

Senior Member
Aug 1, 2010
4,102
3,711
0
Something is up. I tried to have a look at your modified apk and got an error saying archive could be damaged. Anyway, here's the XILA3 modded for you. I didn't use the apk from your link, so maybe there's something wrong with that file. idk anyway, enjoy ;)
A BIG THANKS for the help. I will add a link to your thread with a Thanks on my CobraRom Post. Wish I knew where I was messing up though. Here is the finished detail I was going for Thanks to you I am happy with it. Now to start messing with the Phone.ask file. Thanks again Rich

Sent From My KickAss ATT SGS2 SPORTING CM7
 

Attachments

RockRatt

Senior Member
Aug 1, 2010
4,102
3,711
0
Stone_Ship since you know better than I, do you know where/what file I need to change to get rid of the phone.apk? Video call button as seen kn screen shot? I can deal with the first screenshot of the incall dialer but after I hit end call the second screen comes up that I would like to remove or change. I have been able to modify it to exactly my liking without the video call button and such and it works fine except when it goes back to the dialer i get a process.phone error and I lose my signal for a few seconds. Hope you can point me in the right direction.


Sent From My KickAss ATT SGS2 SPORTING CM7
 

Attachments

stone_ship

Senior Member
Jul 17, 2010
509
178
0
Binghamton, NY
Stone_Ship since you know better than I, do you know where/what file I need to change to get rid of the phone.apk? Video call button as seen kn screen shot? I can deal with the first screenshot of the incall dialer but after I hit end call the second screen comes up that I would like to remove or change. I have been able to modify it to exactly my liking without the video call button and such and it works fine except when it goes back to the dialer i get a process.phone error and I lose my signal for a few seconds. Hope you can point me in the right direction.


Sent From My KickAss ATT SGS2 SPORTING CM7
How did you get rid of the video call button? I tried the android:visibility=gone trick on endcall_buttons_view.xml but it did nothing. On the other hand, it didn't FC either. Let me know what you did and I'll try it out.
 

RockRatt

Senior Member
Aug 1, 2010
4,102
3,711
0
How did you get rid of the video call button? I tried the android:visibility=gone trick on endcall_buttons_view.xml but it did nothing. On the other hand, it didn't FC either. Let me know what you did and I'll try it out.
I am not sure how I got rid of the video call button from the first screen shot, I just changed out some of the icons with matching names but different pictures and then the video buttons would be gone. But then i would get the force close once i end the call. With the pics above where it still has the second screen with the video call button and the first screen without it I do not get a force close. Again I just have been trying to swap out some of the .png files is all. I can upload two different apk files if that would help. One with EVERYTHING I want it to be like without any video call buttons but the force close, and the other as the screen shots above that I get NO force closes after endimg call.
NoForceclose but has video button:
http://db.tt/kXzPVtbg
Like But Has force close after call.
http://db.tt/bL5VP5eo


Sent From My KickAss ATT SGS2 SPORTING CM7
 
Last edited:

stone_ship

Senior Member
Jul 17, 2010
509
178
0
Binghamton, NY
I am not sure how I got rid of the video call button from the first screen shot, I just changed out some of the icons with matching names but different pictures and then the video buttons would be gone. But then i would get the force close once i end the call. With the pics above where it still has the second screen with the video call button and the first screen without it I do not get a force close. Again I just have been trying to swap out some of the .png files is all. I can upload two different apk files if that would help. One with EVERYTHING I want it to be like without any video call buttons but the force close, and the other as the screen shots above that I get NO force closes after endimg call.
NoForceclose but has video button:
http://db.tt/kXzPVtbg
Like But Has force close after call.
http://db.tt/bL5VP5eo


Sent From My KickAss ATT SGS2 SPORTING CM7
I tested both files on my phone running KL1 and neither gives me FCs. Like But Has Force Close doesn't even go to that Call ended screen. Kinda neat. Are your permissions messed up? They should be 644 (rw-r--r--).
I think you already have what you want in your hands, but just have to figure out where the problem is. Maybe fresh install from an unmodified firmware base?
 

RockRatt

Senior Member
Aug 1, 2010
4,102
3,711
0
I tested both files on my phone running KL1 and neither gives me FCs. Like But Has Force Close doesn't even go to that Call ended screen. Kinda neat. Are your permissions messed up? They should be 644 (rw-r--r--).
I think you already have what you want in your hands, but just have to figure out where the problem is. Maybe fresh install from an unmodified firmware base?
Ya I have put them in system/app with the correct rw/r/r and also just pushed them in without changing permissions then rebooted each time. I have run fix permissions from recovery and also tried via Rom manager also. I downloaded wanamlites version and started from scratcb and also sammys released version also, flashed it via mobile odin, put root explorer back on and pulled the whole system file, then started from scratch. I do not get the force close when i make a call but once i hit end call the screen sticks for a few seconds, then I get a popup that says force close. It loses cell signal completely for a few seconds then cell signal comes back on.
After reading your last message I tried tow other things also, one was to try and edit with notepad++ the endcall.view.xml to visibility=gone and also I totally deleted out the endcall_buttons_view.xml and endcall_buttons_view_land.xml which worked to completely get rid of the extra screen and went right back to the dialer but still gave the process.phone error message. Thanks for trying with me. I will keep testing it out.

Sent From My KickAss ATT SGS2 SPORTING CM7
 

stone_ship

Senior Member
Jul 17, 2010
509
178
0
Binghamton, NY
Something strange is definitely going on. I did make a couple of test calls with no FCs. You can try running ddms to see if you can see what's causing the errors. I'm not very good at reading those, but if you post it, I bet someone can help.
 

RockRatt

Senior Member
Aug 1, 2010
4,102
3,711
0
Well i took the one I like already, went in and edited the endcall_button_view.xml for visibility=gone and tben zipped it back up. Applied it, then recreated my rom and installed the rom and nkw so far I am not getting the force close issue I was having. Weird, so far it works pretty much as I put the links to you above. I will test it out a bit more and see how it goes. THANKS again for the help and ideas.

Sent From My KickAss ATT SGS2 SPORTING CM7
 

RockRatt

Senior Member
Aug 1, 2010
4,102
3,711
0
Glad it worked out for you. Sounds like you basically short circuited the app so it can't show the call ended screen.
I kind of like the way it turned out, thanks for the help and guidance man! I posted a link in the OP to point to your post. Thanks again, Rich

Sent From My KickAss ATT SGS2 SPORTING CM7
 
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone