How to give your Jellybean device a KitKat Look and Feel!

- - Android, Quick tips

kitkat systemui apk

How to give Kitkat Look to Jellybean. This is a guide to make your jellybean device look like a kitkat device. As KitKat OS is not availiable for most of the devices. And most people do not bother to add a custom rom as they are quite buggy and unstable. This guide is for

To get the transparent status bar of Android 4.4 KitKat, you have to be an expert because we have to modify our android.policy.jar and Kitkat SystemUI.apk files. Check out this thread from XDA developers.

Download Files for Giving Kitkat Look to Jellybean :

The Kitkat wallpapers, animations, sounds, and fonts Are a must to fully make your device look like Kitkat.

Hangouts 2:
http://d-h.st/onA

Camera:
http://d-h.st/mQm

Launcher:
http://d-h.st/7p1

Google Now (required for launcher to work):
http://d-h.st/nm2

Gsmcore (Play services, needed for google now)
http://d-h.st/lmf

Gallery:
http://d-h.st/Opj

Source: http://forum.xda-developers.com/member.php?u=2979547

You can replace the jellybean apps with kitkat apps for giving Kitkat Look to Jellybean.

The apps are simple to load and the systemui.apk is the main launcher for your needs, there is also wallpapers provided for complete kitkat look.

You can alternatively use launchers to customize your device too as many KitKat launchers are available on the Google Play Store.

 

Advanced Method to give Kitkat Look To Jellybean (For Experienced Users Only)

This is the advanced XDA forums post by http://forum.xda-developers.com/member.php?u=4427492

Note: The following content is not mine, I take no ownership of the following content.

 How to Give Kitkat Look To Jellybean:-

TOOLS:
——————————————————————————————————————————-
NotePad++
http://notepad-plus-plus.org/download/v6.7.4.html
Apktool
new: https://bitbucket.org/iBotPeaches/apktool/downloads
old: https://code.google.com/p/android-ap…downloads/listSmali/Baksmali
https://bitbucket.org/JesusFreke/smali/downloads

Commands:

De-compiling Apk’s:

Code:
apktool d >NAME OF APK<.apk

Re-compiling:

Code:
apktool b >NAME OF APK<

De-compiling Jar’s:

Code:
java -jar baksmali.jar -x >NAME OF JAR< -o classout

Re-compiling Jar’s:

Code:
java -Xmx512M -jar smali.jar classout/ -o new-classes.dex

 

——————————————————————————————————————————-
LETS BEGIN:
——————————————————————————————————————————-
DELETE: RED CODE
ADD: BLUE CODE

——————————————————————————————————————————-
Adding translucency to the status & nav bars.
——————————————————————————————————————————-
This will enabled the status and navigation bar to be translucent – independently of each other.
Meaning you could set the status bar to 20% and the navigation bar to 75%.

 

————-
STEP 1:
————-

Decompile:

Code:
android.policy.jar                  (That you Downloaded Earlier)

Navigate to:

Code:
> com > android > internal > policy > impl > PhoneWindowManager.smali

Look for this line:

Code:
.method public getSystemDecorRectLw(Landroid/graphics/Rect;)I

Edit the following code:

Code:
.method public getSystemDecorRectLw(Landroid/graphics/Rect;)I
    .locals 1
    .parameter "systemRect"

    .prologue
    .line 2755
    iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemLeft:I

    iput v0, p1, Landroid/graphics/Rect;->left:I

    .line 2756
    iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemTop:I

    iput v0, p1, Landroid/graphics/Rect;->top:I

    .line 2757
    iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemRight:I

    iput v0, p1, Landroid/graphics/Rect;->right:I

    .line 2758
    iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemBottom:I

    iput v0, p1, Landroid/graphics/Rect;->bottom:I

    .line 2759
    iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;

    if-eqz v0, :cond_0

    iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;

    invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I

    move-result v0

    .line 2761
    :goto_0
    return v0

    .line 2760
    :cond_0
    iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;

    if-eqz v0, :cond_1

    iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;

    invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I

    move-result v0

    goto :goto_0

    .line 2761
    :cond_1
    const/4 v0, 0x0

    goto :goto_0
.end method

Replace it with:

Code:

     const/4 v0, 0x0

     return v0
.end method

———————–
SAVE & DONE
———————–
——————————————————————————————————————————-
Finished – now compile.
——————————————————————————————————————————-

————-
STEP 2:
————-

Decompile:

Code:
SystemUI.apk

Navigate to:

Code:
> com > android > systemui > statusbar > phone > PhoneStatusBar.smali

Look for:

Code:
.method private getNavigationBarLayoutParams()Landroid/view/WindowManager$LayoutParams;

Edit the following code:

Code:
.method private getNavigationBarLayoutParams()Landroid/view/WindowManager$LayoutParams;
    .locals 6

    .prologue
    const/4 v1, -0x1

    .line 792
    new-instance v0, Landroid/view/WindowManager$LayoutParams;

    const/16 v3, 0x7e3

    const v4, 0x840068

    const/4 v5, -0x3

    move v2, v1

    move v5, v1

    invoke-direct/range {v0 .. v5}, Landroid/view/WindowManager$LayoutParams;-><init>(IIIII)V

    .line 803
    invoke-static {}, Landroid/app/ActivityManager;->isHighEndGfx()Z

    move-result v1

    if-eqz v1, :cond_0

    .line 804
    iget v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I

    const/high16 v2, 0x100

    or-int/2addr v1, v2

    iput v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I

    .line 807
    :cond_0
    const-string v1, "NavigationBar"

    invoke-virtual {v0, v1}, Landroid/view/WindowManager$LayoutParams;->setTitle(Ljava/lang/CharSequence;)V

    .line 808
    const/4 v1, 0x0

    iput v1, v0, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I

    .line 809
    return-object v0
