diff --git a/WordPress/build.gradle b/WordPress/build.gradle index a72abd2d47de..ce3b3cddda45 100644 --- a/WordPress/build.gradle +++ b/WordPress/build.gradle @@ -445,7 +445,8 @@ dependencies { implementation "androidx.compose.material:material:$androidxComposeVersion" implementation "androidx.lifecycle:lifecycle-viewmodel-compose:$androidxComposeLifecycleVersion" implementation "io.coil-kt:coil-compose:$coilComposeVersion" - implementation ('com.github.indexos.media-for-mobile:android:43a9026f0973a2f0a74fa813132f6a16f7499c3a') + implementation "com.github.indexos.media-for-mobile:domain:$indexosMediaForMobileVersion" + implementation "com.github.indexos.media-for-mobile:android:$indexosMediaForMobileVersion" implementation "com.zendesk:support:$zendeskVersion" implementation (name:'tenor-android-core-jetified', ext:'aar') // Jetified Tenor Gif library implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinxCoroutinesVersion" diff --git a/WordPress/src/main/java/org/wordpress/android/ui/uploads/M4mVideoOptimizer.java b/WordPress/src/main/java/org/wordpress/android/ui/uploads/M4mVideoOptimizer.java deleted file mode 100644 index da09ed327ece..000000000000 --- a/WordPress/src/main/java/org/wordpress/android/ui/uploads/M4mVideoOptimizer.java +++ /dev/null @@ -1,106 +0,0 @@ -package org.wordpress.android.ui.uploads; - -import androidx.annotation.NonNull; - -import org.m4m.MediaComposer; -import org.wordpress.android.analytics.AnalyticsTracker; -import org.wordpress.android.fluxc.model.MediaModel; -import org.wordpress.android.ui.prefs.AppPrefs; -import org.wordpress.android.util.AppLog; -import org.wordpress.android.util.WPVideoUtils; -import org.wordpress.android.util.analytics.AnalyticsUtils; - -import java.util.Map; - -import static org.wordpress.android.analytics.AnalyticsTracker.Stat.MEDIA_VIDEO_CANT_OPTIMIZE; - -public class M4mVideoOptimizer extends VideoOptimizerBase implements org.m4m.IProgressListener { - public M4mVideoOptimizer( - @NonNull MediaModel media, - @NonNull VideoOptimizationListener listener) { - super(media, listener); - } - - /* - * IProgressListener handlers - */ - @Override - public void onMediaStart() { - mStartTimeMS = System.currentTimeMillis(); - } - - @Override - public void onMediaProgress(float progress) { - sendProgressIfNeeded(progress); - } - - @Override - public void onMediaDone() { - trackVideoProcessingEvents(false, null); - selectMediaAndSendCompletionToListener(); - } - - @Override - public void onMediaPause() { - AppLog.d(AppLog.T.MEDIA, "VideoOptimizer > paused"); - } - - @Override - public void onMediaStop() { - // This seems to be called called in 2 cases. Do not use to check if we've manually stopped the composer. - // 1. When the encoding is done without errors, before onMediaDone - // 2. When we call 'stop' on the media composer - AppLog.d(AppLog.T.MEDIA, "VideoOptimizer > stopped"); - } - - @Override - public void onError(Exception e) { - AppLog.e(AppLog.T.MEDIA, "VideoOptimizer > Can't optimize the video", e); - trackVideoProcessingEvents(true, e); - mListener.onVideoOptimizationCompleted(mMedia); - } - - @Override - public void start() { - if (!arePathsValidated()) return; - - MediaComposer mediaComposer = null; - boolean wasNpeDetected = false; - - try { - mediaComposer = WPVideoUtils.getVideoOptimizationComposer( - getContext(), - mInputPath, - mOutputPath, - this, - AppPrefs.getVideoOptimizeWidth(), - AppPrefs.getVideoOptimizeQuality()); - } catch (NullPointerException npe) { - AppLog.w( - AppLog.T.MEDIA, - "VideoOptimizer > NullPointerException while getting composer " + npe.getMessage() - ); - wasNpeDetected = true; - } - - if (mediaComposer == null) { - AppLog.w(AppLog.T.MEDIA, "VideoOptimizer > null composer"); - Map properties = AnalyticsUtils.getMediaProperties(getContext(), true, - null, mInputPath); - properties.put("was_npe_detected", wasNpeDetected); - properties.put("optimizer_lib", "m4m"); - AnalyticsTracker.track(MEDIA_VIDEO_CANT_OPTIMIZE, properties); - mListener.onVideoOptimizationCompleted(mMedia); - return; - } - - // setup done. We're ready to optimize! - try { - mediaComposer.start(); - AppLog.d(AppLog.T.MEDIA, "VideoOptimizer > composer started"); - } catch (IllegalStateException e) { - AppLog.e(AppLog.T.MEDIA, "VideoOptimizer > failed to start composer", e); - mListener.onVideoOptimizationCompleted(mMedia); - } - } -} diff --git a/build.gradle b/build.gradle index 5f7f2c72ce38..df2f92bf2ca9 100644 --- a/build.gradle +++ b/build.gradle @@ -26,6 +26,7 @@ ext { wordPressLoginVersion = '1.3.0' wordPressPersistentEditTextVersion = '1.0.2' wordPressUtilsVersion = '3.6.0' + indexosMediaForMobileVersion = '43a9026f0973a2f0a74fa813132f6a16f7499c3a' // debug stethoVersion = '1.6.0'