[Android Software Development] AndroidSword:
ADDING BASIC MODS TO THE ROM​

Okay so now, let me tell you how to make your ROM, a lot more interesting and enjoyable to use. Now, the next main purpose of building a custom ROM is to add what is not there in the STOCK ROM, and that is MODS. You can add huge loads of MODS, which are already present in STOCK ROM but are disabled by Samsung. Many mods, for example, adding DATA USAGE in Notification Panel or disabling SMS TO MMS CONVERSION are as simple as adding a single line in a file, however, other MODS, like enabling VIRTUAL LOCK BUTTON in Status Bar requires few and very easy modding after decompiling apks, on the other hand, coloring stuffs in the SystemUI, requires some good modding skills and experience in decompiling stuffs.

Now, in this section, we will be discussing on adding basic mods, that is single line MODS, that I talked about earlier. So, first lets go through the easy stuffs, that is adding mods to build.prop.

ADDING MODS TO BUILD.PROP

Adding MODS to build.prop is actually very easy, and kitchen does all the stuffs. So follow the steps below and you will be good to go

Step1:-

Launch "ASSAYYED KITCHEN" and search for "ADDING BUILD.PROP TWEAKS" and select it.

Step 2:-

On asking for confirmation, just select "YES".

Step 3:-

Now, wait for a short time and once done Press ENTER, and now your ROM is much more smooth and fast. You can head to your build.prop (its in WORK/system) and look for those mods.

Now these are some amazing mods, you can play with some values (but be sure of what you are doing)

So, you've learnt on adding build.prop mods to your ROM. However, we are not limited to this, there are many other MODS to help you enable several things. Go ahead and read on XDA, and you will be surprised to know how many things, you can get by just changing some values or adding some lines in build.prop. Not only from XDA, but from other ROMS (but give appropriate credits to respect the efforts of the developer, who found it)

Now comes the tough (well not tough but overwhelming) part of this guide, that is adding CSC Mods.

WHAT IS CSC?

The Customer Service Code (CSC) plays an important role in the operation of your Samsung mobile device. The CSC code ensures that your mobile device complies with the standards for your country, and your cell phone operator. Therefore, if we can change/add a few lines in our CSC code, we can actually get features which Samsung disables due to the standards for your country. Hope you get it. Now the main task is to find those lines, through which we can enable these features.

So, we first locate , where to add/modify these lines. Now, navigate to your "WORK/system/csc". Here you will see many files and folders(maybe). Now, it is in this folder, that we make changes and mainly in the "others.xml" file. Now, open this file WITH NOTEPAD++ and you should see a lot of lines of codes which includes some value between <CscFeature...> </CscFeature...> or something like this.

HOW TO ADD CSC MODS

So by now, you know that what is CSC, and where to we add CSC Mods. Now lets learn how to add these MODS.

Well, remember a main rule here and that is COPY AND PASTE. We basically copy a few lines from some other country's others.xml (for your particular device) to your own others.xml.

Well, you can also copy these lines from some other Developer's work, but it is "MANDATORY" to give appropriate credits to the respective developer.

Here, I am listing some (not all xD) of the CSC MODS/lines that I used in my ROM:-

ENABLE CAMERA SHUTTER SOUND TOGGLE IN CAMERA SETTINGS:-

<CscFeature_Camera_ShutterSoundMenu>TRUE</CscFeature_Camera_ShutterSoundMenu>

ENABLE REALTIME NETWORK SPEED TOGGLE IN SETTINGS:-

<CscFeature_Setting_SupportRealTimeNetworkSpeed>TRUE</CscFeature_Setting_SupportRealTimeNetworkSpeed>

ENABLE NATIVE CALL RECORDING:-

<CscFeature_VoiceCall_ConfigRecording>RecordingAllowed</CscFeature_VoiceCall_ConfigRecording>

DISABLE SMS TO MMS CONVERSION:-

<CscFeature_Message_DisableConvertingEffectBetweenSMSMMS>TRUE</CscFeature_Message_DisableConvertingEffectBetweenSMSMMS>
<CscFeature_Message_DisableSmsToMmsConversionByTextInput>TRUE</CscFeature_Message_DisableSmsToMmsConversionByTextInput>

ENABLE WHITE PAGES (YOU NEED THE REQUIRED APK WITH THIS LINE):-

<CscFeature_Common_ConfigSvcProviderForUnknownNumber>whitepages,whitepages,whitepages</CscFeature_Common_ConfigSvcProviderForUnknownNumber>

ENABLE THE NFC ICON IN STATUSBAR:-

<CscFeature_NFC_StatusBarIconType>DEFAULT</CscFeature_NFC_StatusBarIconType>

ENABLE DATA USAGE IN NOTIFICATION PANEL:-

<CscFeature_SystemUI_SupportDataUsageViewOnQuickPanel>TRUE</CscFeature_SystemUI_SupportDataUsageViewOnQuickPanel>

Here, I have mentioned a few of many CSC Mods available for your devices. It is important to note that the above given codes are just to give you an idea. However, it is not necessary that all of the above codes will work with all of the Samsung Devices out there. If your device supports it then it will enable these MODS and if it does not then there will be no effect on the ROM. This is the beauty of CSC Mods, that if they are not compatible with your device, it will not affect your ROM/device in anyway. So, keep on adding MODS by reading, learning, copying and then pasting xD from other places.

Now after this, in the next section, we will discuss about updater-script and its syntax which will help you add various zip files directly to your ROM, so stay tuned for next upcoming posts, as they will be one of the most interesting parts of this guide