From dae1aeb44baaf4219b7a83b45cc2f296401e7a3a Mon Sep 17 00:00:00 2001 From: dkanada Date: Mon, 21 Jan 2019 01:13:06 +0900 Subject: [PATCH 1/4] rename VectorMediaViewerAdapter --- .../activity/VectorMediaViewerActivity.java | 6 +++--- ...dapter.java => VectorMediaViewerAdapter.java} | 16 ++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) rename vector/src/main/java/im/vector/adapters/{VectorMediasViewerAdapter.java => VectorMediaViewerAdapter.java} (98%) diff --git a/vector/src/main/java/im/vector/activity/VectorMediaViewerActivity.java b/vector/src/main/java/im/vector/activity/VectorMediaViewerActivity.java index 0096299d81..c55b4a4798 100755 --- a/vector/src/main/java/im/vector/activity/VectorMediaViewerActivity.java +++ b/vector/src/main/java/im/vector/activity/VectorMediaViewerActivity.java @@ -42,7 +42,7 @@ import im.vector.Matrix; import im.vector.R; import im.vector.VectorApp; -import im.vector.adapters.VectorMediasViewerAdapter; +import im.vector.adapters.VectorMediaViewerAdapter; import im.vector.db.VectorContentProvider; import im.vector.util.PermissionsToolsKt; import im.vector.util.SlidableMediaInfo; @@ -68,7 +68,7 @@ public class VectorMediaViewerActivity extends MXCActionBarActivity { private ViewPager mViewPager; // the pager adapter - private VectorMediasViewerAdapter mAdapter; + private VectorMediaViewerAdapter mAdapter; // the medias list private List mMediasList; @@ -162,7 +162,7 @@ public void initUiAndData() { int maxImageWidth = intent.getIntExtra(KEY_THUMBNAIL_WIDTH, 0); int maxImageHeight = intent.getIntExtra(VectorMediaViewerActivity.KEY_THUMBNAIL_HEIGHT, 0); - mAdapter = new VectorMediasViewerAdapter(this, mSession, mSession.getMediaCache(), mMediasList, maxImageWidth, maxImageHeight); + mAdapter = new VectorMediaViewerAdapter(this, mSession, mSession.getMediaCache(), mMediasList, maxImageWidth, maxImageHeight); mViewPager.setAdapter(mAdapter); mViewPager.setPageTransformer(true, new DepthPageTransformer()); mAdapter.autoPlayItemAt(position); diff --git a/vector/src/main/java/im/vector/adapters/VectorMediasViewerAdapter.java b/vector/src/main/java/im/vector/adapters/VectorMediaViewerAdapter.java similarity index 98% rename from vector/src/main/java/im/vector/adapters/VectorMediasViewerAdapter.java rename to vector/src/main/java/im/vector/adapters/VectorMediaViewerAdapter.java index 903df971d1..33e995377c 100755 --- a/vector/src/main/java/im/vector/adapters/VectorMediasViewerAdapter.java +++ b/vector/src/main/java/im/vector/adapters/VectorMediaViewerAdapter.java @@ -62,8 +62,8 @@ /** * An images slider */ -public class VectorMediasViewerAdapter extends PagerAdapter { - private static final String LOG_TAG = VectorMediasViewerAdapter.class.getSimpleName(); +public class VectorMediaViewerAdapter extends PagerAdapter { + private static final String LOG_TAG = VectorMediaViewerAdapter.class.getSimpleName(); private final Context mContext; @@ -89,12 +89,12 @@ public class VectorMediasViewerAdapter extends PagerAdapter { private int mAutoPlayItemAt = -1; - public VectorMediasViewerAdapter(Context context, - MXSession session, - MXMediaCache mediasCache, - List mediaMessagesList, - int maxImageWidth, - int maxImageHeight) { + public VectorMediaViewerAdapter(Context context, + MXSession session, + MXMediaCache mediasCache, + List mediaMessagesList, + int maxImageWidth, + int maxImageHeight) { mContext = context; mSession = session; mMediasCache = mediasCache; From 96955afa70f609c312e81496d73263ed433f17c3 Mon Sep 17 00:00:00 2001 From: dkanada Date: Mon, 21 Jan 2019 01:29:31 +0900 Subject: [PATCH 2/4] remove long click to download --- .../activity/VectorMediaViewerActivity.java | 3 - .../adapters/VectorMediaViewerAdapter.java | 100 ------------------ 2 files changed, 103 deletions(-) diff --git a/vector/src/main/java/im/vector/activity/VectorMediaViewerActivity.java b/vector/src/main/java/im/vector/activity/VectorMediaViewerActivity.java index c55b4a4798..ade97c7676 100755 --- a/vector/src/main/java/im/vector/activity/VectorMediaViewerActivity.java +++ b/vector/src/main/java/im/vector/activity/VectorMediaViewerActivity.java @@ -338,9 +338,6 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permis if (requestCode == PermissionsToolsKt.PERMISSION_REQUEST_CODE) { // Request comes from here onAction(mPendingPosition, mPendingAction); - } else if (requestCode == PermissionsToolsKt.PERMISSION_REQUEST_OTHER) { - // Request comes from adapter - mAdapter.downloadMediaAndExportToDownloads(); } } } diff --git a/vector/src/main/java/im/vector/adapters/VectorMediaViewerAdapter.java b/vector/src/main/java/im/vector/adapters/VectorMediaViewerAdapter.java index 33e995377c..5ac38d34cb 100755 --- a/vector/src/main/java/im/vector/adapters/VectorMediaViewerAdapter.java +++ b/vector/src/main/java/im/vector/adapters/VectorMediaViewerAdapter.java @@ -407,22 +407,6 @@ public Object instantiateItem(final ViewGroup container, final int position) { final View videoLayout = view.findViewById(R.id.media_slider_video_layout); final ImageView thumbView = view.findViewById(R.id.media_slider_video_thumbnail); - imageView.setOnLongClickListener(new View.OnLongClickListener() { - @Override - public boolean onLongClick(View v) { - onLongClickOnMedia(); - return true; - } - }); - - thumbView.setOnLongClickListener(new View.OnLongClickListener() { - @Override - public boolean onLongClick(View v) { - onLongClickOnMedia(); - return true; - } - }); - final SlidableMediaInfo mediaInfo = mMediasMessagesList.get(position); String mediaUrl = mediaInfo.mMediaUrl; @@ -604,90 +588,6 @@ private void playVideo(View pageView, VideoView videoView, File videoFile, Strin } } - /** - * Download the current media file, and export it to the Download folder of the device - */ - public void downloadMediaAndExportToDownloads() { - if (((VectorMediaViewerActivity) mContext).checkWritePermission(PermissionsToolsKt.PERMISSION_REQUEST_OTHER)) { - final SlidableMediaInfo mediaInfo = mMediasMessagesList.get(mLatestPrimaryItemPosition); - - if (mMediasCache.isMediaCached(mediaInfo.mMediaUrl, mediaInfo.mMimeType)) { - mMediasCache.createTmpDecryptedMediaFile(mediaInfo.mMediaUrl, mediaInfo.mMimeType, mediaInfo.mEncryptedFileInfo, new SimpleApiCallback() { - @Override - public void onSuccess(File file) { - if (null != file) { - CommonActivityUtils.saveMediaIntoDownloads(mContext, file, null, mediaInfo.mMimeType, new SimpleApiCallback() { - @Override - public void onSuccess(String path) { - Toast.makeText(mContext, R.string.media_slider_saved, Toast.LENGTH_LONG).show(); - } - }); - } - } - }); - } else { - downloadVideo(mLatestPrimaryView, mLatestPrimaryItemPosition, true); - final String downloadId = mMediasCache.downloadMedia(mContext, - mSession.getHomeServerConfig(), - mediaInfo.mMediaUrl, - mediaInfo.mMimeType, - mediaInfo.mEncryptedFileInfo); - - if (null != downloadId) { - mMediasCache.addDownloadListener(downloadId, new MXMediaDownloadListener() { - @Override - public void onDownloadError(String downloadId, JsonElement jsonElement) { - MatrixError error = JsonUtils.toMatrixError(jsonElement); - - if ((null != error) && error.isSupportedErrorCode()) { - Toast.makeText(mContext, error.getLocalizedMessage(), Toast.LENGTH_LONG).show(); - } - } - - @Override - public void onDownloadComplete(String aDownloadId) { - if (aDownloadId.equals(downloadId)) { - if (mMediasCache.isMediaCached(mediaInfo.mMediaUrl, mediaInfo.mMimeType)) { - mMediasCache.createTmpDecryptedMediaFile(mediaInfo.mMediaUrl, mediaInfo.mMimeType, mediaInfo.mEncryptedFileInfo, - new SimpleApiCallback() { - @Override - public void onSuccess(File file) { - if (null != file) { - CommonActivityUtils.saveMediaIntoDownloads(mContext, file, null, mediaInfo.mMimeType, - new SimpleApiCallback() { - @Override - public void onSuccess(String path) { - Toast.makeText(mContext, R.string.media_slider_saved, Toast.LENGTH_LONG).show(); - } - }); - } - } - }); - } - } - } - }); - } - } - } - } - - /** - * Long click management: propose user to save media to the Downloads folder of the device - */ - private void onLongClickOnMedia() { - new AlertDialog.Builder(mContext) - .setMessage(R.string.media_slider_saved_message) - .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - downloadMediaAndExportToDownloads(); - } - }) - .setNegativeButton(R.string.no, null) - .show(); - } - /** * Load the video items * From bbb01ad4dbbbb1cc468415a734737f018be66b6b Mon Sep 17 00:00:00 2001 From: dkanada Date: Mon, 21 Jan 2019 01:32:40 +0900 Subject: [PATCH 3/4] update CHANGES.rst --- CHANGES.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.rst b/CHANGES.rst index aba7d6ce58..67ebe64046 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -17,6 +17,7 @@ Improvements: - Kotlin Code Improvement in VectorSettingsPreferencesFragment.kt - Remove redundant !! , Replace it with null safe operators in VectorSettingsPreferencesFragment.kt - `Redact` has been renamed to `Remove` to match riot/web (#2871) + - Remove long click download action in MediaViewer (#2882) Other changes: From 6e66cb8671a9d1cd56e9aabaa8b75a2af2ca83f9 Mon Sep 17 00:00:00 2001 From: dkanada Date: Mon, 21 Jan 2019 23:50:01 +0900 Subject: [PATCH 4/4] optimize imports and remove PERMISSION_REQUEST_OTHER as a return value --- .../java/im/vector/adapters/VectorMediaViewerAdapter.java | 5 ----- vector/src/main/java/im/vector/util/PermissionsTools.kt | 1 - 2 files changed, 6 deletions(-) diff --git a/vector/src/main/java/im/vector/adapters/VectorMediaViewerAdapter.java b/vector/src/main/java/im/vector/adapters/VectorMediaViewerAdapter.java index 5ac38d34cb..b5a91a4569 100755 --- a/vector/src/main/java/im/vector/adapters/VectorMediaViewerAdapter.java +++ b/vector/src/main/java/im/vector/adapters/VectorMediaViewerAdapter.java @@ -18,11 +18,9 @@ package im.vector.adapters; import android.content.Context; -import android.content.DialogInterface; import android.media.MediaPlayer; import android.net.Uri; import android.support.v4.view.PagerAdapter; -import android.support.v7.app.AlertDialog; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; @@ -53,9 +51,6 @@ import java.util.List; import im.vector.R; -import im.vector.activity.CommonActivityUtils; -import im.vector.activity.VectorMediaViewerActivity; -import im.vector.util.PermissionsToolsKt; import im.vector.util.SlidableMediaInfo; import im.vector.view.PieFractionView; diff --git a/vector/src/main/java/im/vector/util/PermissionsTools.kt b/vector/src/main/java/im/vector/util/PermissionsTools.kt index 2be63d234e..cd2c9e1b22 100644 --- a/vector/src/main/java/im/vector/util/PermissionsTools.kt +++ b/vector/src/main/java/im/vector/util/PermissionsTools.kt @@ -67,7 +67,6 @@ const val PERMISSION_REQUEST_CODE_AUDIO_CALL = 571 const val PERMISSION_REQUEST_CODE_VIDEO_CALL = 572 const val PERMISSION_REQUEST_CODE_EXPORT_KEYS = 573 const val PERMISSION_REQUEST_CODE_CHANGE_AVATAR = 574 -const val PERMISSION_REQUEST_OTHER = 600 /** * Log the used permissions statuses.