[TUTORIAL] How to transform your settings.apk in perfect Honami Settings UPDATE 27/11 - Sony Cross-Device General

Many people are asking me how to clone Honami settings. Changing some png is not difficult at all but when we need to edit the smali files it's different.
So I will explain some differents parts such:
How to have black text on google account settings.
How to add Auto Synch Switcher.
How to add your personal sub menu settings.
How to add any applications in settings.
How to have black text on google account settings.
Many are thinking that the color of this text is defined by an xml in styles.xml or with a color. That's why no body exepting me as been able to have the correct text color.
This text color is in fact defined by the google account and the color is white by default. Modding the text color inside google applications is not a good solution for Sony dev as an update would have change the color again.
Sony have choose to convert the white text color to black inside the smali files of settings, so even if the user update the google app, the text will always have the right color.
{
"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"
}
Instructions
1) Copy GenericSettingsFragment.smali in smali/com/sonymobile/settings
2) Copy ProxyPreferenceRootAdapter in smali/com/sonymobile/settings/preference
3) In smali/com/android/settings/accounts/ManageAccountsSettings.smali
Replace full method addAuthenticatorSettings()V
Code:
.method private addAuthenticatorSettings()V
.locals 3
.prologue
.line 357
iget-object v1, p0, Lcom/android/settings/accounts/ManageAccountsSettings;->mAccountType:Ljava/lang/String;
invoke-virtual {p0}, Lcom/android/settings/accounts/ManageAccountsSettings;->getPreferenceScreen()Landroid/preference/PreferenceScreen;
move-result-object v2
invoke-virtual {p0, v1, v2}, Lcom/android/settings/accounts/ManageAccountsSettings;->addPreferencesForType(Ljava/lang/String;Landroid/preference/PreferenceScreen;)Landroid/preference/PreferenceScreen;
move-result-object v0
.line 358
.local v0, prefs:Landroid/preference/PreferenceScreen;
if-eqz v0, :cond_0
.line 359
invoke-direct {p0, v0}, Lcom/android/settings/accounts/ManageAccountsSettings;->updatePreferenceIntents(Landroid/preference/PreferenceScreen;)V
.line 361
:cond_0
return-void
.end method
by
Code:
.method private addAuthenticatorSettings()V
.locals 4
.prologue
.line 364
iget-object v2, p0, Lcom/android/settings/accounts/ManageAccountsSettings;->mAccountType:Ljava/lang/String;
invoke-virtual {p0}, Lcom/android/settings/accounts/ManageAccountsSettings;->getPreferenceScreen()Landroid/preference/PreferenceScreen;
move-result-object v3
invoke-virtual {p0, v2, v3}, Lcom/android/settings/accounts/ManageAccountsSettings;->addPreferencesForType(Ljava/lang/String;Landroid/preference/PreferenceScreen;)Landroid/preference/PreferenceScreen;
move-result-object v0
.line 365
.local v0, prefs:Landroid/preference/PreferenceScreen;
if-eqz v0, :cond_0
.line 366
invoke-direct {p0, v0}, Lcom/android/settings/accounts/ManageAccountsSettings;->updatePreferenceIntents(Landroid/preference/PreferenceScreen;)V
.line 372
:cond_0
new-instance v1, Lcom/sonymobile/settings/preference/ProxyPreferenceRootAdapter;
invoke-virtual {p0}, Lcom/android/settings/accounts/ManageAccountsSettings;->getActivity()Landroid/app/Activity;
move-result-object v2
invoke-virtual {p0}, Lcom/android/settings/accounts/ManageAccountsSettings;->getPreferenceScreen()Landroid/preference/PreferenceScreen;
move-result-object v3
invoke-virtual {v3}, Landroid/preference/PreferenceScreen;->getRootAdapter()Landroid/widget/ListAdapter;
move-result-object v3
invoke-direct {v1, v2, v3}, Lcom/sonymobile/settings/preference/ProxyPreferenceRootAdapter;-><init>(Landroid/content/Context;Landroid/widget/ListAdapter;)V
.line 375
.local v1, proxyAdapter:Lcom/sonymobile/settings/preference/ProxyPreferenceRootAdapter;
invoke-virtual {p0}, Lcom/android/settings/accounts/ManageAccountsSettings;->getListView()Landroid/widget/ListView;
move-result-object v2
invoke-virtual {v2, v1}, Landroid/widget/ListView;->setAdapter(Landroid/widget/ListAdapter;)V
.line 376
return-void
.end method

