Skip to content

Commit 9d4a254

Browse files
committed
3.3.0 add generic settings -> hide app icon
1 parent 89708c4 commit 9d4a254

File tree

12 files changed

+123
-5
lines changed

12 files changed

+123
-5
lines changed

app/build.gradle

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ android {
1010
applicationId "com.yyxx.wechatfp"
1111
minSdkVersion 14
1212
targetSdkVersion 26
13-
versionCode 16
14-
versionName "3.2.0"
13+
versionCode 17
14+
versionName "3.3.0"
1515
buildConfigField "String", "APP_PRODUCT_NAME", "\"WeChatFp\""
1616
}
1717

@@ -171,5 +171,6 @@ dependencies {
171171
implementation 'com.squareup.okhttp3:okhttp:3.9.0'
172172
implementation 'com.umeng.analytics:analytics:6.1.2'
173173
implementation 'com.crossbowffs.remotepreferences:remotepreferences:0.5'
174+
implementation 'com.github.AndroidDeveloperLB:MaterialPreferenceLibrary:10'
174175
provided 'de.robv.android.xposed:api:53'
175176
}

app/src/main/AndroidManifest.xml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,28 @@
2828
android:label="@string/app_name">
2929
<intent-filter>
3030
<action android:name="android.intent.action.MAIN" />
31-
3231
<category android:name="de.robv.android.xposed.category.MODULE_SETTINGS" />
33-
<category android:name="android.intent.category.LAUNCHER" />
3432
</intent-filter>
3533
</activity>
3634
<activity android:name=".activity.WebActivity"
3735
android:parentActivityName=".activity.HomeActivity"/>
36+
<activity android:name=".activity.SettingsActivity"
37+
android:parentActivityName=".activity.HomeActivity"/>
3838
<provider
3939
android:name=".util.XPreferenceProvider"
4040
android:authorities="com.yyxx.wechatfp.XPreferenceProvider"
4141
android:exported="true"/>
42+
43+
<activity-alias
44+
android:enabled="true"
45+
android:name=".Main"
46+
android:label="@string/app_name"
47+
android:targetActivity=".activity.HomeActivity">
48+
<intent-filter>
49+
<action android:name="android.intent.action.MAIN"/>
50+
<category android:name="android.intent.category.LAUNCHER"/>
51+
</intent-filter>
52+
</activity-alias>
4253
</application>
4354

4455
</manifest>

app/src/main/java/com/yyxx/wechatfp/activity/HomeActivity.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import android.os.Bundle;
77
import android.support.v7.app.AppCompatActivity;
88
import android.text.TextUtils;
9+
import android.view.Menu;
10+
import android.view.MenuItem;
911
import android.view.View;
1012
import android.widget.AdapterView;
1113
import android.widget.ListView;
@@ -105,6 +107,22 @@ protected void onPause() {
105107
Umeng.onPause(this);
106108
}
107109

