Skip to content

Commit

Permalink
加入“看看大家的手气”这个设置功能
Browse files Browse the repository at this point in the history
  • Loading branch information
leon committed Jan 16, 2016
1 parent ef5c21c commit bdcc6f2
Show file tree
Hide file tree
Showing 5 changed files with 72 additions and 12 deletions.
14 changes: 14 additions & 0 deletions app/src/main/java/com/codeboy/qianghongbao/Config.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ public class Config {

public static final String PREFERENCE_NAME = "config";
public static final String KEY_ENABLE_WECHAT = "KEY_ENABLE_WECHAT";
public static final String KEY_WECHAT_AFTER_OPEN_HONGBAO = "KEY_WECHAT_AFTER_OPEN_HONGBAO";

public static final int WX_AFTER_OPEN_HONGBAO = 0;
public static final int WX_AFTER_OPEN_SEE = 1; //看大家手气

SharedPreferences preferences;

Expand All @@ -25,4 +29,14 @@ public Config(Context context) {
public boolean isEnableWechat() {
return preferences.getBoolean(KEY_ENABLE_WECHAT, true);
}

/** 微信打开红包后的事件*/
public int getWechatAfterOpenHongBaoEvent() {
int defaultValue = 0;
String result = preferences.getString(KEY_WECHAT_AFTER_OPEN_HONGBAO, String.valueOf(defaultValue));
try {
return Integer.parseInt(result);
} catch (Exception e) {}
return defaultValue;
}
}
19 changes: 16 additions & 3 deletions app/src/main/java/com/codeboy/qianghongbao/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.preference.SwitchPreference;
import android.support.v7.app.AlertDialog;
import android.view.Menu;
import android.view.MenuItem;
Expand Down Expand Up @@ -110,8 +110,8 @@ public void onCreate(Bundle savedInstanceState) {
getPreferenceManager().setSharedPreferencesName(Config.PREFERENCE_NAME);
addPreferencesFromResource(R.xml.main);

SwitchPreference switchPreference = (SwitchPreference) findPreference(Config.KEY_ENABLE_WECHAT);
switchPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
//微信红包开关
findPreference(Config.KEY_ENABLE_WECHAT).setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if((Boolean) newValue && !QiangHongBaoService.isRunning()) {
Expand All @@ -120,6 +120,19 @@ public boolean onPreferenceChange(Preference preference, Object newValue) {
return true;
}
});

//打开微信红包后
final ListPreference wxAfterOpenPre = (ListPreference) findPreference(Config.KEY_WECHAT_AFTER_OPEN_HONGBAO);
wxAfterOpenPre.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
int value = Integer.parseInt(String.valueOf(newValue));
preference.setSummary(wxAfterOpenPre.getEntries()[value]);
return true;
}
});
int value = Integer.parseInt(wxAfterOpenPre.getValue());
wxAfterOpenPre.setSummary(wxAfterOpenPre.getEntries()[value]);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import android.view.accessibility.AccessibilityNodeInfo;

import com.codeboy.qianghongbao.BuildConfig;
import com.codeboy.qianghongbao.Config;
import com.codeboy.qianghongbao.QiangHongBaoService;

import java.util.List;
Expand Down Expand Up @@ -60,6 +61,9 @@ public class WechatAccessbilityJob extends BaseAccessbilityJob {
/** 点开红包资源文字*/
private static final String TEXT_OPEN_HONGBAO = "拆红包";

/** 点击看看大家的手气*/
private static final String TEXT_OPEN_SEE = "看看大家的手气";

private boolean isFirstChecked ;
private PackageInfo mWechatPackageInfo = null;

Expand Down Expand Up @@ -193,10 +197,17 @@ private void handleLuckyMoneyReceive() {
}

List<AccessibilityNodeInfo> list = null;
if(isEnableUseText()) {
list = nodeInfo.findAccessibilityNodeInfosByText(TEXT_OPEN_HONGBAO);
} else if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
list = nodeInfo.findAccessibilityNodeInfosByViewId(ID_OPEN_HONGBAO);
int event = getConfig().getWechatAfterOpenHongBaoEvent();
if(event == Config.WX_AFTER_OPEN_HONGBAO) { //拆红包
if (isEnableUseText()) {
list = nodeInfo.findAccessibilityNodeInfosByText(TEXT_OPEN_HONGBAO);
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
list = nodeInfo.findAccessibilityNodeInfosByViewId(ID_OPEN_HONGBAO);
}
} else if(event == Config.WX_AFTER_OPEN_SEE) { //看一看
if(isEnableUseText()) { //低版本才有 看大家手气的功能
list = nodeInfo.findAccessibilityNodeInfosByText(TEXT_OPEN_SEE);
}
}

if(list != null && !list.isEmpty()) {
Expand Down Expand Up @@ -261,10 +272,15 @@ private void handleChatListHongBao() {

/** 是否可以通过使用文本方式进行抢红包*/
private boolean isEnableUseText() {
return getWechatVersion() < USE_ID_MIN_VERSION;
}

/** 获取微信的版本*/
private int getWechatVersion() {
if(mWechatPackageInfo == null) {
return true;
return 0;
}
return mWechatPackageInfo.versionCode < USE_ID_MIN_VERSION;
return mWechatPackageInfo.versionCode;
}

/** 更新微信包信息*/
Expand Down
11 changes: 11 additions & 0 deletions app/src/main/res/values/arrays.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="wechat_after_open_settings_titles">
<item>拆红包</item>
<item>看看大家的手气</item>
</string-array>
<string-array name="wechat_after_open_settings_values">
<item>0</item>
<item>1</item>
</string-array>
</resources>
12 changes: 9 additions & 3 deletions app/src/main/res/xml/main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,14 @@
<SwitchPreference
android:defaultValue="true"
android:title="开启抢微信红包"
android:key="KEY_ENABLE_WECHAT">

</SwitchPreference>
android:key="KEY_ENABLE_WECHAT"/>
<ListPreference
android:title="打开红包后"
android:defaultValue="0"
android:summary="拆红包"
android:key="KEY_WECHAT_AFTER_OPEN_HONGBAO"
android:dialogTitle="设置打开红包后要执行的事件"
android:entries="@array/wechat_after_open_settings_titles"
android:entryValues="@array/wechat_after_open_settings_values"/>
</PreferenceCategory>
</PreferenceScreen>

0 comments on commit bdcc6f2

Please sign in to comment.