public void onRestoreState(boolean hasPrograms) { ProgramOverviewFragmentState backedUpState = new ProgramOverviewFragmentState(mState); if (!backedUpState.isProgramEmpty()) { onProgramSelected(backedUpState.getProgramId(), backedUpState.getProgramName()); } else { // todo } }
@Override public void onClick(View view) { switch (view.getId()) { case R.id.select_program: { ProgramDialogFragment fragment = ProgramDialogFragment.newInstance( this, mState.getOrgUnitId(), Program.MULTIPLE_EVENTS_WITH_REGISTRATION, Program.SINGLE_EVENT_WITH_REGISTRATION); fragment.show(getChildFragmentManager()); break; } case R.id.neweventbutton: { if (mForm.getEnrollment().getStatus().equals(Enrollment.ACTIVE)) { ProgramStage programStage = (ProgramStage) view.getTag(); showDataEntryFragment(null, programStage.getId()); } break; } case R.id.eventbackground: { if (mForm.getEnrollment().getStatus().equals(Enrollment.ACTIVE)) { Event event = (Event) view.getTag(); showDataEntryFragment(event, event.getProgramStageId()); } } case R.id.complete: { Dhis2.showConfirmDialog( getActivity(), getString(R.string.complete), getString(R.string.confirm_complete_enrollment), getString(R.string.complete), getString(R.string.cancel), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { completeEnrollment(); } }); break; } case R.id.terminate: { Dhis2.showConfirmDialog( getActivity(), getString(R.string.terminate), getString(R.string.confirm_terminate_enrollment), getString(R.string.terminate), getString(R.string.cancel), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { terminateEnrollment(); } }); break; } case R.id.followupButton: { toggleFollowup(); break; } case R.id.newenrollmentbutton: { enroll(); break; } case R.id.profile_cardview: { editTrackedEntityInstanceProfile(); break; } case R.id.profile_button: { editTrackedEntityInstanceProfile(); break; } } }
public void enroll() { EnrollmentFragment enrollmentFragment = EnrollmentFragment.newInstance( mState.getOrgUnitId(), mState.getProgramId(), mState.getTrackedEntityInstanceId()); mNavigationHandler.switchFragment(enrollmentFragment, EnrollmentFragment.class.getName(), true); }
public void onProgramSelected(String programId, String programName) { mState.setProgram(programId, programName); clearViews(); getLoaderManager().restartLoader(LOADER_ID, getArguments(), this); }
@Override public void onViewCreated(View view, Bundle savedInstanceState) { listView = (ListView) view.findViewById(R.id.listview); View header = getLayoutInflater(savedInstanceState) .inflate(R.layout.fragment_programoverview_header, listView, false); mProgressBar = (ProgressBar) header.findViewById(R.id.progress_bar); mProgressBar.setVisibility(View.GONE); adapter = new ProgramStageAdapter(getLayoutInflater(savedInstanceState)); listView.addHeaderView(header, CLASS_TAG, false); listView.setAdapter(adapter); listView.setOnItemClickListener(this); enrollmentLayout = (LinearLayout) header.findViewById(R.id.enrollmentLayout); enrollmentDateLabel = (TextView) header.findViewById(R.id.dateOfEnrollmentLabel); enrollmentDateValue = (TextView) header.findViewById(R.id.dateOfEnrollmentValue); incidentDateLabel = (TextView) header.findViewById(R.id.dateOfIncidentLabel); incidentDateValue = (TextView) header.findViewById(R.id.dateOfIncidentValue); profileCardView = (CardView) header.findViewById(R.id.profile_cardview); enrollmentCardview = (CardView) header.findViewById(R.id.enrollment_cardview); completeButton = (Button) header.findViewById(R.id.complete); terminateButton = (Button) header.findViewById(R.id.terminate); followupButton = (ImageButton) header.findViewById(R.id.followupButton); profileButton = (ImageButton) header.findViewById(R.id.profile_button); completeButton.setOnClickListener(null); terminateButton.setOnClickListener(null); followupButton.setOnClickListener(null); profileButton.setOnClickListener(this); profileCardView.setOnClickListener(this); missingEnrollmentLayout = (LinearLayout) header.findViewById(R.id.missingenrollmentlayout); newEnrollmentButton = (FloatingActionButton) header.findViewById(R.id.newenrollmentbutton); newEnrollmentButton.setOnClickListener(this); attribute1Label = (TextView) header.findViewById(R.id.headerItem1label); attribute1Value = (TextView) header.findViewById(R.id.headerItem1value); attribute2Label = (TextView) header.findViewById(R.id.headerItem2label); attribute2Value = (TextView) header.findViewById(R.id.headerItem2value); Bundle fragmentArguments = getArguments(); Log.d(CLASS_TAG, "program: " + fragmentArguments.getString(PROGRAM_ID)); attachSpinner(); mSpinnerAdapter.swapData( MetaDataController.getProgramsForOrganisationUnit( fragmentArguments.getString(ORG_UNIT_ID), Program.SINGLE_EVENT_WITH_REGISTRATION, Program.MULTIPLE_EVENTS_WITH_REGISTRATION)); if (savedInstanceState != null && savedInstanceState.getParcelable(STATE) != null) { mState = savedInstanceState.getParcelable(STATE); } if (mState == null) { mState = new ProgramOverviewFragmentState(); OrganisationUnit ou = MetaDataController.getOrganisationUnit(fragmentArguments.getString(ORG_UNIT_ID)); Program program = MetaDataController.getProgram(fragmentArguments.getString(PROGRAM_ID)); mState.setOrgUnit(ou.getId(), ou.getLabel()); mState.setProgram(program.getId(), program.getName()); mState.setTrackedEntityInstance(fragmentArguments.getLong(TRACKEDENTITYINSTANCE_ID, -1)); } onRestoreState(true); }