.end method

———————–
SAVE & DONE
———————–
——————————————————————————————————————————-
Finished – Do not compile –  move to next step 
——————————————————————————————————————————-

 

——————————————————————————————————————————-
Editing Status bar & Navigation bar background
——————————————————————————————————————————

————-
STEP 1:
————-

Navigate to both:

Code:
SystemUI.apk > res > layout > navigation_bar.xml

And:

Code:
SystemUI.apk > res > layout-sw600dp > navigation_bar.xml

Change the following in both xml’s:

Code:
android:background="#88000000"
Code:
android:background="@drawable/nav_bar_background"

———————–
SAVE & DONE
———————–

Navigate to:

Code:
SystemUI.apk > res > layout > status_bar.xml

Change the following:

Code:
android:background="#FF000000"
Code:
android:background="@drawable/status_bar_background"

———————–
SAVE & DONE
———————–
Navigate to:

Code:
SystemUI.apk > res > values > drawables.xml

And delete:

Code:
<item type="drawable" name="status_bar_background">#88000000</item>

———————–
SAVE & DONE
———————–
——————————————————————————————————————————-
Finished – Do not compile –  move to next step 
——————————————————————————————————————————-

 

——————————————————————————————————————————-
Gradient Status & Navigation Bar
——————————————————————————————————————————-

  • startCOLOR = BOTTOM
  • endCOLOR = TOP

————-
STEP 1:
————-

Create 2 new XML’s:

First xml:

Name it:

Code:
status_bar_background.xml

Add to it:

Code:
<?xml version="1.0" encoding="utf-8"?>
<shape
  xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient android:startColor="#00000000" android:endColor="#99000000" android:angle="@integer/status_bar_bg_gradient_degrees" name="status_bar_background" />
</shape>

———————–
SAVE & DONE
———————–

Second xml

Name it:

Code:
nav_bar_background.xml

Add to it:

Code:
<?xml version="1.0" encoding="utf-8"?>
<shape
  xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient android:startColor="#cc000000" android:endColor="#00000000" android:angle="@integer/nav_bar_bg_gradient_degrees" name="nav_bar_background" />
</shape>

———————–
SAVE & DONE
———————–

Now place both xml’s in:

Code:
SystemUI.apk > res > drawable

———————–
DONE
———————–

————-
STEP 2:
————-

Navigate to:

Code:
SystemUI.apk > res > values > integers

Add to the bottom:

Code:
<integer name="nav_bar_bg_gradient_degrees">90</integer>
<integer name="status_bar_bg_gradient_degrees">90</integer>

———————–
SAVE & DONE
———————–

——————————————————————————————————————————-
Finished – Do not compile –  move to next step 
——————————————————————————————————————————-

 

——————————————————————————————————————————-
Adjusting the background gradient for the recents menu
——————————————————————————————————————————-
I went with 5% ~ 0% – but you can add whatever values you wish.
Hex code list below.

 

Navigate to:

Code:
SystemUI.apk > res > drawable > status_bar_recents_background

Add:

Code:
<?xml version="1.0" encoding="utf-8"?>
<shape
  xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient android:startColor="#0d000000" android:endColor="#00000000" android:angle="@integer/status_bar_recents_bg_gradient_degrees" name="status_bar_recents_background" />
</shape>

———————–
SAVE & DONE
———————–
——————————————————————————————————————————-
Finished – Now compile – flash – and Enjoy!
——————————————————————————————————————————-

 

——————————————————————————————————————————-
Hex Opacity Values:
——————————————————————————————————————————-

Code:
100% — FF

95% — F2

90% — E6

85% — D9

80% — CC

75% — BF

70% — B3

65% — A6

60% — 99

55% — 8C

50% — 80

45% — 73

40% — 66

35% — 59

30% — 4D

25% — 40

20% — 33

15% — 26

10% — 1A

5% — 0D

0% — 00

 

——————————————————————————————————————————-
Known Issues:
——————————————————————————————————————————-

Code:
*White backgrounds causes the status bar to become white (System Wide)
*Lockscreen tint needs to be adjusted to match gradient.

——————————————————————————————————————————-
End Result:
——————————————————————————————————————————-

 

Attached Files
File Type: rar White Status Icons.rar – [Click for QR Code] (27.5 KB, 2899 views)
File Type: rar [HDPI] White Status Icons.rar – [Click for QR Code] (37.2 KB, 2793 views)

About Anurag Sharan

Anurag Sharan has written 38 post/s in this blog.

I am a blogger who writes about tech stuff... You can contact me at info(at)tryinggeek.com

I am a blogger who writes about tech stuff... You can contact me at info(at)tryinggeek.com

There Are 1 Comments On This Article.

  1. I see a lot of interesting posts on your page. You have to spend a lot of time writing,
    i know how to save you a lot of time, there is a tool that creates unique, google friendly articles in couple of seconds, just type in google
    – Word AI

Leave a Reply