diff --git a/CHANGELOG.md b/CHANGELOG.md index 493d93f8..ee27d9f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,26 @@ # 更新日志 -**[v2.1 (2016.01.30)](https://github.com/geeeeeeeeek/WeChatLuckyMoney/releases/tag/v2.1)** +**[v2.2 (2016.02.04)](https://github.com/geeeeeeeeek/WeChatLuckyMoney/releases/tag/v2.2)** + +- 新增 延时拆开红包的可选项 + + +- 新增 跳转至浏览器打开的入口 +- 新增 接入腾讯Bugly +- 新增 自动回复的可选项(实验中) + + +- 优化 手动拆开的红包不返回 + + +- 优化 适配三星等坑爹机型 (感谢 [@firesunCN](https://github.com/firesunCN) 对这项修改的贡献) + + +- 修复 拆开红包后的多次返回问题 + + + +**[v2.1 (2016.01.30)](https://github.com/geeeeeeeeek/WeChatLuckyMoney/releases/tag/v2.1.1)** - 新增 屏蔽指定红包文字的可选项 diff --git a/README.md b/README.md index ed91a537..e2ee2d43 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ # 微信红包 -[![forthebadge](http://forthebadge.com/images/badges/designed-in-ms-paint.svg)](http://forthebadge.com)[![forthebadge](http://forthebadge.com/images/badges/powered-by-electricity.svg)](http://forthebadge.com) - -[![Gitter](https://badges.gitter.im/geeeeeeeeek/WeChatLuckyMoney.svg)](https://gitter.im/geeeeeeeeek/WeChatLuckyMoney?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=body_badge) [![Build Status](https://travis-ci.org/geeeeeeeeek/WeChatLuckyMoney.svg?branch=stable)](https://travis-ci.org/geeeeeeeeek/WeChatLuckyMoney) [**README IN ENGLISH**](https://github.com/geeeeeeeeek/WeChatLuckyMoney/blob/stable/README_EN.md) +[![Gitter](https://badges.gitter.im/geeeeeeeeek/WeChatLuckyMoney.svg)](https://gitter.im/geeeeeeeeek/WeChatLuckyMoney?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=body_badge) [![Build Status](https://travis-ci.org/geeeeeeeeek/WeChatLuckyMoney.svg?branch=stable)](https://travis-ci.org/geeeeeeeeek/WeChatLuckyMoney) [**ENGLISH**](https://github.com/geeeeeeeeek/WeChatLuckyMoney/blob/stable/README_EN.md) 一个帮助你在微信抢红包时战无不胜的Android应用。自动检测并且拆开红包,速度超乎你的想象。 @@ -16,7 +14,7 @@ - **不仅快人一步,红包识别更加智能** - 多种特征标识,聊天时不再重复点击红包。智能过滤红包关键字[[?]](https://github.com/geeeeeeeeek/WeChatLuckyMoney/issues/97),避免落入“专属红包”、“抢到翻倍”的陷阱。 + 多种特征标识,聊天时不再重复点击红包。智能过滤红包关键字[[?]](https://github.com/geeeeeeeeek/WeChatLuckyMoney/issues/97),避免落入“专属红包”、“抢到翻倍”的陷阱。还可以设置延时抢红包和自动回复感谢语[[?]](https://github.com/geeeeeeeeek/WeChatLuckyMoney/issues/118)。 - **紧跟微信更新,内置最新春节红包资讯** diff --git a/app/build.gradle b/app/build.gradle index 9f4416f0..4fbebb5f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,7 +9,7 @@ android { minSdkVersion 16 targetSdkVersion 22 versionCode 2 - versionName "v2.1.1" + versionName "v2.2" ndk { //设置支持的SO库架构 abiFilters 'armeabi' //, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 84a01ad1..846872ea 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -4,11 +4,11 @@ - + - - + + + android:theme="@style/Base.Theme.AppCompat.Light" + android:launchMode="singleTask"> + android:theme="@style/Base.Theme.AppCompat.Light" + android:launchMode="standard"> + android:theme="@style/Base.Theme.AppCompat.Light" + android:launchMode="standard"> 0) excludeWordsPref.setSummary(summary + ":" + value); - - excludeWordsPref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { - @Override - public boolean onPreferenceChange(Preference preference, Object o) { - String summary = getResources().getString(R.string.pref_watch_exclude_words_summary); - if (o != null && o.toString().length() > 0) preference.setSummary(summary + ":" + o.toString()); - return true; - } - }); + private void prepareSettings() { + String title, fragId; + Bundle bundle = getIntent().getExtras(); + if (bundle != null) { + title = bundle.getString("title"); + fragId = bundle.getString("frag_id"); + } else { + title = "偏好设置"; + fragId = "GeneralSettingsFragment"; + } + + TextView textView = (TextView) findViewById(R.id.settings_bar); + textView.setText(title); + + FragmentManager fragmentManager = getFragmentManager(); + FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); + + if ("GeneralSettingsFragment".equals(fragId)) { + fragmentTransaction.replace(R.id.preferences_fragment, new GeneralSettingsFragment()); + } else if ("CommentSettingsFragment".equals(fragId)) { + fragmentTransaction.replace(R.id.preferences_fragment, new CommentSettingsFragment()); + } + fragmentTransaction.commit(); } @TargetApi(Build.VERSION_CODES.LOLLIPOP) private void loadUI() { - setContentView(R.layout.activity_preferences); - addPreferencesFromResource(R.xml.preferences); - if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) return; Window window = this.getWindow(); @@ -80,7 +75,6 @@ private void loadUI() { window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(0xffd84e43); - } @Override diff --git a/app/src/main/java/xyz/monkeytong/hongbao/activities/WebViewActivity.java b/app/src/main/java/xyz/monkeytong/hongbao/activities/WebViewActivity.java index 8c1e4003..9d90c4a5 100644 --- a/app/src/main/java/xyz/monkeytong/hongbao/activities/WebViewActivity.java +++ b/app/src/main/java/xyz/monkeytong/hongbao/activities/WebViewActivity.java @@ -29,6 +29,7 @@ */ public class WebViewActivity extends Activity { private WebView webView; + private String webViewUrl, webViewTitle; @Override protected void onCreate(Bundle savedInstanceState) { @@ -38,8 +39,8 @@ protected void onCreate(Bundle savedInstanceState) { Bundle bundle = getIntent().getExtras(); if (bundle != null && !bundle.isEmpty()) { - String webViewTitle = bundle.getString("title"); - String webViewUrl = bundle.getString("url"); + webViewTitle = bundle.getString("title"); + webViewUrl = bundle.getString("url"); TextView webViewBar = (TextView) findViewById(R.id.webview_bar); webViewBar.setText(webViewTitle); @@ -105,4 +106,10 @@ public boolean onKeyDown(int keyCode, KeyEvent event) { } return super.onKeyDown(keyCode, event); } + + public void openLink(View view) { + Intent intent = new Intent(Intent.ACTION_VIEW, + Uri.parse(this.webViewUrl)); + startActivity(intent); + } } diff --git a/app/src/main/java/xyz/monkeytong/hongbao/fragments/CommentSettingsFragment.java b/app/src/main/java/xyz/monkeytong/hongbao/fragments/CommentSettingsFragment.java new file mode 100644 index 00000000..2e3488fd --- /dev/null +++ b/app/src/main/java/xyz/monkeytong/hongbao/fragments/CommentSettingsFragment.java @@ -0,0 +1,47 @@ +package xyz.monkeytong.hongbao.fragments; + +import android.os.Build; +import android.os.Bundle; +import android.preference.Preference; +import android.preference.PreferenceFragment; +import android.preference.PreferenceManager; +import android.widget.Toast; +import xyz.monkeytong.hongbao.R; + +/** + * Created by Zhongyi on 2/4/16. + */ +public class CommentSettingsFragment extends PreferenceFragment { + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + addPreferencesFromResource(R.xml.comment_preferences); + setPrefListeners(); + } + + private void setPrefListeners() { + Preference updatePref = findPreference("pref_comment_switch"); + if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { + updatePref.setEnabled(false); + } + Toast.makeText(getActivity(), "该功能尚处于实验中,只能自动填充感谢语,无法直接发送.", Toast.LENGTH_LONG).show(); + + Preference commentWordsPref = findPreference("pref_comment_words"); + String summary = getResources().getString(R.string.pref_comment_words_summary); + String value = PreferenceManager.getDefaultSharedPreferences(getActivity()).getString("pref_comment_words", ""); + if (value.length() > 0) commentWordsPref.setSummary(summary + ":" + value); + + commentWordsPref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { + @Override + public boolean onPreferenceChange(Preference preference, Object o) { + String summary = getResources().getString(R.string.pref_comment_words_summary); + if (o != null && o.toString().length() > 0) { + preference.setSummary(summary + ":" + o.toString()); + } else { + preference.setSummary(summary); + } + return true; + } + }); + } +} diff --git a/app/src/main/java/xyz/monkeytong/hongbao/fragments/GeneralSettingsFragment.java b/app/src/main/java/xyz/monkeytong/hongbao/fragments/GeneralSettingsFragment.java new file mode 100644 index 00000000..2e11b4dd --- /dev/null +++ b/app/src/main/java/xyz/monkeytong/hongbao/fragments/GeneralSettingsFragment.java @@ -0,0 +1,64 @@ +package xyz.monkeytong.hongbao.fragments; + +import android.content.Intent; +import android.os.Bundle; +import android.preference.Preference; +import android.preference.PreferenceFragment; +import android.preference.PreferenceManager; +import xyz.monkeytong.hongbao.R; +import xyz.monkeytong.hongbao.activities.WebViewActivity; +import xyz.monkeytong.hongbao.utils.UpdateTask; + +/** + * Created by Zhongyi on 2/4/16. + */ +public class GeneralSettingsFragment extends PreferenceFragment { + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + addPreferencesFromResource(R.xml.general_preferences); + setPrefListeners(); + } + + private void setPrefListeners() { + // Check for updates + Preference updatePref = findPreference("pref_etc_check_update"); + updatePref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { + public boolean onPreferenceClick(Preference preference) { + new UpdateTask(getActivity().getApplicationContext(), true).update(); + return false; + } + }); + + // Open issue + Preference issuePref = findPreference("pref_etc_issue"); + issuePref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { + public boolean onPreferenceClick(Preference preference) { + Intent webViewIntent = new Intent(getActivity(), WebViewActivity.class); + webViewIntent.putExtra("title", "Github Issues"); + webViewIntent.putExtra("url", getString(R.string.url_github_issues)); + webViewIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + startActivity(webViewIntent); + return false; + } + }); + + Preference excludeWordsPref = findPreference("pref_watch_exclude_words"); + String summary = getResources().getString(R.string.pref_watch_exclude_words_summary); + String value = PreferenceManager.getDefaultSharedPreferences(getActivity()).getString("pref_watch_exclude_words", ""); + if (value.length() > 0) excludeWordsPref.setSummary(summary + ":" + value); + + excludeWordsPref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { + @Override + public boolean onPreferenceChange(Preference preference, Object o) { + String summary = getResources().getString(R.string.pref_watch_exclude_words_summary); + if (o != null && o.toString().length() > 0) { + preference.setSummary(summary + ":" + o.toString()); + } else { + preference.setSummary(summary); + } + return true; + } + }); + } +} diff --git a/app/src/main/java/xyz/monkeytong/hongbao/services/HongbaoService.java b/app/src/main/java/xyz/monkeytong/hongbao/services/HongbaoService.java index 9e4554d9..814759c6 100644 --- a/app/src/main/java/xyz/monkeytong/hongbao/services/HongbaoService.java +++ b/app/src/main/java/xyz/monkeytong/hongbao/services/HongbaoService.java @@ -1,17 +1,22 @@ package xyz.monkeytong.hongbao.services; import android.accessibilityservice.AccessibilityService; +import android.app.Instrumentation; import android.app.Notification; import android.app.PendingIntent; import android.content.ComponentName; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.graphics.Rect; +import android.os.Bundle; +import android.os.IBinder; import android.os.Parcelable; import android.preference.PreferenceManager; import android.util.Log; +import android.view.KeyEvent; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; +import xyz.monkeytong.hongbao.activities.MainActivity; import xyz.monkeytong.hongbao.utils.HongbaoSignature; import xyz.monkeytong.hongbao.utils.PowerUtil; @@ -33,7 +38,8 @@ public class HongbaoService extends AccessibilityService implements SharedPrefer private String currentActivityName = WECHAT_LUCKMONEY_GENERAL_ACTIVITY; private AccessibilityNodeInfo rootNodeInfo, mReceiveNode, mUnpackNode; - private boolean mLuckyMoneyPicked, mLuckyMoneyReceived, mNeedUnpack; + private boolean mLuckyMoneyPicked, mLuckyMoneyReceived; + private int mUnpackCount = 0; private boolean mMutex = false; private HongbaoSignature signature = new HongbaoSignature(); @@ -41,7 +47,7 @@ public class HongbaoService extends AccessibilityService implements SharedPrefer private SharedPreferences sharedPreferences; /** - * AccessibilityEvent的回调方法 + * AccessibilityEvent * * @param event 事件 */ @@ -74,16 +80,26 @@ private void watchChat(AccessibilityEvent event) { if (mLuckyMoneyReceived && !mLuckyMoneyPicked && (mReceiveNode != null)) { mMutex = true; - AccessibilityNodeInfo cellNode = mReceiveNode; - cellNode.getParent().performAction(AccessibilityNodeInfo.ACTION_CLICK); + mReceiveNode.getParent().performAction(AccessibilityNodeInfo.ACTION_CLICK); mLuckyMoneyReceived = false; mLuckyMoneyPicked = true; } /* 如果戳开但还未领取 */ - if (mNeedUnpack && (mUnpackNode != null)) { - AccessibilityNodeInfo cellNode = mUnpackNode; - cellNode.performAction(AccessibilityNodeInfo.ACTION_CLICK); - mNeedUnpack = false; + if (mUnpackCount == 1 && (mUnpackNode != null)) { + int delayFlag = sharedPreferences.getInt("pref_open_delay", 0) * 1000; + new android.os.Handler().postDelayed( + new Runnable() { + public void run() { + try { + mUnpackNode.performAction(AccessibilityNodeInfo.ACTION_CLICK); + } catch (Exception e) { + mMutex = false; + mLuckyMoneyPicked = false; + mUnpackCount = 0; + } + } + }, + delayFlag); } } @@ -106,11 +122,12 @@ private void setCurrentActivityName(AccessibilityEvent event) { } private boolean watchList(AccessibilityEvent event) { + AccessibilityNodeInfo eventSource = event.getSource(); // Not a message - if (event.getEventType() != AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED || event.getSource() == null) + if (event.getEventType() != AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED || eventSource == null) return false; - List nodes = event.getSource().findAccessibilityNodeInfosByText(WECHAT_NOTIFICATION_TIP); + List nodes = eventSource.findAccessibilityNodeInfosByText(WECHAT_NOTIFICATION_TIP); if (!nodes.isEmpty()) { AccessibilityNodeInfo nodeToClick = nodes.get(0); CharSequence contentDescription = nodeToClick.getContentDescription(); @@ -153,15 +170,15 @@ public void onInterrupt() { } /** - * 递归查找拆红包按钮 + * 红包 钮 */ private AccessibilityNodeInfo findOpenButton(AccessibilityNodeInfo node) { - if (node==null) + if (node == null) return null; //非layout元素 if (node.getChildCount() == 0) { - if("android.widget.Button".equals(node.getClassName())) + if ("android.widget.Button".equals(node.getClassName())) return node; else return null; @@ -170,18 +187,23 @@ private AccessibilityNodeInfo findOpenButton(AccessibilityNodeInfo node) { //layout元素,遍历找button for (int i = 0; i < node.getChildCount(); i++) { AccessibilityNodeInfo button = findOpenButton(node.getChild(i)); - if(button != null) + if (button != null) return button; } return null; } /** - * 检查节点信息 + * 节 信 */ private void checkNodeInfo(int eventType) { if (this.rootNodeInfo == null) return; + if (signature.commentString != null) { + sendComment(); + signature.commentString = null; + } + /* 聊天会话窗口,遍历节点匹配“领取红包”和"查看红包" */ AccessibilityNodeInfo node1 = (sharedPreferences.getBoolean("pref_watch_self", false)) ? this.getTheLastNode(WECHAT_VIEW_OTHERS_CH, WECHAT_VIEW_SELF_CH) : this.getTheLastNode(WECHAT_VIEW_OTHERS_CH); @@ -199,7 +221,7 @@ private void checkNodeInfo(int eventType) { AccessibilityNodeInfo node2 = findOpenButton(this.rootNodeInfo); if (node2 != null && "android.widget.Button".equals(node2.getClassName()) && currentActivityName.contains(WECHAT_LUCKMONEY_RECEIVE_ACTIVITY)) { mUnpackNode = node2; - mNeedUnpack = true; + mUnpackCount += 1; return; } @@ -207,12 +229,31 @@ private void checkNodeInfo(int eventType) { boolean hasNodes = this.hasOneOfThoseNodes( WECHAT_BETTER_LUCK_CH, WECHAT_DETAILS_CH, WECHAT_BETTER_LUCK_EN, WECHAT_DETAILS_EN, WECHAT_EXPIRES_CH); - if (eventType == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED && hasNodes + if (mMutex && eventType == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED && hasNodes && (currentActivityName.contains(WECHAT_LUCKMONEY_DETAIL_ACTIVITY) || currentActivityName.contains(WECHAT_LUCKMONEY_RECEIVE_ACTIVITY))) { mMutex = false; mLuckyMoneyPicked = false; + mUnpackCount = 0; performGlobalAction(GLOBAL_ACTION_BACK); + signature.commentString = generateCommentString(); + } + } + + private void sendComment() { + try { + AccessibilityNodeInfo outNode = + getRootInActiveWindow().getChild(0).getChild(0); + AccessibilityNodeInfo nodeToInput = outNode.getChild(outNode.getChildCount() - 1).getChild(0).getChild(1); + + if ("android.widget.EditText".equals(nodeToInput.getClassName())) { + Bundle arguments = new Bundle(); + arguments.putCharSequence(AccessibilityNodeInfo + .ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE, signature.commentString); + nodeToInput.performAction(AccessibilityNodeInfo.ACTION_SET_TEXT, arguments); + } + } catch (Exception e) { + // Not support } } @@ -244,6 +285,11 @@ private AccessibilityNodeInfo getTheLastNode(String... texts) { if (bounds.bottom > bottom) { bottom = bounds.bottom; lastNode = node; + if (text.equals(WECHAT_VIEW_OTHERS_CH)) { + signature.others = true; + } else { + signature.others = false; + } } } } @@ -278,4 +324,21 @@ public void onDestroy() { this.powerUtil.handleWakeLock(false); super.onDestroy(); } + + private String generateCommentString() { + if (!signature.others) return null; + + Boolean needComment = sharedPreferences.getBoolean("pref_comment_switch", false); + if (!needComment) return null; + + String[] wordsArray = sharedPreferences.getString("pref_comment_words", "").split(" +"); + if (wordsArray.length == 0) return null; + + Boolean atSender = sharedPreferences.getBoolean("pref_comment_at", false); + if (atSender) { + return "@" + signature.sender + " " + wordsArray[(int) (Math.random() * wordsArray.length)]; + } else { + return wordsArray[(int) (Math.random() * wordsArray.length)]; + } + } } diff --git a/app/src/main/java/xyz/monkeytong/hongbao/utils/HongbaoSignature.java b/app/src/main/java/xyz/monkeytong/hongbao/utils/HongbaoSignature.java index 17e1f593..4d7e1889 100644 --- a/app/src/main/java/xyz/monkeytong/hongbao/utils/HongbaoSignature.java +++ b/app/src/main/java/xyz/monkeytong/hongbao/utils/HongbaoSignature.java @@ -7,7 +7,8 @@ * Created by Zhongyi on 1/21/16. */ public class HongbaoSignature { - private String sender, content, time, contentDescription = ""; + public String sender, content, time, contentDescription = "", commentString; + public boolean others; public boolean generateSignature(AccessibilityNodeInfo node, String excludeWords) { try { @@ -78,7 +79,7 @@ private String[] getSenderContentDescriptionFromNode(AccessibilityNodeInfo node) AccessibilityNodeInfo thisNode = node.getChild(i); if ("android.widget.ImageView".equals(thisNode.getClassName())) { CharSequence contentDescription = thisNode.getContentDescription(); - if (contentDescription != null) result[0] = contentDescription.toString(); + if (contentDescription != null) result[0] = contentDescription.toString().replaceAll("头像$", ""); } else if ("android.widget.TextView".equals(thisNode.getClassName())) { CharSequence thisNodeText = thisNode.getText(); if (thisNodeText != null) result[1] = thisNodeText.toString(); diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index a30b38fb..ea3c9511 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -22,7 +22,7 @@ android:padding="10dp" android:onClick="openNews" android:layout_below="@+id/main_action_bar_placeholder" - android:layout_alignLeft="@+id/textView" android:layout_marginLeft="6dp"/> + android:layout_alignLeft="@+id/textView" android:layout_marginLeft="6dp" android:layout_marginTop="6dp"/> + android:layout_marginRight="6dp" android:layout_marginTop="6dp"/> - - - + diff --git a/app/src/main/res/layout/activity_webview.xml b/app/src/main/res/layout/activity_webview.xml index 9c9dbeac..cf7aafa3 100644 --- a/app/src/main/res/layout/activity_webview.xml +++ b/app/src/main/res/layout/activity_webview.xml @@ -16,17 +16,26 @@ android:text="@string/app_name" android:textColor="#fde1b5" android:gravity="left|center_vertical|center_horizontal" android:elegantTextHeight="false" android:textSize="20sp" - android:layout_toRightOf="@+id/preference_back" + android:layout_toRightOf="@+id/webview_back" /> + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-xxhdpi/ic_open_in_browser.png b/app/src/main/res/mipmap-xxhdpi/ic_open_in_browser.png new file mode 100644 index 00000000..368cb14f Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_open_in_browser.png differ diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 05cf36ff..63078218 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,5 +1,6 @@ 微信红包 + 稳定版 v2.2 ∠( ᐛ 」∠)_使用指南∠( ᐛ 」∠)_\n\n ○ 狠戳插件开关\n ○ 回到微信聊天\n ○ 坐等红包进账\n\n 遇到问题, 欢迎通过Github issue反馈~\n https://github.com/geeeeeeeeek/WeChatLuckyMoney 当前辅助服务状态: 设置抢红包辅助服务 @@ -12,5 +13,6 @@ 关闭插件 开启插件 不拆开包含这些文字的红包(空格间隔) + 随机选择下列感谢语(空格间隔) https://github.com/geeeeeeeeek/WeChatLuckyMoney/issues \ No newline at end of file diff --git a/app/src/main/res/xml/comment_preferences.xml b/app/src/main/res/xml/comment_preferences.xml new file mode 100644 index 00000000..6cc602c8 --- /dev/null +++ b/app/src/main/res/xml/comment_preferences.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/general_preferences.xml similarity index 63% rename from app/src/main/res/xml/preferences.xml rename to app/src/main/res/xml/general_preferences.xml index 05a3bd2e..6ab0eef9 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/general_preferences.xml @@ -10,7 +10,7 @@ android:key="pref_watch_notification" android:title="监视系统通知" android:summary="读取新消息通知中的红包提示并进入聊天页" - android:defaultValue="false" + android:defaultValue="true" android:layout="@layout/preference_checkbox"/> + + + + + + + + + + + \ No newline at end of file