ServerProxy =========== ServerProxy is a Android library to provide easy to use classes to create a local server proxies. The following classes exist: **ServerProxy**: abstract class which creates a socket and has methods to get a url to reference it. - start: Start the proxy listening for requests - stop: Stop the proxy listening for requests - getPrivateAddress: Get a local url good for being passed internally to another application on the same device - getPublicAddress: Get a url good for being passed to another device on the same LAN **FileProxy**: Streams whichever file is referenced in the url. Can handle partial requests. **BufferProxy**: Streams a file which is being concurrently downloaded. Takes a BufferProgress object to determine when the file is finished downloading. This is useful for serving a song to a MediaPlayer which is still being downloaded. Can only handle one at a time. - setBufferFile: Set the buffer file which is used to query for the state of the download **BufferFile**: Interface to be implemented, which is queried to get various information about the file being downloaded - getFile: Return the file which is being buffered - getContentLength: The content length which is passed as a header. ONLY set if you absolutely know for certain the end size of the file - getEstimatedSize: The guessed size of the file. It is used to keep track of how much more data needs to be processed. It should be relatively close. - isWorkDone: Whether or not the file is done being downloaded - onStart: called when the streaming starts - onStop: called when the streaming is done