110+
@Override
111+
public boolean onCreateOptionsMenu(Menu menu) {
112+
getMenuInflater().inflate(R.menu.menu, menu);
113+
return true;
114+
}
115+
116+
@Override
117+
public boolean onOptionsItemSelected(MenuItem item) {
118+
switch (item.getItemId()) {
119+
case R.id.item_settings:
120+
SettingsActivity.open(this);
121+
return true;
122+
}
123+
return super.onOptionsItemSelected(item);
124+
}
125+
108126
private boolean joinQQGroup() {
109127
Intent intent = new Intent();
110128
intent.setData(Uri.parse("mqqopensdkapi://bizAgent/qm/qr?url=http%3A%2F%2Fqm.qq.com%2Fcgi-bin%2Fqm%2Fqr%3Ffrom%3Dapp%26p%3Dandroid%26k%3D" + "A2WjHt6jDpAraj7z4LfTsSbS9SkZVEXi"));
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package com.yyxx.wechatfp.activity;
2+
3+
import android.content.ComponentName;
4+
import android.content.Context;
5+
import android.content.Intent;
6+
import android.content.SharedPreferences;
7+
import android.content.pm.PackageManager;
8+
import android.os.Bundle;
9+
import android.preference.Preference;
10+
import android.preference.PreferenceManager;
11+
import android.preference.PreferenceScreen;
12+
13+
import com.lb.material_preferences_library.AppCompatPreferenceActivity;
14+
import com.yyxx.wechatfp.R;
15+
import com.yyxx.wechatfp.util.log.L;
16+
17+
/**
18+
* Created by Jason on 2017/11/24.
19+
*/
20+
21+
public class SettingsActivity extends AppCompatPreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener {
22+
23+
public static void open(Context context) {
24+
try {
25+
Intent intent = new Intent(context, SettingsActivity.class);
26+
context.startActivity(intent);
27+
} catch (Exception e) {
28+
L.e(e);
29+
}
30+
}
31+
32+
@Override
33+
protected void onCreate(Bundle savedInstanceState) {
34+
super.onCreate(savedInstanceState);
35+
addPreferencesFromResource(R.xml.perference);
36+
PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(this);
37+
}
38+
39+
@Override
40+
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
41+
42+
return super.onPreferenceTreeClick(preferenceScreen, preference);
43+
}
44+
45+
@Override
46+
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
47+
switch (key) {
48+
case "show_icon" :
49+
boolean showIcon = sharedPreferences.getBoolean("show_icon", true);
50+
onShowIconChange(showIcon);
51+
break;
52+
}
53+
}
54+
55+
private void onShowIconChange(boolean showIcon) {
56+
int state = showIcon ? PackageManager.COMPONENT_ENABLED_STATE_DEFAULT : PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
57+
ComponentName aliasName = new ComponentName(this, getPackageName() + ".Main");
58+
getPackageManager().setComponentEnabledSetting(aliasName, state, PackageManager.DONT_KILL_APP);
59+
}
60+
}

app/src/main/java/com/yyxx/wechatfp/activity/WebActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public void onProgressChanged(WebView view, int newProgress) {
114114
return webView;
115115
}
116116

117-
private void handleProgressChanged(int progress) {
117+
private void handleProgressChanged(int progress) {
118118
ProgressBar progressBar = mProgressBar;
119119
if (progress >= 100) {
120120
Task.onMain(1000, () -> {

app/src/main/res/menu/menu.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<menu xmlns:android="http://schemas.android.com/apk/res/android"
2+
xmlns:xscript="http://schemas.android.com/apk/res-auto">
3+
4+
<item
5+
android:id="@+id/item_settings"
6+
android:orderInCategory="1"
7+
android:title="@string/generic_settings"
8+
xscript:showAsAction="never|withText" />
9+
10+
</menu>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
<resources>
22
<string name="app_name">指紋支付</string>
33
<string name="app_description">讓帶指紋的手機支持微信、QQ、支付寶和淘寶的指紋支付</string>
4+
<string name="generic_settings">一般</string>
5+
<string name="settings_title_show_icon">顯示應用圖標</string>
46
</resources>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
<resources>
22
<string name="app_name">指紋支付</string>
33
<string name="app_description">讓帶指紋的手機支持微信、QQ、支付寶和淘寶的指紋支付</string>
4+
<string name="generic_settings">一般</string>
5+
<string name="settings_title_show_icon">顯示應用圖標</string>
46
</resources>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
<resources>
22
<string name="app_name">指纹支付</string>
33
<string name="app_description">让带指纹的手机支持微信、QQ、支付宝和淘宝的指纹支付</string>
4+
<string name="generic_settings">通用设置</string>
5+
<string name="settings_title_show_icon">显示应用图标</string>
46
</resources>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
<resources>
22
<string name="app_name">Fingerprint pay</string>
33
<string name="app_description">Enable fingerprint pay for WeChat, QQ, Alipay, Taobao</string>
4+
<string name="generic_settings">Generic settings</string>
5+
<string name="settings_title_show_icon">Show app icon</string>
46
</resources>

0 commit comments

Comments
 (0)