[GUIDE][MOD][2.3-4.4]FB UI Style + device owner picture

khusika

Recognized Contributor
Feb 14, 2013
1,578
5,184
153
Malang

NOTE: this mod is tested only in 2.3-4.1.2,but im sure it work too in 4.2++

Hello guys, i'll share this guide to you. this guide is based in this thread by @markmellarpes and some modification by me . So press thanks buttons to the original thread

Credit & thanks:
- markmellarpes
- Adi Aisiteru Reborn
- b16h22
- PineappleOwl
- dugeriss
- mariozawa
- Lenox Devs
- Hyperion Devs



Ok lets go to Guide:
first of all need some requirement for this MOD-GUIDE
REQUIREMENT:
- BRAIN
- Patient
- experience
- Know how to decompile/recompiling Apk
- notepad++
- Tool for decompiling, : APKTOOL 2.0.0 beta 9 or latest version
- Tool for Sign apk, : CM Signer

STEP 1
Settings.apk



- Decompile Settings.apk

Go to and paste this code below

- Settings/res/values/strings.xml
Code:
    <string name="change_pic_k">Change Logo</string>
    <string name="profile_pic_k">CHANGE PICTURE</string>
    <string name="profile_name_k">CHANGE STATUS</string>
- Settings/res/values/ids.xml
Code:
	<item type="id" name="profile">false</item>
	<item type="id" name="profile_name">false</item>
    <item type="id" name="image_k">false</item>
    <item type="id" name="owner_k">false</item>
    <item type="id" name="linear_layout_k">false</item>
    <item type="id" name="profile_pic_k">false</item>
    <item type="id" name="layout1_k">false</item>
    <item type="id" name="change_picture_text_k">false</item>
    <item type="id" name="photo_picker_k">false</item>
    <item type="id" name="linear_layout1_k">false</item>
    <item type="id" name="layout2_k">false</item>
    <item type="id" name="name_field_k">false</item>
    <item type="id" name="name_edit_k">false</item>
    <item type="id" name="peropil_k">false</item>
    <item type="id" name="pp_k">false</item>
- Settings.apk/res/xml/display_settings.xml (you can change the place like in System and whatever you want)
add this line before </PreferenceScreen>
Code:
    <PreferenceScreen android:title="Device owner" android:key="device_owner" android:summary="">
        <PreferenceScreen android:title="Change logo" android:summary="Set up cover and owner picture">
            <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.b16h22.Profile" />
        </PreferenceScreen>
        <Preference android:title="Profile picture" android:summary="Set up profile picture">
            <intent android:targetPackage="com.lenox.Lenox_Label" android:action="android.intent.action.MAIN" android:targetClass="com.lenox.Lenox_Label.MyActivity" />
        </Preference>
    </PreferenceScreen>
[COLOR="Blue"]</PreferenceScreen>[/COLOR]
- Settings.apk/res/xml/device_info_settings.xml
add this line after xmlns:android="http://schemas.android.com/apk/res/android">
Code:
[COLOR="Red"]xmlns:android="http://schemas.android.com/apk/res/android">[/COLOR]
    <Preference android:layout="@layout/adi_logo" android:key="beam_kat_logo" />
- Settings.apk/AndroidManifest.xml
Code:
        <activity android:label="@string/change_pic_k" android:name="com.b16h22.Profile">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
            </intent-filter>
        </activity>
- After that, push all files from attachment in the right directory
- Recompile Settings
- Sign Settings.apk
- Decompile Settings.apk again

- Compare the code below with your public
Code:
	smali/com/b16h22
		Profile.smali
			#147	0x7f040096	type="layout" name="profile_info"
			#152	0x7f0a0242	type="id" name="photo_picker_k"
			#162	0x7f0a023d	type="id" name="owner_k"
			#173	0x7f0a0245	type="id" name="name_field_k"
			#184	0x7f0a0246	type="id" name="name_edit_k"
			#195	0x7f0a023c	type="id" name="image_k"
			#262	0x7f0200bd	type="drawable" name="ic_qs_default_user"
			
	smali/com/android/settings/adi/about
		ProfileName.smali
			#23		0x7f0a0238	type="id" name="profile_name"
		ProfilePicture$1.smali
			#86		0x7f0200bd	type="drawable" name="ic_qs_default_user"
		ProfilePicture.smali
			#25		0x7f0a0237	type="id" name="profile"
			#66		0x7f0200bd	type="drawable" name="ic_qs_default_user"
