正在查看: 微商客 v2.1.2 应用的 SphCommentActivity.java JAVA 源代码文件
本页面展示 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();
}
}