How to add Auto Synch Switcher
The Honami settings introduce a new switcher that you can use the same way as Wifi and Bluetooth, the Auto Synch Switcher.
I will show you an easy way to add it but I will have to teach you how are working the ID first
Little introduction to ID
What are the ID?
To tell you what they are, first I must tell you where they are... Open public.xml found in res/value and you will see something like that:
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<public type="attr" name="state_encrypted" id="[COLOR="Red"]0x7f010000[/COLOR]" />
<public type="attr" name="icon" id="0x7f010001" />
<public type="attr" name="emptyColor" id="0x7f010002" />
<public type="attr" name="minTickWidth" id="0x7f010003" />
<public type="attr" name="optimalWidth" id="0x7f010004" />
<public type="attr" name="optimalWidthWeight" id="0x7f010005" />
<public type="attr" name="sweepDrawable" id="0x7f010006" />
<public type="attr" name="followAxis" id="0x7f010007" />
<public type="[COLOR="DarkOrange"]drawable[/COLOR]" name="preview" id="0x7f0200b8" />
<public type="drawable" name="appwidget_button_center" id="0x7f020001" />
<public type="drawable" name="appwidget_button_left" id="0x7f020002" />
<public type="drawable" name="appwidget_button_right" id="0x7f020003" />
<public type="drawable" name="btn_check_buttonless_on" id="0x7f020014" />
<public type="drawable" name="data_sweep_left" id="[COLOR="Lime"]0x7f[/COLOR]020018" />
<public type="mipmap" name="ic_launcher_settings" id="0x7f[COLOR="Magenta"]03[/COLOR]0000" />
<public type="layout" name="account_preference" id="0x7f040001" />
<public type="layout" name="account_sync_screen" id="0x7f040002" />
<public type="layout" name="add_account_screen" id="0x7f04[COLOR="Silver"]0003[/COLOR]" />
I've added some color to explain what are the different parts:
In Red you have the full ID, the long number will be used in the differents smali files as a shortcut.
In Dark Orange you have the type of ID, there are many differents type such as drawable, layout, styles, id, ...
In Lime you can see that the 4 first characters are always 0x7f, all IDs used by an apk who are inside this apk are starting by that.
In Magenta you can see two more characters, these two are related to the type saw earlier, for example type drawable 02, type layout 04, ...
In Silver you have the last 4 characters who are related to different names used for a same type. These numbers are in hexadecimal.
I need to show you an other place where you can find ID, inside framework-res.apk, Open public.xml found in res/value and you will see something like that:
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<public type="attr" name="theme" id="[COLOR="Red"]0x01010000[/COLOR]" />
<public type="attr" name="label" id="0x01010001" />
<public type="attr" name="icon" id="0x01010002" />
<public type="attr" name="name" id="[COLOR="Lime"]0x010[/color]10003" />
<public type="attr" name="manageSpaceActivity" id="0x01010004" />
<public type="attr" name="allowClearUserData" id="0x01010005" />
<public type="attr" name="permission" id="0x01010006" />
<public type="id" name="background" id="0x01020000" />
<public type="id" name="checkbox" id="0x01020001" />
<public type="id" name="content" id="0x01020002" />
<public type="id" name="edit" id="0x01[COLOR="Magenta"]02[/color]0003" />
<public type="id" name="empty" id="0x01020004" />
<public type="style" name="Animation" id="0x01030000" />
<public type="style" name="Animation.Activity" id="0x01030001" />
<public type="style" name="Animation.Dialog" id="0x01030002" />
<public type="style" name="Animation.Translucent" id="0x01030003" />
<public type="style" name="Animation.Toast" id="0x01030004" />
<public type="style" name="Theme" id="0x01030005" />
<public type="style" name="Theme.NoTitleBar" id="0x0103[COLOR="Silver"]0006[/color]" />
I have used the same colors as before because this is exactly working the same way with some little variations.
The first characters are now 0x01 instead of 0x7, that means that these ID are inside framework-res.apk
BUT be carefull, when the IDs are used inside the smali files of an APK, the first zero after the x is always removed.
Example: 0x01030002 found in public.xml of framework-res.apk will be wrote inside a smali of an APK -> 0x1030002
Instructions
Now I can finally start
1) Copy AutoSyncEnabler.smali, AutoSyncDialogFragment.smali, AutoSyncDialogFragment$1.smali and AutoSyncDialogFragment$2.smali in smali/com/android/settings/
2) Open AutoSyncDialogFragment.smali with notepad++ and search "0x7" without the quote.
You will found 4 ID as explained, these ID are related to MY Settings.apk, that means that inside your apk, these "Shortcuts" may not be the good one...
I have include the public.xml found in MY settings.apk and called it public-settings.xml, open it too with notepad++ and in the same time open YOUR public.xml found in YOUR settings.apk
Let's do it for the first ID found in the smali: 0x7f0b067a, search now the full ID inside my public.xml, you will found this:
Code:
<public type="string" name="data_usage_auto_sync_off_dialog_title" id="[COLOR="Red"]0x7f0b067a[/COLOR]" />
So this ID is a shortcut for the "string" named "data_usage_auto_sync_off_dialog_title"
Now search in YOUR public.xml: "data_usage_auto_sync_off_dialog_title" without the quote and check if the full ID is the same. If the ID is different, use this one inside the smali files.
Do the same with all ID starting by 0x7
3) Copy Settings$HeaderAdapter.smali in smali/com/android/settings/ and open it with notepad++
Do a search for all ID starting by 0x7 and check between MY public.xml and YOUR public.xml
Do also a search for all ID starting by 0x1 (ID related to framework-res.apk) (You must found 5 different ID)
The first one found is 0x1010208
As I told you ID related to framework-res.apk found in smali are slightly different when they are in the public.xml of framework-res.apk (Remember the first character after the x ? )
I have include the public.xml found in MY framework-res.apk and called it public-framework-res.xml. Open MY public-framework-res.xml and YOUR public.xml of YOUR framework-res.apk
Do a search for "0x01010208" without the quote (I have added a zero after the x ) in MY public.xml and you will found that:
Code:
<public type="attr" name="listSeparatorTextViewStyle" id="0x01010208" />
Now search "listSeparatorTextViewStyle" inside YOUR public.xml and check if the ID are the same, if different replace with the correct one (Don't forget to remove the zero in the smali).

reserved

last one

That´s my friend!!! Awesome bro... :good:
Thank u so much!!

This is a great guide bro @niaboc79
very good
just keep doing your things, im happy with this !!

Thanks for this.
Quick question, how about porting Quick Settings ?
Reason i'm asking is, i have a Xperia C, it's quick settings are the ancient type, unlike the one from Xperia Z onwards where you can have 2 rows of customizable settings.
I've saw how you can edit the Settings.apk and link it to a Toolsetting.apk, where you can choose which quick setting to appear.
But you will still need to edit SystemUI.apk, which i guess that's the hardest part with all the smali edit.
Hope you can help.
Thanks.

Pandemic said:
This is a great guide bro @niaboc79
very good
just keep doing your things, im happy with this !!
Click to expand...
Click to collapse
I will complete when time
Envoyé de mon C6603 en utilisant Tapatalk

takagen said:
Thanks for this.
Quick question, how about porting Quick Settings ?
Reason i'm asking is, i have a Xperia C, it's quick settings are the ancient type, unlike the one from Xperia Z onwards where you can have 2 rows of customizable settings.
I've saw how you can edit the Settings.apk and link it to a Toolsetting.apk, where you can choose which quick setting to appear.
But you will still need to edit SystemUI.apk, which i guess that's the hardest part with all the smali edit.
Hope you can help.
Thanks.
Click to expand...
Click to collapse
Are you on JB or ICS?
Envoyé de mon C6603 en utilisant Tapatalk

niaboc79 said:
Are you on JB or ICS?
Envoyé de mon C6603 en utilisant Tapatalk
Click to expand...
Click to collapse
I'm on JB.

takagen said:
I'm on JB.
Click to expand...
Click to collapse
I will post a new tutorial about systemUI when I will have finished thos one
Envoyé de mon C6603 en utilisant Tapatalk

niaboc79 said:
I will post a new tutorial about systemUI when I will have finished thos one
Envoyé de mon C6603 en utilisant Tapatalk
Click to expand...
Click to collapse
That's great. Thanks.

Congratulations! You tutorial is on XDA Portal: http://www.xda-developers.com/android/change-your-google-account-font-color-in-honami-based-roms/
Btw the settings inside your ROM already has these features, right?

cities516 said:
Congratulations! You tutorial is on XDA Portal: http://www.xda-developers.com/android/change-your-google-account-font-color-in-honami-based-roms/
Btw the settings inside your ROM already has these features, right?
Click to expand...
Click to collapse
Yeah twice on 2 weeks on portal
Yes all my eXistenZ are including it.
Envoyé de mon C6603 en utilisant Tapatalk

can you help me how to full white backup and restore app?
tnx

Thank you for your TUT. It's very useful.
And I have interest how to port honami camera.
I know it maybe very difficult or hard to say.
Can you make a TUT for this?

problem recompiling
bro @niaboc79. i am using honami rom for tx by EXR.MING group. i am getting error while compiling. i am attaching my log. i also have this kind of view in settings/enhaced mode/xposed framework. please help

problem recompiling
bro @NiObac. i am using honami rom for tx by EXR.MING group. i am getting error while compiling. i am attaching my log. i also have this kind of view in settings/enhaced mode/xposed framework. please help

You need to spam @romeoofair ??
Change the framework in apktool with the one from the rom you using now and try again !!
Sent from my LT22i using Tapatalk

Pandemic said:
You need to spam @romeoofair ??
Change the framework in apktool with the one from the rom you using now and try again !!
Sent from my LT22i using Tapatalk
Click to expand...
Click to collapse
but i always install the framework which i use at that instant. i already installed the new framework i am using now. nut i got the error. check my log.any solution? i already posted my files up there

Related

[Q] HowTo change Lockscreen Color in CM7 for Lense Style

I'm using a Milestone with CyanogenMod 7.1.0 by nadlabak and lense lockscreen style like in attachment.
Now i want to change the clock and date color, because black is unreadable on a dark lense. To change the the color in keyguard_screen_tab_unlock.xml doesn't work but this xml is in use. I don't know why, if i add a text in this xml, it's shown on lockscreen, but the time/ date color will not change.
I found Lockscreen.smali in android.policy.jar but don't know where i have to change the text for another color and to add the custom messages like in SlidingTab Lockscreen. If it's possible i want the lense style with the standard lockscreen messages for battery charging, alarm and maybe carrier.
Can anybody help me?!
{
"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"
}
No ideas?
sileshn can u help me?
bandit79 said:
No ideas?
sileshn can u help me?
Click to expand...
Click to collapse
What is Lense lockscreen? Does it use different files? Can you link me to it. I will take a look.
Btw, what is that theme you are running? It looks awesome. Can you link me to that too.
I'm using CyanogeMod7 RC10 by nadlabak Port for Milestone. There u can choose between different Lockscreens, with Slider, Lense or Rotary like HTC ... in the screenshot, that's Lense style.
The lockscreen is using some xml files, for example keyguard_screen_tab_unlock.xml where is defined that the clock is shown or date or something else. This file will also be used in lense lockscreen, but with different settings i think. On Lockscreen with Sliders like below u see the clock in white font, the date and alarm. This style i changed in the xml file. But with lense obove the clock is dark and the alarm wasn't shown. And i don't know why.
In attachement there is a metamorph with my theme. Have fun and thanks
Edit: attached the "framework-res.apk" & "android.polica.jar" (remove.zip @ jar)
Some news? Did u find time to take a look sileshn?
Hi dude,
I have not been able to look at it because i am really busy with official work. But at a glance, i think it is in Lockscreen.smali inside .method private setLenseWidgetsVisibility(I)V ( line 3171 )
The actual corrections are in the following code, i think.
( lines 3210 to 3221 )
Code:
.line 1301
iget v0, p0, Lcom/android/internal/policy/impl/LockScreen;->mTime12_24:I
[B]const/16 v1, 0x18[/B]
if-ne v0, v1, :cond_2c
.line 1302
iget-object v0, p0, Lcom/android/internal/policy/impl/LockScreen;->mAmPm:Landroid/widget/TextView;
[B]const/4 v1, 0x4[/B]
You have to change the highlighted text with the appropriate color codes. I have not been able to check it. You can try.
Thx mate,
i'll try this soon. After some meetings today .
So i have to change this code like
Code:
.line 1301
iget v0, p0, Lcom/android/internal/policy/impl/LockScreen;->mTime12_24:I
[B][COLOR="Red"]const/16 v1, #ffffff[/COLOR][/B]
if-ne v0, v1, :cond_2c
.line 1302
iget-object v0, p0, Lcom/android/internal/policy/impl/LockScreen;->mAmPm:Landroid/widget/TextView;
[B][COLOR="Red"]const/4 v1, #ffffff[/COLOR][/B]
Or is it wrong?
-0x1 instead of #ffffff. Please note dude, i have not tried this. So backup before trying anything. I know you are a senior member at AH, so i don't need to lecture you.
I will take a detailed look by tomorrow evening my time ( Indian Time )
Edit : This should help with smali color codes, but i am not sure whether it it the same in GB.
Thx dude. Yeah i'm senior member @ AH, but i don't have much experience to mod a smali file. xml or something else is no problem. I will reply if it works.
Edit:
It doesn't work. In Lockscreen.smali the .method private setLenseWidgetsVisibility(I)V begins at line 3167 and the code below is not be present
Code:
.line 1301
iget v0, p0, Lcom/android/internal/policy/impl/LockScreen;->mTime12_24:I
const/16 v1, 0x18
if-ne v0, v1, :cond_2c
.line 1302
iget-object v0, p0, Lcom/android/internal/policy/impl/LockScreen;->mAmPm:Landroid/widget/TextView;
const/4 v1, 0x4
The only part where the const variable is shown is
Code:
.line 1312
iget-object v0, p0, Lcom/android/internal/policy/impl/LockScreen;->mAmPm:Landroid/widget/TextView;
const/4 v1, 0x4
Changing 0x4 to -0x1 will not change the color to white. It's the same layout like befor.
Some attemps later, the time - date and carrier were shown above the slider, like normal lockscreen.
But thats the default clock, not the black in the lense slider. I've changed this code
Code:
.line 1304
iget-object v0, p0, Lcom/android/internal/policy/impl/LockScreen;->mDate:Landroid/widget/TextView;
invoke-virtual {v0, [B]p1[/B]}, Landroid/widget/TextView;->setVisibility(I)V
.line 1305
iget-object v0, p0, Lcom/android/internal/policy/impl/LockScreen;->mTime:Landroid/widget/TextView;
invoke-virtual {v0, [B]p1[/B]}, Landroid/widget/TextView;->setVisibility(I)V
.line 1306
iget-object v0, p0, Lcom/android/internal/policy/impl/LockScreen;->mAmPm:Landroid/widget/TextView;
invoke-virtual {v0, [B]p1[/B]}, Landroid/widget/TextView;->setVisibility(I)V
Change to
Code:
line 1304
iget-object v0, p0, Lcom/android/internal/policy/impl/LockScreen;->mDate:Landroid/widget/TextView;
[B]const-string v1, "grey"
const v1, 0x808080[/B]
invoke-virtual {v0, [B]v1[/B]}, Landroid/widget/TextView;->setVisibility(I)V
.line 1305
iget-object v0, p0, Lcom/android/internal/policy/impl/LockScreen;->mTime:Landroid/widget/TextView;
[B] const-string v1, "yellow"
const v1, 0xffff00[/B]
invoke-virtual {v0, [B]v1[/B]}, Landroid/widget/TextView;->setVisibility(I)V
and it will be shown on lockscreen. Unfortunately that's not what i want ... so keep trying ...
Is there some good news?
I have the same question.
No news and no ideas how to do! Sorry .. i'm still searching
actually,I'm a defy user.
wonderful theme you offer on 6th post
could you offer the origin file ,so that I can find out what have been chaged?
The theme is atteched in post http://forum.xda-developers.com/showpost.php?p=15033974&postcount=4 as framework-res.zip as metamorph.
maybe sileshn has an idea to change the color. his hint doesn't work as well and my attemps failed. so maybe it's impossible to change the lense style clock color....
i asko want to know the wy
very interesting

[TUTORIAL] [4.1+] [UPDATE : 20.06.2014] Basic System Apps Mods Tutorials

Friends
Here I Am Presenting You Some Basic Tutorials For Different System Based Apps. You Can Mod Different Apks With This Simple Basic Tutorials... Please Note That This Tutorials Will Only Work in A Deodexed ROMS... U Should Know How To Decompile apks and Recompile Then Sign.. U Can Check In Different Foorums For That Tutorials If U Don't Know About That..
Lets Begin ...
(1) SEMCPHONE.apk
Click to expand...
Click to collapse
(a) Enable Call Recording
De Compile SemcPhone.apk
Go To res/values/bools.xml
Find This Line
[*]<bool name="enable_call_recording">false</bool>
And Change It To This
[*]<bool name="enable_call_recording">true</bool>
Save And Re Compile Apk Then Use It.
(b) Disable Data Charge Warning Pop UP
De Compile SemcPhone.apk
Go To res/values/bools.xml
Find This Line
[*]<bool name="disable_charge_popups">false</bool>
And Change It To This
[*]<bool name="disable_charge_popups">true</bool>
Save And Re Compile Apk Then Use It.
(c) Disable Data Disabled / Enabled Notifications
De Compile SemcPhone.apk
Go To res/values/bools.xml
Find This Line
[*]<bool name="data_connection_except_mms_show_icon_when_disabled">true</bool>
And Change It To This
[*]<bool name="data_connection_except_mms_show_icon_when_disabled">false</bool>
Save And Re Compile Apk Then Use It.
(d) Enable Speaker Voice Enhancement
De Compile SemcPhone.apk
Go To res/values/bools.xml
Find This Line
[*]<bool name="enable_speaker_voice_enhancement">false</bool>
And Change It To This
[*]<bool name="enable_speaker_voice_enhancement">true</bool>
Save And Re Compile Apk Then Use It.
(e) Enable 2G Only Mod
De Compile SemcPhone.apk
Go To res/values/bools.xml
Find This Line
[*]<bool name="prefer_2g_visibility">false</bool>
And Change It To This
[*]<bool name="prefer_2g_visibility">true</bool>
Save And Re Compile Apk Then Use It.
(f) Enable Call Ended Screen
De Compile SemcPhone.apk
Go To res/values/bools.xml
Find This Line
[*]<bool name="enable_call_ended_screen">false</bool>
And Change It To This
[*]<bool name="enable_call_ended_screen">true</bool>
Save And Re Compile Apk Then Use It.
(g) Enable Auto Rety Call
De Compile SemcPhone.apk
Go To res/values/bools.xml
Find This Line
[*]<bool name="auto_retry_enabled">false</bool>
And Change It To This
[*]<bool name="auto_retry_enabled">true</bool>
Save And Re Compile Apk Then Use It.
(h) Disable Reject Call With Message Option
De Compile SemcPhone.apk
Go To res/layout/somc_incallscreen_reject_msgs_drawer.xml
Find These Lines
Code:
<ImageView android:id="@id/handleArrow" android:paddingTop="@dimen/somc_incallscreen_reject_msgs_drawer_handle_paddingTop" android:paddingBottom="@dimen/somc_incallscreen_reject_msgs_drawer_handle_paddingBottom" android:layout_width=[COLOR="Red"]"fill_parent"[/COLOR] android:layout_height=[COLOR="Red"]"wrap_content"[/COLOR] android:src="@drawable/ic_reject_call_grips" />
<TextView android:textSize=[COLOR="Red"]"@dimen/somc_incallscreen_reject_msgs_drawer_handle_text_size"[/COLOR] android:id="@id/handleText" android:layout_width=[COLOR="Red"]"fill_parent"[/COLOR] android:layout_height=[COLOR="Red"]"wrap_content"[/COLOR] android:text="@string/phone_strings_ans_mach_response_options_tab_txt" android:fontFamily="sans-serif-light" android:textAlignment="center" />
<View android:background="@drawable/list_divider_horizontal" android:layout_width=[COLOR="Red"]"fill_parent"[/COLOR] android:layout_height=[COLOR="Red"]"@dimen/somc_incallscreen_reject_msgs_drawer_list_divider_height"[/COLOR] android:layout_marginStart="@dimen/somc_incallscreen_reject_msgs_drawer_list_margin_left" android:layout_marginEnd="@dimen/somc_incallscreen_reject_msgs_drawer_list_margin_right" />
<ListView android:layout_gravity="center_horizontal" android:id="@id/rejectMsgList" android:layout_width=[COLOR="Red"]"fill_parent"[/COLOR] android:layout_height=[COLOR="Red"]"wrap_content"[/COLOR] android:listSelector="@android:color/transparent" android:divider="@drawable/list_divider_horizontal" android:dividerHeight="@dimen/somc_incallscreen_reject_msgs_drawer_list_divider_height" android:footerDividersEnabled="false" android:layout_marginStart="@dimen/somc_incallscreen_reject_msgs_drawer_list_margin_left" android:layout_marginEnd="@dimen/somc_incallscreen_reject_msgs_drawer_list_margin_right" />
And Change It To This
Code:
<ImageView android:id="@id/handleArrow" android:paddingTop="@dimen/somc_incallscreen_reject_msgs_drawer_handle_paddingTop" android:paddingBottom="@dimen/somc_incallscreen_reject_msgs_drawer_handle_paddingBottom" android:layout_width=[COLOR="Red"]"0.0dip"[/COLOR] android:layout_height=[COLOR="Red"]"0.0dip"[/COLOR] android:src="@drawable/ic_reject_call_grips" />
<TextView android:textSize=[COLOR="Red"]"0.0dip"[/COLOR] android:id="@id/handleText" android:layout_width=[COLOR="Red"]"0.0dip"[/COLOR] android:layout_height=[COLOR="Red"]"0.0dip"[/COLOR] android:text="@string/phone_strings_ans_mach_response_options_tab_txt" android:fontFamily="sans-serif-light" android:textAlignment="center" />
<View android:background="@drawable/list_divider_horizontal" android:layout_width=[COLOR="Red"]"0.0dip"[/COLOR] android:layout_height=[COLOR="Red"]"0.0dip"[/COLOR] android:layout_marginStart="@dimen/somc_incallscreen_reject_msgs_drawer_list_margin_left" android:layout_marginEnd="@dimen/somc_incallscreen_reject_msgs_drawer_list_margin_right" />
<ListView android:layout_gravity="center_horizontal" android:id="@id/rejectMsgList" android:layout_width=[COLOR="Red"]"0.0dip"[/COLOR] android:layout_height=[COLOR="Red"]"0.0dip"[/COLOR] android:listSelector="@android:color/transparent" android:divider="@drawable/list_divider_horizontal" android:dividerHeight="@dimen/somc_incallscreen_reject_msgs_drawer_list_divider_height" android:footerDividersEnabled="false" android:layout_marginStart="@dimen/somc_incallscreen_reject_msgs_drawer_list_margin_left" android:layout_marginEnd="@dimen/somc_incallscreen_reject_msgs_drawer_list_margin_right" />
Save And Exit From Text Editor
Go To res/layout/somc_incallscreen_reject_msgs_list_item.xml
Find This Line
Code:
<TextView android:textSize="@dimen/reject_with_message_list_item_text_size" android:ellipsize="end" android:gravity="center_vertical" android:layout_gravity="center_vertical" android:id="@id/text" android:paddingLeft="@dimen/somc_incallscreen_reject_msgs_drawer_list_paddingLeft" android:layout_width=[COLOR="Red"]"fill_parent"[/COLOR] android:layout_height=[COLOR="Red"]"@dimen/somc_incallscreen_reject_msgs_drawer_list_height"[/COLOR] android:maxLines="2" android:scrollHorizontally="true" android:drawablePadding="@dimen/somc_incallscreen_reject_msgs_drawer_list_drawablePadding" android:fontFamily="sans-serif-light"
And Change It To This
Code:
<TextView android:textSize="@dimen/reject_with_message_list_item_text_size" android:ellipsize="end" android:gravity="center_vertical" android:layout_gravity="center_vertical" android:id="@id/text" android:paddingLeft="@dimen/somc_incallscreen_reject_msgs_drawer_list_paddingLeft" android:layout_width=[COLOR="Red"]"0.0dip"[/COLOR] android:layout_height=[COLOR="Red"]"0.0dip"[/COLOR] android:maxLines="2" android:scrollHorizontally="true" android:drawablePadding="@dimen/somc_incallscreen_reject_msgs_drawer_list_drawablePadding" android:fontFamily="sans-serif-light"
Save And Re Compile Apk Then Use It.
(2) FRAMEWORK-RES.apk and JAR Files
Click to expand...
Click to collapse
(a) Enable OLD TV CRT Screen On Off Effect ( For Android 4.3 + )
De Compile framework-res.apk
Go To res/values/bools.xml
Find This Line
Code:
<bool name="config_animateScreenLights">[COLOR="Red"]true[/COLOR]</ bool>
And Change It To This
Code:
<bool name="config_animateScreenLights">[COLOR="Red"]false[/COLOR]</ bool>
Re Compile And Use.
If The Above Method Does Not Work Means
De Compile Services.jar
Go To smali\com\android\Server\power\DisplayPowerController.smali
Look For This Line
Code:
.field private static final ELECTRON_BEAM_OFF_ANIMATION_DURATION_MILLIS:I = [COLOR="Red"]0x64[/COLOR]
And Change 0x64 To 0x190
Then Look For This Line
Code:
const-wide/16 v1, [COLOR="red"]0x64[/COLOR]
And Change 0x64 To 0x190
Done. Save And Recompile Then Use
Note : Value 0x190 Is Just For An Example You Can Use Ur Own. The Biggest Will Be Smooth ( But Slower ). I Recommends Value 0x260. Try It And See The Difference .
(b) Reducing Navigation Bar Height and Width
De Compile framework-res.apk
Go To res/values/dimens.xml
Search For This Line
Code:
<dimen name="navigation_bar_height">[COLOR="red"]48.0dip[/COLOR]</dimen>
<dimen name="navigation_bar_height_landscape">[COLOR="red"]48.0di[/COLOR]p</dimen>
<dimen name="navigation_bar_width">[COLOR="red"]48.0dip[/COLOR]</dimen>
Change It As Per Ur Needds..
Here First Two Lines Indicates Height Of The Navigation Bar. Third Line Indicates The Width. Its Means The Width When U Watching Movies or Playing Games. U Can Use Any Number.
My Suggestion For A Better Look
36
36
28
Done. Re Compile And Use
(3) PHONEBOOK.apk
Click to expand...
Click to collapse
(a) Making Big Photos In Infinite View
FOR XHDPI Screens
De Compile Phonebook.apk
Got To res/layout/contact_detail_static_header_container.xml
Look For This Line
Code:
<QuickContactBadge android:id="@id/photo" android:duplicateParentState="true" android:layout_width="0.0px" android:layout_height="0.0px" android:src="@null" android:scaleType="centerCrop" android:maxWidth="[COLOR="Red"]200.0dip[/COLOR]" android:maxHeight="[COLOR="Red"]200.0dip[/COLOR]" android:soundEffectsEnabled="false" android:contentDescription="@string/spb_accessibility_edit_contact_photo_txt" android:layout_marginEnd="@dimen/detail_header_padding" style="?android:attr/quickContactBadgeStyleWindowLarge" />
Replace With This Line
Code:
<QuickContactBadge android:id="@id/photo" android:duplicateParentState="true" android:layout_width="0.0px" android:layout_height="0.0px" android:src="@null" android:scaleType="centerCrop" android:maxWidth="[COLOR="Red"]270.0dip[/COLOR]" android:maxHeight="[COLOR="Red"]480.0dip[/COLOR]" android:soundEffectsEnabled="false" android:contentDescription="@string/spb_accessibility_edit_contact_photo_txt" android:layout_marginEnd="@dimen/detail_header_padding" style="?android:attr/quickContactBadgeStyleWindowLarge" />
Done. Save And Exit From Editor
Go To Phonebook\smali\com\android\contacts\Detail\ContactPhotoHeaderLayout.smali
Look For This Line
Code:
iput v7, v0, Landroid/view/ViewGroup$LayoutParams;->width:I
Then Add One Line Above That Line. Exactly Like This
Code:
[COLOR="Red"]const v7, 0x1f4[/COLOR]
iput v7, v0, Landroid/view/ViewGroup$LayoutParams;->width:I
Then Look For This Line
Code:
iput v7, v0, Landroid/view/ViewGroup$LayoutParams;->height:I
Then Add One Line Above That Line. Exactly Like This
Code:
[COLOR="Red"]const v7, 0x378[/COLOR]
iput v7, v0, Landroid/view/ViewGroup$LayoutParams;->height:I
Done. Save And Exit From The Editor
Go To Phonebook/res/layout/item_photo_editor.xml
Search For This Line
Code:
<FrameLayout android:background="@drawable/spb_addphoto_box" android:layout_width="[COLOR="Red"]@dimen/raw_contact_edit_photo_picture_siz[/COLOR]e" android:layout_height="[COLOR="red"]@dimen/raw_contact_edit_photo_picture_size"[/COLOR]>
<include layout="@layout/photo_editor_view_default_image" />
<ImageView android:id="@id/photo" android:layout_width="[COLOR="red"]fill_parent[/COLOR]" android:layout_height="[COLOR="red"]fill_parent[/COLOR]" android:scaleType="centerCrop" />
Then Change It To This
Code:
<FrameLayout android:background="@drawable/spb_addphoto_box" android:layout_width="[COLOR="red"]110.0dip[/COLOR]" android:layout_height=[COLOR="red"]"183.0dip"[/COLOR]>
<include layout="@layout/photo_editor_view_default_image" />
<ImageView android:id="@id/photo" android:layout_width="[COLOR="red"]96.0dip[/COLOR]" android:layout_height="[COLOR="red"]170.0dip[/COLOR]" android:scaleType="centerCrop" />
Done. Save And Recompile The Use.
FOR XXHDPI Screens
De Compile Phonebook.apk
Got To res/layout/contact_detail_static_header_container.xml
Look For This Line
Code:
<QuickContactBadge android:id="@id/photo" android:duplicateParentState="true" android:layout_width="0.0px" android:layout_height="0.0px" android:src="@null" android:scaleType="centerCrop" android:maxWidth="[COLOR="Red"]200.0dip[/COLOR]" android:maxHeight="[COLOR="Red"]200.0dip[/COLOR]" android:soundEffectsEnabled="false" android:contentDescription="@string/spb_accessibility_edit_contact_photo_txt" android:layout_marginEnd="@dimen/detail_header_padding" style="?android:attr/quickContactBadgeStyleWindowLarge" />
Replace With This Line
Code:
<QuickContactBadge android:id="@id/photo" android:duplicateParentState="true" android:layout_width="0.0px" android:layout_height="0.0px" android:src="@null" android:scaleType="centerCrop" android:maxWidth="[COLOR="Red"]410.0dip[/COLOR]" android:maxHeight="[COLOR="Red"]729.0dip[/COLOR]" android:soundEffectsEnabled="false" android:contentDescription="@string/spb_accessibility_edit_contact_photo_txt" android:layout_marginEnd="@dimen/detail_header_padding" style="?android:attr/quickContactBadgeStyleWindowLarge" />
Done. Save And Exit From Editor
Go To Phonebook\smali\com\android\contacts\Detail\ContactPhotoHeaderLayout.smali
Look For This Line
Code:
iput v7, v0, Landroid/view/ViewGroup$LayoutParams;->width:I
Then Add One Line Above That Line. Exactly Like This
Code:
[COLOR="Red"]const v7, 0x1f4[/COLOR]
iput v7, v0, Landroid/view/ViewGroup$LayoutParams;->width:I
Then Look For This Line
Code:
iput v7, v0, Landroid/view/ViewGroup$LayoutParams;->height:I
Then Add One Line Above That Line. Exactly Like This
Code:
[COLOR="Red"]const v7, 0x378[/COLOR]
iput v7, v0, Landroid/view/ViewGroup$LayoutParams;->height:I
Done. Save And Exit From The Editor
Go To Phonebook/res/layout/item_photo_editor.xml
Search For This Line
Code:
<FrameLayout android:background="@drawable/spb_addphoto_box" android:layout_width="[COLOR="Red"]@dimen/raw_contact_edit_photo_picture_siz[/COLOR]e" android:layout_height="[COLOR="red"]@dimen/raw_contact_edit_photo_picture_size"[/COLOR]>
<include layout="@layout/photo_editor_view_default_image" />
<ImageView android:id="@id/photo" android:layout_width="[COLOR="red"]fill_parent[/COLOR]" android:layout_height="[COLOR="red"]fill_parent[/COLOR]" android:scaleType="centerCrop" />
Then Change It To This
Code:
<FrameLayout android:background="@drawable/spb_addphoto_box" android:layout_width="[COLOR="red"]113.0dip[/COLOR]" android:layout_height=[COLOR="red"]"186.0dip"[/COLOR]>
<include layout="@layout/photo_editor_view_default_image" />
<ImageView android:id="@id/photo" android:layout_width="[COLOR="red"]96.0dip[/COLOR]" android:layout_height="[COLOR="red"]171.0dip[/COLOR]" android:scaleType="centerCrop" />
Done. Save And Recompile The Use.
Here Is A Sample Screenshots. U Can See The Difference In Before and After Pictures. Click Me !
(4) SYSTEMUI.apk
Click to expand...
Click to collapse
(a) Add Flash Light In Status Bar ( For 4.1 and 4.3 Only )
De Compile SystemUI.apk
Go To res/values/ids.xml
Add This Line
Code:
<item type="id" name="ButtonFlashLight">false</item>
Save and Exit
Open "AndroidManifest".xml and Add This Line
Code:
<uses-permission android:name="android.permission.CAMERA"/>
Save and Exit
Go To res/layout and Open "status_bar_expanded_header".xml
Add This Line
Code:
<com.android.systemui.buttons.ButtonFlashLight android:id="@id/ButtonFlashLight" android:background="@drawable/button_flash_light" android:layout_width="41.0dip" android:layout_height="52.0dip" android:textOn="" android:textOff="" android:paddingEnd="6.0dip" />
For Example It Should Be Like This : -
Code:
<Button android:id="@id/clear_all_button" android:layout_width="90.0dip" android:layout_height="wrap_content" android:text="@string/status_bar_clear_all_button" android:contentDescription="@string/accessibility_clear_all" android:paddingStart="0.0dip" android:paddingEnd="2.0dip" android:layout_alignParentEnd="true" style="@style/ClearAllButtonStyle" />
[COLOR="Red"]<com.android.systemui.buttons.ButtonFlashLight android:id="@id/ButtonFlashLight" android:background="@drawable/button_flash_light" android:layout_width="41.0dip" android:layout_height="52.0dip" android:textOn="" android:textOff="" android:paddingEnd="6.0dip" />
[/COLOR]
Save and Exit
Then Download This File And Paste In res/drawable Folder
Then Download This Pngs And Paste In res/drawable-xhdpi Folder ( Or HDPI )
Done. Re Compile and Use It..
Here Is One Sample Screenshot For Ur Reference . Click Me !
Bro how to remove camera shortcut from xperia sp lockscreen.
Great!!!
Thank you my friend!!
kewlashu said:
Bro how to remove camera shortcut from xperia sp lockscreen.
Click to expand...
Click to collapse
That Tutorial Also Ready. Will post soon..
Rajeev said:
That Tutorial Also Ready. Will post soon..
Click to expand...
Click to collapse
Nicely explained
dipesh1502 said:
Nicely explained
Click to expand...
Click to collapse
Thanks For That...
serajr said:
Thank you my friend!!
Click to expand...
Click to collapse
:victory::victory: :angel::angel: :good::good: :highfive::highfive:
Rajeev the teacher.
---------- Post added at 07:36 PM ---------- Previous post was at 07:33 PM ----------
2 questions:
1. How to change apps into black ( messaging/ phonebook / phone )
2. How to remove the icons for background defocus, motion shot and AR effects as these apps can be accessed from camera menu. For example, Info-eye and timeshift burst have no icons and accessible from camera itself.
sourabhp said:
Rajeev the teacher.
---------- Post added at 07:36 PM ---------- Previous post was at 07:33 PM ----------
2 questions:
1. How to change apps into black ( messaging/ phonebook / phone )
2. How to remove the icons for background defocus, motion shot and AR effects as these apps can be accessed from camera menu. For example, Info-eye and timeshift burst have no icons and accessible from camera itself.
Click to expand...
Click to collapse
1.theres a tutorial available already by funky0308
2.i am sure rajeev will update the
Thread with it
Great tut brov.... been waiting for yur tut brov!!!
ima using yur SemcPhone.apk but tha big green call button doesnt change according to theme accent. Please make a tut to make it change to theme accent & also a tut for enabling HD Fullscreen image caller... thanks!
whalesplaho said:
Great tut brov.... been waiting for yur tut brov!!!
ima using yur SemcPhone.apk but tha big green call button doesnt change according to theme accent. Please make a tut to make it change to theme accent & also a tut for enabling HD Fullscreen image caller... thanks!
Click to expand...
Click to collapse
Thanks Bro...!!
1) Thats very difficult brother..
2) Full Screen Caller Mod Tutorial Will B Add Soon. In a separate thread. Don't know when. Because its different for every SemcPhone..
Rajeev said:
Thanks Bro...!!
1) Thats very difficult brother..
2) Full Screen Caller Mod Tutorial Will B Add Soon. In a separate thread. Don't know when. Because its different for every SemcPhone..
Click to expand...
Click to collapse
Thanks for yur respone brov..... i dnt wanna use stock back, love tha amazing fullscreen hd caller mod!
will be waiting yur tut...:highfive::victory:
nice job bro......keep it up :good:
Does this guide works on CM11?
pemith said:
nice job bro......keep it up :good:
Click to expand...
Click to collapse
Thanks Buddies
whalesplaho said:
Thanks for yur respone brov..... i dnt wanna use stock back, love tha amazing fullscreen hd caller mod!
will be waiting yur tut...:highfive::victory:
Click to expand...
Click to collapse
MT27i said:
Does this guide works on CM11?
Click to expand...
Click to collapse
Didn't Tetsed In CM 11..
sorry guys, what is call ended screen? sorry for noob question.
Inviato dal mio C6603 utilizzando Tapatalk
mando85 said:
sorry guys, what is call ended screen? sorry for noob question.
Inviato dal mio C6603 utilizzando Tapatalk
Click to expand...
Click to collapse
Hi
This called End Call Screen
{
"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"
}
Nice one bro ^^
Keep it up so everyone can mod thierself ^^
Send from my XZ with 4.4.2 to your eyes !
Will this work on Xperia E?
I'm asking this question because it doesn't have semcphone.apk.
Just phone.apk.

