diff --git a/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/BaseFragment.java b/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/BaseFragment.java index 227462b..d6625b7 100755 --- a/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/BaseFragment.java +++ b/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/BaseFragment.java @@ -2,12 +2,14 @@ package com.tenlionsoft.baselib.core.widget.base; import android.content.Context; import android.content.Intent; +import android.graphics.Rect; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.provider.Settings; import android.view.LayoutInflater; +import android.view.TouchDelegate; import android.view.View; import android.view.ViewGroup; import android.view.inputmethod.InputMethodManager; @@ -86,7 +88,25 @@ public abstract class BaseFragment extends Fragment { setDataToView(mDataView); return contentView; } - + /** + * 将view的点击区域放大 + * + * @param view 需要放大的view + * @param expandTouchWidth 放大的宽度 + */ + public void setTouchDelegate(final View view, final int expandTouchWidth) { + final View parentView = (View) view.getParent(); + parentView.post(() -> { + final Rect rect = new Rect(); + view.getHitRect(rect); + rect.top -= expandTouchWidth; + rect.bottom += expandTouchWidth; + rect.left -= expandTouchWidth; + rect.right += expandTouchWidth; + TouchDelegate touchDelegate = new TouchDelegate(rect, view); + parentView.setTouchDelegate(touchDelegate); + }); + } /** * 设置是否显示titlebar */ diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/document/DocumentDetailActivity.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/document/DocumentDetailActivity.java index 3b3d044..c66dcbb 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/document/DocumentDetailActivity.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/document/DocumentDetailActivity.java @@ -363,37 +363,7 @@ public class DocumentDetailActivity extends BaseActivity { AddFileAdapter adapter = new AddFileAdapter(mActivity, files); mRlvFiles.setLayoutManager(new LinearLayoutManager(mActivity)); mRlvFiles.setAdapter(adapter); - adapter.addOnItemClickListener(addFileBean -> { - if (addFileBean.getFileType() == 1) { - //文档 - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_BASELIB_ACTIVITY_PREVIEW_FILE) - .withString("fileName", addFileBean.getFileName()) - .withString("fileId", addFileBean.getId()) - .navigation(); - } else if (2 == addFileBean.getFileType()) { - //图片预览 - //遍历文件获取所有图片文件 - ArrayList imgUrls = new ArrayList<>(); - for (int i = 0; i < files.size(); i++) { - AddFileBean fileBean = files.get(i); - String url = BaseUrlApi.BASE_IMG_URL + fileBean.getId(); - imgUrls.add(url); - } - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG) - .withStringArrayList(TAG_IMGURL, imgUrls) - .navigation(); - } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { - //TODO 视频或音频预览 - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_PLAYER_SIMPLE_VIDEO) - .withString("title", addFileBean.getFileName().substring(0, addFileBean.getFileName().lastIndexOf("."))) - .withString("url", BaseUrlApi.BASE_IMG_URL + addFileBean.getId()) - .withString("type", addFileBean.getFileType() == 4 ? "audio" : "video") - .navigation(); - } - }); + adapter.addOnItemClickListener(addFileBean -> previewFile(addFileBean, files)); } else { ToastUtils.show("未找到文档信息"); } @@ -412,6 +382,42 @@ public class DocumentDetailActivity extends BaseActivity { }); } + /** + * 预览文件 + */ + private void previewFile(AddFileBean addFileBean, List mFiles) { + if (addFileBean.getFileType() == 1) { + //文档 + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_BASELIB_ACTIVITY_PREVIEW_FILE) + .withString("fileName", addFileBean.getFileName()) + .withString("fileId", addFileBean.getId()) + .navigation(); + } else if (2 == addFileBean.getFileType()) { + //图片预览 + //遍历文件获取所有图片文件 + ArrayList imgUrls = new ArrayList<>(); + for (int i = 0; i < mFiles.size(); i++) { + if (mFiles.get(i).getFileType() == 2) { + AddFileBean fileBean = mFiles.get(i); + String url = BaseUrlApi.BASE_IMG_URL + fileBean.getId(); + imgUrls.add(url); + } + } + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG) + .withStringArrayList(TAG_IMGURL, imgUrls) + .navigation(); + } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_PLAYER_SIMPLE_VIDEO) + .withString("title", addFileBean.getFileName().substring(0, addFileBean.getFileName().lastIndexOf("."))) + .withString("url", BaseUrlApi.BASE_IMG_URL + addFileBean.getId()) + .withString("type", addFileBean.getFileType() == 4 ? "audio" : "video") + .navigation(); + } + } + @Override protected void doSearchByTitle() { diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/DraftEmailDetailActivity.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/DraftEmailDetailActivity.java index 319b498..ab92f66 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/DraftEmailDetailActivity.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/DraftEmailDetailActivity.java @@ -24,7 +24,6 @@ import com.tenlionsoft.baselib.core.widget.base.BaseActivity; import com.tenlionsoft.baselib.utils.ExceptionHandler; import com.tenlionsoft.baselib.utils.FileUtils; import com.tenlionsoft.baselib.utils.UIUtil; -import com.tenlionsoft.baselib.utils.UserLgUtils; import com.tenlionsoft.oamodule.R; import com.tenlionsoft.oamodule.R2; import com.tenlionsoft.oamodule.beans.EmailDraftDetailBean; @@ -35,6 +34,7 @@ import java.util.List; import androidx.annotation.Nullable; import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import butterknife.ButterKnife; @@ -161,7 +161,7 @@ public class DraftEmailDetailActivity extends BaseActivity { if (fileInfoBeans.size() > 0) { mFileBeans = new ArrayList<>(); mAddFileAdapter = new AddFileAdapter(mActivity, mFileBeans); - mRlvFiles.setLayoutManager(new GridLayoutManager(mActivity, 5)); + mRlvFiles.setLayoutManager(new LinearLayoutManager(mActivity)); mRlvFiles.setAdapter(mAddFileAdapter); for (int i = 0; i < fileInfoBeans.size(); i++) { FileInfoBean infoBean = fileInfoBeans.get(i); @@ -173,33 +173,7 @@ public class DraftEmailDetailActivity extends BaseActivity { mFileBeans.add(0, bean); } mAddFileAdapter.setData(mFileBeans); - mAddFileAdapter.addOnItemClickListener(addFileBean -> { - if (addFileBean.getFileType() == 1) { - //文档 - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_BASELIB_ACTIVITY_PREVIEW_FILE) - .withString("fileName", addFileBean.getFileName()) - .withString("fileId", addFileBean.getId()) - .navigation(); - } else if (2 == addFileBean.getFileType()) { - //图片预览 - //遍历文件获取所有图片文件 - ArrayList imgUrls = new ArrayList<>(); - for (int i = 0; i < mFileBeans.size(); i++) { - if (mFileBeans.get(i).getFileType() == 2) { - AddFileBean fileBean = mFileBeans.get(i); - String url = BaseUrlApi.BASE_IMG_URL + fileBean.getId(); - imgUrls.add(url); - } - } - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG) - .withStringArrayList(TAG_IMGURL, imgUrls) - .navigation(); - } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { - //TODO 视频或音频预览 - } - }); + mAddFileAdapter.addOnItemClickListener(addFileBean -> previewFile(addFileBean, mFileBeans)); } else { ToastUtils.show("未找到文档信息"); } @@ -284,6 +258,43 @@ public class DraftEmailDetailActivity extends BaseActivity { }); } + + /** + * 预览文件 + */ + private void previewFile(AddFileBean addFileBean, List mFiles) { + if (addFileBean.getFileType() == 1) { + //文档 + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_BASELIB_ACTIVITY_PREVIEW_FILE) + .withString("fileName", addFileBean.getFileName()) + .withString("fileId", addFileBean.getId()) + .navigation(); + } else if (2 == addFileBean.getFileType()) { + //图片预览 + //遍历文件获取所有图片文件 + ArrayList imgUrls = new ArrayList<>(); + for (int i = 0; i < mFiles.size(); i++) { + if (mFiles.get(i).getFileType() == 2) { + AddFileBean fileBean = mFiles.get(i); + String url = BaseUrlApi.BASE_IMG_URL + fileBean.getId(); + imgUrls.add(url); + } + } + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG) + .withStringArrayList(TAG_IMGURL, imgUrls) + .navigation(); + } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_PLAYER_SIMPLE_VIDEO) + .withString("title", addFileBean.getFileName().substring(0, addFileBean.getFileName().lastIndexOf("."))) + .withString("url", BaseUrlApi.BASE_IMG_URL + addFileBean.getId()) + .withString("type", addFileBean.getFileType() == 4 ? "audio" : "video") + .navigation(); + } + } + @Override protected void doSearchByTitle() { diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/InboxDetailActivity.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/InboxDetailActivity.java index 08bc150..72f623f 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/InboxDetailActivity.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/InboxDetailActivity.java @@ -24,7 +24,6 @@ import com.tenlionsoft.baselib.core.widget.base.BaseActivity; import com.tenlionsoft.baselib.utils.ExceptionHandler; import com.tenlionsoft.baselib.utils.FileUtils; import com.tenlionsoft.baselib.utils.UIUtil; -import com.tenlionsoft.baselib.utils.UserLgUtils; import com.tenlionsoft.oamodule.R; import com.tenlionsoft.oamodule.R2; import com.tenlionsoft.oamodule.beans.EmailInboxDetailBean; @@ -34,6 +33,7 @@ import java.util.ArrayList; import java.util.List; import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import butterknife.ButterKnife; @@ -217,7 +217,7 @@ public class InboxDetailActivity extends BaseActivity { if (fileInfoBeans.size() > 0) { mFileBeans = new ArrayList<>(); mAddFileAdapter = new AddFileAdapter(mActivity, mFileBeans); - mRlvFiles.setLayoutManager(new GridLayoutManager(mActivity, 5)); + mRlvFiles.setLayoutManager(new LinearLayoutManager(mActivity)); mRlvFiles.setAdapter(mAddFileAdapter); for (int i = 0; i < fileInfoBeans.size(); i++) { FileInfoBean infoBean = fileInfoBeans.get(i); @@ -229,33 +229,7 @@ public class InboxDetailActivity extends BaseActivity { mFileBeans.add(0, bean); } mAddFileAdapter.setData(mFileBeans); - mAddFileAdapter.addOnItemClickListener(addFileBean -> { - if (addFileBean.getFileType() == 1) { - //文档 - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_BASELIB_ACTIVITY_PREVIEW_FILE) - .withString("fileName", addFileBean.getFileName()) - .withString("fileId", addFileBean.getId()) - .navigation(); - } else if (2 == addFileBean.getFileType()) { - //图片预览 - //遍历文件获取所有图片文件 - ArrayList imgUrls = new ArrayList<>(); - for (int i = 0; i < mFileBeans.size(); i++) { - if (mFileBeans.get(i).getFileType() == 2) { - AddFileBean fileBean = mFileBeans.get(i); - String url = BaseUrlApi.BASE_IMG_URL + fileBean.getId(); - imgUrls.add(url); - } - } - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG) - .withStringArrayList(TAG_IMGURL, imgUrls) - .navigation(); - } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { - //TODO 视频或音频预览 - } - }); + mAddFileAdapter.addOnItemClickListener(addFileBean -> previewFile(addFileBean, mFileBeans)); } else { ToastUtils.show("未找到文档信息"); } @@ -274,6 +248,41 @@ public class InboxDetailActivity extends BaseActivity { }); } + /** + * 预览文件 + */ + private void previewFile(AddFileBean addFileBean, List mFiles) { + if (addFileBean.getFileType() == 1) { + //文档 + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_BASELIB_ACTIVITY_PREVIEW_FILE) + .withString("fileName", addFileBean.getFileName()) + .withString("fileId", addFileBean.getId()) + .navigation(); + } else if (2 == addFileBean.getFileType()) { + //图片预览 + //遍历文件获取所有图片文件 + ArrayList imgUrls = new ArrayList<>(); + for (int i = 0; i < mFiles.size(); i++) { + if (mFiles.get(i).getFileType() == 2) { + AddFileBean fileBean = mFiles.get(i); + String url = BaseUrlApi.BASE_IMG_URL + fileBean.getId(); + imgUrls.add(url); + } + } + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG) + .withStringArrayList(TAG_IMGURL, imgUrls) + .navigation(); + } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_PLAYER_SIMPLE_VIDEO) + .withString("title", addFileBean.getFileName().substring(0, addFileBean.getFileName().lastIndexOf("."))) + .withString("url", BaseUrlApi.BASE_IMG_URL + addFileBean.getId()) + .withString("type", addFileBean.getFileType() == 4 ? "audio" : "video") + .navigation(); + } + } private void doSaveReadState() { RetrofitManager diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/RecycleEmailDetailActivity.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/RecycleEmailDetailActivity.java index 53f53b5..ba6ce0a 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/RecycleEmailDetailActivity.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/RecycleEmailDetailActivity.java @@ -24,7 +24,6 @@ import com.tenlionsoft.baselib.core.widget.base.BaseActivity; import com.tenlionsoft.baselib.utils.ExceptionHandler; import com.tenlionsoft.baselib.utils.FileUtils; import com.tenlionsoft.baselib.utils.UIUtil; -import com.tenlionsoft.baselib.utils.UserLgUtils; import com.tenlionsoft.oamodule.R; import com.tenlionsoft.oamodule.R2; import com.tenlionsoft.oamodule.beans.EmailRecycleDetailBean; @@ -33,7 +32,7 @@ import com.tenlionsoft.oamodule.net.OAApi; import java.util.ArrayList; import java.util.List; -import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import butterknife.ButterKnife; @@ -269,7 +268,7 @@ public class RecycleEmailDetailActivity extends BaseActivity { if (fileInfoBeans.size() > 0) { mFileBeans = new ArrayList<>(); mAddFileAdapter = new AddFileAdapter(mActivity, mFileBeans); - mRlvFiles.setLayoutManager(new GridLayoutManager(mActivity, 5)); + mRlvFiles.setLayoutManager(new LinearLayoutManager(mActivity)); mRlvFiles.setAdapter(mAddFileAdapter); for (int i = 0; i < fileInfoBeans.size(); i++) { FileInfoBean infoBean = fileInfoBeans.get(i); @@ -281,33 +280,7 @@ public class RecycleEmailDetailActivity extends BaseActivity { mFileBeans.add(0, bean); } mAddFileAdapter.setData(mFileBeans); - mAddFileAdapter.addOnItemClickListener(addFileBean -> { - if (addFileBean.getFileType() == 1) { - //文档 - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_BASELIB_ACTIVITY_PREVIEW_FILE) - .withString("fileName", addFileBean.getFileName()) - .withString("fileId", addFileBean.getId()) - .navigation(); - } else if (2 == addFileBean.getFileType()) { - //图片预览 - //遍历文件获取所有图片文件 - ArrayList imgUrls = new ArrayList<>(); - for (int i = 0; i < mFileBeans.size(); i++) { - if (mFileBeans.get(i).getFileType() == 2) { - AddFileBean fileBean = mFileBeans.get(i); - String url = BaseUrlApi.BASE_IMG_URL + fileBean.getId(); - imgUrls.add(url); - } - } - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG) - .withStringArrayList(TAG_IMGURL, imgUrls) - .navigation(); - } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { - //TODO 视频或音频预览 - } - }); + mAddFileAdapter.addOnItemClickListener(addFileBean -> previewFile(addFileBean, mFileBeans)); } else { ToastUtils.show("未找到文档信息"); } @@ -326,6 +299,43 @@ public class RecycleEmailDetailActivity extends BaseActivity { }); } + + /** + * 预览文件 + */ + private void previewFile(AddFileBean addFileBean, List mFiles) { + if (addFileBean.getFileType() == 1) { + //文档 + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_BASELIB_ACTIVITY_PREVIEW_FILE) + .withString("fileName", addFileBean.getFileName()) + .withString("fileId", addFileBean.getId()) + .navigation(); + } else if (2 == addFileBean.getFileType()) { + //图片预览 + //遍历文件获取所有图片文件 + ArrayList imgUrls = new ArrayList<>(); + for (int i = 0; i < mFiles.size(); i++) { + if (mFiles.get(i).getFileType() == 2) { + AddFileBean fileBean = mFiles.get(i); + String url = BaseUrlApi.BASE_IMG_URL + fileBean.getId(); + imgUrls.add(url); + } + } + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG) + .withStringArrayList(TAG_IMGURL, imgUrls) + .navigation(); + } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_PLAYER_SIMPLE_VIDEO) + .withString("title", addFileBean.getFileName().substring(0, addFileBean.getFileName().lastIndexOf("."))) + .withString("url", BaseUrlApi.BASE_IMG_URL + addFileBean.getId()) + .withString("type", addFileBean.getFileType() == 4 ? "audio" : "video") + .navigation(); + } + } + @Override protected void doSearchByTitle() { diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/SendEmailActivity.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/SendEmailActivity.java index 080efb3..323f456 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/SendEmailActivity.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/SendEmailActivity.java @@ -597,7 +597,7 @@ public class SendEmailActivity extends BaseActivity { mAddFileAdapter.notifyDataSetChanged(); ++mFileMax; }); - mRlvFiles.setLayoutManager(new GridLayoutManager(mActivity, 4)); + mRlvFiles.setLayoutManager(new LinearLayoutManager(mActivity)); mRlvFiles.setAdapter(mAddFileAdapter); mIvAddFile.setOnClickListener(v -> { diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/SendEmailDetailActivity.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/SendEmailDetailActivity.java index 5aeee5a..b51d53a 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/SendEmailDetailActivity.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/email/SendEmailDetailActivity.java @@ -23,7 +23,6 @@ import com.tenlionsoft.baselib.core.widget.base.BaseActivity; import com.tenlionsoft.baselib.utils.ExceptionHandler; import com.tenlionsoft.baselib.utils.FileUtils; import com.tenlionsoft.baselib.utils.UIUtil; -import com.tenlionsoft.baselib.utils.UserLgUtils; import com.tenlionsoft.oamodule.R; import com.tenlionsoft.oamodule.R2; import com.tenlionsoft.oamodule.beans.EmailSendDetailBean; @@ -32,7 +31,6 @@ import com.tenlionsoft.oamodule.net.OAApi; import java.util.ArrayList; import java.util.List; -import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; @@ -160,7 +158,7 @@ public class SendEmailDetailActivity extends BaseActivity { if (fileInfoBeans.size() > 0) { mFileBeans = new ArrayList<>(); mAddFileAdapter = new AddFileAdapter(mActivity, mFileBeans); - mRlvFiles.setLayoutManager(new GridLayoutManager(mActivity, 5)); + mRlvFiles.setLayoutManager(new LinearLayoutManager(mActivity)); mRlvFiles.setAdapter(mAddFileAdapter); for (int i = 0; i < fileInfoBeans.size(); i++) { FileInfoBean infoBean = fileInfoBeans.get(i); @@ -172,33 +170,7 @@ public class SendEmailDetailActivity extends BaseActivity { mFileBeans.add(0, bean); } mAddFileAdapter.setData(mFileBeans); - mAddFileAdapter.addOnItemClickListener(addFileBean -> { - if (addFileBean.getFileType() == 1) { - //文档 - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_BASELIB_ACTIVITY_PREVIEW_FILE) - .withString("fileName", addFileBean.getFileName()) - .withString("fileId", addFileBean.getId()) - .navigation(); - } else if (2 == addFileBean.getFileType()) { - //图片预览 - //遍历文件获取所有图片文件 - ArrayList imgUrls = new ArrayList<>(); - for (int i = 0; i < mFileBeans.size(); i++) { - if (mFileBeans.get(i).getFileType() == 2) { - AddFileBean fileBean = mFileBeans.get(i); - String url = BaseUrlApi.BASE_IMG_URL + fileBean.getId(); - imgUrls.add(url); - } - } - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG) - .withStringArrayList(TAG_IMGURL, imgUrls) - .navigation(); - } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { - //TODO 视频或音频预览 - } - }); + mAddFileAdapter.addOnItemClickListener(addFileBean -> previewFile(addFileBean, mFileBeans)); } else { ToastUtils.show("未找到文档信息"); } @@ -217,6 +189,43 @@ public class SendEmailDetailActivity extends BaseActivity { }); } + /** + * 预览文件 + */ + private void previewFile(AddFileBean addFileBean, List mFiles) { + if (addFileBean.getFileType() == 1) { + //文档 + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_BASELIB_ACTIVITY_PREVIEW_FILE) + .withString("fileName", addFileBean.getFileName()) + .withString("fileId", addFileBean.getId()) + .navigation(); + } else if (2 == addFileBean.getFileType()) { + //图片预览 + //遍历文件获取所有图片文件 + ArrayList imgUrls = new ArrayList<>(); + for (int i = 0; i < mFiles.size(); i++) { + if (mFiles.get(i).getFileType() == 2) { + AddFileBean fileBean = mFiles.get(i); + String url = BaseUrlApi.BASE_IMG_URL + fileBean.getId(); + imgUrls.add(url); + } + } + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG) + .withStringArrayList(TAG_IMGURL, imgUrls) + .navigation(); + } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_PLAYER_SIMPLE_VIDEO) + .withString("title", addFileBean.getFileName().substring(0, addFileBean.getFileName().lastIndexOf("."))) + .withString("url", BaseUrlApi.BASE_IMG_URL + addFileBean.getId()) + .withString("type", addFileBean.getFileType() == 4 ? "audio" : "video") + .navigation(); + } + } + + private void onShowConfirm(int type) { new AlertDialog.Builder(mActivity) .setTitle("提示") diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/meeting/MeetingDetailActivity.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/meeting/MeetingDetailActivity.java index 70b2d3b..1d3b4d4 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/meeting/MeetingDetailActivity.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/meeting/MeetingDetailActivity.java @@ -282,7 +282,12 @@ public class MeetingDetailActivity extends BaseActivity { .withStringArrayList(TAG_IMGURL, imgUrls) .navigation(); } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { - //TODO 视频或音频预览 + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_PLAYER_SIMPLE_VIDEO) + .withString("title", addFileBean.getFileName().substring(0, addFileBean.getFileName().lastIndexOf("."))) + .withString("url", BaseUrlApi.BASE_IMG_URL + addFileBean.getId()) + .withString("type", addFileBean.getFileType() == 4 ? "audio" : "video") + .navigation(); } } diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/notify/NoticeDetailActivity.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/notify/NoticeDetailActivity.java index c1577ce..14fae85 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/notify/NoticeDetailActivity.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/notify/NoticeDetailActivity.java @@ -310,7 +310,12 @@ public class NoticeDetailActivity extends BaseActivity { .withStringArrayList(TAG_IMGURL, imgUrls) .navigation(); } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { - //TODO 视频或音频预览 + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_PLAYER_SIMPLE_VIDEO) + .withString("title", addFileBean.getFileName().substring(0, addFileBean.getFileName().lastIndexOf("."))) + .withString("url", BaseUrlApi.BASE_IMG_URL + addFileBean.getId()) + .withString("type", addFileBean.getFileType() == 4 ? "audio" : "video") + .navigation(); } } diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/oaflow/OaFlowCenterActivity.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/oaflow/OaFlowCenterActivity.java index dd7d864..cb887ee 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/oaflow/OaFlowCenterActivity.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/oaflow/OaFlowCenterActivity.java @@ -98,6 +98,8 @@ import okhttp3.MediaType; import okhttp3.MultipartBody; import okhttp3.RequestBody; +import static com.tenlionsoft.baselib.core.widget.PhotoActivity.TAG_IMGURL; + /** * 作者: Adam * 日期: 2022年06月01日16:34:20 @@ -239,6 +241,7 @@ public class OaFlowCenterActivity extends BaseActivity { mFileBlueAdapter = new AddFileBlueAdapter(mActivity, mFiles); mRlvFiles.setLayoutManager(new LinearLayoutManager(mActivity)); mRlvFiles.setAdapter(mFileBlueAdapter); + mFileBlueAdapter.addOnItemClickListener(addFileBean -> previewFile(addFileBean, mFiles)); mTvNext.setOnClickListener(v -> nextCounterSigned()); mTvPre.setOnClickListener(v -> preCounterSigned()); @@ -1102,6 +1105,7 @@ public class OaFlowCenterActivity extends BaseActivity { }); } + @JavascriptInterface public void invokeNative(String method) { if ("back".equals(method)) { @@ -1112,6 +1116,42 @@ public class OaFlowCenterActivity extends BaseActivity { } } + /** + * 预览文件 + */ + private void previewFile(AddFileBean addFileBean, List mFiles) { + if (addFileBean.getFileType() == 1) { + //文档 + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_BASELIB_ACTIVITY_PREVIEW_FILE) + .withString("fileName", addFileBean.getFileName()) + .withString("fileId", addFileBean.getId()) + .navigation(); + } else if (2 == addFileBean.getFileType()) { + //图片预览 + //遍历文件获取所有图片文件 + ArrayList imgUrls = new ArrayList<>(); + for (int i = 0; i < mFiles.size(); i++) { + if (mFiles.get(i).getFileType() == 2) { + AddFileBean fileBean = mFiles.get(i); + String url = BaseUrlApi.BASE_IMG_URL + fileBean.getId(); + imgUrls.add(url); + } + } + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG) + .withStringArrayList(TAG_IMGURL, imgUrls) + .navigation(); + } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_PLAYER_SIMPLE_VIDEO) + .withString("title", addFileBean.getFileName().substring(0, addFileBean.getFileName().lastIndexOf("."))) + .withString("url", BaseUrlApi.BASE_IMG_URL + addFileBean.getId()) + .withString("type", addFileBean.getFileType() == 4 ? "audio" : "video") + .navigation(); + } + } + @Override protected void doSearchByTitle() { diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/record/UserRecordDetailActivity.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/record/UserRecordDetailActivity.java index a9f7c27..7eafb46 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/record/UserRecordDetailActivity.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/record/UserRecordDetailActivity.java @@ -357,70 +357,12 @@ public class UserRecordDetailActivity extends BaseActivity { AddFileAdapter adapter = new AddFileAdapter(mActivity, files); mRlvImgs.setLayoutManager(new GridLayoutManager(mActivity, 5)); mRlvImgs.setAdapter(adapter); - adapter.addOnItemClickListener(addFileBean -> { - if (addFileBean.getFileType() == 1) { - //文档 - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_BASELIB_ACTIVITY_PREVIEW_FILE) - .withString("fileName", addFileBean.getFileName()) - .withString("fileId", addFileBean.getId()) - .navigation(); - } else if (2 == addFileBean.getFileType()) { - //图片预览 - //遍历文件获取所有图片文件 - ArrayList imgUrls = new ArrayList<>(); - for (int i = 0; i < files.size(); i++) { - AddFileBean fileBean = files.get(i); - String url = BaseUrlApi.BASE_IMG_URL + fileBean.getId(); - imgUrls.add(url); - } - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG) - .withStringArrayList(TAG_IMGURL, imgUrls) - .navigation(); - } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { - //TODO 视频或音频预览 - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_PLAYER_SIMPLE_VIDEO) - .withString("title", addFileBean.getFileName().substring(0, addFileBean.getFileName().lastIndexOf("."))) - .withString("url", BaseUrlApi.BASE_IMG_URL + addFileBean.getId()) - .navigation(); - } - }); + adapter.addOnItemClickListener(addFileBean -> previewFile(addFileBean, files)); } else { AddFileAdapter adapter = new AddFileAdapter(mActivity, files); mRlvResumeFile.setLayoutManager(new LinearLayoutManager(mActivity)); mRlvResumeFile.setAdapter(adapter); - adapter.addOnItemClickListener(addFileBean -> { - if (addFileBean.getFileType() == 1) { - //文档 - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_BASELIB_ACTIVITY_PREVIEW_FILE) - .withString("fileName", addFileBean.getFileName()) - .withString("fileId", addFileBean.getId()) - .navigation(); - } else if (2 == addFileBean.getFileType()) { - //图片预览 - //遍历文件获取所有图片文件 - ArrayList imgUrls = new ArrayList<>(); - for (int i = 0; i < files.size(); i++) { - AddFileBean fileBean = files.get(i); - String url = BaseUrlApi.BASE_IMG_URL + fileBean.getId(); - imgUrls.add(url); - } - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG) - .withStringArrayList(TAG_IMGURL, imgUrls) - .navigation(); - } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { - //TODO 视频或音频预览 - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_PLAYER_SIMPLE_VIDEO) - .withString("title", addFileBean.getFileName().substring(0, addFileBean.getFileName().lastIndexOf("."))) - .withString("url", BaseUrlApi.BASE_IMG_URL + addFileBean.getId()) - .navigation(); - } - }); + adapter.addOnItemClickListener(addFileBean -> previewFile(addFileBean, files)); } } else { @@ -452,6 +394,42 @@ public class UserRecordDetailActivity extends BaseActivity { } } + /** + * 预览文件 + */ + private void previewFile(AddFileBean addFileBean, List mFiles) { + if (addFileBean.getFileType() == 1) { + //文档 + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_BASELIB_ACTIVITY_PREVIEW_FILE) + .withString("fileName", addFileBean.getFileName()) + .withString("fileId", addFileBean.getId()) + .navigation(); + } else if (2 == addFileBean.getFileType()) { + //图片预览 + //遍历文件获取所有图片文件 + ArrayList imgUrls = new ArrayList<>(); + for (int i = 0; i < mFiles.size(); i++) { + if (mFiles.get(i).getFileType() == 2) { + AddFileBean fileBean = mFiles.get(i); + String url = BaseUrlApi.BASE_IMG_URL + fileBean.getId(); + imgUrls.add(url); + } + } + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG) + .withStringArrayList(TAG_IMGURL, imgUrls) + .navigation(); + } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_PLAYER_SIMPLE_VIDEO) + .withString("title", addFileBean.getFileName().substring(0, addFileBean.getFileName().lastIndexOf("."))) + .withString("url", BaseUrlApi.BASE_IMG_URL + addFileBean.getId()) + .withString("type", addFileBean.getFileType() == 4 ? "audio" : "video") + .navigation(); + } + } + @Override protected void doSearchByTitle() { diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/routine/RoutineWorkDetailActivity.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/routine/RoutineWorkDetailActivity.java index 83bb3e7..fbe4b75 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/routine/RoutineWorkDetailActivity.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/routine/RoutineWorkDetailActivity.java @@ -298,33 +298,7 @@ public class RoutineWorkDetailActivity extends BaseActivity { fileBeans.add(0, bean); } addFileAdapter.setData(fileBeans); - addFileAdapter.addOnItemClickListener(addFileBean -> { - if (addFileBean.getFileType() == 1) { - //文档 - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_BASELIB_ACTIVITY_PREVIEW_FILE) - .withString("fileName", addFileBean.getFileName()) - .withString("fileId", addFileBean.getId()) - .navigation(); - } else if (2 == addFileBean.getFileType()) { - //图片预览 - //遍历文件获取所有图片文件 - ArrayList imgUrls = new ArrayList<>(); - for (int i = 0; i < addFileAdapter.getData().size(); i++) { - if (addFileAdapter.getData().get(i).getFileType() == 2) { - AddFileBean fileBean = addFileAdapter.getData().get(i); - String url = BaseUrlApi.BASE_IMG_URL + fileBean.getId(); - imgUrls.add(url); - } - } - ARouter.getInstance() - .build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG) - .withStringArrayList(TAG_IMGURL, imgUrls) - .navigation(); - } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { - //TODO 视频或音频预览 - } - }); + addFileAdapter.addOnItemClickListener(addFileBean -> previewFile(addFileBean, fileBeans)); } else { ToastUtils.show("未找到文档信息"); } @@ -344,6 +318,42 @@ public class RoutineWorkDetailActivity extends BaseActivity { } + /** + * 预览文件 + */ + private void previewFile(AddFileBean addFileBean, List mFiles) { + if (addFileBean.getFileType() == 1) { + //文档 + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_BASELIB_ACTIVITY_PREVIEW_FILE) + .withString("fileName", addFileBean.getFileName()) + .withString("fileId", addFileBean.getId()) + .navigation(); + } else if (2 == addFileBean.getFileType()) { + //图片预览 + //遍历文件获取所有图片文件 + ArrayList imgUrls = new ArrayList<>(); + for (int i = 0; i < mFiles.size(); i++) { + if (mFiles.get(i).getFileType() == 2) { + AddFileBean fileBean = mFiles.get(i); + String url = BaseUrlApi.BASE_IMG_URL + fileBean.getId(); + imgUrls.add(url); + } + } + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG) + .withStringArrayList(TAG_IMGURL, imgUrls) + .navigation(); + } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_PLAYER_SIMPLE_VIDEO) + .withString("title", addFileBean.getFileName().substring(0, addFileBean.getFileName().lastIndexOf("."))) + .withString("url", BaseUrlApi.BASE_IMG_URL + addFileBean.getId()) + .withString("type", addFileBean.getFileType() == 4 ? "audio" : "video") + .navigation(); + } + } + @Override protected void doSearchByTitle() { diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/workreports/WorkReportDetailActivity.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/workreports/WorkReportDetailActivity.java index 57d77c9..4782581 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/workreports/WorkReportDetailActivity.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/activity/workreports/WorkReportDetailActivity.java @@ -253,6 +253,7 @@ public class WorkReportDetailActivity extends BaseActivity { }); } + /** * 预览文件 */ @@ -280,10 +281,16 @@ public class WorkReportDetailActivity extends BaseActivity { .withStringArrayList(TAG_IMGURL, imgUrls) .navigation(); } else if (3 == addFileBean.getFileType() || 4 == addFileBean.getFileType()) { - //TODO 视频或音频预览 + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_PLAYER_SIMPLE_VIDEO) + .withString("title", addFileBean.getFileName().substring(0, addFileBean.getFileName().lastIndexOf("."))) + .withString("url", BaseUrlApi.BASE_IMG_URL + addFileBean.getId()) + .withString("type", addFileBean.getFileType() == 4 ? "audio" : "video") + .navigation(); } } + @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable @org.jetbrains.annotations.Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); diff --git a/oamodule/src/main/java/com/tenlionsoft/oamodule/fragments/EmailFragment.java b/oamodule/src/main/java/com/tenlionsoft/oamodule/fragments/EmailFragment.java index 814b2b3..3c2908c 100644 --- a/oamodule/src/main/java/com/tenlionsoft/oamodule/fragments/EmailFragment.java +++ b/oamodule/src/main/java/com/tenlionsoft/oamodule/fragments/EmailFragment.java @@ -97,6 +97,7 @@ public class EmailFragment extends BaseFragment { .withTransition(R.anim.anim_fade_in, R.anim.anim_fade_out) .navigation(mActivity)); getInboxList(); + setTouchDelegate(mIvAdd, 15); } @Override diff --git a/oamodule/src/main/res/layout/activity_draft_email_detail.xml b/oamodule/src/main/res/layout/activity_draft_email_detail.xml index 2770824..ff39220 100644 --- a/oamodule/src/main/res/layout/activity_draft_email_detail.xml +++ b/oamodule/src/main/res/layout/activity_draft_email_detail.xml @@ -69,7 +69,8 @@ + android:layout_height="wrap_content" + android:padding="10dp" /> diff --git a/oamodule/src/main/res/layout/activity_inbox_detail.xml b/oamodule/src/main/res/layout/activity_inbox_detail.xml index f12ca5f..f048530 100644 --- a/oamodule/src/main/res/layout/activity_inbox_detail.xml +++ b/oamodule/src/main/res/layout/activity_inbox_detail.xml @@ -55,7 +55,8 @@ + android:layout_height="wrap_content" + android:padding="10dp" /> diff --git a/oamodule/src/main/res/layout/activity_recycle_email_detail.xml b/oamodule/src/main/res/layout/activity_recycle_email_detail.xml index bd00ac4..c02453e 100644 --- a/oamodule/src/main/res/layout/activity_recycle_email_detail.xml +++ b/oamodule/src/main/res/layout/activity_recycle_email_detail.xml @@ -80,7 +80,8 @@ + android:layout_height="wrap_content" + android:padding="10dp" /> diff --git a/oamodule/src/main/res/layout/activity_send_email.xml b/oamodule/src/main/res/layout/activity_send_email.xml index b4c51fa..1754daf 100644 --- a/oamodule/src/main/res/layout/activity_send_email.xml +++ b/oamodule/src/main/res/layout/activity_send_email.xml @@ -179,7 +179,8 @@ + android:orientation="vertical" + android:padding="10dp">