Best Android App InstaSquare Lite for full-size publication of photos in Instagram, Facebook, Twitter. Run the android application on PC. You can through the android emulator Droid4X.

Changeset 114

Show
Ignore:
Timestamp:
02/05/09 13:28:32 (16 months ago)
Author:
czue
Message:

Add a "no data available" screen when there's no data.

Location:
trunk/rapidandroid/org.rapidandroid
Files:
1 added
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/rapidandroid/org.rapidandroid/src/org/rapidandroid/activity/ChartData.java

    r109 r114  
    4949        private static final String STATE_GRAPH_OPTION = "graphoption"; 
    5050 
    51         private static final String CHART_FILE = "file:///android_asset/flot/html/basechart.html"; 
    52         private static final String JAVASCRIPT_PROPERTYNAME = "graphdata"; 
    53  
    5451        private static final int MENU_DONE = Menu.FIRST; 
    5552        private static final int MENU_CHANGE_VARIABLE = Menu.FIRST + 1; 
     
    108105 
    109106                        }                        
    110                         mWebView.addJavascriptInterface(mBroker, JAVASCRIPT_PROPERTYNAME);               
    111                         mWebView.loadUrl(CHART_FILE); 
     107                        mBroker.loadChartPage(); 
    112108                        //mBroker.loadGraph(); 
    113109                }                
     
    149145                } 
    150146                 
    151                 mWebView.addJavascriptInterface(mBroker, JAVASCRIPT_PROPERTYNAME);               
    152                 mWebView.loadUrl(CHART_FILE); 
     147                mBroker.loadChartPage(); 
    153148                //mBroker.loadGraph(); 
    154149                //mWebView.debugDump(); 
     
    275270 
    276271        } 
     272         
     273         
     274 
    277275 
    278276        @Override 
  • trunk/rapidandroid/org.rapidandroid/src/org/rapidandroid/activity/chart/ChartBroker.java

    r112 r114  
    3232 */ 
    3333public abstract class ChartBroker { 
     34 
     35        private static final String CHART_FILE = "file:///android_asset/flot/html/basechart.html"; 
     36        private static final String JAVASCRIPT_PROPERTYNAME = "graphdata"; 
     37        private static final String EMPTY_FILE = "file:///android_asset/flot/html/empty.html"; 
    3438         
    3539        /** 
     
    8185        }; 
    8286         
     87        protected boolean mGotData; 
     88        private boolean mChartPageLoaded; 
     89        private boolean mAlreadyLoading; 
     90         
    8391        protected ChartBroker(Activity activity, WebView appView, Date startDate, Date endDate) { 
    8492                mParentActivity = activity; 
     
    131139         */ 
    132140        public synchronized final void loadGraph() { 
    133                 mToggleThinkerHandler.post(mToggleThinker); 
    134                 if(mGraphData == null && mGraphOptions == null) { 
    135                         doLoadGraph(); 
    136                 } 
    137                 loadGraphFinish(); 
    138         } 
     141                if (!mAlreadyLoading) { 
     142                        mToggleThinkerHandler.post(mToggleThinker); 
     143                        if(mGraphData == null && mGraphOptions == null) { 
     144                                doLoadGraph(); 
     145                        } 
     146                        loadGraphFinish();       
     147                }  
     148                mAlreadyLoading = false; 
     149        } 
     150         
    139151        protected void loadGraphFinish(){ 
     152                if (!mGotData) { 
     153                        mAppView.loadUrl(EMPTY_FILE); 
     154                        mChartPageLoaded = false; 
     155                        finishGraph(); 
     156                        return; 
     157                }  
     158                else if (!mChartPageLoaded) { 
     159                        mAlreadyLoading = true; 
     160                        reloadChartPage(); 
     161                } 
    140162                int width = mAppView.getWidth(); 
    141163                int height = 0; 
     
    148170                mAppView.loadUrl("javascript:SetGraph(\"" + width + "px\", \"" + height + "px\")"); 
    149171                mAppView.loadUrl("javascript:GotGraph(" + mGraphData.toString() + "," + mGraphOptions.toString() + ")"); 
     172        } 
     173 
     174        private void reloadChartPage() { 
     175                // don't add the js interface 
     176                mAppView.loadUrl(CHART_FILE); 
     177                mChartPageLoaded = true; 
     178        } 
     179 
     180        public void loadChartPage() { 
     181                mAppView.addJavascriptInterface(this, JAVASCRIPT_PROPERTYNAME);          
     182                mAppView.loadUrl(CHART_FILE); 
     183                mChartPageLoaded = true; 
    150184        } 
    151185 
  • trunk/rapidandroid/org.rapidandroid/src/org/rapidandroid/activity/chart/form/FormDataBroker.java

    r113 r114  
    6868                        mGraphOptions = allData.getOptions(); 
    6969                }  
     70                if (mGraphData.toString().equals(this.getEmptyData().toString())) { 
     71                        this.mGotData = false; 
     72                } else { 
     73                        this.mGotData = true; 
     74                } 
    7075                Log.d("FormDataBroker",mGraphData.toString()); 
    7176                Log.d("FormDataBroker",mGraphOptions.toString());