@Override public void onResume() { super.onResume(); mProgressDialog.setMessage(getResources().getString(R.string.loading)); mProgressDialog.show(); // stage and commit changes to the current project Project p = AppContext.projectManager().getSelectedProject(); if (p != null) { p.commit( new Project.OnCommitComplete() { @Override public void success() { init(); mProgressDialog.dismiss(); } @Override public void error(Throwable e) { mProgressDialog.dismiss(); AppContext.context().showToastMessage(R.string.project_share_exception); finish(); } }); } else { init(); mProgressDialog.dismiss(); } }
/** * Displays the frame reader dialog * * @param p */ protected void showFrameReaderDialog(Project p, FramesListAdapter.DisplayOption option) { if (p != null && p.getSelectedChapter() != null) { // move other dialogs to backstack FragmentTransaction ft = getFragmentManager().beginTransaction(); Fragment prev = getFragmentManager().findFragmentByTag("dialog"); if (prev != null) { ft.remove(prev); } ft.addToBackStack(null); // Create the dialog FramesReaderDialog newFragment = new FramesReaderDialog(); Bundle args = new Bundle(); args.putString(FramesReaderDialog.ARG_PROJECT_ID, p.getId()); args.putString(FramesReaderDialog.ARG_CHAPTER_ID, p.getSelectedChapter().getId()); args.putInt( FramesReaderDialog.ARG_SELECTED_FRAME_INDEX, p.getSelectedChapter().getFrameIndex(p.getSelectedChapter().getSelectedFrame())); // configure display option args.putInt(FramesReaderDialog.ARG_DISPLAY_OPTION_ORDINAL, option.ordinal()); // display dialog newFragment.setArguments(args); newFragment.show(ft, "dialog"); } }
@Override public void start() { publishProgress(-1, ""); String terms = DataStore.pullTerms(mProject.getId(), mLanguage.getId(), mResource.getId(), false, false); AppContext.projectManager().loadTerms(terms, mProject); }
/** * Begins a new download if one is not already in progress * * @param language */ private void connectDownloadTask(SourceLanguage language) { String taskId = DOWNLOAD_LANGUAGE_PREFIX + mProject.getId() + "-" + language.getId(); DownloadLanguageTask task = (DownloadLanguageTask) TaskManager.getTask(taskId); if (task == null) { // start new download task = new DownloadLanguageTask(mProject, language); TaskManager.addTask(task, taskId); // NOTE: the LibraryLanguageAdapter handles the onProgress and onFinish events mAdapter.notifyDataSetChanged(); } }
public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_project_library_languages, container, false); if (getArguments().containsKey(ProjectLibraryDetailFragment.ARG_ITEM_ID)) { String id = getArguments().getString(ProjectLibraryDetailFragment.ARG_ITEM_ID); mProject = LibraryTempData.getProject(id); } mAdapter = new LibraryLanguageAdapter( AppContext.context(), mProject.getId(), DOWNLOAD_LANGUAGE_PREFIX, false); ListView list = (ListView) view.findViewById(R.id.listView); list.setAdapter(mAdapter); list.setOnItemClickListener( new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { if (LibraryTempData.getEnableEditing()) { // TODO: place all of this in a task SourceLanguage lang = mAdapter.getItem(i); AppContext.projectManager().deleteSourceLanguage(mProject.getId(), lang.getId()); LibraryTempData.organizeProjects(); mAdapter.notifyDataSetChanged(); if (!AppContext.projectManager().isProjectDownloaded(mProject.getId()) && getActivity() != null && getActivity() instanceof LibraryCallbacks) { ((LibraryCallbacks) getActivity()).refreshUI(); } } else { SourceLanguage lang = mAdapter.getItem(i); connectDownloadTask(lang); } } }); populateList(); return view; }