package au.id.teda.broadband.usage.fragments; import au.id.teda.broadband.usage.chart.StackedBarChart; import au.id.teda.broadband.usage.database.DailyDataTableAdapter; import au.id.teda.broadband.usage.util.NetworkUtilities; import org.achartengine.GraphicalView; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.widget.LinearLayout; import au.id.teda.broadband.usage.R; import au.id.teda.broadband.usage.util.DailyVolumeUsage; public class StackedBarChartFragment extends BaseFragment { // View inflated by fragment private View mFragmentView; // Daily dev array private DailyVolumeUsage mDailyUsageArray[]; /** * Called 3rd in the fragment life cycle */ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Set reference to fragment layout to be inflated mFragmentView = inflater.inflate(R.layout.fragment_stacked_bar_chart, container, false); return mFragmentView; } /** * Called 4th in the fragment life cycle */ @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); } /** * Called 5th in the fragment life cycle */ @Override public void onResume() { super.onResume(); } /** * Called 1st in the death of fragment */ @Override public void onPause() { super.onPause(); } /** * Load fragment view if account status and info is set */ @Override protected void loadFragmentView(){ //Log.d(DEBUG_TAG, "isInfoSet:" + mAccountInfo.isInfoSet() + " isStatusSet:" + mAccountStatus.isStatusSet()); if (mAccountInfo.isInfoSet() && mAccountStatus.isStatusSet()){ // Get volume dev array DailyDataTableAdapter mDatabase = new DailyDataTableAdapter(mContext); String period; if (NetworkUtilities.weTesting) { period = NetworkUtilities.PERIOD_STRING; } else { period = mAccountStatus.getDataBaseMonthString(); } // Get data array mDailyUsageArray = mDatabase.getDailyVolumeUsage(period); // Set layout container for chart LinearLayout mChartContainer = (LinearLayout) mFragmentView.findViewById(R.id.fragment_stacked_bar_chart_container); // Initialise chart class StackedBarChart mBarChart = new StackedBarChart(mContext); // Get chart view from library GraphicalView mBarChartView = (GraphicalView) mBarChart.getBarChartView(mDailyUsageArray); // Add chart view to layout view mChartContainer.removeAllViews(); mChartContainer.addView(mBarChartView, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); } } }