[Q] Tweaking Nexus 4 (SystemUI.apk/framework-res.apk) - Nexus 4 Q&A, Help & Troubleshooting

Hi guys.
I am trying to tweak my phone by my self and was wondering about how to do it.
What I want to do is change the battery icon in the notification bar to show percentages. I know there's already a flashable mod available, but I wanted to use my own icons and to learn how to do the mods my self so that I can modify the phone more to my tastes my self. (You know, since I do own a nexus phone now) (Also, I completely agree with what efrant said in his post about knowing about how to do things yourself, not only how to use 1-click tools and ask people "Help!! I bricked my phone!!" without knowing what I did wrong..)
I used to own a galaxy s and had changed the battery icon there by modifying the framework-res.apk file, but when I downloaded the existing battery percentage mod, I found that the modder actually changed the SystemUI.apk file, so I'm kinda stumped.
The process I used to modify the galaxy s was:
- Uncompile the framework-res.apk using apkmanager
- Edit the /res/drawable/stat_sys_battery.xml and /res/drawable/stat_sys_battery_charge.xml files
- Put the new icons into /res/drawable-hdpi
- Recompile the apk to unsignedframework-res.apk
- Open both the original framework-res.apk and unsignedframework-res.apk and move the edited files and icons from framework-res.apk to unsignedframework-res.apk
- Copy /resources.arsc from unsignedframework-res.apk to framework-res.apk
- Done.
So to summarize, my question is: Is the process I used okay for the Nexus 4? If there are any differences what are they and what do I have to do.
Of course, I would be grateful if I could get a detailed guide to modifying the phone, since I'm kind of a noob when it comes to doing my own modifications.

bef0re y0u d0 that, can y0u share y0ur framework-res and SystemUI?? I want t0 m0d my htc desire....

sakithree said:
Hi guys.
I am trying to tweak my phone by my self and was wondering about how to do it.
What I want to do is change the battery icon in the notification bar to show percentages. I know there's already a flashable mod available, but I wanted to use my own icons and to learn how to do the mods my self so that I can modify the phone more to my tastes my self. (You know, since I do own a nexus phone now) (Also, I completely agree with what efrant said in his post about knowing about how to do things yourself, not only how to use 1-click tools and ask people "Help!! I bricked my phone!!" without knowing what I did wrong..)
I used to own a galaxy s and had changed the battery icon there by modifying the framework-res.apk file, but when I downloaded the existing battery percentage mod, I found that the modder actually changed the SystemUI.apk file, so I'm kinda stumped.
The process I used to modify the galaxy s was:
- Uncompile the framework-res.apk using apkmanager
- Edit the /res/drawable/stat_sys_battery.xml and /res/drawable/stat_sys_battery_charge.xml files
- Put the new icons into /res/drawable-hdpi
- Recompile the apk to unsignedframework-res.apk
- Open both the original framework-res.apk and unsignedframework-res.apk and move the edited files and icons from framework-res.apk to unsignedframework-res.apk
- Copy /resources.arsc from unsignedframework-res.apk to framework-res.apk
- Done.
So to summarize, my question is: Is the process I used okay for the Nexus 4? If there are any differences what are they and what do I have to do.
Of course, I would be grateful if I could get a detailed guide to modifying the phone, since I'm kind of a noob when it comes to doing my own modifications.
Click to expand...
Click to collapse
Sounds like it should still work. The only difference is the nexus uses xhdpi images, but the hdpi will still work as well.
Sent from my Nexus 4 using xda premium

Related

battery mod

