Related
What the title says really. Seeing as .Net CF doesn't support the VB's BackgroundImage button property i'm looking for an alternative method. I've had a quick read of this page but it makes it seem really complicated to do and i was hoping that you guys would be able to suggest something a bit simpler.
Let me know if you have any ideas.
Hi M3PH,
Have a look at post #3 in this thread
http://forum.xda-developers.com/showthread.php?t=499621
It is from a couple of years ago, regarding a query of how to improve buttons, but not much has changed. The code is in C# but as it only dealing with events, there is very little difference from the equivalent VB code. Any problems let me know. As the post mentions, it is not perfect but it does not look too bad. Click on the button and it switches to its 'button depressed' image.
To try it out, extract the TestDevApp.exe from the zip file and run it in a WinMo 6.0 or later emulator image.
stephj.
One question, Does that method allow for the button to be effectively "skinned"? For example, if Swiss420 was to send me some images for several different buttons could i create a different image list for each button?
Sorry if that question seems stupid. got a teeny tiny hangover and the brain aint working right yet. Anyway thanks and let me know what you think.
Yes, it should work, but how you decide to implement it is up to you.
Either:
1.) Have a separate imagelist for each button, or
2.) Load all the images into one globally accessed imagelist and refer to that from wherever you need it. Just make sure the event for each 'button' uses the correct imagelist index. If you add or delete an image from the 'middle' of the list, you will have to refactor all the code that refers to images with an index greater than the one you have added/deleted.
Good luck!
Cool thanks. I think i'm gonna go for option one coz it seems like less of a pita.
Thanks for all the help
Ok, I hate asking for help, and I'm sure the answer is right in front of me and amazingly easy, but I can't seem to get anywhere with it. Its been years since I've really looked at any code, so this has all been a re-learning experience.
I finally got around to setting up build environment, blah blah blah. I wanted to see if I could get the Search Key re-bound per the setup here.
I'm using the Andro repo and changing it where necessary, but receiving an error when it builds android.policy that PhoneWindowManager.java has an invalid character.
I don't see anything that would be invalid with that change. The build goes through find if I use the original PhoneWindowManager file.
I know there were some people interested in this being a flashable zip, which I'd like to do as my next project if I can get this working. So....any thoughts?
OK, just as a (partial) sanity check, I tried building ICS AOSP with the some of the changes you linked.
I did not repo sync, so the source is probably from late 2011 or whenever AOSP was released. I didn't change my keylayout files. I did add the new code to test if the build works. I built a generic full-eng build since I don't have any of the supported devices.
After all that, it did build without fatal errors (35 mins). I have all the .img parts in the out directory.
How did you edit the PhoneWindowManager.java file? Linux uses different end of line characters than Mac or Windows, so if you saved it with the wrong editor, it will bork the end of line characters. nano or vi should work.
Thanks for checking. I don't recall what it was I edited it with, but wasn't eclipse or anything like that. Ill add that to the build environment and give that a shot when I get home. I know I had a backup of the original file.
I more wanted to make sure I wasn't crazy with it. I didn't change any of the keychar files yet (there are quite a few to sort through, so have to find out which). I appreciate you running it through the build process.
Sent from my HTC Vision using XDA App
What gee one said seems likely from the explanation you give here, but the log from the build will help confirm it. The javac compiler can be picky. You should be able to run the file through `dos2unix' or equivalent to fix it up if that's the case.
Aside: the poster of the original pseudo-patch should have used diff to make a real patch, rather than that "from"->"to" business. That's just asking for mistakes.
I might suggest, if you get this working, going a step further and making it configurable from Settings. This seems like it might be a good CM9 feature if you were interested. If you'd like, I can try to help guide you through that process, though (disclaimer) I haven't run anything through CM Gerrit since May 2011 so hopefully nothing has changed.
Well I ran it through again after changing a fresh copy through eclipse. The first one had an error, though I had a nagging feeling I did something wrong, so restored my backup and did it again. Looking carefully I think I had copied it wrong and left a statement open, or an extra close. Considering I did this half a dozen times I'd feel pretty stupid if it was just a matter of me making sure the statements weren't correct. Anyways, it passed android.policy on the build, but with this old machine it probably won't be done until late tonight or tomorrow. I'll follow up then.
Oleary, I make take you up on that. If everything works I'd like to make a flashable zip for everyone, and eventually send it for review (if it hasn't been already). I really don't have any experience with it, so I'll be sure to get in touch with you.
Thanks again for the follow ups.
You can make just parts of a build (after the initial build) with the mm command (or is it mmm)?
mmm frameworks/base
http://wiki.cyanogenmod.com/wiki/Howto:_Speed_up_building#Decrease
I can never remember (but I haven't done it often.) I always just end up checking the function definitions in build/envsetup.sh
Well the build took a lot quicker that I had thought. I changed several of the .kl files (still have to figure out which one it actually is though) to get it running. Works great.
oleary, mind if I shoot you a PM tomorrow regarding a few things on the build, zips, etc?
Feel free, though for flashable zip kinda stuff I'm probably not the right person.
hey guys.
can one of you masters point me in the correct direction to understanding .smali code?
I'm trying to update the video ringtone app that I had themed back in 2010. I've been able to get most of it done via .xml and .png edits, but I'm running into an issue I never ran back then. there's a check in the code of the program that tells me the app is corrupt. I know it's because it's been edited, but it's a free apk, i'm not breaking any rules. never heard of free apks being so strict.
I'm fairly certain it's down to .smali, as I've poured through all the .xmls and I don't see anything referencing that error except the strings.xml in res/values/.
within the smali i'm fairly certain i'm in the right folder, as I'm seeing different .smali files for specific parts of the program I can recognize based on the name, but nothing makes sense of what's on the smali code.
i can real .xml plainly, but .smali reads like text java...which I'm very bad at. is this something that I can visualize by using Eclipse or another Java compiler? how do you guys find what you need to edit in the code?
any help is greatly appreciated.
nobody? I know someone must know because you awesome guys do smali changes all the time!
I found a "guide" on editing/themeing Android. It mentioned I needed Eclipse. that's ALL it ever said about Eclipse...I need it, for what?!
What does it do when you try to open the program? Does it just fc or does it actually tell you that it's corrupt?
the problem only happens when I try to select a video for a specific contact.
instead of opening the video picker thing, it gives a toast notification saying the application is corrupt. the toast notification goes away and the app stays open.
I can continue to use the app otherwise, and everything else seems to be working. the share/download videos option gives the same message, but that connects to a server, so that is understandable.
the app still works. i just don't want to release it as is since you can only have one video ringtone right now, and I like having custom ringtones and I know so will other people.
All samsung "touchwiz" based devices contain files in /system/csc that set variables dictating how certain parts of the phone act, what is pre-configured, etc. In the case of the AT&T variants, the contents of these files are often dictated by AT&T.
This post is an attempt to try and catalog some of the more useful values that can be changed (and the result of changing them.) Not all the variables seem to do much, and only by trial and error can we really know what will happen... So far, I've only played around with items I found interesting, but will continue to expand in this and if people reply to this post with actual experience changing other variables, I'll add the information to this thread.
PLEASE TEST THINGS AND CONTRIBUTE TO THIS THREAD.
Please don't reply with guesses as to what things may or may not do or with requests about specific variables. I'm hoping that eventually document every CSC variable available and "requests" won't make it go faster. If you want to know what a not-yet-documented variable does, try it out (and post your results.)
First, in order to play with the csc files, your phone should be rooted. This isn't optional, as you'll need the ability to overwrite files in the phone's /system partition (the firmware - sometimes improperly called the "ROM")
I'd strongly suggest making a nandroid (or backup via CWM Recovery or TWRP) before making changes. It's possible to mess things up badly enough that the phone won't boot properly.
It's possible to edit the CSC files directly on the phone, but I'd strongly suggest not doing that. Therefore, you should have a good text editor on your computer that's able to properly deal with unix/linux style line endings (notepad isn't good enough.) Notepad++ is a very good editor and freely available. Google "notepad++" For a linux box, plain "gedit" is fine.
In order to edit the files, you'll need to be able to mount the /system partition as read-write, and to move files from /system/csc to your PC or other location for editing. You have several options for this including root explorer, ES File Explorer, or just using adb. I prefer adb myself, but I'm a commandline type of person.
I won't be spending time describing how to get the CSC files off your phone to your PC, nor will I tell you how to overwrite the existing ones with your edits. This isn't because I'm elitist, an a**hole, or anything like that. (I _am_ some of those things, but that isn't my reason here.) My purpose for leaving out the information is to force inexperienced users to learn these things before editing system files. If I give you all the information, you become dependent on me for more information, and I don't want that (and trust me - neither do you.) As well, if I spoon-feed this, you won't have any idea what do to when something goes wrong.
Find this post helpful? If so, please make it MORE helpful by testing one of the other CSC features and replying to this thread telling us what result you had.
First up... feature.xml...
feature.xml
The CSC "feature.xml" file is in XML format. This means that everything "variable" has a start and end tag. Both contain the name of the variable,
but the end tag has a slash in it. The value of the variable is between the start and end tags. For example: <VariableName>value</VariableName>. So, if this message describes changing "CscFeature_SamsungSucks" from "false" to "true", you'd search in the xml file for "CscFeature_SamsungSucks" and might find this:
Code:
<CscFeature_SamsungSucks>false</CscFeature_SamsungSucks>
You'd change the "false" to "true" (no quotes!) and be done. In some cases, the entire line can be deleted (as noted.)
This file has a LOT of variables in it and this post will concentrate on that particular file. Almost all tinkering will occur in this file, and it's also the easiest to edit (as there aren't any complex xml structures.)
CscFeature_Common_DisableMenu4GalSearch: setting this to false didn't seem to bring up any new global address list options on my device (I'm connected to an exchange server) in the email app or contacts/dialer app.
CscFeature_Settings_DisableMenuFindMyMobile: (see next line)
CscFeature_Settings_FindMyMobile: setting "DisableMenuFindMyMobile" to false and this entry to true will enable the "find my mobile" entries in the Settings->Security menu. I'm unable to get these items to function properly, however. (They worked with my international note2, so it might be that there are other support files missing on the AT&T variant I'm using now.)
CscFeature_FMRadio*: editing these seem to have no effect (I don't think any of the LTE capable NoteII phones are capable of FM Radio.)
CscFeature_NFC_StatusBarIconType: If you delete this line, it will get rid of the "N" statusbar icon when NFC is turned on.
CscFeature_Message*: Be warned that editing some of these may break SMS/MMS messaging on your device. There appears to be many carrier specific settings in here that have dependencies on the specific carrier. For example, I don't think that AT&T's network supports proper SMS Delivery reports, so even setting the corresponding variable to "true" would be futile.
CscFeature_Email_UseFixedBgColorAsWhite: if changed from true to false, the email app will appear inverted (with a black background and white/gray text.)
CscFeature_Sip_DisableAutoCorrection: doesn't seem to have any impact on the samsung keyboard
CscFeature_Sip_DisableSpaceSuggestion: doesn't seem to have any impact on the samsung keyboard
CscFeature_Sip_DefaultOff4AutoSubstitution: doesn't seem to have any impact on the samsung keyboard
CscFeature_Launcher_*: all these seem to be for setting defaults for the touchwiz launcher, so no sense in changing them.
language.xml
(coming soon)
This appears to control what languages are available to the system. Canadian users might want to play with this file to see if adding en_US to the "Display" and/or "SupportList" tags will allow them to choose US English (and perhaps get google's TTS to talk to them in google now.)
others.xml
(coming soon)
This appears to set some carrier defaults, including the APN information and the carrier built-in dialer contacts (such as "AT&T Customer Care")
customer.xml
(coming soon)
I've only glanced at this file so far, but it appears to be carrier specified network information, some carrier specified settings defaults, and even some carrier specified browser bookmarks. There also appears to be some APN related information in here, but I'm not certain what it's in here for.
Nice how to guide man its very informative, im going to play around with this later when I get home...do you mind if I add it to my reference thread so it doesnt get lost when this thread begins to get bigger?
Sent from my SAMSUNG-SGH-I317 using xda premium
mjwhirly said:
Nice how to guide man its very informative, im going to play around with this later when I get home...do you mind if I add it to my reference thread so it doesnt get lost when this thread begins to get bigger?
Click to expand...
Click to collapse
This isn't mine to control. This "belongs" to the community, and I hope that the community contributes to it in a meaningful way. Please feel free to reference it elsewhere - perhaps with (contributions welcome) noted. My ONLY demand is that no one profits from effort I've given freely.
My secret motive is to nudge people out of the "MyRom" mentality and more into the "lets all work together to learn, develop and share" mentality often seen with kernels and open source projects.
Take care
Gary
Gary, have you seen the CSC feature web, set user agent?
Possibly an option to set "Desktop" as default user agent in browser, I for one despise mobile sites.
antiochasylum said:
Possibly an option to set "Desktop" as default user agent in browser, I for one despise mobile sites.
Click to expand...
Click to collapse
Not sure if this is what you are looking for or not: Start the browser, tap the "menu" button. Turn on the "desktop view" checkbox.
There are some UAgent related entries in the feature.xml file. Please play with them and post your results:
CscFeature_Web_SetUserAgent // currently empty
CscFeature_Web_SetUAProfile
CscFeature_Web_Bool_EnableUAProfile // currently false
Thanks so much for this. Sorry for the noob question but I haven't done much with xml files. What is the character to just comment out a line?
Sent from my SAMSUNG-SGH-I317 using xda premium
Romee74 said:
Thanks so much for this. Sorry for the noob question but I haven't done much with xml files. What is the character to just comment out a line?
Click to expand...
Click to collapse
In XML, in order to comment out a line (instead of completely deleting it), it has to be surrounded by special tags:
On the left of the commented out area, you need "<!--" (no quotes) and on the right, you need "-->"
See the below code block for an example.
Code:
<Is_This_Commented> false </Is_This_Commented>
<!-- <Is_This_Commented> true </Is_This_Commented> -->
Take care
Gary
On my Galaxy S III, the file /system/etc/feature_default.xml appears to contain default settings, and feature.xml can override those defaults. I'm not sure how comprehensive the list of settings in feature_default.xml are, but I would imagine that many of the available ones are covered there.
Thundersnuz said:
On my Galaxy S III, the file /system/etc/feature_default.xml appears to contain default settings, and feature.xml can override those defaults. I'm not sure how comprehensive the list of settings in feature_default.xml are, but I would imagine that many of the available ones are covered there.
Click to expand...
Click to collapse
That's interesting. Which variant of sgs3 do you have? Would you be willing to attach the two files to a reply in this thread (or point me to someplace I can find the firmware your using to investigate?)
Thank you
Gary
It would be amazing if we could somehow enable auto-replace on the samsung keyboard. I ended up switching to swiftkey because of how many mistakes I've been making with the stock keyboard, but now I don't get to take advantage of swipe, stylus writing, or the one-handed features...
UCLAKoolman said:
It would be amazing if we could somehow enable auto-replace on the samsung keyboard. I ended up switching to swiftkey because of how many mistakes I've been making with the stock keyboard, but now I don't get to take advantage of swipe, stylus writing, or the one-handed features...
Click to expand...
Click to collapse
I completely agree, but I wasn't able to get it working when tinkering with the CSC values (as noted in the corresponding post.) Perhaps there's some other combination of values that might get it going.
Please give it a try and let us know how it works out.
Take care
Gary
Removing the NFC icon from the staus bar is awesome but has anyone tried switching this line;
<CscFeature_NFC_DefaultCardModeConfig>DISABLE</CscFeature_NFC_DefaultCardModeConfig>
To enable? Im not sure why att would "block" this feature, especially with google wallet getting more support for non-nfc devices.
Sent from my SAMSUNG-SGH-I317 using xda app-developers app
MonsterBandit said:
...but has anyone tried switching this line...
Click to expand...
Click to collapse
I'm not sure why people keep asking if other people have done this, that, or the other thing. TRY IT and let us know what happens.
garyd9 said:
I'm not sure why people keep asking if other people have done this, that, or the other thing. TRY IT and let us know what happens.
Click to expand...
Click to collapse
fair enough...thanks btw...im slowly growing the courage to make changes and explore deeper into these devices...changed the value to "ENABLE" (minus the quotes) and seemingly nothing changed. Google Wallet app still says Not supported. That might be on Google Wallet's end tho. I guess the better question might be has anyone with a Note 2 gotten Google Wallet to work?
When I first got my GN2 running stock, carrier billing worked. I then flashed Jedi 3.3, and it disappeared. I remember that on my HOXL, someone mentioned a fix on the build.prop. Is there anything I can do on the GN2's build.prop to get my carrier billing back?
I'm on AT&T by the way.
silentecho13 said:
When I first got my GN2 running stock, carrier billing worked. I then flashed Jedi 3.3, and it disappeared. I remember that on my HOXL, someone mentioned a fix on the build.prop. Is there anything I can do on the GN2's build.prop to get my carrier billing back?
I'm on AT&T by the way.
Click to expand...
Click to collapse
this is pretty much a how to thread ..
you seem to be having issues with a rom , you should post in there ..
here is how I fixed it in previous roms ..
compare your build.prop form your att rom to the one you are using ..
and add / replace with the att stuff .
Welcome to Part II of the basics of ROM building.
If you have not had a chance yet, please check out this link. This should be followed after all of the "files" are gotten from the first part of this Trilogy of tutorials. Okay enough Lord of the Rings, the true trilogy (nerd reference may be criticized below, I preferred the matrix until the third one lol) I digress.
So, we have the files we downloaded them, Red bull/Rockstar/Monster/Bawls, whatever your legal poison. Let's set up working directories.
Organization is critical to the development process. I mean, I only realized this after I started modifying. I mean wow, it was so much easier once I started to record notes and logs.
To begin, always go to a root of a hard drive
Create a folder called
Rom
Tools and then create a new folder called Smali and APKTOOL
Multimedia and then create a new folder called Pictures and Sounds
So we have created 5 folders, do you need 5? No. Do you need 20? It doesn't matter, do what you are comfortable with. It is about staying organized.
Take the ROM you have selected from the first Basics Rom Tutorial. I assume for (hint hint) simplicities sake you chose a DeOdexed rom version of the Sprint S3 MD4 rom. Freeza Thank you. It will be in a zip file
Called: MD4_update_FULL_DeOdex.zip
Rename it to MD4.zip, feel free to call it whatever you want (remember feel comfortable). I will refer to it as MD4 from now on for simplicities sake.
So you have 7-zip installed right? Uh Oh, check, make sure that is ready to go before we start.
I cannot go into that tutorial because....well come onnnnnnn is it really that hard to press next 10 times or less ?
Extract all the files to MD4_Version_1
Oh yeah, we will be making hundreds of versions if you want. Trust me later down the line, after each mod is good, you can just continue naming them in increments. But version control should always be implemented in case you mess something up. So the logic is:
Make 1 mod or set of mods, try mod, if it works keep using that version as your base version and keep going until you are ready to try it again. Mind you it is time consuming but the only way you truly learn this backwards art of reverse engineering.
So lets look at this disaster. I mean it's overwhelming so do not think you are King of the Hill or Any hill. Maybe a mole hill because this a very complicated system in front of us.
Let's analyze the anatomy, BTW, I do not even know what everything does or is, but by all means, ask questions and we will find out. A forum is meant to voice opinions and feedback to those opinions.
The root folder has 2 folders and 2 files
META-INF
system
boot.img
installbusybox
The META-INF folder is extremely important. It contains useful information about signatures and is very necessary for android to" say its official software" remember the idea of this folder, not its contents. I do not mess with this META-INF but there are so many all over the place down the road that we will need to know it plays an important role.
The system folder has every file that we are going to modify, we will hit this folder harder than a head crab being hit by another "delay" at Valve.
The boot.img is an important file for booting up android. We will not be touching that right now. Can you? Sure but hell, don't bother with it for this tutorial. If you know all about ROM mods like some of our bad-ass developers ( yes Cyanogen all of you are badass), Stop reading get to better pastures.
The installbusybox should be there for tools for ROM modifications. It is basically a set of functions that makes Android have teeth. I will not be using it right now but we can keep going. The best tools collected into one so do not delete or modify
Lets get to the meat, the big shabang, the wholy mole(for my Latin friends), the kabosh(for whoever knows what that is)
System
The sub folders are:
app: Contains all the apps that come with the ROM. Remember android operates by utilizing apps for different functions. Modify the files in here can be good and bad, we can make the best tweaks ever here or ruin everything. Be very careful, I have had boot hangs happen to these files
bin: This folder appears mysterious but it contains important files, the binary files. Complexity gets checked right here. This folder is extremely sensitive, I have not modified this folder just yet but when I feel like bricking my phone like a gravity gun dropping combine soldiers, I will get to this asap.
cameradata: Contains important files for camera raw data to JPEG conversion, I do not mod this folder.
csc: This is a jewel, it contains Consumer Software Customization. It has multiple XML files that can be edited and modified critical settings for various functions. Very nice to start your ROM customization here, but not the easiest, lets ease in with another folder first.
etc: This folder contains critical data storage. It has things like the hosts file which will allows you to block ads(cough cough, youtube) and many other files. This folder can brick your phone. Lets not get crazy here...yet
fonts: Pretty obvious, fonts for the ROM, oh and it requires True Type Fonts so contact your local free repository for those.
framework: This folder is an important folder, almost just as important as the app folder
hdic: Language files they are based off the first 2 initials of the language. Not affecting anyone if we are not trying to pinch each ROM's size down to the bare minimum
lib: Library folder, this has files with extension .SO, they will contain libraries of information for different functions. For example, how to take a "Best Pose" picture mode would have functions in this folder as well as other areas of the rom.
media: Contains the most obvious of sounds and a prime location for android universal sounds and bootimages. The bootimages is a touchy subject, the files are Samsung proprietary which makes them useless to us for modification, but we can make the puppet dance one way or another. The sounds, however, are key as we can isolate sounds when the phone starts up, or mute certain camera functions here, we can even make it sound like all of your favorite games(Yes I did, Mechwarrior boot sounds are acceptable, F.E.A.R. sound effects and some DOOM noises added for ambiance and of course Half life 2 noises for complete nerdgasm)
T9DB: This folder contains T9 predictive text in I believe 3 languages: English, Spanish and Korean, can you get rid of 2 of these sure, but expect problems if you decide later you need them. I mean they are not that large in size but at the same time, everyone has their own way of doing things
tts: This folder houses the Text to Speech programs. They suck. I am sorry but they do, SVOX is better, I love IVONA personally. I always like a british women to wake me up and tell me I am late. But that's me.
usr: This folder is not really meant for us to modify as it has to do with the keyboard layout, grammar recognition and customization. Realistically though, I use Swiftkey and call it a day. So do not hate me if I do not bother with mucking around here. It is useful to some I am sure but nothing I want to dabble in. But by all means, it can be useful for setting well Settings.
vendor: Contains library and binary files for certain features from the vendor, I would say camera related but I do not care for this folder just like people really hated the HEV suit announcing all of its amazing features, are you kidding me that was the best part. Yes I fell 100 feet, please let me know about my fracture and how this suit somehow repaired it. It might have well said "Oww". Nothing wrong with that.
voicebargeindata: From my understanding, Svoice related. No need to bother, that feature is about as useful as a Crowbar in a Gun Fight.
vsc: Version Software Control
wakeupdata: Acoustic and Grammar models contains several languages as well
xbin: Has busy box and Super User, a useful tool to become well super.
build.prop: Very sensitive file that is magical and detrimental. There is a lot of false promises on performance with this one. We will dig through this one carefully.
CSCVersion.txt: Should have the model number of your phone
SW_Configuration.xml XML file with more model number configuration
Please feel free to let me know what is understood or not.
This run down allows us to attack the appropriate folders for the next parts
Before we even begin with the complicated mods, let's attack the basic mods first.
The media Folder then go to audio, there is 4 folders
alarms
notifications
ringtones
ui
The first 3 folders you can place anything you want inside. They each correspond to the default ringtones you would like in the phone. I recommend using .ogg files or .mp3 files, you can use Audacity to modify your sounds. Sometimes the length of the sound plays an important role. Short sounds should be kept short for a reason. If you play a noise and its barely half a second, do not make it 4 seconds long because it will sound ridiculous longer than what is meant to sound. Taking a picture while hearing Puff Daddy's Come with Me can be quite awkward but hey its all about your ROM, your choice, your likes. Who the hell is going to tell you that you cannot have a sound of a crowbar whacking a headcrab while in the middle of a busy subway.....besides the police. This works similarly to the situation of ringtones, keep them full blown songs and I have noticed some lag. Do not be discouraged, but most modern phones end the call after about 30 seconds. This time limit has to do with how long the phone is takes to find the phone and ping it. Of course, I safely recommend 45 seconds of your song to cover yourself.
Take note that there are 3 files in these folders that are set to default (ringtone, alarm and notification). We can change that with the build.prop but that's after we mess with the ui folder that contains the User Interface Sounds.
Alert_on_call.ogg: An Alert when you are on call. This should be subtle noise
Auto_focus.ogg: Tricky one, I modified this, still makes an auto focus noise. Clearly a trick has been devised
Auto_focus_error.ogg: Same as above
Call_Connect.ogg: When the call first connects
Cam_Start.ogg: Video Recorder start noise
Cam_Stop.ogg: Video Recorder stops noise
camera_click.ogg: Camera Click noise
Camera_click_short.ogg: Camera Click noise
Camera_empty.ogg: Camera related
camera_focus.ogg: Tricksie this one is, mute and still makes noise, will discuss where noise is coming from
Camera_Timer.ogg: Timer for camera countdown
Camera_Timer_2sec.ogg: 2 Second timer
Charger_Connection.ogg: When you plug in your phone to charging port
Dialer_new.ogg: Tricky one will get to later
Dock.ogg: When you put the phone on dock, useful to distinguish from charger_connection.ogg
Effect_Tick.ogg: I have heard it whilst changing pictures but not sure
Highlight.ogg: I Silenced it, and "I dont know whhhyyy"( Can you guess which comedian said this line and if you know it say it in his voice)
HoverPointer.ogg: I Silenced it, and "I dont know whhhyyy"( Can you guess which comedian said this line and, if you know it, say it in his voice)
Insert.ogg: Google Voice Noise
KeypressDelete.ogg: Default keyboard, I do not use this
KeypressReturn.ogg: Default keyboard, I do not use this
KeypressSpacebar.ogg: Default keyboard, I do not use this
KeypressStandard.ogg: Default keyboard, I do not use this
Lock.ogg: When you press the power button and it instantly locks. This noise will play. Mechwarrior noise here
LowBattery.ogg: Doom low amm noise here to indicate I should have brought a charger becuase my battery is low
New_chat.ogg: Chat software related, I got rid of that junk but thats for another tutorial
PowerOff.ogg: Most people silence this as it is the noise that powers off the phone, I got creative here but you do not have to.
PowerOn.ogg: Most people silence this as it is the noise that powers on the phone, I got creative here but you do not have to.
S_HW_Touch.ogg: The HW indicates Hardware touch, basically the buttons and any touch screen action
S_SIP_Backspace.ogg: Backspace stuff
Sent_chat.ogg: See New_chat.ogg
Shutter.ogg: Silence this for sure if you do not want noise but really silence everything camera related here and it wont be 100%. So just do it
Shutter_multiple.ogg: Burst shot related
TW_Battery_caution.ogg: Any TW has to do with TouchWiz related actions. This one is for battery
TW_Call_Disconnect.ogg: The tricky thing is, some of these are controlled by another piece of software, this one is one of them
TW_Error.ogg:
TW_Silent_mode_off.ogg:
TW_SIP.ogg: Sounds like the default tapping sound for the rom's built in keyboard
TW_Touch.ogg: The default TouchWiz touch noise. Tricky little one this was as I had to verify there was no other location for the droplet noise, it turns out there is, so stay tuned as we dig into the apps and locate where the rest of the sounds are
TW_Unlock_Glass.ogg: Gallery Noises for file management
TW_Unlock_Puzzle.ogg: Gallery Noises for file management, not sure why I heard these exact noises in the gallery app other than they are linked
TW_Volume_control.ogg: The volume rocker button on the side, i mean logically there is only one choice, the Half Life 1 Medical Bay MedShot sound, okay maybe too annoying sure, but bada$$
Undock.ogg: Removing the phone from the dock that so few of us get because you know it doesn't fit my big case, or expanded battery or whatever. You know what, custom solutions are too expensive but trust me people do make the docks that accommodate bigger cases
Unlock.ogg: When you type in your Pin/Password/Pattern, the sound that it makes to unlock
VideoRecord.ogg: Camera video start recording noise, of course, I silenced this one as well
So this takes care of some of the noises, the problem is, Samsung software actually hides the rest of the noises. They are actually hidden away in the APK files in the system/app folder. Do not worry, in future parts of this Discovery channel special on Black Mesa, we will be investigating why they detonated a nuke in the first place if it didnt do anything to stop the invasion. I mean future parts of this series
So where do we go now? Well modify the sounds you want or add the ringtones you want. But something that I felt was important was that certain noises be set when I reboot my rom by default. No I do not want that stupid Samsung whistle! NO ONE DOES SAMSUNG!.
Lets set the default sounds on ROM start up, we will need to modify the build.prop file
This file contains an amazingly large set of instructions for the start-up of the phone and features in the phone. it is therefore, very sensitive to screw-ups. Hopefully, notepad++ was installed.
Navigate in Windows to the working directory of your ROM in our case MD4/system/ there is a file there that says build.prop
Let's open that up in notepad++, we should see some intimidating pieces of code or more like lines of text that tell the phone what and when to do something.
A caution to all, the build.prop has been synonymous with words like "increase performance", "maximize battery life" and other claims that are unfortunately sometimes not always true, for every mod someone makes to this file, someone traces the code to a Gingerbread rom that is useless on Jelly Bean, or an old reference to ICS(Ice Cream Sandwich),
I would highly suggest we not dabble too much on this. XDA has some great people who have found great information about the build.prop file. This link, user Chris_84 has put a great Wikipedia together on this so I will not try and explain each one. But there are so many other links that can show a post of good tweaks and bad tweaks and useless tweaks that I will not go into. Let's instead focus on our start-up sounds
The build.prop code we will scroll to with the ctrl+f button should be enough for us to get started is
Code:
ro.config.alarm_alert=
ro.config.ringtone=
ro.config.notification_sound=
Each of these do have a word after the equal sign, which means if you configure the correct file in the correct folder(hint hint) alarm, ringtone,notification folders we talked about earlier, all you have to do is add the name of the file exactly as it appears, please only use .ogg files here. MP3 files also work but you know just do it okay. I don't ask Alex why she never made a move on me, I just know she cant have a meaningful relationship with a guy who doesn't even say hi, that's a little creepy but you know and I know she loves Freeman alright.
As an example, just in case my rant did not make any sense,
let's say you put the following sound in the system/media/audio/ringtones folder kick_push_lupe.ogg
you would put in the code the following
Code:
ro.config.alarm_alert=
ro.config.ringtone=
ro.config.notification_sound=[B]kick_push_lupe.ogg[/B]
And that's how simple that is.
So you say you have ranted on too long. Sure I have, but that's not going to be the end here. We will be modifying the rest of this rom business in the more difficult lesson which is part III, that will take the longest because we want to have fun. And I still have some Freduian issues with my role model Gordon Freeman that I need to bring out. Anyway
Also, before I go, you might ask, how do you execute TEST BATCH ALPHA-TRON!.
Go Back to your Home Folder MD4_Version_1/. You should see the folders we discussed earlier
META-INF
system
boot.img
installbusybox
Select all of those files and right click the mouse button to get a context menu from 7-zip or WinRAR and click Add to archive. Make a ZIP FILE ONLY. You can choose to compress the file if you want, I just click fastest compression options available and proceed.
When the zip file is in hand, I take the file and put it on the SD Card root directory. When it transfers(in about 5 minutes), you can open the CWM (clockworkmod) recovery or the TWRP recovery and install the ROM. Sure I did skip some steps here on how you get these recoveries and the like but this tutorial is about ROM modification and the sort not the super basics, you need those to even be reading these. If you need to get those going, let me know in the comments and we can spool that up in part III.
I do not know how many parts this will take, but it is time consuming, i have to research this stuff and recall my notes. I know the spirit of the guide is in the right place but please be patient. I will not fail you Krypton(YES I LIKED MAN OF STEEL, let the downvotes begin, oh wait not imgur).
I appreciate all feedback, do not get me wrong, and I will work whenever I am free to add as many of these parts as I can. I do want to help anyone out who has their own twist on what they want their ROM to do. It is the least I can do to payback this great community and assist one person or inspire one idea. That is all it took for me to get going, the next part will also have a very heavy hand in taking code from other people for examples of mods. I want to say from now, I did not do any of these codes, I used common sense to implement somehow into my own rom mods. They deserve all credit as they are amazing coders/crackers/hackers/whackers/ whatever you name it they truly deserve the praise. I am just compiling their logic into our ROM that we are building together. And has anyone seen the YouTube channel Vsauce, that channel is AWESOME.
Again, thank you. Very, very helpful.
-------------------------
Sprint Galaxy S3
Need Help? PM
Hit the "Thanks" button if I helped you!
This is great. Man u really put this down in a way that is really understandable!
Sent from my SPH-L710 using xda app-developers app
Appreciate it
Thanks guys, seems you are tracking my every word, I posted the other ones it seems you hit those up as well. Appreciate it and everyone, please let me know if something did not make sense, we got a great pool of people that can help out.