fix:
update:修改包名
This commit is contained in:
2025-11-28 20:50:52 +08:00
parent a34a680689
commit 7e16ba8813
298 changed files with 1063 additions and 1078 deletions

View File

@@ -0,0 +1,117 @@
package com.xwad.os.adapter;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.RecyclerView;
import com.xwad.os.BuildConfig;
import com.xwad.os.R;
import com.xwad.os.bean.DesktopIcon;
import com.xwad.os.manager.AppManager;
import com.xwad.os.utils.BitmapUtils;
import com.xwad.os.utils.IconUtils;
import java.util.List;
import java.util.Set;
public class AddAppAdapter extends RecyclerView.Adapter<AddAppAdapter.AppHolder> {
private static final String TAG = "AddAppAdapter";
private Context mContext;
private List<DesktopIcon> desktopIcons;
private Set<String> packageSet;
@NonNull
@Override
public AppHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
mContext = parent.getContext();
return new AppHolder(LayoutInflater.from(mContext).inflate(R.layout.item_add_app, parent, false));
}
@Override
public void onBindViewHolder(@NonNull AppHolder holder, int position) {
DesktopIcon desktopIcon = desktopIcons.get(position);
String lable = desktopIcon.getLable();
holder.tv_appname.setText(lable);
holder.iv_icon.setImageDrawable(desktopIcon.getIcon());
String pkg = desktopIcon.getPackageName();
if (packageSet != null) {
if (packageSet.contains(pkg)) {
holder.iv_select.setImageDrawable(mContext.getDrawable(R.drawable.icon_selected));
} else {
holder.iv_select.setImageDrawable(mContext.getDrawable(R.drawable.icon_unselect));
}
}
Log.e(TAG, "getView: " + pkg);
int i = IconUtils.appClassNameList.indexOf(pkg);
if (i != -1) {
String val = IconUtils.appIconList.get(i);
int resID = mContext.getResources().getIdentifier(val, "drawable", BuildConfig.APPLICATION_ID);
if (resID == 0) {
Log.e(TAG, "getView: not found src : " + pkg);
holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon()));
} else {
holder.iv_icon.setImageDrawable(mContext.getResources().getDrawable(resID));
}
} else {
if (AppManager.ADD_NAME.equals(pkg)) {
holder.iv_icon.setImageDrawable(desktopIcon.getIcon());
} else {
holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon()));
}
}
holder.root.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (packageSet.contains(pkg)) {
packageSet.remove(pkg);
AppManager.getInstance().removePakcage(pkg);
} else {
packageSet.add(pkg);
AppManager.getInstance().addPakcage(pkg);
}
notifyDataSetChanged();
}
});
}
@Override
public int getItemCount() {
return desktopIcons == null ? 0 : desktopIcons.size();
}
public void setDesktopIcons(List<DesktopIcon> desktopIcons) {
this.desktopIcons = desktopIcons;
notifyDataSetChanged();
}
public void setPackageSet(Set<String> packageSet) {
this.packageSet = packageSet;
}
class AppHolder extends RecyclerView.ViewHolder {
ConstraintLayout root;
TextView tv_appname;
ImageView iv_icon, iv_select;
public AppHolder(@NonNull View itemView) {
super(itemView);
root = itemView.findViewById(R.id.root);
tv_appname = itemView.findViewById(R.id.tv_appname);
iv_icon = itemView.findViewById(R.id.iv_icon);
iv_select = itemView.findViewById(R.id.iv_select);
}
}
}

View File