[TOOL] Public ID Converter

Public ID Converter​
What is it?
If you've ever messed with smali files you have probably come across a line like this:
Code:
const v0, 0x7f040001
When you come across this you know that you have to search the public.xml of the apk you're porting from and the public.xml of the apk you're porting to in order to find the correct reference. This can get overwhelming when you have multiple references.
This tool will easily replace all public.xml references in a smali file with the public.xml you're porting to.
How to use it:
(As of now, this tool will not add anything to the public.xml)
The decompiled apk must have all of the neccessary resource files added to the public.xml.
You can do this by adding the resources(drawables, strings, ids, etc.) and then compiling the apk. Then decompile the new apk and copy the public.xml.
Open this app and select the files (can be opened for GUI or run from command line)
Convert the smali file
The new modified file will be at the same location of the original smali file with the same name but with "-MODIFIED" appended to it
If it was unable to find the reference in either public.xml it will add the word MISSING so you can easily search the smali file after.
Example:
Everything going smoothly:
Smali:
Code:
const v0, 0x7f040001
invoke-virtual {p0, v0}, Lcom/example/SettingsActivity;->addPreferencesFromResource(I)V
Source public.xml:
Code:
<public type="xml" name="pref_lockscreen" id="0x7f040001" />
Port public.xml:
Code:
<public type="xml" name="pref_lockscreen" id="0x7f041234" />
New modified smali:
Code:
const v0, 0x7f041234 # type="xml" name="pref_lockscreen"
invoke-virtual {p0, v0}, Lcom/example/SettingsActivity;->addPreferencesFromResource(I)V
Everything going poorly:
Smali:
Code:
const v0, 0x7f040001
invoke-virtual {p0, v0}, Lcom/example/SettingsActivity;->addPreferencesFromResource(I)V
const v0, 0x7f040002
invoke-virtual {p0, v0}, Lcom/example/SettingsActivity;->addPreferencesFromResource(I)V
const v0, 0x7f040003
invoke-virtual {p0, v0}, Lcom/example/SettingsActivity;->addPreferencesFromResource(I)V
Source public.xml:
Does not contain 0x7f040003
Code:
<public type="xml" name="pref_display" id="0x7f040001" />
<public type="xml" name="pref_lockscreen" id="0x7f040002" />
<public type="xml" name="pref_navigation_bar" id="0x7f040004" />
Port public.xml:
Does not contain type="xml" name="pref_lockscreen"
Code:
<public type="xml" name="pref_display" id="0x7f041234" />
<public type="xml" name="pref_navigation_bar" id="0x7f041235" />
New modified smali:
Code:
const v0, 0x7f041234 # type="xml" name="pref_display"
invoke-virtual {p0, v0}, Lcom/example/SettingsActivity;->addPreferencesFromResource(I)V
const v0, 0x7f040002 # MISSING: type="xml" name="pref_lockscreen"
invoke-virtual {p0, v0}, Lcom/example/SettingsActivity;->addPreferencesFromResource(I)V
const v0, 0x7f040003 # MISSING: Not found in source public.xml
invoke-virtual {p0, v0}, Lcom/example/SettingsActivity;->addPreferencesFromResource(I)V
Notes:
It is recommended that you convert the source smali file before trying to port any code to your apk. This will avoid issues of searching the source public.xml for an already correct id and replacing it with an incorrect one.
I've added the ability for this to be run with a GUI or from the command line. The command line arguments are as follows:
Code:
usage: public_id_convert f[ind] [options] <source public.xml> <source smali>
public_id_convert c[onvert] [options] <source public.xml> <source smali> <port public.xml>
-f Search for framework IDs
Download:
https://github.com/loserskater/PublicIDConverter/releases
Source:
https://github.com/loserskater/PublicIDConverter
{
"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"
}
XDA:DevDB Information
Public ID Converter, Tool/Utility for all devices (see above for details)
Contributors
loserskater
Source Code: https://github.com/loserskater/PublicIDConverter
Version Information
Status: Testing
Created 2015-03-25
Last Updated 2015-03-25
Reserved
Winnerskater! nice job man. looks awessssssoooooommeeee!
Update to 0.2
Use regex when searching smali.
Remove custom search and add option for framework.
awesome tool sir :good:
thankyou for share, gonna try soon
qoejohn said:
awesome tool sir :good:
Click to expand...
Click to collapse
ocoot said:
thankyou for share, gonna try soon
Click to expand...
Click to collapse
Have you used it yet? Any feedback?
yes sir .. I think it works well and is very helpful
Nice tool, sir, but it`s dont want search id`s in framework-res
awesome sir.. very helpful :good:
loserskater said:
Have you used it yet? Any feedback?
Click to expand...
Click to collapse
This is running on windows?
lijianjunyonghu said:
This is running on windows?
Click to expand...
Click to collapse
yes
qoejohn said:
yes
Click to expand...
Click to collapse
How to start this tool?
lijianjunyonghu said:
How to start this tool?
Click to expand...
Click to collapse
If using windows you can run it from the command line with
Code:
java -jar public_id_port.jar
Or if you want the GUI, add the jdk path to the system PATH. Plenty of guides out there if you need help with that.
it`s dont want search id`s in framework-res
It is fantastic, I'll spare time
@loserskater
this is a fantastic tool - big big thx for that :good:
Very useful tool.
Well done, @loserskater
awesome tool
wow bro @loserskater
you saved my ass
Thank you bro
I wanna via public. Xml ID to replace smail ,can it finish?

