diff --git a/ReleaseNotes/release-notes-3.4.0.md b/ReleaseNotes/release-notes-3.4.0.md new file mode 100644 index 0000000..12dfd8f --- /dev/null +++ b/ReleaseNotes/release-notes-3.4.0.md @@ -0,0 +1,66 @@ +# PLDroidShortVideo Release Notes for 3.4.0 + +### 简介 + +PLDroidShortVideo 是七牛推出的一款适用于 Android 平台的短视频 SDK,提供了包括美颜、滤镜、水印、断点录制、分段回删、视频编辑、混音特效、本地/云端存储在内的多种功能,支持高度定制以及二次开发。 + +### 版本 + +* 发布 pldroid-shortvideo-3.4.0.jar +* 更新上传库依赖版本到 v8.4.3 + +### 功能 + +* PLMediaFile 增加方法支持判断视频编码格式是否为 H.265 +* PLDisplayMode 增加 KEEP 模式 +* 视频录制支持无麦克风权限 +* 优化混音切换逻辑 +* 编辑模块水印设置支持层级设置 +* 优化软编码的内存使用情况 +* 视频录制的同时支持旋转摄像头 +* 支持单个 GIF 转视频操作 +* 转码、编辑、图片转视频模块支持软编码 +* 水印增加角度设置 +* PLMicrophoneSetting 增加判断手机是否支持双声道的方法 +* 优化编码处理方式 +* 优化预览视图,使其即时相应外部视图宽高变化 +* 优化抽帧操作的耗时 +* 优化 SDK 所需权限,极大限度降低所需的权限 +* 支持自动曝光 + +### 缺陷 + +* 修复极慢速录制预览可能卡顿的问题 +* 修复个别机型转码时码率达不到预期的问题 +* 修复转码后的视频在存储到云端后使用在线播放时出现大量 206 请求的问题 +* 修复录屏偶现无视频帧的问题 +* 修复编辑模块在一帧添加大量 GIF 时出现部分 GIF 丢失的问题 +* 修复偶现的 ANR 问题 +* 修复在部分三星手机转码进度卡住的问题 +* 修复在部分机型上图片转视频出现色差的问题 +* 修复转码部分视频进度会卡住的问题 +* 修复部分机型切换摄像头时出现画面缩放的一帧的问题 +* 修复编码因异常停止后此后不能再启动的问题 +* 修复转码默认的画面拉伸模式的问题 +* 修复连续转码后续修改参数无效的问题 +* 修复偶现的 OpenGL 环境创建崩溃的问题 +* 修复频繁进行添加删除 GIF 操作导致结果异常的问题 +* 修复部分机型录制帧率不达预期的问题 +* 修复部分机型使用软编出现卡住的问题 +* 修复部分机型后置转前置出现的预览异常问题 +* 修复软编码视频可能出现的进度卡住问题 + +### 注意事项 + +* 从 v3.1.0 版本开始,需要在 Application 中初始化 sdk: + +```java +PLShortVideoEnv.init(getApplicationContext()); +``` + +* 七牛短视频 SDK 自 v3.0.0 版本起, 划分为精简版、基础版、进阶版、专业版。不同版本 SDK 可以使用的功能点数量有差别,请按照购买的 License 版本使用对应的短视频 SDK 版本。 +* 上传 SDK 的依赖需要更新到如下版本: + +```java +compile 'com.qiniu:qiniu-android-sdk:8.4.3' +``` diff --git a/ShortVideoFunctionDemo/app/build.gradle b/ShortVideoFunctionDemo/app/build.gradle index 81fe3f8..2173ce2 100644 --- a/ShortVideoFunctionDemo/app/build.gradle +++ b/ShortVideoFunctionDemo/app/build.gradle @@ -14,8 +14,8 @@ android { applicationId "com.qiniu.pili.droid.shortvideo.demo" minSdkVersion 21 targetSdkVersion 30 - versionCode 34 - versionName "3.3.0" + versionCode 35 + versionName "3.4.0" multiDexEnabled true vectorDrawables.useSupportLibrary = true buildConfigField "long", "BUILD_TIMESTAMP", System.currentTimeMillis() + "L" @@ -40,9 +40,9 @@ android { dependencies { // 上传 sdk ,不使用上传功能无需依赖 - implementation 'com.qiniu:qiniu-android-sdk:8.3.2' + implementation 'com.qiniu:qiniu-android-sdk:8.4.3' // 播放器 sdk ,非必须 - implementation files('libs/pldroid-player-2.2.2.jar') + implementation files('libs/pldroid-player-2.3.3.jar') // UI 控件库,非必须 implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.7' implementation 'androidx.recyclerview:recyclerview:1.2.1' @@ -59,6 +59,6 @@ dependencies { implementation project(':library') } else { // 短视频 SDK jar 包,必须依赖 - implementation files('libs/pldroid-shortvideo-3.3.0.jar') + implementation files('libs/pldroid-shortvideo-3.4.0.jar') } } diff --git a/ShortVideoFunctionDemo/app/libs/pldroid-player-2.2.2.jar b/ShortVideoFunctionDemo/app/libs/pldroid-player-2.2.2.jar deleted file mode 100644 index d45358c..0000000 Binary files a/ShortVideoFunctionDemo/app/libs/pldroid-player-2.2.2.jar and /dev/null differ diff --git a/ShortVideoFunctionDemo/app/libs/pldroid-player-2.3.3.jar b/ShortVideoFunctionDemo/app/libs/pldroid-player-2.3.3.jar new file mode 100644 index 0000000..cd891ec Binary files /dev/null and b/ShortVideoFunctionDemo/app/libs/pldroid-player-2.3.3.jar differ diff --git a/ShortVideoFunctionDemo/app/libs/pldroid-shortvideo-3.3.0.jar b/ShortVideoFunctionDemo/app/libs/pldroid-shortvideo-3.3.0.jar deleted file mode 100644 index 16dae35..0000000 Binary files a/ShortVideoFunctionDemo/app/libs/pldroid-shortvideo-3.3.0.jar and /dev/null differ diff --git a/ShortVideoFunctionDemo/app/libs/pldroid-shortvideo-3.4.0.jar b/ShortVideoFunctionDemo/app/libs/pldroid-shortvideo-3.4.0.jar new file mode 100644 index 0000000..7d185ca Binary files /dev/null and b/ShortVideoFunctionDemo/app/libs/pldroid-shortvideo-3.4.0.jar differ diff --git a/ShortVideoFunctionDemo/app/src/main/AndroidManifest.xml b/ShortVideoFunctionDemo/app/src/main/AndroidManifest.xml index ad89b1e..cda737a 100644 --- a/ShortVideoFunctionDemo/app/src/main/AndroidManifest.xml +++ b/ShortVideoFunctionDemo/app/src/main/AndroidManifest.xml @@ -1,5 +1,6 @@ @@ -9,6 +10,9 @@ + diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/AudioRecordActivity.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/AudioRecordActivity.java index 3173f48..842dc5a 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/AudioRecordActivity.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/AudioRecordActivity.java @@ -79,7 +79,7 @@ protected void onCreate(Bundle savedInstanceState) { mShortAudioRecorder.prepare(this, microphoneSetting, audioEncodeSetting, recordSetting); mSectionProgressBar.setFirstPointTime(RecordSettings.DEFAULT_MIN_RECORD_DURATION); - mSectionProgressBar.setTotalTime(this, recordSetting.getMaxRecordDuration()); + mSectionProgressBar.setTotalTime(recordSetting.getMaxRecordDuration()); mRecordBtn.setOnClickListener(v -> { if (mSectionBegan) { diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/ExternalMediaRecordActivity.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/ExternalMediaRecordActivity.java index 8aa7fcb..de0a10f 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/ExternalMediaRecordActivity.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/ExternalMediaRecordActivity.java @@ -84,7 +84,8 @@ protected void onCreate(Bundle savedInstanceState) { AVOptions options = new AVOptions(); options.setInteger(AVOptions.KEY_VIDEO_DATA_CALLBACK, 1); - options.setInteger(AVOptions.KEY_MEDIACODEC, AVOptions.MEDIA_CODEC_AUTO); + options.setInteger(AVOptions.KEY_AUDIO_DATA_CALLBACK, 1); + options.setInteger(AVOptions.KEY_MEDIACODEC, AVOptions.MEDIA_CODEC_SW_DECODE); mVideoTextureView.setAVOptions(options); mVideoTextureView.setOnVideoFrameListener((data, size, width, height, format, ts) -> { if (format == 0) { @@ -116,16 +117,17 @@ protected void onCreate(Bundle savedInstanceState) { @Override public void onClick(View view) { - view.setEnabled(false); switch (view.getId()) { case R.id.play: if (!mVideoTextureView.isPlaying()) { + mPlayButton.setEnabled(false); mVideoTextureView.start(); mExternalMediaRecorder.start(); } break; case R.id.stop: if (mVideoTextureView.isPlaying()) { + mStopButton.setEnabled(false); mExternalMediaRecorder.stop(); if (mVideoTextureView != null) { mVideoTextureView.stopPlayback(); diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/ImageComposeActivity.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/ImageComposeActivity.java index db0c477..6106f9b 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/ImageComposeActivity.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/ImageComposeActivity.java @@ -189,6 +189,7 @@ public void onClickCompose(View v) { PLVideoEncodeSetting setting = new PLVideoEncodeSetting(this); setting.setEncodingSizeLevel(getEncodingSizeLevel(mEncodingSizeLevelSpinner.getSelectedItemPosition())); setting.setEncodingBitrate(getEncodingBitrateLevel(mEncodingBitrateLevelSpinner.getSelectedItemPosition())); + setting.setHWCodecEnabled(false); PLDisplayMode displayMode = ((RadioButton) findViewById(R.id.fit_radio_btn)).isChecked() ? PLDisplayMode.FIT : PLDisplayMode.FULL; mShortVideoComposer.composeImages(items, mAudioFilePath, true, Config.IMAGE_COMPOSE_FILE_PATH, displayMode, setting, mVideoSaveListener); } @@ -236,9 +237,9 @@ private void chooseFile(boolean isAudio) { @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - if (resultCode == Activity.RESULT_OK) { - if (requestCode == REQUEST_IMAGE_CODE) { - String selectedFilepath = GetPathFromUri.getPath(this, data.getData()); + if (resultCode == Activity.RESULT_OK && data.getData() != null) { + if (requestCode == REQUEST_IMAGE_CODE && data.getData() != null) { + String selectedFilepath = GetPathFromUri.getRealPathFromURI(this, data.getData()); Log.i(TAG, "Select file: " + selectedFilepath); if (selectedFilepath != null && !"".equals(selectedFilepath)) { PLComposeItem item = new PLComposeItem(selectedFilepath); @@ -247,8 +248,8 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { mImageListAdapter.notifyDataSetChanged(); ToastUtils.showShortToast("单击条目可以进行编辑,长按可以删除"); } - } else if (requestCode == REQUEST_AUDIO_CODE) { - mAudioFilePath = GetPathFromUri.getPath(this, data.getData()); + } else if (requestCode == REQUEST_AUDIO_CODE && data.getData() != null) { + mAudioFilePath = GetPathFromUri.getRealPathFromURI(this, data.getData()); if (mAudioFilePath != null && !"".equals(mAudioFilePath)) { String audioName = ImageListAdapter.getFileNameWithSuffix(mAudioFilePath); if (!audioName.isEmpty()) { diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/ImageComposeWithTransitionActivity.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/ImageComposeWithTransitionActivity.java index 4039601..e0bc5a0 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/ImageComposeWithTransitionActivity.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/ImageComposeWithTransitionActivity.java @@ -274,11 +274,11 @@ private void stateChange(boolean processing) { } @Override - public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - if (resultCode == Activity.RESULT_OK) { + if (resultCode == Activity.RESULT_OK && data.getData() != null) { if (requestCode == 100) { - final String selectedFilepath = GetPathFromUri.getPath(this, data.getData()); + final String selectedFilepath = GetPathFromUri.getRealPathFromURI(this, data.getData()); Log.i(TAG, "Select file: " + selectedFilepath); if (selectedFilepath != null && !"".equals(selectedFilepath)) { showAddItemDialog(selectedFilepath); diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/MainActivity.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/MainActivity.java index 7fe6a7a..0ca0299 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/MainActivity.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/MainActivity.java @@ -3,11 +3,16 @@ import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; +import android.net.Uri; import android.os.Build; import android.os.Bundle; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; import androidx.appcompat.app.AppCompatActivity; +import android.os.Environment; +import android.provider.Settings; import android.view.View; import com.qiniu.pili.droid.shortvideo.PLAuthenticationResultCallback; @@ -24,6 +29,7 @@ public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; + private ActivityResultLauncher mActivityResultLauncher; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -47,6 +53,12 @@ public void onAuthorizationResult(int result) { } } }); + + mActivityResultLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> { + if (result.getResultCode() != RESULT_OK || result.getData() == null) { + ToastUtils.showShortToast("未获得全局存储权限"); + } + }); } @Override @@ -60,6 +72,18 @@ private boolean isPermissionOK() { if (!isPermissionOK) { ToastUtils.showShortToast("Some permissions is not approved !!!"); } + if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q && !Environment.isExternalStorageManager()) { + try { + Intent intent = new Intent(); + intent.setAction(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION); + Uri uri = Uri.fromParts("package", getPackageName(), null); + intent.setData(uri); + mActivityResultLauncher.launch(intent); + } catch (Exception exception) { + exception.printStackTrace(); + } + return false; + } return isPermissionOK; } @@ -106,7 +130,7 @@ public void onClickImageCompose(View v) { } } - public void onClickImageCompose2(View v) { + public void onClickImageComposeWithTransition(View v) { if (isPermissionOK()) { jumpToActivity(ImageComposeWithTransitionActivity.class); } diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/MakeGIFActivity.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/MakeGIFActivity.java index 1183c2e..6b0101b 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/MakeGIFActivity.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/MakeGIFActivity.java @@ -95,8 +95,8 @@ public boolean onOptionsItemSelected(MenuItem item) { @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - if (resultCode == Activity.RESULT_OK) { - mInputFilePath = GetPathFromUri.getPath(this, data.getData()); + if (resultCode == Activity.RESULT_OK && data.getData() != null) { + mInputFilePath = GetPathFromUri.getRealPathFromURI(this, data.getData()); Log.i(TAG, "Select file: " + mInputFilePath); if (mInputFilePath != null && !"".equals(mInputFilePath)) { init(mInputFilePath); diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/MultipleComposeActivity.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/MultipleComposeActivity.java index d7d93da..67ef59b 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/MultipleComposeActivity.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/MultipleComposeActivity.java @@ -168,8 +168,8 @@ public void onProgressUpdate(final float percentage) { @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - if (resultCode == Activity.RESULT_OK) { - String selectedFilepath = GetPathFromUri.getPath(this, data.getData()); + if (resultCode == Activity.RESULT_OK && data.getData() != null) { + String selectedFilepath = GetPathFromUri.getRealPathFromURI(this, data.getData()); if (selectedFilepath == null || "".equals(selectedFilepath)) { Log.i(TAG, "Select file error : can't be null or empty !"); return; diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoComposeActivity.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoComposeActivity.java index f53f63a..47f2ed4 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoComposeActivity.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoComposeActivity.java @@ -201,8 +201,8 @@ private void chooseVideoFile() { @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - if (resultCode == Activity.RESULT_OK) { - String selectedFilepath = GetPathFromUri.getPath(this, data.getData()); + if (resultCode == Activity.RESULT_OK && data.getData() != null) { + String selectedFilepath = GetPathFromUri.getRealPathFromURI(this, data.getData()); Log.i(TAG, "Select file: " + selectedFilepath); if (selectedFilepath != null && !"".equals(selectedFilepath)) { mVideoListAdapter.addVideoFile(selectedFilepath); diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoDivideActivity.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoDivideActivity.java index 49e44f7..67c9ff7 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoDivideActivity.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoDivideActivity.java @@ -6,6 +6,7 @@ import android.graphics.Bitmap; import android.os.AsyncTask; import android.os.Bundle; +import android.util.DisplayMetrics; import android.util.Log; import android.view.GestureDetector; import android.view.LayoutInflater; @@ -94,8 +95,8 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - if (resultCode == Activity.RESULT_OK) { - mSrcVideoPath = GetPathFromUri.getPath(this, data.getData()); + if (resultCode == Activity.RESULT_OK && data.getData() != null) { + mSrcVideoPath = GetPathFromUri.getRealPathFromURI(this, data.getData()); Log.i(TAG, "Select file: " + mSrcVideoPath); if (mSrcVideoPath != null && !"".equals(mSrcVideoPath)) { init(); @@ -193,6 +194,7 @@ private void initMediaInfo() { private void initVideoPlayer() { mPreview.setVideoPath(mSrcVideoPath); mPreview.setOnCompletionListener(mediaPlayer -> play()); + makeUpVideoViewSize(); play(); } @@ -221,6 +223,41 @@ private void initFrameList() { mFrameList.setLayoutManager(layoutManager); } + private void makeUpVideoViewSize() { + int viewWidth, viewHeight, videoWidth, videoHeight, displayWidth, displayHeight; + float videoAspectRatio; + WindowManager windowManager = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE); + DisplayMetrics outMetrics = new DisplayMetrics(); + windowManager.getDefaultDisplay().getMetrics(outMetrics); + + viewWidth = outMetrics.widthPixels; + viewHeight = outMetrics.widthPixels; + Log.i(TAG, "View size: " + viewWidth + " × " + viewHeight); + if (mMediaFile.getVideoRotation() / 90 % 2 == 1) { + videoWidth = mMediaFile.getVideoHeight(); + videoHeight = mMediaFile.getVideoWidth(); + } else { + videoWidth = mMediaFile.getVideoWidth(); + videoHeight = mMediaFile.getVideoHeight(); + } + videoAspectRatio = (float) videoHeight / videoWidth; + Log.i(TAG, "Video size: " + videoWidth + " × " + videoHeight); + + // view 的视图为一个正方形,宽高比为 1 + if (1 > videoAspectRatio) { + displayWidth = viewWidth; + displayHeight = (int) ((float) viewWidth / videoWidth * videoHeight); + } else { + displayWidth = (int) ((float) viewHeight / videoHeight * videoWidth); + displayHeight = viewHeight; + } + + RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) mPreview.getLayoutParams(); + layoutParams.width = displayWidth; + layoutParams.height = displayHeight; + mPreview.setLayoutParams(layoutParams); + } + private void resetData() { mCurTrimNum = 0; mPathList.clear(); diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoDubActivity.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoDubActivity.java index 9d672c9..18dfa09 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoDubActivity.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoDubActivity.java @@ -87,7 +87,7 @@ protected void onCreate(Bundle savedInstanceState) { mShortAudioRecorder.prepare(this, microphoneSetting, audioEncodeSetting, recordSetting); mSectionProgressBar.setFirstPointTime(0); - mSectionProgressBar.setTotalTime(this, mShortVideoEditor.getDurationMs()); + mSectionProgressBar.setTotalTime(mShortVideoEditor.getDurationMs()); mRecordBtn.setOnClickListener(v -> { if (mIsRecordCompleted) { diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoEditActivity.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoEditActivity.java index b838fbf..20d800c 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoEditActivity.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoEditActivity.java @@ -376,6 +376,8 @@ public void addText(StrokedTextView selectText) { stickerTextView.setTextColor(selectText.getCurrentTextColor()); stickerTextView.setTypeface(selectText.getTypeface()); stickerTextView.setShadowLayer(selectText.getShadowRadius(), selectText.getShadowDx(), selectText.getShadowDy(), selectText.getShadowColor()); + stickerTextView.setStrokeWidth(selectText.getStrokeWidth()); + stickerTextView.setStrokeColor(selectText.getStrokeColor()); mShortVideoEditor.addTextView(stickerTextView); stickerTextView.setOnStickerOperateListener(new StickerOperateListener(stickerTextView)); @@ -999,16 +1001,16 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode != Activity.RESULT_OK) { return; } - if (requestCode == REQUEST_CODE_PICK_AUDIO_MIX_FILE) { - String selectedFilepath = GetPathFromUri.getPath(this, data.getData()); + if (requestCode == REQUEST_CODE_PICK_AUDIO_MIX_FILE && data.getData() != null) { + String selectedFilepath = GetPathFromUri.getRealPathFromURI(this, data.getData()); Log.i(TAG, "Select file: " + selectedFilepath); if (!TextUtils.isEmpty(selectedFilepath)) { mShortVideoEditor.setAudioMixFile(selectedFilepath); mAudioMixSettingDialog.setMixMaxPosition(mShortVideoEditor.getAudioMixFileDuration()); mIsMixAudio = true; } - } else if (requestCode == REQUEST_CODE_MULTI_AUDIO_MIX_FILE) { - String selectedFilepath = GetPathFromUri.getPath(this, data.getData()); + } else if (requestCode == REQUEST_CODE_MULTI_AUDIO_MIX_FILE && data.getData() != null) { + String selectedFilepath = GetPathFromUri.getRealPathFromURI(this, data.getData()); try { if (!mMainAudioFileAdded) { mMainMixAudioFile = new PLMixAudioFile(mMp4path); @@ -1120,6 +1122,7 @@ public void onSaveEdit(View v) { mMainMixAudioFile.setSpeed(mSpeed); mMainMixAudioFile.setDurationInVideo((int) (mInputMp4FileDurationMs * 1000 / mSpeed)); } + mSaveWatermarkSetting.setZOrderOnTop(true); mShortVideoEditor.save(new PLVideoFilterListener() { @Override public void onSurfaceCreated() { @@ -1238,18 +1241,18 @@ public FilterItemViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { @Override public void onBindViewHolder(FilterItemViewHolder holder, int position) { - try { - if (position == 0) { - holder.mName.setText("None"); - Bitmap bitmap = BitmapFactory.decodeStream(getAssets().open("filters/none.png")); - holder.mIcon.setImageBitmap(bitmap); - holder.mIcon.setOnClickListener(v -> { - mSelectedFilter = null; - mShortVideoEditor.setBuiltinFilter(null); - }); - return; - } + if (position == 0) { + holder.mName.setText("None"); + Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.filter_none); + holder.mIcon.setImageBitmap(bitmap); + holder.mIcon.setOnClickListener(v -> { + mSelectedFilter = null; + mShortVideoEditor.setBuiltinFilter(null); + }); + return; + } + try { final PLBuiltinFilter filter = mFilters[position - 1]; holder.mName.setText(filter.getName()); InputStream is = getAssets().open(filter.getAssetFilePath()); diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoMixActivity.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoMixActivity.java index 789b5e2..d441c5b 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoMixActivity.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoMixActivity.java @@ -120,8 +120,8 @@ private void initViews() { @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - if (resultCode == Activity.RESULT_OK) { - String selectedFilepath = GetPathFromUri.getPath(this, data.getData()); + if (resultCode == Activity.RESULT_OK && data.getData() != null) { + String selectedFilepath = GetPathFromUri.getRealPathFromURI(this, data.getData()); Log.i(TAG, "Select file: " + selectedFilepath); if (selectedFilepath != null && !"".equals(selectedFilepath)) { addVideo(selectedFilepath); diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoMixRecordActivity.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoMixRecordActivity.java index ac45540..2681df0 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoMixRecordActivity.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoMixRecordActivity.java @@ -328,7 +328,7 @@ private void init(String sampleVideoPath) { mMixRecorder.setAudioMixMode(PLAudioMixMode.EARPHONE_MODE); - mSectionProgressBar.setTotalTime(this, mRecordSetting.getMaxRecordDuration()); + mSectionProgressBar.setTotalTime(mRecordSetting.getMaxRecordDuration()); mCameraPreview.setOnTouchListener((view, motionEvent) -> { mGestureDetector.onTouchEvent(motionEvent); return true; @@ -397,8 +397,8 @@ public void onClickSwitchFlash(View v) { @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - if (resultCode == Activity.RESULT_OK) { - String selectedFilepath = GetPathFromUri.getPath(this, data.getData()); + if (resultCode == Activity.RESULT_OK && data.getData() != null) { + String selectedFilepath = GetPathFromUri.getRealPathFromURI(this, data.getData()); Log.i(TAG, "Select file: " + selectedFilepath); if (selectedFilepath != null && !"".equals(selectedFilepath)) { init(selectedFilepath); diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoRecordActivity.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoRecordActivity.java index efd6865..badedcd 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoRecordActivity.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoRecordActivity.java @@ -6,6 +6,7 @@ import android.graphics.Bitmap; import android.hardware.SensorManager; import android.media.AudioFormat; +import android.net.DnsResolver; import android.opengl.GLSurfaceView; import android.os.Bundle; import android.util.Log; @@ -47,6 +48,7 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import java.net.HttpURLConnection; import static com.qiniu.pili.droid.shortvideo.demo.utils.RecordSettings.RECORD_SPEED_ARRAY; import static com.qiniu.pili.droid.shortvideo.demo.utils.RecordSettings.chooseCameraFacingId; @@ -164,7 +166,6 @@ protected void onCreate(Bundle savedInstanceState) { mShortVideoRecorder.prepare(preview, mCameraSetting, mMicrophoneSetting, mVideoEncodeSetting, mAudioEncodeSetting, mFaceBeautySetting, mRecordSetting); - mSectionProgressBar.setFirstPointTime(RecordSettings.DEFAULT_MIN_RECORD_DURATION); onSectionCountChanged(0, 0); } else { PLDraftBox draftBox = PLDraftBox.getInstance(this); @@ -190,17 +191,16 @@ protected void onCreate(Bundle savedInstanceState) { draftDuration += draft.getSectionDuration(i); onSectionIncreased(currentDuration, draftDuration, i + 1); } - mSectionProgressBar.setFirstPointTime(RecordSettings.DEFAULT_MIN_RECORD_DURATION); ToastUtils.showShortToast(getString(R.string.toast_draft_recover_success)); } else { onSectionCountChanged(0, 0); - mSectionProgressBar.setFirstPointTime(RecordSettings.DEFAULT_MIN_RECORD_DURATION); ToastUtils.showShortToast(getString(R.string.toast_draft_recover_fail)); } } mShortVideoRecorder.setRecordSpeed(mRecordSpeed); mSectionProgressBar.setProceedingSpeed(mRecordSpeed); - mSectionProgressBar.setTotalTime(this, mRecordSetting.getMaxRecordDuration()); + mSectionProgressBar.setFirstPointTime(RecordSettings.DEFAULT_MIN_RECORD_DURATION); + mSectionProgressBar.setTotalTime(RecordSettings.DEFAULT_MAX_RECORD_DURATION); mRecordBtn.setOnClickListener(v -> { if (mSectionBegan) { @@ -368,8 +368,8 @@ public void onClickSaveToDraft(View v) { @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { - if (resultCode == Activity.RESULT_OK) { - String selectedFilepath = GetPathFromUri.getPath(this, data.getData()); + if (resultCode == Activity.RESULT_OK && data.getData() != null) { + String selectedFilepath = GetPathFromUri.getRealPathFromURI(this, data.getData()); Log.i(TAG, "Select file: " + selectedFilepath); if (selectedFilepath != null && !"".equals(selectedFilepath)) { mShortVideoRecorder.setMusicFile(selectedFilepath); @@ -579,16 +579,7 @@ public void onSpeedClicked(View view) { } mShortVideoRecorder.setRecordSpeed(mRecordSpeed); - if (mRecordSetting.IsRecordSpeedVariable() && mVideoEncodeSetting.IsConstFrameRateEnabled()) { - mSectionProgressBar.setProceedingSpeed(mRecordSpeed); - mRecordSetting.setMaxRecordDuration(RecordSettings.DEFAULT_MAX_RECORD_DURATION); - mSectionProgressBar.setFirstPointTime(RecordSettings.DEFAULT_MIN_RECORD_DURATION); - } else { - mRecordSetting.setMaxRecordDuration((long) (RecordSettings.DEFAULT_MAX_RECORD_DURATION * mRecordSpeed)); - mSectionProgressBar.setFirstPointTime((long) (RecordSettings.DEFAULT_MIN_RECORD_DURATION * mRecordSpeed)); - } - - mSectionProgressBar.setTotalTime(this, mRecordSetting.getMaxRecordDuration()); + mSectionProgressBar.setProceedingSpeed(mRecordSpeed); } @Override diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoTranscodeActivity.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoTranscodeActivity.java index 2dd746a..d880ec0 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoTranscodeActivity.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoTranscodeActivity.java @@ -108,6 +108,14 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { } }); + ((AppCompatCheckBox) findViewById(R.id.cb_hw_encode)).setOnCheckedChangeListener((buttonView, isChecked) -> { + if (isChecked) { + mShortVideoTranscoder.setHWEncodeEnable(true); + } else { + mShortVideoTranscoder.setHWEncodeEnable(false); + } + }); + Intent intent = new Intent(); intent.setAction(Intent.ACTION_OPEN_DOCUMENT); intent.setType("video/*"); @@ -129,17 +137,17 @@ public boolean onOptionsItemSelected(MenuItem item) { @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - if (resultCode == Activity.RESULT_OK) { + if (resultCode == Activity.RESULT_OK && data.getData() != null) { if (requestCode == REQUEST_MIX_AUDIO) { //增加混音文件 - String selectedFilepath = GetPathFromUri.getPath(this, data.getData()); + String selectedFilepath = GetPathFromUri.getRealPathFromURI(this, data.getData()); Log.i(TAG, "Select mix audio file: " + selectedFilepath); if (!StringUtils.isNullOrEmpty(selectedFilepath)) { onMixAudioFileSelected(selectedFilepath); return; } } else { - String selectedFilepath = GetPathFromUri.getPath(this, data.getData()); + String selectedFilepath = GetPathFromUri.getRealPathFromURI(this, data.getData()); Log.i(TAG, "Select file: " + selectedFilepath); if (!StringUtils.isNullOrEmpty(selectedFilepath)) { onVideoFileSelected(selectedFilepath); diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoTrimActivity.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoTrimActivity.java index 4f5a13c..360d06b 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoTrimActivity.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/activity/VideoTrimActivity.java @@ -158,8 +158,14 @@ private void adjustSurfaceSize() { windowManager.getDefaultDisplay().getMetrics(outMetrics); int screenWidth = outMetrics.widthPixels; - int videoWidth = mMediaFile.getVideoWidth(); - int videoHeight = mMediaFile.getVideoHeight(); + int videoWidth, videoHeight; + if (mMediaFile.getVideoRotation() / 90 % 2 == 1) { + videoWidth = mMediaFile.getVideoHeight(); + videoHeight = mMediaFile.getVideoWidth(); + } else { + videoWidth = mMediaFile.getVideoWidth(); + videoHeight = mMediaFile.getVideoHeight(); + } float videoAspectRatio = (float) videoWidth / videoHeight; int displayWidth = 0, displayHeight = 0; if (videoAspectRatio < 1) { @@ -294,8 +300,8 @@ private void updateHandlerRightPosition(float movedPosition) { @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - if (resultCode == Activity.RESULT_OK) { - String selectedFilepath = GetPathFromUri.getPath(this, data.getData()); + if (resultCode == Activity.RESULT_OK && data.getData() != null) { + String selectedFilepath = GetPathFromUri.getRealPathFromURI(this, data.getData()); Log.i(TAG, "Select file: " + selectedFilepath); if (selectedFilepath != null && !"".equals(selectedFilepath)) { init(selectedFilepath); diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/utils/GetPathFromUri.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/utils/GetPathFromUri.java index 1cc5ec3..36516cf 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/utils/GetPathFromUri.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/utils/GetPathFromUri.java @@ -5,74 +5,167 @@ import android.content.Context; import android.database.Cursor; import android.net.Uri; -import android.os.Build; import android.os.Environment; import android.provider.DocumentsContract; import android.provider.MediaStore; +import android.provider.OpenableColumns; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStream; public class GetPathFromUri { @SuppressLint("NewApi") - public static String getPath(final Context context, final Uri uri) { - - final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT; - - // DocumentProvider - if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) { - // ExternalStorageProvider + public static String getRealPathFromURI(final Context context, final Uri uri) { + if (DocumentsContract.isDocumentUri(context, uri)) { if (isExternalStorageDocument(uri)) { final String docId = DocumentsContract.getDocumentId(uri); final String[] split = docId.split(":"); final String type = split[0]; - if ("primary".equalsIgnoreCase(type)) { - return Environment.getExternalStorageState() + "/" + split[1]; + return Environment.getExternalStorageDirectory() + "/" + split[1]; + } else { + return getFilePathFromContentUri(uri, context); } - - // TODO handle non-primary volumes - if ("5D68-9217".equalsIgnoreCase(type)) { - return Environment.getExternalStorageState() + "/" + split[1]; + } else if (isDownloadsDocument(uri)) { + String fileName = getFilePath(context, uri); + if (fileName != null) { + return Environment.getExternalStorageDirectory().toString() + "/Download/" + fileName; } - } - // DownloadsProvider - else if (isDownloadsDocument(uri)) { - - final String id = DocumentsContract.getDocumentId(uri); - final Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(id)); + String id = DocumentsContract.getDocumentId(uri); + if (id.startsWith("raw:")) { + id = id.replaceFirst("raw:", ""); + File file = new File(id); + if (file.exists()) { + return id; + } + } + final Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.parseLong(id)); return getDataColumn(context, contentUri, null, null); - } - // MediaProvider - else if (isMediaDocument(uri)) { - final String docId = DocumentsContract.getDocumentId(uri); - final String[] split = docId.split(":"); - final String type = split[0]; - - Uri contentUri = null; - if ("image".equals(type)) { - contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; - } else if ("video".equals(type)) { - contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI; - } else if ("audio".equals(type)) { - contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; + } else if (isMediaDocument(uri)) { + // MediaProvider + try { + String docId = DocumentsContract.getDocumentId(uri); + String[] split = docId.split(":"); + String type = split[0]; + Uri contentUri = null; + if ("image".equals(type)) { + contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; + } + String selection = "_id=?"; + String[] selectionArgs = new String[]{split[1]}; + return getDataColumn(context, contentUri, selection, selectionArgs); + } catch (Exception e) { + String fileName = getFilePath(context, uri); + if (fileName != null) { + String file = Environment.getExternalStorageDirectory().toString() + "/Download/" + fileName; + File file1 = new File(file); + if (file1.exists()) { + return file; + } else { + file = copyFileToInternalStorage(context, uri, "userfiles"); + return file; + } + } } + } else { + return getFilePathFromContentUri(uri, context); + } + } else if ("content".equalsIgnoreCase(uri.getScheme())) { + return getDataColumn(context, uri, null, null); + } else if ("file".equalsIgnoreCase(uri.getScheme())) { + return uri.getPath(); + } + return null; + } - final String selection = "_id=?"; - final String[] selectionArgs = new String[]{split[1]}; + public static String getFilePath(Context context, Uri uri) { + final String[] projection = { + MediaStore.MediaColumns.DISPLAY_NAME + }; + try (Cursor cursor = context.getContentResolver().query(uri, projection, null, null, null)) { + if (cursor != null && cursor.moveToFirst()) { + final int index = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DISPLAY_NAME); + return cursor.getString(index); + } + } + return null; + } - return getDataColumn(context, contentUri, selection, selectionArgs); + private static String copyFileToInternalStorage(Context context, Uri uri, String newDirName) { + Cursor returnCursor = context.getContentResolver().query(uri, new String[]{ + OpenableColumns.DISPLAY_NAME, OpenableColumns.SIZE + }, null, null, null); + /* + * Get the column indexes of the data in the Cursor, + * * move to the first row in the Cursor, get the data, + * * and display it. + * */ + int nameIndex = returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME); + returnCursor.moveToFirst(); + String name = (returnCursor.getString(nameIndex)); + File output; + if (!newDirName.equals("")) { + File dir = new File(context.getFilesDir() + "/" + newDirName); + if (!dir.exists()) { + dir.mkdir(); } + output = new File(context.getFilesDir() + "/" + newDirName + "/" + name); + } else { + output = new File(context.getFilesDir() + "/" + name); } - // MediaStore (and general) - else if ("content".equalsIgnoreCase(uri.getScheme())) { - return getDataColumn(context, uri, null, null); + try { + InputStream inputStream = context.getContentResolver().openInputStream(uri); + FileOutputStream outputStream = new FileOutputStream(output); + int read = 0; + int bufferSize = 1024; + final byte[] buffers = new byte[bufferSize]; + while ((read = inputStream.read(buffers)) != -1) { + outputStream.write(buffers, 0, read); + } + inputStream.close(); + outputStream.close(); + } catch (Exception e) { + e.printStackTrace(); } - // File - else if ("file".equalsIgnoreCase(uri.getScheme())) { - return uri.getPath(); + return output.getPath(); + } + + public static String getFilePathFromContentUri(Uri uri, Context context) { + String filePath; + Uri contentUri = null; + String id; + try { + id = DocumentsContract.getDocumentId(uri); + } catch (IllegalArgumentException e) { + id = ""; + e.printStackTrace(); + } + if (!id.isEmpty()) { + boolean numeric = id.matches("-?\\d+(\\.\\d+)?"); + if (numeric) { + contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.parseLong(id)); + } + } else { + contentUri = uri; } - return null; + String[] projection = {MediaStore.Files.FileColumns.DATA}; + Cursor cursor = null; + if (contentUri != null) { + cursor = context.getContentResolver().query(contentUri, projection, null, null, null); + } + if (cursor != null) { + cursor.moveToFirst(); + int column_index = cursor.getColumnIndexOrThrow(projection[0]); + filePath = cursor.getString(column_index); + cursor.close(); + } else { + filePath = uri.getPath(); + } + return filePath; } /** @@ -86,7 +179,6 @@ else if ("file".equalsIgnoreCase(uri.getScheme())) { * @return The value of the _data column, which is typically a file path. */ public static String getDataColumn(Context context, Uri uri, String selection, String[] selectionArgs) { - Cursor cursor = null; final String column = "_data"; final String[] projection = {column}; diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/view/SectionProgressBar.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/view/SectionProgressBar.java index 1c493fa..fbd1a5d 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/view/SectionProgressBar.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/view/SectionProgressBar.java @@ -1,12 +1,10 @@ package com.qiniu.pili.droid.shortvideo.demo.view; -import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; -import android.util.DisplayMetrics; import android.view.View; import java.util.LinkedList; @@ -126,7 +124,7 @@ private void init(Context paramContext) { mBreakPointPaint.setStyle(Paint.Style.FILL); mBreakPointPaint.setColor(Color.parseColor("#000000")); - setTotalTime(paramContext, DEFAULT_TOTAL_TIME); + setTotalTime(DEFAULT_TOTAL_TIME); } /** @@ -149,17 +147,15 @@ public void setFirstPointTime(long millisecond) { /** * Sets total time in millisecond * - * @param context the context * @param millisecond the millisecond */ - public void setTotalTime(Context context, long millisecond) { + public void setTotalTime(long millisecond) { mTotalTime = millisecond; - DisplayMetrics dm = new DisplayMetrics(); - ((Activity) context).getWindowManager().getDefaultDisplay().getMetrics(dm); - mPixelUnit = dm.widthPixels / mTotalTime; - - mPixelsPerMilliSecond = mPixelUnit; + if (getWidth() != 0) { + mPixelUnit = getWidth() / mTotalTime; + mPixelsPerMilliSecond = mPixelUnit; + } } /** @@ -208,6 +204,7 @@ protected void onDraw(Canvas canvas) { if (!mBreakPointInfoList.isEmpty()) { float lastTime = 0; int color = mProgressBarPaint.getColor(); + mProgressBarPaint.setColor(color); for (BreakPointInfo info : mBreakPointInfoList) { mProgressBarPaint.setColor(info.getColor()); float left = startPoint; @@ -217,7 +214,6 @@ protected void onDraw(Canvas canvas) { startPoint += DEFAULT_BREAK_POINT_WIDTH; lastTime = info.getTime(); } - mProgressBarPaint.setColor(color); } // draw the first point @@ -254,6 +250,14 @@ protected void onDraw(Canvas canvas) { invalidate(); } + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + int widthSize = MeasureSpec.getSize(widthMeasureSpec); + mPixelUnit = widthSize / mTotalTime; + mPixelsPerMilliSecond = mPixelUnit; + } + private class BreakPointInfo { private long mTime; private int mColor; diff --git a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/view/sticker/StickerTextView.java b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/view/sticker/StickerTextView.java index 2c50bd7..bb7ea3f 100644 --- a/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/view/sticker/StickerTextView.java +++ b/ShortVideoFunctionDemo/app/src/main/java/com/qiniu/pili/droid/shortvideo/demo/view/sticker/StickerTextView.java @@ -174,6 +174,7 @@ public class StickerTextView extends PLTextView { * 文字相关 */ private final Paint mTextPaint = new Paint(); + private final Paint mStrokePaint = new Paint(); private float mTextWidth; private float mTextHeight; //文字的 X 、 Y 坐标 @@ -229,6 +230,12 @@ private void init() { mTextPaint.setTypeface(getTypeface()); mTextPaint.setAlpha((int) (getAlpha() * 255)); + mStrokePaint.setAntiAlias(true); + mStrokePaint.setStyle(Paint.Style.STROKE); + mStrokePaint.setTextSize(getTextSize()); + mStrokePaint.setTypeface(getTypeface()); + mStrokePaint.setAlpha((int) (getAlpha() * 255)); + if (mControlDrawable == null) { mControlDrawable = getContext().getResources().getDrawable(R.drawable.ic_rotation); } @@ -250,8 +257,15 @@ private void init() { mEditDrawableWidth = mEditDrawable.getIntrinsicWidth(); mEditDrawableHeight = mEditDrawable.getIntrinsicHeight(); - mTextWidth = mTextPaint.measureText(getText().toString()); - mTextHeight = mTextPaint.descent() - mTextPaint.ascent(); + String[] strings = getText().toString().split("\n"); + mTextWidth = 0; + for (String s : strings) { + float width = mTextPaint.measureText(s); + if (width > mTextWidth) { + mTextWidth = width; + } + } + mTextHeight = (mTextPaint.descent() - mTextPaint.ascent()) * strings.length; transformDraw(); } @@ -305,7 +319,18 @@ protected void onDraw(Canvas canvas) { canvas.save(); canvas.translate(mLTPoint.x, mLTPoint.y); canvas.rotate(mDegree); - canvas.drawText(getText().toString(), 0, mTextHeight - mTextPaint.descent(), mTextPaint); + + float singleHeight = mTextPaint.descent() - mTextPaint.ascent(); + float yPostion = singleHeight - mTextPaint.descent(); + String[] strings = getText().toString().split("\n"); + for (String s : strings) { + if (mStrokePaint.getStrokeWidth() != 0) { + canvas.drawText(s, 0, yPostion, mStrokePaint); + } + canvas.drawText(s, 0, yPostion, mTextPaint); + yPostion += singleHeight; + } + canvas.restore(); adjustLayout(); @@ -381,6 +406,7 @@ public boolean onTouchEvent(MotionEvent event) { mDegree = mDegree + newDegree; mTextPaint.setTextSize(getTextSize() * mScale); + mStrokePaint.setTextSize(getTextSize() * mScale); transformDraw(); } else if (mStatus == STATUS_DRAG) { // 修改中心点 @@ -413,8 +439,9 @@ protected void onLayout(boolean changed, int left, int top, int right, int botto @Override public void setTypeface(Typeface tf) { super.setTypeface(tf); - if (mTextPaint != null) { + if (mTextPaint != null && mStrokePaint != null) { mTextPaint.setTypeface(tf); + mStrokePaint.setTypeface(tf); transformDraw(); } } @@ -422,7 +449,7 @@ public void setTypeface(Typeface tf) { @Override public void setTextColor(int color) { super.setTextColor(color); - if (mTextPaint != null) { + if (mTextPaint != null && mStrokePaint != null) { mTextPaint.setColor(color); invalidate(); } @@ -431,7 +458,7 @@ public void setTextColor(int color) { @Override public void setShadowLayer(float shadowRadius, float shadowDx, float shadowDy, int shadowColor) { super.setShadowLayer(shadowRadius, shadowDx, shadowDy, shadowColor); - if (mTextPaint != null) { + if (mTextPaint != null && mStrokePaint != null) { mTextPaint.setShadowLayer(shadowRadius, shadowDx, shadowDy, shadowColor); invalidate(); } @@ -440,12 +467,23 @@ public void setShadowLayer(float shadowRadius, float shadowDx, float shadowDy, i @Override public void setAlpha(float alpha) { super.setAlpha(alpha); - if (mTextPaint != null) { + if (mTextPaint != null && mStrokePaint != null) { mTextPaint.setAlpha((int) (alpha * 255)); + mStrokePaint.setAlpha((int) (alpha * 255)); invalidate(); } } + public void setStrokeColor(int color) { + mStrokePaint.setColor(color); + invalidate(); + } + + public void setStrokeWidth(float width) { + mStrokePaint.setStrokeWidth(width); + invalidate(); + } + @Override public void setSelected(boolean isEditable) { this.mIsEditable = isEditable; @@ -484,8 +522,15 @@ private void adjustLayout() { */ private void transformDraw() { //测量文字宽高 - mTextWidth = mTextPaint.measureText(getText().toString()); - mTextHeight = mTextPaint.descent() - mTextPaint.ascent(); + String[] strings = getText().toString().split("\n"); + mTextWidth = 0; + for (String s : strings) { + float width = mTextPaint.measureText(s); + if (width > mTextWidth) { + mTextWidth = width; + } + } + mTextHeight = (mTextPaint.descent() - mTextPaint.ascent()) * strings.length; //计算旋转后的矩形位置和宽高 computeRect(mFramePadding, mFramePadding, (int) mTextWidth + mFramePadding, (int) mTextHeight + mFramePadding, mDegree); //调整布局 diff --git a/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libQPlayer.so b/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libQPlayer.so index c95b6e2..a2c8206 100755 Binary files a/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libQPlayer.so and b/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libQPlayer.so differ diff --git a/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_amix.so b/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_amix.so index 2357126..c54c838 100755 Binary files a/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_amix.so and b/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_amix.so differ diff --git a/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_beauty.so b/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_beauty.so index 5e65e6a..8b3a9c2 100755 Binary files a/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_beauty.so and b/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_beauty.so differ diff --git a/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_encoder.so b/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_encoder.so index e0c022b..24b2223 100755 Binary files a/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_encoder.so and b/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_encoder.so differ diff --git a/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_shortvideo_core.so b/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_shortvideo_core.so index caae00b..c09336b 100755 Binary files a/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_shortvideo_core.so and b/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_shortvideo_core.so differ diff --git a/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libqcOpenSSL.so b/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libqcOpenSSL.so index a073ab6..f62f934 100755 Binary files a/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libqcOpenSSL.so and b/ShortVideoFunctionDemo/app/src/main/jniLibs/armeabi-v7a/libqcOpenSSL.so differ diff --git a/ShortVideoFunctionDemo/app/src/main/assets/filters/none.png b/ShortVideoFunctionDemo/app/src/main/res/drawable/filter_none.png similarity index 100% rename from ShortVideoFunctionDemo/app/src/main/assets/filters/none.png rename to ShortVideoFunctionDemo/app/src/main/res/drawable/filter_none.png diff --git a/ShortVideoFunctionDemo/app/src/main/res/layout/activity_main.xml b/ShortVideoFunctionDemo/app/src/main/res/layout/activity_main.xml index cbe8867..0614af8 100644 --- a/ShortVideoFunctionDemo/app/src/main/res/layout/activity_main.xml +++ b/ShortVideoFunctionDemo/app/src/main/res/layout/activity_main.xml @@ -92,7 +92,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="1dp" - android:onClick="onClickImageCompose2" + android:onClick="onClickImageComposeWithTransition" app:text="图片拼接(预览+转场)" /> + + + android:layout_height="wrap_content"> Testing documentation - */ -@RunWith(AndroidJUnit4.class) -public class ExampleInstrumentedTest { - @Test - public void useAppContext() { - // Context of the app under test. - Context appContext = InstrumentationRegistry.getTargetContext(); - - assertEquals("com.example.tusdkdemohelper.test", appContext.getPackageName()); - } -} diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/TuSDKEditorBarFragment.java b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/TuSDKEditorBarFragment.java index 34debec..02ecf32 100644 --- a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/TuSDKEditorBarFragment.java +++ b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/TuSDKEditorBarFragment.java @@ -11,12 +11,12 @@ import android.content.DialogInterface; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.annotation.UiThread; -import android.support.v4.app.Fragment; -import android.support.v4.view.ViewPager; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.Nullable; +import androidx.annotation.UiThread; +import androidx.fragment.app.Fragment; +import androidx.viewpager.widget.ViewPager; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/BeautyPlasticRecyclerAdapter.java b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/BeautyPlasticRecyclerAdapter.java index 23ed03a..95622fc 100644 --- a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/BeautyPlasticRecyclerAdapter.java +++ b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/BeautyPlasticRecyclerAdapter.java @@ -1,7 +1,7 @@ package org.lasque.tusdkdemohelper.tusdk; import android.content.Context; -import android.support.v7.widget.RecyclerView; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/BeautyRecyclerAdapter.java b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/BeautyRecyclerAdapter.java index 4e67f53..79da6fb 100644 --- a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/BeautyRecyclerAdapter.java +++ b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/BeautyRecyclerAdapter.java @@ -1,7 +1,7 @@ package org.lasque.tusdkdemohelper.tusdk; import android.content.Context; -import android.support.v7.widget.RecyclerView; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/FilterRecyclerAdapter.java b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/FilterRecyclerAdapter.java index 1d8a5c5..1b86c8f 100644 --- a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/FilterRecyclerAdapter.java +++ b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/FilterRecyclerAdapter.java @@ -1,7 +1,7 @@ package org.lasque.tusdkdemohelper.tusdk; import android.graphics.Bitmap; -import android.support.v7.widget.RecyclerView; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/MonsterFaceFragment.java b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/MonsterFaceFragment.java index 2bc1aed..f8040aa 100644 --- a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/MonsterFaceFragment.java +++ b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/MonsterFaceFragment.java @@ -12,10 +12,10 @@ import android.graphics.Rect; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v4.app.Fragment; -import android.support.v7.widget.GridLayoutManager; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/MonsterFaceRecyclerAdapter.java b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/MonsterFaceRecyclerAdapter.java index e6d93a0..4ca3986 100644 --- a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/MonsterFaceRecyclerAdapter.java +++ b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/MonsterFaceRecyclerAdapter.java @@ -1,9 +1,8 @@ package org.lasque.tusdkdemohelper.tusdk; -import android.app.AlertDialog; import android.content.Context; -import android.content.DialogInterface; -import android.support.v7.widget.RecyclerView; + +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -12,12 +11,7 @@ import android.view.animation.RotateAnimation; import android.widget.ImageView; -import com.bumptech.glide.Glide; - import org.lasque.tusdk.core.TuSdkContext; -import org.lasque.tusdk.core.secret.TuSDKOnlineStickerDownloader; -import org.lasque.tusdk.core.type.DownloadTaskStatus; -import org.lasque.tusdk.modules.view.widget.sticker.StickerLocalPackage; import org.lasque.tusdkdemohelper.tusdk.model.PropsItemMonster; import java.util.ArrayList; diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/StickerFragment.java b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/StickerFragment.java index 8bb758e..ea70172 100644 --- a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/StickerFragment.java +++ b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/StickerFragment.java @@ -2,10 +2,10 @@ import android.graphics.Rect; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v4.app.Fragment; -import android.support.v7.widget.GridLayoutManager; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/StickerRecyclerAdapter.java b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/StickerRecyclerAdapter.java index 782cdaa..8b2fc45 100644 --- a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/StickerRecyclerAdapter.java +++ b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/StickerRecyclerAdapter.java @@ -3,7 +3,7 @@ import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; -import android.support.v7.widget.RecyclerView; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -13,7 +13,6 @@ import android.widget.ImageView; import com.bumptech.glide.Glide; -import com.bumptech.glide.request.RequestOptions; import org.lasque.tusdk.core.TuSdkContext; import org.lasque.tusdk.core.secret.TuSDKOnlineStickerDownloader; diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/TabPagerIndicator.java b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/TabPagerIndicator.java index c169419..650bc18 100644 --- a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/TabPagerIndicator.java +++ b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/TabPagerIndicator.java @@ -6,8 +6,8 @@ import android.graphics.Color; import android.graphics.Paint; import android.graphics.Typeface; -import android.support.annotation.Nullable; -import android.support.v4.view.ViewPager; +import androidx.annotation.Nullable; +import androidx.viewpager.widget.ViewPager; import android.util.AttributeSet; import android.util.DisplayMetrics; import android.util.TypedValue; diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/TabViewPagerAdapter.java b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/TabViewPagerAdapter.java index 4b9b6ed..dfd491a 100644 --- a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/TabViewPagerAdapter.java +++ b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/java/org/lasque/tusdkdemohelper/tusdk/TabViewPagerAdapter.java @@ -1,8 +1,8 @@ package org.lasque.tusdkdemohelper.tusdk; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentPagerAdapter; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentPagerAdapter; import java.util.List; diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/arm64-v8a/libtusdk-face.so b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/arm64-v8a/libtusdk-face.so deleted file mode 100644 index 4402aa1..0000000 Binary files a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/arm64-v8a/libtusdk-face.so and /dev/null differ diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/arm64-v8a/libtusdk-library.so b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/arm64-v8a/libtusdk-library.so deleted file mode 100644 index 8975298..0000000 Binary files a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/arm64-v8a/libtusdk-library.so and /dev/null differ diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/arm64-v8a/libtusdk-video.so b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/arm64-v8a/libtusdk-video.so deleted file mode 100644 index 2e8a326..0000000 Binary files a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/arm64-v8a/libtusdk-video.so and /dev/null differ diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/armeabi/libtusdk-face.so b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/armeabi/libtusdk-face.so deleted file mode 100644 index ad0cf51..0000000 Binary files a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/armeabi/libtusdk-face.so and /dev/null differ diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/armeabi/libtusdk-library.so b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/armeabi/libtusdk-library.so deleted file mode 100644 index c0cd3fc..0000000 Binary files a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/armeabi/libtusdk-library.so and /dev/null differ diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/armeabi/libtusdk-video.so b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/armeabi/libtusdk-video.so deleted file mode 100644 index 8a3dc48..0000000 Binary files a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/armeabi/libtusdk-video.so and /dev/null differ diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/mips/libtusdk-face.so b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/mips/libtusdk-face.so deleted file mode 100644 index d082056..0000000 Binary files a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/mips/libtusdk-face.so and /dev/null differ diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/mips/libtusdk-library.so b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/mips/libtusdk-library.so deleted file mode 100644 index 927efa8..0000000 Binary files a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/mips/libtusdk-library.so and /dev/null differ diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/mips/libtusdk-video.so b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/mips/libtusdk-video.so deleted file mode 100644 index 5996c50..0000000 Binary files a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/mips/libtusdk-video.so and /dev/null differ diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/mips64/libtusdk-face.so b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/mips64/libtusdk-face.so deleted file mode 100644 index 3b919ec..0000000 Binary files a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/mips64/libtusdk-face.so and /dev/null differ diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/mips64/libtusdk-library.so b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/mips64/libtusdk-library.so deleted file mode 100644 index d45ff52..0000000 Binary files a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/mips64/libtusdk-library.so and /dev/null differ diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/mips64/libtusdk-video.so b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/mips64/libtusdk-video.so deleted file mode 100644 index 52ae998..0000000 Binary files a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/mips64/libtusdk-video.so and /dev/null differ diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/x86/libtusdk-face.so b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/x86/libtusdk-face.so deleted file mode 100644 index ba9f94a..0000000 Binary files a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/x86/libtusdk-face.so and /dev/null differ diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/x86/libtusdk-library.so b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/x86/libtusdk-library.so deleted file mode 100644 index 2ccb5a4..0000000 Binary files a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/x86/libtusdk-library.so and /dev/null differ diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/x86/libtusdk-video.so b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/x86/libtusdk-video.so deleted file mode 100644 index 301ba8b..0000000 Binary files a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/x86/libtusdk-video.so and /dev/null differ diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/x86_64/libtusdk-face.so b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/x86_64/libtusdk-face.so deleted file mode 100644 index 4703596..0000000 Binary files a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/x86_64/libtusdk-face.so and /dev/null differ diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/x86_64/libtusdk-library.so b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/x86_64/libtusdk-library.so deleted file mode 100644 index 45ae3e1..0000000 Binary files a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/x86_64/libtusdk-library.so and /dev/null differ diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/x86_64/libtusdk-video.so b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/x86_64/libtusdk-video.so deleted file mode 100644 index d9443de..0000000 Binary files a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/jniLibs/x86_64/libtusdk-video.so and /dev/null differ diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_cartoon_list_view.xml b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_cartoon_list_view.xml index 378e634..eab5349 100644 --- a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_cartoon_list_view.xml +++ b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_cartoon_list_view.xml @@ -12,7 +12,7 @@ android:layout_height="95dp" android:orientation="horizontal"> - - + diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_filter_list_config_view.xml b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_filter_list_config_view.xml index 23545d9..4bbcd96 100644 --- a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_filter_list_config_view.xml +++ b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_filter_list_config_view.xml @@ -20,7 +20,7 @@ android:layout_below="@id/lsq_filter_config_view" android:orientation="horizontal"> - - + diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_record_beauty_wrap_layout.xml b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_record_beauty_wrap_layout.xml index b9989b1..bfbb2cf 100644 --- a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_record_beauty_wrap_layout.xml +++ b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_record_beauty_wrap_layout.xml @@ -25,7 +25,7 @@ android:orientation="vertical" android:background="@color/lsq_color_semitransparent"> - - + \ No newline at end of file diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_record_sticker_layout.xml b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_record_sticker_layout.xml index 34d8292..2dbab87 100644 --- a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_record_sticker_layout.xml +++ b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_record_sticker_layout.xml @@ -34,12 +34,12 @@ android:layout_width="match_parent" android:layout_height="0.2dp" android:background="#26FFFFFF"/> - - + \ No newline at end of file diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_sticker_listview_layout.xml b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_sticker_listview_layout.xml index a700d3e..8aee937 100644 --- a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_sticker_listview_layout.xml +++ b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/main/res/layout/tusdk_sticker_listview_layout.xml @@ -1,5 +1,5 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/test/java/com/example/tusdkdemohelper/ExampleUnitTest.java b/ShortVideoUIDemo/TuSDKFilterEngineModule/src/test/java/com/example/tusdkdemohelper/ExampleUnitTest.java deleted file mode 100644 index 6d355bc..0000000 --- a/ShortVideoUIDemo/TuSDKFilterEngineModule/src/test/java/com/example/tusdkdemohelper/ExampleUnitTest.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.example.tusdkdemohelper; - -import org.junit.Test; - -import static org.junit.Assert.*; - -/** - * Example local unit test, which will execute on the development machine (host). - * - * @see Testing documentation - */ -public class ExampleUnitTest { - @Test - public void addition_isCorrect() { - assertEquals(4, 2 + 2); - } -} \ No newline at end of file diff --git a/ShortVideoUIDemo/app/build.gradle b/ShortVideoUIDemo/app/build.gradle index 542a2f1..ce0cefe 100644 --- a/ShortVideoUIDemo/app/build.gradle +++ b/ShortVideoUIDemo/app/build.gradle @@ -8,7 +8,7 @@ android { targetSdkVersion 28 versionCode 2 versionName "2.0" - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' vectorDrawables.useSupportLibrary = true ndk { abiFilters 'armeabi-v7a' @@ -20,19 +20,23 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + compileOptions { + sourceCompatibility 1.8 + targetCompatibility 1.8 + } } dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation project(':faceunity') implementation project(':TuSDKFilterEngineModule') - implementation 'com.android.support:appcompat-v7:28.0.0' - implementation 'com.android.support.constraint:constraint-layout:1.1.3' + implementation 'androidx.appcompat:appcompat:1.0.0' + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'com.youth.banner:banner:1.4.10' testImplementation 'junit:junit:4.12' - androidTestImplementation 'com.android.support.test:runner:1.0.2' - androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' - implementation 'com.android.support:design:28.0.0' + androidTestImplementation 'androidx.test.ext:junit:1.1.1' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0' + implementation 'com.google.android.material:material:1.0.0' implementation 'com.github.bumptech.glide:glide:4.9.0' implementation 'com.makeramen:roundedimageview:2.3.0' } diff --git a/ShortVideoUIDemo/app/libs/pldroid-player-2.1.7.jar b/ShortVideoUIDemo/app/libs/pldroid-player-2.1.7.jar deleted file mode 100644 index bc317ac..0000000 Binary files a/ShortVideoUIDemo/app/libs/pldroid-player-2.1.7.jar and /dev/null differ diff --git a/ShortVideoUIDemo/app/libs/pldroid-player-2.2.6.jar b/ShortVideoUIDemo/app/libs/pldroid-player-2.2.6.jar new file mode 100644 index 0000000..9bf7ef8 Binary files /dev/null and b/ShortVideoUIDemo/app/libs/pldroid-player-2.2.6.jar differ diff --git a/ShortVideoUIDemo/app/libs/pldroid-shortvideo-3.2.1.jar b/ShortVideoUIDemo/app/libs/pldroid-shortvideo-3.2.1.jar deleted file mode 100644 index 2bdc8bc..0000000 Binary files a/ShortVideoUIDemo/app/libs/pldroid-shortvideo-3.2.1.jar and /dev/null differ diff --git a/ShortVideoUIDemo/app/libs/pldroid-shortvideo-3.3.0.jar b/ShortVideoUIDemo/app/libs/pldroid-shortvideo-3.3.0.jar new file mode 100644 index 0000000..1250f66 Binary files /dev/null and b/ShortVideoUIDemo/app/libs/pldroid-shortvideo-3.3.0.jar differ diff --git a/ShortVideoUIDemo/app/release/output.json b/ShortVideoUIDemo/app/release/output.json new file mode 100644 index 0000000..6962233 --- /dev/null +++ b/ShortVideoUIDemo/app/release/output.json @@ -0,0 +1 @@ +[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":2,"versionName":"2.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}] \ No newline at end of file diff --git a/ShortVideoUIDemo/app/src/androidTest/java/com/qiniu/pili/droid/niupai/ExampleInstrumentedTest.java b/ShortVideoUIDemo/app/src/androidTest/java/com/qiniu/pili/droid/niupai/ExampleInstrumentedTest.java deleted file mode 100644 index d4bb381..0000000 --- a/ShortVideoUIDemo/app/src/androidTest/java/com/qiniu/pili/droid/niupai/ExampleInstrumentedTest.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.qiniu.pili.droid.niupai; - -import android.content.Context; -import android.support.test.InstrumentationRegistry; -import android.support.test.runner.AndroidJUnit4; - -import org.junit.Test; -import org.junit.runner.RunWith; - -import static org.junit.Assert.*; - -/** - * Instrumented test, which will execute on an Android device. - * - * @see Testing documentation - */ -@RunWith(AndroidJUnit4.class) -public class ExampleInstrumentedTest { - @Test - public void useAppContext() { - // Context of the app under test. - Context appContext = InstrumentationRegistry.getTargetContext(); - - assertEquals("com.qiniu.pili.droid.niupai", appContext.getPackageName()); - } -} diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/ChooseMusicActivity.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/ChooseMusicActivity.java index 1dc13b5..4835739 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/ChooseMusicActivity.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/ChooseMusicActivity.java @@ -5,14 +5,12 @@ import android.os.Bundle; import android.os.Handler; import android.os.Looper; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.DividerItemDecoration; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.view.View; -import android.view.Window; -import android.view.WindowManager; import com.qiniu.shortvideo.app.R; import com.qiniu.shortvideo.app.adapter.ChooseMusicAdapter; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/ConfigActivity.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/ConfigActivity.java index 6441a4a..d14eadc 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/ConfigActivity.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/ConfigActivity.java @@ -1,7 +1,7 @@ package com.qiniu.shortvideo.app.activity; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/MainActivity.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/MainActivity.java index f3ab5db..a28c0ad 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/MainActivity.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/MainActivity.java @@ -3,7 +3,7 @@ import android.content.Intent; import android.content.res.TypedArray; import android.os.Build; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.Window; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/MediaSelectActivity.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/MediaSelectActivity.java index 073d106..a5db790 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/MediaSelectActivity.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/MediaSelectActivity.java @@ -3,11 +3,11 @@ import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.GridLayoutManager; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.view.View; import com.qiniu.pili.droid.shortvideo.PLComposeItem; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/PlaybackActivity.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/PlaybackActivity.java index dea4413..79ba3e1 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/PlaybackActivity.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/PlaybackActivity.java @@ -6,7 +6,7 @@ import android.content.pm.ActivityInfo; import android.media.MediaPlayer; import android.os.Bundle; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import android.util.DisplayMetrics; import android.util.Log; import android.view.SurfaceHolder; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoEditActivity.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoEditActivity.java index 37f2ab4..000db49 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoEditActivity.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoEditActivity.java @@ -9,9 +9,9 @@ import android.opengl.GLSurfaceView; import android.os.AsyncTask; import android.os.Bundle; -import android.support.annotation.IntDef; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.IntDef; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.view.ViewGroup; @@ -236,6 +236,12 @@ protected void onResume() { super.onResume(); startTimerTask(); updatePlayStatus(true); + findViewById(R.id.next_btn).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + saveVideo(); + } + }); } @Override @@ -294,7 +300,7 @@ public void onClickBack(View v) { finish(); } - public void onClickSaveEdit(View v) { + public void saveVideo() { updatePlayStatus(false); cancelTimerTask(); @@ -1024,9 +1030,10 @@ public void onClick(View v) { @Override public void onSaveVideoSuccess(String filePath) { Log.i(TAG, "save edit success filePath: " + filePath); - MediaUtils.storeVideo(this, new File(filePath), Config.MIME_TYPE_VIDEO); + File dstFile = new File(Config.VIDEO_PUBLIC_STORAGE_DIR, System.currentTimeMillis() + "_" + (new File(filePath).getName())); + MediaUtils.storeVideo(this, new File(filePath), dstFile, Config.MIME_TYPE_VIDEO); mProcessingDialog.dismiss(); - PlaybackActivity.start(VideoEditActivity.this, filePath); + PlaybackActivity.start(VideoEditActivity.this, dstFile.getAbsolutePath()); } @Override diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoMixRecordActivity.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoMixRecordActivity.java index bc7f148..7050943 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoMixRecordActivity.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoMixRecordActivity.java @@ -7,11 +7,11 @@ import android.opengl.GLSurfaceView; import android.os.Build; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.constraint.ConstraintLayout; -import android.support.constraint.Group; -import android.support.v7.app.AlertDialog; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.Nullable; +import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.constraintlayout.widget.Group; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AppCompatActivity; import android.text.SpannableString; import android.text.Spanned; import android.text.style.AbsoluteSizeSpan; @@ -299,6 +299,7 @@ private void init(String sampleVideoPath) { mVideoEncodeSetting.setPreferredEncodingSize(VIDEO_MIX_ENCODE_WIDTH, VIDEO_MIX_ENCODE_HEIGHT); mVideoEncodeSetting.setEncodingBitrate(2000 * 1000); mVideoEncodeSetting.setEncodingFps(30); + mVideoEncodeSetting.setDisplayMode(null); mAudioEncodeSetting = new PLAudioEncodeSetting(); mAudioEncodeSetting.setChannels(1); diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoPuzzleActivity.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoPuzzleActivity.java index 14289f4..fa2eb7d 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoPuzzleActivity.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoPuzzleActivity.java @@ -6,9 +6,9 @@ import android.graphics.Point; import android.graphics.Rect; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.constraint.ConstraintLayout; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.Nullable; +import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.appcompat.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.FrameLayout; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoPuzzleConfigActivity.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoPuzzleConfigActivity.java index 1472bad..867409a 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoPuzzleConfigActivity.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoPuzzleConfigActivity.java @@ -2,8 +2,8 @@ import android.content.Intent; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import android.view.View; import com.qiniu.shortvideo.app.R; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoRecordActivity.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoRecordActivity.java index 1b7f4eb..66954c7 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoRecordActivity.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoRecordActivity.java @@ -10,9 +10,9 @@ import android.opengl.GLSurfaceView; import android.os.Build; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.constraint.Group; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.Nullable; +import androidx.constraintlayout.widget.Group; +import androidx.appcompat.app.AppCompatActivity; import android.text.SpannableString; import android.text.Spanned; import android.text.style.AbsoluteSizeSpan; @@ -510,9 +510,7 @@ public void onFilterSelected(String filterName, String description) { } private PLCameraSetting.CAMERA_FACING_ID chooseCameraFacingId() { - if (PLCameraSetting.hasCameraFacing(PLCameraSetting.CAMERA_FACING_ID.CAMERA_FACING_3RD)) { - return PLCameraSetting.CAMERA_FACING_ID.CAMERA_FACING_3RD; - } else if (PLCameraSetting.hasCameraFacing(PLCameraSetting.CAMERA_FACING_ID.CAMERA_FACING_FRONT)) { + if (PLCameraSetting.hasCameraFacing(PLCameraSetting.CAMERA_FACING_ID.CAMERA_FACING_FRONT)) { return PLCameraSetting.CAMERA_FACING_ID.CAMERA_FACING_FRONT; } else { return PLCameraSetting.CAMERA_FACING_ID.CAMERA_FACING_BACK; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoTrimActivity.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoTrimActivity.java index c75463c..7750172 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoTrimActivity.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/VideoTrimActivity.java @@ -1,18 +1,21 @@ package com.qiniu.shortvideo.app.activity; +import static com.qiniu.shortvideo.app.activity.VideoMixRecordActivity.VIDEO_PATH; + import android.content.DialogInterface; import android.graphics.Bitmap; import android.graphics.Rect; import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.ViewTreeObserver; import android.widget.RelativeLayout; import android.widget.TextView; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; + import com.pili.pldroid.player.AVOptions; import com.pili.pldroid.player.PLOnCompletionListener; import com.pili.pldroid.player.PLOnErrorListener; @@ -37,8 +40,6 @@ import java.util.Locale; import java.util.concurrent.TimeUnit; -import static com.qiniu.shortvideo.app.activity.VideoMixRecordActivity.VIDEO_PATH; - /** * 视频剪辑模块,包含了视频剪辑、区域剪裁以及旋转等功能 * @@ -165,6 +166,12 @@ public void run() { // 剪裁 + 旋转同时操作的情况下,会先进行剪裁再进行旋转,因此,剪裁的区域坐标应该换算 // 成 rotation = 0 的场景下的坐标,以防剪裁后的视频出现拉伸的现象 + int videoWidth = mMediaFile.getVideoWidth(); + int videoHeight = mMediaFile.getVideoHeight(); + if (mMediaFile.getVideoRotation() == 90 || mMediaFile.getVideoRotation() == 270) { + videoWidth = mMediaFile.getVideoHeight(); + videoHeight = mMediaFile.getVideoWidth(); + } if (mRotation == 0) { dstX = x; dstY = y; @@ -172,24 +179,36 @@ public void run() { dstHeight = height; } else if (mRotation == 90) { dstX = y; - dstY = mMediaFile.getVideoHeight() - x - width; + dstY = videoHeight - x - width; dstWidth = height; dstHeight = width; - } else if (mRotation == 180) { - dstX = mMediaFile.getVideoWidth() - x - width; - dstY = mMediaFile.getVideoHeight() - y - height; + } else if (mRotation == 180) { + dstX = videoWidth - x - width; + dstY = videoHeight - y - height; dstWidth = width; dstHeight = height; } else if (mRotation == 270) { - dstX = mMediaFile.getVideoWidth() - y - height; + dstX = videoWidth - y - height; dstY = x; dstWidth = height; dstHeight = width; } mShortVideoTranscoder.setClipArea(dstX, dstY, dstWidth, dstHeight); + if (mMediaFile.getVideoRotation() == 90 || mMediaFile.getVideoRotation() == 270) { + int swap = dstWidth; + dstWidth = dstHeight; + dstHeight = swap; + } + } else { + if ((mMediaFile.getVideoRotation() + mRotation) % 90 % 2 == 1) { + int swap = dstWidth; + dstWidth = dstHeight; + dstHeight = swap; + } } mIsTranscodingVideo = true; + mShortVideoTranscoder.setDisplayMode(null); mShortVideoTranscoder.transcode(dstWidth, dstHeight, mMediaFile.getVideoBitrate(), mRotation, new PLVideoSaveListener() { @Override @@ -400,7 +419,6 @@ private void updateLayoutParams() { mRealVideoHeight = mPreviewLayoutHeight; mRealVideoWidth = mRealVideoHeight * videoWidth / videoHeight; } - RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(mRealVideoWidth, mRealVideoHeight); lp.addRule(RelativeLayout.CENTER_IN_PARENT); mPreview.setLayoutParams(lp); @@ -408,7 +426,7 @@ private void updateLayoutParams() { } private boolean isNormalOrientation() { - return mRotation == 0 || mRotation == 180; + return (mRotation + mMediaFile.getVideoRotation()) / 90 % 2 == 0; } private boolean isCroppingVideo() { @@ -435,22 +453,22 @@ public void onCompletion() { } @Override - public boolean onError(int i) { - return false; + public void onPrepared(int preparedTime) { + } @Override - public void onInfo(int i, int i1) { + public void onVideoSizeChanged(int width, int height) { } @Override - public void onPrepared(int i) { - + public boolean onError(int errorCode, Object extraData) { + return false; } @Override - public void onVideoSizeChanged(int width, int height) { + public void onInfo(int what, int extra, Object extraData) { } } diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/WebDisplayActivity.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/WebDisplayActivity.java index 0053946..83796e7 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/WebDisplayActivity.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/activity/WebDisplayActivity.java @@ -3,8 +3,8 @@ import android.graphics.Bitmap; import android.os.Build; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; import android.view.View; import android.webkit.WebSettings; import android.webkit.WebView; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/ChooseMusicAdapter.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/ChooseMusicAdapter.java index e12df7b..bcdb140 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/ChooseMusicAdapter.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/ChooseMusicAdapter.java @@ -1,8 +1,8 @@ package com.qiniu.shortvideo.app.adapter; -import android.support.annotation.NonNull; -import android.support.constraint.Group; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.constraintlayout.widget.Group; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -37,7 +37,6 @@ public interface OnMusicClickListener { public ChooseMusicAdapter(ArrayList audioFiles) { mAudioFiles = audioFiles; - mAudioFiles.add(0, null); } public void setOnMusicClickListener(OnMusicClickListener listener) { @@ -80,63 +79,49 @@ public MusicViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewTyp public void onBindViewHolder(@NonNull final MusicViewHolder musicViewHolder, final int position) { final AudioFile audioFile = mAudioFiles.get(position); musicViewHolder.mMusicSelectView.setVisibility(View.GONE); - if (audioFile == null) { - musicViewHolder.mMusicNameText.setText(R.string.no_music); - musicViewHolder.mSingerText.setVisibility(View.GONE); - musicViewHolder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - musicViewHolder.mConfirmBtn.setVisibility(View.VISIBLE); - if (mOnMusicClickListener != null) { - mOnMusicClickListener.onMusicClicked(audioFile, position, false); - } - } - }); - } else { - musicViewHolder.mMusicNameText.setText(audioFile.getTitle()); - musicViewHolder.mSingerText.setText(audioFile.getSinger()); - musicViewHolder.mMusicWaveView.setMusicDuration(audioFile.getDuration()); - musicViewHolder.mMusicWaveView.setVideoDuration(mVideoDurationMs); - musicViewHolder.mMusicWaveView.layout(); - setDurationTxt(musicViewHolder, 0, audioFile.getDuration()); - musicViewHolder.mMusicSelectSlider.setRangeChangeListener(new RangeSlider.OnRangeChangeListener() { - @Override - public void onKeyDown(int type) { + musicViewHolder.mMusicNameText.setText(audioFile.getTitle()); + musicViewHolder.mSingerText.setText(audioFile.getSinger()); + musicViewHolder.mMusicWaveView.setMusicDuration(audioFile.getDuration()); + musicViewHolder.mMusicWaveView.setVideoDuration(mVideoDurationMs); + musicViewHolder.mMusicWaveView.layout(); + setDurationTxt(musicViewHolder, 0, audioFile.getDuration()); + musicViewHolder.mMusicSelectSlider.setRangeChangeListener(new RangeSlider.OnRangeChangeListener() { + @Override + public void onKeyDown(int type) { + + } + @Override + public void onKeyUp(int type, int leftPinIndex, int rightPinIndex) { + if (mOnMusicClickListener != null) { + long startTime = audioFile.getDuration() * leftPinIndex / 100; + long endTime = audioFile.getDuration() * rightPinIndex / 100; + setDurationTxt(musicViewHolder, startTime, endTime); + mOnMusicClickListener.onMusicRangeChanged(audioFile, startTime, endTime); } + } + }); - @Override - public void onKeyUp(int type, int leftPinIndex, int rightPinIndex) { - if (mOnMusicClickListener != null) { - long startTime = audioFile.getDuration() * leftPinIndex / 100; - long endTime = audioFile.getDuration() * rightPinIndex / 100; - setDurationTxt(musicViewHolder, startTime, endTime); - mOnMusicClickListener.onMusicRangeChanged(audioFile, startTime, endTime); + musicViewHolder.itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + musicViewHolder.mConfirmBtn.setVisibility(View.VISIBLE); + musicViewHolder.mMusicSelectView.setVisibility(View.VISIBLE); + if (musicViewHolder.mIsPlaying) { + if (mOnMusicClickListener != null + && mOnMusicClickListener.onMusicClicked(audioFile, position, true)) { + musicViewHolder.mPlayControlView.setImageResource(R.drawable.ic_music_play); + musicViewHolder.mIsPlaying = false; } - } - }); - - musicViewHolder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - musicViewHolder.mConfirmBtn.setVisibility(View.VISIBLE); - musicViewHolder.mMusicSelectView.setVisibility(View.VISIBLE); - if (musicViewHolder.mIsPlaying) { - if (mOnMusicClickListener != null - && mOnMusicClickListener.onMusicClicked(audioFile, position, true)) { - musicViewHolder.mPlayControlView.setImageResource(R.drawable.ic_music_play); - musicViewHolder.mIsPlaying = false; - } - } else { - if (mOnMusicClickListener != null - && mOnMusicClickListener.onMusicClicked(audioFile, position, false)) { - musicViewHolder.mPlayControlView.setImageResource(R.drawable.ic_music_pause); - musicViewHolder.mIsPlaying = true; - } + } else { + if (mOnMusicClickListener != null + && mOnMusicClickListener.onMusicClicked(audioFile, position, false)) { + musicViewHolder.mPlayControlView.setImageResource(R.drawable.ic_music_pause); + musicViewHolder.mIsPlaying = true; } } - }); - } + } + }); musicViewHolder.mConfirmBtn.setOnClickListener(new View.OnClickListener() { @Override diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/FilterItemAdapter.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/FilterItemAdapter.java index 5f0b1a2..f6fb31f 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/FilterItemAdapter.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/FilterItemAdapter.java @@ -3,10 +3,10 @@ import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; -import android.support.annotation.NonNull; -import android.support.v4.graphics.drawable.RoundedBitmapDrawable; -import android.support.v4.graphics.drawable.RoundedBitmapDrawableFactory; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.core.graphics.drawable.RoundedBitmapDrawable; +import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/GifStickerAdapter.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/GifStickerAdapter.java index dc64129..fb6f0c7 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/GifStickerAdapter.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/GifStickerAdapter.java @@ -1,8 +1,8 @@ package com.qiniu.shortvideo.app.adapter; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/MVItemAdapter.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/MVItemAdapter.java index c689cd8..54dfd97 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/MVItemAdapter.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/MVItemAdapter.java @@ -3,8 +3,8 @@ import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; -import android.support.annotation.NonNull; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/MediaFileAdapter.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/MediaFileAdapter.java index 37b7ca8..ef7c51b 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/MediaFileAdapter.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/MediaFileAdapter.java @@ -2,8 +2,8 @@ import android.content.Context; import android.graphics.Paint; -import android.support.annotation.NonNull; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/ThumbLineViewAdapter.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/ThumbLineViewAdapter.java index 5af62d9..246e7f9 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/ThumbLineViewAdapter.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/ThumbLineViewAdapter.java @@ -2,8 +2,8 @@ import android.graphics.Bitmap; import android.graphics.Color; -import android.support.annotation.NonNull; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/VideoFrameAdapter.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/VideoFrameAdapter.java index 734e67a..1de324c 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/VideoFrameAdapter.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/adapter/VideoFrameAdapter.java @@ -1,8 +1,8 @@ package com.qiniu.shortvideo.app.adapter; import android.graphics.Bitmap; -import android.support.annotation.NonNull; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/faceunity/BeautyControlView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/faceunity/BeautyControlView.java index 04c1e17..f6f9b4b 100755 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/faceunity/BeautyControlView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/faceunity/BeautyControlView.java @@ -2,12 +2,12 @@ import android.animation.ValueAnimator; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.v4.util.Pair; -import android.support.v7.widget.GridLayoutManager; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.SimpleItemAnimator; +import androidx.annotation.NonNull; +import androidx.core.util.Pair; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.recyclerview.widget.SimpleItemAnimator; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.MotionEvent; @@ -222,8 +222,9 @@ private void initView() { initExpression(); initHahaMirror(); initBackground(); - initFaceChange(); - initPortraitDrive(); + // 换脸和人像驱动已废弃 + // initFaceChange(); + // initPortraitDrive(); initViewTop(); } @@ -393,8 +394,8 @@ private void initStickerOptionsRadio() { mStickerOptionItems.add(new StickerOptionItem(mContext.getResources().getString(R.string.cartoon_filter))); mStickerOptionItems.add(new StickerOptionItem(mContext.getResources().getString(R.string.home_function_name_background))); mStickerOptionItems.add(new StickerOptionItem(mContext.getResources().getString(R.string.home_function_name_hair))); - mStickerOptionItems.add(new StickerOptionItem(mContext.getResources().getString(R.string.home_function_name_face_change))); - mStickerOptionItems.add(new StickerOptionItem(mContext.getResources().getString(R.string.home_function_name_portrait_drive))); +// mStickerOptionItems.add(new StickerOptionItem(mContext.getResources().getString(R.string.home_function_name_face_change))); +// mStickerOptionItems.add(new StickerOptionItem(mContext.getResources().getString(R.string.home_function_name_portrait_drive))); mStickerOptionAdapter = new StickerOptionAdapter(mContext, mStickerOptionItems); mStickerOptionAdapter.setOnStickerOptionsClickedListener(new StickerOptionAdapter.OnStickerOptionsClickedListener() { @@ -734,8 +735,8 @@ private void clickStickerOptionsRadio(String stickerType) { mRvExpression.setVisibility(GONE); mRvHahaMirror.setVisibility(GONE); mRvBackground.setVisibility(GONE); - mRvFaceChange.setVisibility(GONE); - mRvPortraitDrive.setVisibility(GONE); +// mRvFaceChange.setVisibility(GONE); +// mRvPortraitDrive.setVisibility(GONE); mFaceShapeLayout.setVisibility(GONE); mBeautySeekBar.setVisibility(INVISIBLE); diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/AdvancedFilterAdapter.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/AdvancedFilterAdapter.java index 8cc7f1c..aedd453 100755 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/AdvancedFilterAdapter.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/AdvancedFilterAdapter.java @@ -1,7 +1,7 @@ package com.qiniu.shortvideo.app.tusdk; import android.graphics.Bitmap; -import android.support.v7.widget.RecyclerView; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/AdvancedFilterBottomView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/AdvancedFilterBottomView.java index 99d214d..63e5681 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/AdvancedFilterBottomView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/AdvancedFilterBottomView.java @@ -1,10 +1,10 @@ package com.qiniu.shortvideo.app.tusdk; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/SceneRecyclerAdapter.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/SceneRecyclerAdapter.java index 95971a1..4007d3f 100755 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/SceneRecyclerAdapter.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/SceneRecyclerAdapter.java @@ -1,7 +1,7 @@ package com.qiniu.shortvideo.app.tusdk; -import android.support.v7.widget.RecyclerView; -import android.util.Log; +import androidx.recyclerview.widget.RecyclerView; + import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; @@ -17,7 +17,6 @@ import com.qiniu.shortvideo.app.R; import org.lasque.tusdk.core.TuSdkContext; -import org.lasque.tusdk.core.utils.TLog; import org.lasque.tusdk.core.view.TuSdkImageView; import java.util.ArrayList; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/SpecialEffectBottomView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/SpecialEffectBottomView.java index ce18fc4..b70f3ed 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/SpecialEffectBottomView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/SpecialEffectBottomView.java @@ -3,10 +3,10 @@ import android.content.Context; import android.graphics.Bitmap; import android.os.Handler; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.MotionEvent; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/TuSdkMovieCoverListView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/TuSdkMovieCoverListView.java index ceb8fc8..4130e29 100755 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/TuSdkMovieCoverListView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/TuSdkMovieCoverListView.java @@ -3,7 +3,7 @@ import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import android.util.AttributeSet; import android.widget.ImageView; import android.widget.LinearLayout; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/TuSdkMovieScrollView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/TuSdkMovieScrollView.java index 4df2739..1bd38c9 100755 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/TuSdkMovieScrollView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/TuSdkMovieScrollView.java @@ -4,7 +4,7 @@ import android.content.Context; import android.graphics.Bitmap; import android.os.Build; -import android.support.annotation.ColorRes; +import androidx.annotation.ColorRes; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/TuSdkRangeSelectionBar.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/TuSdkRangeSelectionBar.java index a331e42..ac49ed9 100755 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/TuSdkRangeSelectionBar.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/TuSdkRangeSelectionBar.java @@ -2,7 +2,7 @@ import android.annotation.SuppressLint; import android.content.Context; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.ViewParent; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/rangeselect/TuSdkMovieColorGroupView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/rangeselect/TuSdkMovieColorGroupView.java index 5c1a1a5..e5d078d 100755 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/rangeselect/TuSdkMovieColorGroupView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/rangeselect/TuSdkMovieColorGroupView.java @@ -1,8 +1,8 @@ package com.qiniu.shortvideo.app.tusdk.playview.rangeselect; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/rangeselect/TuSdkMovieColorRectView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/rangeselect/TuSdkMovieColorRectView.java index 6aae53a..1889f38 100755 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/rangeselect/TuSdkMovieColorRectView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/rangeselect/TuSdkMovieColorRectView.java @@ -1,8 +1,8 @@ package com.qiniu.shortvideo.app.tusdk.playview.rangeselect; import android.content.Context; -import android.support.annotation.ColorRes; -import android.support.annotation.Nullable; +import androidx.annotation.ColorRes; +import androidx.annotation.Nullable; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/rangeselect/TuSdkMovieGrayView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/rangeselect/TuSdkMovieGrayView.java index 1d60db5..9d6adfa 100755 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/rangeselect/TuSdkMovieGrayView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/tusdk/playview/rangeselect/TuSdkMovieGrayView.java @@ -1,8 +1,8 @@ package com.qiniu.shortvideo.app.tusdk.playview.rangeselect; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import android.util.AttributeSet; import android.widget.FrameLayout; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/utils/MediaUtils.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/utils/MediaUtils.java index 51c38f6..a154d54 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/utils/MediaUtils.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/utils/MediaUtils.java @@ -161,7 +161,7 @@ public void run() { public static ArrayList getLocalAudios(Context context) { - ArrayList audioFiles = null; + ArrayList audioFiles = new ArrayList<>(); Cursor cursor = context.getContentResolver().query( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, @@ -179,8 +179,6 @@ public static ArrayList getLocalAudios(Context context) { + MediaStore.Audio.Media.MIME_TYPE + "=?", new String[] { "audio/mpeg", "audio/x-ms-wma" }, null); - audioFiles = new ArrayList(); - if (cursor != null && cursor.moveToFirst()) { AudioFile audioFile = null; do { @@ -218,7 +216,9 @@ public static ArrayList getLocalAudios(Context context) { if (cursor.getString(9) != null) { audioFile.setFilePath(cursor.getString(9)); } - audioFiles.add(audioFile); + if (audioFile.getDuration() > 0) { + audioFiles.add(audioFile); + } } while (cursor.moveToNext()); cursor.close(); @@ -229,6 +229,10 @@ public static ArrayList getLocalAudios(Context context) { public static Uri storeVideo(Context context, File srcFile, String mime) { File dstFile = new File(Config.VIDEO_PUBLIC_STORAGE_DIR, srcFile.getName()); + return storeVideo(context, srcFile, dstFile, mime); + } + + public static Uri storeVideo(Context context, File srcFile, File dstFile, String mime) { boolean succeed = FileUtils.copyFile(srcFile, dstFile); if (succeed) { ContentValues values = new ContentValues(); diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/BaseBottomView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/BaseBottomView.java index b409f40..fe628a2 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/BaseBottomView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/BaseBottomView.java @@ -1,8 +1,8 @@ package com.qiniu.shortvideo.app.view; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import android.util.AttributeSet; import android.view.ViewGroup; import android.view.ViewParent; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/GifBottomView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/GifBottomView.java index 4c36caf..faf4493 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/GifBottomView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/GifBottomView.java @@ -1,7 +1,7 @@ package com.qiniu.shortvideo.app.view; import android.content.Context; -import android.support.v7.widget.LinearLayoutManager; +import androidx.recyclerview.widget.LinearLayoutManager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/ListBottomView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/ListBottomView.java index 6dfdcb1..67e7962 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/ListBottomView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/ListBottomView.java @@ -1,10 +1,10 @@ package com.qiniu.shortvideo.app.view; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/MusicSelectBottomView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/MusicSelectBottomView.java index ffd19fb..7235c2f 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/MusicSelectBottomView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/MusicSelectBottomView.java @@ -2,9 +2,9 @@ import android.content.Context; import android.graphics.Bitmap; -import android.support.annotation.NonNull; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.util.DisplayMetrics; import android.view.LayoutInflater; import android.view.View; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/MusicWaveView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/MusicWaveView.java index d65c332..915abc1 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/MusicWaveView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/MusicWaveView.java @@ -4,7 +4,7 @@ import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Rect; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import android.util.AttributeSet; import android.view.View; import android.widget.FrameLayout; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/PaintBottomView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/PaintBottomView.java index 5cb6b48..e5c95bf 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/PaintBottomView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/PaintBottomView.java @@ -1,10 +1,10 @@ package com.qiniu.shortvideo.app.view; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/StickerBottomView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/StickerBottomView.java index 2bc89ee..9863e65 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/StickerBottomView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/StickerBottomView.java @@ -2,8 +2,8 @@ import android.content.Context; import android.graphics.Bitmap; -import android.support.annotation.NonNull; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; import android.util.DisplayMetrics; import android.view.LayoutInflater; import android.view.View; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/TextBottomView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/TextBottomView.java index 5a480da..aa739c8 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/TextBottomView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/TextBottomView.java @@ -3,9 +3,9 @@ import android.content.Context; import android.graphics.Color; import android.graphics.Typeface; -import android.support.annotation.NonNull; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/VideoFrameListView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/VideoFrameListView.java index f401af1..0f53c5d 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/VideoFrameListView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/VideoFrameListView.java @@ -3,10 +3,10 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; -import android.support.annotation.NonNull; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.RecyclerView.OnScrollListener; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.recyclerview.widget.RecyclerView.OnScrollListener; import android.util.AttributeSet; import android.util.DisplayMetrics; import android.view.LayoutInflater; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/VolumeSettingBottomView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/VolumeSettingBottomView.java index 765ce8e..c55dbf4 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/VolumeSettingBottomView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/VolumeSettingBottomView.java @@ -2,7 +2,7 @@ import android.content.Context; import android.graphics.PorterDuff; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/layer/StickerImageView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/layer/StickerImageView.java index 1866e5f..11d2b19 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/layer/StickerImageView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/layer/StickerImageView.java @@ -1,7 +1,7 @@ package com.qiniu.shortvideo.app.view.layer; import android.content.Context; -import android.support.v7.widget.AppCompatImageView; +import androidx.appcompat.widget.AppCompatImageView; import android.util.AttributeSet; import java.io.File; @@ -24,7 +24,6 @@ import android.util.DisplayMetrics; import android.util.TypedValue; import android.view.MotionEvent; -import android.view.View; import android.view.ViewGroup; import com.qiniu.shortvideo.app.R; diff --git a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/thumbline/ThumbLineView.java b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/thumbline/ThumbLineView.java index 33bed6b..f75753b 100644 --- a/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/thumbline/ThumbLineView.java +++ b/ShortVideoUIDemo/app/src/main/java/com/qiniu/shortvideo/app/view/thumbline/ThumbLineView.java @@ -6,10 +6,10 @@ import android.os.Handler; import android.os.Looper; import android.os.Message; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.util.AttributeSet; import android.util.Log; import android.view.Gravity; diff --git a/releases/releases_basic/armeabi-v7a/libQMedia.so b/ShortVideoUIDemo/app/src/main/jniLibs/armeabi-v7a/libQMedia.so similarity index 78% rename from releases/releases_basic/armeabi-v7a/libQMedia.so rename to ShortVideoUIDemo/app/src/main/jniLibs/armeabi-v7a/libQMedia.so index 643f53e..bec7ccb 100644 Binary files a/releases/releases_basic/armeabi-v7a/libQMedia.so and b/ShortVideoUIDemo/app/src/main/jniLibs/armeabi-v7a/libQMedia.so differ diff --git a/ShortVideoUIDemo/app/src/main/jniLibs/armeabi-v7a/libQPlayer.so b/ShortVideoUIDemo/app/src/main/jniLibs/armeabi-v7a/libQPlayer.so index 547fa28..ef6a7c0 100755 Binary files a/ShortVideoUIDemo/app/src/main/jniLibs/armeabi-v7a/libQPlayer.so and b/ShortVideoUIDemo/app/src/main/jniLibs/armeabi-v7a/libQPlayer.so differ diff --git a/ShortVideoUIDemo/app/src/main/jniLibs/armeabi-v7a/libqcOpenSSL.so b/ShortVideoUIDemo/app/src/main/jniLibs/armeabi-v7a/libqcOpenSSL.so index a073ab6..f62f934 100755 Binary files a/ShortVideoUIDemo/app/src/main/jniLibs/armeabi-v7a/libqcOpenSSL.so and b/ShortVideoUIDemo/app/src/main/jniLibs/armeabi-v7a/libqcOpenSSL.so differ diff --git a/ShortVideoUIDemo/app/src/main/res/layout/activity_choose_music.xml b/ShortVideoUIDemo/app/src/main/res/layout/activity_choose_music.xml index 4112f6b..5ac82cf 100644 --- a/ShortVideoUIDemo/app/src/main/res/layout/activity_choose_music.xml +++ b/ShortVideoUIDemo/app/src/main/res/layout/activity_choose_music.xml @@ -1,5 +1,5 @@ - - - + diff --git a/ShortVideoUIDemo/app/src/main/res/layout/activity_main.xml b/ShortVideoUIDemo/app/src/main/res/layout/activity_main.xml index 5cda61f..9d4ec72 100644 --- a/ShortVideoUIDemo/app/src/main/res/layout/activity_main.xml +++ b/ShortVideoUIDemo/app/src/main/res/layout/activity_main.xml @@ -1,5 +1,5 @@ - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/ShortVideoUIDemo/app/src/main/res/layout/activity_media_select.xml b/ShortVideoUIDemo/app/src/main/res/layout/activity_media_select.xml index 4517a95..4fde277 100644 --- a/ShortVideoUIDemo/app/src/main/res/layout/activity_media_select.xml +++ b/ShortVideoUIDemo/app/src/main/res/layout/activity_media_select.xml @@ -1,5 +1,5 @@ - - - - - + diff --git a/ShortVideoUIDemo/app/src/main/res/layout/activity_puzzle_config.xml b/ShortVideoUIDemo/app/src/main/res/layout/activity_puzzle_config.xml index f8d3fa2..908ed94 100644 --- a/ShortVideoUIDemo/app/src/main/res/layout/activity_puzzle_config.xml +++ b/ShortVideoUIDemo/app/src/main/res/layout/activity_puzzle_config.xml @@ -1,5 +1,5 @@ - - + diff --git a/ShortVideoUIDemo/app/src/main/res/layout/activity_puzzle_video.xml b/ShortVideoUIDemo/app/src/main/res/layout/activity_puzzle_video.xml index 6774315..8322439 100644 --- a/ShortVideoUIDemo/app/src/main/res/layout/activity_puzzle_video.xml +++ b/ShortVideoUIDemo/app/src/main/res/layout/activity_puzzle_video.xml @@ -1,5 +1,5 @@ - - - + diff --git a/ShortVideoUIDemo/app/src/main/res/layout/activity_video_edit.xml b/ShortVideoUIDemo/app/src/main/res/layout/activity_video_edit.xml index 03b1482..2b9c002 100644 --- a/ShortVideoUIDemo/app/src/main/res/layout/activity_video_edit.xml +++ b/ShortVideoUIDemo/app/src/main/res/layout/activity_video_edit.xml @@ -57,7 +57,6 @@ android:layout_marginEnd="16dp" android:background="@drawable/rectangle_btn_background" android:gravity="center" - android:onClick="onClickSaveEdit" android:text="@string/finish" android:textColor="@android:color/white"/> diff --git a/ShortVideoUIDemo/app/src/main/res/layout/activity_video_mix.xml b/ShortVideoUIDemo/app/src/main/res/layout/activity_video_mix.xml index 0c9d8b0..b5d620d 100644 --- a/ShortVideoUIDemo/app/src/main/res/layout/activity_video_mix.xml +++ b/ShortVideoUIDemo/app/src/main/res/layout/activity_video_mix.xml @@ -1,5 +1,5 @@ - - - - + diff --git a/ShortVideoUIDemo/app/src/main/res/layout/activity_video_record.xml b/ShortVideoUIDemo/app/src/main/res/layout/activity_video_record.xml index 693b2cc..e3da6bc 100644 --- a/ShortVideoUIDemo/app/src/main/res/layout/activity_video_record.xml +++ b/ShortVideoUIDemo/app/src/main/res/layout/activity_video_record.xml @@ -1,5 +1,5 @@ - - - - + diff --git a/ShortVideoUIDemo/app/src/main/res/layout/editor_advanced_filter_view.xml b/ShortVideoUIDemo/app/src/main/res/layout/editor_advanced_filter_view.xml index 9c78706..9246733 100644 --- a/ShortVideoUIDemo/app/src/main/res/layout/editor_advanced_filter_view.xml +++ b/ShortVideoUIDemo/app/src/main/res/layout/editor_advanced_filter_view.xml @@ -41,7 +41,7 @@ android:background="@color/alpha_white_26" /> - - - - - - - - + diff --git a/ShortVideoUIDemo/app/src/main/res/layout/layout_list_bottom_view.xml b/ShortVideoUIDemo/app/src/main/res/layout/layout_list_bottom_view.xml index 36cfd7c..4cc95bb 100644 --- a/ShortVideoUIDemo/app/src/main/res/layout/layout_list_bottom_view.xml +++ b/ShortVideoUIDemo/app/src/main/res/layout/layout_list_bottom_view.xml @@ -14,7 +14,7 @@ android:textColor="@color/white" android:visibility="gone" /> - - *

