StatusBar Mods For All Xperia Devices
Requirements
ApkTool
SystemUI.apk
Knowledge to Decompiling and Compiling APKs
Notepad++
How to Add Corner Options on StatusBar
Decompile with APKTool SystemUI.apk
Go to res/layout/status_bar.xml
Add this Line ( <com.android.systemui.statusbar.policy.KeyButtonView android:layout_gravity="right" android:id="@id/home" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/screen_lock" android:layout_toRightOf="@id/recent_apps" android:contentDescription="@string/accessibility_back" systemui:keyCode="26" systemui:keyRepeat="false" systemui:glowBackground="@drawable/ic_sysbar_highlight" androidrientation="vertical" /> ) between this " </LinearLayout> " and this " <ImageView android:layout_gravity="top|left|center" android:id="@id/rounded_corner_ul" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/rounded_corner_ul" /> "
Than Make a Transparent Image 20x35 with Photoshop in .PNG , rename it in ( screen_lock ) and copy in" resdrawable-xhdpi "
Compilng and Done
More Mods Soon
XDA:DevDB Information
[Tutorial][How-to][Guide] StatusBar Mods, a Tool/Utility for the Sony Xperia S
Contributors
savergiggio
Version Information
Status: Stable
Created 2014-01-27
Last Updated 2014-01-27
reserved
Related
Hi guys! I've worked in several stock ROM projects, but I never learned how to build roms from source, I dont know why. Yesterday, I read some threads, and installed Ubuntu 14.04 in my lap. I am following the following threads to compile CM12:
Compiling CM12 for Moto G
Official CM12 Compiling guide
I started the first one, which I think is very clear, but when I arrive to this I have to stop:
Once all that stuff's over, create a folder called
Code:
local_manifests
in the .repo folder, and then make a new file in that folder called
Code:
roomservice.xml
open roomservice.xml using gedit, and add the following:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_motorola_falcon" path="device/motorola/falcon" remote="github" revision="cm-12.0"/>
<project name="CyanogenMod/android_device_motorola_msm8226-common" path="device/motorola/msm8226-common" remote="github" revision="cm-12.0"/>
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" revision="cm-12.0"/>
<project name="CyanogenMod/android_kernel_motorola_msm8226" path="kernel/motorola/msm8226" remote="github" revision="cm-12.0"/>
<project name="TheMuppets/proprietary_vendor_motorola" path="vendor/motorola" remote="github" revision="cm-12.0"/>
</manifest>
Click to expand...
Click to collapse
Obviously, that code is for Moto G, but I don't know what should I write in that file. I found a thread in G2 section with the same question, but the OP had no answer.
Then I switched to the official thread trying to find some information. About local manifests it says:
After the source downloads, ensure you are in the root of the source code (cd ~/android/system), then type:
Code:
$ source build/envsetup.sh
$ breakfast d802
This will download the device specific configuration and kernel source for your device. An alternative to using the breakfast command is to build your own local manifest. To do this, you will need to locate your device on CyanogenMod's GitHub and list all of the repositories defined in cm.dependencies in your local manifest.
Click to expand...
Click to collapse
Then I went to d802 github and located the cm.dependencies. Is that what I have to copy into the roomservice.xml file? Is this another way of preparing specific-device code?
If u know any other more comprehensive guide for d802 I would thank u so much if u could share with me. Any help is thanked.
------------------------- EDIT 1 -------------------------
I found this on a similar thread to mine in G2 subforum. Will be enough to paste it in roomservice.xml?
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
# Device Specific part
<project path="device/lge/d802" name="CyanogenMod/android_device_lge_d802" revision="cm-12.0" remote="github" />
<project path="device/lge/g2-common" name="CyanogenMod/android_device_lge_g2-common" revision="cm-12.0" remote="github" />
<project path="kernel/lge/msm8974" name="CyanogenMod/android_kernel_lge_msm8974" revision="cm-12.0" remote="github" />
<project path="vendor/lge" name="TheMuppets/proprietary_vendor_lge" revision="cm-12.0" remote="github" />
</manifest>
Thanks man!
In a nutshell you do the steps
- unlock your bootloader
- backup your DRM (if available and possible on the Z4/Z3+)
You follow steps 4 to 4.6 of
https://wiki.cyanogenmod.org/w/Build_for_angler#Build_CyanogenMod_and_CyanogenMod_Recovery
(that is the entry for the Nexus 6P)
you go into ~/android/system/
or the folder you named it
Code:
cd .repo
mkdir local_manifests
copy over the lines from
https://github.com/SonyAosp/device_sony_ivy/blob/e97659de9c044e56fabe25cf1dfdac44b27131de/README.md
into e.g.
ivy.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!--Please do not manually edit this file-->
<manifest>
<project name="SonyAosp/device-sony-ivy" path="device/sony/ivy" remote="github" revision="cm-13.0" />
<project name="SonyAosp/device-sony-kitakami" path="device/sony/kitakami" remote="github" revision="cm-13.0" />
<project name="SonyAosp/device-sony-common" path="device/sony/common" remote="github" revision="cm-13.0" />
<project name="SonyAosp/camera" path="hardware/sony/camera" remote="github" revision="cm-13.0" />
<project name="SonyAosp/kernel" path="kernel/sony/msm" remote="github" revision="mm-6.0" />
<project name="sonyxperiadev/thermanager" path="hardware/sony/thermanager" remote="github" revision="master" />
<project name="sonyxperiadev/timekeep" path="hardware/sony/timekeep" remote="github" revision="master" />
<project name="sonyxperiadev/macaddrsetup" path="hardware/sony/macaddrsetup" remote="github" revision="master" />
<project name="SonyAosp/platform_hardware_sony_init" path="hardware/sony/init" remote="github" revision="mm-6.0" />
<project name="SonyAosp/vendor_qcom_opensource_dataservices" path="hardware/sony/opensource/dataservices" remote="github" revision="mm-6.0" />
<project name="SonyAosp/platform_vendor_qcom" path="vendor/qcom" remote="github" revision="mm-6.0" />
<project name="SonyAosp/platform_vendor_sony" path="vendor/sony" remote="github" revision="mm-6.0" />
<project name="SonyAosp/platform_vendor_qcom_proprietary" path="vendor/qcom/proprietary" remote="github" revision="mm-6.0" />
</manifest>
then do a
Code:
repo sync
again
and you should be good to go with something like
Code:
source build/envsetup.sh
lunch cm_ivy-userdebug
mka clobber && mka bacon
Troubleshooting:
Running Python >=2.7 ?
install python 2.7
then
Code:
export EPYTHON=python2.7
Running a Linux distribution with "Umlauts" and other European gibberish locale (de, fr, etc.)
Code:
export LC_ALL=C
Running a bleeding edge Linux distribution which only has ncurses >=6.0 ?
extract and/or build ncurses 5.9 (64bit) locally and copy it e.g. to ~/aosp/ncurses/lib64/
then
Code:
export LD_LIBRARY_PATH=~/aosp/ncurses/lib64/
Have a nice day
I am waiting for my device from repair, motherboard is going to be changed. Not sure I will be able to unlock bootloader or not but surely would love to try this and run an aosp rom on my device.
Thanks for this guide.
I followed your guide and building the ROM worked like a charm (compiling took like 2:15h in an Ubuntu 15.10 VM). Installing also worked without any problems so far, thank you soooooo much for this!
I tried following the guide on the Sony page, which always made problems for me (either compiling didn't work or the ROM wouldn't boot).
Thomas231 said:
I followed your guide and building the ROM worked like a charm (compiling took like 2:15h in an Ubuntu 15.10 VM). Installing also worked without any problems so far, thank you soooooo much for this!
I tried following the guide on the Sony page, which always made problems for me (either compiling didn't work or the ROM wouldn't boot).
Click to expand...
Click to collapse
Glad it worked flawless
What is the ROM status ? Working and not working list plz ?
Thanks
Right now the only issue I know of is the camera issue which is present on all AOSP-based ROMs using the open source driver (and even the stock ROM, at least for me).
I'm trying to build cm-13 using this manifest doesn't work. mm-6.0 is not present on some of the sony repos. Anyone face this issue ? repo sync fails.
Hi @ all.
I compiled CM 14.1 for the Oneplus 2 as a "userdebug" build (in future I would like to do a "user" build, which means no root), but I have two problems:
My build and CM official's are too many differents in terms of weight: 475Mb for mine, 513 for CM's one.
My build doesn't have working camera, EVEN with TheMuppets proprietary blobs. Here my local_manifest:
Code:
<manifest>
<project name="TheMuppets/proprietary_vendor_oneplus" path="vendor/oneplus" remote="github" revision="cm-14.1" />
<project name="CyanogenMod/android_device_oneplus_oneplus2" path="device/oneplus/oneplus2" remote="github" revision="cm-14.1" />
<project name="CyanogenMod/android_device_oppo_common" path="device/oppo/common" remote="github" revision="cm-14.1" />
<project name="CyanogenMod/android_kernel_oneplus_msm8994" path="kernel/oneplus/msm8994" remote="github" revision="cm-14.1" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" revision="cm-14.1" />
<project name="TheMuppets/proprietary_vendor_qcom_binaries" path="vendor/qcom/binaries" remote="github" revision="cm-14.1" />
</manifest>
Here the result: http://130.211.105.84/oneplus2/ (I build on Google Virtual Machine, based on Ubuntu 16.10).
When the build is done and I flash it (No error during installation and it booted fine), it says "Can't connect to camera", and I repeat, I have OP blobs (with TheMuppets github).
May someone helps me please ?
Thanks a lot!
OMG I'm ret*rd.
Code:
make otapackage
doesn't works well. Not well at all.
Please @Darth can you close this thread ? Really sorry about my stupidity..
Thanks !
Hi,
I'm trying to build LineageOS 13.0 for my ms01lte but I'm stuck at resolving a compile rule missing :
Code:
make: *** No rule to make target '/home/yumi14/android/system/out/target/product/ms01lte/obj/STATIC_LIBRARIES/libinit_msm_intermediates/export_includes', needed by '/home/yumi14/android/system/out/target
/product/ms01lte/obj/EXECUTABLES/init_intermediates/import_includes'. Stop.
I've searched on the web, downloaded qcom-common & samsung-qcom-common as it is the most common answer but it doesn't look to solve my problem.
I'm on ubuntu 16.04 with fresh LineageOS 13.0 repo and my device sources are from : https://github.com/MSM8226-Samsung/
Anyone can help me solving this ?
yumi14 said:
Hi,
I'm trying to build LineageOS 13.0 for my ms01lte but I'm stuck at resolving a compile rule missing :
Code:
make: *** No rule to make target '/home/yumi14/android/system/out/target/product/ms01lte/obj/STATIC_LIBRARIES/libinit_msm_intermediates/export_includes', needed by '/home/yumi14/android/system/out/target
/product/ms01lte/obj/EXECUTABLES/init_intermediates/import_includes'. Stop.
I've searched on the web, downloaded qcom-common & samsung-qcom-common as it is the most common answer but it doesn't look to solve my problem.
I'm on ubuntu 16.04 with fresh LineageOS 13.0 repo and my device sources are from : https://github.com/MSM8226-Samsung/
Anyone can help me solving this ?
Click to expand...
Click to collapse
Hello,
So, after some tests, I decided to just remove the lib from the build:
Code:
# file: device/samsung/msm8226-common/BoardConfigCommon.mk
TARGET_INIT_VENDOR_LIB := libinit_msm
I successfuly compiled a Kernel & TWRP Recovery and working well, now trying to build LineageOS 13.0 but I'm still curious how to build without removing 'libinit_msm' if someone knows.
yumi14 said:
Hello,
So, after some tests, I decided to just remove the lib from the build:
Code:
# file: device/samsung/msm8226-common/BoardConfigCommon.mk
TARGET_INIT_VENDOR_LIB := libinit_msm
I successfuly compiled a Kernel & TWRP Recovery and working well, now trying to build LineageOS 13.0 but I'm still curious how to build without removing 'libinit_msm' if someone knows.
Click to expand...
Click to collapse
I also tried to compile a kernel but it shows
soc sound changed from boolean to tristate after make command?
How did you do this?Which toolchain are you using?
Subhashis said:
I also tried to compile a kernel but it shows
soc sound changed from boolean to tristate after make command?
How did you do this?Which toolchain are you using?
Click to expand...
Click to collapse
Do you have all the needed components ?
Here's my manifest for ms01lte:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="MSM8226-Samsung" fetch="https://github.com/MSM8226-Samsung/" />
<remote name="CyanogenMod" fetch="https://github.com/CyanogenMod/" />
<remote name="TWRP" fetch="https://github.com/omnirom/" />
<project path="device/samsung/qcom-common" name="android_device_samsung_qcom-common" remote="CyanogenMod" revision="cm-13.0" />
<project path="device/qcom/common" name="android_device_qcom_common" remote="CyanogenMod" revision="cm-13.0" />
<project path="external/busybox" name="android_external_busybox" remote="CyanogenMod" revision="cm-13.0" />
<project path="bootable/recovery-twrp" name="android_bootable_recovery" remote="TWRP" revision="android-6.0" />
<project path="kernel/samsung/msm8226" name="kernel_samsung_msm8226" remote="MSM8226-Samsung" revision="common" />
<project path="device/samsung/msm8226-common" name="android_device_samsung_msm8226-common" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="hardware/qcom/audio" name="android_hardware_qcom_audio" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="device/samsung/ms01-common" name="android_device_samsung_ms01-common" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="kernel/samsung/ms013g" name="android_kernel_samsung_ms013g" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="device/samsung/ms013g" name="android_device_samsung_ms013g" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="vendor/samsung/ms013g" name="android_vendor_samsung_ms013g" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="kernel/samsung/ms01lte" name="android_kernel_samsung_ms01lte" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="device/samsung/ms01lte" name="android_device_samsung_ms01lte" remote="MSM8226-Samsung" revision="cm-13.0" />
</manifest>
I'm using the default toolchains for compiling LineageOS 13.0, e.g. :
Code:
repo init -u https://github.com/LineageOS/android.git -b cm-13.0
repo sync
Hi,
I have successfuly built a LineageOS 13.0 but when trying to flash it, it hangs at "Patching system image unconditionally...".
Does someone know how to debug the installation procedure ?
yumi14 said:
Hi,
I have successfuly built a LineageOS 13.0 but when trying to flash it, it hangs at "Patching system image unconditionally...".
Does someone know how to debug the installation procedure ?
Click to expand...
Click to collapse
Check the zip file.It generally happens for corrupted zips. It happened once for me too.
yumi14 said:
Do you have all the needed components ?
Here's my manifest for ms01lte:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="MSM8226-Samsung" fetch="https://github.com/MSM8226-Samsung/" />
<remote name="CyanogenMod" fetch="https://github.com/CyanogenMod/" />
<remote name="TWRP" fetch="https://github.com/omnirom/" />
<project path="device/samsung/qcom-common" name="android_device_samsung_qcom-common" remote="CyanogenMod" revision="cm-13.0" />
<project path="device/qcom/common" name="android_device_qcom_common" remote="CyanogenMod" revision="cm-13.0" />
<project path="external/busybox" name="android_external_busybox" remote="CyanogenMod" revision="cm-13.0" />
<project path="bootable/recovery-twrp" name="android_bootable_recovery" remote="TWRP" revision="android-6.0" />
<project path="kernel/samsung/msm8226" name="kernel_samsung_msm8226" remote="MSM8226-Samsung" revision="common" />
<project path="device/samsung/msm8226-common" name="android_device_samsung_msm8226-common" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="hardware/qcom/audio" name="android_hardware_qcom_audio" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="device/samsung/ms01-common" name="android_device_samsung_ms01-common" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="kernel/samsung/ms013g" name="android_kernel_samsung_ms013g" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="device/samsung/ms013g" name="android_device_samsung_ms013g" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="vendor/samsung/ms013g" name="android_vendor_samsung_ms013g" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="kernel/samsung/ms01lte" name="android_kernel_samsung_ms01lte" remote="MSM8226-Samsung" revision="cm-13.0" />
<project path="device/samsung/ms01lte" name="android_device_samsung_ms01lte" remote="MSM8226-Samsung" revision="cm-13.0" />
</manifest>
I'm using the default toolchains for compiling LineageOS 13.0, e.g. :
Code:
repo init -u https://github.com/LineageOS/android.git -b cm-13.0
repo sync
Click to expand...
Click to collapse
I was using linaro toolchain and had downloaded only android_kernel_samsung_ms013g not vendor,device,etc.I was using this guide:
https://forum.xda-developers.com/showthread.php?t=2152819
Let me download all the files(might take a month due to slow internet speed) and post the result :/ .BTW if you have any suggestions for me,then you are welcome
Subhashis said:
I was using linaro toolchain and had downloaded only android_kernel_samsung_ms013g not vendor,device,etc.I was using this guide:
https://forum.xda-developers.com/showthread.php?t=2152819
Let me download all the files(might take a month due to slow internet speed) and post the result :/ .BTW if you have any suggestions for me,then you are welcome
Click to expand...
Click to collapse
Unfortunatly for you, I won't be of much help for the moment, I'm pretty new to Kernel/Android stuff.
Good news, I was able to build Kernel + Recovery + LineageOS 13.0 and Flash everything to my phone, now I'll test functionnalities.
Hello guys,
im trying to port the halium project on the galaxy s4 jfltexx.
Now i want to verify if the local manifest is matching so i can build it from source.
Can anyone verify if its right or correct it if its not matching.
im using the source from the halium docs: Vendor from TheMuppets, Device specific source code from Lineageos and the kernel from lineageos, too.
So heres my local manifest:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="android_device_samsung_jfltexx" name="android_device_samsung_jfltexx" remote="los" revision="cm-14.1" />
<project path="device/samsung/jfltexx" name="android_device_samsung_jfltexx" remote="los" revision="cm-14.1" />
<project path="proprietary/vendor/samsung" name="proprietary_vendor_samsung" remote="them" revision="cm-14.1" />
<project path="android/kernel/samsung/jf" name="android_kernel_samsung_jf" remote="los" revision="cm-14.1" />
</manifest>
Thanks in advance!