@@ -0,0 +1,170 @@
package com.xwad.os.adapter;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.RecyclerView;
import com.hjq.toast.Toaster;
import com.xwad.os.BuildConfig;
import com.xwad.os.R;
import com.xwad.os.activity.ExitActivity;
import com.xwad.os.activity.ManualActivity;
import com.xwad.os.activity.PasswordActivity;
import com.xwad.os.activity.service.ServiceActivity;
import com.xwad.os.bean.DesktopIcon;
import com.xwad.os.manager.AppManager;
import com.xwad.os.manager.RemoteManager;
import com.xwad.os.utils.ApkUtils;
import com.xwad.os.utils.BitmapUtils;
import com.xwad.os.utils.IconUtils;
import com.xwad.os.utils.OpenApkUtils;
import com.xwad.os.utils.Utils;
import java.util.List;
public class AppAdapter extends RecyclerView.Adapter<AppAdapter.AppHolder> {
private static final String TAG = "AppAdapter";
private Context mContext;
private List<DesktopIcon> desktopIcons;
@NonNull
@Override
public AppHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
mContext = parent.getContext();
return new AppHolder(LayoutInflater.from(mContext).inflate(R.layout.item_app, parent, false));
}
@Override
public void onBindViewHolder(@NonNull AppHolder holder, int position) {
DesktopIcon desktopIcon = desktopIcons.get(position);
String lable = desktopIcon.getLable();
holder.tv_appname.setText(lable);
holder.iv_icon.setImageDrawable(desktopIcon.getIcon());
String pkg = desktopIcon.getPackageName();
Log.e(TAG, "getView: " + pkg);
int i = IconUtils.appClassNameList.indexOf(pkg);
if (i != -1) {
String val = IconUtils.appIconList.get(i);
int resID = mContext.getResources().getIdentifier(val, "drawable", BuildConfig.APPLICATION_ID);
if (resID == 0) {
Log.e(TAG, "getView: not found src : " + pkg);
holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon()));
} else {
holder.iv_icon.setImageDrawable(mContext.getResources().getDrawable(resID));
}
} else {
switch (pkg) {
case AppManager.ADD_NAME:
case AppManager.UPDATE_NAME:
case AppManager.MANUAL_NAME:
case AppManager.SERVICE_NAME:
holder.iv_icon.setImageDrawable(desktopIcon.getIcon());
break;
default:
holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon()));
break;
}
}
holder.root.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
switch (pkg) {
case AppManager.ADD_NAME:
mContext.startActivity(new Intent(mContext, PasswordActivity.class));
break;
case AppManager.UPDATE_NAME:
Intent intent = new Intent();
ComponentName componentName = new ComponentName("com.uiui.zy", "com.uiui.zy.activity.update.UpdateActivity");
intent.setComponent(componentName);
try {
mContext.startActivity(intent);
} catch (Exception e) {
Toaster.show("打开失败,请检查是否安装");
Log.e(TAG, "onClick: " + e.getMessage());
}
break;
case AppManager.MANUAL_NAME:
mContext.startActivity(new Intent(mContext, ManualActivity.class));
break;
case AppManager.SERVICE_NAME:
mContext.startActivity(new Intent(mContext, ServiceActivity.class));
break;
case "com.jxw.zwpg":
OpenApkUtils.getInstance().openZuowenpigai6();
break;
case "com.jxw.gb.zwpg":
OpenApkUtils.getInstance().openZuowenpigai();
break;
case "com.jxw.huiben":
OpenApkUtils.getInstance().openARHuiben();
break;
case AppManager.DESKTOP_EXIT:
exitDesktop();
break;
default:
boolean settingOtherAppInstaller = RemoteManager.getInstance().showThirdApp();
if (!settingOtherAppInstaller && !ApkUtils.isSystemApp(mContext, desktopIcon.getPackageName())) {
Toaster.show("已禁止应用打开");
} else {
OpenApkUtils.getInstance().openApp(desktopIcon.getPackageName(), desktopIcon.getClassName());
}
break;
}
}
});
}
public void exitDesktop() {
Intent intent = new Intent("Receiver_Refresh_Password_Action");
intent.setPackage("com.uiui.zy");
mContext.sendBroadcast(intent);
boolean is_activation = RemoteManager.getInstance().getSnIsActivation();
if (is_activation) {
mContext.startActivity(new Intent(mContext, ExitActivity.class));
} else {
Utils.exitDesktop((Activity) mContext);
}
}
@Override
public int getItemCount() {
return desktopIcons == null ? 0 : desktopIcons.size();
}
public List<DesktopIcon> getDesktopIcons() {
return desktopIcons;
}
public void setDesktopIcons(List<DesktopIcon> desktopIcons) {
this.desktopIcons = desktopIcons;
notifyDataSetChanged();
}
class AppHolder extends RecyclerView.ViewHolder {
ConstraintLayout root;
TextView tv_appname;
ImageView iv_icon;
public AppHolder(@NonNull View itemView) {
super(itemView);
root = itemView.findViewById(R.id.root);
tv_appname = itemView.findViewById(R.id.tv_appname);
iv_icon = itemView.findViewById(R.id.iv_icon);
}
}
}