[GUIDE][AOSP][CM12/12.1]How To Port Fully Featured Sony Phonebook,Dialer & InCallUI

[GUIDE][AOSP][CM12/12.1]How To Port Fully Featured Sony Phonebook,Dialer & InCallUI
Quick Guide To Port Xperia Z5,Z4,Z3,Z2,Z1,Z etc. Fully Featured Sony Phonebook,Dialer & InCallUI . For Many Phones Running AOSP,CM12,CM12.1. I Hope Everyone Like & Enjoy It.
{
"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"
}
Guide & Download Link Is On 2nd Post
Screenshots On 3rd Post
Cheers U Can Post Screenshots Too & I'll Add To This Thread
If U Like My Work Dont Forgot To Press Thanks Button
Guide For AOSP,CM12,CM12.1
1. Extract framework.jar Decompile classes.dex
2. Go to android/telephony/TelephonyManager.smali add this method before .method public handlePinMmi
PHP:
.method public getVoicemailString()Ljava/lang/String;
.registers 3
.prologue
.line 3592
iget-object v0, p0, Landroid/telephony/TelephonyManager;->mContext:Landroid/content/Context;
if-nez v0, :cond_6
const/4 v0, 0x0
.line 3593
:goto_5
return-object v0
:cond_6
iget-object v0, p0, Landroid/telephony/TelephonyManager;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
const v1, 0x1040051
invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object v0
goto :goto_5
.end method
3.To Port InCallUI add this method in android/telecom/Call.smali
PHP:
.method public getNotificationCode()I
.registers 2
.prologue
.line 415
iget v0, p0, Landroid/telecom/Call;->mNotificationCode:I
return v0
.end method
.method public getNotificationType()I
.registers 2
.prologue
.line 410
iget v0, p0, Landroid/telecom/Call;->mNotificationType:I
return v0
.end method
& Add This Instance Fields
PHP:
.field private mNotificationCode:I
.field private mNotificationType:I
4. Go To android/telecom/Phone.smali Add This Field at line 55
PHP:
.field private mSomcInCallAdapterExtend:Landroid/telecom/SomcInCallAdapterExtend;
5. Add This method before .method public switchToOtherActiveSub
PHP:
.method public final somcGetCommand(ILjava/lang/String;)Ljava/lang/String;
.registers 5
.parameter "commandId"
.parameter "option"
.prologue
.line 386
const/4 v0, 0x0
.line 387
.local v0, result:Ljava/lang/String;
iget-object v1, p0, Landroid/telecom/Phone;->mSomcInCallAdapterExtend:Landroid/telecom/SomcInCallAdapterExtend;
if-eqz v1, :cond_b
.line 388
iget-object v1, p0, Landroid/telecom/Phone;->mSomcInCallAdapterExtend:Landroid/telecom/SomcInCallAdapterExtend;
invoke-virtual {v1, p1, p2}, Landroid/telecom/SomcInCallAdapterExtend;->somcGetCommand(ILjava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 389
:cond_b
return-object v0
.end method
6. Download & Extract SomcInCallAdapterExtend.zip from attachments move SomcInCallAdapterExtend.smali to android/telecom folder
7. Recompile & Move Modify classes.dex In framework.jar
Done (Remember Superusermod & Deodex Rom Require)
Now CM12.1,AOSP Users Can Flash This http://www.mediafire.com/download/eokbox8h6otz5s5/EnfriarZ5Dialer.zip
Screenshots
How to and where to edit the files
@xperiaz2 awesome , thank yoooou so much for sharing this to us...
---------- Post added at 02:23 PM ---------- Previous post was at 01:51 PM ----------
Decompile Framework.apk
and add
<string name="config_voicemail_string" /> to string.xml
<public type="string" name="config_voicemail_string" id="#Number#" /> to Public.xml
Number in Public is like this 0x01040054 #Number is a example
You need to replace number in following code like this 0x1040054
PHP:
.method public getVoicemailString()Ljava/lang/String;
.registers 3
.prologue
.line 3592
iget-object v0, p0, Landroid/telephony/TelephonyManager;->mContext:Landroid/content/Context;
if-nez v0, :cond_6
const/4 v0, 0x0
.line 3593
:goto_5
return-object v0
:cond_6
iget-object v0, p0, Landroid/telephony/TelephonyManager;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
const v1, 0x1040054
invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object v0
goto :goto_5
.end method
add this code before .method public handlePinMmi
wolfmannight said:
@xperiaz2 awesome , thank yoooou so much for sharing this to us...
---------- Post added at 02:23 PM ---------- Previous post was at 01:51 PM ----------
Decompile Framework.apk
and add
<string name="config_voicemail_string" /> to string.xml
<public type="string" name="config_voicemail_string" id="#Number#" /> to Public.xml
Number in Public is like this 0x01040054 #Number is a example
You need to replace number in following code like this 0x1040054
Click to expand...
Click to collapse
most welcome bro yeah correct :good:
I cant find .method public switchToOtherActiveSub in Phone.smali
To CM12.1 users: the 'telecom' folder can be found at /smali_classes2/android (at least in my case).
wolfmannight said:
I cant find .method public switchToOtherActiveSub in Phone.smali
Click to expand...
Click to collapse
i think we should add this also
PHP:
.method public switchToOtherActiveSub(Ljava/lang/String;Z)V
.registers 4
.param p1, "subId" # Ljava/lang/String;
.param p2, "retainLch" # Z
.prologue
.line 287
iget-object v0, p0, Landroid/telecom/Phone;->mInCallAdapter:Landroid/telecom/InCallAdapter;
invoke-virtual {v0, p1, p2}, Landroid/telecom/InCallAdapter;->switchToOtherActiveSub(Ljava/lang/String;Z)V
.line 288
return-void
.end method
in the end
wolfmannight said:
I cant find .method public switchToOtherActiveSub in Phone.smali
Click to expand...
Click to collapse
its last line if not there add that method at end
.method public switchToOtherActiveSub(Ljava/lang/String;Z)V
.registers 4
.parameter "subId"
.parameter "retainLch"
.prologue
.line 276
iget-object v0, p0, Landroid/telecom/Phone;->mInCallAdapter:Landroid/telecom/InCallAdapter;
invoke-virtual {v0, p1, p2}, Landroid/telecom/InCallAdapter;->switchToOtherActiveSub(Ljava/lang/String;Z)V
.line 277
return-void
.end method
wolfmannight said:
i think we should add this also
Click to expand...
Click to collapse
yes
@xperiaz2 Where should I put the fields in Call.smali? In static or instance fields?
elmkzgirxp said:
@xperiaz2 Where should I put the fields in Call.smali? In static or instance fields?
Click to expand...
Click to collapse
instance fields
If Compile error try this attachment with latest smali jar
or
use smali jar 1.3.3 with developer added attchment
wolfmannight said:
If Compile error try this attachment with latest smali jar
or
use smali jar 1.3.3 with developer added attchment
Click to expand...
Click to collapse
try using romtoolspc no error
Hi, awesome work man! You're like on of the first porting this Can you port Conversations as well?
Deleunes254 said:
Hi, awesome work man! You're like on of the first porting this Can you port Conversations as well?
Click to expand...
Click to collapse
wow thanks alot bro yeah i will port Conversations too
You serious? Alright Awesome!!!!
I'm getting errors when smaling Phone.smali.
Code:
framework.jar.out\smali_classes2\android\telecom\Phone.smali[828,4] Error for input '.parameter': Invalid directive
framework.jar.out\smali_classes2\android\telecom\Phone.smali[829,4] Error for input '.parameter': Invalid directive
framework.jar.out\smali_classes2\android\telecom\Phone.smali[828,15] mismatched input '"commandId"' expecting END_METHOD_DIRECTIVE
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file: android/telecom/Phone.smali
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:71)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:55)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:41)
at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:372)
at brut.androlib.Androlib.buildNonDefaultSources(Androlib.java:316)
at brut.androlib.Androlib.build(Androlib.java:283)
at brut.androlib.Androlib.build(Androlib.java:256)
at brut.apktool.Main.cmdBuild(Main.java:225)
at brut.apktool.Main.main(Main.java:84)
My framework.jar is only 309 bytes what should I do?
m on cm12.1 lollipop 5.1.1
@xperiaz2
I've flashed this in AICP for Huashan (Xperia SP) and I'm getting contacts FC. Taken a log of the fc by repeatedly opening dialer.
The thing is, contacts opens up and can use it for a while ( Google account contacts are not there) . I try to click on import contacts and it FC's.
As for the dialer, it doesn't even open up.
So the log has a NoSuchMethodError .
Here is the link to the whole log.
http://hastebin.com/upurexegun.vhdl
Hope this helps you .

