Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

Tutorial [TouchWiz3][Tutorial]►All In One◄

OP Sniper Killer

6th June 2013, 09:17 AM   |  #1  
Sniper Killer's Avatar
OP Recognized Contributor
Flag Tirana, Albania
Thanks Meter: 3,011
 
1,269 posts
Join Date:Joined: Dec 2012
More
ALL IN ONE Guide for all TouchWiz3 Users !

NOTE : I haven't taken all other Tutorials and made a complete one , therefore some of the modifications are new and no tutorial on XDA has them !

Quote:

What is Touchwiz3 ?
Touchwiz is more than a simple launcher.
It's a framework , a set of functions, developed by and for Samsung, available only to Samsung developers.
Those functions allow them to create Samsung's own launcher, Touchwiz UI, their unique Camera App, a few more apps as well as a whole bunch of Android customization specifically for the SGS3 or any other Android phone they come up with.

Quote:

Post Navigation :

  • Page Indicators
  • Homescreen
  • App drawer
  • Dock Icons
  • Special Modifications

Firstly you need to decompile TouchWiz30Launcher.apk to make all this changes. If you don't know how to decompile simply follow this guide :
http://forum.xda-developers.com/show....php?t=2275713

Quote:

Credits :
- Spacecaker - The best teacher ever had xD
- dali47 for 5 Icon dock , 5x5 Homescreen & Appdrawer

Caution : In case keep a secondary launcher if anything goes wrong !

OK , Now let's go


PAGE INDICATORS :

Quote:

How to place Page indicators at the bottom ( As in TouchWiz4 ) :

1) Go to Res/Values-mdpi/Dimens.xml ( Values-xxxx depend on your resolution )

2) Find :

Code:
<dimen name="menu_top_offset">XXXdip</dimen>
Change XXX to any size you want. ( Normally use 6.0 dip )

3) Find :

Code:
<dimen name="workspace_pageindicator_top">XXXdip</dimen>
Again Change XXX to any size you want ( Normally use 385.0 dip )

4) Find :

Code:
<dimen name="pageindicator_top_offset">XXXdip</dimen>
Again Change XXX to any size you want ( Normally used 375.0 dip )

Recompile TouchWiz30Launcher.apk and test.

Quote:

Disable/Enable Autohide of Page Indicators on Homescreen & App drawer :

- Go to Res/Values/Bools.xml

For homescreen change :

Code:
<bool name="pageindicator_showhide_enable">true</BOOL>
( True = Autohide enabled )
to:
Code:
<bool name="pageindicator_showhide_enable">false</BOOL>
( False = Autodhide disabled )

For AppDrawer change :
Code:
<bool name="workspace_pageindicator_showhide_enable">true</bool>
( True = Autohide enabled )
to :
Code:
<bool name="workspace_pageindicator_showhide_enable">false</bool>
( False = Autodhide disabled )

Quote:

Remove number on Page Indicator :

Open /smali/com/sec/android/app/twlauncher/PageIndicator$Page.smali and delete :

Code:
invoke-virtual {v0, v1, v2, v3, v4}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V

HOMESCREEN :

Quote:

Set default screen counter :

Go to /res/xml-mdpi/launcher_config.xml

Change :

Code:
launcher:defaultScreenCount="3"
Number 3 from "1 to 7"

Quote:

Set default homescreen :

Add this line on build.prop :

Code:
ro.csc.homescreen.defaultscreen=2

Quote:

5x5 Icons Home screen (Widgets will look smaller)

Go to /res/layout-mdpi/workspace_screen.xml
Code:
shortAxisCells="4"
Change to :
Code:
shortAxisCells="5"
Here again find :
Code:
cellWidth="80.0dip"
Change to :
Code:
cellWidth="64.0dip"
Find again :
Code:
longAxisCells="4"
Change to :
Code:
longAxisCells="5"
One last time find :
Code:
cellHeight="100.0dip"
Change to :
Code:
cellHeight="80.0dip"
Go to /res/values-mdpi/styles.xml
Find :
Code:
<item name="android:layout_marginBottom">4.0dip</item>
Change to :
Code:
<item name="android:layout_marginBottom">2.0dip</item>

Last edited by Sniper Killer; 26th June 2013 at 06:21 PM.
The Following 12 Users Say Thank You to Sniper Killer For This Useful Post: [ View ]
6th June 2013, 09:17 AM   |  #2  
Sniper Killer's Avatar
OP Recognized Contributor
Flag Tirana, Albania
Thanks Meter: 3,011
 
1,269 posts
Join Date:Joined: Dec 2012
More
App Drawer :

Quote:

Transparent app drawer :

Go to /res/values-mdpi/colors.xml

Code:
<color name="menu_background">#FF000000</color>
change FF to 80 (semi-transparent) or 99 (like TouchWiz4)

Quote:

Enable concentration effect in app drawer :

Go to /res/xml-mdpi/launcher_config.xml
Add :

Code:
launcher:usemainmenuconcentrationeffect="true"
above launcher:use16bitwindow="xxx"

Quote:

Enable list view option:

Go to /res/xml-mdpi/launcher_config.xml
add :

