导航菜单

页面标题

页面副标题

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

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

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


package com.jianzhen.wsk.ui.hk;

import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.recyclerview.widget.RecyclerView;
import com.auxiliary.library.core.NodeExecutor;
import com.auxiliary.library.node.ViewNode;
import com.auxiliary.library.node.WhileNode;
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.util.ClassUtil;
import com.auxiliary.library.util.DyDateUtil;
import com.auxiliary.library.util.ViewNodeUtil;
import com.auxiliary.library.widget.ExecutorWindow;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.google.android.flexbox.FlexboxLayoutManager;
import com.jianzhen.wsk.BaseActivity;
import com.jianzhen.wsk.R;
import com.jianzhen.wsk.dialog.BaseBottomSheetDialog;
import com.jianzhen.wsk.dialog.FilterKeyDialog;
import com.jianzhen.wsk.dialog.HitDialog;
import com.jianzhen.wsk.dialog.IntervalDialog;
import com.jianzhen.wsk.dialog.NumDialog;
import com.jianzhen.wsk.dialog.YearVipTipDialog;
import com.jianzhen.wsk.net.api.Constant;
import com.jianzhen.wsk.ui.FunctionPermissionManageActivity;
import com.jianzhen.wsk.utils.ScriptLoadUtil;
import com.jianzhen.wsk.utils.ScriptLoadUtil$$ExternalSyntheticBackport0;
import com.jianzhen.wsk.utils.SharedPreferencesUtil;
import com.jianzhen.wsk.utils.Utils;
import com.umeng.analytics.MobclickAgent;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

public class SphCommentActivity extends BaseActivity implements View.OnClickListener, BaseBottomSheetDialog.OnConfirmListener, NodeExecutor.IFilter, BaseQuickAdapter.OnItemClickListener {
    public static final String HISTORY = "wsk_history";
    public static final String TAG = "wsk_sph_comment";
    private static boolean isNotYearVip;
    public static int progressNum;
    private LinearLayout filterLay;
    private FilterKeyDialog mBlackFilterDialog;
    private View mContentView;
    private ExecutorWindow mExecutorWindow;
    private TextView mFilterView;
    private IntervalDialog mIntervalDialog;
    private TextView mIntervalView;
    private FilterKeyDialog mKeyFilterDialog;
    private EditText mMessageEdit;
    private EditText mNumEdit;
    private SharedPreferences mPreferences;
    private EditText mSearchEdit;
    private String funcId = "10027";
    private Adapter mAdapter = new Adapter();
    private final Param mParam = new Param();
    private boolean isRun = false;
    private String dyJsonStr = "";

    public static class Param {
        public String word = "";
        public List<String> filterKey = new ArrayList();
        public int num = 0;
        public String message = "";
        private boolean signMessage = false;
        public String interval = "不限时间";
        private boolean signFollow = false;
    }

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

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

    @Override
    protected void initTitle() {
        setBaseTitle(this, "视频号获客");
    }

