dojox.charting is a HUGE library comprisign of thousands of files measuring over 3MB.
This adds a lot of weight to our app. So we just package the set of files that we use.
You will probably never need to do this, but in case a new chart is added or charting 
is broken, the most likely cause is a missing file in our bundle. To determine if a new
file needs to be added to the archive follows these steps.


1. Determine the set of files needed by each chart. Add this code block to each chart's 
webview to determine the set of loadded files. It should still be present (commented out)
in each chart's webview setup code.

		final StringBuilder files = new StringBuilder("");
        final String dojoChartingFileNamePrefix = "file://data/data/com.zillow.android.zmm/app_charting/charting/";
        mChartWebView.setWebViewClient(new WebViewClient() 
        {
            public void onLoadResource(WebView view, String url) 
            {
                //Notify the host application that the WebView will load the resource specified by the given url.
            	
                if(url.startsWith(dojoChartingFileNamePrefix))
                {
                	files.append("::" + url.substring(dojoChartingFileNamePrefix.length()));
                }
            }
            
            public void  onPageFinished(WebView view, String url) 
            {
                //Notify the host application that a page has finished loading.
                Log.v("CHART PAGE", "Finish loading page");
                Log.v("CHART PAGE", "Here are the files needed by this chart : \n" + files.toString());
            }
        
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) 
            {
               ZillowApplication.displayToast(activity, "Oh no! " + description);
            }
        });


2. When you run the app, watch for logs (Logcat level:verbose). The final log should be a line of this format.
02-02 12:14:24.632: V/CHART PAGE(15666): ::dojox/gfx/gradutils.js::dojox/gfx/matrix.js::dojox/charting/Theme.js::dojox/color.js::dojox/color/_base.js::dojo/colors.js::dojox/color/Palette.js::dojox/lang/utils.js::dojox/charting/Chart2D.js::dojox/charting/axis2d/Default.js::dojox/charting/axis2d/Invisible.js::dojox/charting/scaler/linear.js::dojox/charting/scaler/common.js::dojox/charting/axis2d/common.js::dojox/gfx.js::dojox/gfx/canvas.js::dojox/gfx/shape.js::dojox/gfx/path.js::dojox/gfx/arc.js::dojox/gfx/decompose.js::dojox/charting/axis2d/Base.js::dojox/charting/Element.js::dojo/string.js::dojox/lang/functional.js::dojox/lang/functional/lambda.js::dojox/lang/functional/array.js::dojox/lang/functional/object.js::dojox/charting/plot2d/Default.js::dojox/charting/plot2d/common.js::dojox/charting/plot2d/Base.js::dojox/charting/scaler/primitive.js::dojox/charting/plot2d/_PlotEvents.js::dojox/lang/functional/reversed.js::dojox/gfx/fx.js::dojox/charting/plot2d/Lines.js::dojox/charting/plot2d/Areas.js::dojox/charting/plot2d/Markers.js::dojox/charting/plot2d/MarkersOnly.js::dojox/charting/plot2d/Scatter.js::dojox/charting/plot2d/Stacked.js::dojox/lang/functional/sequence.js::dojox/charting/plot2d/StackedLines.js::dojox/charting/plot2d/StackedAreas.js::dojox/charting/plot2d/Columns.js::dojox/charting/plot2d/StackedColumns.js::dojox/charting/plot2d/ClusteredColumns.js::dojox/charting/plot2d/Bars.js::dojox/charting/plot2d/StackedBars.js::dojox/charting/plot2d/ClusteredBars.js::dojox/charting/plot2d/Grid.js::dojox/charting/plot2d/Pie.js::dojox/charting/plot2d/Bubble.js::dojox/charting/plot2d/Candlesticks.js::dojox/charting/plot2d/OHLC.js::dojox/charting/plot2d/Spider.js::dojo/fx.js::dojo/fx/Toggler.js::dojo/fx/easing.js::dojox/charting/Chart.js::dojox/lang/functional/fold.js::dojox/charting/Series.js::dojo/number.js::dojo/i18n.js::dojo/cldr/nls/en/number.js::dojo/regexp.js

3. Copy these lines(one for each chart) and trim the timestamp and other fields to get to just the list of files separated by two semi-colons.
::dojox/gfx/gradutils.js::dojox/gfx/matrix.js::dojox/charting/Theme.js::dojox/color.js::dojox/color/_base.js::dojo/colors.js::dojox/color/Palette.js::dojox/lang/utils.js::dojox/charting/Chart2D.js::dojox/charting/axis2d/Default.js::dojox/charting/axis2d/Invisible.js::dojox/charting/scaler/linear.js::dojox/charting/scaler/common.js::dojox/charting/axis2d/common.js::dojox/gfx.js::dojox/gfx/canvas.js::dojox/gfx/shape.js::dojox/gfx/path.js::dojox/gfx/arc.js::dojox/gfx/decompose.js::dojox/charting/axis2d/Base.js::dojox/charting/Element.js::dojo/string.js::dojox/lang/functional.js::dojox/lang/functional/lambda.js::dojox/lang/functional/array.js::dojox/lang/functional/object.js::dojox/charting/plot2d/Default.js::dojox/charting/plot2d/common.js::dojox/charting/plot2d/Base.js::dojox/charting/scaler/primitive.js::dojox/charting/plot2d/_PlotEvents.js::dojox/lang/functional/reversed.js::dojox/gfx/fx.js::dojox/charting/plot2d/Lines.js::dojox/charting/plot2d/Areas.js::dojox/charting/plot2d/Markers.js::dojox/charting/plot2d/MarkersOnly.js::dojox/charting/plot2d/Scatter.js::dojox/charting/plot2d/Stacked.js::dojox/lang/functional/sequence.js::dojox/charting/plot2d/StackedLines.js::dojox/charting/plot2d/StackedAreas.js::dojox/charting/plot2d/Columns.js::dojox/charting/plot2d/StackedColumns.js::dojox/charting/plot2d/ClusteredColumns.js::dojox/charting/plot2d/Bars.js::dojox/charting/plot2d/StackedBars.js::dojox/charting/plot2d/ClusteredBars.js::dojox/charting/plot2d/Grid.js::dojox/charting/plot2d/Pie.js::dojox/charting/plot2d/Bubble.js::dojox/charting/plot2d/Candlesticks.js::dojox/charting/plot2d/OHLC.js::dojox/charting/plot2d/Spider.js::dojo/fx.js::dojo/fx/Toggler.js::dojo/fx/easing.js::dojox/charting/Chart.js::dojox/lang/functional/fold.js::dojox/charting/Series.js::dojo/number.js::dojo/i18n.js::dojo/cldr/nls/en/number.js::dojo/regexp.js

4. Replace the semi-colons with line breaks. In the eclipse find+replace dialog select 
regular expressions checkbox and find :: and replace with \R. 
We will have duplicates, but that's ok. The next step will eliminate dups.

dojo/dojo.js
dojox/gfx/gradutils.js
dojox/gfx/matrix.js
dojox/charting/Theme.js
<snip><snip>

5. Now copy just these files from the fully extracted dojo library (included in the /charting directory) to /res/raw/charting. 
Make sure to delete existing files in /res/raw/charting first in case we don't need a few files now.
In your project folder execute: 
cat assets/charting/dojo-file-set.txt | xargs -I file dirname file | xargs -I file mkdir -p res/raw/charting/file
cat assets/charting/dojo-file-set.txt | xargs -I file cp charting/file res/raw/charting/file

Feel free to create a nice script out of this - but I doubt we will never run this again.

6. Archive the folder
cd res/raw
rm charting.tar (remove old one)
tar -cvf charting.tar charting