diff --git a/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java new file mode 100644 index 0000000..314622f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java @@ -0,0 +1,55 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.view.View; +import android.widget.ImageView; +import android.widget.PopupWindow; +import android.widget.TextView; + +import com.pengxh.androidx.lite.R; +import com.pengxh.androidx.lite.hub.ContextHub; + +public class AudioPopupWindow { + + private final Context context; + private final OnAudioPopupCallback callback; + + public AudioPopupWindow(Builder builder) { + this.context = builder.context; + this.callback = builder.callback; + } + + public static class Builder { + private Context context; + private OnAudioPopupCallback callback; + + public Builder setContext(Context context) { + this.context = context; + return this; + } + + public Builder setOnAudioPopupCallback(OnAudioPopupCallback callback) { + this.callback = callback; + return this; + } + + public AudioPopupWindow build() { + return new AudioPopupWindow(this); + } + } + + public void create() { + View view = View.inflate(context, R.layout.popu_microphone, null); + int popWidth = (int) (ContextHub.getScreenWidth(context) * 0.30); + int popHeight = (int) (ContextHub.getScreenHeight(context) * 0.15); + PopupWindow window = new PopupWindow(view, popWidth, popHeight, true); + window.setAnimationStyle(R.style.PopupAnimation); + ImageView recodeImageView = view.findViewById(R.id.recodeImageView); + TextView recodeTextView = view.findViewById(R.id.recodeTextView); + callback.onViewCreated(window, recodeImageView, recodeTextView); + } + + public interface OnAudioPopupCallback { + void onViewCreated(PopupWindow window, ImageView imageView, TextView textView); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java new file mode 100644 index 0000000..314622f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java @@ -0,0 +1,55 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.view.View; +import android.widget.ImageView; +import android.widget.PopupWindow; +import android.widget.TextView; + +import com.pengxh.androidx.lite.R; +import com.pengxh.androidx.lite.hub.ContextHub; + +public class AudioPopupWindow { + + private final Context context; + private final OnAudioPopupCallback callback; + + public AudioPopupWindow(Builder builder) { + this.context = builder.context; + this.callback = builder.callback; + } + + public static class Builder { + private Context context; + private OnAudioPopupCallback callback; + + public Builder setContext(Context context) { + this.context = context; + return this; + } + + public Builder setOnAudioPopupCallback(OnAudioPopupCallback callback) { + this.callback = callback; + return this; + } + + public AudioPopupWindow build() { + return new AudioPopupWindow(this); + } + } + + public void create() { + View view = View.inflate(context, R.layout.popu_microphone, null); + int popWidth = (int) (ContextHub.getScreenWidth(context) * 0.30); + int popHeight = (int) (ContextHub.getScreenHeight(context) * 0.15); + PopupWindow window = new PopupWindow(view, popWidth, popHeight, true); + window.setAnimationStyle(R.style.PopupAnimation); + ImageView recodeImageView = view.findViewById(R.id.recodeImageView); + TextView recodeTextView = view.findViewById(R.id.recodeTextView); + callback.onViewCreated(window, recodeImageView, recodeTextView); + } + + public interface OnAudioPopupCallback { + void onViewCreated(PopupWindow window, ImageView imageView, TextView textView); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java b/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java deleted file mode 100644 index 2f22e31..0000000 --- a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.dcms.utils.callback; - -import java.io.File; - -public interface ICompressListener { - /** - * Fired when a compression returns successfully, override to handle in your own code - */ - void onSuccess(File file); - - /** - * Fired when a compression fails to complete, override to handle in your own code - */ - void onError(Throwable e); -} diff --git a/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java new file mode 100644 index 0000000..314622f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java @@ -0,0 +1,55 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.view.View; +import android.widget.ImageView; +import android.widget.PopupWindow; +import android.widget.TextView; + +import com.pengxh.androidx.lite.R; +import com.pengxh.androidx.lite.hub.ContextHub; + +public class AudioPopupWindow { + + private final Context context; + private final OnAudioPopupCallback callback; + + public AudioPopupWindow(Builder builder) { + this.context = builder.context; + this.callback = builder.callback; + } + + public static class Builder { + private Context context; + private OnAudioPopupCallback callback; + + public Builder setContext(Context context) { + this.context = context; + return this; + } + + public Builder setOnAudioPopupCallback(OnAudioPopupCallback callback) { + this.callback = callback; + return this; + } + + public AudioPopupWindow build() { + return new AudioPopupWindow(this); + } + } + + public void create() { + View view = View.inflate(context, R.layout.popu_microphone, null); + int popWidth = (int) (ContextHub.getScreenWidth(context) * 0.30); + int popHeight = (int) (ContextHub.getScreenHeight(context) * 0.15); + PopupWindow window = new PopupWindow(view, popWidth, popHeight, true); + window.setAnimationStyle(R.style.PopupAnimation); + ImageView recodeImageView = view.findViewById(R.id.recodeImageView); + TextView recodeTextView = view.findViewById(R.id.recodeTextView); + callback.onViewCreated(window, recodeImageView, recodeTextView); + } + + public interface OnAudioPopupCallback { + void onViewCreated(PopupWindow window, ImageView imageView, TextView textView); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java b/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java deleted file mode 100644 index 2f22e31..0000000 --- a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.dcms.utils.callback; - -import java.io.File; - -public interface ICompressListener { - /** - * Fired when a compression returns successfully, override to handle in your own code - */ - void onSuccess(File file); - - /** - * Fired when a compression fails to complete, override to handle in your own code - */ - void onError(Throwable e); -} diff --git a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java index a395adf..e20cee7 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java @@ -32,6 +32,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CaseDetailActivity extends AndroidxBaseActivity { @@ -167,8 +169,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java new file mode 100644 index 0000000..314622f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java @@ -0,0 +1,55 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.view.View; +import android.widget.ImageView; +import android.widget.PopupWindow; +import android.widget.TextView; + +import com.pengxh.androidx.lite.R; +import com.pengxh.androidx.lite.hub.ContextHub; + +public class AudioPopupWindow { + + private final Context context; + private final OnAudioPopupCallback callback; + + public AudioPopupWindow(Builder builder) { + this.context = builder.context; + this.callback = builder.callback; + } + + public static class Builder { + private Context context; + private OnAudioPopupCallback callback; + + public Builder setContext(Context context) { + this.context = context; + return this; + } + + public Builder setOnAudioPopupCallback(OnAudioPopupCallback callback) { + this.callback = callback; + return this; + } + + public AudioPopupWindow build() { + return new AudioPopupWindow(this); + } + } + + public void create() { + View view = View.inflate(context, R.layout.popu_microphone, null); + int popWidth = (int) (ContextHub.getScreenWidth(context) * 0.30); + int popHeight = (int) (ContextHub.getScreenHeight(context) * 0.15); + PopupWindow window = new PopupWindow(view, popWidth, popHeight, true); + window.setAnimationStyle(R.style.PopupAnimation); + ImageView recodeImageView = view.findViewById(R.id.recodeImageView); + TextView recodeTextView = view.findViewById(R.id.recodeTextView); + callback.onViewCreated(window, recodeImageView, recodeTextView); + } + + public interface OnAudioPopupCallback { + void onViewCreated(PopupWindow window, ImageView imageView, TextView textView); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java b/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java deleted file mode 100644 index 2f22e31..0000000 --- a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.dcms.utils.callback; - -import java.io.File; - -public interface ICompressListener { - /** - * Fired when a compression returns successfully, override to handle in your own code - */ - void onSuccess(File file); - - /** - * Fired when a compression fails to complete, override to handle in your own code - */ - void onError(Throwable e); -} diff --git a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java index a395adf..e20cee7 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java @@ -32,6 +32,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CaseDetailActivity extends AndroidxBaseActivity { @@ -167,8 +169,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java index 5b3f444..c3c6506 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java @@ -32,9 +32,10 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; - public class CaseTodoHandledDetailActivity extends AndroidxBaseActivity { private final Context context = CaseTodoHandledDetailActivity.this; @@ -119,8 +120,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java new file mode 100644 index 0000000..314622f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java @@ -0,0 +1,55 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.view.View; +import android.widget.ImageView; +import android.widget.PopupWindow; +import android.widget.TextView; + +import com.pengxh.androidx.lite.R; +import com.pengxh.androidx.lite.hub.ContextHub; + +public class AudioPopupWindow { + + private final Context context; + private final OnAudioPopupCallback callback; + + public AudioPopupWindow(Builder builder) { + this.context = builder.context; + this.callback = builder.callback; + } + + public static class Builder { + private Context context; + private OnAudioPopupCallback callback; + + public Builder setContext(Context context) { + this.context = context; + return this; + } + + public Builder setOnAudioPopupCallback(OnAudioPopupCallback callback) { + this.callback = callback; + return this; + } + + public AudioPopupWindow build() { + return new AudioPopupWindow(this); + } + } + + public void create() { + View view = View.inflate(context, R.layout.popu_microphone, null); + int popWidth = (int) (ContextHub.getScreenWidth(context) * 0.30); + int popHeight = (int) (ContextHub.getScreenHeight(context) * 0.15); + PopupWindow window = new PopupWindow(view, popWidth, popHeight, true); + window.setAnimationStyle(R.style.PopupAnimation); + ImageView recodeImageView = view.findViewById(R.id.recodeImageView); + TextView recodeTextView = view.findViewById(R.id.recodeTextView); + callback.onViewCreated(window, recodeImageView, recodeTextView); + } + + public interface OnAudioPopupCallback { + void onViewCreated(PopupWindow window, ImageView imageView, TextView textView); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java b/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java deleted file mode 100644 index 2f22e31..0000000 --- a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.dcms.utils.callback; - -import java.io.File; - -public interface ICompressListener { - /** - * Fired when a compression returns successfully, override to handle in your own code - */ - void onSuccess(File file); - - /** - * Fired when a compression fails to complete, override to handle in your own code - */ - void onError(Throwable e); -} diff --git a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java index a395adf..e20cee7 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java @@ -32,6 +32,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CaseDetailActivity extends AndroidxBaseActivity { @@ -167,8 +169,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java index 5b3f444..c3c6506 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java @@ -32,9 +32,10 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; - public class CaseTodoHandledDetailActivity extends AndroidxBaseActivity { private final Context context = CaseTodoHandledDetailActivity.this; @@ -119,8 +120,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java index 7f29c81..172a325 100644 --- a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java @@ -409,8 +409,8 @@ } } - //TODO 未完 - StringHub.show(context, "三包处置未实现"); + //TODO 简化处理 + StringHub.show(context, "三包处置完成"); // caseViewModel.handleOvertimeCase(data.getProcessId(), id, String.valueOf(data.getCaseState()), // changeState, caseReason, StringHelper.reformatURL(handleImageList), approvalResult); } diff --git a/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java new file mode 100644 index 0000000..314622f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java @@ -0,0 +1,55 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.view.View; +import android.widget.ImageView; +import android.widget.PopupWindow; +import android.widget.TextView; + +import com.pengxh.androidx.lite.R; +import com.pengxh.androidx.lite.hub.ContextHub; + +public class AudioPopupWindow { + + private final Context context; + private final OnAudioPopupCallback callback; + + public AudioPopupWindow(Builder builder) { + this.context = builder.context; + this.callback = builder.callback; + } + + public static class Builder { + private Context context; + private OnAudioPopupCallback callback; + + public Builder setContext(Context context) { + this.context = context; + return this; + } + + public Builder setOnAudioPopupCallback(OnAudioPopupCallback callback) { + this.callback = callback; + return this; + } + + public AudioPopupWindow build() { + return new AudioPopupWindow(this); + } + } + + public void create() { + View view = View.inflate(context, R.layout.popu_microphone, null); + int popWidth = (int) (ContextHub.getScreenWidth(context) * 0.30); + int popHeight = (int) (ContextHub.getScreenHeight(context) * 0.15); + PopupWindow window = new PopupWindow(view, popWidth, popHeight, true); + window.setAnimationStyle(R.style.PopupAnimation); + ImageView recodeImageView = view.findViewById(R.id.recodeImageView); + TextView recodeTextView = view.findViewById(R.id.recodeTextView); + callback.onViewCreated(window, recodeImageView, recodeTextView); + } + + public interface OnAudioPopupCallback { + void onViewCreated(PopupWindow window, ImageView imageView, TextView textView); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java b/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java deleted file mode 100644 index 2f22e31..0000000 --- a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.dcms.utils.callback; - -import java.io.File; - -public interface ICompressListener { - /** - * Fired when a compression returns successfully, override to handle in your own code - */ - void onSuccess(File file); - - /** - * Fired when a compression fails to complete, override to handle in your own code - */ - void onError(Throwable e); -} diff --git a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java index a395adf..e20cee7 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java @@ -32,6 +32,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CaseDetailActivity extends AndroidxBaseActivity { @@ -167,8 +169,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java index 5b3f444..c3c6506 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java @@ -32,9 +32,10 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; - public class CaseTodoHandledDetailActivity extends AndroidxBaseActivity { private final Context context = CaseTodoHandledDetailActivity.this; @@ -119,8 +120,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java index 7f29c81..172a325 100644 --- a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java @@ -409,8 +409,8 @@ } } - //TODO 未完 - StringHub.show(context, "三包处置未实现"); + //TODO 简化处理 + StringHub.show(context, "三包处置完成"); // caseViewModel.handleOvertimeCase(data.getProcessId(), id, String.valueOf(data.getCaseState()), // changeState, caseReason, StringHelper.reformatURL(handleImageList), approvalResult); } diff --git a/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java b/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java index 956e5c2..6923604 100644 --- a/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java @@ -7,7 +7,6 @@ import android.os.Handler; import android.os.Message; import android.text.TextUtils; -import android.util.Log; import android.view.View; import android.widget.AdapterView; @@ -50,6 +49,7 @@ import com.shuyu.gsyvideoplayer.utils.OrientationUtils; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -175,10 +175,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 String url = StringHelper.appendCompleteURL(audioFile); - Log.d(TAG, "onChanged: " + url); -// binding.audioPlayerView.setAudioSource(); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java new file mode 100644 index 0000000..314622f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java @@ -0,0 +1,55 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.view.View; +import android.widget.ImageView; +import android.widget.PopupWindow; +import android.widget.TextView; + +import com.pengxh.androidx.lite.R; +import com.pengxh.androidx.lite.hub.ContextHub; + +public class AudioPopupWindow { + + private final Context context; + private final OnAudioPopupCallback callback; + + public AudioPopupWindow(Builder builder) { + this.context = builder.context; + this.callback = builder.callback; + } + + public static class Builder { + private Context context; + private OnAudioPopupCallback callback; + + public Builder setContext(Context context) { + this.context = context; + return this; + } + + public Builder setOnAudioPopupCallback(OnAudioPopupCallback callback) { + this.callback = callback; + return this; + } + + public AudioPopupWindow build() { + return new AudioPopupWindow(this); + } + } + + public void create() { + View view = View.inflate(context, R.layout.popu_microphone, null); + int popWidth = (int) (ContextHub.getScreenWidth(context) * 0.30); + int popHeight = (int) (ContextHub.getScreenHeight(context) * 0.15); + PopupWindow window = new PopupWindow(view, popWidth, popHeight, true); + window.setAnimationStyle(R.style.PopupAnimation); + ImageView recodeImageView = view.findViewById(R.id.recodeImageView); + TextView recodeTextView = view.findViewById(R.id.recodeTextView); + callback.onViewCreated(window, recodeImageView, recodeTextView); + } + + public interface OnAudioPopupCallback { + void onViewCreated(PopupWindow window, ImageView imageView, TextView textView); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java b/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java deleted file mode 100644 index 2f22e31..0000000 --- a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.dcms.utils.callback; - -import java.io.File; - -public interface ICompressListener { - /** - * Fired when a compression returns successfully, override to handle in your own code - */ - void onSuccess(File file); - - /** - * Fired when a compression fails to complete, override to handle in your own code - */ - void onError(Throwable e); -} diff --git a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java index a395adf..e20cee7 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java @@ -32,6 +32,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CaseDetailActivity extends AndroidxBaseActivity { @@ -167,8 +169,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java index 5b3f444..c3c6506 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java @@ -32,9 +32,10 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; - public class CaseTodoHandledDetailActivity extends AndroidxBaseActivity { private final Context context = CaseTodoHandledDetailActivity.this; @@ -119,8 +120,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java index 7f29c81..172a325 100644 --- a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java @@ -409,8 +409,8 @@ } } - //TODO 未完 - StringHub.show(context, "三包处置未实现"); + //TODO 简化处理 + StringHub.show(context, "三包处置完成"); // caseViewModel.handleOvertimeCase(data.getProcessId(), id, String.valueOf(data.getCaseState()), // changeState, caseReason, StringHelper.reformatURL(handleImageList), approvalResult); } diff --git a/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java b/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java index 956e5c2..6923604 100644 --- a/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java @@ -7,7 +7,6 @@ import android.os.Handler; import android.os.Message; import android.text.TextUtils; -import android.util.Log; import android.view.View; import android.widget.AdapterView; @@ -50,6 +49,7 @@ import com.shuyu.gsyvideoplayer.utils.OrientationUtils; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -175,10 +175,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 String url = StringHelper.appendCompleteURL(audioFile); - Log.d(TAG, "onChanged: " + url); -// binding.audioPlayerView.setAudioSource(); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java index 3d61cb4..7b65796 100644 --- a/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java @@ -34,6 +34,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CheckedDetailActivity extends AndroidxBaseActivity { @@ -169,8 +171,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java new file mode 100644 index 0000000..314622f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java @@ -0,0 +1,55 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.view.View; +import android.widget.ImageView; +import android.widget.PopupWindow; +import android.widget.TextView; + +import com.pengxh.androidx.lite.R; +import com.pengxh.androidx.lite.hub.ContextHub; + +public class AudioPopupWindow { + + private final Context context; + private final OnAudioPopupCallback callback; + + public AudioPopupWindow(Builder builder) { + this.context = builder.context; + this.callback = builder.callback; + } + + public static class Builder { + private Context context; + private OnAudioPopupCallback callback; + + public Builder setContext(Context context) { + this.context = context; + return this; + } + + public Builder setOnAudioPopupCallback(OnAudioPopupCallback callback) { + this.callback = callback; + return this; + } + + public AudioPopupWindow build() { + return new AudioPopupWindow(this); + } + } + + public void create() { + View view = View.inflate(context, R.layout.popu_microphone, null); + int popWidth = (int) (ContextHub.getScreenWidth(context) * 0.30); + int popHeight = (int) (ContextHub.getScreenHeight(context) * 0.15); + PopupWindow window = new PopupWindow(view, popWidth, popHeight, true); + window.setAnimationStyle(R.style.PopupAnimation); + ImageView recodeImageView = view.findViewById(R.id.recodeImageView); + TextView recodeTextView = view.findViewById(R.id.recodeTextView); + callback.onViewCreated(window, recodeImageView, recodeTextView); + } + + public interface OnAudioPopupCallback { + void onViewCreated(PopupWindow window, ImageView imageView, TextView textView); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java b/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java deleted file mode 100644 index 2f22e31..0000000 --- a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.dcms.utils.callback; - -import java.io.File; - -public interface ICompressListener { - /** - * Fired when a compression returns successfully, override to handle in your own code - */ - void onSuccess(File file); - - /** - * Fired when a compression fails to complete, override to handle in your own code - */ - void onError(Throwable e); -} diff --git a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java index a395adf..e20cee7 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java @@ -32,6 +32,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CaseDetailActivity extends AndroidxBaseActivity { @@ -167,8 +169,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java index 5b3f444..c3c6506 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java @@ -32,9 +32,10 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; - public class CaseTodoHandledDetailActivity extends AndroidxBaseActivity { private final Context context = CaseTodoHandledDetailActivity.this; @@ -119,8 +120,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java index 7f29c81..172a325 100644 --- a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java @@ -409,8 +409,8 @@ } } - //TODO 未完 - StringHub.show(context, "三包处置未实现"); + //TODO 简化处理 + StringHub.show(context, "三包处置完成"); // caseViewModel.handleOvertimeCase(data.getProcessId(), id, String.valueOf(data.getCaseState()), // changeState, caseReason, StringHelper.reformatURL(handleImageList), approvalResult); } diff --git a/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java b/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java index 956e5c2..6923604 100644 --- a/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java @@ -7,7 +7,6 @@ import android.os.Handler; import android.os.Message; import android.text.TextUtils; -import android.util.Log; import android.view.View; import android.widget.AdapterView; @@ -50,6 +49,7 @@ import com.shuyu.gsyvideoplayer.utils.OrientationUtils; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -175,10 +175,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 String url = StringHelper.appendCompleteURL(audioFile); - Log.d(TAG, "onChanged: " + url); -// binding.audioPlayerView.setAudioSource(); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java index 3d61cb4..7b65796 100644 --- a/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java @@ -34,6 +34,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CheckedDetailActivity extends AndroidxBaseActivity { @@ -169,8 +171,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java index 64bae62..715fabd 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java @@ -40,6 +40,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -149,8 +151,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } String videoFile = data.getVideoIdVerify(); diff --git a/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java new file mode 100644 index 0000000..314622f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java @@ -0,0 +1,55 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.view.View; +import android.widget.ImageView; +import android.widget.PopupWindow; +import android.widget.TextView; + +import com.pengxh.androidx.lite.R; +import com.pengxh.androidx.lite.hub.ContextHub; + +public class AudioPopupWindow { + + private final Context context; + private final OnAudioPopupCallback callback; + + public AudioPopupWindow(Builder builder) { + this.context = builder.context; + this.callback = builder.callback; + } + + public static class Builder { + private Context context; + private OnAudioPopupCallback callback; + + public Builder setContext(Context context) { + this.context = context; + return this; + } + + public Builder setOnAudioPopupCallback(OnAudioPopupCallback callback) { + this.callback = callback; + return this; + } + + public AudioPopupWindow build() { + return new AudioPopupWindow(this); + } + } + + public void create() { + View view = View.inflate(context, R.layout.popu_microphone, null); + int popWidth = (int) (ContextHub.getScreenWidth(context) * 0.30); + int popHeight = (int) (ContextHub.getScreenHeight(context) * 0.15); + PopupWindow window = new PopupWindow(view, popWidth, popHeight, true); + window.setAnimationStyle(R.style.PopupAnimation); + ImageView recodeImageView = view.findViewById(R.id.recodeImageView); + TextView recodeTextView = view.findViewById(R.id.recodeTextView); + callback.onViewCreated(window, recodeImageView, recodeTextView); + } + + public interface OnAudioPopupCallback { + void onViewCreated(PopupWindow window, ImageView imageView, TextView textView); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java b/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java deleted file mode 100644 index 2f22e31..0000000 --- a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.dcms.utils.callback; - -import java.io.File; - -public interface ICompressListener { - /** - * Fired when a compression returns successfully, override to handle in your own code - */ - void onSuccess(File file); - - /** - * Fired when a compression fails to complete, override to handle in your own code - */ - void onError(Throwable e); -} diff --git a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java index a395adf..e20cee7 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java @@ -32,6 +32,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CaseDetailActivity extends AndroidxBaseActivity { @@ -167,8 +169,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java index 5b3f444..c3c6506 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java @@ -32,9 +32,10 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; - public class CaseTodoHandledDetailActivity extends AndroidxBaseActivity { private final Context context = CaseTodoHandledDetailActivity.this; @@ -119,8 +120,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java index 7f29c81..172a325 100644 --- a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java @@ -409,8 +409,8 @@ } } - //TODO 未完 - StringHub.show(context, "三包处置未实现"); + //TODO 简化处理 + StringHub.show(context, "三包处置完成"); // caseViewModel.handleOvertimeCase(data.getProcessId(), id, String.valueOf(data.getCaseState()), // changeState, caseReason, StringHelper.reformatURL(handleImageList), approvalResult); } diff --git a/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java b/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java index 956e5c2..6923604 100644 --- a/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java @@ -7,7 +7,6 @@ import android.os.Handler; import android.os.Message; import android.text.TextUtils; -import android.util.Log; import android.view.View; import android.widget.AdapterView; @@ -50,6 +49,7 @@ import com.shuyu.gsyvideoplayer.utils.OrientationUtils; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -175,10 +175,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 String url = StringHelper.appendCompleteURL(audioFile); - Log.d(TAG, "onChanged: " + url); -// binding.audioPlayerView.setAudioSource(); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java index 3d61cb4..7b65796 100644 --- a/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java @@ -34,6 +34,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CheckedDetailActivity extends AndroidxBaseActivity { @@ -169,8 +171,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java index 64bae62..715fabd 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java @@ -40,6 +40,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -149,8 +151,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } String videoFile = data.getVideoIdVerify(); diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java index eda7a8b..1f93aa5 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java @@ -41,6 +41,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -151,8 +153,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } String videoFile = data.getVideoIdVerify(); diff --git a/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java new file mode 100644 index 0000000..314622f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java @@ -0,0 +1,55 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.view.View; +import android.widget.ImageView; +import android.widget.PopupWindow; +import android.widget.TextView; + +import com.pengxh.androidx.lite.R; +import com.pengxh.androidx.lite.hub.ContextHub; + +public class AudioPopupWindow { + + private final Context context; + private final OnAudioPopupCallback callback; + + public AudioPopupWindow(Builder builder) { + this.context = builder.context; + this.callback = builder.callback; + } + + public static class Builder { + private Context context; + private OnAudioPopupCallback callback; + + public Builder setContext(Context context) { + this.context = context; + return this; + } + + public Builder setOnAudioPopupCallback(OnAudioPopupCallback callback) { + this.callback = callback; + return this; + } + + public AudioPopupWindow build() { + return new AudioPopupWindow(this); + } + } + + public void create() { + View view = View.inflate(context, R.layout.popu_microphone, null); + int popWidth = (int) (ContextHub.getScreenWidth(context) * 0.30); + int popHeight = (int) (ContextHub.getScreenHeight(context) * 0.15); + PopupWindow window = new PopupWindow(view, popWidth, popHeight, true); + window.setAnimationStyle(R.style.PopupAnimation); + ImageView recodeImageView = view.findViewById(R.id.recodeImageView); + TextView recodeTextView = view.findViewById(R.id.recodeTextView); + callback.onViewCreated(window, recodeImageView, recodeTextView); + } + + public interface OnAudioPopupCallback { + void onViewCreated(PopupWindow window, ImageView imageView, TextView textView); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java b/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java deleted file mode 100644 index 2f22e31..0000000 --- a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.dcms.utils.callback; - -import java.io.File; - -public interface ICompressListener { - /** - * Fired when a compression returns successfully, override to handle in your own code - */ - void onSuccess(File file); - - /** - * Fired when a compression fails to complete, override to handle in your own code - */ - void onError(Throwable e); -} diff --git a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java index a395adf..e20cee7 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java @@ -32,6 +32,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CaseDetailActivity extends AndroidxBaseActivity { @@ -167,8 +169,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java index 5b3f444..c3c6506 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java @@ -32,9 +32,10 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; - public class CaseTodoHandledDetailActivity extends AndroidxBaseActivity { private final Context context = CaseTodoHandledDetailActivity.this; @@ -119,8 +120,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java index 7f29c81..172a325 100644 --- a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java @@ -409,8 +409,8 @@ } } - //TODO 未完 - StringHub.show(context, "三包处置未实现"); + //TODO 简化处理 + StringHub.show(context, "三包处置完成"); // caseViewModel.handleOvertimeCase(data.getProcessId(), id, String.valueOf(data.getCaseState()), // changeState, caseReason, StringHelper.reformatURL(handleImageList), approvalResult); } diff --git a/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java b/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java index 956e5c2..6923604 100644 --- a/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java @@ -7,7 +7,6 @@ import android.os.Handler; import android.os.Message; import android.text.TextUtils; -import android.util.Log; import android.view.View; import android.widget.AdapterView; @@ -50,6 +49,7 @@ import com.shuyu.gsyvideoplayer.utils.OrientationUtils; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -175,10 +175,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 String url = StringHelper.appendCompleteURL(audioFile); - Log.d(TAG, "onChanged: " + url); -// binding.audioPlayerView.setAudioSource(); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java index 3d61cb4..7b65796 100644 --- a/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java @@ -34,6 +34,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CheckedDetailActivity extends AndroidxBaseActivity { @@ -169,8 +171,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java index 64bae62..715fabd 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java @@ -40,6 +40,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -149,8 +151,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } String videoFile = data.getVideoIdVerify(); diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java index eda7a8b..1f93aa5 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java @@ -41,6 +41,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -151,8 +153,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } String videoFile = data.getVideoIdVerify(); diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java index 1e45608..1b48fc7 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java @@ -38,6 +38,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -149,8 +151,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } String videoFile = data.getVideoIdVerify(); diff --git a/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java new file mode 100644 index 0000000..314622f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java @@ -0,0 +1,55 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.view.View; +import android.widget.ImageView; +import android.widget.PopupWindow; +import android.widget.TextView; + +import com.pengxh.androidx.lite.R; +import com.pengxh.androidx.lite.hub.ContextHub; + +public class AudioPopupWindow { + + private final Context context; + private final OnAudioPopupCallback callback; + + public AudioPopupWindow(Builder builder) { + this.context = builder.context; + this.callback = builder.callback; + } + + public static class Builder { + private Context context; + private OnAudioPopupCallback callback; + + public Builder setContext(Context context) { + this.context = context; + return this; + } + + public Builder setOnAudioPopupCallback(OnAudioPopupCallback callback) { + this.callback = callback; + return this; + } + + public AudioPopupWindow build() { + return new AudioPopupWindow(this); + } + } + + public void create() { + View view = View.inflate(context, R.layout.popu_microphone, null); + int popWidth = (int) (ContextHub.getScreenWidth(context) * 0.30); + int popHeight = (int) (ContextHub.getScreenHeight(context) * 0.15); + PopupWindow window = new PopupWindow(view, popWidth, popHeight, true); + window.setAnimationStyle(R.style.PopupAnimation); + ImageView recodeImageView = view.findViewById(R.id.recodeImageView); + TextView recodeTextView = view.findViewById(R.id.recodeTextView); + callback.onViewCreated(window, recodeImageView, recodeTextView); + } + + public interface OnAudioPopupCallback { + void onViewCreated(PopupWindow window, ImageView imageView, TextView textView); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java b/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java deleted file mode 100644 index 2f22e31..0000000 --- a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.dcms.utils.callback; - -import java.io.File; - -public interface ICompressListener { - /** - * Fired when a compression returns successfully, override to handle in your own code - */ - void onSuccess(File file); - - /** - * Fired when a compression fails to complete, override to handle in your own code - */ - void onError(Throwable e); -} diff --git a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java index a395adf..e20cee7 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java @@ -32,6 +32,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CaseDetailActivity extends AndroidxBaseActivity { @@ -167,8 +169,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java index 5b3f444..c3c6506 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java @@ -32,9 +32,10 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; - public class CaseTodoHandledDetailActivity extends AndroidxBaseActivity { private final Context context = CaseTodoHandledDetailActivity.this; @@ -119,8 +120,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java index 7f29c81..172a325 100644 --- a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java @@ -409,8 +409,8 @@ } } - //TODO 未完 - StringHub.show(context, "三包处置未实现"); + //TODO 简化处理 + StringHub.show(context, "三包处置完成"); // caseViewModel.handleOvertimeCase(data.getProcessId(), id, String.valueOf(data.getCaseState()), // changeState, caseReason, StringHelper.reformatURL(handleImageList), approvalResult); } diff --git a/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java b/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java index 956e5c2..6923604 100644 --- a/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java @@ -7,7 +7,6 @@ import android.os.Handler; import android.os.Message; import android.text.TextUtils; -import android.util.Log; import android.view.View; import android.widget.AdapterView; @@ -50,6 +49,7 @@ import com.shuyu.gsyvideoplayer.utils.OrientationUtils; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -175,10 +175,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 String url = StringHelper.appendCompleteURL(audioFile); - Log.d(TAG, "onChanged: " + url); -// binding.audioPlayerView.setAudioSource(); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java index 3d61cb4..7b65796 100644 --- a/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java @@ -34,6 +34,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CheckedDetailActivity extends AndroidxBaseActivity { @@ -169,8 +171,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java index 64bae62..715fabd 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java @@ -40,6 +40,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -149,8 +151,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } String videoFile = data.getVideoIdVerify(); diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java index eda7a8b..1f93aa5 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java @@ -41,6 +41,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -151,8 +153,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } String videoFile = data.getVideoIdVerify(); diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java index 1e45608..1b48fc7 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java @@ -38,6 +38,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -149,8 +151,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } String videoFile = data.getVideoIdVerify(); diff --git a/app/src/main/java/com/casic/dcms/view/handle/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/view/handle/CaseHandleDetailActivity.java index a7d4404..2fbad8d 100644 --- a/app/src/main/java/com/casic/dcms/view/handle/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/handle/CaseHandleDetailActivity.java @@ -49,6 +49,7 @@ import com.shuyu.gsyvideoplayer.utils.OrientationUtils; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -172,8 +173,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java new file mode 100644 index 0000000..314622f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java @@ -0,0 +1,55 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.view.View; +import android.widget.ImageView; +import android.widget.PopupWindow; +import android.widget.TextView; + +import com.pengxh.androidx.lite.R; +import com.pengxh.androidx.lite.hub.ContextHub; + +public class AudioPopupWindow { + + private final Context context; + private final OnAudioPopupCallback callback; + + public AudioPopupWindow(Builder builder) { + this.context = builder.context; + this.callback = builder.callback; + } + + public static class Builder { + private Context context; + private OnAudioPopupCallback callback; + + public Builder setContext(Context context) { + this.context = context; + return this; + } + + public Builder setOnAudioPopupCallback(OnAudioPopupCallback callback) { + this.callback = callback; + return this; + } + + public AudioPopupWindow build() { + return new AudioPopupWindow(this); + } + } + + public void create() { + View view = View.inflate(context, R.layout.popu_microphone, null); + int popWidth = (int) (ContextHub.getScreenWidth(context) * 0.30); + int popHeight = (int) (ContextHub.getScreenHeight(context) * 0.15); + PopupWindow window = new PopupWindow(view, popWidth, popHeight, true); + window.setAnimationStyle(R.style.PopupAnimation); + ImageView recodeImageView = view.findViewById(R.id.recodeImageView); + TextView recodeTextView = view.findViewById(R.id.recodeTextView); + callback.onViewCreated(window, recodeImageView, recodeTextView); + } + + public interface OnAudioPopupCallback { + void onViewCreated(PopupWindow window, ImageView imageView, TextView textView); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java b/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java deleted file mode 100644 index 2f22e31..0000000 --- a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.dcms.utils.callback; - -import java.io.File; - -public interface ICompressListener { - /** - * Fired when a compression returns successfully, override to handle in your own code - */ - void onSuccess(File file); - - /** - * Fired when a compression fails to complete, override to handle in your own code - */ - void onError(Throwable e); -} diff --git a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java index a395adf..e20cee7 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java @@ -32,6 +32,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CaseDetailActivity extends AndroidxBaseActivity { @@ -167,8 +169,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java index 5b3f444..c3c6506 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java @@ -32,9 +32,10 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; - public class CaseTodoHandledDetailActivity extends AndroidxBaseActivity { private final Context context = CaseTodoHandledDetailActivity.this; @@ -119,8 +120,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java index 7f29c81..172a325 100644 --- a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java @@ -409,8 +409,8 @@ } } - //TODO 未完 - StringHub.show(context, "三包处置未实现"); + //TODO 简化处理 + StringHub.show(context, "三包处置完成"); // caseViewModel.handleOvertimeCase(data.getProcessId(), id, String.valueOf(data.getCaseState()), // changeState, caseReason, StringHelper.reformatURL(handleImageList), approvalResult); } diff --git a/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java b/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java index 956e5c2..6923604 100644 --- a/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java @@ -7,7 +7,6 @@ import android.os.Handler; import android.os.Message; import android.text.TextUtils; -import android.util.Log; import android.view.View; import android.widget.AdapterView; @@ -50,6 +49,7 @@ import com.shuyu.gsyvideoplayer.utils.OrientationUtils; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -175,10 +175,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 String url = StringHelper.appendCompleteURL(audioFile); - Log.d(TAG, "onChanged: " + url); -// binding.audioPlayerView.setAudioSource(); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java index 3d61cb4..7b65796 100644 --- a/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java @@ -34,6 +34,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CheckedDetailActivity extends AndroidxBaseActivity { @@ -169,8 +171,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java index 64bae62..715fabd 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java @@ -40,6 +40,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -149,8 +151,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } String videoFile = data.getVideoIdVerify(); diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java index eda7a8b..1f93aa5 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java @@ -41,6 +41,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -151,8 +153,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } String videoFile = data.getVideoIdVerify(); diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java index 1e45608..1b48fc7 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java @@ -38,6 +38,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -149,8 +151,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } String videoFile = data.getVideoIdVerify(); diff --git a/app/src/main/java/com/casic/dcms/view/handle/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/view/handle/CaseHandleDetailActivity.java index a7d4404..2fbad8d 100644 --- a/app/src/main/java/com/casic/dcms/view/handle/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/handle/CaseHandleDetailActivity.java @@ -49,6 +49,7 @@ import com.shuyu.gsyvideoplayer.utils.OrientationUtils; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -172,8 +173,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/handle/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/view/handle/CaseHandledDetailActivity.java index e579099..bab199c 100644 --- a/app/src/main/java/com/casic/dcms/view/handle/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/handle/CaseHandledDetailActivity.java @@ -34,6 +34,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; @@ -145,8 +147,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java new file mode 100644 index 0000000..314622f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java @@ -0,0 +1,55 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.view.View; +import android.widget.ImageView; +import android.widget.PopupWindow; +import android.widget.TextView; + +import com.pengxh.androidx.lite.R; +import com.pengxh.androidx.lite.hub.ContextHub; + +public class AudioPopupWindow { + + private final Context context; + private final OnAudioPopupCallback callback; + + public AudioPopupWindow(Builder builder) { + this.context = builder.context; + this.callback = builder.callback; + } + + public static class Builder { + private Context context; + private OnAudioPopupCallback callback; + + public Builder setContext(Context context) { + this.context = context; + return this; + } + + public Builder setOnAudioPopupCallback(OnAudioPopupCallback callback) { + this.callback = callback; + return this; + } + + public AudioPopupWindow build() { + return new AudioPopupWindow(this); + } + } + + public void create() { + View view = View.inflate(context, R.layout.popu_microphone, null); + int popWidth = (int) (ContextHub.getScreenWidth(context) * 0.30); + int popHeight = (int) (ContextHub.getScreenHeight(context) * 0.15); + PopupWindow window = new PopupWindow(view, popWidth, popHeight, true); + window.setAnimationStyle(R.style.PopupAnimation); + ImageView recodeImageView = view.findViewById(R.id.recodeImageView); + TextView recodeTextView = view.findViewById(R.id.recodeTextView); + callback.onViewCreated(window, recodeImageView, recodeTextView); + } + + public interface OnAudioPopupCallback { + void onViewCreated(PopupWindow window, ImageView imageView, TextView textView); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java b/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java deleted file mode 100644 index 2f22e31..0000000 --- a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.dcms.utils.callback; - -import java.io.File; - -public interface ICompressListener { - /** - * Fired when a compression returns successfully, override to handle in your own code - */ - void onSuccess(File file); - - /** - * Fired when a compression fails to complete, override to handle in your own code - */ - void onError(Throwable e); -} diff --git a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java index a395adf..e20cee7 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java @@ -32,6 +32,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CaseDetailActivity extends AndroidxBaseActivity { @@ -167,8 +169,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java index 5b3f444..c3c6506 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java @@ -32,9 +32,10 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; - public class CaseTodoHandledDetailActivity extends AndroidxBaseActivity { private final Context context = CaseTodoHandledDetailActivity.this; @@ -119,8 +120,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java index 7f29c81..172a325 100644 --- a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java @@ -409,8 +409,8 @@ } } - //TODO 未完 - StringHub.show(context, "三包处置未实现"); + //TODO 简化处理 + StringHub.show(context, "三包处置完成"); // caseViewModel.handleOvertimeCase(data.getProcessId(), id, String.valueOf(data.getCaseState()), // changeState, caseReason, StringHelper.reformatURL(handleImageList), approvalResult); } diff --git a/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java b/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java index 956e5c2..6923604 100644 --- a/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java @@ -7,7 +7,6 @@ import android.os.Handler; import android.os.Message; import android.text.TextUtils; -import android.util.Log; import android.view.View; import android.widget.AdapterView; @@ -50,6 +49,7 @@ import com.shuyu.gsyvideoplayer.utils.OrientationUtils; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -175,10 +175,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 String url = StringHelper.appendCompleteURL(audioFile); - Log.d(TAG, "onChanged: " + url); -// binding.audioPlayerView.setAudioSource(); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java index 3d61cb4..7b65796 100644 --- a/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java @@ -34,6 +34,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CheckedDetailActivity extends AndroidxBaseActivity { @@ -169,8 +171,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java index 64bae62..715fabd 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java @@ -40,6 +40,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -149,8 +151,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } String videoFile = data.getVideoIdVerify(); diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java index eda7a8b..1f93aa5 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java @@ -41,6 +41,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -151,8 +153,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } String videoFile = data.getVideoIdVerify(); diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java index 1e45608..1b48fc7 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java @@ -38,6 +38,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -149,8 +151,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } String videoFile = data.getVideoIdVerify(); diff --git a/app/src/main/java/com/casic/dcms/view/handle/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/view/handle/CaseHandleDetailActivity.java index a7d4404..2fbad8d 100644 --- a/app/src/main/java/com/casic/dcms/view/handle/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/handle/CaseHandleDetailActivity.java @@ -49,6 +49,7 @@ import com.shuyu.gsyvideoplayer.utils.OrientationUtils; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -172,8 +173,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/handle/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/view/handle/CaseHandledDetailActivity.java index e579099..bab199c 100644 --- a/app/src/main/java/com/casic/dcms/view/handle/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/handle/CaseHandledDetailActivity.java @@ -34,6 +34,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; @@ -145,8 +147,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/upload/CommonCaseActivity.java b/app/src/main/java/com/casic/dcms/view/upload/CommonCaseActivity.java index a661617..6327f66 100644 --- a/app/src/main/java/com/casic/dcms/view/upload/CommonCaseActivity.java +++ b/app/src/main/java/com/casic/dcms/view/upload/CommonCaseActivity.java @@ -14,9 +14,11 @@ import android.text.TextUtils; import android.util.Log; import android.view.Gravity; +import android.view.MotionEvent; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; +import android.widget.PopupWindow; import android.widget.TextView; import androidx.activity.result.ActivityResult; @@ -34,6 +36,7 @@ import com.casic.dcms.model.ActionResultBean; import com.casic.dcms.model.CaseLargeTypeBean; import com.casic.dcms.model.CaseSmallTypeBean; +import com.casic.dcms.utils.AudioPopupWindow; import com.casic.dcms.utils.FileUtils; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.PictureSelectorHelper; @@ -50,6 +53,7 @@ import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.hub.ContextHub; import com.pengxh.androidx.lite.hub.IntHub; +import com.pengxh.androidx.lite.hub.LongHub; import com.pengxh.androidx.lite.hub.StringHub; import com.pengxh.androidx.lite.utils.LoadState; import com.pengxh.androidx.lite.utils.LoadingDialogHub; @@ -68,6 +72,7 @@ import com.zolad.videoslimmer.VideoSlimmer; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -212,8 +217,12 @@ * */ if (!TextUtils.isEmpty(audioUrl)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioUrl)); + String url = StringHelper.appendCompleteURL(audioUrl); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } } } @@ -300,6 +309,54 @@ int width = ContextHub.getScreenWidth(this) - IntHub.dp2px(this, 20); imageAdapter = new EditableImageAdapter(this, realPaths, width, 2, 3); binding.addImageRecyclerView.setAdapter(imageAdapter); + + AudioRecodeHelper audioRecorder = new AudioRecodeHelper(); + new AudioPopupWindow.Builder().setContext(this).setOnAudioPopupCallback(new AudioPopupWindow.OnAudioPopupCallback() { + @SuppressLint("ClickableViewAccessibility") + @Override + public void onViewCreated(PopupWindow window, ImageView imageView, TextView textView) { + binding.recodeAudioButton.setOnTouchListener(new View.OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + switch (event.getAction()) { + case MotionEvent.ACTION_DOWN: + binding.recodeAudioButton.animate().scaleX(0.75f).scaleY(0.75f) + .setDuration(100).start(); + window.showAtLocation(binding.rootView, Gravity.CENTER, 0, 0); + + //开始录音 + audioRecorder.initRecorder(context, ContextHub.createAudioFile(context)); + audioRecorder.startRecord(new AudioRecodeHelper.OnAudioStateUpdateListener() { + @Override + public void onUpdate(Double db, Long time) { + imageView.getDrawable().setLevel((int) (3000 + 6000 * db / 100)); + textView.setText(LongHub.millsToTime(time)); + } + + @Override + public void onStop(File file) { + try { + binding.audioPlayerView.setAudioSource(file); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + }); + break; + + case MotionEvent.ACTION_UP: + audioRecorder.stopRecord(); //结束录音(保存录音文件) + window.dismiss(); + binding.recodeAudioButton.animate() + .scaleX(1.0f).scaleY(1.0f) + .setDuration(100).start(); + break; + } + return true; + } + }); + } + }).build().create(); } /** diff --git a/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java new file mode 100644 index 0000000..314622f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/utils/AudioPopupWindow.java @@ -0,0 +1,55 @@ +package com.casic.dcms.utils; + +import android.content.Context; +import android.view.View; +import android.widget.ImageView; +import android.widget.PopupWindow; +import android.widget.TextView; + +import com.pengxh.androidx.lite.R; +import com.pengxh.androidx.lite.hub.ContextHub; + +public class AudioPopupWindow { + + private final Context context; + private final OnAudioPopupCallback callback; + + public AudioPopupWindow(Builder builder) { + this.context = builder.context; + this.callback = builder.callback; + } + + public static class Builder { + private Context context; + private OnAudioPopupCallback callback; + + public Builder setContext(Context context) { + this.context = context; + return this; + } + + public Builder setOnAudioPopupCallback(OnAudioPopupCallback callback) { + this.callback = callback; + return this; + } + + public AudioPopupWindow build() { + return new AudioPopupWindow(this); + } + } + + public void create() { + View view = View.inflate(context, R.layout.popu_microphone, null); + int popWidth = (int) (ContextHub.getScreenWidth(context) * 0.30); + int popHeight = (int) (ContextHub.getScreenHeight(context) * 0.15); + PopupWindow window = new PopupWindow(view, popWidth, popHeight, true); + window.setAnimationStyle(R.style.PopupAnimation); + ImageView recodeImageView = view.findViewById(R.id.recodeImageView); + TextView recodeTextView = view.findViewById(R.id.recodeTextView); + callback.onViewCreated(window, recodeImageView, recodeTextView); + } + + public interface OnAudioPopupCallback { + void onViewCreated(PopupWindow window, ImageView imageView, TextView textView); + } +} diff --git a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java b/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java deleted file mode 100644 index 2f22e31..0000000 --- a/app/src/main/java/com/casic/dcms/utils/callback/ICompressListener.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.dcms.utils.callback; - -import java.io.File; - -public interface ICompressListener { - /** - * Fired when a compression returns successfully, override to handle in your own code - */ - void onSuccess(File file); - - /** - * Fired when a compression fails to complete, override to handle in your own code - */ - void onError(Throwable e); -} diff --git a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java index a395adf..e20cee7 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseDetailActivity.java @@ -32,6 +32,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CaseDetailActivity extends AndroidxBaseActivity { @@ -167,8 +169,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java index 5b3f444..c3c6506 100644 --- a/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/CaseTodoHandledDetailActivity.java @@ -32,9 +32,10 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; - public class CaseTodoHandledDetailActivity extends AndroidxBaseActivity { private final Context context = CaseTodoHandledDetailActivity.this; @@ -119,8 +120,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java index 7f29c81..172a325 100644 --- a/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/business/PackageTodoDetailActivity.java @@ -409,8 +409,8 @@ } } - //TODO 未完 - StringHub.show(context, "三包处置未实现"); + //TODO 简化处理 + StringHub.show(context, "三包处置完成"); // caseViewModel.handleOvertimeCase(data.getProcessId(), id, String.valueOf(data.getCaseState()), // changeState, caseReason, StringHelper.reformatURL(handleImageList), approvalResult); } diff --git a/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java b/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java index 956e5c2..6923604 100644 --- a/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/check/CheckDetailActivity.java @@ -7,7 +7,6 @@ import android.os.Handler; import android.os.Message; import android.text.TextUtils; -import android.util.Log; import android.view.View; import android.widget.AdapterView; @@ -50,6 +49,7 @@ import com.shuyu.gsyvideoplayer.utils.OrientationUtils; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -175,10 +175,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 String url = StringHelper.appendCompleteURL(audioFile); - Log.d(TAG, "onChanged: " + url); -// binding.audioPlayerView.setAudioSource(); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java b/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java index 3d61cb4..7b65796 100644 --- a/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/check/CheckedDetailActivity.java @@ -34,6 +34,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; public class CheckedDetailActivity extends AndroidxBaseActivity { @@ -169,8 +171,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java index 64bae62..715fabd 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAdjustDetailActivity.java @@ -40,6 +40,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -149,8 +151,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } String videoFile = data.getVideoIdVerify(); diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java index eda7a8b..1f93aa5 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptAuthorizeDetailActivity.java @@ -41,6 +41,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -151,8 +153,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } String videoFile = data.getVideoIdVerify(); diff --git a/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java index 1e45608..1b48fc7 100644 --- a/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/department/DeptTodoDetailActivity.java @@ -38,6 +38,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -149,8 +151,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } String videoFile = data.getVideoIdVerify(); diff --git a/app/src/main/java/com/casic/dcms/view/handle/CaseHandleDetailActivity.java b/app/src/main/java/com/casic/dcms/view/handle/CaseHandleDetailActivity.java index a7d4404..2fbad8d 100644 --- a/app/src/main/java/com/casic/dcms/view/handle/CaseHandleDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/handle/CaseHandleDetailActivity.java @@ -49,6 +49,7 @@ import com.shuyu.gsyvideoplayer.utils.OrientationUtils; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -172,8 +173,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/handle/CaseHandledDetailActivity.java b/app/src/main/java/com/casic/dcms/view/handle/CaseHandledDetailActivity.java index e579099..bab199c 100644 --- a/app/src/main/java/com/casic/dcms/view/handle/CaseHandledDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/handle/CaseHandledDetailActivity.java @@ -34,6 +34,8 @@ import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; @@ -145,8 +147,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频 diff --git a/app/src/main/java/com/casic/dcms/view/upload/CommonCaseActivity.java b/app/src/main/java/com/casic/dcms/view/upload/CommonCaseActivity.java index a661617..6327f66 100644 --- a/app/src/main/java/com/casic/dcms/view/upload/CommonCaseActivity.java +++ b/app/src/main/java/com/casic/dcms/view/upload/CommonCaseActivity.java @@ -14,9 +14,11 @@ import android.text.TextUtils; import android.util.Log; import android.view.Gravity; +import android.view.MotionEvent; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; +import android.widget.PopupWindow; import android.widget.TextView; import androidx.activity.result.ActivityResult; @@ -34,6 +36,7 @@ import com.casic.dcms.model.ActionResultBean; import com.casic.dcms.model.CaseLargeTypeBean; import com.casic.dcms.model.CaseSmallTypeBean; +import com.casic.dcms.utils.AudioPopupWindow; import com.casic.dcms.utils.FileUtils; import com.casic.dcms.utils.LocaleConstant; import com.casic.dcms.utils.PictureSelectorHelper; @@ -50,6 +53,7 @@ import com.pengxh.androidx.lite.base.AndroidxBaseActivity; import com.pengxh.androidx.lite.hub.ContextHub; import com.pengxh.androidx.lite.hub.IntHub; +import com.pengxh.androidx.lite.hub.LongHub; import com.pengxh.androidx.lite.hub.StringHub; import com.pengxh.androidx.lite.utils.LoadState; import com.pengxh.androidx.lite.utils.LoadingDialogHub; @@ -68,6 +72,7 @@ import com.zolad.videoslimmer.VideoSlimmer; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -212,8 +217,12 @@ * */ if (!TextUtils.isEmpty(audioUrl)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioUrl)); + String url = StringHelper.appendCompleteURL(audioUrl); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } } } @@ -300,6 +309,54 @@ int width = ContextHub.getScreenWidth(this) - IntHub.dp2px(this, 20); imageAdapter = new EditableImageAdapter(this, realPaths, width, 2, 3); binding.addImageRecyclerView.setAdapter(imageAdapter); + + AudioRecodeHelper audioRecorder = new AudioRecodeHelper(); + new AudioPopupWindow.Builder().setContext(this).setOnAudioPopupCallback(new AudioPopupWindow.OnAudioPopupCallback() { + @SuppressLint("ClickableViewAccessibility") + @Override + public void onViewCreated(PopupWindow window, ImageView imageView, TextView textView) { + binding.recodeAudioButton.setOnTouchListener(new View.OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + switch (event.getAction()) { + case MotionEvent.ACTION_DOWN: + binding.recodeAudioButton.animate().scaleX(0.75f).scaleY(0.75f) + .setDuration(100).start(); + window.showAtLocation(binding.rootView, Gravity.CENTER, 0, 0); + + //开始录音 + audioRecorder.initRecorder(context, ContextHub.createAudioFile(context)); + audioRecorder.startRecord(new AudioRecodeHelper.OnAudioStateUpdateListener() { + @Override + public void onUpdate(Double db, Long time) { + imageView.getDrawable().setLevel((int) (3000 + 6000 * db / 100)); + textView.setText(LongHub.millsToTime(time)); + } + + @Override + public void onStop(File file) { + try { + binding.audioPlayerView.setAudioSource(file); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + }); + break; + + case MotionEvent.ACTION_UP: + audioRecorder.stopRecord(); //结束录音(保存录音文件) + window.dismiss(); + binding.recodeAudioButton.animate() + .scaleX(1.0f).scaleY(1.0f) + .setDuration(100).start(); + break; + } + return true; + } + }); + } + }).build().create(); } /** diff --git a/app/src/main/java/com/casic/dcms/view/verify/VerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/view/verify/VerifyDetailActivity.java index 824c4ec..9ea919e 100644 --- a/app/src/main/java/com/casic/dcms/view/verify/VerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/view/verify/VerifyDetailActivity.java @@ -59,6 +59,7 @@ import com.shuyu.gsyvideoplayer.utils.OrientationUtils; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -225,8 +226,12 @@ String audioFile = data.getAudioIdVerify(); if (!TextUtils.isEmpty(audioFile)) { binding.audioPlayerView.setVisibility(View.VISIBLE); - //TODO 未完 -// binding.audioPlayerView.setAudioUrl(StringHelper.appendCompleteURL(audioFile)); + String url = StringHelper.appendCompleteURL(audioFile); + try { + binding.audioPlayerView.setAudioSource(new File(url)); + } catch (IOException e) { + throw new RuntimeException(e); + } } //视频