    @Override
    protected void initPageView() {
        isNotYearVip = getIntent().getBooleanExtra("isNotYearVip", false);
        TextView textView = (TextView) findViewById(R.id.not_year_vip_tip);
        textView.setVisibility(isNotYearVip ? 0 : 8);
        textView.setText("非年会员用户最多可获客" + Constant.hkNum + "人");
        this.mSearchEdit = (EditText) findViewById(R.id.ed_search_key);
        this.mMessageEdit = (EditText) findViewById(R.id.ed_message);
        this.mNumEdit = (EditText) findViewById(R.id.et_num);
        this.mContentView = findViewById(R.id.ll_setting_content);
        this.mIntervalView = (TextView) findViewById(R.id.tv_interval);
        this.mFilterView = (TextView) findViewById(R.id.tv_filter_key);
        RecyclerView findViewById = findViewById(R.id.rv_history);
        FlexboxLayoutManager flexboxLayoutManager = new FlexboxLayoutManager(this);
        flexboxLayoutManager.setFlexDirection(0);
        flexboxLayoutManager.setFlexWrap(1);
        findViewById.setLayoutManager(flexboxLayoutManager);
        findViewById.setAdapter(this.mAdapter);
        SharedPreferences sharedPreferences = getSharedPreferences("wsk_history", 0);
        this.mPreferences = sharedPreferences;
        this.mAdapter.addData((Collection) new ArrayList(sharedPreferences.getStringSet(TAG, new HashSet())));
        this.mAdapter.setOnItemClickListener(this);
        new Bundle();
        IntervalDialog intervalDialog = new IntervalDialog(this);
        this.mIntervalDialog = intervalDialog;
        intervalDialog.setOnConfirmListener(this);
        Bundle bundle = new Bundle();
        bundle.putString(FilterKeyDialog.FILTER_KEY, FilterKeyDialog.FILTER);
        FilterKeyDialog filterKeyDialog = new FilterKeyDialog(this, bundle);
        this.mKeyFilterDialog = filterKeyDialog;
        filterKeyDialog.setOnConfirmListener(this);
        Bundle bundle2 = new Bundle();
        bundle2.putString(FilterKeyDialog.FILTER_KEY, FilterKeyDialog.BLACK);
        FilterKeyDialog filterKeyDialog2 = new FilterKeyDialog(this, bundle2);
        this.mBlackFilterDialog = filterKeyDialog2;
        filterKeyDialog2.setOnConfirmListener(this);
        this.mFilterView.setOnClickListener(this);
        this.mIntervalView.setOnClickListener(this);
        findViewById(R.id.tv_start).setOnClickListener(this);
        getDyJson();
        if (!SharedPreferencesUtil.getBoolean(this, "sphToolsAgreement", false)) {
            Utils.showToolsAgreementTip(this, "微信", "sphToolsAgreement");
        }
        findViewById(R.id.num_tip).setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                SphCommentActivity.this.lambda$initPageView$0(view);
            }
        });
        findViewById(R.id.industry_tip).setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                SphCommentActivity.this.lambda$initPageView$1(view);
            }
        });
        findViewById(R.id.filter_lay).setOnClickListener(this);
    }

    public void lambda$initPageView$0(View view) {
        Utils.showTip(this, 1);
    }

    public void lambda$initPageView$1(View view) {
        Utils.showTip(this, 2);
    }

    @Override
    public void onConfirm(BaseBottomSheetDialog baseBottomSheetDialog, List<String> list) {
        if (baseBottomSheetDialog == this.mKeyFilterDialog) {
            this.mParam.filterKey = list;
            this.mFilterView.setText(ScriptLoadUtil$$ExternalSyntheticBackport0.m(",", list));
        } else if (baseBottomSheetDialog == this.mIntervalDialog) {
            this.mParam.interval = ScriptLoadUtil$$ExternalSyntheticBackport0.m(",", list);
            this.mIntervalView.setText(this.mParam.interval);
        }
    }

    public void onItemClick(BaseQuickAdapter baseQuickAdapter, View view, int i) {
        this.mSearchEdit.setText(baseQuickAdapter.getItem(i).toString());
    }

    @Override
    public void onClick(View view) {
        if (view.getId() == 2131363270 || view.getId() == 2131362250) {
            this.mKeyFilterDialog.show(this.mParam.filterKey);
            return;
        }
        if (view.getId() == 2131363283) {
            this.mIntervalDialog.show(this.mParam.interval);
            return;
        }
        boolean z = false;
        if (view.getId() == 2131363313) {
            if (isNotYearVip && this.isRun) {
                new YearVipTipDialog(this).show();
                return;
            }
            this.mParam.word = this.mSearchEdit.getText().toString();
            this.mParam.message = this.mMessageEdit.getText().toString();
            if (this.mParam.word.isEmpty()) {
                Toast.makeText((Context) this, (CharSequence) "请输入搜索行业", 0).show();
                return;
            }
            if (this.mParam.filterKey.isEmpty()) {
                Utils.setShakeAnimator(this.filterLay);
                Toast.makeText((Context) this, (CharSequence) "请选择评论筛选关键词", 0).show();
                return;
            }
            if (this.mParam.signMessage && this.mParam.message.isEmpty()) {
                Toast.makeText((Context) this, (CharSequence) "只私信不关注模式下,必须输入私信内容", 0).show();
                return;
            }
            if (this.mNumEdit.getText().toString().isEmpty()) {
                Toast.makeText((Context) this, (CharSequence) "请输入获客数量", 0).show();
                return;
            }
            this.mParam.num = Integer.parseInt(this.mNumEdit.getText().toString());
            Param param = this.mParam;
            if (!param.signMessage && this.mParam.message.isEmpty()) {
                z = true;
            }
            param.signFollow = z;
            if (this.mAdapter.getData().size() > 10) {
                Adapter adapter = this.mAdapter;
                adapter.remove(adapter.getData().size() - 1);
            }
            this.mAdapter.addData(this.mParam.word);
            this.mPreferences.edit().putStringSet(TAG, new HashSet(this.mAdapter.getData())).apply();
            new HitDialog(this, this, "请确保手机安装有,并已经完成登录!如未登录请先登录账号以后在进行操作。", "为确保程序稳定运行,建议将升级为最新版本后使用。").show();
            return;
        }
        if (view.getId() == 2131361965) {
            if (backFromApplyPermission()) {
                MobclickAgent.onEvent(this, "start_script_" + this.funcId);
                Utils.openWx(this);
                try {
                    ExecutorWindow loadWx = ScriptLoadUtil.loadWx(AuxiliaryService.getAccessibility(), this.funcId, "shipinghao");
                    this.mExecutorWindow = loadWx;
                    loadWx.setArgs(this.mParam);
                    this.mExecutorWindow.setIFilter(new NodeExecutor.IFilter() {
                        public final List onFilter(NodeExecutor nodeExecutor, INode iNode, List list, Object obj) {
                            return SphCommentActivity.this.onFilter(nodeExecutor, iNode, list, obj);
                        }
                    });
                    this.mExecutorWindow.setCallback(new DyCallback(getApplication(), this.mExecutorWindow));
                    this.mExecutorWindow.showFloatWindow();
                    this.mExecutorWindow.setIProgress(new DyCallback(getApplication(), this.mExecutorWindow));
                    this.mExecutorWindow.setIRepeat(new NodeExecutor.LastRepeat());
                    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) {
                            SphCommentActivity.progressNum = 0;
                        }

                        public void onFinish(NodeExecutor nodeExecutor, boolean z2) {
                            if (SphCommentActivity.isNotYearVip) {
                                SphCommentActivity.this.mExecutorWindow.setFinishMessage("视频号评论获客任务完成,本次获客数量为" + (SphCommentActivity.progressNum / 2) + "人,你的免费体验已结束,继续使用请返回应用,开通会员!", true);
                            } else {
                                SphCommentActivity.this.mExecutorWindow.setFinishMessage("视频号评论获客任务完成,本次获客数量为" + (SphCommentActivity.progressNum / 2) + "人", true);
                            }
                            SphCommentActivity sphCommentActivity = SphCommentActivity.this;
                            sphCommentActivity.addFuncLimitCount(sphCommentActivity.funcId);
                            SphCommentActivity.this.isRun = true;
                        }
                    });
                    return;
                } catch (Exception unused) {
                    Toast.makeText((Context) this, (CharSequence) "请先启动辅助服务", 0).show();
                    return;
                }
            }
            startIntent(this, FunctionPermissionManageActivity.class);
        }
    }

    public List<AccessibilityNodeInfo> onFilter(NodeExecutor nodeExecutor, INode iNode, List<AccessibilityNodeInfo> list, Object obj) {
        boolean z;
        if ("while_node".equals(iNode.getNodeType()) && "video".equals(((WhileNode) iNode).getTag())) {
            Boolean bool = (Boolean) ClassUtil.getFieldValue(obj, "accuracy");
            String str = (String) ClassUtil.getFieldValue(obj, "word");
            ArrayList arrayList = new ArrayList();
            for (AccessibilityNodeInfo accessibilityNodeInfo : list) {
                CharSequence text = accessibilityNodeInfo.getText();
                if (text != null) {
                    String obj2 = text.toString();
                    if (Boolean.FALSE.equals(bool) || (Boolean.TRUE.equals(bool) && obj2.contains(str))) {
                        arrayList.add(accessibilityNodeInfo);
                    }
                }
            }
            return arrayList;
        }
        List list2 = (List) ClassUtil.getFieldValue(obj, "filterKey");
        String str2 = (String) ClassUtil.getFieldValue(obj, "interval");
        ArrayList arrayList2 = new ArrayList();
        for (AccessibilityNodeInfo accessibilityNodeInfo2 : list) {
            CharSequence text2 = accessibilityNodeInfo2.getText();
            if (text2 != null) {
                String obj3 = text2.toString();
                if (str2 == null || "".equals(str2) || "不限时间".equals(str2)) {
                    z = true;
                } else {
                    z = false;
                    if (accessibilityNodeInfo2.getChildCount() > 0 && accessibilityNodeInfo2.getChild(0).getChildCount() > 2 && accessibilityNodeInfo2.getChild(0).getChild(2).getChildCount() > 0) {
                        z = DyDateUtil.checkInterval(accessibilityNodeInfo2.getChild(0).getChild(2).getChild(0).getText(), str2);
                    }
                }
                Iterator it = list2.iterator();
                while (true) {
                    if (!it.hasNext()) {
                        break;
                    }
                    if (obj3.contains((String) it.next())) {
                        if (z) {
                            arrayList2.add(accessibilityNodeInfo2);
                        }
                    }
                }
            }
        }
        final ViewNode viewNode = new ViewNode();
        viewNode.setClassName("android.widget.TextView");
        return (List) arrayList2.stream().filter(new Predicate() {
            @Override
            public final boolean test(Object obj4) {
                return SphCommentActivity.lambda$onFilter$2(viewNode, (AccessibilityNodeInfo) obj4);
            }
        }).map(new Function() {
            @Override
            public final Object apply(Object obj4) {
                AccessibilityNodeInfo findOneNode;
                findOneNode = ViewNodeUtil.findOneNode(((AccessibilityNodeInfo) obj4).getParent(), viewNode);
                return findOneNode;
            }
        }).collect(Collectors.toList());
    }

    static boolean lambda$onFilter$2(ViewNode viewNode, AccessibilityNodeInfo accessibilityNodeInfo) {
        return ViewNodeUtil.findOneNode(accessibilityNodeInfo.getParent(), viewNode) != null;
    }

    private static class DyCallback extends NodeExecutor.DefaultCallback implements NodeExecutor.IProgress {
        private ExecutorWindow mExecutorWindow;

        public DyCallback(Context context, ExecutorWindow executorWindow) {
            super(context);
            this.mExecutorWindow = executorWindow;
        }

        public boolean onNodeNotFound(PageNode pageNode, ViewNode viewNode, NodeExecutor nodeExecutor) {
            if (pageNode.getPageName() != null && pageNode.getPageName().equals("点击评论按钮")) {
                this.mExecutorWindow.setMessageShow("请确保在视频页面!");
            }
            return super.onNodeNotFound(pageNode, viewNode, nodeExecutor);
        }

        public boolean onPageFound(IAccessibility iAccessibility, PageNode pageNode, NodeExecutor nodeExecutor) {
            if ("用户手动选择一个视频".equals(pageNode.getPageName())) {
                nodeExecutor.pause();
                this.mExecutorWindow.setMessage("请先选取并打开需要获客的视频后,再点击悬浮窗“继续”,随后进入视频号客户获取流程。", true);
                return super.onPageFound(iAccessibility, pageNode, nodeExecutor);
            }
            if ("视频号个人信息首页-点击关注".equals(pageNode.getPageName())) {
                SphCommentActivity.progressNum++;
                this.mExecutorWindow.setProgress("当前已获客" + (SphCommentActivity.progressNum / 2) + "/" + ((Integer) ClassUtil.getFieldValue(nodeExecutor.getArgs(), NumDialog.NUM)));
            }
            return super.onPageFound(iAccessibility, pageNode, nodeExecutor);
        }

        public boolean onProgress(IAccessibility iAccessibility, INode iNode, Object[] objArr, int i, NodeExecutor nodeExecutor) {
            if ("while_node".equals(iNode.getNodeType()) && "comment".equals(((WhileNode) iNode).getTag())) {
                Integer num = (Integer) ClassUtil.getFieldValue(nodeExecutor.getArgs(), NumDialog.NUM);
                if (SphCommentActivity.progressNum / 2 >= (num == null ? 1 : num.intValue())) {
                    this.mExecutorWindow.setFinishMessage("视频号评论获客任务完成,本次获客数量为" + num + "人", true);
                }
                if (SphCommentActivity.isNotYearVip && SphCommentActivity.progressNum / 2 >= Constant.hkNum) {
                    this.mExecutorWindow.stop();
                }
            } else {
                this.mExecutorWindow.setProgress("当前进度...");
            }
            return true;
        }
    }

    private static class Adapter extends BaseQuickAdapter<String, BaseViewHolder> {
        public Adapter() {
            super(R.layout.item_dy_comment_history);
        }

        public void convert(BaseViewHolder baseViewHolder, String str) {
            ((TextView) baseViewHolder.itemView).setText(str);
        }

        public void addData(String str) {
            if (getData().contains(str)) {
                return;
            }
            super.addData(str);
        }
    }

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

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

    private void getDyJson() {
        new Thread() {
            @Override
            public void run() {
                super.run();
                try {
                    Response execute = new OkHttpClient().newCall(new Request.Builder().url("http://cdn.usfriend.cn/douyin/shipinghao.json").build()).execute();
                    String str = "";
                    if (execute.body() != null) {
                        str = execute.body().string();
                    }
                    SphCommentActivity.this.dyJsonStr = str;
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }.start();
    }
}