Hello,
I found this thread :
http://forum.xda-developers.com/showthread.php?t=765419
and I have some questions about this :
1) Is it possible to "tweak" our framework-res.apk with this battery mod.
2) Can I use this method to "tweak my framework-res.apk : http://circle.glx.nl/
3) When I download my new framework-res.apk, how to boot on recover mode on the phone to put the framework-res.apk on the system ?
4) Do you know an other easylier method to tweak icons on the HD2 under android ?
Thanks a lot !
+1 I asked myself to but no time to seach forum
@Karlichon
What is with this batmod? Are you done with them?
karlichon said:
1) Is it possible to "tweak" our framework-res.apk with this battery mod.
2) Can I use this method to "tweak my framework-res.apk : http://circle.glx.nl/
3) When I download my new framework-res.apk, how to boot on recover mode on the phone to put the framework-res.apk on the system ?
Thanks a lot !
Click to expand...
Click to collapse
Ok I think I'll answer this, but bear with me as it's NOT easy or for the faint of heart. If you read this and you DO NOT feel comfortable I would recommend you not giving this a go.
Before you start ANY of these steps below, MAKE SURE YOU BACKUP YOUR FILES BEFORE REPLACING THEM. I WILL NOT BE HELD RESPONSIBLE FOR ANY DAMAGE CAUSED FOLLOWING THESE STEPS! You have been warned.
1) Visit the website above and run through the steps to get the battery images you want. For the purposes of this tutorial/howto I am not covering how to change anything else (KISS: Keep It Simple, Stupid).
2) The easiest ones to change are the Version A-I ones, just choose which battery set would work best for you on your phone and click "Next"
3) Choose "Do not include icons" and click next. The icons it is talking about here are the signal, wifi, usb etc notification bar icons and as I mentioned I will not cover how to change those here.
4) Leave "Do not change notification status bar" selected and click next. Again I'm not covering that here.
5) You can choose a different boot anim if you want, they are very easy to upload to your phone and you can figure out where they have to be put yourself with no problems. IMPORTANT: If you do change the boot animation, make sure you choose the correct type of rom you have from the dropdown selection.
6) Upload your existing framework-res.apk (using something like DroidExplorer, navigate to /system/framework and paste it onto your desktop, then upload here). This will update the relevant files in your framework-res.apk automatically. (If you cannot obtain your existing framework-res.apk I cannot guarantee method 2 will work, sorry but feel free to try)
7) Replace your framework-res.apk (via DroidExplorer or your chosen ADB browser) on your phone and reboot. Voila!
This worked for me on shubcraft 2.0 drop mode but obviously I cannot guarantee it will work for everyone. Please remember my warnings above that this is not guranteed.
hello, thanks for your quick help, but it doesn't work for hyperdroid rom V1.7
any idea ?
karlichon said:
hello, thanks for your quick help, but it doesn't work for hyperdroid rom V1.7
any idea ?
Click to expand...
Click to collapse
there is another far more complicated way around it, but it really does take about half an hour to work out.
Basically, you need to get your framework-res.apk and extract it with winrar or something similar (an apk is basically just a zip file) and find the folder called res/drawable-HDPI. this is where all the icons for things like your battery icons live.
Copy and paste the new icons from someone elses framework-res or even one you download from the website above into this folder and replace the drawable-HDPI folder into your framework-res.apk, replace it onto your phone and reboot.
Again, this is a quick description of a much lengthier way of doing it but it does work. Also, my disclaimer in the post I made before still stands, do this AT YOUR OWN RISK and do NOT complain to me if something breaks. If you don't fully understand, don't do anything.
I tried the kitchen method, but I receive a huge error log after uploading the framework apk
is the page currently partly down?
rafpigna said:
I tried the kitchen method, but I receive a huge error log after uploading the framework apk
Click to expand...
Click to collapse
It doesn't seem to work all that well with frameworks from our current modded builds. I've tried it with a rooted desire framework (from my gf's desire) and that worked. Evidently all the work that the devs do on our hd2's make them very different to other android builds. the second method I posted (adding the png's to your existing framework) works perfectly.
BlackPit666 said:
is the page currently partly down?
Click to expand...
Click to collapse
Nope, seems up to me.
yes its up again
rafpigna said:
I tried the kitchen method, but I receive a huge error log after uploading the framework apk
Click to expand...
Click to collapse
for me the same, desirehd revolution rom of mdj
can anybody help me?
Reno_79 said:
there is another far more complicated way around it, but it really does take about half an hour to work out.
Basically, you need to get your framework-res.apk and extract it with winrar or something similar (an apk is basically just a zip file) and find the folder called res/drawable-HDPI. this is where all the icons for things like your battery icons live.
Copy and paste the new icons from someone elses framework-res or even one you download from the website above into this folder and replace the drawable-HDPI folder into your framework-res.apk, replace it onto your phone and reboot.
Again, this is a quick description of a much lengthier way of doing it but it does work. Also, my disclaimer in the post I made before still stands, do this AT YOUR OWN RISK and do NOT complain to me if something breaks. If you don't fully understand, don't do anything.
Click to expand...
Click to collapse
can you tell me which files i need to replace to get another battery icon? only the files which "batt" in it?
Reno_79 said:
there is another far more complicated way around it, but it really does take about half an hour to work out.
Basically, you need to get your framework-res.apk and extract it with winrar or something similar (an apk is basically just a zip file) and find the folder called res/drawable-HDPI. this is where all the icons for things like your battery icons live.
Copy and paste the new icons from someone elses framework-res or even one you download from the website above into this folder and replace the drawable-HDPI folder into your framework-res.apk, replace it onto your phone and reboot.
Again, this is a quick description of a much lengthier way of doing it but it does work. Also, my disclaimer in the post I made before still stands, do this AT YOUR OWN RISK and do NOT complain to me if something breaks. If you don't fully understand, don't do anything.
Click to expand...
Click to collapse
This method will not work with the battery icons which shows all 100% increments. This method will only work for the standard battery icons, which only involves like 12 battery icons.
In order to add the 1% increment readings in the battery, it involves modifying xml files to read and associate the correct battery icons at each increment.
can you give a tut how to add the version a manually?
nvm, I got it!

I got some XML troubles

I think i'm gonna need an exorcist. I'm trying to fix battery xml like this:
1.decompile w/ apkmanager
2.Navigate to /res/drawable and open with wordpad stat_sys_battery
3.Customize the file
4.Recompile
5.Flash.
But after flashed,i can't see battery icons in statusbar.
This is my untouched XML. I can see battery icons in statusbar.
Code:
This is my modded stat_sys_battery. With this one i can't see battery icons in statusbar.
Code:
What can it be?!?!?
Up.
Sent from my LG Optimus One P500 using Tapatalk
Did you delete the resources thing when recompiling? the only problem that I can see here is that the new battery pngs didn't get to be registered in the resources.xml(I'm not exactly sure with the name so) and so when the sys_stat_battery.xml calls for the pngs(it ask resources.xml if it was included and is part of the apk), resources.xml will reject the request and battery icon won't show up. Wasted almost a month of my life with the same problem before. Hope this helps.
There was someone(moderator) on the android theming thread who knows a lot about these stuff. Try asking there and post the results here.
So i only need to delete resources.arsc before compiling?
Sent from my LG Optimus One P500 using Tapatalk
I'm not doing any themes lately but if I remember it correctly, there's an instruction to delete resources.arsc on the temporary folder(can't remember the exact name) made by apkmanager whenever you modify an XML.

Transparent statusbar...!!! Guide needed!!!

I'm [12.Aug.2012] NexusHD2-ICS-4.0.4-CM9-HWA V2.6 (Kernel: tytung_HWA_r3.4) And tried hard for a mod to make its statusbar transparent...!!!:fingers-crossed::fingers-crossed::fingers-crossed:
Followed this guide but failed as it resulting no statusbar at the end.
Please can anybody guide us(noobs) with a proper tutorial for systemUI.apk mods for our leo???
Been looking for one as well, always end up stuffing mine up.
I'm not sure which guide you followed but you can try this one - http://forum.xda-developers.com/showpost.php?p=20654552&postcount=3
And if you are looking for different mods in general check out the SGN Themes&Apps section http://forum.xda-developers.com/forumdisplay.php?f=1340
It's way more active when it comes to mods&themes compared to the HD2 section (Which consists mostly of Questions and Disscusions anyway )
gogodu5sU said:
I'm not sure which guide you followed but you can try this one - http://forum.xda-developers.com/showpost.php?p=20654552&postcount=3
And if you are looking for different mods in general check out the SGN Themes&Apps section http://forum.xda-developers.com/forumdisplay.php?f=1340
It's way more active when it comes to mods&themes compared to the HD2 section (Which consists mostly of Questions and Disscusions anyway )
Click to expand...
Click to collapse
Sorry this is the guide I followed!!!!
http://forum.xda-developers.com/show....php?t=1523703
jhha said:
Sorry this is the guide I followed!!!!
http://forum.xda-developers.com/show....php?t=1523703
Click to expand...
Click to collapse
You were right, this guide - http://forum.xda-developers.com/showthread.php?t=1523703 works well.
I actually never sign SystemUI.apk nor framework-res.apk, never had a problem with that, so you can skip that part.
Try APK Multi-Tool - http://forum.xda-developers.com/showthread.php?t=1310151
and don't forget to drop framework-res.apk into Apk_Multi-Tool\other
next open Command prompt and navigate to that folder
type
Code:
apktool if framework-res.apk
and you should be ready to de- and recompile.
Attached is 100% transparent and 50% transparent. (have not tested 50% though)
Flash in recovery.
grumbles
im trying to figure this out for the rom in my sig which is a jb rom
but that guide did help me at all lol
none of the code matched up
Thanks those two mods worked, thanks.
Kameirus said:
grumbles
im trying to figure this out for the rom in my sig which is a jb rom
but that guide did help me at all lol
none of the code matched up
Click to expand...
Click to collapse
Probably because it's a different version of Android
Permissions???
gogodu5sU said:
You were right, this guide - http://forum.xda-developers.com/showthread.php?t=1523703 works well.
I actually never sign SystemUI.apk nor framework-res.apk, never had a problem with that, so you can skip that part.
Try APK Multi-Tool - http://forum.xda-developers.com/showthread.php?t=1310151
and don't forget to drop framework-res.apk into Apk_Multi-Tool\other
next open Command prompt and navigate to that folder
type
Code:
apktool if framework-res.apk
and you should be ready to de- and recompile.
Attached is 100% transparent and 50% transparent. (have not tested 50% though)
Flash in recovery.
Click to expand...
Click to collapse
Thanks man I'll definitely try with this & let you know & many thanks for the modded zips(till I learn how to manipulate SystemUI.apk successfully my leo can enjoy it!:highfive::highfive::highfive! Thanks again.!
I found this guide too...!!! :fingers-crossed::fingers-crossed::fingers-crossed:
http://rootzwiki.com/topic/31785-co...ng-and-recompiling-jb-systemuiapk-jelly-bean/
& managed to compile the SystemUI.apk but still it results in absent status bar in either way of following
1. Replacing the original SystemUI.apk in the ROM with the modded one & installing the ROM(Tried both signed & unsigned versions)
2. After installing the original ROM & later replace the SystemUI.apk with the modded one with root explorer (Tried signed version)
But when I Edit the permission(with root explorer) of the modded SystemUI.apk copied to the system folder (As in 2nd method), as for other system apps it worked. :cyclops::laugh::laugh::laugh:
I cant understand in which step I made things wrong! In which step we manage permissions of an app while decompiling, compiling or modding.!
It'd be nice if somebody can direct me right.! Love to learn from XDA...!!!
Kameirus said:
grumbles
im trying to figure this out for the rom in my sig which is a jb rom
but that guide did help me at all lol
none of the code matched up
Click to expand...
Click to collapse
Try above link...!!! Its originally for JB...!!!:laugh:
jhha said:
Thanks man I'll definitely try with this & let you know & many thanks for the modded zips(till I learn how to manipulate SystemUI.apk successfully my leo can enjoy it!:highfive::highfive::highfive! Thanks again.!
I found this guide too...!!! :fingers-crossed::fingers-crossed::fingers-crossed:
http://rootzwiki.com/topic/31785-co...ng-and-recompiling-jb-systemuiapk-jelly-bean/
& managed to compile the SystemUI.apk but still it results in absent status bar in either way of following
1. Replacing the original SystemUI.apk in the ROM with the modded one & installing the ROM(Tried both signed & unsigned versions)
2. After installing the original ROM & later replace the SystemUI.apk with the modded one with root explorer (Tried signed version)
But when I Edit the permission(with root explorer) of the modded SystemUI.apk copied to the system folder (As in 2nd method), as for other system apps it worked. :cyclops::laugh::laugh::laugh:
I cant understand in which step I made things wrong! In which step we manage permissions of an app while decompiling, compiling or modding.!
It'd be nice if somebody can direct me right.! Love to learn from XDA...!!!
Try above link...!!! Its originally for JB...!!!:laugh:
Click to expand...
Click to collapse
yes ive seen that thanks
found out last night that the status bar transparency on jb cant be done yet
pier10 said:
Unfortunately, there's still no hack on CM10 ...the .smali files (that need to modify) isn't exist in JB.
It's rather easy on CM9. Here's the guide http://forum.xda-developers.com/showthread.php?t=1523703
btw, the notification is transparent on this theme
Click to expand...
Click to collapse
im gonna try and figure out the notification pull down later today
jhha said:
Thanks man I'll definitely try with this & let you know & many thanks for the modded zips(till I learn how to manipulate SystemUI.apk successfully my leo can enjoy it!:highfive::highfive::highfive! Thanks again.!
I found this guide too...!!! :fingers-crossed::fingers-crossed::fingers-crossed:
http://rootzwiki.com/topic/31785-co...ng-and-recompiling-jb-systemuiapk-jelly-bean/
& managed to compile the SystemUI.apk but still it results in absent status bar in either way of following
1. Replacing the original SystemUI.apk in the ROM with the modded one & installing the ROM(Tried both signed & unsigned versions)
2. After installing the original ROM & later replace the SystemUI.apk with the modded one with root explorer (Tried signed version)
But when I Edit the permission(with root explorer) of the modded SystemUI.apk copied to the system folder (As in 2nd method), as for other system apps it worked. :cyclops::laugh::laugh::laugh:
I cant understand in which step I made things wrong! In which step we manage permissions of an app while decompiling, compiling or modding.!
It'd be nice if somebody can direct me right.! Love to learn from XDA...!!!
Try above link...!!! Its originally for JB...!!!:laugh:
Click to expand...
Click to collapse
Permissions are set in the AndroidManifest.xml. (in the root folder of the decompiled apk)
Sometimes, if an app is asking for "wierd" permissions which i/it doesn't need i just delete those lines from that file.
But in your case, i don't know what happend.
Kameirus said:
yes ive seen that thanks
found out last night that the status bar transparency on jb cant be done yet
im gonna try and figure out the notification pull down later today
Click to expand...
Click to collapse
Sorry Kameirus
but i can't help you with that either, i guess you would be better off downloading the jellybean source
and try to mod it that way or wait until somebody else does.
I don't think that those "smalis" don't exist, they are just named differently
and overall just different since it's a new android version.
My guess would be, if you want to add transparency you might want to look at:
SystemUI.apk\smali\com\android\systemui\statusbar\BaseStatusBar.smali
If you are going to learn a bit about smali, you could try Virtuous Ten Studio - http://forum.xda-developers.com/showthread.php?t=1619473
It makes smali's a bit easier on the eye and has a nice smali-guide within.
gogodu5sU said:
Permissions are set in the AndroidManifest.xml. (in the root folder of the decompiled apk)
Sometimes, if an app is asking for "wierd" permissions which i/it doesn't need i just delete those lines from that file.
But in your case, i don't know what happend.
Sorry Kameirus
but i can't help you with that either, i guess you would be better off downloading the jellybean source
and try to mod it that way or wait until somebody else does.
I don't think that those "smalis" don't exist, they are just named differently
and overall just different since it's a new android version.
My guess would be, if you want to add transparency you might want to look at:
SystemUI.apk\smali\com\android\systemui\statusbar\BaseStatusBar.smali
If you are going to learn a bit about smali, you could try Virtuous Ten Studio - http://forum.xda-developers.com/showthread.php?t=1619473
It makes smali's a bit easier on the eye and has a nice smali-guide within.
Click to expand...
Click to collapse
thanks
i saw that smali a little while ago when i was going thru the folders
ill look at it later after i get home
thanks for the tip
well no luck lol
but i did learn how to flash a backup blindfolded lmao
Ok I think I figured out whats the problem is with my compiling...!!!
When you run the compile it ask to replace every thing that not modified from the original. I chose "yes" earlier all the time! But when I select "no"
I could get a working SystemUI.apk even without zipaligning or signing.! :cyclops::cyclops::cyclops:
Learning something everyday!

Request Pls.... Touchwiz 4x5

Hey guys and developrs I'm looking for Touchwiz 4x5 anyone can help or modify that
I got a 5x6 working at one point. Had to wipe my phone for some reasons and now I can't get it working again ?.
You have to decompile the SecLauncher4.apk in your system folder. Edit the values in some files. Recompile and throw it back into the system folder.
Make a copy of your original SecLauncher4.apk first!!
I'll see if I can post a helpful link later as I'm getting ready to head out for work
Sent from my SAMSUNG-SM-N900A using Tapatalk
If you want to try and tackle it yourself, take a look at this link, its from the Note 2 forums...
http://forum.xda-developers.com/showthread.php?t=1990801
For the Note 3, you'd need SecLauncher4.apk in the system/app folder.
(easiest way to get/replace the files is with root explorer)
I used "Tickle My Android" http://forum.xda-developers.com/showthread.php?t=1633333 (use the theming menu)
Decompile
Edit the values you want in res/values-sw359dp-xxhdpi
(I just "stole" my values from a flashable, premodded 5x6 one in the T-mobile forums)
Recomplile
Backup your original and replace with your newly recompiled one (reboot, if it doesnt change automatically).
Thats what I did at least
If anything goes wrong, the phone will boot into "easy mode". Just replace the (failed) modded one with the original, and reboot.
(I'm not responsible if you eff up your phone )
Can you post here for us yours SecLauncher4.apk if you manage it to work again?

[GUIDE] Remove/change gradient on navbar and statusbar- Change navbar icons [ROOT]

A very simple guide on removing the disgusting shadow effect on the homescreen, plus changing the icons in the navbar.
EDIT: Useless guide. Every change can be made using themes. Coming from a N5 confuses me too much. Thanks @vobiscum
Since usually we would make this changes in xposed, and since xposed is not aviable (for now, I hope), we need to change some png images in the SystemUi.apk container located in #/system/priv-app/systemui folder.
This is just one way to achieve our goal, I made it supereasy for beginners.
Attention: don't extract and compress again any system apks with 7zip or similar programs: it will result in a bootloop. Just replace the needed images directly in the container. If you need to do something else, google APK-Tool.
1)Get a root explorer from googleplay. I'm using FX File Manager (it needs a plugin for root privileges);
2)Go to #/system/priv-app/systemui folder and copy systemui.apk;
3)Paste it in a pc-redeable partition or in the external sd;
4)Get the file and extract it with 7zip or winrar. Don't delete the systemui.apk imported.
5)Navigate in the excracted folder and get the files you want.
---Gradients are located in res/drawable-xxhdpi-v4, their names are: nav_background.9.png and status_background.9.png.
---Navbar Icons are located in res/drawable-xxhdpi-v4 and drawable-ldrtl-xxhdpi-v4.
6)Open the files with Photoshop or Gimp and edit them on your taste. Want a ghost navbar? Do it.
7) Drag and drop the modified files in the Systemui.apk according to their original locations;
8)Put the modified file on your sd/phone;
9)IMPORTANT: DO A BACKUP VIA TWRP
10)Copy-paste via root-explorer the SystemUi.apk back in place. It may be requested to remount the folder in r/w.
11) DONE! If you get some lag/problems, just reboot. If it bootloops, go for twrp.
nice work there, some genuinely earned thanks :good:
it will result in a bootloop
Click to expand...
Click to collapse
i guess this is to do with the odexed apk's..?
sminki said:
i guess this is to do with the odexed apk's..?
Click to expand...
Click to collapse
I think that is to do with zipaligning, but don't ask me further, I'm pretty noob about this. I know that many apks works well even after they are recompiled as a zip; but some resources need a particular procedure. This way avoids any problem due to recompiling.
For editing xml, I generally use APKtool and replace the original META-INF folder and AndroidManifest.xml, this is the proper way to recompile it (http://forum.xda-developers.com/showthread.php?t=2203166).
Smokehrbar88 said:
I think that is to do with zipaligning, but don't ask me further, I'm pretty noob about this. I know that many apks works well even after they are recompiled as a zip; but some resources need a particular procedure. This way avoids any problem due to recompiling.
For editing xml, I generally use APKtool and replace the original META-INF folder and AndroidManifest.xml, this is the proper way to recompile it (http://forum.xda-developers.com/showthread.php?t=2203166).
Click to expand...
Click to collapse
Man made a theme is too easy no need root
https://plus.google.com/+MassimoBotta/posts/27CAAv91Lth
vobiscum said:
Man made a theme is too easy no need root
https://plus.google.com/+MassimoBotta/posts/27CAAv91Lth
Click to expand...
Click to collapse
So you can change navbar icons with a theme? Well, damn me. Damn Haweii. How about other pngs in SystemUi.apk (for example the gradient?)
Not useless, and to be honest, I prefer getting my hands dirty pulling things apart rather than relying on other people, gives you a better understanding of how things work

Categories

Resources