[GUIDE][MIUI ROM] Enable 4G LTE Setting [If don't have 4G LTE option]

{
"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"
}
INTRODUCTION
I was received Xiaomi Redmi Note 3 PRO (kenzo), and i see there is no 4G LTE option in setting on MIUI 7/8 GLOBAL ROM. in INDONESIA there is RULES called "TKDN" (Tingkat Kandungan Dalam Negeri) is mean (Local Content). Every Xiaomi Devices that shipped officially to INDONESIA with GLOBAL MIUI ROM don't have 4G LTE option, so i dedicated to search how to enable it permanently, and finally i found 2 solution to enable 4G LTE Option.
SOLUTION TO FIX 4G LTE OPTION
1. Edit framework.jar (Recommended)
2. Or Edit Teleservice.apk]
NOTE :
- This thread is for MODDER/THEMER/DEVELOPER ONLY.
- If you want to use this guide and implement to your ROM please mention me. you don't need to PM me. Thanks
CREDITS
XIAOMI INDONESIA FORUM/GROUP
GOOGLE
HOW TO FIX 4G LTE OPTION USING SOLUTION 1 WORK ON DEODEXED ONLY
1. Edit framework.jar
Requirements :
Follow this GUIDE to decompile and recompile framework.jar http://forum.xda-developers.com/crossdevice-dev/sony/tool-xperia-quick-decompile-recompile-t3428341
Step By Step
1. Download this tool http://forum.xda-developers.com/showpost.php?p=67952722&postcount=2
2. Decompile framework.jar (framework.jar must be deodexed)
3. Go to classout2/miui/telephony
4. Open TelephonyManager.smali using text editor like notepad++
5. Search
Code:
.method public isDisableLte(Z)Z
and you will see like this :
Code:
.method public isDisableLte(Z)Z
.registers 10
const/4 v5, 0x1
const/4 v4, 0x0
sget-boolean v6, Lmiui/os/Build;->IS_GLOBAL_BUILD:Z
if-nez v6, :cond_8
move v0, v4
:cond_7
:goto_7
return v0
:cond_8
iget-object v6, p0, Lmiui/telephony/TelephonyManager;->BUILD_OPERATOR_TYPE:Ljava/lang/String;
if-nez v6, :cond_12
invoke-static {}, Lmiui/util/Network;->getOperatorType()Ljava/lang/String;
move-result-object v6
iput-object v6, p0, Lmiui/telephony/TelephonyManager;->BUILD_OPERATOR_TYPE:Ljava/lang/String;
:cond_12
const-string v6, "id4g"
iget-object v7, p0, Lmiui/telephony/TelephonyManager;->BUILD_OPERATOR_TYPE:Ljava/lang/String;
invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_1e
move v0, v4
goto :goto_7
:cond_1e
const-string v6, "ido"
sget-object v7, Lmiui/os/Build;->DEVICE:Ljava/lang/String;
invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_5a
const-string v6, "kenzo"
sget-object v7, Lmiui/os/Build;->DEVICE:Ljava/lang/String;
invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_5a
const-string v6, "kate"
sget-object v7, Lmiui/os/Build;->DEVICE:Ljava/lang/String;
invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_5a
const-string v6, "mido"
sget-object v7, Lmiui/os/Build;->DEVICE:Ljava/lang/String;
invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_5a
const-string v6, "rolex"
sget-object v7, Lmiui/os/Build;->DEVICE:Ljava/lang/String;
invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_5a
const-string v6, "royal"
sget-object v7, Lmiui/os/Build;->DEVICE:Ljava/lang/String;
invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_76
:cond_5a
move v0, v5
:goto_5b
if-eqz v0, :cond_7
if-eqz p1, :cond_7
invoke-virtual {p0}, Lmiui/telephony/TelephonyManager;->getPhoneCount()I
move-result v3
const/4 v1, 0x0
:goto_64
if-ge v1, v3, :cond_7b
invoke-virtual {p0, v1}, Lmiui/telephony/TelephonyManager;->getSimOperatorForSlot(I)Ljava/lang/String;
move-result-object v2
if-eqz v2, :cond_78
const-string v6, "510"
invoke-virtual {v2, v6}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v6
if-eqz v6, :cond_78
move v0, v5
goto :goto_7
:cond_76
move v0, v4
goto :goto_5b
:cond_78
add-int/lit8 v1, v1, 0x1
goto :goto_64
:cond_7b
move v0, v4
goto :goto_7
.end method
6. Shrink code to
Code:
.method public isDisableLte(Z)Z
.registers 10
const/4 v4, 0x0
return v4
.end method
Save file TelephonyManager.smali
7. Compile framework
8. Flash to your MIUI ROM and Done.
HOW TO FIX 4G LTE OPTION USING SOLUTION 2 (WORK ON ODEXED AND DEODEXED ROM)
2. Edit TeleSevices.apk
Requirements :
- Apktool
- I will not explain how to decompile recompile apk MIUI ROM (Search Guide on Google to decompile apk MIUI ROM, Google is your friend)
Step by Step
1. Decompile TeleServices.apk
2. Go to res/xml and edit all files below :
preferred_network_type_3g.xml
preferred_network_type_3g_cm.xml
preferred_network_type_3g_ct.xml
preferred_network_type_lc.xml
preferred_network_type_lte.xml
preferred_network_type_lte_cm.xml
preferred_network_type_lte_ct.xml
preferred_network_type_lte_cu.xml
preferred_network_type_mtk.xml
preferred_network_type_mtk_m.xml
preferred_network_type_pinecone.xml
Click to expand...
Click to collapse
3. Replace all code in all files with this
Code:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen android:title="@string/preferred_network_type_title" android:key="network_type_list_gsm_umts"
xmlns:android="http://schemas.android.com/apk/res/android">
<miui.preference.RadioButtonPreference android:title="@string/lovins_preferred_network_mode_0" android:key="0" />
<miui.preference.RadioButtonPreference android:title="@string/lovins_preferred_network_mode_1" android:key="1" />
<miui.preference.RadioButtonPreference android:title="@string/lovins_preferred_network_mode_2" android:key="2" />
<miui.preference.RadioButtonPreference android:title="@string/lovins_preferred_network_mode_5" android:key="5" />
<miui.preference.RadioButtonPreference android:title="@string/lovins_preferred_network_mode_8" android:key="8" />
<miui.preference.RadioButtonPreference android:title="@string/lovins_preferred_network_mode_9" android:key="9" />
<miui.preference.RadioButtonPreference android:title="@string/lovins_preferred_network_mode_10" android:key="10" />
<miui.preference.RadioButtonPreference android:title="@string/lovins_preferred_network_mode_11" android:key="11" />
<miui.preference.RadioButtonPreference android:title="@string/lovins_preferred_network_mode_12" android:key="12" />
<miui.preference.RadioButtonPreference android:title="@string/lovins_preferred_network_mode_14" android:key="14" />
<miui.preference.RadioButtonPreference android:title="@string/lovins_preferred_network_mode_15" android:key="15" />
<miui.preference.RadioButtonPreference android:title="@string/lovins_preferred_network_mode_16" android:key="16" />
<miui.preference.RadioButtonPreference android:title="@string/lovins_preferred_network_mode_17" android:key="17" />
<miui.preference.RadioButtonPreference android:title="@string/lovins_preferred_network_mode_18" android:key="18" />
<miui.preference.RadioButtonPreference android:title="@string/lovins_preferred_network_mode_19" android:key="19" />
<miui.preference.RadioButtonPreference android:title="@string/lovins_preferred_network_mode_20" android:key="20" />
</PreferenceScreen>
save all files.
4. Go to res/value and open strings.xml
Add this code
Code:
<string name="lovins_preferred_network_mode_0">Prefer 3G/2G</string>
<string name="lovins_preferred_network_mode_1">2G only</string>
<string name="lovins_preferred_network_mode_2">3G only</string>
<string name="lovins_preferred_network_mode_5">CDMA only</string>
<string name="lovins_preferred_network_mode_8">Prefer 4G/CDMA</string>
<string name="lovins_preferred_network_mode_9">Prefer 4G/2G</string>
<string name="lovins_preferred_network_mode_10">Global</string>
<string name="lovins_preferred_network_mode_11">4G only</string>
<string name="lovins_preferred_network_mode_12">Prefer 4G/3G</string>
<string name="lovins_preferred_network_mode_14">3G only (TD-SCDMA)</string>
<string name="lovins_preferred_network_mode_15">4G only (TD-SCDMA)</string>
<string name="lovins_preferred_network_mode_16">2G only (TD-SCDMA)</string>
<string name="lovins_preferred_network_mode_17">Prefer 4G/2G (TD-SCDMA)</string>
<string name="lovins_preferred_network_mode_18">Prefer 3G/2G (TD-SCDMA)</string>
<string name="lovins_preferred_network_mode_19">Prefer 4G/3G (TD-SCDMA)</string>
<string name="lovins_preferred_network_mode_20">Prefer 4G/3G/2G (TD-SCDMA)</string>
save file.
5. Compile TeleServices also Sign and ZipAlign
6. Flash To your MIUI ROM, (If your ROM odexed just remove TeleServices.odex)
7. Done
Credits for reference : Indra Binuners
ADVENTAGES, BUG OR LACK
USING SOLUTION 1 :
- Only Enable 4G LTE Option (Prefer LTE)
- Network type will remain stick even after device reboot/restart
- No bugs
USING SOLUTION 2 :
- Enable other networks type too
- Network type will back to default network type after reboot/restart
- If you wipe data (not wipe cache or dalvik) after flashing TeleServices MOD you will get Force Close "com.android......" and will not be able to use you device. it may be signatures checking, but i already disable signatures checking on services.jar but still Force Close after wipe data.
So if you want to use SOLUTION 2 DO NOT TRY TO WIPE DATA!!!
Nice guide bro...
Sent from my Redmi Note 3 using Tapatalk
Master ?
Thanks for sharing
I dont have problem with miui rom , only with cm and rr but working in slim rom
Sent from my Redmi Note 3 using Tapatalk
great tutorial , thanks
awesome tutorial...
yes, editing teleservice are causing serious error if you did wiping data..
solution 1 seems the safest way.. thanks a lot..
Keep up the good work!
Thanks bro, really awesome work. Terima kasih banyak
@Rizal Lovins , i usually change the build.prop to enable the 4g (changing ro.product.name and ro.product.device from kenzo to gemini). Beside enabling the 4g , by doing that the stock miui camera now also shows "manual" mode with manual focus etc.
Maybe there's another way around that like your tutorial here (editing framework.jar).
a.marduk said:
@Rizal Lovins , i usually change the build.prop to enable the 4g (changing ro.product.name and ro.product.device from kenzo to gemini). Beside enabling the 4g , by doing that the stock miui camera now also shows "manual" mode with manual focus etc.
Maybe there's another way around that like your tutorial here (editing framework.jar).
Click to expand...
Click to collapse
Editing build.prop is not recommended, your device will identified as gemini instead of kenzo, enabling manual focus, other camera option and other feature is on miuisystem.apk/assets/kenzo.xml
there is many disabled features by Xiaomi, you should enable it (like boolean "true" or "false") you can change some of the feature from "false" to "true".
Rizal Lovins said:
Editing build.prop is not recommended, your device will identified as gemini instead of kenzo, enabling manual focus, other camera option and other feature is on miuisystem.apk/assets/kenzo.xml
there is many disabled features by Xiaomi, you should enable it (like boolean "true" or "false") you can change some of the feature from "false" to "true".
Click to expand...
Click to collapse
great ... i'll look into it, thank you
has anyone tried to replace TeleService.apk from extracted system.img (fastboot rom) with the one extracted from Mod_TeleService_MIUI8_MM_V2-By-Indra-Binunerz, repack and flash it via miflash?
Wow the legend of galaxy wonder is coming hehehe, thanks for sharing
Love you Om working perfectly and very easy tutorial for enable Preferred 4G
Thanks so much
Numpang tanya om...
Do we need to redo the #1 method everytime we update MIUI (weekly global dev), or we can just use the same modified file?
thanks
Gusagus said:
Love you Om working perfectly and very easy tutorial for enable Preferred 4G
Thanks so much
Click to expand...
Click to collapse
Hi, which method did you use? Could you share the modified framework.jar please? Thanks in advance.
Sent from my MI MAX using Tapatalk
may i share this guide to my blog(indonesia)?
of course i'll put source.

Categories

Resources