@Override protected void onPostExecute(final Bundle bundle) { progDailog.dismiss(); TextView courseName = (TextView) mActivity.findViewById(R.id.course_name); if (!bundle.getBoolean("valid_return", true)) { if (courseName != null) { String errorMsg; if (!Constants.isNetworkAvailable(mActivity)) { errorMsg = "Oops! (´゚д゚`)\nNo network connection"; } else errorMsg = "Oops! (ノ゚0゚)ノ~\nCourse is not available this term or it may not exist"; SpannableString ss = new SpannableString(errorMsg); ss.setSpan( new ForegroundColorSpan(mActivity.getResources().getColor(R.color.fab_color_1)), 0, 19, 0); // set color courseName.setText(ss); return; } } TextView lec = (TextView) mActivity.findViewById(R.id.lec); if (lec != null) { lec.setVisibility(View.VISIBLE); if (bundle.getBoolean("isOnline", false)) { lec.setText("Online"); } } if (bundle.getBoolean("has_tst", false)) { TextView tst = (TextView) mActivity.findViewById(R.id.tst); if (tst != null) tst.setVisibility(View.VISIBLE); } if (bundle.getBoolean("has_tut", false)) { TextView tut = (TextView) mActivity.findViewById(R.id.tut); if (tut != null) tut.setVisibility(View.VISIBLE); } if (bundle.getBoolean("has_finals", false)) { TextView finals = (TextView) mActivity.findViewById(R.id.final_exams); if (finals != null) finals.setVisibility(View.VISIBLE); } Button add_button = (Button) mActivity.findViewById(R.id.add_course_button); if (add_button != null) { if (bundle.getBoolean("isOnline", false)) add_button.setVisibility(View.GONE); else { if (bundle.getBoolean("course_taken")) { add_button.setText("remove"); add_button.setBackgroundTintList( ColorStateList.valueOf(mActivity.getResources().getColor(R.color.fab_color_1))); } add_button.setOnClickListener( new View.OnClickListener() { @Override public void onClick(final View view) { Button add_button = (Button) mActivity.findViewById(R.id.add_course_button); final CoursesDBHandler db = new CoursesDBHandler(mActivity); String course_taken_num = null; boolean courseTaken = false; for (int i = 0; i < bundle.getStringArrayList("LEC_NUM").size(); i++) { if (db.IsInDB(bundle.getStringArrayList("LEC_NUM").get(i))) { courseTaken = true; course_taken_num = bundle.getStringArrayList("LEC_NUM").get(i); break; } } if (!courseTaken) { // put sec info into a list of string CharSequence[] mLecSecList = new CharSequence[bundle.getStringArrayList("LEC_SEC").size()]; for (int i = 0; i < bundle.getStringArrayList("LEC_SEC").size(); i++) { mLecSecList[i] = bundle.getStringArrayList("LEC_SEC").get(i); } // show dialog to choose sections AlertDialog ad = new AlertDialog.Builder(mActivity) .setTitle("Choose a section") .setSingleChoiceItems(mLecSecList, 0, null) .setNegativeButton(R.string.cancel, null) .setPositiveButton( R.string.ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { ListView lw = ((AlertDialog) dialog).getListView(); Object checkedItem = lw.getAdapter().getItem(lw.getCheckedItemPosition()); int index = bundle .getStringArrayList("LEC_SEC") .indexOf(checkedItem.toString()); Log.d("SearchFetchTask", "choose " + checkedItem.toString()); // add to db CourseInfo mCourse = new CourseInfo(bundle.getString("courseName")); mCourse.setSec(checkedItem.toString()); mCourse.setNum(bundle.getStringArrayList("LEC_NUM").get(index)); mCourse.setLoc(bundle.getStringArrayList("LEC_LOC").get(index)); mCourse.setTimeAPM( bundle.getStringArrayList("LEC_TIME").get(index)); mCourse.setProf(bundle.getStringArrayList("LEC_PROF").get(index)); db.addCourse(mCourse); // change button Button add_button = (Button) mActivity.findViewById(R.id.add_course_button); add_button.setText("remove"); add_button.setBackgroundTintList( ColorStateList.valueOf( mActivity.getResources().getColor(R.color.fab_color_1))); // show snackBar Snackbar.make(view, "Course Added", Snackbar.LENGTH_SHORT).show(); dialog.dismiss(); } }) .create(); ad.show(); // change color ad.getButton(ad.BUTTON_POSITIVE) .setTextColor(mActivity.getResources().getColor(R.color.myPrimaryColor)); ad.getButton(ad.BUTTON_NEGATIVE) .setTextColor(mActivity.getResources().getColor(R.color.myPrimaryColor)); } else { // remove from db if (course_taken_num != null) db.removeCourse(course_taken_num); add_button.setText("add"); add_button.setBackgroundTintList( ColorStateList.valueOf( mActivity.getResources().getColor(R.color.dialog_text_color))); // show snackBar Snackbar.make(view, "Course Dropped", Snackbar.LENGTH_SHORT).show(); } db.close(); } }); add_button.setVisibility(View.VISIBLE); } } TextView title = (TextView) mActivity.findViewById(R.id.title); if (courseName != null) courseName.setText(bundle.getString("courseName")); if (title != null) title.setText(bundle.getString("title")); mAsyncTaskCallbackInterface.onOperationComplete(bundle); /*TextView description = (TextView) mActivity.findViewById(R.id.description); TextView units = (TextView) mActivity.findViewById(R.id.units); TextView preReq = (TextView) mActivity.findViewById(R.id.preReq); TextView antiReq = (TextView) mActivity.findViewById(R.id.antiReq); TextView termsOffered = (TextView) mActivity.findViewById(R.id.termsOffered); TextView online = (TextView) mActivity.findViewById(R.id.online); courseName.setText(bundle.getString("courseName")); title.setText(bundle.getString("title")); description.setText(bundle.getString("description")); units.setText(bundle.getString("units")); preReq.setText(bundle.getString("preReq")); antiReq.setText(bundle.getString("antiReq")); termsOffered.setText(bundle.getString("termsOffered")); if (bundle.getBoolean("online")) { online.setText("Yes"); } else { online.setText("no"); }*/ }