View File

@@ -0,0 +1,139 @@
package com.xwad.os.adapter;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.RecyclerView;
import com.hjq.toast.Toaster;
import com.xwad.os.BuildConfig;
import com.xwad.os.R;
import com.xwad.os.activity.ManualActivity;
import com.xwad.os.activity.PasswordActivity;
import com.xwad.os.activity.service.ServiceActivity;
import com.xwad.os.bean.DesktopIcon;
import com.xwad.os.manager.AppManager;
import com.xwad.os.manager.RemoteManager;
import com.xwad.os.utils.ApkUtils;
import com.xwad.os.utils.BitmapUtils;
import com.xwad.os.utils.IconUtils;
import com.xwad.os.utils.OpenApkUtils;
import java.util.List;
public class FileAdapter extends RecyclerView.Adapter<FileAdapter.AppHolder> {
private static final String TAG = "FileAdapter";
private Context mContext;
private List<DesktopIcon> desktopIcons;
@NonNull
@Override
public AppHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
mContext = parent.getContext();
return new AppHolder(LayoutInflater.from(mContext).inflate(R.layout.item_file, parent, false));
}
@Override
public void onBindViewHolder(@NonNull AppHolder holder, int position) {
DesktopIcon desktopIcon = desktopIcons.get(position);
String lable = desktopIcon.getLable();
holder.tv_appname.setText(lable);
holder.iv_icon.setImageDrawable(desktopIcon.getIcon());
String pkg = desktopIcon.getPackageName();
Log.e(TAG, "getView: " + pkg);
int i = IconUtils.appClassNameList.indexOf(pkg);
if (i != -1) {
String val = IconUtils.appIconList.get(i);
int resID = mContext.getResources().getIdentifier(val, "drawable", BuildConfig.APPLICATION_ID);
if (resID == 0) {
Log.e(TAG, "getView: not found src : " + pkg);
holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon()));
} else {
holder.iv_icon.setImageDrawable(mContext.getResources().getDrawable(resID));
}
} else {
switch (pkg) {
case AppManager.ADD_NAME:
case AppManager.UPDATE_NAME:
case AppManager.MANUAL_NAME:
case AppManager.SERVICE_NAME:
holder.iv_icon.setImageDrawable(desktopIcon.getIcon());
break;
default:
holder.iv_icon.setImageBitmap(BitmapUtils.getIconBitmap(mContext, desktopIcon.getIcon()));
break;
}
}
holder.root.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
switch (pkg) {
case AppManager.ADD_NAME:
mContext.startActivity(new Intent(mContext, PasswordActivity.class));
break;
case AppManager.UPDATE_NAME:
Intent intent = new Intent();
ComponentName componentName = new ComponentName("com.uiui.zy", "com.uiui.zy.activity.update.UpdateActivity");
intent.setComponent(componentName);
mContext.startActivity(intent);
break;
case AppManager.MANUAL_NAME:
mContext.startActivity(new Intent(mContext, ManualActivity.class));
break;
case AppManager.SERVICE_NAME:
mContext.startActivity(new Intent(mContext, ServiceActivity.class));
break;
case "com.uiui.zyappstore":
OpenApkUtils.getInstance().openApp(desktopIcon.getPackageName(), desktopIcon.getClassName());
break;
default:
boolean settingOtherAppInstaller = RemoteManager.getInstance().showThirdApp();
if (!settingOtherAppInstaller && !ApkUtils.isSystemApp(mContext, desktopIcon.getPackageName())) {
Toaster.show("已禁止应用打开");
} else {
OpenApkUtils.getInstance().openApp(desktopIcon.getPackageName(), desktopIcon.getClassName());
}
break;
}
}
});
}
@Override
public int getItemCount() {
return desktopIcons == null ? 0 : desktopIcons.size();
}
public List<DesktopIcon> getDesktopIcons() {
return desktopIcons;
}
public void setDesktopIcons(List<DesktopIcon> desktopIcons) {
this.desktopIcons = desktopIcons;
notifyDataSetChanged();
}
class AppHolder extends RecyclerView.ViewHolder {
ConstraintLayout root;
TextView tv_appname;
ImageView iv_icon;
public AppHolder(@NonNull View itemView) {
super(itemView);
root = itemView.findViewById(R.id.root);
tv_appname = itemView.findViewById(R.id.tv_appname);
iv_icon = itemView.findViewById(R.id.iv_icon);
}
}
}

