android:icon="@android:drawable/ic_menu_share"
android:orderInCategory="1" />
<item
+ android:id="@+id/action_stream_file"
+ android:title="@string/action_stream_file"
+ android:icon="@android:drawable/ic_menu_view"
+ android:orderInCategory="1" />
+ <item
android:id="@+id/action_unshare_file"
android:title="@string/action_unshare_file"
android:icon="@android:drawable/ic_menu_share"
android:icon="@drawable/ic_action_refresh"
android:orderInCategory="1" />
<item
- android:id="@+id/action_cancel_download"
- android:title="@string/common_cancel_download"
- android:icon="@android:drawable/ic_menu_close_clear_cancel"
- android:orderInCategory="1" />
- <item
- android:id="@+id/action_cancel_upload"
- android:title="@string/common_cancel_upload"
+ android:id="@+id/action_cancel_sync"
+ android:title="@string/common_cancel_sync"
android:icon="@android:drawable/ic_menu_close_clear_cancel"
android:orderInCategory="1" />
<item
<string name="filedetails_created">Created:</string>
<string name="filedetails_modified">Modified:</string>
<string name="filedetails_download">Download</string>
- <string name="filedetails_sync_file">Refresh file</string>
+ <string name="filedetails_sync_file">Synchronize</string>
<string name="filedetails_renamed_in_upload_msg">File was renamed to %1$s during upload</string>
<string name="list_layout">List Layout</string>
<string name="action_share_file">Share link</string>
<string name="common_yes">Yes</string>
<string name="common_no">No</string>
<string name="common_ok">OK</string>
- <string name="common_cancel_download">Cancel download</string>
- <string name="common_cancel_upload">Cancel upload</string>
+ <string name="common_cancel_sync">Cancel synchronization</string>
<string name="common_cancel">Cancel</string>
<string name="common_save_exit">Save & Exit</string>
<string name="common_error">Error</string>
<string name="prefs_category_security">Security</string>
<string name="prefs_instant_video_upload_path_title">Upload Video Path</string>
- <string name="download_folder_failed_content">Download of %1$s folder could not be completed</string>
+ <string name="sync_folder_failed_content">Synchronization of %1$s folder could not be completed</string>
<string name="shared_subject_header">shared</string>
<string name="with_you_subject_header">with you</string>
<string name="file_list__footer__files">%1$d files</string>
<string name="file_list__footer__files_and_folder">%1$d files, 1 folder</string>
<string name="file_list__footer__files_and_folders">%1$d files, %2$d folders</string>
+ <string name="action_stream_file">Stream file with external player</string>
+ <string name="stream_expose_password">May expose password?</string>
</resources>
*/
package com.owncloud.android.ui.fragment;
+import android.accounts.Account;
import android.app.Activity;
+import android.content.Context;
+import android.content.DialogInterface;
import android.content.Intent;
+import android.net.Uri;
import android.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayout;
+import android.support.v7.app.AlertDialog;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuInflater;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.PopupMenu;
+import com.owncloud.android.MainApp;
import com.owncloud.android.R;
import com.owncloud.android.authentication.AccountUtils;
import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.ui.dialog.RenameFileDialogFragment;
import com.owncloud.android.ui.preview.PreviewImageFragment;
import com.owncloud.android.ui.preview.PreviewMediaFragment;
-import com.owncloud.android.utils.FileStorageUtils;
import com.owncloud.android.ui.preview.PreviewTextFragment;
+import com.owncloud.android.utils.FileStorageUtils;
import java.io.File;
((FileDisplayActivity)mContainerActivity).startImagePreview(file);
} else if (PreviewTextFragment.canBePreviewed(file)){
((FileDisplayActivity)mContainerActivity).startTextPreview(file);
- } else if (file.isDown()) {
- if (PreviewMediaFragment.canBePreviewed(file)) {
+ } else if (PreviewMediaFragment.canBePreviewed(file)) {
// media preview
((FileDisplayActivity) mContainerActivity).startMediaPreview(file, 0, true);
- } else {
+ } else if (file.isDown()) {
mContainerActivity.getFileOperationsHelper().openFile(file);
}
-
- } else {
+ else {
// automatic download, preview on finish
((FileDisplayActivity) mContainerActivity).startDownloadForPreview(file);
}
mContainerActivity.getFileOperationsHelper().syncFile(mTargetFile);
return true;
}
- case R.id.action_cancel_download:
- case R.id.action_cancel_upload: {
- ((FileDisplayActivity) mContainerActivity).cancelTransference(mTargetFile);
+ case R.id.action_cancel_sync: {
+ ((FileDisplayActivity)mContainerActivity).cancelTransference(mTargetFile);
return true;
}
case R.id.action_see_details: {
}
return true;
}
+ case R.id.action_stream_file: {
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ builder.setMessage("May expose password?")
+ .setPositiveButton("Stream", new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ Account account = ((FileActivity)mContainerActivity).getAccount();
+ Context context = MainApp.getAppContext();
+ String uri = PreviewMediaFragment.generateUrlWithCredentials(account, context, mTargetFile);
+
+ Intent i = new Intent(android.content.Intent.ACTION_VIEW);
+ i.setData(Uri.parse(uri));
+ startActivity(i);
+
+// Intent i = new Intent(Intent.ACTION_VIEW);
+// i.setComponent(new ComponentName("org.videolan.vlc", "org.videolan.vlc.gui.video.VideoPlayerActivity"));
+// i.setData(Uri.parse(uri));
+// startActivity(i);
+ }
+ })
+ .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ // User cancelled the dialog
+ }
+ });
+ builder.show();
+
+ return true;
+ }
case R.id.action_move: {
Intent action = new Intent(getActivity(), FolderPickerActivity.class);
// decide grid vs list view
OwnCloudVersion version = AccountUtils.getServerVersion(
- ((FileActivity)mContainerActivity).getAccount());
+ ((FileActivity) mContainerActivity).getAccount());
if (version != null && version.supportsRemoteThumbnails() &&
imagesCount > 0 && imagesCount == filesCount) {
switchToGridView();