diff --git a/resources/js/config.js b/resources/js/config.js
index 63e9a04..e94b54b 100644
--- a/resources/js/config.js
+++ b/resources/js/config.js
@@ -1 +1 @@
-var __DOCS_CONFIG__ = {"id":"SPbc34jbfhJy139sATuB8MrEbt4AMJXnSMF","key":"xkSmAk5+UmNtIBwjEiN3O8FAC/rvEL/ykSeeI68wpBc.hh1rSN5s8R4estZJjEq5F4U17Ge47Ezg+WoBbYESxpHOMrFGcvMHNxekh8ObWRzLbY9TKRWlO8O7WlC0wY4DyQ.35","base":"/","host":"docs.blissroms.org","version":"1.0.0","useRelativePaths":true,"documentName":"index.html","appendDocumentName":false,"trailingSlash":true,"preloadSearch":false,"cacheBustingToken":"2.3.0.709149930596","cacheBustingStrategy":"query","sidebarFilterPlaceholder":"Filter","toolbarFilterPlaceholder":"Filter","showSidebarFilter":true,"filterNotFoundMsg":"No member names found containing the query \"{query}\"","maxHistoryItems":15,"homeIcon":"<path d=\"M12.97 2.59a1.5 1.5 0 00-1.94 75 0l-7.5 6.363A1.5 1.5 0 003 10.097V19.5A1.5 1.5 0 004.5 21h4.75a.75.75 0 00.75-.75V14h4v6.25c0 .414.336.75.75.75h4.75a1.5 1.5 0 001.5-1.5v-9.403a1.5 1.5 0 00-.53-1.144l-7.5-6.363z\"></path>","access":[{"value":"public","label":"Public"},{"value":"protected","label":"Protected"}],"toolbarLinks":[{"id":"fields","label":"Fields"},{"id":"properties","label":"Properties","shortLabel":"Props"},{"id":"methods","label":"Methods"},{"id":"events","label":"Events"}],"sidebar":[{"n":"/","l":"Welcome","s":"<path fill-rule=\"evenodd\" d=\"M11.03 2.59a1.5 1.5 0 011.94 0l7.5 6.363a1.5 1.5 0 01.53 1.144V19.5a1.5 1.5 0 01-1.5 1.5h-5.75a.75.75 0 01-.75-.75V14h-2v6.25a.75.75 0 01-.75.75H4.5A1.5 1.5 0 013 19.5v-9.403c0-.44.194-.859.53-1.144l7.5-6.363zM12 3.734l-7.5 6.363V19.5h5v-6.25a.75.75 0 01.75-.75h3.5a.75.75 0 01.75.75v6.25h5v-9.403L12 3.734z\"/>"},{"n":"guides","l":"Guides","c":false,"o":true,"i":[{"n":"build-guide","l":"Build Bliss​Rom"},{"n":"conclusion","l":"Conclusion"},{"n":"troubleshoot","l":"Troubleshoot"}],"s":"<path fill-rule=\"evenodd\" d=\"M0 3.75A.75.75 0 01.75 3h7.497c1.566 0 2.945.8 3.751 2.014A4.496 4.496 0 0115.75 3h7.5a.75.75 0 01.75.75v15.063a.75.75 0 01-.755.75l-7.682-.052a3 3 0 00-2.142.878l-.89.891a.75.75 0 01-1.061 0l-.902-.901a3 3 0 00-2.121-.879H.75a.75.75 0 01-.75-.75v-15zm11.247 3.747a3 3 0 00-3-2.997H1.5V18h6.947a4.5 4.5 0 012.803.98l-.003-11.483zm1.503 11.485V7.5a3 3 0 013-3h6.75v13.558l-6.927-.047a4.5 4.5 0 00-2.823.971z\"/>"},{"n":"maintainers","l":"Maintainers","c":false,"o":true,"i":[{"n":"blissrom-overlays","l":"Blissrom overlays"},{"n":"requirements","l":"Bliss​Roms Maintainer Requirements"},{"n":"code_of_conduct","l":"Maintainers Code of Conduct:"}],"s":"<path fill-rule=\"evenodd\" d=\"M3.5 8a5.5 5.5 0 118.596 4.547 9.005 9.005 0 015.9 8.18.75.75 0 01-1.5.045 7.5 7.5 0 00-14.993 0 .75.75 0 01-1.499-.044 9.005 9.005 0 015.9-8.181A5.494 5.494 0 013.5 8zM9 4a4 4 0 100 8 4 4 0 000-8z\"/><path d=\"M17.29 8c-.148 0-.292.01-.434.03a.75.75 0 11-.212-1.484 4.53 4.53 0 013.38 8.097 6.69 6.69 0 013.956 6.107.75.75 0 01-1.5 0 5.193 5.193 0 00-3.696-4.972l-.534-.16v-1.676l.41-.209A3.03 3.03 0 0017.29 8z\"/>"}],"search":{"mode":0,"minChars":2,"maxResults":20,"placeholder":"Search","hotkeys":["/"],"noResultsFoundMsg":"Sorry, no results found.","recognizeLanguages":true,"languages":[0],"preload":false}};
+var __DOCS_CONFIG__ = {"id":"7y7o264R1oWLwK6caqZ5Bhg5qOD0o/TVqIH","key":"ep/FSgmIPBFaE2Z5oGHnflCcgxa58uoAJcd1PHo50wM.F1969jJESlOGE2adcTJKvK+l4fLE+Jg9CvCAFLE7VU/r2MxHI2nCim3eFGAM3gvsnIJW8v5QoJ6MW187Xfb4DQ.3","base":"/","host":"docs.blissroms.org","version":"1.0.0","useRelativePaths":true,"documentName":"index.html","appendDocumentName":false,"trailingSlash":true,"preloadSearch":false,"cacheBustingToken":"2.3.0.709195816949","cacheBustingStrategy":"query","sidebarFilterPlaceholder":"Filter","toolbarFilterPlaceholder":"Filter","showSidebarFilter":true,"filterNotFoundMsg":"No member names found containing the query \"{query}\"","maxHistoryItems":15,"homeIcon":"<path d=\"M12.97 2.59a1.5 1.5 0 00-1.94 200 0l-7.5 6.363A1.5 1.5 0 003 10.097V19.5A1.5 1.5 0 004.5 21h4.75a.75.75 0 00.75-.75V14h4v6.25c0 .414.336.75.75.75h4.75a1.5 1.5 0 001.5-1.5v-9.403a1.5 1.5 0 00-.53-1.144l-7.5-6.363z\"></path>","access":[{"value":"public","label":"Public"},{"value":"protected","label":"Protected"}],"toolbarLinks":[{"id":"fields","label":"Fields"},{"id":"properties","label":"Properties","shortLabel":"Props"},{"id":"methods","label":"Methods"},{"id":"events","label":"Events"}],"sidebar":[{"n":"/","l":"Welcome","s":"<path fill-rule=\"evenodd\" d=\"M11.03 2.59a1.5 1.5 0 011.94 0l7.5 6.363a1.5 1.5 0 01.53 1.144V19.5a1.5 1.5 0 01-1.5 1.5h-5.75a.75.75 0 01-.75-.75V14h-2v6.25a.75.75 0 01-.75.75H4.5A1.5 1.5 0 013 19.5v-9.403c0-.44.194-.859.53-1.144l7.5-6.363zM12 3.734l-7.5 6.363V19.5h5v-6.25a.75.75 0 01.75-.75h3.5a.75.75 0 01.75.75v6.25h5v-9.403L12 3.734z\"/>"},{"n":"guides","l":"Guides","c":false,"o":true,"i":[{"n":"build-guide","l":"Build Bliss​Rom"},{"n":"conclusion","l":"Conclusion"},{"n":"troubleshoot","l":"Troubleshoot"}],"s":"<path fill-rule=\"evenodd\" d=\"M0 3.75A.75.75 0 01.75 3h7.497c1.566 0 2.945.8 3.751 2.014A4.496 4.496 0 0115.75 3h7.5a.75.75 0 01.75.75v15.063a.75.75 0 01-.755.75l-7.682-.052a3 3 0 00-2.142.878l-.89.891a.75.75 0 01-1.061 0l-.902-.901a3 3 0 00-2.121-.879H.75a.75.75 0 01-.75-.75v-15zm11.247 3.747a3 3 0 00-3-2.997H1.5V18h6.947a4.5 4.5 0 012.803.98l-.003-11.483zm1.503 11.485V7.5a3 3 0 013-3h6.75v13.558l-6.927-.047a4.5 4.5 0 00-2.823.971z\"/>"},{"n":"documentation","l":"Documentation","c":false,"o":true,"i":[{"n":"overlays","l":"Overlays"}],"s":"<path fill-rule=\"evenodd\" d=\"M0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0122.25 21H1.75A1.75 1.75 0 010 19.25V4.75zm1.75-.25a.25.25 0 00-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 00.25-.25V4.75a.25.25 0 00-.25-.25H1.75z\"/><path fill-rule=\"evenodd\" d=\"M5 8.75A.75.75 0 015.75 8h11.5a.75.75 0 010 1.5H5.75A.75.75 0 015 8.75zm0 4a.75.75 0 01.75-.75h5.5a.75.75 0 010 1.5h-5.5a.75.75 0 01-.75-.75z\"/>"},{"n":"maintainers","l":"Maintainers","c":false,"o":true,"i":[{"n":"code_of_conduct","l":"Code of Conduct"},{"n":"requirements","l":"Requirements"}],"s":"<path fill-rule=\"evenodd\" d=\"M3.5 8a5.5 5.5 0 118.596 4.547 9.005 9.005 0 015.9 8.18.75.75 0 01-1.5.045 7.5 7.5 0 00-14.993 0 .75.75 0 01-1.499-.044 9.005 9.005 0 015.9-8.181A5.494 5.494 0 013.5 8zM9 4a4 4 0 100 8 4 4 0 000-8z\"/><path d=\"M17.29 8c-.148 0-.292.01-.434.03a.75.75 0 11-.212-1.484 4.53 4.53 0 013.38 8.097 6.69 6.69 0 013.956 6.107.75.75 0 01-1.5 0 5.193 5.193 0 00-3.696-4.972l-.534-.16v-1.676l.41-.209A3.03 3.03 0 0017.29 8z\"/>"}],"search":{"mode":0,"minChars":2,"maxResults":20,"placeholder":"Search","hotkeys":["/"],"noResultsFoundMsg":"Sorry, no results found.","recognizeLanguages":true,"languages":[0],"preload":false}};
diff --git a/resources/js/search.json b/resources/js/search.json
index 4137a86..ba9b182 100644
--- a/resources/js/search.json
+++ b/resources/js/search.json
@@ -1 +1 @@
-[[{"l":"Welcome to BlissRoms","p":["BlissRoms is an open-source operating system based on Android with customizations, options and added security features. Our prime aim is to provide a blissful experience to our users."]},{"l":"BlissRoms Important Links","p":["Website","Downloads","Twitter","Instagram","Telegram","Reddit","Github","Gerrit Code Review","Help us to Translate"]}],[{"l":"Build BlissRom"},{"l":"Introduction","p":["This is the official guide to build BlissRom for your device. In this guide, we will only cover official devices with actual maintainers. We will not delve into porting devices.","The golden rule to building is patience. If something breaks, wait for your maintainer to fix it, send a polite message to your maintainer, or better yet, try and fix it yourself. Then you can make a merge request and contribute!","Let’s get started."]},{"l":"Preparation","p":["To get started, you need a computer with Ubuntu 18.04 (LTS), at least 200GB space of HDD, and at least 8GB RAM. A decent CPU (or CPUs if you have a server motherboard) is recommended. Other distros can work but is not officially supported in this guide.","Underpowered machines may crash during compilation. If that happens, you may try and restart the build as most crashes are caused by lack of memory. If your storage space has run out, then you will need to build on a different hard drive."]},{"l":"Install the JDK","p":["Install OpenJDK:"]},{"l":"Install build tools","p":["To install the required build tools, run the following command:"]},{"l":"Install source code tools","p":["Now we need to get the source code via a program named repo. The primary function of repo is to read a manifest file located in BlissRoms GitHub organization, and find what repositories you need to actually build Android.","Create a ~/bin directory for repo:","The -p flag instructs mkdir to only create the directory if it does not exist in the first place. Now download the repo tool into ~/bin:","Make repo executable:","And add it to PATH:","Scroll to the end of the file and type these lines:","Ctrl-O and enter to save, then Ctrl-X to exit nano. Now either logout and login again (or reboot), or source the file:","Which can be shortened to:"]},{"i":"what-is-source","l":"What is source?","p":["source is a bash command to read aliases, functions, and commands from the specified file. Typically, you'll supply bash with a configuration file such as .bashrc or .bash_profile, or an initialization file such as envsetup.sh. The difference is that while the configuration file lists configuration and user-defined aliases and functions, initialization files typically hold build commands such as breakfast, brunch, and lunch. Without those commands building would be significantly harder as you would have to memorize the long command to invoke a build manually!","But why do you need to run it after modifying a file? Well, bash cannot automatically detect changes in our files. To solve this, we either source it or log out and log back in, forcing bash to reload configuration files. Keep this in mind, because unlike configuration files, if you forget to source initialization files, build commands will not function!"]},{"l":"Download","p":["Create a directory for the source:","Before we download, we need to tell repo and git who we are. Run the following commands, substituting your information:","Now, we’re ready to initialize. We need to tell repo which manifest to read:","-b is for the branch, and we’re on q, Android 10. It’ll take a couple of seconds. You may need to type y for the color prompt.","Then sync the source:","Note: For more information about the repo tool, visit the Build Tips guide to learn more about the repo flags.","repo will start downloading all the code. That’s going to be slow, even on a fiber network. Expect downloads to take more than a couple hours."]},{"l":"Build","p":["Set up the build environment:","This is the initialization file we talked about earlier up top. This \"initializes\" the environment, and imports a bunch of useful build commands required to build your device. Again, you need to remember to source this file every time you log out and log back in, or launch a new bash/Terminal instance.","Define what device you’re going to build. For example, the Pixel 4A, has a codename of sunfish. You can check your specific device's codename on GitHub or on Google. Execute:","What does this do? breakfast searches repositories for your device \"tree\", which contains all the details needed to make the build suitable for your device. CPU, kernel info, device screen size, whether the board has Bluetooth, NFC, what frequencies the build needs for Wi-Fi, and a bunch of other things. breakfast will automatically search in the BlissRoms-Devices GitHub repository, and grab your device tree for you.","Okay, so we have the device tree set up. Feel free to browse around the source code to see what changed. You should see folders added to device/, kernel/ and vendor/. A shortcut:","will dump you back in the root of the source code tree. So if you’ve been going through folders and don’t have any idea where you are, you can use the above command. This command, however, requires you to have source d build/envsetup.sh earlier.","We're ready to build, but before we teach you the easy command to execute a build, we will first try the manual method. To set up the current terminal environment for building your particular device, execute:","Let's break down the command. lunch initializes the proper environmental variables required for the build tools to build your specific device. Things like BLISS_DEVICE and other variables are set in this stage, and the changed variables will be shown as output. bliss_ is the ROM that we are building. As convention, all devices will have this prefix. sunfish is the specific device we are building - in this case, the Pixel 4A. Finally, userdebug means that we will build a user-debuggable variant. This is usually what most ROMs use for publishing their builds. Manufacturers typically use user which disables most of the useful Android Logcats."]},{"i":"my-device-isnt-booting-and-userdebug-wont-print-any-adb-logcats-what-gives","l":"My device isn't booting, and userdebug won't print any adb logcats. What gives?","p":["There is a third build variant called eng, short for engineering builds. These builds will activate adb logcat during boot, and will show you exactly what is going wrong, where, and why. However, these builds are NOT recommended for normal usage as they are not securely hardened, have log spam that will slow down your device, and other unexpected problems like userspace utilities crashing during runtime. If you want to submit your device for mainline, do NOT submit an eng build!","All set? Let's start the building process. Run:","mka blissify","And the build should start. The build process will take a long time. Prepare to wait a few hours, even on a decent machine."]},{"i":"why-mka-and-not-make","l":"Why mka and not make?","p":["make only runs with 1 thread. mka is properly aliased to use all of your threads by checking nproc.","If you want to customize your thread count (maybe you're building with a fan-screaming laptop in a quiet coffee shop), use make blissify -j#, replacing the hash with the number of threads (example of make blissify -j4)."]},{"i":"i-get-an-error-about-no-blissify-targets-to-build-against-whats-wrong","l":"I get an error about no blissify targets to build against, what's wrong?","p":["If you are building other ROMs, it is usually make bacon. For BlissRoms, we chose the build target of blissify. If that doesn't work, sometimes there is a bug, or the ROM developers do not implement a bacon target to build against. In this case, you will need to find what name they use to initialize a full build of the ROM. Conventionally, it is supposed to be bacon, but some ROM developers change this name inadvertently, or actually have a bug that causes the build target to never be found. If you cannot locate the build target, ask the developers of the ROM. Alternatively, you can try poking around in build/make/core/Makefile to see what the build target name is. But this is out of the scope of this article as you're not supposed to be building other ROMs (that's not what this tutorial is for, sorry!)","All right, but that's annoying. You had to type three commands to build it all. What about running one command?","Options:","Examples:","To build with gapps","To build with FOSS","To build with gapps and deviceclean","To build an userdebug build with gapps","To build an eng build with gapps","To build an user build with gapps","This method is also backwards compatible with the legacy blissify command also Default build type = userdebug Default build variant = vanilla","But what is blissify? It is a compact form of these commands:","Sounds great, right? Once you have run the command, jump over to the next section."]},{"l":"After building","p":["There are two outcomes to a build - either it fails and you get a red error message from make, or it succeeds and you see the Bliss logo in ASCII. If you encounter the former, you need to go back and fix whatever it's complaining about. Typically, 90% of the time the problem will be in your device tree. For the other 10%, submit a bug report to the ROM developers. Be sure to include the full log of your build to help diagnose the problem, and your device tree.","If you face the latter, congratulations! You've successfully built BlissRoms for your device. Grab the artifacts for your device:","In here, you’ll find a .zip that goes along the lines of Bliss-v14.4-sunfish-UNOFFICIAL-vanilla-20210615.zip. Install TWRP, flash the build to your device, and enjoy!"]}],[{"l":"Conclusion"},{"l":"Conclusion","p":["Building a ROM is very hard and tedious and the results are very rewarding! If you managed to follow along, congratulations!","After you finish building, you can try out the Git Started guide. Make changes, commit, and send them off to our Gerrit for review! Or better yet, download experimental commits not ready for the mainline repositories and review them! Again, ROM building is a fun project you can work with. I hope this guide was a lot of fun to run through!"]}],[{"l":"Troubleshoot"},{"l":"Troubleshooting","p":["If your build failed, there are a couple things you can try.","Try a fresh repo sync to make your repository up to date. Sometimes, the Internet connection between you and GitHub can be flaky. In rare cases a commit merge might be ongoing, and you might've grabbed an incomplete merge. Mostly, this should fix the issue 70% of the time.","Make sure your dependencies are installed correctly. Error messages help out a lot here! Often it will say shared/linked library not found or something along those lines.","Make sure you sourced build/envsetup.sh. This is especially common and worth suspecting if none of the build commands like breakfast and lunch work. If you have repo sync ed do this again.","Make sure you’re at the root of the build tree. Again, to quickly jump there, use croot.","Make sure you ran breakfast correctly and it did not error out. Missing device files will prevent successful builds.","Make sure your computer meets minimum requirements to compile AOSP. Chances are, you need more memory/CPU power to complete a build.","Make sure your computer isn't faulty. This is unlikely, but to check, use a stress-test program like Prime95.","If something goes wrong and you've tried everything above, first use Google to look up your error! Most of the errors you encounter is due to misconfiguration and wrong commands entered. More often than not, Google will have the answer you are looking for. If you're still stuck and nothing fixes the problem, then ask us via our Telegram Build Support chat.(Please only ask issues about BlissRoms, not other custom ROMs as we are unable to assist with those!)"]}],[{"l":"Blissrom overlays"},{"l":"General Overlays"},{"i":"-battery-health-overlay","l":"• Battery Health Overlay","p":["This overlay is required to Enable battery health section.","This overlay is required to Enable battery charging cycle counts in battery page in setting app.","You will need to check your available kernel nodes before selecting them Note that nodes availability depends on kernel version","Example"]},{"i":"-charging-support-overlay","l":"• Charging Support Overlay","p":["- VOOC Charging ( If your device supports )","This overlay is required to Enable VOOC charging support.","- WARP Charging ( If your device supports )","This overlay is required to Enable Warp charging support.","- Dash Charging ( If your device supports )","This overlay is required to Enable Dash charging support."]},{"i":"-smart-charging","l":"• Smart Charging","p":["This overlay is required to make Smart Charging feature functioning.","Example"]},{"i":"-live-display","l":"• Live Display","p":["This overlay is required to make Live Display feature functioning."]},{"i":"-multi-usb-controller-overlay-only-for-asus-rog-devices","l":"• Multi usb controller overlay (ONLY FOR ASUS ROG DEVICES)","p":["Since all ROG devices have 2 usb ports. We can use both for mtp, not just as charger.","This overlay is required to add support for Multi USB Controller."]},{"i":"-high-aspect-ratio","l":"• High Aspect Ratio","p":["This overlay is required to make full screen apps function working properly"]},{"i":"-multi-colour-led","l":"• Multi-colour LED","p":["This overlay is required to Enable Multi-coloured LED lights for supported devices.","For most of the Xiaomi devices, this must be set to 'false' as they have white-only LEDs."]},{"i":"-call-recording","l":"• Call Recording","p":["This feature only works on AOSP Dialer and not on Google Dialer.","This overlay is required to Enable Call recording on AOSP Dialer's.","Call recording is illegal in some countries. Kindly refer to local laws before enabling this feature!!"]},{"l":"FOD Specific Overlays"},{"i":"-fod-support","l":"• FOD Support","p":["This overlay is required to Enable FOD Support. Required inorder for FOD to work."]},{"i":"-fod-animations","l":"• FOD Animations","p":["For FOD Animation to work you need 2 things in your device tree source.","A Flag in bliss_codename.mk makefile in your respective device tree","An overlay to set Default FOD Pressed Color","Flag Required to build FOD Animation resources","To set Default FOD Pressed color","This overlay is required to set Default FOD Pressed Color."]},{"i":"-screen-off-fod","l":"• Screen-Off FOD","p":["This overlay is required to Enable Screen OFF FOD."]}],[{"l":"BlissRoms Maintainer Requirements","p":["Before you apply for maintainership to add your device to our official devices list, please read the following requirements carefully.","Warning: Any violations found or any attempts to circumvent the requirements below may lead to your application being rejected and you being blacklisted from the maintainer program.","You must physically own the device you are applying official status for. We do not allow blind builds.","We may allow exceptions if a trusted friend owns the device and is willing to help test your builds. However, this will only be approved on a case-by-case basis.","Asking users to test blind builds is not allowed.","You must have a working knowledge of Git and Gerrit.","You must maintain said device unofficially for at least 1 month with constant updates. Make sure builds are stable for usage. Users should not report any significant problems with your build.","You must release your device sources publicly with proper authorship on every commit. We do not allow hiding sources to \"compete\" with other ROM teams, as we believe that goes against the open source spirit.","Once applied, please do not spam team members with updates regarding your application. We will respond within a week with your application decision."]}],[{"i":"maintainers-code-of-conduct","l":"Maintainers Code of Conduct:","p":["About Sepolicy Rules, the maintainers MUST NOT:","All theirs device sources on BlissRoms-Devices organization. It goes without saying that these should be fully buildable. Using external repos for build releases aren't allowed, unless they're from LineageOS/TheMuppets organization(s). Exceptions may be open if only it's absolutely necessary.","Allow write access to generic directory/file/prop labels (With some exceptions).","Any Apps that are not shipped with BlissRoms. This includes Browsers and other apps.","Any stock firmware apps. Only Google Camera and camera app from stock firmware is allowed only if its fully functional.","If any of these rules are broken, the administration will take direct action against the maintainer without prior warning.","Ignore Sepolicy Neverallows.","In the event of any disagreements between maintainers, sort them out via direct messages on Telegram or XDA. Do not take your fights to our chats, approach the administration if you want something sorted out quickly. The same is valid for our public chat.","MUST maintain authorship of git commits that are pushed, this is a mandatory requirement for ALL repositories. Force-pushes are acceptable, but try to keep them to a minimum.","MUST NOT add:","MUST NOT get involved in arguments or resort to insults, or use hateful words, personal attacks or any other verbal or nonverbal action that is considered detrimental towards the creation of a positive environment for the team.","MUST ship the BlissRoms Updates atleast once a month or as notified by BlissRoms Administration. If this is not possible, the reason(s) must be sent to the BlissRoms Administration within 48hrs. In the absence of any explanation, a maintainer will be contacted thrice. If there is no satisfactory answer or the administration does not receive a reply, the maintainer will be kicked without any prior warning.","MUST test every build before sending an OTA update to users. Each build must be thoroughly vetted by the maintainer before it is released, and all hardware and software functionalities MUST be tested before a build is released. Releasing untested builds can (and will) lead to your maintainership being revoked.","MUST upload:","The key words \"MUST\", \"MUST NOT\", \"REQUIRED\", \"SHALL\", \"SHALL NOT\", \"SHOULD\", \"SHOULD NOT\", \"RECOMMENDED\", \"MAY\", and \"OPTIONAL\" in this document are to be interpreted as described in RFC 2119.","The Maintainers:"]}]]
\ No newline at end of file
+[[{"l":"Welcome to BlissRoms","p":["BlissRoms is an open-source operating system based on Android with customizations, options and added security features. Our prime aim is to provide a blissful experience to our users."]},{"l":"BlissRoms Important Links","p":["Website","Downloads","Twitter","Instagram","Telegram","Reddit","Github","Gerrit Code Review","Help us to Translate"]}],[{"l":"Build BlissRom"},{"l":"Introduction","p":["This is the official guide to build BlissRom for your device. In this guide, we will only cover official devices with actual maintainers. We will not delve into porting devices.","The golden rule to building is patience. If something breaks, wait for your maintainer to fix it, send a polite message to your maintainer, or better yet, try and fix it yourself. Then you can make a merge request and contribute!","Let’s get started."]},{"l":"Preparation","p":["To get started, you need a computer with Ubuntu 18.04 (LTS), at least 200GB space of HDD, and at least 8GB RAM. A decent CPU (or CPUs if you have a server motherboard) is recommended. Other distros can work but is not officially supported in this guide.","Underpowered machines may crash during compilation. If that happens, you may try and restart the build as most crashes are caused by lack of memory. If your storage space has run out, then you will need to build on a different hard drive."]},{"l":"Install the JDK","p":["Install OpenJDK:"]},{"l":"Install build tools","p":["To install the required build tools, run the following command:"]},{"l":"Install source code tools","p":["Now we need to get the source code via a program named repo. The primary function of repo is to read a manifest file located in BlissRoms GitHub organization, and find what repositories you need to actually build Android.","Create a ~/bin directory for repo:","The -p flag instructs mkdir to only create the directory if it does not exist in the first place. Now download the repo tool into ~/bin:","Make repo executable:","And add it to PATH:","Scroll to the end of the file and type these lines:","Ctrl-O and enter to save, then Ctrl-X to exit nano. Now either logout and login again (or reboot), or source the file:","Which can be shortened to:"]},{"i":"what-is-source","l":"What is source?","p":["source is a bash command to read aliases, functions, and commands from the specified file. Typically, you'll supply bash with a configuration file such as .bashrc or .bash_profile, or an initialization file such as envsetup.sh. The difference is that while the configuration file lists configuration and user-defined aliases and functions, initialization files typically hold build commands such as breakfast, brunch, and lunch. Without those commands building would be significantly harder as you would have to memorize the long command to invoke a build manually!","But why do you need to run it after modifying a file? Well, bash cannot automatically detect changes in our files. To solve this, we either source it or log out and log back in, forcing bash to reload configuration files. Keep this in mind, because unlike configuration files, if you forget to source initialization files, build commands will not function!"]},{"l":"Download","p":["Create a directory for the source:","Before we download, we need to tell repo and git who we are. Run the following commands, substituting your information:","Now, we’re ready to initialize. We need to tell repo which manifest to read:","-b is for the branch, and we’re on q, Android 10. It’ll take a couple of seconds. You may need to type y for the color prompt.","Then sync the source:","Note: For more information about the repo tool, visit the Build Tips guide to learn more about the repo flags.","repo will start downloading all the code. That’s going to be slow, even on a fiber network. Expect downloads to take more than a couple hours."]},{"l":"Build","p":["Set up the build environment:","This is the initialization file we talked about earlier up top. This \"initializes\" the environment, and imports a bunch of useful build commands required to build your device. Again, you need to remember to source this file every time you log out and log back in, or launch a new bash/Terminal instance.","Define what device you’re going to build. For example, the Pixel 4A, has a codename of sunfish. You can check your specific device's codename on GitHub or on Google. Execute:","What does this do? breakfast searches repositories for your device \"tree\", which contains all the details needed to make the build suitable for your device. CPU, kernel info, device screen size, whether the board has Bluetooth, NFC, what frequencies the build needs for Wi-Fi, and a bunch of other things. breakfast will automatically search in the BlissRoms-Devices GitHub repository, and grab your device tree for you.","Okay, so we have the device tree set up. Feel free to browse around the source code to see what changed. You should see folders added to device/, kernel/ and vendor/. A shortcut:","will dump you back in the root of the source code tree. So if you’ve been going through folders and don’t have any idea where you are, you can use the above command. This command, however, requires you to have source d build/envsetup.sh earlier.","We're ready to build, but before we teach you the easy command to execute a build, we will first try the manual method. To set up the current terminal environment for building your particular device, execute:","Let's break down the command. lunch initializes the proper environmental variables required for the build tools to build your specific device. Things like BLISS_DEVICE and other variables are set in this stage, and the changed variables will be shown as output. bliss_ is the ROM that we are building. As convention, all devices will have this prefix. sunfish is the specific device we are building - in this case, the Pixel 4A. Finally, userdebug means that we will build a user-debuggable variant. This is usually what most ROMs use for publishing their builds. Manufacturers typically use user which disables most of the useful Android Logcats."]},{"i":"my-device-isnt-booting-and-userdebug-wont-print-any-adb-logcats-what-gives","l":"My device isn't booting, and userdebug won't print any adb logcats. What gives?","p":["There is a third build variant called eng, short for engineering builds. These builds will activate adb logcat during boot, and will show you exactly what is going wrong, where, and why. However, these builds are NOT recommended for normal usage as they are not securely hardened, have log spam that will slow down your device, and other unexpected problems like userspace utilities crashing during runtime. If you want to submit your device for mainline, do NOT submit an eng build!","All set? Let's start the building process. Run:","mka blissify","And the build should start. The build process will take a long time. Prepare to wait a few hours, even on a decent machine."]},{"i":"why-mka-and-not-make","l":"Why mka and not make?","p":["make only runs with 1 thread. mka is properly aliased to use all of your threads by checking nproc.","If you want to customize your thread count (maybe you're building with a fan-screaming laptop in a quiet coffee shop), use make blissify -j#, replacing the hash with the number of threads (example of make blissify -j4)."]},{"i":"i-get-an-error-about-no-blissify-targets-to-build-against-whats-wrong","l":"I get an error about no blissify targets to build against, what's wrong?","p":["If you are building other ROMs, it is usually make bacon. For BlissRoms, we chose the build target of blissify. If that doesn't work, sometimes there is a bug, or the ROM developers do not implement a bacon target to build against. In this case, you will need to find what name they use to initialize a full build of the ROM. Conventionally, it is supposed to be bacon, but some ROM developers change this name inadvertently, or actually have a bug that causes the build target to never be found. If you cannot locate the build target, ask the developers of the ROM. Alternatively, you can try poking around in build/make/core/Makefile to see what the build target name is. But this is out of the scope of this article as you're not supposed to be building other ROMs (that's not what this tutorial is for, sorry!)","All right, but that's annoying. You had to type three commands to build it all. What about running one command?","Options:","Examples:","To build with gapps","To build with FOSS","To build with gapps and deviceclean","To build an userdebug build with gapps","To build an eng build with gapps","To build an user build with gapps","This method is also backwards compatible with the legacy blissify command also Default build type = userdebug Default build variant = vanilla","But what is blissify? It is a compact form of these commands:","Sounds great, right? Once you have run the command, jump over to the next section."]},{"l":"After building","p":["There are two outcomes to a build - either it fails and you get a red error message from make, or it succeeds and you see the Bliss logo in ASCII. If you encounter the former, you need to go back and fix whatever it's complaining about. Typically, 90% of the time the problem will be in your device tree. For the other 10%, submit a bug report to the ROM developers. Be sure to include the full log of your build to help diagnose the problem, and your device tree.","If you face the latter, congratulations! You've successfully built BlissRoms for your device. Grab the artifacts for your device:","In here, you’ll find a .zip that goes along the lines of Bliss-v14.4-sunfish-UNOFFICIAL-vanilla-20210615.zip. Install TWRP, flash the build to your device, and enjoy!"]}],[{"l":"Conclusion"},{"l":"Conclusion","p":["Building a ROM is very hard and tedious and the results are very rewarding! If you managed to follow along, congratulations!","After you finish building, you can try out the Git Started guide. Make changes, commit, and send them off to our Gerrit for review! Or better yet, download experimental commits not ready for the mainline repositories and review them! Again, ROM building is a fun project you can work with. I hope this guide was a lot of fun to run through!"]}],[{"l":"Troubleshoot"},{"l":"Troubleshooting","p":["If your build failed, there are a couple things you can try.","Try a fresh repo sync to make your repository up to date. Sometimes, the Internet connection between you and GitHub can be flaky. In rare cases a commit merge might be ongoing, and you might've grabbed an incomplete merge. Mostly, this should fix the issue 70% of the time.","Make sure your dependencies are installed correctly. Error messages help out a lot here! Often it will say shared/linked library not found or something along those lines.","Make sure you sourced build/envsetup.sh. This is especially common and worth suspecting if none of the build commands like breakfast and lunch work. If you have repo sync ed do this again.","Make sure you’re at the root of the build tree. Again, to quickly jump there, use croot.","Make sure you ran breakfast correctly and it did not error out. Missing device files will prevent successful builds.","Make sure your computer meets minimum requirements to compile AOSP. Chances are, you need more memory/CPU power to complete a build.","Make sure your computer isn't faulty. This is unlikely, but to check, use a stress-test program like Prime95.","If something goes wrong and you've tried everything above, first use Google to look up your error! Most of the errors you encounter is due to misconfiguration and wrong commands entered. More often than not, Google will have the answer you are looking for. If you're still stuck and nothing fixes the problem, then ask us via our Telegram Build Support chat.(Please only ask issues about BlissRoms, not other custom ROMs as we are unable to assist with those!)"]}],[{"l":"Overlays"},{"l":"General Overlays"},{"i":"-battery-health-overlay","l":"• Battery Health Overlay","p":["This overlay is required to Enable battery health section.","This overlay is required to Enable battery charging cycle counts in battery page in setting app.","You will need to check your available kernel nodes before selecting them Note that nodes availability depends on kernel version","Example"]},{"i":"-charging-support-overlay","l":"• Charging Support Overlay","p":["- VOOC Charging ( If your device supports )","This overlay is required to Enable VOOC charging support.","- WARP Charging ( If your device supports )","This overlay is required to Enable Warp charging support.","- Dash Charging ( If your device supports )","This overlay is required to Enable Dash charging support."]},{"i":"-smart-charging","l":"• Smart Charging","p":["This overlay is required to make Smart Charging feature functioning.","Example"]},{"i":"-live-display","l":"• Live Display","p":["This overlay is required to make Live Display feature functioning."]},{"i":"-multi-usb-controller-overlay-only-for-asus-rog-devices","l":"• Multi usb controller overlay (ONLY FOR ASUS ROG DEVICES)","p":["Since all ROG devices have 2 usb ports. We can use both for mtp, not just as charger.","This overlay is required to add support for Multi USB Controller."]},{"i":"-high-aspect-ratio","l":"• High Aspect Ratio","p":["This overlay is required to make full screen apps function working properly"]},{"i":"-multi-colour-led","l":"• Multi-colour LED","p":["This overlay is required to Enable Multi-coloured LED lights for supported devices.","For most of the Xiaomi devices, this must be set to 'false' as they have white-only LEDs."]},{"i":"-call-recording","l":"• Call Recording","p":["This feature only works on AOSP Dialer and not on Google Dialer.","This overlay is required to Enable Call recording on AOSP Dialer's.","Call recording is illegal in some countries. Kindly refer to local laws before enabling this feature!!"]},{"l":"FOD Specific Overlays"},{"i":"-fod-support","l":"• FOD Support","p":["This overlay is required to Enable FOD Support. Required inorder for FOD to work."]},{"i":"-fod-animations","l":"• FOD Animations","p":["For FOD Animation to work you need 2 things in your device tree source.","A Flag in bliss_codename.mk makefile in your respective device tree","An overlay to set Default FOD Pressed Color","Flag Required to build FOD Animation resources","To set Default FOD Pressed color","This overlay is required to set Default FOD Pressed Color."]},{"i":"-screen-off-fod","l":"• Screen-Off FOD","p":["This overlay is required to Enable Screen OFF FOD."]}],[{"l":"Code of Conduct","p":["About Sepolicy Rules, the maintainers MUST NOT:","All theirs device sources on BlissRoms-Devices organization. It goes without saying that these should be fully buildable. Using external repos for build releases aren't allowed, unless they're from LineageOS/TheMuppets organization(s). Exceptions may be open if only it's absolutely necessary.","Allow write access to generic directory/file/prop labels (With some exceptions).","Any Apps that are not shipped with BlissRoms. This includes Browsers and other apps.","Any stock firmware apps. Only Google Camera and camera app from stock firmware is allowed only if its fully functional.","If any of these rules are broken, the administration will take direct action against the maintainer without prior warning.","Ignore Sepolicy Neverallows.","In the event of any disagreements between maintainers, sort them out via direct messages on Telegram or XDA. Do not take your fights to our chats, approach the administration if you want something sorted out quickly. The same is valid for our public chat.","MUST maintain authorship of git commits that are pushed, this is a mandatory requirement for ALL repositories. Force-pushes are acceptable, but try to keep them to a minimum.","MUST NOT add:","MUST NOT get involved in arguments or resort to insults, or use hateful words, personal attacks or any other verbal or nonverbal action that is considered detrimental towards the creation of a positive environment for the team.","MUST ship the BlissRoms Updates atleast once a month or as notified by BlissRoms Administration. If this is not possible, the reason(s) must be sent to the BlissRoms Administration within 48hrs. In the absence of any explanation, a maintainer will be contacted thrice. If there is no satisfactory answer or the administration does not receive a reply, the maintainer will be kicked without any prior warning.","MUST test every build before sending an OTA update to users. Each build must be thoroughly vetted by the maintainer before it is released, and all hardware and software functionalities MUST be tested before a build is released. Releasing untested builds can (and will) lead to your maintainership being revoked.","MUST upload:","The key words \"MUST\", \"MUST NOT\", \"REQUIRED\", \"SHALL\", \"SHALL NOT\", \"SHOULD\", \"SHOULD NOT\", \"RECOMMENDED\", \"MAY\", and \"OPTIONAL\" in this document are to be interpreted as described in RFC 2119.","The Maintainers:"]}],[{"l":"Requirements","p":["Before you apply for maintainership to add your device to our official devices list, please read the following requirements carefully.","Warning: Any violations found or any attempts to circumvent the requirements below may lead to your application being rejected and you being blacklisted from the maintainer program.","You must physically own the device you are applying official status for. We do not allow blind builds.","We may allow exceptions if a trusted friend owns the device and is willing to help test your builds. However, this will only be approved on a case-by-case basis.","Asking users to test blind builds is not allowed.","You must have a working knowledge of Git and Gerrit.","You must maintain said device unofficially for at least 1 month with constant updates. Make sure builds are stable for usage. Users should not report any significant problems with your build.","You must release your device sources publicly with proper authorship on every commit. We do not allow hiding sources to \"compete\" with other ROM teams, as we believe that goes against the open source spirit.","Once applied, please do not spam team members with updates regarding your application. We will respond within a week with your application decision."]}]]
\ No newline at end of file