Code:
launcher:usemainmenulistmode="true"

Quote:

Adding auto-alphabetical arrangement:

Go to /smali/com/sec/android/app/twlauncher/menumanager.smali

Find :

Code:
invoke-virtual {v0, v6}, lcom/sec/android/app/twlauncher/launchermodel$applicationinfocomparator;->setmode(i)v

.line 1770
iget-object v0, p0, lcom/sec/android/app/twlauncher/menumanager;->mordercomparator:lcom/sec/android/app/twlauncher/launchermodel$applicationinfocomparator;
Change to :

Code:
invoke-virtual {v0, v6}, lcom/sec/android/app/twlauncher/launchermodel$applicationinfocomparator;->setmode(i)v

.line1770
sget-object v0, lcom/sec/android/app/twlauncher/launchermodel;->app_name_comparator:ljava/util/comparator;

Quote:

5 Column App drawer ( 5x4 & 5x5 ) :

Go to /res/xml-mdpi/launcher_config.xml
Find:
Code:
menuColumnCount="4"
Change it to 5 ( This is number of Columns )

Find :
Code:
itemNumOfPage="16"
Change 16 to 20 if you want 5x4 app drawer , or 25 if you want 5x5 app drawer ( This is the number of icons per page )

If you're doing 5x5, do the following. if you're doing 5x4 then skip this.

Go to /res/values-mdpi/dimens.xml
Find :
Code:
<dimen name="menu_item_height">92.0dip</dimen>
Change it to 73.6dip (this is the height of the drawer element)

Go to res/layout_mdpi/application_boxed.xml
Find :
Code:
maxLines="2"
Change 2 to 1 (this is the number of lines in the app name in the drawer)

The Following 8 Users Say Thank You to Sniper Killer For This Useful Post: [ View ]
6th June 2013, 09:18 AM   |  #3  
Sniper Killer's Avatar
OP Recognized Contributor
Flag Tirana, Albania
Thanks Meter: 3,011
 
1,269 posts
Join Date:Joined: Dec 2012
More
Dock Icons :

Quote:

How to add title on dock icons :

Go to smali/com/sec/android/app/twlauncher/AppShortcutZone.smali

Find method :
Code:
.method public changeApplicationsIcon( )V
Find :
Code:
.locals 4

.prologue
Change to :
Code:
.locals 5

    .prologue
    #0x7f0a003d = <public type="string" name="homescreenedit_home" id="0x7f0a003d" /> change to your string name (homescreenedit_home)
    const v4, 0x7f0a003d
In same method find :
Code:
iget-object v2, p0, Lcom/sec/android/app/twlauncher/AppShortcutZone;->mApplicationsDrawableNormal:Landroid/graphics/drawable/Drawable;

invoke-virtual {v1, v2}, Lcom/sec/android/app/twlauncher/MenuItemView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
Nnder them add these :
Code:
 invoke-virtual {p0}, Lcom/sec/android/app/twlauncher/AppShortcutZone;->getContext()Landroid/content/Context;

    move-result-object v2

    invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v2
    #<public type="string" name="group_applications" id="0x7f0a0012" />
    const v3, 0x7f0a0012

    invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Lcom/sec/android/app/twlauncher/MenuItemView;->setText(Ljava/lang/CharSequence;)V

Now find :
Code:
iget-object v2, p0, Lcom/sec/android/app/twlauncher/AppShortcutZone;->mApplicationsDrawableMenu:Landroid/graphics/drawable/Drawable;

  invoke-virtual {v1, v2}, Lcom/sec/android/app/twlauncher/MenuItemView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
Under them add these lines :
Code:
invoke-virtual {p0}, Lcom/sec/android/app/twlauncher/AppShortcutZone;->getContext()Landroid/content/Context;

    move-result-object v2

    invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v2

    invoke-virtual {v2, v4}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Lcom/sec/android/app/twlauncher/MenuItemView;->setText(Ljava/lang/CharSequence;)V
Now again find :

Code:
iget-object v2, p0, Lcom/sec/android/app/twlauncher/AppShortcutZone;->mApplicationsDrawableEdit:Landroid/graphics/drawable/Drawable;

invoke-virtual {v1, v2}, Lcom/sec/android/app/twlauncher/MenuItemView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
And under them add :

Code:
 invoke-virtual {p0}, Lcom/sec/android/app/twlauncher/AppShortcutZone;->getContext()Landroid/content/Context;

    move-result-object v2

    invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v2

    invoke-virtual {v2, v4}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Lcom/sec/android/app/twlauncher/MenuItemView;->setText(Ljava/lang/CharSequence;)V
In method .method public makeItemView
Find :
Code:
invoke-direct {v6, v7}, Lcom/sec/android/app/twlauncher/FastBitmapDrawable;-><init>(Landroid/graphics/Bitmap;)V

invoke-virtual {v5, v6}, Lcom/sec/android/app/twlauncher/MenuItemView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
Under those add :
Code:
 iget-object v6, p1, Lcom/sec/android/app/twlauncher/ApplicationInfo;->title:Ljava/lang/CharSequence;

    invoke-virtual {v5, v6}, Lcom/sec/android/app/twlauncher/MenuItemView;->setText(Ljava/lang/CharSequence;)V
