I have been away for a while because work is getting crazy, but I managed to throw a little something together for the time being. This is not an original MOD and a lot of the work came from Mirko and TdunHam (Thanks Guys!!) The thread I used to get things going in the right direction was this one:
http://forum.xda-developers.com/showthread.php?t=2128309
So this took a bit to get smoothed out so I could get it to work on the S3 but I managed to get it and now its coming to you!
I think everyone is familiar with this MOD but for those who are not its simple.....if you have an App open, simply hold the back button and it will kill it immediately. Here's the "How-To"!
We will be working with just one file, android.policy.jar. So decompile it and follow on....
Navigate to smali/com/android/internal/policy/impl/PhoneWindowManager.smali
Add the following in RED
Code:
.field mAssistKeyLongPressed:Z
[COLOR="red"].field mBackKillTimeout:Z
[/COLOR]
.field mBackLongPress:Ljava/lang/Runnable;
Add the following in RED
Code:
.field mLockScreenTimerActive:Z
[COLOR="red"].field mLongPressBackKill:Z
[/COLOR]
.field private mLongPressOnHomeBehavior:I
Find .method public constructor <init>()V
Add the following in RED
Code:
new-instance v0, Lcom/android/internal/policy/impl/PhoneWindowManager$8;
invoke-direct {v0, p0}, Lcom/android/internal/policy/impl/PhoneWindowManager$8;-><init>(Lcom/android/internal/policy/impl/PhoneWindowManager;)V
iput-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mMenuLongPress:Ljava/lang/Runnable;
new-instance v0, Lcom/android/internal/policy/impl/PhoneWindowManager$9;
invoke-direct {v0, p0}, Lcom/android/internal/policy/impl/PhoneWindowManager$9;-><init>(Lcom/android/internal/policy/impl/PhoneWindowManager;)V
[COLOR="red"] new-instance v0, Lcom/android/internal/policy/impl/PhoneWindowManager$KillConcept;
invoke-direct {v0, p0}, Lcom/android/internal/policy/impl/PhoneWindowManager$KillConcept;-><init>(Lcom/android/internal/policy/impl/PhoneWindowManager;)V
iput-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mBackLongPress:Ljava/lang/Runnable;
[/COLOR]
new-instance v0, Lcom/android/internal/policy/impl/PhoneWindowManager$10;
invoke-direct {v0, p0}, Lcom/android/internal/policy/impl/PhoneWindowManager$10;-><init>(Lcom/android/internal/policy/impl/PhoneWindowManager;)V
iput-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mCameraLongPress:Ljava/lang/Runnable;
new-instance v0, Lcom/android/internal/policy/impl/PhoneWindowManager$14;
invoke-direct {v0, p0}, Lcom/android/internal/policy/impl/PhoneWindowManager$14;-><init>(Lcom/android/internal/policy/impl/PhoneWindowManager;)V
iput-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mAllowSystemUiDelay:Ljava/lang/Runnable;
Add the following in RED
Code:
new-instance v0, Lcom/android/internal/policy/impl/PhoneWindowManager$25;
invoke-direct {v0, p0}, Lcom/android/internal/policy/impl/PhoneWindowManager$25;-><init>(Lcom/android/internal/policy/impl/PhoneWindowManager;)V
iput-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mScreenRecorderReceiver:Landroid/content/BroadcastReceiver;
new-instance v0, Lcom/android/internal/policy/impl/PhoneWindowManager$26;
invoke-direct {v0, p0}, Lcom/android/internal/policy/impl/PhoneWindowManager$26;-><init>(Lcom/android/internal/policy/impl/PhoneWindowManager;)V
iput-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mBootCompleteReceiver:Landroid/content/BroadcastReceiver;
iput-object v2, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mBootMsgDialog:Landroid/app/ProgressDialog;
[COLOR="red"] new-instance v0, Lcom/android/internal/policy/impl/PhoneWindowManager$KillConcept;
invoke-direct {v0, p0}, Lcom/android/internal/policy/impl/PhoneWindowManager$KillConcept;-><init>(Lcom/android/internal/policy/impl/PhoneWindowManager;)V
iput-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mBackLongPress:Ljava/lang/Runnable;
[/COLOR]
new-instance v0, Lcom/android/internal/policy/impl/PhoneWindowManager$34;
invoke-direct {v0, p0}, Lcom/android/internal/policy/impl/PhoneWindowManager$34;-><init>(Lcom/android/internal/policy/impl/PhoneWindowManager;)V
iput-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mScreenLockTimeout:Ljava/lang/Runnable;
Find method public interceptKeyBeforeDispatching(Landroid/view/WindowManagerPolicy$WindowState;Landroid/view/KeyEvent;I)J
Since there are so many changes, I have copied the entire edited method to a txt file. Simply copy the entire method from the txt file and replace it in the smali. Diff it out if you want to see exactly what changes I made.
That's all for the edits.
Now find the attached zip and put the kill smali in smali/com/android/internal/policy/impl
recompile and drop in /system/framework
enjoy!
Thanks button!!
First! Thanks!
Awesome work like always. Now we just got to figure out menu for multi Window and my life will be complete
Great work Didact, You think this will conflict with the Long press back for multiwindow?
sbreen94 said:
Great work Didact, You think this will conflict with the Long press back for multiwindow?
Click to expand...
Click to collapse
Hmmmm, not sure. I don't use multi window. Maybe someone who is already using multiwindow can try this and let us know.
sbreen94 said:
Great work Didact, You think this will conflict with the Long press back for multiwindow?
Click to expand...
Click to collapse
When I flashed KCM that had hold back to kill it would make multi Window completely inaccessible. So Idk if this is the same concept.
I think you'd have to redirect the multiwindow pop up to another button if you are going to implement this mod. Maybe use long press menu like andybones has implemented on a bunch of ROMS. DON'T KNOW HOW THEY WOULD WORK TOGETHER... AWESOME WORK AS ALWAYS DIDACT. AND WITH THE AMOUNT OF MODS YOU HAVE ALREADY DONE, WASN'T SURE HOW MANY MORE YOU COULD INJECT... :beer:
[email protected]'$ [email protected]@XY
Any chance of this becoming a toggle?
Thebear j koss said:
I think you'd have to redirect the multiwindow pop up to another button if you are going to implement this mod. Maybe use long press menu like andybones has implemented on a bunch of ROMS. DON'T KNOW HOW THEY WOULD WORK TOGETHER... AWESOME WORK AS ALWAYS DIDACT. AND WITH THE AMOUNT OF MODS YOU HAVE ALREADY DONE, WASN'T SURE HOW MANY MORE YOU COULD INJECT... :beer:
[email protected]'$ [email protected]@XY
Click to expand...
Click to collapse
Perhaps that would be best. I know there's a menu-to-kill. Maybe redirecting multi-window to work on menu instead of back as bear j koss said, while also simultaneously making back-to-kill option available? It makes much more sense for multiwindow being on hold menu button, because it seems to be a "menu" type feature. Back should be used for killing.
anyways, thanks for all the mods good sir!
Thebear j koss said:
I think you'd have to redirect the multiwindow pop up to another button if you are going to implement this mod. Maybe use long press menu like andybones has implemented on a bunch of ROMS. DON'T KNOW HOW THEY WOULD WORK TOGETHER... AWESOME WORK AS ALWAYS DIDACT. AND WITH THE AMOUNT OF MODS YOU HAVE ALREADY DONE, WASN'T SURE HOW MANY MORE YOU COULD INJECT... :beer:
[email protected]'$ [email protected]@XY
Click to expand...
Click to collapse
I actually tried this out on Synergy, and it does work, althought it no longer controls the multi window by holding back.. but the toggle can turn it on and off so.
I personally have gotten used to the menu, it's really nice to have the back, back,
thanks didact!!
hate to be this guy, but any change of adding in a vibration when the app is killed? and also im trying to experiment with white listed apps so it doesnt close apps u dont intend to, like sms
Kryten2k35 said:
Any chance of this becoming a toggle?
Click to expand...
Click to collapse
Definitely. Day or two away unless I get some time before that.
Didact74 said:
Definitely. Day or two away unless I get some time before that.
Click to expand...
Click to collapse
This is going to be an awesome new toggle. I never thought about turning the MOD into a toggle, you are amazing, Sir.
Thank you for this, been waiting a long time for someone with better smali skills to be able to port it, I tried numerous times but always failed
anyway, awesome job, thanks again.
oh and scratch what I posted earlier about white listed applications, I see that's already included in the code and working great, for some reason it wasn't on the first ROM I ported it to. Something to do with the way Synergy redid their latest build(s)
but vibration when killing the app (or pointer on how-to, if you know) would be awesome!
thanks but just for ur info that i just activate the long press kill appa in setting -> talkback -> tick long press kill apps
maybe you just installer talkback on google play store
[FONT="Arial ="5"]
• Sony Live with Walkman
airjyp said:
thanks but just for ur info that i just activate the long press kill appa in setting -> talkback -> tick long press kill apps
maybe you just installer talkback on google play store
[FONT="Arial ="5"]
• Sony Live with Walkman
Click to expand...
Click to collapse
What ROM?
and you're on Verizon?
Man, we need to communicate more. I have a setting to select either menu or back long press to kill. Just posted the how-to here: http://forum.xda-developers.com/showthread.php?t=2255500
loserskater said:
Man, we need to communicate more. I have a setting to select either menu or back long press to kill. Just posted the how-to here: http://forum.xda-developers.com/showthread.php?t=2255500
Click to expand...
Click to collapse
LOL...awesome.
Easy as cookies,,, Thanks for this one
A Didact74 and loserskater combination would be like.... a 4 rashers of Bacon, with a pinch of Bacon and two teaspoons of Bacon.
Kryten2k35 said:
A Didact74 and loserskater combination would be like.... a 4 rashers of Bacon, with a pinch of Bacon and two teaspoons of Bacon.
Click to expand...
Click to collapse
That combo would be mad epic!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Related
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
NOTE: After some recent experimentation with another user who is trying to implement this, I came to the realization that in order to change the workspace grid numbers, all that needs to be changed is the cell size. The cellWidth and cellHeight are irrelevant.
TUTORIAL
NOTE: This tutorial uses the Rosie.apk from the latest ZenEXP ROM for it's example. This ROM is for the Hero, which is 320x480. I will take a look at other launchers, just post here which launcher you are using. Also, this will mess up your widget sizes. I plan on posting the widgets I use to this post that will work on a 5x5 workspace grid.
First off, you need to download the awesome APKTOOL by Brut.
http://forum.xda-developers.com/showthread.php?t=640592
Make sure you follow his directions on how to get it up and running and load the frameworks files for your particular ROM (Very important).
Find the launcher APK you want to modify, in this case, we'll be modifying the Rosie.apk from the latest ZenEXP ROM. Run the APKTOOL as follows from a command prompt:
Code:
<path>\apktool d -t <framework file name> Rosie.apk
Browse to <path>\Rosie\res\layout-port and open workspace_screen.xml (note that everything is decoded for you!). Change the following, keeping in mind that this example uses a 320x480 screen resolution:
Code:
launcher:cellWidth="64.0dip" [I](320px / 64px = 5 cells)[/I]
launcher:cellHeight="82.2dip" [I](411px / 82.2px = 5 cells)[/I]
[I](NOTE: 480px - 25px status bar - 44px launcher bar = 411px)[/I]
launcher:longAxisEndPadding="44.0dip" [I](Used to be 55, this will add 11px to the workspace screen)[/I]
launcher:shortAxisCells="5" [I](Make sure this corresponds with your pixels above)[/I]
launcher:longAxisCells="5" [I](Make sure this corresponds with your pixels above)[/I]
Browse to <path>\Rosie\res\values, open dimens.xml and change the following:
Code:
<dimen name="cell_width">64.0dip</dimen>
<dimen name="cell_height">82.2dip</dimen>
[I](Make sure this corresponds to the numbers used previously)[/I]
Browse to <path>\Rosie\res\values-normal, open dimens.xml and change the following:
Code:
<dimen name="workspace_cellWidth">64.0dip</dimen>
<dimen name="workspace_cellHeight">82.2dip</dimen>
<dimen name="workspace_longAxisEndPadding">44.0dip</dimen>
<dimen name="launcher_control_height">44.0dip</dimen>
[I](Make sure this corresponds to the numbers used previously)[/I]
To expand the number of apps in the launcher drawer, change the following in the same file:
<dimen name="launcher_aagv_column_width">64.0px</dimen>
<dimen name="application_boxed_tv_layout_height">82.2px</dimen>
<dimen name="application_boxed_tv_layout_width">64.0px</dimen>
<dimen name="application_shortcut_layout_height">82.2px</dimen>
<dimen name="application_shortcut_layout_width">64.0px</dimen>
NOTE: There are a lot of padding code lines that can be changed to make the icons larger.
Browse to <path>\Rosie\res\values-normal, open integers.xml and change the following:
Code:
<integer name="folder_grid_columns">5</integer>
<integer name="workspace_screen_cl_short_axis_cells">5</integer>
<integer name="workspace_screen_cl_long_axis_cells">5</integer>
<integer name="workspace_shortAxisCells">5</integer>
<integer name="workspace_longAxisCells">5</integer>
<integer name="allprogram_grid_columns">5</integer>
[I](Make sure this corresponds to the numbers used previously)[/I]
Browse to <path>\Rosie\res\values-port, open integers.xml and change the following:
Code:
<integer name="folder_grid_columns">5</integer>
That's it! Open a command prompt and package it back up and make sure you sign the finished apk:
Code:
<path>\apktool build Rosie
I'm going to start digging through the stock launcher and launcher2 to see if the same thing can be done. As mentioned at the top, this will modify your widget sizing. An example of how to change the HTC agenda widget cell size is below:
Run APKTOOL on your chosen widget. Browse to <path>\htccalendarwidgets\smali\com\htc\htccalendarwidgets, open MyWidgetView.smali, search for "spanx" and change the following:
Code:
.method public getSpanX()I
.locals 1
.prologue
.line 140
const/4 v0, 0x5 [I]<------ 5 CELLS WIDE[/I]
return v0
.end method
.method public getSpanY()I
.locals 1
.prologue
.line 144
const/4 v0, 0x5 [I]<------ 5 CELLS TALL[/I]
return v0
.end method
Go here for an update.zip with the modded Rosie.apk file, if you want to mess around with it.
To resize non-HTC widgets, decompile the apk per the instructions above and locate the xml file in <path>\res\xml that contains the following (or something similar):
Code:
<appwidget-provider android:minWidth="320.0dip" android:minHeight="64.0dip"
Edit the dip sizes per your new cell size. The example above is the equivelant of a 4x1 widget. If that doesn't work and your widget is taking up too much space, then lessen the dip sizes until it does work. This is because the xml file is calling for the minWidth and minHeight.
I'd like to thank Brut for the awesome apktool and Britoso for some smali editing.
Very nice.
This looks awesome. Have you seen any problems with the correct program opening or any other issues?
Re: [MOD] 4x5 workspace & 5 column launcher
This looks awesome. Have you seen any problems with the correct program opening or any other issues?
Click to expand...
Click to collapse
No problems at all. I can delete stuff too. I'm going to test it as is tonight. Only issue is some widgets need to be modded a bit.
-------------------------------------
Sent via the XDA Tapatalk App
this **** is awesome!
it looks alot like the Sense 2.5 for WinMo.
SoCalSpecialist said:
this **** is awesome!
it looks alot like the Sense 2.5 for WinMo.
Click to expand...
Click to collapse
A little MaxManila, huh? I'm trying a 5x6 layout right now. It's gettin' crazy up in here!
That's awesome! I really like it.
signals23 said:
A little MaxManila, huh? I'm trying a 5x6 layout right now. It's gettin' crazy up in here!
Click to expand...
Click to collapse
ahahhaha dope!
bring it..we're all ready for it!
I tried a 5x6 workspace last night, but I think that went a little too far. I think I'll try a 5x5 one next.
I'm still working on a tutorial and will post here when it's done.
BTW, which ROM's and Launchers are people using so I can look at the xml's?
Updated the OP with a Rosie.apk tutorial. Let me know which Launchers you guys are using and I'll take a look at them.
keeping an eye on this one. looks interesting!
signals23 said:
I tried a 5x6 workspace last night, but I think that went a little too far. I think I'll try a 5x5 one next.
I'm still working on a tutorial and will post here when it's done.
BTW, which ROM's and Launchers are people using so I can look at the xml's?
Click to expand...
Click to collapse
I personally love the Helix Launcher... modding that home replacement to go 5x5 would be great!
TheSeanTeam said:
I personally love the Helix Launcher... modding that home replacement to go 5x5 would be great!
Click to expand...
Click to collapse
Looks like he built it off of Launcher2, it should be pretty easy. I'll ask for his permission first.
I love the 4x5 workspace...awesome work! Do you think this can be done in either damagecontrol 2.0.8 or fresh 2.1.2?
jstamm said:
I love the 4x5 workspace...awesome work! Do you think this can be done in either damagecontrol 2.0.8 or fresh 2.1.2?
Click to expand...
Click to collapse
I'll go pull the launchers from both, it should be the same. I'll post if successful.
Damage Control
signals23 said:
I'll go pull the launchers from both, it should be the same. I'll post if successful.
Click to expand...
Click to collapse
I am running the latest DamageControl rom (2.9.01) and most of the items are not where you indicate in your tutorial.
If you could have a look it would be appreciated.
Master K said:
I am running the latest DamageControl rom (2.9.01) and most of the items are not where you indicate in your tutorial.
If you could have a look it would be appreciated.
Click to expand...
Click to collapse
OK. I'll poke around after I get some work done.
signals23 said:
OK. I'll poke around after I get some work done.
Click to expand...
Click to collapse
@Master K
Took a quick look at DC 2.9.01. Looks like they pushed all of the info to the values folders and left the xml's as placeholders. This is really the way it should've been since the dimens.xml and integers.xml files override the layout xml's anyway. Regardless, check out the dimens.xml and integers.xml in the following folders, everything should correspond then:
values-normal
values-normal-port
values-normal-port-mdpi
values-port
Let me know how that goes. I'm not running DC, so I can't test it right now.
signals23 said:
Let me know how that goes. I'm not running DC, so I can't test it right now.
Click to expand...
Click to collapse
Well I thought I did it all correctly but when I pushed over the new Rosie.apk it would not launch. Just a black screen on reboot and then other things FC'ed. So I put back the original Rosie and everything was fine.
If someone with more experience editing inside these APK's gets this to work let me know.
Thanks!
Master K said:
Well I thought I did it all correctly but when I pushed over the new Rosie.apk it would not launch. Just a black screen on reboot and then other things FC'ed. So I put back the original Rosie and everything was fine.
If someone with more experience editing inside these APK's gets this to work let me know.
Thanks!
Click to expand...
Click to collapse
I'll edit it tonight and will post the apk for you to test.
Out of curiosity, did you setup the frameworks in apktool correctly?
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I just thought I would show off a new live wallpaper by WJD Designs I made based off the Droid2 live wallpaper. If you can comment after you download to show some appreciation Enjoy guys and girls!
CLICK HERE TO GRAB IT AND COMMENT!
lookin very nice
Excellent Job on the Wallpaper man, it make the theme you are going for mesh quite nicely. Downloading now.
LegionTHEFecalExcretion said:
Excellent Job on the Wallpaper man, it make the theme you are going for mesh quite nicely. Downloading now.
Click to expand...
Click to collapse
it's funny because I saw yours go up the night I was working on mine and I was like pssst beaten to the punch - I went the xtra foot and drew all the circuit lines out and have them as layers - gj on yours as well...
you guys are awesome!
keep up the good work
looks great on DInc and DX
yourfriendwayned said:
it's funny because I saw yours go up the night I was working on mine and I was like pssst beaten to the punch - I went the xtra foot and drew all the circuit lines out and have them as layers - gj on yours as well...
Click to expand...
Click to collapse
I have been doing some tinkering with the apk via smali/baksmali and have been trying to mess with the dots specifically. It seems the developer of this app made it very easy for him/herself to change alot of things on the fly. They also made the dot trajectorys waaaaaaaayyyyyy to hard on themselves. I have been toying with the idea of making a true Droid2Mod alo the Nexusmod LW with customizable dots, trajectory, color and wallpaper. BUt thats getting way ahead of things. *sigh* someday.
LegionTHEFecalExcretion said:
I have been doing some tinkering with the apk via smali/baksmali and have been trying to mess with the dots specifically. It seems the developer of this app made it very easy for him/herself to change alot of things on the fly. They also made the dot trajectorys waaaaaaaayyyyyy to hard on themselves. I have been toying with the idea of making a true Droid2Mod alo the Nexusmod LW with customizable dots, trajectory, color and wallpaper. BUt thats getting way ahead of things. *sigh* someday.
Click to expand...
Click to collapse
yeah I am thinking we need to chat - hit me up at [email protected] - ill give you my gtalk I got ideas and also was looking into that too...
yourfriendwayned said:
yeah I am thinking we need to chat - hit me up at [email protected] - ill give you my gtalk I got ideas and also was looking into that too...
Click to expand...
Click to collapse
Sounds good! I have been banging my head against the wall trying to get the damn eye sit lower on the screen and no luck but I think Im getting close. Check out this excerpt from one of the smali files.
# static fields
.field static final ACCEL:Z = false
.field private static final BACKGROUND_TEXTURE_INDEX:I = 0x0
.field private static final BG_HEIGHT:I = 0x356
.field private static final BG_WIDTH:I = 0x3c0
.field static final DECAY_TIME:I = 0x7d0
.field private static final DOT_TEXTURE_INDEX:I = 0x1
.field static final END_BRIGHTNESS:F = 0.5f
.field private static final EYE_FPS:I = 0xa
.field private static final EYE_FRAME_DELAY:I = 0x64
.field private static final EYE_HEIGHT:I = 0x80 Tryed changing to 40, nothing.
.field private static final EYE_TEXTURE_INDEX:I = 0x2
.field private static final EYE_TILE_COUNT:I = 0x13
.field private static final EYE_TILE_HEIGHT:I = 0x80 Tryed chaning to 40, nothing.
.field private static final EYE_TILE_WIDTH:I = 0x100
.field private static final EYE_WIDTH:I = 0x100
.field private static final EYE_X:I = 0x160
.field private static final EYE_Y:I = 0x208 Tryed chaning to 104, nothing
.field private static final FRAME_RATE:I = 0x1e
.field private static final NUM_TEXTURES:I = 0x3
.field static final PULSE_COUNT:I = 0x5 Succesfully modified pulse count!
.field static final PULSE_SPEED:I = 0x12c Succesfully modified pulse speed!
.field static final START_BRIGHTNESS:F = 1.0f
.field static final TILE_GRID_COLS:I = 0x2
Click to expand...
Click to collapse
Ill hit you up with the full decompiled classes.dex. Let me know what you think.
Looks better than the original
Sent from my DROIDX using Tapatalk
LegionTHEFecalExcretion said:
Sounds good! I have been banging my head against the wall trying to get the damn eye sit lower on the screen and no luck but I think Im getting close. Check out this excerpt from one of the smali files.
Ill hit you up with the full decompiled classes.dex. Let me know what you think.
Click to expand...
Click to collapse
it gets fun with little progression lol
sp1kez said:
Looks better than the original
Sent from my DROIDX using Tapatalk
Click to expand...
Click to collapse
thaNK YOU
Can you make this a regular wallpaper, help save on battery
Sent from my DROIDX using XDA App
Keep making wallpapers Im loving these, a droid2mod would be amazing
yourfriend,
would you mind renaming the activity so i can load on my droid 2? right now it conflicts the preloaded one.
Outstanding! Great work Dev! Perfect wallpaper for my Droid X
nemesis000000 said:
yourfriend,
would you mind renaming the activity so i can load on my droid 2? right now it conflicts the preloaded one.
Click to expand...
Click to collapse
can someone help me with this?
really like this droid eye more for my droid2 but cant load it because it has the same name as the pre installed one.
nemesis000000 said:
can someone help me with this?
really like this droid eye more for my droid2 but cant load it because it has the same name as the pre installed one.
Click to expand...
Click to collapse
sure just remind me at [email protected] please and ill do it...
I started this project to get an appreciation for all the work that goes into a theme. Mission accomplished.
I decided that this thread would be better suited for themers who are looking to make their themes more complete but don't have the time to go searching through decompiled apks looking for values. I hope this helps. Need me to be more specific, just post and I'll update the thread as I can.
Thanks to:
Myn -- Letting me contribute to his project, and ending my ROM flashing addiction.
JsChiSurf -- Continuing to answer my questions, this guy does absolutely amazing work.
Rujeluss22 -- Pointing me in the right direction when I first started
Manup456 -- The man whose theme I've loved since I first saw it and made me want to theme.
GIMPSTA -- Author of HTC_IME_Mod online kitchen, thank you for showing me what I was missing.
HtcDialer -- for clarity, when I speak of the dialer I am talking about the keypad that you see when you open the phone application. In order to completely change the look and feel of the keypad you must make changes to (3) different apk's: HtcDialer.apk, Phone.apk, and com.htc.resources.apk.
HtcDialer.apk filepath: /res/values/styles.xml and the incall screen dialer keypad is in Phone.apk filepath: /res/values-hdpi/styles.xml.
Inside the xml you are looking for (3) blocks of code.
Code:
<style name="text_style_dialer_button_number">
<style name="text_style_dialer_button_alphabet">
<style name="text_style_dialer_button_zero_number">
In these blocks of code you will be looking for lines like:
Code:
<item name="android:textColor">#ff00cc00</item>
<item name="android:shadowColor">#00000000</item>
(Note: if you are editing a completely stock dialer it may have @color[some stuff] instead of #[AARRGGBB] )
This should help you get a grasp of where all the icons are located.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Some more pictures of Warm 2.2 dialer:
HTC_IME -- This is by far the more difficult of the two projects that I have taken on. I have always loved the HTC_IME_mod and now hopefully you themers out there can do your magic on the original apk.
Some pictures:
The PNG editing in this application was by far the easiest part. All of the icons for this are in drawable-hdpi. All of the keys that we are concerned with are saphire_somename.
I had originally thought that the colors would be controlled by /res/values/styles.xml. This is not the case. Thanks to GIMPSTA, all you need to edit is:
HTC_IME/com/htc/android/htcime/ezsip/KeyboardView.smali
HTC_IME/com/htc/android/htcime/ezsip/Port20KeySIPView.smali
look for: Primary Color -->
Code:
const/high16 v6, -0x100
replace with: const v6, 0xAARRGGBB
Alt Color -->
Code:
const v6, -0x888889
replace with: const v6, 0xAARRGGBB
Tertiary Color -->
Code:
const/4 v6, -0x1
Make sure to comment out any line that is invoking a shadow layer.
So
Code:
invoke-virtual {v10, v6, v7, v8, v9}, Landroid/graphics/Paint;->setShadowLayer(FFFI)V
would become
Code:
#invoke-virtual {v10, v6, v7, v8, v9}, Landroid/graphics/Paint;->setShadowLayer(FFFI)V
If you have any questions feel free to PM me. I hope this helps you themers out there with your todo lists.
Up next:
MMS.apk
Htc_Contacts
[Reserved for HTC_IME]
Thx - I succesfully edited the dialer and htcframework - do you know which values i need to edit for the incall screen dialer? Maybe values are only different since I`m on DHD - but they should be basically the same.
My best gues are these entries:
<style name="TextAppearance.DialerLine1" parent="@android:style/TextAppearance.Widget.Button">
<item name="android:textSize">32.0sp</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@color/dialer_button_text</item>
</style>
<style name="TextAppearance.DialerLine2" parent="@android:style/TextAppearance.Widget.Button">
<item name="android:textSize">18.0sp</item>
<item name="android:textColor">@color/dialer_button_text</item>
Edit - unfortunatly HTC changed a lot with the latest Sense version, so this does not work on DHD...
he_stheone64 said:
Edit - unfortunatly HTC changed a lot with the latest Sense version, so this does not work on DHD...
Click to expand...
Click to collapse
Values for HtcDialer.apk for DHD are located in /values-hdpi/styles.xml
-CMYLXGO
DJZager said:
[Reserved for HTC_IME]
Click to expand...
Click to collapse
Could u provide line numbers for the applicable lines of code in smali to designate exactly where u mean? ...at least for Stock APKs?
PS. I dont mean the ". Line #", but the actual line # the given code can be found.
I'm looking at KeyboardView.smali ....and sh*t is it daunting! Don't see "const/high16 ,v6 -0x100" (plaese don't tell me they change Luke m10's, lol!
Edit: well atleast I finally remembered that Linux provides a search option ...making things a bit easier, lol
K, I just used my search function to check every instance of;
"const/high16"
to find;
"const/high16 v6, -0x100"
...and i assure u it does not exist in either 'KeyboardView.smali' or 'Port20KeySIPView.smali' in my copy of HTC_IME.apk. Neither does 'const ,v6'. The closest I've found was;
"const/high16 v0, 0x100".
It is a 'Trace' version tho. Could that be it?
.....I'm running Sense 3.0 with SynergyROM on my ThunderBolt.
CleveRuse said:
K, I just used my search function to check every instance of;
"const/high16"
to find;
"const/high16 v6, -0x100"
...and i assure u it does not exist in either 'KeyboardView.smali' or 'Port20KeySIPView.smali' in my copy of HTC_IME.apk. Neither does 'const ,v6'. The closest I've found was;
"const/high16 v0, 0x100".
It is a 'Trace' version tho. Could that be it?
.....I'm running Sense 3.0 with SynergyROM on my ThunderBolt.
Click to expand...
Click to collapse
That's exactly why.
tommytomatoe said:
That's exactly why.
Click to expand...
Click to collapse
LOL ....Thnx
tommytomatoe said:
That's exactly why.
Click to expand...
Click to collapse
...wait, so then how am I supposed to know wut I'm doing, LOL? It's all gibberish in there!
Sent from my ADR6400L using XDA App
Could you post what lines do the overscroll please? I'm do tiered of green
Sent from my PC36100 using XDA App
Originally Posted Here by me.
*****
This one has been long overdue! This is the comprehensive guide to Rosie.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Because I am hindered at the moment and cannot test my own stuff, I would like for others to be able do it themselves! For now, this will be a rough overview of where the icons are. I will go into detail with other information like color, strings, and other stuff as time goes on.
If this helped you, link this thread so other peeps can also learn how to theme up Rosie.
Tools: archive utility (7z, bettercut, et cetera), apktool
Sense 3.0 Rosie - courtesy he_stheone (hit that thanks button for him)
How-To Rosie transparent app drawer & custom background
4x4 or 5x5 App Drawer
Theming Dock and Buttons with M10 tools
Sense 2.1 Rosie
Buttons
Left Button Icon (app drawer):
In Rosie.apk/res/drawable-hdpi look for:
Code:
icon_all_on.png
icon_all_rest.png
icon_all_down_on.png
icon_all_down_rest.png
*Note, with the nature of the Sense 2.1 Rosie, you will only need to modify the icon_all_on.png and icon_all_rest.png
Click to expand...
Click to collapse
Left Button Background:
>>
In com.htc.resources.apk/res/drawable-hdpi look for:
Code:
common_app_rosie_btn_left_rest.png
common_app_rosie_btn_left_pressed.png
Click to expand...
Click to collapse
Middle Button Icon (Phone):
In Rosie.apk/res/drawable-hdpi look for:
Code:
icon_p_phone_on.png
icon_p_phone_rest.png
Click to expand...
Click to collapse
Middle Button Text (Phone):
Decompile Rosie.apk using apktool first.
In Rosie/res/values look for strings.xml. Open it up in text editor (textEdit, notepad++, et cetera). Search for:
Code:
<string name="phone">Phone</string>
Change the string in between ><
Alternatively, we can have:
<string name="phone"></string> or <string name="phone">tt's Dialer</string>
Click to expand...
Click to collapse
Middle Button Background:
>>
In com.htc.resources.apk/res/drawable-hdpi look for:
Code:
common_app_rosie_btn_middle_rest.png
common_app_rosie_btn_middle_pressed.png
Click to expand...
Click to collapse
Right Button Icon (personalize icon):
In Rosie.apk/res/drawable-port-hdpi look for:
Code:
personalize_rest.png
personalize_on.png
Click to expand...
Click to collapse
RightButton Background:
>>
In com.htc.resources.apk/res/drawable-hdpi look for:
Code:
common_app_rosie_btn_right_rest.png
common_app_rosie_btn_right_pressed.png
Click to expand...
Click to collapse
Dock Components
Dock (main background):
In Rosie.apk/res/drawable-port-hdpi look for:
Code:
rosie_navbar.png
Click to expand...
Click to collapse
Dock (Scrollbar background):
In Rosie.apk/res/drawable-hdpi look for:
Code:
common_mainnav_scroller3.png
Click to expand...
Click to collapse
Dock (Scrollbar):
In Rosie.apk/res/drawable-hdpi look for:
Code:
common_mainnav_scroller1.png
Click to expand...
Click to collapse
Scrollbar Angle Position: Stock has curved path when you navigate between home screens. This will allow it go straight across
Decompile Rosie.apk with apktool
In Rosie/res/values-hdpi look for integers.xml and make these changes:
CURVED PATH (stock):
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="scroll_x1">0</integer>
<integer name="scroll_y1">37</integer>
<integer name="scroll_x2">240</integer>
<integer name="scroll_y2">10</integer>
<integer name="scroll_x3">480</integer>
<integer name="scroll_y3">37</integer>
<integer name="cell_layout_corner_radius">5</integer>
<integer name="cell_layout_line_width">4</integer>
<integer name="blade_control_touch_area">50</integer>
</resources>
STRAIGHT PATH
Code:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<integer name="scroll_x1">0</integer>
<integer name="scroll_y1">10</integer>
<integer name="scroll_x2">240</integer>
<integer name="scroll_y2">10</integer>
<integer name="scroll_x3">480</integer>
<integer name="scroll_y3">10</integer>
<integer name="cell_layout_corner_radius">5</integer>
<integer name="cell_layout_line_width">4</integer>
<integer name="blade_control_touch_area">50</integer>
</resources>
Click to expand...
Click to collapse
Modify/Edit Button:
>>
In Rosie.apk/res/drawable-port-hdpi look for:
Code:
btn_left_rest_big.png
btn_left_setting_pressed.png
Click to expand...
Click to collapse
Trash Button:
>>
In Rosie.apk/res/drawable-port-hdpi look for:
Code:
btn_right_rest_big.png
btn_right_remove_press.png
Click to expand...
Click to collapse
Trash Icon:
In Rosie.apk/res/drawable-hdpi look for:
Code:
con_trash_rest.png
con_trash_on.png
Click to expand...
Click to collapse
To Centralize The Dock:
Image Courtesy of DG4FREE
In Rosie.apk/res/layout-port look for button_bar.xml:
Code:
android:layout_width="fill_parent"
Change to
Code:
android:layout_width="320.0px"
Add
Code:
android:layout_centerHorizontal="true"
For Example:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<com.htc.launcher.widget.ButtonBar android:background="@com.htc:drawable/common_app_rosie_navbar" android:layout_width="320.0px" android:layout_height="@dimen/button_bar_height" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:launcher="http://schemes.android.com/apk/res/com.htc.launcher">
Click to expand...
Click to collapse
Smali Stuff
Tools. apktoool or baksmlai/smali or android-utility
notepad++ or textedit
Decode Rosie.apk
First, install proper frameworks (com.htc.resources.apk)
apktool: apktool d Rosie.apk
baksmali: java -jar baksmali.jar classes.dex -o out OR baksmali classes.dex -o out
android-utility: follow prompts on screen
Build Rosie
apktool: apktool b Rosie
smali: java -Xmx512M -jar smali.jar out -o classes.dex OR smali -Xmx512M out -o classes.dex
android-utility: follow prompts on screen
To Remap the Right Button of Rosie for Sense 2.1 and Below (Sense 3.0 is a little more tricky)
Open Launcher.smali, found in [out|smali]/com/htc/launcher/
Search for
Code:
invoke-direct {p0}, Lcom/htc/launcher/Launcher;->addItems()V
Change to:
Code:
invoke-direct {p0}, Lcom/htc/launcher/Launcher;->launchCustom()V
*Note. This line is preceded by this chunk of code for Sense 1.0 Rosie (similar for other versions):
Code:
.method static synthetic access$2000(Lcom/htc/launcher/tommytomatoe/Launcher;)V
.locals 0
.parameter "x0"
.prologue
.line 147
Next, search for
Code:
.method private onAppWidgetReset()V
Directly above this method, write in this method:
Code:
.method private launchCustom()V
.locals 5
.prologue
.line 5536
new-instance v1, Landroid/content/Intent;
const-string v2, "android.intent.action.MAIN"
invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 5537
.local v1, intent:Landroid/content/Intent;
const-string v2, "android.intent.category.LAUNCHER"
invoke-virtual {v1, v2}, Landroid/content/Intent;->addCategory(Ljava/lang/String;)Landroid/content/Intent;
.line 5538
new-instance v2, Landroid/content/ComponentName;
const-string v3, "com.beansoft.launchkey"
const-string v4, "com.beansoft.launchkey.Redirect"
invoke-direct {v2, v3, v4}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v1, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
.line 5540
:try_start_0
invoke-virtual {p0, v1}, Lcom/htc/launcher/Launcher;->startActivity(Landroid/content/Intent;)V
:try_end_0
.catch Landroid/content/ActivityNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
.catch Ljava/lang/IllegalArgumentException; {:try_start_0 .. :try_end_0} :catch_1
.line 5546
:cond_0
:goto_0
return-void
.line 5541
:catch_0
move-exception v0
.line 5542
.local v0, e:Landroid/content/ActivityNotFoundException;
sget-boolean v2, Lcom/htc/launcher/Launcher;->localLOGV:Z
if-eqz v2, :cond_0
invoke-virtual {v0}, Landroid/content/ActivityNotFoundException;->printStackTrace()V
goto :goto_0
.line 5543
.end local v0 #e:Landroid/content/ActivityNotFoundException;
:catch_1
move-exception v0
.line 5544
.local v0, e:Ljava/lang/IllegalArgumentException;
sget-boolean v2, Lcom/htc/launcher/Launcher;->localLOGV:Z
if-eqz v2, :cond_0
invoke-virtual {v0}, Ljava/lang/IllegalArgumentException;->printStackTrace()V
goto :goto_0
.end method
These two lines are where the magic happens:
Code:
const-string v3, "com.beansoft.launchkey"
const-string v4, "com.beansoft.launchkey.Redirect"
You must place the package name and the activity which launches the desired app. The above chunk of code will launch whatever app LaunchKey has redirected. Below are some more examples.
Browser
Code:
const-string v3, "com.android.browser"
const-string v4, "com.android.browser.BrowserActivity"
Camera
Code:
const-string v3, "com.android.camera"
const-string v4, "com.android.camera.CameraEntry"
Messaging
Code:
const-string v3, "com.android.mms"
const-string v4, "com.android.mms.ui.ConversationList"
Feel free to request others.
Click to expand...
Click to collapse
Go from a remapped Rosie to Stock (Personalize Menu)[/code]
Search for
Code:
invoke-direct {p0}, Lcom/htc/launcher/Launcher;->launchCustom()V
Change to
Code:
invoke-direct {p0}, Lcom/htc/launcher/Launcher;->addItems()V
*Hint. If you cannot find the "invoke-direct {p0}, Lcom/htc/launcher/Launcher;->launchCustom()V", look instead for this chunk of code:
Code:
invoke-direct {p0}, Lcom/htc/launcher/Launcher;->launch
IF you still can't find it, because the dev used a different convention, say LaunchMms instead of LaunchCustom, it is surrounded by these other methods:
Code:
.method static synthetic access$1902(Lcom/htc/launcher/Launcher;Z)Z
.registers 2
.parameter "x0"
.parameter "x1"
.prologue
.line 143
iput-boolean p1, p0, Lcom/htc/launcher/Launcher;->isNeedLaunchAddToHome:Z
return p1
.end method
.method static synthetic access$2000(Lcom/htc/launcher/Launcher;)V
.registers 1
.parameter "x0"
.prologue
.line 143
invoke-direct {p0}, Lcom/htc/launcher/Launcher;->launchMms()V
return-void
.end method
.method static synthetic access$2100(Lcom/htc/launcher/Launcher;)V
.registers 1
.parameter "x0"
.prologue
.line 143
invoke-direct {p0}, Lcom/htc/launcher/Launcher;->startCallActivity()V
return-void
.end method
Click to expand...
Click to collapse
More to come....
Credits: JsChiSurf for originally bringing this to the Evo
Thanks TT, you do so much to help here, I dont mess with the rosie much, maybe I will start!
Sent from me EvO
Added Scrollbar Path Angle Mod.
mutant13 said:
Thanks TT, you do so much to help here, I dont mess with the rosie much, maybe I will start!
Sent from me EvO
Click to expand...
Click to collapse
No problemo Evan! Looking forward to some awesome stuff from you
Great thread tommy, may want to add landscape stuff in the future. Thanks
incubus26jc said:
Great thread tommy, may want to add landscape stuff in the future. Thanks
Click to expand...
Click to collapse
Thanks inc. And landscape will be added for sure!
Btw. If anyone can think of other tutorial related material feel free to offer it up, whether you have a question or your own method.
Sent from my PC36100 using XDA Premium App
How about when you go into the app drawer? Anything special to make sure you cover that?
SteelH said:
How about when you go into the app drawer? Anything special to make sure you cover that?
Click to expand...
Click to collapse
Nice call. I will make sure to do that.
Sent from my PC36100 using XDA Premium App
@tommytomatoe
How and which file to edit for the right Rosie "personalize" button? Many people want to return this to stock function but can't.
What would really be AWESOME is to incorporate the "personalize" function into the Rosie Settings app so that people will have complete control of the right Rosie button! Would this be possible? Thanks for all your work and info!
tx_dbs_tx said:
@tommytomatoe
How and which file to edit for the right Rosie "personalize" button? Many people want to return this to stock function but can't.
What would really be AWESOME is to incorporate the "personalize" function into the Rosie Settings app so that people will have complete control of the right Rosie button! Would this be possible? Thanks for all your work and info!
Click to expand...
Click to collapse
I'm not sure that it is possible with Rosie settings....but I can for sure post a how to to revert it back. It is rather simple.
Sent from my PC36100 using XDA Premium App
tommytomatoe said:
I'm not sure that it is possible with Rosie settings....but I can for sure post a how to to revert it back. It is rather simple.
Sent from my PC36100 using XDA Premium App
Click to expand...
Click to collapse
Great tutorial Tommy. I posted a little something, something. I haven't been able to edit the phone text yet but I'm getting there. Thanks again dude!
Check Second Post for Smali Stuff. Enjoy.
vanessaem said:
Great tutorial Tommy. I posted a little something, something. I haven't been able to edit the phone text yet but I'm getting there. Thanks again dude!
Click to expand...
Click to collapse
xda said:
Sorry, you are limited to five thanks per day
Click to expand...
Click to collapse
the bastards/
TT,
As someone who makes minor cosmetic tweeks to my stock rooted EVO, I would love to be able to make some Rosie mods to Sense 1.0. Any possibility getting some help with that? I'm looking to remap the "+" button on the far right to a camera button. Any help or direction would be appreciated.
Sent from my PC36100 using XDA App
Sorry that was supposed to say "stock rooted EVO" not android.
Sent from my PC36100 using XDA App
bigkippa said:
TT,
As someone who makes minor cosmetic tweeks to my stock rooted EVO, I would love to be able to make some Rosie mods to Sense 1.0. Any possibility getting some help with that? I'm looking to remap the "+" button on the far right to a camera button. Any help or direction would be appreciated.
Sent from my PC36100 using XDA App
Click to expand...
Click to collapse
For stock Sense 1.0 Evo,
Rosie.apk/res/drawable/hdpi/
Look for "icon_add_on.png" and "icon_add_rest.png"
Replace those two.
How?
Use 7z to open the apk as an archive. Don't extract. Just replace the desired files.
Download this:generic update.zip
Open that up in 7z.
Place Rosie.apk in system/app/
Sign it if you know how to
Boot into recovery and flash
ALternatively, you dont have to flash. Just run: adb push Rosie.apk /system/app/Rosie.apk
All done
Great Guide
Once I figure out how to finally use all these tools properly. I can really start creating some mods. This will be a great way to start thanks tommy you been very helpful to this community.
I'd love to see how to remap the rosie graphics so that they don't have to be as wide across. Do you remember the smaller central layout that DG4FREE had for Warm RLS5? I'd love to be able to do that on Synergy.
Also, how about a way to remap the buttons so that the center button is App Drawer?
MadDogMaddux said:
I'd love to see how to remap the rosie graphics so that they don't have to be as wide across. Do you remember the smaller central layout that DG4FREE had for Warm RLS5? I'd love to be able to do that on Synergy.
Also, how about a way to remap the buttons so that the center button is App Drawer?
Click to expand...
Click to collapse
Great Ideas. But unfortunately no one has been able to remap the Sense 2.1 Rosie for any device. Placing the app drawer in the center is not like it was before on Sense 1.0 with simple changes to the layout. It is in smali.
As for the smaller centered Layout. That is easy. That is in the layouts. I will go ahead and do this one. Give me a couple minutes. I don't know and can't try this on Sense 2.1+, but this method works on Sense 1.0.
[SIZE=+1]UPDATE: An Xposed module is now available that serves the same function as this mod: HERE
*************************************************************[/size]
[SIZE=+1]This mod will allow you to force the enter key inside Hangouts:[/SIZE]
Before
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
After
What you need:
apktool/baksmali+smali
Text editor (NOT regular notepad, use something like notepad++)
Now let's get started
Decompile Hangouts and navigate to com/google/android/apps/babel/views
Open ComposeMessageView.smali with your text editor
Find the following constructor (search for it..):
Code:
.method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V
Now find the line that looks like this (should be right at the beginning of the constructor method):
Code:
.locals XXX
Now delete the number that comes after "locals" and change it to 6. Final code should be as follows:
Code:
.locals 6
Now scroll down until you find code similar or the same as the following (register numbers might be different):
PHP:
invoke-virtual {v1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/EditText;
Now add the following code immediately after the chunk above (make sure to change v0 register number as necessary if the EditText object is stored into another register):
PHP:
invoke-virtual {v0}, Landroid/widget/EditText;->getInputType()I
move-result v5
const v4, 0x00000050
or-int v5, v5, v4
invoke-virtual {v0, v5}, Landroid/widget/EditText;->setInputType(I)V
That's it! Now recompile Hangouts and move the classes.dex from the new apk (with the modified code) that you just compiled into the original APK, overwriting the original classes.dex
Install and enjoy
Click to expand...
Click to collapse
Here is my modified apk: http://www.androidfilehost.com/?fid=23329332407579003
Mmm, thanks but If you press "Shift", the "Smile button" changes in "Enter button" !
Bye!
! !
Great! Wouldn't it be easier to just upload the apk, though? I'm not against a small amount of editing, but I don't want to do this with every release.
excellent stuff, but I hate decompile/and then compile app, and a lot of users have no or little knowledge, it would be so wonderful if this hack provided as xposed module, so that all users who wish to add this feature wont be worry about modifying the app itself...
This is a how-to, for developers. If you want just an apk, wait for someone to maintain one.
lupoalberto12 said:
Mmm, thanks but If you press "Shift", the "Smile button" changes in "Enter button" !
Bye!
! !
Click to expand...
Click to collapse
Not getting that here.
jazzespresso said:
excellent stuff, but I hate decompile/and then compile app, and a lot of users have no or little knowledge, it would be so wonderful if this hack provided as xposed module, so that all users who wish to add this feature wont be worry about modifying the app itself...
Click to expand...
Click to collapse
I'm working on an xposed module.
Color Notification
CNexus said:
I'm working on an xposed module.
Click to expand...
Click to collapse
@CNexus, I've put together color notifications for GMail, Calendar, G+ and Hangouts, but for some reason the color png doesn't apply for Hangouts. Any thoughts? Thanks in advance.
Here's the flashable zip for an xxhdpi device:
http://www.mediafire.com/download/xefzgx6e7dvi5gp/HH_Color_GM_CAL__HO_+_140314.zip
Kryten2k35 said:
This is a how-to, for developers. If you want just an apk, wait for someone to maintain one.
Click to expand...
Click to collapse
no it isn't...it's for modders. what dev would honestly need to know this, with the exception of modding purposes? as i said above, i'm not against editing an apk, and i even requested an apk upload (albeit indirectly)....why do you feel the need to step in?? everything was understood and clearly stated. i'm not starting anything here, but please save modding for times when it's absolutely needed. this is not one of those cases.
lupoalberto12 said:
Mmm, thanks but If you press "Shift", the "Smile button" changes in "Enter button" !
Bye!
! !
Click to expand...
Click to collapse
that doesnt work here, maybe has to do with version of keyboard you are using
CNexus said:
I'm working on an xposed module.
Click to expand...
Click to collapse
wonderful!!!!
im having trouble getting hangouts to recompile. any tricks to make it work?
lupoalberto12 said:
Mmm, thanks but If you press "Shift", the "Smile button" changes in "Enter button" !
Bye!
! !
Click to expand...
Click to collapse
CNexus said:
Not getting that here.
Click to expand...
Click to collapse
arana1 said:
that doesnt work here, maybe has to do with version of keyboard you are using
Click to expand...
Click to collapse
Works just fine on my N5 and S4 with google keyboard. Swiftkey the smiley and enter key are integrated. But doesn't work with swype or the samsung keyboard. So I guess it does in fact come down to the keyboard you use.
lupoalberto12 said:
Mmm, thanks but If you press "Shift", the "Smile button" changes in "Enter button" !
Bye!
! !
Click to expand...
Click to collapse
Doesn't work on HTC Sense Keyboard either.
arana1 said:
that doesnt work here, maybe has to do with version of keyboard you are using
Click to expand...
Click to collapse
Stealyourface said:
Works just fine on my N5 and S4 with google keyboard. Swiftkey the smiley and enter key are integrated. But doesn't work with swype or the samsung keyboard. So I guess it does in fact come down to the keyboard you use.
Click to expand...
Click to collapse
xavier2k3 said:
Doesn't work on HTC Sense Keyboard either.
Click to expand...
Click to collapse
With Google Keyboard works fine with every rom!
Bye!
! !
Stealyourface said:
Works just fine on my N5 and S4 with google keyboard. Swiftkey the smiley and enter key are integrated. But doesn't work with swype or the samsung keyboard. So I guess it does in fact come down to the keyboard you use.
Click to expand...
Click to collapse
I'm using Swype and it works fine.
CNexus said:
I'm using Swype and it works fine.
Click to expand...
Click to collapse
I should have been more clear, I was referring to the shift key turning the smiley to enter. So some keyboards need this mod, others don't.
Swype, Samsung, and HTC (according to post above) do. Google and SwiftKey don't. Makes me wonder what others do or don't.
Sent from my Nexus 5 using Tapatalk
Stealyourface said:
I should have been more clear, I was referring to the shift key turning the smiley to enter. So some keyboards need this mod, others don't.
Swype, Samsung, and HTC (according to post above) do. Google and SwiftKey don't. Makes me wonder what others do or don't.
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
Ah. It depends on how the keyboards interpret the input type.
But this mod was made for the ones that need it of course.
Stealyourface said:
I should have been more clear, I was referring to the shift key turning the smiley to enter. So some keyboards need this mod, others don't.
Swype, Samsung, and HTC (according to post above) do. Google and SwiftKey don't. Makes me wonder what others do or don't.
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
AOSP does. I'm using the 4.2 AOSP kb, to be more specific (it's got the shift alternate keys, which they did away with in 4.3) and it does need editing for an enter button to appear.
I've added a link to my modified apk