i need to follow Android IO call from very beginning down to near hardware layer.
- What I need is actually nice stack of links to responsible source like in below's example, so a person could easily follow.
It is very simmilar in idea to this StackOverflow unfamous C/C++ function definitions without assembly question.
Let's look at example:
FileOutputStream fos = OpenFileOutput(„filename”, Contex.MODE_PRIVATE)
fos.write(somemeaninglessstring.getBytes());
let's imagine we are more intrested in write, but want to traverse several steps of opening file first. We start at /frameworks/base/core/java/android/content/Context.java + ContextWrapper.java to see that we have
@Override
public FileInputStream openFileInput(String name)
Ok. So moving on to /frameworks/base/core/java/android/app/ContextImpl.java:705/ where we have java.io.FileOutputStream.write(), next - it's base class java.io.OutputStream.write()
public void write(byte[] buffer) throws IOException {
write(buffer, 0, buffer.length);
}
... and here is where I've stuck.
java.io.* is top level package, OutputStream inherits only after Object, so - how could one find good algorithm to check what JVM does with write() in java.io.OutputStream ?
- I was wondering also, if there is anything simmilar to ctags that could speed up process if I'll need to repeat this process, preferably not requiring importing whole branch to Eclipse and so on.