View File

@@ -0,0 +1,120 @@
package com.xwad.os.adapter;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.xwad.os.R;
import com.xwad.os.activity.homework.HomeworkDetailsActivity;
import com.xwad.os.bean.HomeworkBean;
import com.xwad.os.utils.TimeUtils;
import com.xwad.os.view.HorizontalDecorationWithoutFirst;
import java.util.List;
public class HomeworkAdapter extends RecyclerView.Adapter<HomeworkAdapter.Holder> {
private static final String TAG = "HomeworkAdapter";
private Context mContext;
private List<HomeworkBean> mHomeworkList;
public void setHomeworkList(List<HomeworkBean> homeworkList) {
mHomeworkList = homeworkList;
notifyDataSetChanged();
}
@NonNull
@Override
public Holder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
mContext = parent.getContext();
return new Holder(LayoutInflater.from(mContext).inflate(R.layout.item_homework, parent, false));
}
@Override
public void onBindViewHolder(@NonNull Holder holder, int position) {
HomeworkBean homeworkBean = mHomeworkList.get(position);
holder.tv_title.setText(homeworkBean.getSubject().getName() + "作业");
// switch (homeworkBean.getFile_type()) {
// case 2:
// holder.tv_type.setText("图片");
// break;
// case 3:
// holder.tv_type.setText("视频");
// break;
// case 4:
// holder.tv_type.setText("文档");
// break;
// default:
// holder.tv_type.setText("文字");
// }
switch (homeworkBean.getStatus()) {
default:
case 0:
holder.iv_statu.setImageDrawable(mContext.getDrawable(R.drawable.icon_hw_statu_unfinished));
break;
case 1:
holder.iv_statu.setImageDrawable(mContext.getDrawable(R.drawable.icon_hw_statu_finish));
break;
}
holder.tv_type.setText(homeworkBean.getContent());
holder.tv_time.setText(TimeUtils.getHomeworkTime(homeworkBean.getCreated_at()));
List<String> urls = homeworkBean.getFile_url();
if (urls != null && !urls.isEmpty()) {
urls.removeIf(TextUtils::isEmpty);
HomeworkPicAdapter homeworkPicAdapter = new HomeworkPicAdapter();
homeworkPicAdapter.setUrls(urls);
homeworkPicAdapter.setId(homeworkBean.getId());
holder.rv_pic.setVisibility(View.VISIBLE);
holder.rv_pic.setAdapter(homeworkPicAdapter);
} else {
holder.rv_pic.setVisibility(View.INVISIBLE);
}
holder.root.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(mContext, HomeworkDetailsActivity.class);
intent.putExtra("HomeworkBeanID", homeworkBean.getId());
mContext.startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return mHomeworkList == null ? 0 : mHomeworkList.size();
}
static class Holder extends RecyclerView.ViewHolder {
ConstraintLayout root;
RecyclerView rv_pic;
TextView tv_title, tv_type, tv_time;
ImageView iv_statu;
Holder(@NonNull View itemView) {
super(itemView);
root = itemView.findViewById(R.id.root);
rv_pic = itemView.findViewById(R.id.rv_pic);
tv_title = itemView.findViewById(R.id.tv_title);
tv_type = itemView.findViewById(R.id.tv_type);
tv_time = itemView.findViewById(R.id.tv_time);
iv_statu = itemView.findViewById(R.id.iv_statu);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(root.getContext());
linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
rv_pic.setLayoutManager(linearLayoutManager);
rv_pic.addItemDecoration(new HorizontalDecorationWithoutFirst(8, root.getContext()));
}
}
}

View File