- * This will work like {@link android.support.v4.view.ViewPropertyAnimatorCompat}, that is, + * This will work like {@link androidx.core.view.ViewPropertyAnimatorCompat}, that is, * not doing anything on API<11 and using the default {@link android.animation.ValueAnimator} * on API>=11 *

diff --git a/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/compat/SeekBarCompat.java b/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/compat/SeekBarCompat.java old mode 100644 new mode 100755 index edb7a94..19d54a1 --- a/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/compat/SeekBarCompat.java +++ b/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/compat/SeekBarCompat.java @@ -4,8 +4,8 @@ import android.graphics.drawable.Drawable; import android.graphics.drawable.RippleDrawable; import android.os.Build; -import android.support.annotation.NonNull; -import android.support.v4.graphics.drawable.DrawableCompat; +import androidx.annotation.NonNull; +import androidx.core.graphics.drawable.DrawableCompat; import android.view.View; import android.view.ViewParent; import android.widget.TextView; diff --git a/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/compat/SeekBarCompatDontCrash.java b/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/compat/SeekBarCompatDontCrash.java old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/AlmostRippleDrawable.java b/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/AlmostRippleDrawable.java old mode 100644 new mode 100755 index 34595a5..eba2146 --- a/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/AlmostRippleDrawable.java +++ b/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/AlmostRippleDrawable.java @@ -7,7 +7,7 @@ import android.graphics.Rect; import android.graphics.drawable.Animatable; import android.os.SystemClock; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import android.view.animation.AccelerateDecelerateInterpolator; import android.view.animation.Interpolator; diff --git a/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/MarkerDrawable.java b/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/MarkerDrawable.java old mode 100644 new mode 100755 index f3be85c..f2b7e40 --- a/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/MarkerDrawable.java +++ b/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/MarkerDrawable.java @@ -10,7 +10,7 @@ import android.graphics.RectF; import android.graphics.drawable.Animatable; import android.os.SystemClock; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import android.view.animation.AccelerateDecelerateInterpolator; import android.view.animation.Interpolator; diff --git a/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/StateDrawable.java b/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/StateDrawable.java old mode 100644 new mode 100755 index 26f5c55..a5d5a1b --- a/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/StateDrawable.java +++ b/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/StateDrawable.java @@ -7,7 +7,7 @@ import android.graphics.Paint; import android.graphics.PixelFormat; import android.graphics.drawable.Drawable; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; /** * A drawable that changes it's Paint color depending on the Drawable State diff --git a/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/ThumbDrawable.java b/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/ThumbDrawable.java old mode 100644 new mode 100755 index a78be24..69aeff8 --- a/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/ThumbDrawable.java +++ b/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/ThumbDrawable.java @@ -6,7 +6,7 @@ import android.graphics.Rect; import android.graphics.drawable.Animatable; import android.os.SystemClock; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; /** *

HACK

diff --git a/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/TrackOvalDrawable.java b/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/TrackOvalDrawable.java old mode 100644 new mode 100755 index c9ee1dc..4ba01dd --- a/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/TrackOvalDrawable.java +++ b/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/TrackOvalDrawable.java @@ -4,7 +4,7 @@ import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.RectF; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; /** * Simple {@link StateDrawable} implementation diff --git a/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/TrackRectDrawable.java b/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/TrackRectDrawable.java old mode 100644 new mode 100755 index 7cdad33..def932d --- a/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/TrackRectDrawable.java +++ b/ShortVideoUIDemo/faceunity/src/main/java/com/faceunity/view/seekbar/internal/drawable/TrackRectDrawable.java @@ -3,7 +3,7 @@ import android.content.res.ColorStateList; import android.graphics.Canvas; import android.graphics.Paint; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; /** * Simple {@link StateDrawable} implementation diff --git a/ShortVideoUIDemo/faceunity/src/main/jniLibs/arm64-v8a/libnama.so b/ShortVideoUIDemo/faceunity/src/main/jniLibs/arm64-v8a/libnama.so deleted file mode 100644 index 23cddaf..0000000 Binary files a/ShortVideoUIDemo/faceunity/src/main/jniLibs/arm64-v8a/libnama.so and /dev/null differ diff --git a/ShortVideoUIDemo/faceunity/src/main/jniLibs/armeabi-v7a/libnama.so b/ShortVideoUIDemo/faceunity/src/main/jniLibs/armeabi-v7a/libnama.so old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/jniLibs/x86/libnama.so b/ShortVideoUIDemo/faceunity/src/main/jniLibs/x86/libnama.so deleted file mode 100644 index 71c8395..0000000 Binary files a/ShortVideoUIDemo/faceunity/src/main/jniLibs/x86/libnama.so and /dev/null differ diff --git a/ShortVideoUIDemo/faceunity/src/main/jniLibs/x86_64/libnama.so b/ShortVideoUIDemo/faceunity/src/main/jniLibs/x86_64/libnama.so deleted file mode 100644 index 394a1f8..0000000 Binary files a/ShortVideoUIDemo/faceunity/src/main/jniLibs/x86_64/libnama.so and /dev/null differ diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_01.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_01.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_02.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_02.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_03.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_03.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_04.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_04.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_05.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_05.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_06.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_06.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_07.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_07.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_08.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_08.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_09.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_09.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_10.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_10.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_11.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_11.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_12.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_12.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_13.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_13.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_14.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_14.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_15.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_15.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_16.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_16.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_17.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_17.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_18.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_18.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_19.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_19.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_20.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_20.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_21.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_21.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_22.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_22.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_23.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_23.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_24.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/blusher/mu_blush_24.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_01.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_01.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_02.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_02.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_03.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_03.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_04.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_04.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_05.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_05.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_06.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_06.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_07.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_07.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_08.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_08.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_09.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_09.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_10.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_10.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_11.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_11.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_12.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_12.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_13.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_13.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_14.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_14.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_15.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_15.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_16.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_16.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_17.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_17.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_18.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_18.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_19.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyebrow/mu_eyebrow_19.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyelash/mu_eyelash_01.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyelash/mu_eyelash_01.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyelash/mu_eyelash_02.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyelash/mu_eyelash_02.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyelash/mu_eyelash_03.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyelash/mu_eyelash_03.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyelash/mu_eyelash_04.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyelash/mu_eyelash_04.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyelash/mu_eyelash_05.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyelash/mu_eyelash_05.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyelash/mu_eyelash_06.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyelash/mu_eyelash_06.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyelash/mu_eyelash_07.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyelash/mu_eyelash_07.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyelash/mu_eyelash_08.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyelash/mu_eyelash_08.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeliner/mu_eyeliner_01.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeliner/mu_eyeliner_01.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeliner/mu_eyeliner_02.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeliner/mu_eyeliner_02.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeliner/mu_eyeliner_03.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeliner/mu_eyeliner_03.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeliner/mu_eyeliner_04.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeliner/mu_eyeliner_04.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeliner/mu_eyeliner_05.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeliner/mu_eyeliner_05.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeliner/mu_eyeliner_06.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeliner/mu_eyeliner_06.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeliner/mu_eyeliner_07.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeliner/mu_eyeliner_07.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeliner/mu_eyeliner_08.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeliner/mu_eyeliner_08.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyepupil/mu_eyepupil_01.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyepupil/mu_eyepupil_01.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyepupil/mu_eyepupil_02.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyepupil/mu_eyepupil_02.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyepupil/mu_eyepupil_03.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyepupil/mu_eyepupil_03.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyepupil/mu_eyepupil_04.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyepupil/mu_eyepupil_04.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyepupil/mu_eyepupil_05.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyepupil/mu_eyepupil_05.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyepupil/mu_eyepupil_06.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyepupil/mu_eyepupil_06.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyepupil/mu_eyepupil_07.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyepupil/mu_eyepupil_07.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyepupil/mu_eyepupil_08.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyepupil/mu_eyepupil_08.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyepupil/mu_eyepupil_09.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyepupil/mu_eyepupil_09.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_01.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_01.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_02.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_02.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_03.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_03.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_04.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_04.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_05.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_05.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_06.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_06.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_07.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_07.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_08.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_08.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_09.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_09.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_10.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_10.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_11.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_11.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_12.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_12.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_13.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_13.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_14.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_14.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_15.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_15.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_16.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_16.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_17.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_17.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_18.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_18.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_19.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_19.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_20.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_20.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_21.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_21.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_22.png b/ShortVideoUIDemo/faceunity/src/main/makeup/material/eyeshadow/mu_eyeshadow_22.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_01.json b/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_01.json old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_02.json b/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_02.json old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_03.json b/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_03.json old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_10.json b/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_10.json old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_11.json b/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_11.json old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_12.json b/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_12.json old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_13.json b/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_13.json old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_14.json b/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_14.json old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_15.json b/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_15.json old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_16.json b/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_16.json old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_17.json b/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_17.json old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_18.json b/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_18.json old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_19.json b/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_19.json old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_20.json b/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_20.json old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_21.json b/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_21.json old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_22.json b/ShortVideoUIDemo/faceunity/src/main/makeup/material/lipstick/mu_lip_22.json old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_01.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_01.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_02.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_02.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_03.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_03.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_04.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_04.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_05.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_05.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_06.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_06.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_07.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_07.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_08.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_08.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_09.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_09.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_10.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_10.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_11.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_11.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_12.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_12.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_13.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_13.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_14.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_14.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_15.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_15.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_16.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_16.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_17.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_17.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_18.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_18.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_19.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_19.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_20.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_20.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_21.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_21.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_22.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_22.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_23.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_23.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_24.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_blush_24.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_01.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_01.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_02.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_02.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_03.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_03.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_04.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_04.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_05.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_05.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_06.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_06.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_07.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_07.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_08.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_08.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_09.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_09.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_10.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_10.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_11.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_11.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_12.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_12.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_13.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_13.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_14.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_14.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_15.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_15.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_16.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_16.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_17.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_17.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_18.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_18.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_19.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyebrow_19.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyelash_01.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyelash_01.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyelash_02.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyelash_02.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyelash_03.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyelash_03.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyelash_04.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyelash_04.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyelash_05.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyelash_05.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyelash_06.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyelash_06.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyelash_07.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyelash_07.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyelash_08.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyelash_08.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeliner_01.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeliner_01.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeliner_02.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeliner_02.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeliner_03.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeliner_03.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeliner_04.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeliner_04.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeliner_05.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeliner_05.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeliner_06.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeliner_06.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeliner_07.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeliner_07.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeliner_08.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeliner_08.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyepupil_01.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyepupil_01.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyepupil_02.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyepupil_02.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyepupil_03.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyepupil_03.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyepupil_04.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyepupil_04.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyepupil_05.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyepupil_05.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyepupil_06.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyepupil_06.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyepupil_07.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyepupil_07.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyepupil_08.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyepupil_08.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyepupil_09.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyepupil_09.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_01.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_01.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_02.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_02.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_03.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_03.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_04.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_04.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_05.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_05.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_06.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_06.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_07.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_07.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_08.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_08.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_09.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_09.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_10.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_10.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_11.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_11.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_12.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_12.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_13.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_13.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_14.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_14.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_15.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_15.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_16.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_16.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_17.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_17.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_18.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_18.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_19.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_19.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_20.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_20.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_21.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_21.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_22.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_eyeshadow_22.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_01.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_01.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_02.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_02.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_03.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_03.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_04.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_04.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_05.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_05.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_06.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_06.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_07.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_07.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_08.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_08.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_09.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_09.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_10.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_10.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_11.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_11.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_12.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_12.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_13.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_13.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_14.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_14.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_15.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_15.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_16.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_16.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_17.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_17.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_18.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_18.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_19.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_19.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_20.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_20.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_21.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_21.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_22.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_lip_22.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_black.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_black.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_boyfriend.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_boyfriend.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_brocade_carp.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_brocade_carp.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_classical.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_classical.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_clear.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_clear.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_cream.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_cream.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_freckles.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_freckles.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_grapefruit.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_grapefruit.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_maple_leaves.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_maple_leaves.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_peachblossom.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_peachblossom.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_plum.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_plum.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_punk.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_punk.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_red_tea.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_red_tea.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_tipsy.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_tipsy.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_winter.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_winter.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_world_weariness.png b/ShortVideoUIDemo/faceunity/src/main/makeup/res/drawable-xxhdpi/demo_makeup_world_weariness.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/color/avatar_type_text.xml b/ShortVideoUIDemo/faceunity/src/main/res/color/avatar_type_text.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/color/beauty_control_bottom_radio_color.xml b/ShortVideoUIDemo/faceunity/src/main/res/color/beauty_control_bottom_radio_color.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/color/dsb_progress_color_list.xml b/ShortVideoUIDemo/faceunity/src/main/res/color/dsb_progress_color_list.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/color/dsb_ripple_color_list.xml b/ShortVideoUIDemo/faceunity/src/main/res/color/dsb_ripple_color_list.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/color/dsb_track_color_list.xml b/ShortVideoUIDemo/faceunity/src/main/res/color/dsb_track_color_list.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_chin_height_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_chin_height_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_chin_height_selected.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_chin_height_selected.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_chin_width_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_chin_width_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_chin_width_selected.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_chin_width_selected.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_color.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_color.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_downlip_thickness_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_downlip_thickness_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_downlip_thickness_selected.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_downlip_thickness_selected.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_eye_corner_height_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_eye_corner_height_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_eye_corner_height_selected.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_eye_corner_height_selected.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_eye_height_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_eye_height_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_eye_height_selected.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_eye_height_selected.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_eye_position_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_eye_position_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_eye_position_selected.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_eye_position_selected.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_eye_width_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_eye_width_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_eye_width_selected.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_eye_width_selected.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_face_length_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_face_length_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_face_length_selected.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_face_length_selected.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_face_width_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_face_width_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_face_width_selected.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_face_width_selected.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_forehead_width_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_forehead_width_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_forehead_width_selected.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_forehead_width_selected.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_lip_width_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_lip_width_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_lip_width_selected.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_lip_width_selected.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_mouth_position_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_mouth_position_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_mouth_position_selected.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_mouth_position_selected.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_nose_height_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_nose_height_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_nose_height_selected.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_nose_height_selected.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_nose_position_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_nose_position_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_nose_position_selected.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_nose_position_selected.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_nose_width_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_nose_width_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_nose_width_selected.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_nose_width_selected.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_uplip_thickness_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_uplip_thickness_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_uplip_thickness_selected.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/avatar_edit_face_uplip_thickness_selected.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/back.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/back.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/back_select_data.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/back_select_data.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/back_show.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/back_show.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_all_blur_close_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_all_blur_close_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_all_blur_close_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_all_blur_close_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_all_blur_open_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_all_blur_open_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_all_blur_open_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_all_blur_open_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_blur_close_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_blur_close_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_blur_close_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_blur_close_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_blur_open_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_blur_open_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_blur_open_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_blur_open_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_bright_eyes_close_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_bright_eyes_close_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_bright_eyes_close_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_bright_eyes_close_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_bright_eyes_open_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_bright_eyes_open_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_bright_eyes_open_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_bright_eyes_open_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_color_close_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_color_close_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_color_close_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_color_close_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_color_open_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_color_open_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_color_open_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_color_open_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_red_close_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_red_close_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_red_close_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_red_close_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_red_open_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_red_open_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_red_open_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_red_open_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_teeth_close_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_teeth_close_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_teeth_close_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_teeth_close_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_teeth_open_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_teeth_open_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_teeth_open_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_teeth_open_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_type_close_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_type_close_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_type_close_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_type_close_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_type_open_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_type_open_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_type_open_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_skin_control_type_open_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_cheekthin_level_close_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_cheekthin_level_close_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_cheekthin_level_close_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_cheekthin_level_close_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_cheekthin_level_open_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_cheekthin_level_open_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_cheekthin_level_open_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_cheekthin_level_open_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_chin_level_close_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_chin_level_close_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_chin_level_close_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_chin_level_close_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_chin_level_open_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_chin_level_open_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_chin_level_open_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_chin_level_open_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_enlarge_eye_level_close_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_enlarge_eye_level_close_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_enlarge_eye_level_close_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_enlarge_eye_level_close_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_enlarge_eye_level_open_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_enlarge_eye_level_open_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_enlarge_eye_level_open_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_enlarge_eye_level_open_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_face_shape_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_face_shape_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_face_shape_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_face_shape_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_forehead_level_close_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_forehead_level_close_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_forehead_level_close_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_forehead_level_close_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_forehead_level_open_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_forehead_level_open_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_forehead_level_open_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_forehead_level_open_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_mouth_shape_close_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_mouth_shape_close_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_mouth_shape_close_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_mouth_shape_close_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_mouth_shape_open_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_mouth_shape_open_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_mouth_shape_open_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_mouth_shape_open_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_thin_nose_level_close_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_thin_nose_level_close_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_thin_nose_level_close_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_thin_nose_level_close_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_thin_nose_level_open_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_thin_nose_level_open_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_thin_nose_level_open_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/beauty_type_control_thin_nose_level_open_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/bg_tip_dual_face.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/bg_tip_dual_face.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/btn_automaticl_nor.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/btn_automaticl_nor.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/btn_automaticl_sel.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/btn_automaticl_sel.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/btn_return.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/btn_return.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/camera_change.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/camera_change.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/debug.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/debug.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/delete_back.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/delete_back.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/demo_avatar_color_selected.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/demo_avatar_color_selected.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/demo_avatar_icon_cancel.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/demo_avatar_icon_cancel.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/demo_icon_back.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/demo_icon_back.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/demo_icon_corner_marker.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/demo_icon_corner_marker.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/demo_icon_diy.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/demo_icon_diy.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/demo_icon_diy_.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/demo_icon_diy_.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/demo_icon_reset.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/demo_icon_reset.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/demo_icon_save.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/demo_icon_save.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/demo_icon_template_male.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/demo_icon_template_male.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/fu_base_top_background.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/fu_base_top_background.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/home_top_logo.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/home_top_logo.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/ic_adjustment.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/ic_adjustment.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/ic_back.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/ic_back.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/ic_delete_all.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/ic_delete_all.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/ic_download.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/ic_download.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/ic_magic_close.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/ic_magic_close.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/ic_magic_increase.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/ic_magic_increase.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/ic_magic_rotate.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/ic_magic_rotate.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/ic_return.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/ic_return.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/ic_save.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/ic_save.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_confirm.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_confirm.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_custom_nor.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_custom_nor.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_fail.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_fail.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_left_eye.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_left_eye.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_left_eyebrow.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_left_eyebrow.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_mouth.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_mouth.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_nose.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_nose.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_return_nor.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_return_nor.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_right_eye.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_right_eye.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_right_eyebrow.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/icon_right_eyebrow.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/loading.9.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/loading.9.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/loading_gif.gif b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/loading_gif.gif old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/magic_empty_view.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/magic_empty_view.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/magic_photo_add.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/magic_photo_add.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/magic_photo_delete.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/magic_photo_delete.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_animoji.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_animoji.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_ar_mask.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_ar_mask.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_avatar.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_avatar.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_background.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_background.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_beauty.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_beauty.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_change_face.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_change_face.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_effect.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_effect.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_expression.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_expression.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_face_warp.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_face_warp.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_gesture.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_gesture.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_hair.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_hair.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_magic_photo.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_magic_photo.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_makeup.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_makeup.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_music_fiter.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_music_fiter.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_portrait_drive.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_portrait_drive.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_poster_face.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/main_poster_face.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/makeup_none_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/makeup_none_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/makeup_none_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/makeup_none_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/no_track_face.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/no_track_face.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/performance_checked.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/performance_checked.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/performance_normal.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/performance_normal.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/photo.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/photo.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/photograph_focus.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/photograph_focus.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/photograph_light_background.9.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/photograph_light_background.9.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/photograph_light_moon.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/photograph_light_moon.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/photograph_light_sun.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/photograph_light_sun.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/photograph_light_thumb.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/photograph_light_thumb.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/poster_take_bottom_bg.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/poster_take_bottom_bg.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/poster_take_close.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/poster_take_close.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/poster_take_confirm.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/poster_take_confirm.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/poster_take_rect.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/poster_take_rect.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/select_data_btn_background.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/select_data_btn_background.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/select_data_photo_img.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/select_data_photo_img.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/select_data_video_img.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/select_data_video_img.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/show_save_btn.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/show_save_btn.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/show_video_play.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/show_video_play.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/show_video_replay.png b/ShortVideoUIDemo/faceunity/src/main/res/drawable-xxhdpi/show_video_replay.png old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/beauty_control_bottom_shape_radio_color.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/beauty_control_bottom_shape_radio_color.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/control_filter_select.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/control_filter_select.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/effect_select.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/effect_select.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/fu_base_input_type_radio_group_background.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/fu_base_input_type_radio_group_background.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/fu_base_input_type_radio_left_background.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/fu_base_input_type_radio_left_background.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/fu_base_input_type_radio_left_background_check.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/fu_base_input_type_radio_left_background_check.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/fu_base_input_type_radio_left_background_uncheck.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/fu_base_input_type_radio_left_background_uncheck.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/fu_base_input_type_radio_right_background.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/fu_base_input_type_radio_right_background.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/fu_base_input_type_radio_right_background_check.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/fu_base_input_type_radio_right_background_check.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/fu_base_input_type_radio_right_background_uncheck.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/fu_base_input_type_radio_right_background_uncheck.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/fu_beauty_debug_text_background.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/fu_beauty_debug_text_background.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/fu_beauty_face_shape_checked_line.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/fu_beauty_face_shape_checked_line.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_chin_height.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_chin_height.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_chin_width.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_chin_width.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_downlip_thickness.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_downlip_thickness.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_eye_corner_height.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_eye_corner_height.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_eye_height.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_eye_height.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_eye_position.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_eye_position.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_eye_width.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_eye_width.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_face_width.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_face_width.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_forehead_width.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_forehead_width.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_length.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_length.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_lip_width.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_lip_width.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_mouth_position.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_mouth_position.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_nose_height.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_nose_height.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_nose_position.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_nose_position.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_nose_width.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_nose_width.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_uplip_thickness.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_edit_avatar_face_uplip_thickness.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_poster_temp_list.xml b/ShortVideoUIDemo/faceunity/src/main/res/drawable/sel_poster_temp_list.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_beauty_box.xml b/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_beauty_box.xml old mode 100644 new mode 100755 index a9932c8..72e1f91 --- a/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_beauty_box.xml +++ b/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_beauty_box.xml @@ -1,5 +1,5 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_beauty_control.xml b/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_beauty_control.xml old mode 100644 new mode 100755 index 22177c3..3f1aab0 --- a/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_beauty_control.xml +++ b/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_beauty_control.xml @@ -1,5 +1,5 @@ - - - - - - @@ -226,7 +226,7 @@ android:background="#BD050F14" android:scrollbars="none" android:visibility="gone" - app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintBottom_toTopOf="@+id/tips_text" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@+id/face_shape_radio_layout"> @@ -311,7 +311,7 @@ - - - - - - - - - - - - - + app:layout_constraintTop_toBottomOf="@+id/beauty_line" /> - - \ No newline at end of file + + + \ No newline at end of file diff --git a/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_beauty_control_recycler.xml b/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_beauty_control_recycler.xml old mode 100644 new mode 100755 index c65f6a1..66f5ac3 --- a/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_beauty_control_recycler.xml +++ b/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_beauty_control_recycler.xml @@ -1,5 +1,5 @@ - - + diff --git a/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_effect_recycler.xml b/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_effect_recycler.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_makeup_control.xml b/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_makeup_control.xml old mode 100644 new mode 100755 index f0fc25f..b9dca47 --- a/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_makeup_control.xml +++ b/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_makeup_control.xml @@ -4,7 +4,7 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - - - - + - - - + \ No newline at end of file diff --git a/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_rv_makeup.xml b/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_rv_makeup.xml old mode 100644 new mode 100755 index 0c567ce..17fc0f1 --- a/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_rv_makeup.xml +++ b/ShortVideoUIDemo/faceunity/src/main/res/layout/layout_rv_makeup.xml @@ -1,5 +1,5 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1024x600/lay_x.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1024x600/lay_x.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1024x600/lay_y.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1024x600/lay_y.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1024x768/lay_x.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1024x768/lay_x.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1024x768/lay_y.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1024x768/lay_y.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1184x720/lay_x.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1184x720/lay_x.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1184x720/lay_y.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1184x720/lay_y.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1196x720/lay_x.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1196x720/lay_x.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1196x720/lay_y.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1196x720/lay_y.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1280x720/lay_x.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1280x720/lay_x.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1280x720/lay_y.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1280x720/lay_y.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1280x800/lay_x.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1280x800/lay_x.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1280x800/lay_y.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1280x800/lay_y.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1334x750/lay_x.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1334x750/lay_x.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1334x750/lay_y.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1334x750/lay_y.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1700x1080/lay_x.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1700x1080/lay_x.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1700x1080/lay_y.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1700x1080/lay_y.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1812x1080/lay_x.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1812x1080/lay_x.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1812x1080/lay_y.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1812x1080/lay_y.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1920x1080/lay_x.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1920x1080/lay_x.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1920x1080/lay_y.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1920x1080/lay_y.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1920x1200/lay_x.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1920x1200/lay_x.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-1920x1200/lay_y.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-1920x1200/lay_y.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-2300x1440/lay_x.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-2300x1440/lay_x.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-2300x1440/lay_y.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-2300x1440/lay_y.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-2560x1440/lay_x.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-2560x1440/lay_x.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-2560x1440/lay_y.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-2560x1440/lay_y.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-2560x1600/lay_x.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-2560x1600/lay_x.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-2560x1600/lay_y.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-2560x1600/lay_y.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-480x320/lay_x.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-480x320/lay_x.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-480x320/lay_y.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-480x320/lay_y.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-800x480/lay_x.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-800x480/lay_x.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-800x480/lay_y.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-800x480/lay_y.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-854x480/lay_x.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-854x480/lay_x.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-854x480/lay_y.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-854x480/lay_y.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-960x540/lay_x.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-960x540/lay_x.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values-960x540/lay_y.xml b/ShortVideoUIDemo/faceunity/src/main/res/values-960x540/lay_y.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values/attrs_beauty_box.xml b/ShortVideoUIDemo/faceunity/src/main/res/values/attrs_beauty_box.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values/attrs_camera_focus.xml b/ShortVideoUIDemo/faceunity/src/main/res/values/attrs_camera_focus.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values/attrs_circle_img.xml b/ShortVideoUIDemo/faceunity/src/main/res/values/attrs_circle_img.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values/attrs_seekbar.xml b/ShortVideoUIDemo/faceunity/src/main/res/values/attrs_seekbar.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values/attrs_xfermode.xml b/ShortVideoUIDemo/faceunity/src/main/res/values/attrs_xfermode.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values/colors.xml b/ShortVideoUIDemo/faceunity/src/main/res/values/colors.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values/strings.xml b/ShortVideoUIDemo/faceunity/src/main/res/values/strings.xml old mode 100644 new mode 100755 diff --git a/ShortVideoUIDemo/faceunity/src/main/res/values/styles_seekbar.xml b/ShortVideoUIDemo/faceunity/src/main/res/values/styles_seekbar.xml old mode 100644 new mode 100755 diff --git a/releases/releases_advanced/arm64-v8a/libpldroid_amix.so b/releases/releases_advanced/arm64-v8a/libpldroid_amix.so index 57b3c16..0acb5cf 100755 Binary files a/releases/releases_advanced/arm64-v8a/libpldroid_amix.so and b/releases/releases_advanced/arm64-v8a/libpldroid_amix.so differ diff --git a/releases/releases_advanced/arm64-v8a/libpldroid_beauty.so b/releases/releases_advanced/arm64-v8a/libpldroid_beauty.so index 7a04780..aa38e81 100644 Binary files a/releases/releases_advanced/arm64-v8a/libpldroid_beauty.so and b/releases/releases_advanced/arm64-v8a/libpldroid_beauty.so differ diff --git a/releases/releases_advanced/arm64-v8a/libpldroid_encoder.so b/releases/releases_advanced/arm64-v8a/libpldroid_encoder.so index 4621508..b6a184a 100644 Binary files a/releases/releases_advanced/arm64-v8a/libpldroid_encoder.so and b/releases/releases_advanced/arm64-v8a/libpldroid_encoder.so differ diff --git a/releases/releases_advanced/arm64-v8a/libpldroid_shortvideo_core.so b/releases/releases_advanced/arm64-v8a/libpldroid_shortvideo_core.so index 2a2e393..638723c 100755 Binary files a/releases/releases_advanced/arm64-v8a/libpldroid_shortvideo_core.so and b/releases/releases_advanced/arm64-v8a/libpldroid_shortvideo_core.so differ diff --git a/releases/releases_advanced/armeabi-v7a/libpldroid_amix.so b/releases/releases_advanced/armeabi-v7a/libpldroid_amix.so index ea5d9d7..c54c838 100755 Binary files a/releases/releases_advanced/armeabi-v7a/libpldroid_amix.so and b/releases/releases_advanced/armeabi-v7a/libpldroid_amix.so differ diff --git a/releases/releases_advanced/armeabi-v7a/libpldroid_beauty.so b/releases/releases_advanced/armeabi-v7a/libpldroid_beauty.so index dd38266..8b3a9c2 100644 Binary files a/releases/releases_advanced/armeabi-v7a/libpldroid_beauty.so and b/releases/releases_advanced/armeabi-v7a/libpldroid_beauty.so differ diff --git a/releases/releases_advanced/armeabi-v7a/libpldroid_encoder.so b/releases/releases_advanced/armeabi-v7a/libpldroid_encoder.so index 18ce5a5..24b2223 100644 Binary files a/releases/releases_advanced/armeabi-v7a/libpldroid_encoder.so and b/releases/releases_advanced/armeabi-v7a/libpldroid_encoder.so differ diff --git a/releases/releases_advanced/armeabi-v7a/libpldroid_shortvideo_core.so b/releases/releases_advanced/armeabi-v7a/libpldroid_shortvideo_core.so index caae00b..c09336b 100755 Binary files a/releases/releases_advanced/armeabi-v7a/libpldroid_shortvideo_core.so and b/releases/releases_advanced/armeabi-v7a/libpldroid_shortvideo_core.so differ diff --git a/releases/releases_advanced/pldroid-shortvideo-3.3.0.jar b/releases/releases_advanced/pldroid-shortvideo-3.3.0.jar deleted file mode 100644 index f52e053..0000000 Binary files a/releases/releases_advanced/pldroid-shortvideo-3.3.0.jar and /dev/null differ diff --git a/releases/releases_advanced/pldroid-shortvideo-3.4.0.jar b/releases/releases_advanced/pldroid-shortvideo-3.4.0.jar new file mode 100644 index 0000000..b46e0a6 Binary files /dev/null and b/releases/releases_advanced/pldroid-shortvideo-3.4.0.jar differ diff --git a/releases/releases_advanced/x86/libpldroid_amix.so b/releases/releases_advanced/x86/libpldroid_amix.so index 873737e..17d2ec6 100755 Binary files a/releases/releases_advanced/x86/libpldroid_amix.so and b/releases/releases_advanced/x86/libpldroid_amix.so differ diff --git a/releases/releases_advanced/x86/libpldroid_beauty.so b/releases/releases_advanced/x86/libpldroid_beauty.so index 60789d2..fb67659 100644 Binary files a/releases/releases_advanced/x86/libpldroid_beauty.so and b/releases/releases_advanced/x86/libpldroid_beauty.so differ diff --git a/releases/releases_advanced/x86/libpldroid_encoder.so b/releases/releases_advanced/x86/libpldroid_encoder.so index 5197587..1d6349e 100644 Binary files a/releases/releases_advanced/x86/libpldroid_encoder.so and b/releases/releases_advanced/x86/libpldroid_encoder.so differ diff --git a/releases/releases_advanced/x86/libpldroid_shortvideo_core.so b/releases/releases_advanced/x86/libpldroid_shortvideo_core.so index ec8f001..c477526 100755 Binary files a/releases/releases_advanced/x86/libpldroid_shortvideo_core.so and b/releases/releases_advanced/x86/libpldroid_shortvideo_core.so differ diff --git a/releases/releases_basic/arm64-v8a/libQMedia.so b/releases/releases_basic/arm64-v8a/libQMedia.so deleted file mode 100644 index edccea3..0000000 Binary files a/releases/releases_basic/arm64-v8a/libQMedia.so and /dev/null differ diff --git a/releases/releases_basic/arm64-v8a/libpldroid_amix.so b/releases/releases_basic/arm64-v8a/libpldroid_amix.so index 57b3c16..0acb5cf 100755 Binary files a/releases/releases_basic/arm64-v8a/libpldroid_amix.so and b/releases/releases_basic/arm64-v8a/libpldroid_amix.so differ diff --git a/releases/releases_basic/arm64-v8a/libpldroid_beauty.so b/releases/releases_basic/arm64-v8a/libpldroid_beauty.so index 7a04780..aa38e81 100644 Binary files a/releases/releases_basic/arm64-v8a/libpldroid_beauty.so and b/releases/releases_basic/arm64-v8a/libpldroid_beauty.so differ diff --git a/releases/releases_basic/arm64-v8a/libpldroid_encoder.so b/releases/releases_basic/arm64-v8a/libpldroid_encoder.so index 4621508..b6a184a 100644 Binary files a/releases/releases_basic/arm64-v8a/libpldroid_encoder.so and b/releases/releases_basic/arm64-v8a/libpldroid_encoder.so differ diff --git a/releases/releases_basic/arm64-v8a/libpldroid_shortvideo_core.so b/releases/releases_basic/arm64-v8a/libpldroid_shortvideo_core.so index 2a2e393..638723c 100755 Binary files a/releases/releases_basic/arm64-v8a/libpldroid_shortvideo_core.so and b/releases/releases_basic/arm64-v8a/libpldroid_shortvideo_core.so differ diff --git a/releases/releases_basic/armeabi-v7a/libpldroid_amix.so b/releases/releases_basic/armeabi-v7a/libpldroid_amix.so index ea5d9d7..c54c838 100755 Binary files a/releases/releases_basic/armeabi-v7a/libpldroid_amix.so and b/releases/releases_basic/armeabi-v7a/libpldroid_amix.so differ diff --git a/releases/releases_basic/armeabi-v7a/libpldroid_beauty.so b/releases/releases_basic/armeabi-v7a/libpldroid_beauty.so index dd38266..8b3a9c2 100644 Binary files a/releases/releases_basic/armeabi-v7a/libpldroid_beauty.so and b/releases/releases_basic/armeabi-v7a/libpldroid_beauty.so differ diff --git a/releases/releases_basic/armeabi-v7a/libpldroid_encoder.so b/releases/releases_basic/armeabi-v7a/libpldroid_encoder.so index 18ce5a5..24b2223 100644 Binary files a/releases/releases_basic/armeabi-v7a/libpldroid_encoder.so and b/releases/releases_basic/armeabi-v7a/libpldroid_encoder.so differ diff --git a/releases/releases_basic/armeabi-v7a/libpldroid_shortvideo_core.so b/releases/releases_basic/armeabi-v7a/libpldroid_shortvideo_core.so index caae00b..c09336b 100755 Binary files a/releases/releases_basic/armeabi-v7a/libpldroid_shortvideo_core.so and b/releases/releases_basic/armeabi-v7a/libpldroid_shortvideo_core.so differ diff --git a/releases/releases_basic/pldroid-shortvideo-3.3.0.jar b/releases/releases_basic/pldroid-shortvideo-3.3.0.jar deleted file mode 100644 index 179159e..0000000 Binary files a/releases/releases_basic/pldroid-shortvideo-3.3.0.jar and /dev/null differ diff --git a/releases/releases_basic/pldroid-shortvideo-3.4.0.jar b/releases/releases_basic/pldroid-shortvideo-3.4.0.jar new file mode 100644 index 0000000..a9b9c55 Binary files /dev/null and b/releases/releases_basic/pldroid-shortvideo-3.4.0.jar differ diff --git a/releases/releases_basic/x86/libQMedia.so b/releases/releases_basic/x86/libQMedia.so deleted file mode 100644 index 98db050..0000000 Binary files a/releases/releases_basic/x86/libQMedia.so and /dev/null differ diff --git a/releases/releases_basic/x86/libpldroid_amix.so b/releases/releases_basic/x86/libpldroid_amix.so index 873737e..17d2ec6 100755 Binary files a/releases/releases_basic/x86/libpldroid_amix.so and b/releases/releases_basic/x86/libpldroid_amix.so differ diff --git a/releases/releases_basic/x86/libpldroid_beauty.so b/releases/releases_basic/x86/libpldroid_beauty.so index 60789d2..fb67659 100644 Binary files a/releases/releases_basic/x86/libpldroid_beauty.so and b/releases/releases_basic/x86/libpldroid_beauty.so differ diff --git a/releases/releases_basic/x86/libpldroid_encoder.so b/releases/releases_basic/x86/libpldroid_encoder.so index 5197587..1d6349e 100644 Binary files a/releases/releases_basic/x86/libpldroid_encoder.so and b/releases/releases_basic/x86/libpldroid_encoder.so differ diff --git a/releases/releases_basic/x86/libpldroid_shortvideo_core.so b/releases/releases_basic/x86/libpldroid_shortvideo_core.so index ec8f001..c477526 100755 Binary files a/releases/releases_basic/x86/libpldroid_shortvideo_core.so and b/releases/releases_basic/x86/libpldroid_shortvideo_core.so differ diff --git a/releases/releases_professional/arm64-v8a/libpldroid_amix.so b/releases/releases_professional/arm64-v8a/libpldroid_amix.so index 57b3c16..0acb5cf 100755 Binary files a/releases/releases_professional/arm64-v8a/libpldroid_amix.so and b/releases/releases_professional/arm64-v8a/libpldroid_amix.so differ diff --git a/releases/releases_professional/arm64-v8a/libpldroid_beauty.so b/releases/releases_professional/arm64-v8a/libpldroid_beauty.so index 7a04780..aa38e81 100644 Binary files a/releases/releases_professional/arm64-v8a/libpldroid_beauty.so and b/releases/releases_professional/arm64-v8a/libpldroid_beauty.so differ diff --git a/releases/releases_professional/arm64-v8a/libpldroid_encoder.so b/releases/releases_professional/arm64-v8a/libpldroid_encoder.so index 4621508..b6a184a 100644 Binary files a/releases/releases_professional/arm64-v8a/libpldroid_encoder.so and b/releases/releases_professional/arm64-v8a/libpldroid_encoder.so differ diff --git a/releases/releases_professional/arm64-v8a/libpldroid_shortvideo_core.so b/releases/releases_professional/arm64-v8a/libpldroid_shortvideo_core.so index 2a2e393..638723c 100755 Binary files a/releases/releases_professional/arm64-v8a/libpldroid_shortvideo_core.so and b/releases/releases_professional/arm64-v8a/libpldroid_shortvideo_core.so differ diff --git a/releases/releases_professional/armeabi-v7a/libpldroid_amix.so b/releases/releases_professional/armeabi-v7a/libpldroid_amix.so index ea5d9d7..c54c838 100755 Binary files a/releases/releases_professional/armeabi-v7a/libpldroid_amix.so and b/releases/releases_professional/armeabi-v7a/libpldroid_amix.so differ diff --git a/releases/releases_professional/armeabi-v7a/libpldroid_beauty.so b/releases/releases_professional/armeabi-v7a/libpldroid_beauty.so index dd38266..8b3a9c2 100644 Binary files a/releases/releases_professional/armeabi-v7a/libpldroid_beauty.so and b/releases/releases_professional/armeabi-v7a/libpldroid_beauty.so differ diff --git a/releases/releases_professional/armeabi-v7a/libpldroid_encoder.so b/releases/releases_professional/armeabi-v7a/libpldroid_encoder.so index 18ce5a5..24b2223 100644 Binary files a/releases/releases_professional/armeabi-v7a/libpldroid_encoder.so and b/releases/releases_professional/armeabi-v7a/libpldroid_encoder.so differ diff --git a/releases/releases_professional/armeabi-v7a/libpldroid_shortvideo_core.so b/releases/releases_professional/armeabi-v7a/libpldroid_shortvideo_core.so index caae00b..c09336b 100755 Binary files a/releases/releases_professional/armeabi-v7a/libpldroid_shortvideo_core.so and b/releases/releases_professional/armeabi-v7a/libpldroid_shortvideo_core.so differ diff --git a/releases/releases_professional/pldroid-shortvideo-3.3.0.jar b/releases/releases_professional/pldroid-shortvideo-3.3.0.jar deleted file mode 100644 index 16dae35..0000000 Binary files a/releases/releases_professional/pldroid-shortvideo-3.3.0.jar and /dev/null differ diff --git a/releases/releases_professional/pldroid-shortvideo-3.4.0.jar b/releases/releases_professional/pldroid-shortvideo-3.4.0.jar new file mode 100644 index 0000000..7d185ca Binary files /dev/null and b/releases/releases_professional/pldroid-shortvideo-3.4.0.jar differ diff --git a/releases/releases_professional/x86/libpldroid_amix.so b/releases/releases_professional/x86/libpldroid_amix.so index 873737e..17d2ec6 100755 Binary files a/releases/releases_professional/x86/libpldroid_amix.so and b/releases/releases_professional/x86/libpldroid_amix.so differ diff --git a/releases/releases_professional/x86/libpldroid_beauty.so b/releases/releases_professional/x86/libpldroid_beauty.so index 60789d2..fb67659 100644 Binary files a/releases/releases_professional/x86/libpldroid_beauty.so and b/releases/releases_professional/x86/libpldroid_beauty.so differ diff --git a/releases/releases_professional/x86/libpldroid_encoder.so b/releases/releases_professional/x86/libpldroid_encoder.so index 5197587..1d6349e 100644 Binary files a/releases/releases_professional/x86/libpldroid_encoder.so and b/releases/releases_professional/x86/libpldroid_encoder.so differ diff --git a/releases/releases_professional/x86/libpldroid_shortvideo_core.so b/releases/releases_professional/x86/libpldroid_shortvideo_core.so index ec8f001..c477526 100755 Binary files a/releases/releases_professional/x86/libpldroid_shortvideo_core.so and b/releases/releases_professional/x86/libpldroid_shortvideo_core.so differ diff --git a/releases/releases_smart/arm64-v8a/libpldroid_beauty.so b/releases/releases_smart/arm64-v8a/libpldroid_beauty.so index 7a04780..aa38e81 100644 Binary files a/releases/releases_smart/arm64-v8a/libpldroid_beauty.so and b/releases/releases_smart/arm64-v8a/libpldroid_beauty.so differ diff --git a/releases/releases_smart/arm64-v8a/libpldroid_encoder.so b/releases/releases_smart/arm64-v8a/libpldroid_encoder.so index 4621508..b6a184a 100644 Binary files a/releases/releases_smart/arm64-v8a/libpldroid_encoder.so and b/releases/releases_smart/arm64-v8a/libpldroid_encoder.so differ diff --git a/releases/releases_smart/arm64-v8a/libpldroid_shortvideo_core.so b/releases/releases_smart/arm64-v8a/libpldroid_shortvideo_core.so index 2a2e393..638723c 100755 Binary files a/releases/releases_smart/arm64-v8a/libpldroid_shortvideo_core.so and b/releases/releases_smart/arm64-v8a/libpldroid_shortvideo_core.so differ diff --git a/releases/releases_smart/armeabi-v7a/libpldroid_beauty.so b/releases/releases_smart/armeabi-v7a/libpldroid_beauty.so index dd38266..8b3a9c2 100644 Binary files a/releases/releases_smart/armeabi-v7a/libpldroid_beauty.so and b/releases/releases_smart/armeabi-v7a/libpldroid_beauty.so differ diff --git a/releases/releases_smart/armeabi-v7a/libpldroid_encoder.so b/releases/releases_smart/armeabi-v7a/libpldroid_encoder.so index 18ce5a5..24b2223 100644 Binary files a/releases/releases_smart/armeabi-v7a/libpldroid_encoder.so and b/releases/releases_smart/armeabi-v7a/libpldroid_encoder.so differ diff --git a/releases/releases_smart/armeabi-v7a/libpldroid_shortvideo_core.so b/releases/releases_smart/armeabi-v7a/libpldroid_shortvideo_core.so index caae00b..c09336b 100755 Binary files a/releases/releases_smart/armeabi-v7a/libpldroid_shortvideo_core.so and b/releases/releases_smart/armeabi-v7a/libpldroid_shortvideo_core.so differ diff --git a/releases/releases_smart/pldroid-shortvideo-3.3.0.jar b/releases/releases_smart/pldroid-shortvideo-3.3.0.jar deleted file mode 100644 index 272adbc..0000000 Binary files a/releases/releases_smart/pldroid-shortvideo-3.3.0.jar and /dev/null differ diff --git a/releases/releases_smart/pldroid-shortvideo-3.4.0.jar b/releases/releases_smart/pldroid-shortvideo-3.4.0.jar new file mode 100644 index 0000000..e2b3e75 Binary files /dev/null and b/releases/releases_smart/pldroid-shortvideo-3.4.0.jar differ diff --git a/releases/releases_smart/x86/libpldroid_beauty.so b/releases/releases_smart/x86/libpldroid_beauty.so index 60789d2..fb67659 100644 Binary files a/releases/releases_smart/x86/libpldroid_beauty.so and b/releases/releases_smart/x86/libpldroid_beauty.so differ diff --git a/releases/releases_smart/x86/libpldroid_encoder.so b/releases/releases_smart/x86/libpldroid_encoder.so index 5197587..1d6349e 100644 Binary files a/releases/releases_smart/x86/libpldroid_encoder.so and b/releases/releases_smart/x86/libpldroid_encoder.so differ diff --git a/releases/releases_smart/x86/libpldroid_shortvideo_core.so b/releases/releases_smart/x86/libpldroid_shortvideo_core.so index ec8f001..c477526 100755 Binary files a/releases/releases_smart/x86/libpldroid_shortvideo_core.so and b/releases/releases_smart/x86/libpldroid_shortvideo_core.so differ