[Samsung Galaxy S 4 Unified Development] electrikjesus:
GUIDE, FAQ and Useful Links

Much of what follows applies to many ROMs. If you have suggestions for things to be added to this guide or find any errors then please let me know.

Purpose and Rules of XDA

XDA is a developers site. It is for learning and sharing. It is not here to "provide" apps or support to users. Most of the people that develop or help or support do so in their free time. No one "owes" you anything. You are not "entitled" to anything. Those that help others, are polite and try to help themselves will be more likely receive helpful and polite assistance.

Rule number one of XDA is :

Search

Other rules include:

Be respectful

Be tolerant

Be hepful

Don't be an ass ;)

Q&A or Dev Thread?

There is a separate development thread and Q&A/Discussion thread. Right now, I am happy for you to report all issues in the development thread.

But as it is a development thread, you should provide logs where ever possible and only report bugs if you have clean flashed. Telling others there may be an issue if you dirty flash is acceptable but please word it as such not a bug.

A little banter is accepted in the development thread, but please don't turn the thread into a chat room. Let's keep it fun but not so long nobody can be bothered to read, otherwise I'll have to revert to using the Q&A.

The Q&A is still there and available and is more "free".

Flashing

You should clean install for best results. If you "dirty flash" then at least wipe cache and dalvik/ART and you MUST provide logs with any issues.

Clean v Dirty Flash

There are a number of interpretations of clean flash. In recovery you should factory reset or wip everything except internal storage. This will wipe your apps and most app settings.

Whilst there are ways of backing up your settings they are not recommended because they can cause issues when there are changes to the ROM which affect how settings are stored or recorded. Do not restore system data: this often leads to forced closes and constant error messages.

You can use a backup app like Titanium Backup or Parcel. Sometimes restored apps can cause issues, and it is better and cleaner to re-download them, although not everyone has the time or inclination to do this.

If you do not wipe as per above, then you are dirty flashing. This is quicker and often works. But because things are left behind from the previous flash this can result in weird issues. When you dirty flash you really should wipe cache and dalvik/ART, so that there aren't residual

Reporting Issues

Before Reporting Issues

If you have issues with your new flashed system there are a few things to do before you report them.

First, if you have dirty flashed then try a clean flash to see if the issue remains - many issues are cleared this way. Also, it is very difficult to pin-point certain issues after a dirty flash.

Also, if you have Xposed installed then remove that before reporting. This is because Xposed can change things deep within the OS and make things behave differently, which in turn makes it very difficult to troubleshoot and resolve issues. This is Xposed hate - many devs require this and will not offer any support if Xposed is installed.

Reboot. It's surprising how many issues can be resolved by this simple step. Especially if an app is misbehaving or using a lot of battery.

How to Report An Issue

The biggest bugbear of those trying to help with issues is when they are not properly reported and require to have the same questions answered over and over. The circumstances may require different information, but here are a few common items to consider posting:

Version. Often people miss this and are reporting something that was solved days or weeks ago. Others say "latest" when it may not be. Quote the version number and/or build date.

Firmware. Again, quote the date or source.

GApps. The GApps version can affect which version of Google Play Services and PlayStore, amongst others that are used. Whilst often GApps can be "out of date" without any issue, when there is a lot of development by CM this can be very relevant.

Whether you clean or dirty flashed.

A log. Necessary if you dirty flashed, very useful even if you clean flashed. See below for how to do this.

How to replicate the issue. The more specific about how the issue arises and when, the more likely you are to get a quick resolution. If no one can replicate the issue it is unlikely they can resolve the issue.

How to Take a Log

This is an excellent guide.

Some kernels have their own log/bug report option to make things easier.

Useful Links

Google and the XDA search bar are your friends.

Whatever you want to ask or find, it's probaly already there. This is why you often see replies just saying "Search!"

XDA: RULES - MOD HELP - SUMMED UP 1 - SUMMED UP 2 - BEST WAY TO GET A LOG

Frequently Asked Questions

No one answered my question.

Maybe no one has read it yet - you may need to give it time. Maybe no one knows the answer yet. Have you already tried to solve the issue? Were you polite? Did you give enough information? There is no need to keep bumping your post.

Which folder does the OTA file get downloaded to? Is it the full file or just the incremental update? Are there nightlies?

/sdcard/Download and it's the full file. They aren't nightly but they are normally very frequent.

Does BlissPop support Layers / RRO?

No. It has the CM theme engine.

Which kernel is best for....?

Stock is really quite good, so I'm not going to suggest any others, as there aren't many now and are easy to find on XDA. So much depends on you: your setup, apps, usage, signal. The list goes on. The real best way to find out is try them for yourself; give each one a few days to settle and you can observe battery usage, smoothness, speed, tweakability etc. But there is no Holy Grail kernel - one that gives the best of everything for everybody. "Performance" and "battery" aren't mutually exclusive, but most kernels are biased towards one or the other. Kernel governors and hotplugs also have an effect. If you are interested in a kernel, read some of the kernel thread.

One last point. When there are changes from CM the date and commits of a kernel can be important so the kernel and ROM aren't out of sync.

How is Battery Life

This often gets asked, but there is no clear answer that suits everyone. So lets start of by saying the team finds battery life to be very good.

There are however many things affecting battery life. Your apps, settings and signal all have a big effect. As does how often your apps are updating and whether over wifi or mobile data. Additionally, which kernel and it's settings also have an effect. As does screen brightness. Certain social and messaging apps can have a huge drain. How often you flash a new ROM has a big effect too. Ideally, from a battery life perspective, you should allow everything to settle and go through a couple of charge cycles. With the frequency of BlissPop updates I have never achieved this!

So every user will have different battery life and typical screen on time. Make sure when doing comparisons you really do it on a like for like basis.

If you want to investigate battery usage, consider apps like Wakelock Detector (WLD) and Better Battery Stats (BBS) as well as GSAM Battery Monitor. These will often pinpoint where battery is being consumed and what is waking your device. Quite often you will see an app misbehaving which can often be resolved with a simple reboot.

?

?