@@ -0,0 +1,112 @@
package com.xwad.os.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.Priority;
import com.bumptech.glide.load.DecodeFormat;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.target.Target;
import com.xwad.os.R;
import com.xwad.os.utils.FileUtil;
import com.xwad.os.utils.GlideLoadUtils;
import com.wgw.photo.preview.PhotoPreview;
import com.wgw.photo.preview.interfaces.ImageLoader;
import java.io.File;
import java.util.List;
public class HomeworkDetailPicAdapter extends RecyclerView.Adapter<HomeworkDetailPicAdapter.Holder> {
private static final String TAG = "HomeworkPicAdapter";
private Context mContext;
private List<String> mUrls;
public void setUrls(List<String> urls) {
mUrls = urls;
notifyDataSetChanged();
}
@NonNull
@Override
public Holder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
mContext = parent.getContext();
return new Holder(LayoutInflater.from(mContext).inflate(R.layout.item_homework_detail_pic, parent, false));
}
@Override
public void onBindViewHolder(@NonNull Holder holder, int position) {
String url = mUrls.get(position);
GlideLoadUtils.getInstance().glideLoadSetSize(mContext, url, holder.nv_pic, R.mipmap.ic_launcher);
File file = new File(FileUtil.getDownLoadPath(mContext) + FileUtil.getFileNamefromURL(url));
if (file.exists()) {
holder.iv_download.setVisibility(View.GONE);
holder.nv_pic.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// OpenFileUtil.openFile(mContext, file);
PhotoPreview.with((FragmentActivity) mContext)
.sources(mUrls)
.defaultShowPosition(position)
.imageLoader(new ImageLoader() {
@Override
public void onLoadImage(int position, @Nullable Object source, @NonNull ImageView imageView) {
RequestOptions requestOptions = new RequestOptions()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
.priority(Priority.HIGH)
.format(DecodeFormat.PREFER_RGB_565);
Glide.with(imageView.getContext())
.setDefaultRequestOptions(requestOptions)
.load((String) source)
.into(imageView);
// GlideLoadUtils.getInstance().glideLoad(imageView.getContext(), (String)source, imageView, R.drawable.icon_no_homework);
}
})
.build()
.show(holder.nv_pic); // 指定缩略图
}
});
} else {
holder.iv_download.setVisibility(View.VISIBLE);
holder.iv_download.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
FileUtil.ariaDownloadUrl(mContext, url);
notifyDataSetChanged();
}
});
}
}
@Override
public int getItemCount() {
return mUrls == null ? 0 : mUrls.size();
}
static class Holder extends RecyclerView.ViewHolder {
ImageView nv_pic;
ImageView iv_download;
Holder(@NonNull View itemView) {
super(itemView);
nv_pic = itemView.findViewById(R.id.nv_pic);
iv_download = itemView.findViewById(R.id.iv_download);
}
}
}

View File

