| 
					
				 | 
			
			
				@@ -5,6 +5,7 @@ import android.content.Intent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.content.pm.ActivityInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.graphics.Color; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.graphics.Rect; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import android.graphics.SurfaceTexture; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.graphics.drawable.Drawable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.media.MediaPlayer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.os.Bundle; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -14,14 +15,15 @@ import android.text.TextUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.util.Log; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.view.Gravity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.view.KeyEvent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import android.view.SurfaceHolder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import android.view.SurfaceView; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import android.view.Surface; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import android.view.TextureView; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.view.View; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.view.animation.LinearInterpolator; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.widget.FrameLayout; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import android.widget.SeekBar; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.android.arouter.facade.annotation.Route; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.cooleshow.base.constanst.Constants; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.cooleshow.base.constanst.UploadConstants; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.cooleshow.base.router.RouterPath; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.cooleshow.base.ui.activity.BaseMVPActivity; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -33,7 +35,6 @@ import com.cooleshow.base.utils.NumberUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.cooleshow.base.utils.SizeUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.cooleshow.base.utils.TimeUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.cooleshow.base.utils.ToastUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.cooleshow.base.utils.UiUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.cooleshow.base.utils.helper.QMUIStatusBarHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.cooleshow.base.utils.helper.upload.UploadHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.cooleshow.base.widgets.dialog.CommonConfirmDialog; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -48,12 +49,12 @@ import com.cooleshow.musicmerge.helper.MixHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.cooleshow.musicmerge.player.CustomPlayer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.cooleshow.musicmerge.presenter.MusicFileHandlePresenter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.cooleshow.musicmerge.viewmodel.MusicMergeViewModel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.cooleshow.musicmerge.widget.MergeLoadingTipDialog; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.luck.picture.lib.PictureSelector; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.luck.picture.lib.entity.LocalMedia; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.File; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.Locale; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.annotation.NonNull; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.annotation.Nullable; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -63,15 +64,18 @@ import androidx.lifecycle.ViewModelProvider; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Author by pq, Date on 2023/8/28. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Route(path = RouterPath.MusicTuner.MUSIC_MERGE_PAGE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBinding, MusicFileHandlePresenter> implements View.OnClickListener, SurfaceHolder.Callback, MusicFileHandleContract { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBinding, MusicFileHandlePresenter> implements View.OnClickListener, MusicFileHandleContract, TextureView.SurfaceTextureListener { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static final int REQUEST_CODE_LOCAL = 0x19; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static final int REQUEST_CODE_LOCAL_VIDEO_COVER = 0x20; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static final int REQUEST_CODE_VIDEO_COVER = 0x29; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private CustomPlayer player1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private CustomPlayer player2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private String accompanyUrl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private String recordFilePath; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private MusicHandleSettingFragment mSettingFragment; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private boolean isVideo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private SurfaceView mSurfaceView; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private TextureView mSurfaceView; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private SurfaceTexture mSurfaceTexture; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private int videoWidth; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private int videoHeight; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private Handler mHandler = new Handler(Looper.getMainLooper()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -88,6 +92,11 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private boolean isNeedFinishPage = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private boolean isNeedResetScreenOrientation = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private MergeLoadingTipDialog mLoadingTipDialog; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static int MAX_STEP = 3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static final int MAX_PROGRESS = 100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private int currentStep = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -115,18 +124,17 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void initSurfaceView() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         initVideoUIStyle(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mViewModel.getVideoFilePath().setValue(recordFilePath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         viewBinding.groupAudioView.setVisibility(View.GONE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         viewBinding.flSurface.setVisibility(View.VISIBLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         viewBinding.viewVideoTopBg.setVisibility(View.VISIBLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         viewBinding.viewVideoBottomBg.setVisibility(View.VISIBLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         viewBinding.viewVideoBg.setVisibility(View.VISIBLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        mSurfaceView = new SurfaceView(MusicHandleActivity.this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        SurfaceHolder holder = mSurfaceView.getHolder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mSurfaceView = new TextureView(MusicHandleActivity.this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mSurfaceView.setSurfaceTextureListener(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         layoutParams.gravity = Gravity.CENTER; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         viewBinding.flSurface.addView(mSurfaceView, layoutParams); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        holder.addCallback(MusicHandleActivity.this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void initVideoUIStyle() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -165,7 +173,7 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         accompanyUrl = getIntent().getStringExtra("accompanyUrl"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         recordFilePath = getIntent().getStringExtra("recordFilePath"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        initLoadingDialog(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         initViewModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         initFragment(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         initListener(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -197,6 +205,7 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void preLoad() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         isVideo = MyFileUtils.isVideo(recordFilePath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LOG.i("isVideo:" + isVideo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mViewModel.getIsVideoFile().setValue(isVideo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         boolean b = checkAccompanimentMp3File(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (b) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             preparePlay(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -242,6 +251,8 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             public void toMix(int offsetValue, float volume1, float volume2, boolean isNeedNotify) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                MAX_STEP = 3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                checkCoverToUpload(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (isVideo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     startMixForMp4(getAccompanyPath(), recordFilePath, offsetValue, volume1, volume2, isNeedNotify); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } else { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -280,28 +291,48 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void checkCoverToUpload() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MusicInfoBean value = mViewModel.getMusicInfoLiveData().getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (value != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String preCover = value.getPreCover(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String videoCover = value.getVideoCover(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            LOG.i("preCover:" + preCover); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            LOG.i("videoCover:" + videoCover); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!TextUtils.isEmpty(preCover)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                presenter.upLoadImage(null, preCover, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!TextUtils.isEmpty(videoCover)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                presenter.upLoadImage(null, videoCover, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void toSaveDraft() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!TextUtils.isEmpty(recordFilePath)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (!TextUtils.isEmpty(originalFileUrl)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                MAX_STEP = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                toShowLoading(0, getString(R.string.save_draft_tip)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 toNotifyDraft(originalFileUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                MAX_STEP = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 uploadDraft(recordFilePath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void uploadDraft(String filePath) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        currentStep = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         File file = new File(filePath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!file.exists()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        setLoadingCancelable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        showLoading("正在上传草稿0%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        toSetLoadingCancelable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        toShowLoading(getCurrentProgress(0), getString(R.string.updload_draft_tip)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         UploadHelper uploadHelper = new UploadHelper(null, UploadConstants.UPLOAD_TYPE_HOMEWORK); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         uploadHelper.setUpLoadCallBack(new UploadHelper.UpLoadCallBack() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             protected void onSuccess(String url) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                updateLoadingText("正在上传草稿100%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                toUpdateLoadingText(getCurrentProgress(100), getString(R.string.updload_draft_tip)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 toNotifyDraft(url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -318,26 +349,28 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             public void onUploadProgress(double v) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Log.i("pq","onUploadProgress"+v); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                updateLoadingText("正在上传草稿"+UiUtils.convertDouble(v)+"%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Log.i("pq", "onUploadProgress" + v); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                UiUtils.convertDouble(v) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                toUpdateLoadingText(getCurrentProgress((int) v), getString(R.string.updload_draft_tip)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        uploadHelper.setLoadingTip("正在上传草稿"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        uploadHelper.setLoadingTip(getString(R.string.updload_draft_tip)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         uploadHelper.uploadFile(file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void upload(String filePath) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        currentStep = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         File file = new File(filePath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!file.exists()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        updateLoadingText("正在上传作品0%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        toUpdateLoadingText(getCurrentProgress(0), getString(R.string.upload_works_tip)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         UploadHelper uploadHelper = new UploadHelper(null, UploadConstants.UPLOAD_TYPE_HOMEWORK); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         uploadHelper.setUpLoadCallBack(new UploadHelper.UpLoadCallBack() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             protected void onSuccess(String url) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                updateLoadingText("正在上传作品100%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                toUpdateLoadingText(getCurrentProgress(100), getString(R.string.upload_works_tip)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 toNotify(url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -354,10 +387,10 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             public void onUploadProgress(double v) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                updateLoadingText("正在上传作品"+ UiUtils.convertDouble(v)+"%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                toUpdateLoadingText(getCurrentProgress((int) v), getString(R.string.upload_works_tip)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        uploadHelper.setLoadingTip("正在上传作品"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        uploadHelper.setLoadingTip(getString(R.string.upload_works_tip)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         uploadHelper.uploadFile(file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -365,15 +398,17 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void toNotify(String url) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String configJson = mSettingFragment.getConfigJson(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MusicInfoBean value = mViewModel.getMusicInfoLiveData().getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String videoCover = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String cover = imgCover; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (value != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String preCover = value.getPreCover(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!TextUtils.isEmpty(preCover)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                cover = preCover; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             des = value.getDes(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            videoCover = value.getVideoCover(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String cover1 = value.getCover(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!TextUtils.isEmpty(cover1)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                cover = cover1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        presenter.save(mRecordId, url, cover, des, configJson); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        presenter.save(mRecordId, url, cover, videoCover, des, configJson); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void toNotifyDraft(String url) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -384,24 +419,28 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void startMixForMp4(String accompanimentMp3Path, String recordFilePath, int offsetValue, float recordFileVolume, float accompanyFileVolume, boolean isNeedNotify) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        setLoadingCancelable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        showLoading(String.format(Locale.getDefault(), "视频合成中 %d%%", 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        currentStep = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        toSetLoadingCancelable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        toShowLoading(getCurrentProgress(0), getString(R.string.video_merge_tip)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MixHelper.getInstance().startMixForMp4(accompanimentMp3Path, recordFilePath, offsetValue, recordFileVolume, accompanyFileVolume, new ResultCallback<String>() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             public void onSuccess(String s) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(!checkActivityExist()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 runOnUiThread(new Runnable() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     public void run() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        updateLoadingText(String.format(Locale.getDefault(), "视频合成中 %d%%", 100)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        toUpdateLoadingText(getCurrentProgress(100), getString(R.string.video_merge_tip)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (!TextUtils.isEmpty(s)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                            ToastUtil.getInstance().showShort("mix completed:" + s); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            FileUtils.notifySystemToScan(s); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             if (isNeedNotify) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 upload(s); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                FileUtils.notifySystemToScan(s); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 ToastUtil.getInstance().showShort("保存成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            hideLoading(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             ToastUtil.getInstance().showShort("mix onFail"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -410,17 +449,23 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             public void onProgress(int progressPercent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(!checkActivityExist()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 runOnUiThread(new Runnable() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     public void run() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         LOG.i("progressPercent:" + progressPercent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        updateLoadingText(String.format(Locale.getDefault(), "视频合成中 %d%%", progressPercent)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        toUpdateLoadingText(getCurrentProgress(progressPercent), getString(R.string.video_merge_tip)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             public void onFail(int errorCode, String errorStr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(!checkActivityExist()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 runOnUiThread(new Runnable() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     public void run() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -433,25 +478,28 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void startMix(String accompanimentMp3Path, String recordFilePath, int offsetValue, float recordFileVolume, float accompanyFileVolume, boolean isNeedNotify) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        setLoadingCancelable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        showLoading(String.format(Locale.getDefault(), "音频合成中 %d%%", 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        currentStep = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        toSetLoadingCancelable(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        toShowLoading(getCurrentProgress(0), getString(R.string.audio_merge_tip)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MixHelper.getInstance().startMix(accompanimentMp3Path, recordFilePath, offsetValue, recordFileVolume, accompanyFileVolume, new ResultCallback<String>() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             public void onSuccess(String s) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(!checkActivityExist()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 runOnUiThread(new Runnable() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     public void run() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        updateLoadingText(String.format(Locale.getDefault(), "音频合成中 %d%%", 100)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        hideLoading(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                        ToastUtil.getInstance().showShort("mix completed:" + s); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        toUpdateLoadingText(getCurrentProgress(100), getString(R.string.audio_merge_tip)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (!TextUtils.isEmpty(s)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            FileUtils.notifySystemToScan(s); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             if (isNeedNotify) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 upload(s); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                FileUtils.notifySystemToScan(s); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 ToastUtil.getInstance().showShort("保存成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            hideLoading(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             ToastUtil.getInstance().showShort("mix onFail"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -460,17 +508,23 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             public void onProgress(int progressPercent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(!checkActivityExist()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 runOnUiThread(new Runnable() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     public void run() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         LOG.i("progressPercent:" + progressPercent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        updateLoadingText(String.format(Locale.getDefault(), "音频合成中 %d%%", progressPercent)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        toUpdateLoadingText(getCurrentProgress(progressPercent), getString(R.string.audio_merge_tip)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             public void onFail(int errorCode, String errorStr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(!checkActivityExist()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 runOnUiThread(new Runnable() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     public void run() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -630,7 +684,7 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         layoutParams.width = w; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         layoutParams.height = h; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mSurfaceView.setLayoutParams(layoutParams); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        mSurfaceView.getHolder().setFixedSize(w, h); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        mSurfaceView.getHolder().setFixedSize(w, h); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private boolean checkRecordFile() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -664,6 +718,9 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MixHelper.getInstance().download(recordUrl, fileEndSuffix, new ResultCallback<String>() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             public void onSuccess(String s) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(!checkActivityExist()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 runOnUiThread(new Runnable() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     public void run() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -675,6 +732,9 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             public void onProgress(int progressPercent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(!checkActivityExist()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 runOnUiThread(new Runnable() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     public void run() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -685,6 +745,9 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             public void onFail(int errorCode, String errorStr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(!checkActivityExist()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 runOnUiThread(new Runnable() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     public void run() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -712,6 +775,9 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MixHelper.getInstance().download(accompanyUrl, MyFileUtils.MP3_FILE_SUFFIX, new ResultCallback<String>() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             public void onSuccess(String s) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(!checkActivityExist()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 runOnUiThread(new Runnable() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     public void run() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -723,6 +789,9 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             public void onProgress(int progressPercent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(!checkActivityExist()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 runOnUiThread(new Runnable() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     public void run() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -733,6 +802,9 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             public void onFail(int errorCode, String errorStr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(!checkActivityExist()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 runOnUiThread(new Runnable() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     public void run() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -749,11 +821,15 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void hideLoading() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         setLoadingCancelable(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        toSetLoadingCancelable(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (mLoadingTipDialog != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mLoadingTipDialog.hide(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         super.hideLoading(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private String getAccompanyPath() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String accompanyPath = MixHelper.getInstance().getDownloadSavePath(accompanyUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String accompanyPath = MixHelper.getInstance().getDownloadSavePath(accompanyUrl, MyFileUtils.MP3_FILE_SUFFIX); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return accompanyPath; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -941,12 +1017,15 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!checkActivityExist()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        showToastViewAndFinish("发布成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        currentStep = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        showToastViewAndFinish("发布成功",true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private void toFinish() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void toFinish(boolean isReCallBack) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Intent intent = new Intent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        intent.putExtra("saveWorksStatus", 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (isReCallBack) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            intent.putExtra("saveWorksStatus", 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         setResult(RESULT_OK, intent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         finish(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -983,38 +1062,58 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!checkActivityExist()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        currentStep = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mViewModel.getUpdateEvent().setValue(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (isNeedFinishPage) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            showToastViewAndFinish("保存成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            showToastViewAndFinish("保存成功",false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ToastUtil.getInstance().showShort("保存成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            toUpdateLoadingText(getCurrentProgress(100), "保存成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mHandler.postDelayed(new Runnable() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                public void run() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    hideLoading(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 1500); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private void showToastViewAndFinish(String tip) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void showToastViewAndFinish(String tip, boolean isReCallBack) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //测试lyr提出提示要在当前面提示,所以给出延迟finish 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        viewBinding.tvToastView.setText(tip); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        viewBinding.tvToastView.setVisibility(View.VISIBLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        viewBinding.tvToastView.setText(tip); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        viewBinding.tvToastView.setVisibility(View.VISIBLE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        toUpdateLoadingText(getCurrentProgress(100), tip); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mHandler.postDelayed(new Runnable() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             public void run() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                toFinish(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                hideLoading(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                toFinish(isReCallBack); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 1500); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void upLoadImageSuccess(String url) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void upLoadImageSuccess(String url, boolean isVideoCover) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!checkActivityExist()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        refreshMusicInfoPreCover(url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (mViewModel != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (isVideoCover) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                mViewModel.refreshMusicVideoCover(url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                mViewModel.refreshMusicWorksCover(url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void refreshMusicInfoPreCover(String imgCover) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mViewModel.refreshMusicPreCover(imgCover); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void refreshMusicInfoVideoCover(String imgCover) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mViewModel.refreshMusicVideoCover(imgCover); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void refreshMusicInfo(String imgCover) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MusicInfoBean bean = new MusicInfoBean(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         bean.setCover(imgCover); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1022,16 +1121,24 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mViewModel.getMusicInfoLiveData().setValue(bean); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private int getCurrentProgress(int progress) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        float singleStepMaxProgress = MAX_PROGRESS * 1.0f / MAX_STEP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        float progressPercent = progress * 1.0f / 100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int result = (int) (singleStepMaxProgress * currentStep + singleStepMaxProgress * progressPercent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        LOG.i("progress:" + progress + "--currentStep:" + currentStep + "--currentStepProgress" + singleStepMaxProgress * currentStep + "--progressPercent:" + progressPercent + "--result:" + result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void upLoadImageFailure() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ToastUtil.getInstance().showShort("上传失败,请重试"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ToastUtil.getInstance().showShort("封面上传失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         super.onActivityResult(requestCode, resultCode, data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (resultCode == RESULT_OK) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (requestCode == REQUEST_CODE_LOCAL) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (requestCode == REQUEST_CODE_LOCAL || requestCode == REQUEST_CODE_LOCAL_VIDEO_COVER) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (data != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     // 图片、视频、音频选择结果回调 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     List<LocalMedia> selectList = PictureSelector.obtainMultipleResult(data); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1042,13 +1149,48 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (!TextUtils.isEmpty(v_path)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         boolean isImg = MyFileUtils.isImg(v_path); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (isImg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            presenter.upLoadImage(MusicHandleActivity.this, v_path); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (requestCode == REQUEST_CODE_LOCAL_VIDEO_COVER) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                refreshMusicInfoVideoCover(v_path); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                refreshMusicInfoPreCover(v_path); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             ToastUtil.getInstance().showShort("请选择图片类型文件"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (requestCode == REQUEST_CODE_VIDEO_COVER) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (data != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String imgPath = data.getStringExtra(Constants.COMMON_EXTRA_KEY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    refreshMusicInfoVideoCover(imgPath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void toShowLoading(int progress, String text) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (mLoadingTipDialog != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mLoadingTipDialog.showLoading(progress, text); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void toSetLoadingCancelable(boolean flag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (mLoadingTipDialog != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mLoadingTipDialog.setLoadingCancelable(flag); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void toUpdateLoadingText(int progress, String text) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (mLoadingTipDialog != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mLoadingTipDialog.updateLoadingText(progress, text); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void initLoadingDialog() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (mLoadingTipDialog == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mLoadingTipDialog = new MergeLoadingTipDialog(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1059,7 +1201,9 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (mHandler != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             mHandler.removeCallbacksAndMessages(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (mSurfaceView != null && mSurfaceView.getSurfaceTexture() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mSurfaceView.getSurfaceTexture().release(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (player1 != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             player1.release(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1083,26 +1227,32 @@ public class MusicHandleActivity extends BaseMVPActivity<AcMusicHandleLayoutBind 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void surfaceCreated(@NonNull SurfaceHolder holder) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        LOG.i("surfaceCreated"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        player1.setSurface(holder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        toPlay(getAccompanyPath()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void onSurfaceTextureAvailable(@NonNull SurfaceTexture surface, int width, int height) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (mSurfaceTexture == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mSurfaceTexture = surface; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mSurfaceView.setSurfaceTexture(mSurfaceTexture); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (player1 != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            toPlay(getAccompanyPath()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            player1.setSurface(new Surface(mSurfaceTexture)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void surfaceChanged(@NonNull SurfaceHolder holder, int format, int width, int height) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        LOG.i("surfaceChanged"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        player1.setSurface(holder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void onSurfaceTextureSizeChanged(@NonNull SurfaceTexture surface, int width, int height) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void surfaceDestroyed(@NonNull SurfaceHolder holder) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        LOG.i("surfaceDestroyed"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (player1 != null && player1.isPlaying()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            pausePlay(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public boolean onSurfaceTextureDestroyed(@NonNull SurfaceTexture surface) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void onSurfaceTextureUpdated(@NonNull SurfaceTexture surface) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void finish() { 
			 |