Recompile Settings
Sign Settings.apk

 

Attachments

Last edited:

khusika

Recognized Contributor
Feb 14, 2013
1,578
5,184
153
Malang
STEP 2
SystemUI.apk



- Decompile SystemUI.apk

Go to and paste this code below

- SystemUI/res/values/styles.xml
Code:
    <style name="InformationItemTitleStyle">
        <item name="android:textSize">14.0sp</item>
        <item name="android:gravity">right</item>
        <item name="android:paddingLeft">16.0dip</item>
        <item name="android:paddingRight">10.0dip</item>
    </style>
    <style name="InformationItemTabStyle">
        <item name="android:paddingTop">3.0dip</item>
    </style>
    <style name="InformationTextStyle">
        <item name="android:textSize">14.0sp</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
    </style>
- SystemUI/res/values/ids.xml
Code:
    <item type="id" name="markmellarpes_multi">false</item>
    <item type="id" name="lenoxpic">false</item>
    <item type="id" name="profile_name">false</item>
    <item type="id" name="cover">false</item>
    <item type="id" name="profile_status">false</item>
    <item type="id" name="profile">false</item>
    <item type="id" name="lenox_label">false</item>
- SystemUI/res/layout/status_bar_expanded.xml

Cut this line "NotificationLayout"
for example CM9
Code:
            <FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0">
                <TextView android:textAppearance="@android:style/TextAppearance.Large" android:gravity="left" android:layout_gravity="top" android:id="@id/noNotificationsTitle" android:padding="8.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/status_bar_no_notifications_title" />
                <ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:overScrollMode="ifContentScrolls">
                    <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
                        <com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/notification_height" />
                    </LinearLayout>
                </ScrollView>
                <ImageView android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/title_bar_shadow" android:scaleType="fitXY" />
            </FrameLayout>
Then add this line in the "NotificationLayout" before
Code:
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
	<ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:overScrollMode="ifContentScrolls">
		<LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent">
			<FrameLayout android:layout_width="240.0px" android:layout_height="174.0dip" android:layout_weight="1.0">
				<com.b16h22.haiyan.ProfileCover android:id="@id/cover" android:layout_width="fill_parent" android:layout_height="174.0dip" android:layout_marginLeft="0.0px" android:layout_marginTop="0.0px" android:layout_marginRight="0.0px" android:layout_marginBottom="0.0px" android:scaleType="centerCrop" />
				<FrameLayout android:gravity="left" android:layout_gravity="bottom" android:background="@drawable/frame" android:layout_width="96.0dip" android:layout_height="96.0dip">
					<com.lenox.Lenox_Label.lenoxpicture android:gravity="left" android:layout_gravity="bottom" android:id="@id/lenoxpic" android:layout_width="90.0dip" android:layout_height="90.0dip" android:layout_margin="3.0dip" android:layout_marginBottom="0.0px" android:layout_alignParentLeft="true" android:layout_alignParentBottom="true" />
				</FrameLayout>
				<com.lenox.Lenox_Label.lenoxlabel android:textStyle="bold" android:textColor="#ffffffff" android:layout_gravity="right" android:id="@id/lenox_label" android:background="@drawable/gradient_bg" android:paddingLeft="7.0dip" android:layout_width="fill_parent" android:layout_height="25.0dip" android:layout_marginLeft="96.0dip" android:layout_marginTop="115.0dip" android:layout_marginRight="0.0px" android:layout_toRightOf="@id/lenoxpic" android:layout_alignParentRight="true" android:layout_alignParentBottom="true" />
				<com.b16h22.statusbar.MultiPanelButtons android:gravity="center" android:layout_gravity="right" android:orientation="horizontal" android:background="@drawable/btn_default_small" android:layout_width="fill_parent" android:layout_height="40.0dip" android:layout_marginLeft="96.0dip" android:layout_marginTop="140.0dip" android:layout_marginRight="0.0px" android:layout_toRightOf="@id/lenoxpic" android:layout_alignParentRight="true" android:layout_alignParentBottom="true" />
			</FrameLayout>
		</LinearLayout>
	</ScrollView>
	<com.b16h22.statusbar.MultiPanelFlipper android:id="@id/markmellarpes_multi" android:layout_width="fill_parent" android:layout_height="wrap_content">
		[COLOR="Red"]"NotificatioLayout" paste in this line[/COLOR]
		<FrameLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
			<ScrollView android:scrollbars="none" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="wrap_content" android:overScrollMode="never">
				<include layout="@layout/fb1" />
			</ScrollView>
		</FrameLayout>
		<FrameLayout android:gravity="center" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="0.0dip">
			<ScrollView android:scrollbars="none" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="wrap_content" android:overScrollMode="never">
				<include layout="@layout/fb2" />
			</ScrollView>
		</FrameLayout>
	</com.b16h22.statusbar.MultiPanelFlipper>