@@ -0,0 +1,128 @@
package com.xwad.os.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.Priority;
import com.bumptech.glide.load.DecodeFormat;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.target.Target;
import com.xwad.os.R;
import com.xwad.os.bean.HomeworkBean;
import com.xwad.os.utils.FileUtil;
import com.xwad.os.utils.GlideLoadUtils;
import com.xwad.os.utils.OpenFileUtil;
import com.wgw.photo.preview.PhotoPreview;
import com.wgw.photo.preview.interfaces.ImageLoader;
import java.io.File;
import java.util.List;
public class HomeworkDetailPicAdapter2 extends RecyclerView.Adapter<HomeworkDetailPicAdapter2.Holder> {
private static final String TAG = "HomeworkPicAdapter";
private Context mContext;
private HomeworkBean mHomeworkBean;
public void setHomeworkBean(HomeworkBean homeworkBean) {
mHomeworkBean = homeworkBean;
notifyDataSetChanged();
}
@NonNull
@Override
public Holder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
mContext = parent.getContext();
return new Holder(LayoutInflater.from(mContext).inflate(R.layout.item_homework_detail_pic, parent, false));
}
@Override
public void onBindViewHolder(@NonNull Holder holder, int position) {
List<String> urls = mHomeworkBean.getFile_url();
String url = urls.get(position);
File file = new File(FileUtil.getDownLoadPath(mContext) + FileUtil.getFileNamefromURL(url));
if (file.exists()) {
GlideLoadUtils.getInstance().glideLoadSetSize(mContext, file, holder.nv_pic, R.mipmap.ic_launcher);
holder.iv_download.setVisibility(View.GONE);
if (mHomeworkBean.getFile_type() == 3) {
holder.iv_play.setVisibility(View.VISIBLE);
} else {
holder.iv_play.setVisibility(View.GONE);
}
holder.nv_pic.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (mHomeworkBean.getFile_type() == 3) {
OpenFileUtil.openFile(mContext, file);
} else {
PhotoPreview.with((FragmentActivity) mContext)
.sources(urls)
.imageLoader(new ImageLoader() {
@Override
public void onLoadImage(int position, @Nullable Object source, @NonNull ImageView imageView) {
RequestOptions requestOptions = new RequestOptions()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
.priority(Priority.HIGH)
.format(DecodeFormat.PREFER_RGB_565);
Glide.with(imageView.getContext())
.setDefaultRequestOptions(requestOptions)
.load((String) source)
.into(imageView);
//GlideLoadUtils.getInstance().glideLoad(imageView.getContext(), (String)source, imageView, R.drawable.icon_no_homework);
}
})
.build()
.show(holder.nv_pic); // 指定缩略图
}
}
});
} else {
GlideLoadUtils.getInstance().glideLoadSetSize(mContext, url, holder.nv_pic, R.mipmap.ic_launcher);
if (mHomeworkBean.getFile_type() == 3) {
holder.iv_download.setVisibility(View.VISIBLE);
holder.iv_download.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
FileUtil.ariaDownloadUrl(mContext, url);
}
});
} else {
FileUtil.ariaDownloadUrl(mContext, url);
}
}
}
@Override
public int getItemCount() {
return mHomeworkBean == null ? 0 : mHomeworkBean.getFile_url().size();
}
static class Holder extends RecyclerView.ViewHolder {
ImageView nv_pic;
ImageView iv_download;
ImageView iv_play;
Holder(@NonNull View itemView) {
super(itemView);
nv_pic = itemView.findViewById(R.id.nv_pic);
iv_download = itemView.findViewById(R.id.iv_download);
iv_play = itemView.findViewById(R.id.iv_play);
}
}
}

View File

@@ -0,0 +1,81 @@
package com.xwad.os.adapter;
import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.RecyclerView;
import com.shehuan.niv.NiceImageView;
import com.xwad.os.R;
import com.xwad.os.activity.homework.HomeworkDetailsActivity;
import com.xwad.os.utils.FileUtil;
import com.xwad.os.utils.GlideLoadUtils;
import java.io.File;
import java.util.List;
public class HomeworkPicAdapter extends RecyclerView.Adapter<HomeworkPicAdapter.Holder> {
private static final String TAG = "HomeworkPicAdapter";
private Context mContext;
private List<String> mUrls;
private int mId = -1;
public void setUrls(List<String> urls) {
mUrls = urls;
notifyDataSetChanged();
}
public void setId(int id) {
mId = id;
}
@NonNull
@Override
public Holder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
mContext = parent.getContext();
return new Holder(LayoutInflater.from(mContext).inflate(R.layout.item_homework_pic, parent, false));
}
@Override
public void onBindViewHolder(@NonNull Holder holder, int position) {
String url = mUrls.get(position);
File file = new File(FileUtil.getDownLoadPath(mContext) + FileUtil.getFileNamefromURL(url));
if (file.exists()) {
GlideLoadUtils.getInstance().glideLoad(mContext, file, holder.nv_pic, R.drawable.icon_no_homework);
} else {
GlideLoadUtils.getInstance().glideLoad(mContext, url, holder.nv_pic, R.drawable.icon_no_homework);
}
holder.cl_root.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(mContext, HomeworkDetailsActivity.class);
intent.putExtra("HomeworkBeanID", mId);
mContext.startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return mUrls == null ? 0 : mUrls.size();
}
static class Holder extends RecyclerView.ViewHolder {
ConstraintLayout cl_root;
NiceImageView nv_pic;
Holder(@NonNull View itemView) {
super(itemView);
cl_root = itemView.findViewById(R.id.cl_root);
nv_pic = itemView.findViewById(R.id.nv_pic);
}
}
}