• XDA Forums have been migrated to XenForo. We are aware of several issues including missing threads, logins not working, and more. To discuss, use this thread.
  • If you are experiencing issues logging in, we moved to a new and more secure software and older account passwords were not able to be migrated. We recommend trying to reset your password, then contacting us if there are issues.

All H.O.E. (HTC One EVO) mods by RunAndHide

runandhide05

New member
Apr 3, 2011
2,968
2,607
0

Must flash in Custom Recovery of your Choice

Releases These will do:
Physical Recent App Key = Menu
Adds Longpress Home = Launch Recent Apps
Must be on deodex roms​
Stock w/ on screen menu
here
Stock/no onscreen menu
here
ViperRom v1.2
here
ViperRom 1.2.1 (includes advance power menu now)
Here
Voice Search
enable by halfpress camera button *refer to post three for a copy paste method
HERE
NEW!! for Viper 1.2.1 longpress home = recent apps, physical recent app button = menu, volume up/down = wake device, half press camera button = search/voice search and includes Vinchenzop's APM
HERE


Also dont kill me if anything of mine does not work cause
1) its not my fualt
2) i dont have this phone so no testing
3) what fun is it without some bootloops (just kidding)

See Post 3 for how this was done, and spread the word
happy modding guys


Screen shot provided by
FattySparks
Vinchenzop
 

Attachments

Last edited:

runandhide05

New member
Apr 3, 2011
2,968
2,607
0
How I did it; To help the community
listed are the changes needed to enable longpress on home
these changes are in the android.policy.jar located at /system/framework/
you must decompile the classes.dex file and will find these smali files in a tree of folders
in PhoneWindowsManager.smali
line 1299
from
Code:
.method static synthetic access$300(Lcom/android/internal/policy/impl/PhoneWindowManager;J)V
    .registers 3
    .parameter "x0"
    .parameter "x1"

    .prologue
    .line 199
    invoke-direct {p0, p1, p2}, Lcom/android/internal/policy/impl/PhoneWindowManager;->startHtcSpeak(J)V

    return-void
.end method
to
Code:
.method static synthetic access$300(Lcom/android/internal/policy/impl/PhoneWindowManager;J)V
    .registers 3
    .parameter "x0"
    .parameter "x1"

    .prologue
    .line 199
    invoke-direct {p0, p1, p2}, Lcom/android/internal/policy/impl/PhoneWindowManager;->startRecentTasks(J)V

    return-void
