@Override public void onViewCreated(final View view, final Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); final Bundle args = getArguments(); bucket = args.getString(BUNDLE_ARGS_S3_BUCKET); prefix = args.getString(BUNDLE_ARGS_S3_PREFIX); final ProgressDialog dialog = getProgressDialog(R.string.content_progress_dialog_message_load_local_content); // Create the User File Manager AWSMobileClient.defaultMobileClient() .createUserFileManager( bucket, prefix, new UserFileManager.BuilderResultHandler() { @Override public void onComplete(final UserFileManager userFileManager) { if (isAdded()) { UserFilesBrowserFragment.this.userFileManager = userFileManager; createContentList(getView(), userFileManager); userFileManager.setContentRemovedListener(contentListItems); dialog.dismiss(); refreshContent(currentPath); } else { userFileManager.destroy(); } } }); }
@Override public void onResume() { super.onResume(); if (userFileManager != null) { userFileManager.setContentRemovedListener(contentListItems); refreshContent(currentPath); } }
@Override public void onPause() { super.onPause(); if (userFileManager != null) { // Remove any Progress listeners that may be registered. userFileManager.clearAllListeners(); } }
@Override public void onDestroyView() { unregisterForContextMenu(cacheLimitTextView); if (userFileManager != null) { userFileManager.destroy(); } super.onDestroyView(); }
@Override public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) { menu.add(refreshText); menu.add(downloadRecentText); menu.add(setCacheSizeText); menu.add(clearCacheText); menu.add(uploadText); menu.add(newFolderText); super.onCreateOptionsMenu(menu, inflater); }
@Override public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); refreshText = getString(R.string.content_refresh_text); downloadRecentText = getString(R.string.content_download_recent_text); setCacheSizeText = getString(R.string.content_set_cache_size_text); clearCacheText = getString(R.string.content_clear_cache_text); uploadText = getString(R.string.user_files_browser_upload_text); newFolderText = getString(R.string.user_files_browser_new_folder_text); setHasOptionsMenu(true); }
@Override public void onCreateContextMenu( final ContextMenu menu, final View view, final ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, view, menuInfo); if (view == cacheLimitTextView) { for (final SpannableString string : ContentUtils.cacheSizeStrings) { menu.add(string).setActionView(view); } menu.setHeaderTitle(ContentUtils.getCenteredString(setCacheSizeText)); } else if (view.getId() == listView.getId()) { final AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo; final ContentItem content = contentListItems.getItem(info.position).getContentItem(); if (ContentState.REMOTE_DIRECTORY.equals(content.getContentState())) { menu.add(R.string.user_files_browser_context_menu_delete).setActionView(view); } else { final ContentState contentState = content.getContentState(); final boolean isNewerVersionAvailable = ContentState.isCachedWithNewerVersionAvailableOrTransferring(contentState); final boolean isCached = contentState == ContentState.CACHED || isNewerVersionAvailable; final boolean isPinned = userFileManager.isContentPinned(content.getFilePath()); // if item is downloaded if (isCached) { menu.add(getString(R.string.content_context_menu_open)).setActionView(view); } else { menu.add(R.string.content_context_menu_open_remote).setActionView(view); menu.add(getString(R.string.content_context_menu_download)).setActionView(view); } if (isNewerVersionAvailable) { menu.add(getString(R.string.content_context_menu_download_latest)).setActionView(view); } if (isCached && !isPinned) { menu.add(getString(R.string.content_context_menu_pin)).setActionView(view); } if (!isCached) { menu.add(getString(R.string.content_context_menu_download_pin)).setActionView(view); } if (isPinned) { menu.add(getString(R.string.content_context_menu_unpin)).setActionView(view); } if (isCached) { menu.add(getString(R.string.content_context_menu_delete_local)).setActionView(view); } menu.add(R.string.user_files_browser_context_menu_delete).setActionView(view); } menu.setHeaderTitle(content.getFilePath()); } }