diff --git a/resources/js/config.js b/resources/js/config.js
index fa0decb..b0988bd 100644
--- a/resources/js/config.js
+++ b/resources/js/config.js
@@ -1 +1 @@
-var __DOCS_CONFIG__ = {"id":"Di8zhNw15670aDAW2H9FoIWfgTOib4+wcr6","key":"m2MotiZLZvSn1IVqblwuc4s0xyeaqhbJ0v1SpdO9qk4.aZzPEBcIdX9hNmfTVCLq8kBHTF0Cy/YumnjY7rPVO1zZcRkL9NiuNi1X7ZLZaLWsqnnqoUcBVQMbabPE9nUlhQ.8294","base":"/","host":"docs.blissroms.org","version":"1.0.0","useRelativePaths":true,"documentName":"index.html","appendDocumentName":false,"trailingSlash":true,"preloadSearch":false,"cacheBustingToken":"2.4.0.712302452391","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 92 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 to Bliss​Roms"},{"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}};
+var __DOCS_CONFIG__ = {"id":"nde68xmY7pSl7+j156R0QB7JF8yLfgus25S","key":"xIT8eCwLwFpkjAnAOaX4K00sA7ZzzTBDHLaQla8WD7E.oa9dGWkZv/rC8CSSmi4pV/SdA1wCgfO9A/o6OGtis8dnsKog2SDIsRRCITczAipfgL097BtGxXUrU3unaGZTJw.8273","base":"/","host":"docs.blissroms.org","version":"1.0.0","useRelativePaths":true,"documentName":"index.html","appendDocumentName":false,"trailingSlash":true,"preloadSearch":false,"cacheBustingToken":"2.4.0.717010136975","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 92 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 to Bliss​Roms"},{"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 509c392..ed0da8a 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 deeply dive into porting devices.","The golden rule for building a ROM is utmost 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!","So, Let’s get started."]},{"l":"Preparation","p":["To get started, you need a computer with Ubuntu 18.04 or newer (LTS), at least 200GB space of HDD/SSD, 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 file that goes along the format of Bliss-vxx.xx-sunfish-UNOFFICIAL-vanilla-202xxxxx.zip. Install custom recovery of your choice, then flash the build to your device. Bliss 14.xx versions indicate that you have succesfully built BlissROMs for your device based on Android 11. Bliss 15.xx versions indicate that you have succesfully built BlissROMs for your device based on Android 12/12.1.","There you go, you have succesfully built BlissROMs. Happy Flashing 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":"UDFPS Specific Overlays"},{"i":"-udfps-support","l":"• UDFPS Support","p":["This overlay is required to Enable UDFPS Support. The overlay is used to determine HBM Type for UDFPS. Required inorder for UDFPS to work."]},{"i":"-udfps-vendor-code","l":"• UDFPS Vendor code","p":["This overlay is used to define vendor code. Required inorder for UDFPS to work."]},{"i":"-udfps-animations","l":"• UDFPS Animations","p":["For UDFPS 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 UDFPS Animation resources","To set Default UDFPS Pressed color","This overlay is required to set Default UDFPS Pressed Color.","To set UDFPS Animation Offset","This overlay is required to set UDFPS Animation offset for respective devices.","Adjust this value as per your device.","To set UDFPS Animation Size","This overlay is required to set UDFPS Animation size for respective devices.","To set Color of the UDFPS Pressed view","This overlay is required to set Color of the UDFPS Pressed view for respective devices."]},{"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
+[[{"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 deeply dive into porting devices.","The golden rule for building a ROM is utmost 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!","So, Let’s get started."]},{"l":"Preparation","p":["To get started, you need a computer with Ubuntu 18.04 or newer (LTS), at least 200GB space of HDD/SSD, 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 arcadia-next, Android 12L. 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 file that goes along the format of Bliss-vxx.xx-sunfish-UNOFFICIAL-vanilla-202xxxxx.zip. Install custom recovery of your choice, then flash the build to your device. Bliss 14.xx versions indicate that you have succesfully built BlissROMs for your device based on Android 11. Bliss 15.xx versions indicate that you have succesfully built BlissROMs for your device based on Android 12/12.1.","There you go, you have succesfully built BlissROMs. Happy Flashing 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":"UDFPS Specific Overlays"},{"i":"-udfps-support","l":"• UDFPS Support","p":["This overlay is required to Enable UDFPS Support. The overlay is used to determine HBM Type for UDFPS. Required inorder for UDFPS to work."]},{"i":"-udfps-vendor-code","l":"• UDFPS Vendor code","p":["This overlay is used to define vendor code. Required inorder for UDFPS to work."]},{"i":"-udfps-animations","l":"• UDFPS Animations","p":["For UDFPS 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 UDFPS Animation resources","To set Default UDFPS Pressed color","This overlay is required to set Default UDFPS Pressed Color.","To set UDFPS Animation Offset","This overlay is required to set UDFPS Animation offset for respective devices.","Adjust this value as per your device.","To set UDFPS Animation Size","This overlay is required to set UDFPS Animation size for respective devices.","To set Color of the UDFPS Pressed view","This overlay is required to set Color of the UDFPS Pressed view for respective devices."]},{"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
