导航菜单

页面标题

页面副标题

微商客 v2.1.2 - BatchSendActivity.java 源代码

正在查看: 微商客 v2.1.2 应用的 BatchSendActivity.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.jianzhen.wsk.ui.groupsend;

import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Handler;
import android.os.Looper;
import android.view.View;
import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.activity.result.ActivityResult;
import androidx.activity.result.ActivityResultCallback;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.auxiliary.library.core.NodeExecutor;
import com.auxiliary.library.node.base.INode;
import com.auxiliary.library.node.base.PageNode;
import com.auxiliary.library.service.AuxiliaryService;
import com.auxiliary.library.service.IAccessibility;
import com.auxiliary.library.widget.ExecutorWindow;
import com.bumptech.glide.Glide;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.hjq.permissions.OnPermissionCallback;
import com.hjq.permissions.XXPermissions;
import com.jianzhen.wsk.BaseActivity;
import com.jianzhen.wsk.R;
import com.jianzhen.wsk.bean.FriendData;
import com.jianzhen.wsk.bean.TagAndGroupBean;
import com.jianzhen.wsk.net.api.Constant;
import com.jianzhen.wsk.ui.friendscircle.FriendSelectObjectTagActivity;
import com.jianzhen.wsk.utils.GlideEngine;
import com.jianzhen.wsk.utils.ImageSaveUtil;
import com.jianzhen.wsk.utils.ScriptLoadUtil;
import com.jianzhen.wsk.utils.SharedPreferencesUtil;
import com.jianzhen.wsk.utils.Utils;
import com.kongzue.dialogx.dialogs.PopNotification;
import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.SelectMimeType;
import com.luck.picture.lib.entity.LocalMedia;
import com.luck.picture.lib.interfaces.OnResultCallbackListener;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class BatchSendActivity extends BaseActivity {
    private RelativeLayout imgLay;
    public ActivityResultLauncher<Intent> launcher;
    private ExecutorWindow mExecutorWindow;
    public PopNotification mPopNotification;
    private NumberOfPeopleAdapter numberOfPeopleAdapter;
    private LinearLayout selectIvLayout;
    private TextView selectObjectTv;
    private String selectTagNameStr;
    private EditText sendEt;
    private TextView sendHisTv;
    private ImageView showImg;
    private final String funcId = "10028";
    private final List<NumberOfPeopleData> numberOfPeopleData = new ArrayList();
    private int numPos = 0;
    private String imgStr = "";
    private String urlStr = "";
    private String tagUrlStr = "";
    private boolean tsModel = false;
    private int isCheckSelectObject = 100;
    private List<TagAndGroupBean> selectNoObjectData = new ArrayList();
    private final Handler handlerPost = new Handler(Looper.getMainLooper());

    public static class BatchData {
        public int end;
        public String sendText;
        public int start;
        public String tag_name;
        public boolean isHaveText = false;
        public boolean isHaveImg = false;
    }

    @Override
    protected int getLayoutId() {
        return R.layout.activity_batch_send;
    }

    @Override
    protected boolean isSetBaseTitle() {
        return true;
    }

    @Override
    protected void initTitle() {
        setBaseTitle(this, getString(R.string.friend_batch_send_title));
    }

    @Override
    protected void initPageView() {
        initActivityResult();
        this.tsModel = SharedPreferencesUtil.getBoolean(this, "TS_DEVICE_MODEL", false);
        final TextView textView = (TextView) findViewById(R.id.change_tv);
        final TextView textView2 = (TextView) findViewById(R.id.change_tip_tv);
        this.sendEt = (EditText) findViewById(R.id.send_text_ed);
        this.sendHisTv = (TextView) findViewById(R.id.send_his_tv);
        this.selectObjectTv = (TextView) findViewById(R.id.select_object_text);
        setImg();
        textView.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                BatchSendActivity.this.lambda$initPageView$0(textView, textView2, view);
            }
        });
        setData(9801, 200);
        RecyclerView findViewById = findViewById(R.id.batch_rv);
        findViewById.setLayoutManager(new GridLayoutManager(this, 4));
        NumberOfPeopleAdapter numberOfPeopleAdapter = new NumberOfPeopleAdapter(R.layout.item_batch_layout, this.numberOfPeopleData);
        this.numberOfPeopleAdapter = numberOfPeopleAdapter;
        findViewById.setAdapter(numberOfPeopleAdapter);
        this.numberOfPeopleAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
            public final void onItemClick(BaseQuickAdapter baseQuickAdapter, View view, int i) {
                BatchSendActivity.this.lambda$initPageView$1(baseQuickAdapter, view, i);
            }
        });
        this.numberOfPeopleData.get(this.numPos).isSelect = true;
        this.numberOfPeopleAdapter.setNewData(this.numberOfPeopleData);
        findViewById(R.id.send_ok).setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                BatchSendActivity.this.lambda$initPageView$2(view);
            }
        });
        findViewById(R.id.select_object_lay).setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                BatchSendActivity.this.lambda$initPageView$3(view);
            }
        });
        findViewById(R.id.continuous_lay).setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                BatchSendActivity.this.lambda$initPageView$4(view);
            }
        });
    }

    public void lambda$initPageView$0(TextView textView, TextView textView2, View view) {
        if (textView.getText().toString().equals("切换到200人")) {
            textView.setText("切换到500人");
            setData(9801, 200);
            textView2.setText("部分号一次可以发500人");
        } else {
            textView.setText("切换到200人");
            setData(9501, 500);
            textView2.setText("支持部分、如发送不成功请切换到200人");
        }
    }

    public void lambda$initPageView$1(BaseQuickAdapter baseQuickAdapter, View view, int i) {
        this.numPos = i;
        Iterator<NumberOfPeopleData> it = this.numberOfPeopleData.iterator();
        while (it.hasNext()) {
            it.next().isSelect = false;
        }
        this.numberOfPeopleData.get(i).isSelect = true;
        this.numberOfPeopleAdapter.setNewData(this.numberOfPeopleData);
    }

    public void lambda$initPageView$2(View view) {
        if (this.imgStr.isEmpty() && this.sendEt.getText().toString().isEmpty()) {
            showCenterToast("请先输入需要发送的问题或添加图片!");
        } else {
            getFuncLimit("10028");
        }
    }

    public void lambda$initPageView$3(View view) {
        Intent intent = new Intent((Context) this, (Class<?>) SelectCheckObjectWithBatchActivity.class);
        intent.putExtra(FriendSelectObjectTagActivity.IS_SELECT_OBJECT, this.isCheckSelectObject);
        intent.putExtra("selectNoObjectData", (Serializable) this.selectNoObjectData);
        intent.putExtra("selectTagNameStr", this.selectTagNameStr);
        this.launcher.launch(intent);
    }

    public void lambda$initPageView$4(View view) {
        startIntent(this, BatchSendWithContinuousActivity.class);
    }

    public void initActivityResult() {
        this.launcher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() {
            public final void onActivityResult(Object obj) {
                BatchSendActivity.this.lambda$initActivityResult$5((ActivityResult) obj);
            }
        });
    }

    public void lambda$initActivityResult$5(ActivityResult activityResult) {
        if (activityResult.getResultCode() != -1 || activityResult.getData() == null) {
            return;
        }
        this.isCheckSelectObject = activityResult.getData().getIntExtra(FriendSelectObjectTagActivity.IS_SELECT_OBJECT, 100);
        this.selectTagNameStr = activityResult.getData().getStringExtra("selectTagNameStr");
        if (this.isCheckSelectObject == 100) {
            this.selectObjectTv.setText("所有好友");
        } else {
            this.selectObjectTv.setText("标签-" + this.selectTagNameStr);
        }
        this.selectNoObjectData = (List) activityResult.getData().getSerializableExtra("selectNoObjectData");
    }

    private void setData(int i, int i2) {
        int i3 = i - 1;
        ArrayList arrayList = new ArrayList();
        ArrayList arrayList2 = new ArrayList();
        arrayList.add(0);
        int i4 = 0;
        while (i4 < i3) {
            i4 += i2;
            arrayList.add(Integer.valueOf(i4));
        }
        arrayList2.add(Integer.valueOf(i2));
        int i5 = i2;
        while (i5 < 10000) {
            i5 += i2;
            arrayList2.add(Integer.valueOf(i5));
        }
        this.numberOfPeopleData.clear();
        for (int i6 = 0; i6 < arrayList.size(); i6++) {
            this.numberOfPeopleData.add(new NumberOfPeopleData(((Integer) arrayList.get(i6)).intValue(), ((Integer) arrayList2.get(i6)).intValue()));
        }
        if (this.numberOfPeopleAdapter != null) {
            this.numPos = 0;
            this.numberOfPeopleData.get(0).isSelect = true;
            this.numberOfPeopleAdapter.setNewData(this.numberOfPeopleData);
        }
    }

    private void setImg() {
        this.selectIvLayout = (LinearLayout) findViewById(R.id.select_img);
        if (Constant.isShowImg) {
            this.selectIvLayout.setVisibility(0);
        }
        this.imgLay = (RelativeLayout) findViewById(R.id.img_lay);
        this.showImg = (ImageView) findViewById(R.id.show_iv);
        ImageView imageView = (ImageView) findViewById(R.id.delete_iv);
        this.selectIvLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                BatchSendActivity.this.lambda$setImg$6(view);
            }
        });
        imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                BatchSendActivity.this.lambda$setImg$7(view);
            }
        });
    }

    public void lambda$setImg$6(View view) {
        toSelectImg();
    }

    public void lambda$setImg$7(View view) {
        this.imgStr = "";
        this.imgLay.setVisibility(8);
        this.selectIvLayout.setVisibility(0);
    }

    private void toSelectImg() {
        if (!Utils.isImgPermission(this)) {
            PopNotification build = PopNotification.build();
            this.mPopNotification = build;
            build.setTitle("相机和存储权限使用说明:").setMessage("用于拍摄、储存照片以及在相册中浏览查看照片").noAutoDismiss().show();
        }
        XXPermissions.with((Context) this).permission(Utils.imgPermission(this)).request(new OnPermissionCallback() {
            @Override
            public void onGranted(List<String> list, boolean z) {
                BatchSendActivity.this.imgSelect();
                if (BatchSendActivity.this.mPopNotification != null) {
                    BatchSendActivity.this.mPopNotification.dismiss();
                }
            }

            @Override
            public void onDenied(List<String> list, boolean z) {
                if (BatchSendActivity.this.mPopNotification != null) {
                    BatchSendActivity.this.mPopNotification.dismiss();
                }
            }
        });
    }

    public void imgSelect() {
        PictureSelector.create(this).openGallery(SelectMimeType.ofImage()).setMaxSelectNum(1).setMinSelectNum(1).setImageEngine(GlideEngine.createGlideEngine()).setSelectorUIStyle(Utils.selectorStyle()).forResult(new OnResultCallbackListener<LocalMedia>() {
            public void onCancel() {
            }

            public void onResult(ArrayList<LocalMedia> arrayList) {
                BatchSendActivity.this.imgStr = arrayList.get(0).getPath();
                Glide.with(BatchSendActivity.this).load(BatchSendActivity.this.imgStr).into(BatchSendActivity.this.showImg);
                BatchSendActivity.this.selectIvLayout.setVisibility(8);
                BatchSendActivity.this.imgLay.setVisibility(0);
            }
        });
    }

    @Override
    public void lambda$setNotYearVipTip$7() {
        super.lambda$setNotYearVipTip$7();
        if (!this.imgStr.isEmpty()) {
            ImageSaveUtil.saveAlbum((Context) this, BitmapFactory.decodeFile(this.imgStr), Bitmap.CompressFormat.JPEG, 100, false);
        }
        Utils.openWx(this);
        this.handlerPost.post(new Runnable() {
            @Override
            public final void run() {
                BatchSendActivity.this.start();
            }
        });
    }

    public void start() {
        BatchData batchData = new BatchData();
        try {
            IAccessibility accessibility = AuxiliaryService.getAccessibility();
            if (this.isCheckSelectObject == 100) {
                this.mExecutorWindow = ScriptLoadUtil.loadWx(accessibility, "10028", "batch_send");
            } else {
                this.mExecutorWindow = ScriptLoadUtil.loadWx(accessibility, "10028", "batch_send_with_tag");
            }
            if (!this.sendEt.getText().toString().isEmpty()) {
                batchData.sendText = this.sendEt.getText().toString();
                batchData.isHaveText = true;
            }
            if (!this.imgStr.isEmpty()) {
                batchData.isHaveImg = true;
            }
            batchData.tag_name = this.selectTagNameStr;
            batchData.start = this.numberOfPeopleData.get(this.numPos).startNum;
            batchData.end = this.numberOfPeopleData.get(this.numPos).endNum - 1;
            this.mExecutorWindow.setArgs(batchData);
            this.mExecutorWindow.showFloatWindow();
            this.mExecutorWindow.setStatus("群发中", 0);
            this.mExecutorWindow.setIFilter(new NodeExecutor.IFilter() {
                public final List onFilter(NodeExecutor nodeExecutor, INode iNode, List list, Object obj) {
                    List lambda$start$8;
                    lambda$start$8 = BatchSendActivity.this.lambda$start$8(nodeExecutor, iNode, list, obj);
                    return lambda$start$8;
                }
            });
            this.mExecutorWindow.setCallback(new NodeExecutor.DefaultCallback(this) {
                public boolean onPageFound(IAccessibility iAccessibility, PageNode pageNode, NodeExecutor nodeExecutor) {
                    if (pageNode.getPageName() != null && pageNode.getPageName().equals("群发助手群发失败")) {
                        nodeExecutor.pause();
                        BatchSendActivity.this.mExecutorWindow.setMessageShow("群发失败!\n可能是操作太频繁,建议24小时后重试!(您也可以手动点击发送)");
                    }
                    return super.onPageFound(iAccessibility, pageNode, nodeExecutor);
                }
            });
            this.mExecutorWindow.addStatusCallback(new NodeExecutor.StatusCallback() {
                public void onFail(NodeExecutor nodeExecutor, Throwable th) {
                }

                public void onPause(NodeExecutor nodeExecutor) {
                }

                public void onResume(NodeExecutor nodeExecutor) {
                }

                public void onStart(NodeExecutor nodeExecutor) {
                }

                public void onFinish(NodeExecutor nodeExecutor, boolean z) {
                    BatchSendActivity.this.addFuncLimitCount("10028");
                    BatchSendActivity.this.mExecutorWindow.setMessageShow("群发完成!");
                    SharedPreferencesUtil.putString(BatchSendActivity.this, "batchSendHis", ((NumberOfPeopleData) BatchSendActivity.this.numberOfPeopleData.get(BatchSendActivity.this.numPos)).startNum + "-" + ((NumberOfPeopleData) BatchSendActivity.this.numberOfPeopleData.get(BatchSendActivity.this.numPos)).endNum);
                }
            });
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public List lambda$start$8(NodeExecutor nodeExecutor, INode iNode, List list, Object obj) {
        ArrayList arrayList = new ArrayList(list);
        List<TagAndGroupBean> list2 = this.selectNoObjectData;
        if (list2 != null && !list2.isEmpty()) {
            for (FriendData friendData : getNotSendFriendData()) {
                Iterator it = list.iterator();
                while (true) {
                    if (!it.hasNext()) {
                        break;
                    }
                    AccessibilityNodeInfo accessibilityNodeInfo = (AccessibilityNodeInfo) it.next();
                    if (accessibilityNodeInfo != null && accessibilityNodeInfo.getText() != null && friendData.nameStr.equals(accessibilityNodeInfo.getText().toString())) {
                        arrayList.remove(accessibilityNodeInfo);
                        break;
                    }
                }
            }
        }
        return arrayList;
    }

    private static class NumberOfPeopleAdapter extends BaseQuickAdapter<NumberOfPeopleData, BaseViewHolder> {
        public NumberOfPeopleAdapter(int i, List<NumberOfPeopleData> list) {
            super(i, list);
        }

        public void convert(BaseViewHolder baseViewHolder, NumberOfPeopleData numberOfPeopleData) {
            TextView textView = (TextView) baseViewHolder.getView(R.id.item_batch_tv);
            textView.setText((numberOfPeopleData.startNum + 1) + "-" + numberOfPeopleData.endNum);
            textView.setSelected(numberOfPeopleData.isSelect);
        }
    }

    public List<FriendData> getNotSendFriendData() {
        ArrayList arrayList = new ArrayList();
        List<TagAndGroupBean> list = this.selectNoObjectData;
        if (list != null && list.size() > 0) {
            Iterator<TagAndGroupBean> it = this.selectNoObjectData.iterator();
            while (it.hasNext()) {
                Iterator<FriendData> it2 = it.next().getFriendData().iterator();
                while (it2.hasNext()) {
                    arrayList.add(new FriendData(it2.next().getNameStr()));
                }
            }
        }
        return arrayList;
    }

    public static class NumberOfPeopleData {
        public int endNum;
        public boolean isSelect;
        public int startNum;

        public NumberOfPeopleData(int i, int i2) {
            this.startNum = i;
            this.endNum = i2;
        }
    }

    protected void onResume() {
        super.onResume();
        ExecutorWindow executorWindow = this.mExecutorWindow;
        if (executorWindow != null) {
            executorWindow.hideFloatWindow();
            this.mExecutorWindow.stop();
        }
        String string = SharedPreferencesUtil.getString(this, "batchSendHis", "");
        if (this.sendHisTv != null) {
            if (string.isEmpty()) {
                this.sendHisTv.setVisibility(8);
            } else {
                this.sendHisTv.setVisibility(0);
                this.sendHisTv.setText("[您上次群发到:" + string + "人]");
            }
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        ExecutorWindow executorWindow = this.mExecutorWindow;
        if (executorWindow != null) {
            executorWindow.hideFloatWindow();
            this.mExecutorWindow.stop();
        }
    }

    private String getScript() {
        if (this.tsModel) {
            return "http://cdn.usfriend.cn/script/tagSend/ts/batch_send.json";
        }
        return "http://cdn.usfriend.cn/script/tagSend/batch_send.json";
    }

    private String getTagRunScript() {
        if (this.tsModel) {
            return "http://cdn.usfriend.cn/script/tagSend/ts/batch_send_with_tag.json";
        }
        return "http://cdn.usfriend.cn/script/tagSend/batch_send_with_tag.json";
    }
}