</LinearLayout>
- After that, push all files from attachment in the right directory
- Recompile SystemUI
- Sign SsytemUI.apk
- Decompile SystemUI.apk again

- Compare the code below with your public
Code:
	smali/com/b16h22/haiyan
		ProfileCover$1.smali
			#86			0x7f020180			type="drawable" name="ic_qs_default_user"
		ProfileCover.smali
			#25			0x7f0e00e3			type="id" name="cover"
			#66			0x7f020180			type="drawable" name="ic_qs_default_user"
		ProfileName.smali
			#23			0x7f0e00e2			type="id" name="profile_name"
		ProfilePicture$1.smali
			#86			0x7f02011b			type="drawable" name="status_bar_expand_pressed"
		ProfilePicture.smali
			#25 		0x7f0e00e5			type="id" name="profile"
			#66			0x7f020180			type="drawable" name="ic_qs_default_user"
		ProfileStatus.smali
			#23			0x7f0e00e4			type="id" name="profile_status"
			
	smali/com/b16h22/statusbar
		MultiPanelButtons.smali
			#54,61,68	0x7f020181			type="drawable" name="tw_btn_default_small"
		MultiPanelFlipper.smali
			#21			0x7f0e00e0			type="id" name="markmellarpes_multi"
			
	smali/com/lenox/Lenox_Label
		lenoxpicture.smali
			#21			0x7f0e00e1			type="id" name="lenoxpic"
		lenoxlabel.smali
			#25			0x7f0e00e6			type="id" name="lenox_label"
Recompile SystemUI
Sign SystemUI.apk

 

Attachments

Last edited:

crizt

Senior Member
Nov 29, 2013
71
65
0
Someone help me..
Can you explain where I can put this script activity android:label="@string/change_pic" android:name="com.b16h22.Profile">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
</intent-filter>
</activity> at android manifest.xml
I mean at the end line or where...
Im so sorry for my bad english
I hope you under stand what I mean
Thanx
:eek:
 

lacoursiere18

Senior Member
Jan 9, 2013
4,182
7,001
0
LbTs
Someone help me..
Can you explain where I can put this script activity android:label="@string/change_pic" android:name="com.b16h22.Profile">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
</intent-filter>
</activity> at android manifest.xml
I mean at the end line or where...
Im so sorry for my bad english
I hope you under stand what I mean
Thanx
:eek:

Yes at the end of your manifest;)
Sent from my SCH-I605 using xda app-developers app
 
  • Like
Reactions: crizt

khusika

Recognized Contributor
Feb 14, 2013
1,578
5,184
153
Malang
it means must use APKTOOL sir ...

aww ... I really was not lucky
I prefer to use APKMULTITOOL because it's easier than taking APKTOOL

sorry for my bad english sir....
Download apktool 2.0.0 beta 9, take the files inside it (apktool.jar,apktool.bat,aapt.exe), then put those file into your tool