.end method
line 2456
from
Code:
.method private startHtcSpeak(J)V
    .registers 5
    .parameter "eventDownTime"

    .prologue
    .line 4578
    :try_start_0
    new-instance v0, Landroid/content/Intent;

    const-string v1, "com.nuance.vsuite.intent.action.VOICE_COMMAND"

    invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V

    .line 4579
    .local v0, intent:Landroid/content/Intent;
    const/high16 v1, 0x1000

    invoke-virtual {v0, v1}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;

    .line 4580
    iget-object v1, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mContext:Landroid/content/Context;

    if-eqz v1, :cond_17

    .line 4581
    iget-object v1, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mContext:Landroid/content/Context;

    invoke-virtual {v1, v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V

    .line 4582
    iput-wide p1, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHtcSpeakDownTime:J
    :try_end_17
    .catch Landroid/content/ActivityNotFoundException; {:try_start_0 .. :try_end_17} :catch_18

    .line 4592
    .end local v0           #intent:Landroid/content/Intent;
    :cond_17
    :goto_17
    return-void

    .line 4587
    :catch_18
    move-exception v1

    goto :goto_17
.end method
to

Code:
.method private startRecentTasks(J)V
    .registers 5
    .parameter "eventDownTime"

    .prologue
    .line 4418
    .line 4419
    :try_start_0
    iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBarService:Lcom/android/internal/statusbar/IStatusBarService;

    invoke-interface {v0}, Lcom/android/internal/statusbar/IStatusBarService;->toggleRecentApps()V

    .line 4422
    iput-wide p1, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHtcSpeakDownTime:J
    :try_end_7
    .catch Landroid/content/ActivityNotFoundException; {:try_start_0 .. :try_end_7} :catch_8

    .line 4432
    .end local v0
    :goto_7
    return-void

    .line 4427
    :catch_8
    move-exception v1

    goto :goto_7
.end method
line 1707
from
Code:
.method private handleLongPressOnHome(J)V
    .registers 5
    .parameter "eventDownTime"

    .prologue
    const/4 v1, 0x0

    .line 1008
    iget-boolean v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mAutoMotiveEnabled:Z

    if-eqz v0, :cond_17

    .line 1009
    iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHandler:Landroid/os/Handler;

    if-eqz v0, :cond_17

    .line 1010
    const/4 v0, 0x0

    invoke-virtual {p0, v0, v1, v1}, Lcom/android/internal/policy/impl/PhoneWindowManager;->performHapticFeedbackLw(Landroid/view/WindowManagerPolicy$WindowState;IZ)Z

    .line 1011
    iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHandler:Landroid/os/Handler;

    new-instance v1, Lcom/android/internal/policy/impl/PhoneWindowManager$7;

    invoke-direct {v1, p0, p1, p2}, Lcom/android/internal/policy/impl/PhoneWindowManager$7;-><init>(Lcom/android/internal/policy/impl/PhoneWindowManager;J)V

    invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z

    .line 1024
    :cond_17
    return-void
.end method
to

Code:
.method private handleLongPressOnHome(J)V
    .registers 5
    .parameter "eventDownTime"

    .prologue
    const/4 v1, 0x0

    .line 1008
    .line 1009
    iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHandler:Landroid/os/Handler;

    if-eqz v0, :cond_17

    .line 1010
    const/4 v0, 0x0

    invoke-virtual {p0, v0, v1, v1}, Lcom/android/internal/policy/impl/PhoneWindowManager;->performHapticFeedbackLw(Landroid/view/WindowManagerPolicy$WindowState;IZ)Z

    .line 1011
    iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHandler:Landroid/os/Handler;

    new-instance v1, Lcom/android/internal/policy/impl/PhoneWindowManager$7;

    invoke-direct {v1, p0, p1, p2}, Lcom/android/internal/policy/impl/PhoneWindowManager$7;-><init>(Lcom/android/internal/policy/impl/PhoneWindowManager;J)V

    invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z

    .line 1024
    :cond_17
    return-void
.end method

then in PhoneWindowManager$7.smali

line 54
from
Code:
#calls: Lcom/android/internal/policy/impl/PhoneWindowManager;->startHtcSpeak(J)V
to

Code:
#calls: Lcom/android/internal/policy/impl/PhoneWindowManager;->startRecentTasks(J)V

now to remove the navbar when an app calls for menu is rather simple
decompile the framework-res.apk
and head to res/values/dimens.xml
go to the line that calls the dimens of the narbar
and change

from
Code:
<dimen name="navigation_bar_height">48.0dip</dimen>
    <dimen name="navigation_bar_width">45.0dip</dimen>
to
Code:
    <dimen name="navigation_bar_height">0.0dip</dimen>
    <dimen name="navigation_bar_width">0.0dip</dimen>

i believe that was everything, and i hope i didnt leave anything out
have fun tweeking.
and hope this helps out


to add a phycical search button to the half press action of the camera button change the following
at \system\usr\keylayout\keypad_8960.kl
from
Code:
key 211   FOCUS
key 212   CAMERA
key 116   POWER             WAKE_DROPPED
key 114   VOLUME_DOWN       WAKE
key 115   VOLUME_UP         WAKE
key 102   HOME
key 139   MENU
key 158   BACK
key 217   SEARCH

key 107   ENDCALL           WAKE_DROPPED
to
Code:
key 211   SEARCH
key 212   CAMERA
key 116   POWER             WAKE_DROPPED
key 114   VOLUME_DOWN       WAKE
key 115   VOLUME_UP         WAKE
key 102   HOME
key 139   MENU
key 158   BACK
key 217   SEARCH

key 107   ENDCALL           WAKE_DROPPED
 
Last edited:

runandhide05

New member
Apr 3, 2011
2,968
2,607
0
It doesn't matter what ROM you are on, as long as it is deodexed (and Sense, duh). Also, you don't need to wipe anything as ICS automatically detects changed files and adjusts itself accordingly.
i was not sure if he had changed anything in his framework, so i am/was playing it safe.
and as for wiping, ive always gone with the rule of thumb if your touching the /framework it never hurts.
but yes you are right it will rebuild if anuything has been changed automatically
but if i specify which rom once i add the systemUIs to get rid of the onscreen menu dont mix...
 
Last edited:
  • Like
Reactions: freeza

freeza

Recognized Developer
May 28, 2006
5,325
14,128
113
Pasadena, CA
www.freeza-inc.com
i was not sure if he had changed anything in his framework, so i am/was playing it safe.
and as for wiping, ive always gone with the rule of thumb if your touching the /framework it never hurts.
but yes you are right it will rebuild if anuything has been changed automatically
but if i specify which rom once i add the systemUIs to get rid of the onscreen menu dont mix...


and here is one that includes the systemUI modded to remove the menu
if someone would test it for me
its a MUST you be on viper v1.1
https://www.box.com/s/a3031514c5173e37e687
I agree. You should however use Stock as a base. Most people are on that and it won't encourage ROM favortism :)
 

runandhide05

New member
Apr 3, 2011
2,968
2,607
0
Because I have a few untested out please list the full name of the zip u flashed and what from u r running,
Not just " it didn't work"
That does not help me one bit..
Thank you guys/gals

Sent from my Galaxy Nexus using Tapatalk 2
 

alchemist316

New member
Jan 5, 2011
991
125
0
greenwich ct
Because I have a few untested out please list the full name of the zip u flashed and what from u r running,
Not just " it didn't work"
That does not help me one bit..
Thank you guys/gals

Sent from my Galaxy Nexus using Tapatalk 2
I flashed via twrp it ran fine booted and the menu comes but not long press home sorry I posted on both threads I thought that was this one idk lol but like I no long press recent .
I'm on virper Rom 1.1
Edit I wasn't sure why cwm is needed so o tried it anyways still ok
Sent from my EVO using xda premium
 

runandhide05

New member
Apr 3, 2011
2,968
2,607
0
ok the viper ones are not right, try the one for stock and report back, and cmw is a force of habbit il fix to to custom recovery, thanks
 

Spyderekz

New member
Mar 22, 2008
575
101
0
Wichita
tested out the viper 1.1 no menu and the menu is gone, but i still have a bar on the bottom. the bar on the bottom doesnt do anything at all since there isnt 3 dots. getting closer..
 

runandhide05

New member
Apr 3, 2011
2,968
2,607
0
tested out the viper 1.1 no menu and the menu is gone, but i still have a bar on the bottom. the bar on the bottom doesnt do anything at all since there isnt 3 dots. getting closer..
screen shot please? not quite understanding what you are saying?
you flashed viperROM_lp_hm_rcnt_noOSmenu?
 
Our Apps
Get our official app! (coming soon)
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