Monday, 28 December 2015

HOW TO MAKE RUNNING TEXT ANYWHERE

HOW TO MAKE RUNNING TEXT ANYWHERE

I am demonstarting this tutorial on Systemui but you can apply it anywhere.

Procedure;

1) Decompile SystemUI.apk

2) Paste this code anywhere in your gemini status bar.xml or gemini status bar expanded.xml or any other xml file :-

<TextView android:textSize="15.0sp" android:textColor="#ffffffff" android:ellipsize="marquee" android:background="#00000000" android:paddingLeft="18.0dip" android:paddingRight="18.0dip" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="3.0dip" android:layout_marginBottom="2.0dip" android:text="| WARNING!!! | For Personal Use Only| WARNING!!! |" android:scrollHorizontally="true" android:singleLine="true" android:freezesText="true" android:marqueeRepeatLimit="marquee_forever" />

3) Save xml file.

4) Recompile, sign and push it to system/app and reboot :)

Transparent Status Bar In 4.2+ , 4.4 ,4.4.2

Materials Required;

1) Apktool 1.5.2
2) Notepad ++
3) android.policy.jar
4) Mind.apk :D

Procedure;

1) Decompile android.policy.jar

2) Now goto smali/com/android/internal/policy/impl

3) Open PhoneWindowManager.smali using Notepad++

4) Search for this method

.method public getSystemDecorLayerLw()I
    .locals 1

    .prologue
    .line ????
    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 3207
    :goto_0
    return v0

    .line 3206
    :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 3207
    :cond_1
    const/4 v0, 0x0

    goto :goto_0
.end method

5) Replace the whole method by this method

.method public getSystemDecorLayerLw()I
    .locals 1

    .prologue
    .line ????
const/4 v0, 0x0

    return v0
.end method

Note:- replace the word ???? in the above by the line number which appears in original method because line number is not same for every device.

6) Recompile , sign and push the file to system/framework folder and set its permission to rw--rr and reboot your device

The Guide is tested in Jb 4.2 and kitkat devices

Saturday, 26 December 2015

Hide Status Bar On LockScreen

Tools Required;

1. APKTOOL 1.5.2
2. Signapk/one click signer
3. Notepad ++
4. android.policy.jar

Procedure;

1) Decompile android.policy.jar

2. Open com/android/internal/policy/impl/KeyguardViewManager.smali

3. Search this

.method public declared-synchronized show()V

Scroll down until you see this  0x100800

edit this 0x100800 and change it to like this 0x10900

4. Search this

.method public declared-synchronized show()V

5. Scroll until you see lines like this;

    iget-object v3, p0, Lcom/android/internal/policy/impl/KeyguardViewManager;->mWindowLayoutParams:Landroid/view/WindowManager$LayoutParams;

    invoke-interface {v1, v2, v3}, Landroid/view/ViewManager;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V

6. Add these lines below it

     const/4 v2, 0x0

    invoke-virtual {p0, v2}, Lcom/android/internal/policy/impl/KeyguardViewManager;->setStatusBarShow(Z)V

7. Now the whole editted portion looks like this

    iget-object v3, p0, Lcom/android/internal/policy/impl/KeyguardViewManager;->mWindowLayoutParams:Landroid/view/WindowManager$LayoutParams;

    invoke-interface {v1, v2, v3}, Landroid/view/ViewManager;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V

     const/4 v2, 0x0

    invoke-virtual {p0, v2}, Lcom/android/internal/policy/impl/KeyguardViewManager;->setStatusBarShow(Z)V

    .line 180
    iget-object v1, p0, Lcom/android/internal/policy/impl/KeyguardViewManager;->mKeyguardView:Lcom/android/internal/policy/impl/KeyguardViewBase;

8. Recompile and sign android.policy.jar

9. Push it to system/framework folder using root explorer.

10. Reboot and enjoy :D

Thursday, 24 December 2015

Touchwiz Jellybean 4 Ways To Reboot Guide

Download this attachment and follow the given guide which is in it.

Dynamic Status Bar For All Jellybean Devices

Hello guys, we back with a new guide . Just created this thread to share a new status bar tinting (dynamic status bar).

Pre Requisites:-

1. Apktool version 1.5.2 is must.
2. Notepad ++
3. Attachment.
4. SystemUI.apk
5. SecSettings.apk
6. Common sense.jar
7. Brain.dex :p

Procedure:-

PART (I)

1.
Decompile SecSetting.apk

2. Goto res/values/ strings.xml, Add these lines above </resources>

<string name="eboy_basit_dynamic_status_bar_title">Dynamic status bar</string>
<string name="dynamic_status_bar_color_title">Dynamic status bar color</string>
<string name="dynamic_status_bar_color_summary">Automatically update background color of the status bar</string>
<string name="dynamic_status_bar_gradient_title">Gradient</string>
<string name="dynamic_status_bar_gradient_summary">Overlay a gradient on the status bar</string>
<string name="dynamic_status_bar_filter_title">Darkening</string>
<string name="dynamic_status_bar_filter_summary">Overlay a darkening filter on the status bar</string>

3. Add this line in res/xml/display_settings.xml

<PreferenceScreen android:title="@string/eboy_basit_dynamic_status_bar_title" android:fragment="com.android.settings.oplosandev.DSBSettings" />  

Merge Attachment1.zip to the respective folder of your SecSettings.apk

Recompile SecSettings and decompile it again.

4. Goto res/values /public.xml seach for "deuge_dsb_settings" , you'll get its id.

5. Now goto smali/com/android/settings/oplosandev/DSBSettings.smali  search for const v0, 0x7f050064 and replace it  with the id of "deuge_dsb_settings" which you get from public.xml

6. Save it.

7. Recompile it , sign it and push it to system/app folder and set its permission to rw-rr

PART (II)

1. Decompile SystemUI.apk

2. Goto res/values/ids.xml add following codes above </resources>

<item type="id" name="dynamic_status_bar_color">false</item>
<item type="id" name="dynamic_status_bar_filter">false</item>
<item type="id" name="dynamic_status_bar_gradient">false</item>
<item type="id" name="dynamic_status_bar_lockscreen_filter">false</item>

3. Now goto res/layout/tw_status_bar_dual.xml and in its line no. 2 you'll see android:background="@drawable/status_bar_background" replace it by android:background="#00000000"

4. Copy this

<com.fmd.statusbarcolor.color android:id="@id/dynamic_status_bar_color" android:layout_width="fill_parent" android:layout_height="fill_parent">
<View android:id="@id/dynamic_status_bar_filter" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#30000000" android:visibility="gone" />
<View android:id="@id/dynamic_status_bar_gradient" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/dynamic_status_bar_drawable_gradient" android:visibility="gone" />
</com.fmd.statusbarcolor.color>
<View android:id="@id/dynamic_status_bar_lockscreen_filter" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#83000000" android:visibility="gone" />

Below this line:

xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">

Merge Attachment2.zip to their respective folder of SystemUI.apk

Recompile SystemUI.apk and decompile it again

5. Decompile framework-res.apk , goto its res/values/public.xml

Search status_bar_height , you'll get its id like 0x01234567 , now only remove the zero which comes before 1 to make the id like 0x1234567

6. Now goto systemui/smali/com/fmd/color.smali and search for this
const v1, 0x105000c 

Replace 0x105000c with the id of status_bar_height that you got from framework-res.apk .

7. Now open Decompiled SystemUI , goto its res/values/public.xml folder
Search for ids of following keywords

   "dynamic_status_bar_color"

   "dynamic_status_bar_filter"  

   "dynamic_status_bar_gradient"  
"dynamic_status_bar_lockscreen_filter" 

Note them down on your copy.

8. Now open SystemUI/smali/com/fmd/color.smali

Replace 0x7f0c00fe  with the id of
dynamic_status_bar_gradient (2 hits)

Replace 0x7f0c00fd with the id of
dynamic_status_bar_filter (2 hits)

Replace 0x7f0c00fc with the id of
dynamic_status_bar_color (2 hits)

Save it.

Recompile it, sign it and push to /system/app and set permissions to rw-rr and reboot your device.

Note:- To alter dsb settings , goto your settings > display settings > Dynamic Status Bar

Don't forget to hit thanks :D

Credits:-

dugeriss@xda
bamzzz@xda
qoejohn@xda
Daleman
Alex & Rk
Danu Gansilop
WWW.CYBERSTREAM.IN

Welcome To Touchwiz Android Art And Dev

Welcome to our official blog. We are here to bring up new mods as well as guides for you. It is not necessary that the guides we post belongs to us, the guides may belong to other users also.
Keep sharing keep blogging.