Go to res/values-mdpi/dimens.xml

Find :
Code:
<dimen name="menu_top_item_height">XXXX</dimen>
( XXXX is a number (dip) but I used this as reference)
Change XXXX to 51.0dip

Now in same file find :

Code:
<dimen name="menu_topapp_top_offset">XXXX</dimen>
Again change XXXX to
Code:
<dimen name="menu_topapp_top_offset">6.0dip</dimen>



Quote:

5(6) Icon Dock :

Go to /res/layout-mdpi/launcher.xml
Find :
Code:
iconColumnCount="4"
Replace 4 with 5 ( Or 6 if you want 6 Icon Dock )

Go to /smali/com/sec/android/app/twlauncher/AppShortcutZone.smali
Find :
Code:
 const/4 v8, 0x3
Replace 0x3 with 0x4 ( Or 0x5 for 6 Icon Dock )

Find:
Code:
const/4 v6, 0x3
Replace0x3 with 0x4 ( Or 0x5 for 6 Icon Dock )



Special Modifications

Quote:

Enable Auto-Rotation :

Go to AndroidManifest.xml
Find :
1. Change
Code:
screenOrentation="nosensor"
To :
Code:
screebOrentation="user"
Recomile launcher and sign it!
Always sign apks if you edit AndroidManifest.xml!



THANKS WOULD BE APPRECIATED
Last edited by Sniper Killer; 26th June 2013 at 06:14 PM.
The Following 11 Users Say Thank You to Sniper Killer For This Useful Post: [ View ]
6th June 2013, 10:35 AM   |  #4  
LiquidAcidGasLAG's Avatar
Member
Flag Kuala Lumpur
Thanks Meter: 16
 
79 posts
Join Date:Joined: May 2013
More
Hello sir, nice work here. But can you just post the recompiled modded apk to here. Coz i dont really know how to do this. Sorry for disturbing

Sent from my GT-S5360 using xda app-developers app
6th June 2013, 11:07 AM   |  #5  
mjz2cool's Avatar
Senior Member
Flag hardenberg
Thanks Meter: 91
 
821 posts
Join Date:Joined: Jun 2010
More
default screen doesn't work, after editing the build.prop it still defaults to the first screen
6th June 2013, 11:25 AM   |  #6  
Sniper Killer's Avatar
OP Recognized Contributor
Flag Tirana, Albania
Thanks Meter: 3,011
 
1,269 posts
Join Date:Joined: Dec 2012
More
Quote:
Originally Posted by LiquidAcidGasLAG

Hello sir, nice work here. But can you just post the recompiled modded apk to here. Coz i dont really know how to do this. Sorry for disturbing

Sent from my GT-S5360 using xda app-developers app

I don't have much time to make that. Even if i make it won't look good as I have Ace-I ( MDPI Device ) Arrangment will be a totally crap

You can make by yourself , it's easy though

( Only dock title which is highly complicated )
The Following User Says Thank You to Sniper Killer For This Useful Post: [ View ]
vale amicis
7th June 2013, 10:12 PM   |  #7  
Guest
Thanks Meter: 0
 
n/a posts
Tedi sir here

Good I intend to try it
13th June 2013, 12:06 AM   |  #8  
Junior Member
Flag Juiz de Fora
Thanks Meter: 0
 
2 posts
Join Date:Joined: Feb 2013
More
how to add the auto rotation? editing the AndroidManifest.xml always gives error.
14th June 2013, 12:05 AM   |  #9  
Sniper Killer's Avatar
OP Recognized Contributor
Flag Tirana, Albania
Thanks Meter: 3,011
 
1,269 posts
Join Date:Joined: Dec 2012
More
Quote:
Originally Posted by viniciusptur

how to add the auto rotation? editing the AndroidManifest.xml always gives error.

Well that's what i am trying to find for now

Gotta learn and and add it on the guide soon...


Sent from my GT-S5830i using Tapatalk 2
The Following User Says Thank You to Sniper Killer For This Useful Post: [ View ]
14th June 2013, 06:21 AM   |  #10  
abhishekr700's Avatar
Senior Member
Flag New Delhi
Thanks Meter: 145
 
464 posts
Join Date:Joined: Mar 2013
More
Quote:
Originally Posted by Sniper Killer

ALL IN ONE Guide for all TouchWiz3 Users !

NOTE : I haven't taken all other Tutorials and made a complete one , therefore some of the guides are new and no tutorial on XDA has them !





Firstly you need to decompile TouchWiz30Launcher.apk to make all this changes. If you don't know how to decompile simply follow this guide :
http://forum.xda-developers.com/show....php?t=2275713



Caution : In case keep a secondary launcher if anything goes wrong !

OK , Now let's go


PAGE INDICATORS :







HOMESCREEN :





[/HIDE]

good tutorial man!!!!!!!!!!!!!!!!

Post Reply Subscribe to Thread

Tags
hacking, samsung, touchwiz3
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes