[Q] How to apply themes without restarting like Chameloen and MiUi - Android Q&A, Help & Troubleshooting

All the threads that I see for applying system wide, they would replace the framework-res.apk and SystemUI.apk and thus would require a restart of the device from the recovery mode.
However, the ROMs like MIUI and ChameleonOS does it without a restart.
Even few Old ICS devices used to come prebundeled with 2-3 Themes with different wallpapers and launcher default widgets.
I'm trying to do something on the lines of above ROMs and have started checking their code.
And found that the starting point is by appending an extra path with the AssetManager, but since they also do a lot of changes to other applications,
would be great if I can get some pointers on where to start, key things to do to get the ball rolling and if there is already some solution like this which I can add to my ROM

Your gonna be hard pressed to find anything other then looking at the source code for the CM theme chooser. Editing running system files is a big risk of corruption of the running task. This is why most require a restart.
Wayne Tech Nexus

Related

[Q] Seeking - Booting with no boot screen (raw console boot process)

When I installed Kaosinate either v2 or v3 (I don't think v4), it didn't have a bootanimation in there.
Instead of any SAMSUNG or anything like that, I watched the raw boot process, text and all (like I've seen in maybe a Linux system before on bootup).
It looked a lot like a logcat dump while booting up.
I want that back, and I haven't found a ROM or a mod to do so, at all.
Someone seemed to think that init.rc would need to be modified to make it happen, but I want to find out how!
I've searched around and someone is still trying to find this in the Nexus One forums, and was satisfied with a custom bootanimation (which I am not)
http://forum.xda-developers.com/showthread.php?t=646279
I am wondering if I would be able to modify a flashable .zip with the init.rc from Kaosinate v3, and then throw it into jt's CM 6.2.0 ROM that I'm using, and find any success?
Has anyone else looked into, desired, or completed this process?
You need to rebuild the kernel to enable it. It requires some code changes as well as a few config changes. I also don't know if you can use boot animations after making the changes.
So it is a situation where I need to use a specific kernel then..
I think that this is what it looks like, when this guy gets Android on his iPhone, and you watch the boot process.
Good shot of it at like 1:52:
http://www.youtube.com/watch?v=5yO2KQHkt4A
Yeah, it is kernel specific, and by default, the stock Samsung source does not support what you want, so you'd have to make a few edits and also change some config options related to the changes as well.

[Q] How to add recent apps back into notification

I was hoping someone would provide a quick step by step for adding recent apps back in. I am on Bamf Sense 3.0 rc 2. I know that there have been patches for this with many ROMS, but not all ROMS. So, rather than hoping for patches from the devs, I would like to know what has to be edited so that I might be able to make the mod myself on any ROM. I have no dev experience, but I can follow instructions very well. I assume that it merely requires an edit of some sort to the build.prop, but would not know where.
Bump, bump
lawtalking said:
I was hoping someone would provide a quick step by step for adding recent apps back in. I am on Bamf Sense 3.0 rc 2. I know that there have been patches for this with many ROMS, but not all ROMS. So, rather than hoping for patches from the devs, I would like to know what has to be edited so that I might be able to make the mod myself on any ROM. I have no dev experience, but I can follow instructions very well. I assume that it merely requires an edit of some sort to the build.prop, but would not know where.
Click to expand...
Click to collapse
I think adding recent apps requires more than just a build.prop edit, I would guess more along the lines of framework editing, which is, as far as I know, written in both XML and Java. However, long-pressing your home button will display your 8 most recent apps, and BAMF Remix has a flashable patch for restoring your recent apps to the notification pull-down, so your best bet would be to try flashing that (since both ROMs are BAMF-created, despite their differences) to see what happens. It may not work, it may blow up China, but just make a nandroid and go for it, worst case scenario restore your backup and crack open a coding book
BUMP!!... so many developers in this community and none wants to help!!
Unfortunately, the know-how for this is not anywhere online either.. I've googled for over a day for this.
I think it involves editing a smali file in SystemUI.apk.. (or SystemUI.odex if you are running an odexed rom).. just not sure which particular file and what particular colde needs to be changed to what.

[Q] Modifying (android ROM || AOSP source code) to run a tablet with only one app

I'm using Lenovo Ideatab A3000-h,
I want to make it to be set to run only one app after booting, not even the home page could run then, it will open at the app and still at it forever, I know it's a common need and this has been asked a lot of times before, So, after searching I discovered that there is three options :
1- Creating my own Custom ROM.
2- Making my application a launcher application using android manifest.
3- run a kiosk mode like surlock.
4- Modifying AOSP source code.
So, after a lot of search, I found that the third option can be easily broken be entering the tablet in safe mode and try to remove app then, or by removing it from accessing the tab by PC, and the second option can be broken by the same way.
So, all I got now is to use either the first option or the forth option, and when taking about the first option, thanks to NeroYoung I already know how to:
setting up android kitchen.
modifying ROM img files and jar files.
modifying build.prop.
generating the resulted Custom ROM.
but I don't know the way to reach my needs by customizing a ROM, so, all I want to know is how to modify the custom/stock ROM to achieve my requirement of booting to only a specific app. also if there is another way by making (System Backup ----> Modify ----> Restore Modified System) it will be great.
and when taking about the forth option, I already downloaded the source code and did know how to access it's resources, but don't know where is the source code that controls the start-up process and how to modify it. thanks in advance for all future contributors.

[Q] [ROM] Splashscreen for Custom ROM

All of the advice I have found on here is to add a custom splash screen to an existing ROM by grabbing the boot.img and modifying it with Android Kitchen, or else download a .zip and flash it using a custom recovery. I have been working on my own version of a ROM for my device using AOSP. I currently have the phone booting and working great with some modifications to drivers within the kernel. I am now focused on higher-level issues. I want to add a custom splash screen to my device build. I have added the boot animation by configuring the .mk file to copy my .zip into the right folder, but I am looking for the splash screen. This is the screen that loads at the very beginning on startup. If you have questions as to which screen is which, then PM me and I will straighten you out. I know this is higher difficulty than a lot of the questions on here, so I am hoping someone with more experience than I will be able to help. Ideally this would be done within the build of AOSP, and then able to be ported onto multiple devices (this may be useable for replication or mass production). An application solution would be inferior, but acceptable. I have been working with KitKat (4.4.2_r1) to make this build before porting it to other versions, so any apps should be advised with that in mind. Finally, the prize for adding a correct solution: you will be credited within the title bar of the source code of any files changed for this process, and there may be monetary compensation depending on the reliability and rapidity of response. Thanks!

[HELP] Deodex for Android .. good or bad ?

Almost every custom ROM we see is deodexed .. claiming that it has better compability for theming . and also makes ROM faster
This is interesting because I saw some developers not recommending deodexing on Nougat and newer android versions, their reason is
On LP and MM, there is no significant difference between the two (odex/deodex) in terms of speed and functionality
On Nougat, there is a significant difference..
On MM and LP, ART compiles the apps ahead of time on first boot, therefore apps are theoretically odexed once the ROM has booted
On Nougat, Android boots without compiling the apps and instead compiles apps in the background during times of low load/idle. THIS SIGNIFICANTLY AFFECTS PERFORMANCE AND BATTERY LIFE*
Click to expand...
Click to collapse
I'd love to hear from experts about this
I'm hardly an expert, and I am aware that I'm responding to a 4 month old post, but this is what I understand regarding deodexing and the phones performance:
A deodexed rom is one where all the APK and JAR files in the /system partition have their respective classes.dex files inside them. An odexed rom has those files in separate files, outside the main APK/JAR. These separate files used to have the extension "*.odex" but now can have "*.oat" or "*.vdex" instead.
Modding an odexed app is annoying as, if you want to change any of the information in the classes, you have to decompile and recompile both files. Since ART came along, there are some framework files that you can't mod at all without having to mod others at the same time. So a deodexed rom makes things a lot easier. One file, one decompile, one recompile, done.
Android processes the classes in the system partition only when the device boots for the first time (or if the relevant cache has been wiped). A deodexed rom takes longer to boot at this stage as it's slower for Android to extract the DEX files and process them. Processing an 'Optimised DEX' file is faster and more efficient.
Once the device has booted though, you shouldn't notice any performance difference from what I understand. All the apps that are running when the device is on (framework-res.apk, SystemUI.apk, etc) have already been processed. The device can't start until they have.
The apps you choose to start, like a game or music player, won't be affected by the deodex/odex nature of the rom.
Again, this is only how I understand it. I'm not a developer and I don't mind being proven wrong. But I don't see how a device can boot without processing the system apps. It has to process the classes information to know what those apps do, and those apps do what they do as soon as the device boots.

Categories

Resources