Skip to content

Commit 6b1b681

Browse files
committed
+ 3.9.5 适配微信深色模式
1 parent a16ea6c commit 6b1b681

File tree

5 files changed

+23
-6
lines changed

5 files changed

+23
-6
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ android {
1111
minSdkVersion 14
1212
targetSdkVersion 26
1313
versionCode 20
14-
versionName "3.9.3"
14+
versionName "3.9.5"
1515
buildConfigField "String", "APP_PRODUCT_NAME", "\"WeChatFp\""
1616
}
1717

app/src/main/java/com/yyxx/wechatfp/adapter/PreferenceAdapter.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package com.yyxx.wechatfp.adapter;
22

33
import android.content.Context;
4+
import android.content.res.ColorStateList;
5+
import android.graphics.Color;
6+
import android.graphics.PorterDuff;
7+
import android.os.Build;
48
import android.util.TypedValue;
59
import android.view.Gravity;
610
import android.view.View;
@@ -100,6 +104,10 @@ public ViewHolder(Context context) {
100104
verticalLayout.addView(subTitleText);
101105

102106
selectBox = new CheckBox(context);
107+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
108+
selectBox.setBackgroundTintList(ColorStateList.valueOf(Color.LTGRAY));
109+
selectBox.setBackgroundTintMode(PorterDuff.Mode.SRC_OVER);
110+
}
103111
selectBox.setClickable(false);
104112
selectBox.setFocusable(false);
105113
selectBox.setFocusableInTouchMode(false);

app/src/main/java/com/yyxx/wechatfp/util/StyleUtil.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.yyxx.wechatfp.util;
22

3+
import android.content.Context;
4+
import android.content.res.Configuration;
35
import android.graphics.Color;
46
import android.util.TypedValue;
57
import android.widget.TextView;
@@ -23,4 +25,8 @@ public static void apply(TextView textView) {
2325
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, TEXT_SIZE_DEFAULT);
2426
textView.setTextColor(TEXT_COLOR_DEFAULT);
2527
}
28+
29+
public static boolean isDarkMode(Context context) {
30+
return Configuration.UI_MODE_NIGHT_YES == (context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK);
31+
}
2632
}

app/src/main/java/com/yyxx/wechatfp/view/PasswordInputView.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ private void initView(Context context) {
4949
rootLLayout.setOrientation(LinearLayout.VERTICAL);
5050

5151
mInputView = new EditText(context);
52+
mInputView.setTextColor(Color.BLACK);
5253
mInputView.setPadding(0, 0, 0, 0);
5354
mInputView.setBackgroundColor(Color.TRANSPARENT);
5455
mInputView.setFocusable(true);

app/src/main/java/com/yyxx/wechatfp/xposed/plugin/XposedWeChatPlugin.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,8 @@ private void doSettingsMenuInject(final Activity activity) {
299299
return;
300300
}
301301

302+
boolean isDarkMode = StyleUtil.isDarkMode(activity);
303+
302304
LinearLayout settingsItemRootLLayout = new LinearLayout(activity);
303305
settingsItemRootLLayout.setOrientation(LinearLayout.VERTICAL);
304306
settingsItemRootLLayout.setLayoutParams(new AbsListView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
@@ -313,15 +315,15 @@ private void doSettingsMenuInject(final Activity activity) {
313315
LinearLayout itemHlinearLayout = new LinearLayout(activity);
314316
itemHlinearLayout.setOrientation(LinearLayout.HORIZONTAL);
315317
itemHlinearLayout.setWeightSum(1);
316-
itemHlinearLayout.setBackground(ViewUtil.genBackgroundDefaultDrawable(Color.WHITE));
318+
itemHlinearLayout.setBackground(ViewUtil.genBackgroundDefaultDrawable(isDarkMode ? 0xFF232323 : Color.WHITE, isDarkMode ? 0xFF252525 : 0xFFE5E5E5));
317319
itemHlinearLayout.setGravity(Gravity.CENTER_VERTICAL);
318320
itemHlinearLayout.setClickable(true);
319321
itemHlinearLayout.setOnClickListener(view -> new SettingsView(activity).showInDialog());
320322

321323
int defHPadding = DpUtil.dip2px(activity, 15);
322324

323325
TextView itemNameText = new TextView(activity);
324-
itemNameText.setTextColor(0xFF353535);
326+
itemNameText.setTextColor(isDarkMode ? 0xFFD3D3D3 : 0xFF353535);
325327
itemNameText.setText(Lang.getString(R.id.app_settings_name));
326328
itemNameText.setGravity(Gravity.CENTER_VERTICAL);
327329
itemNameText.setPadding(DpUtil.dip2px(activity, 14), 0, 0, 0);
@@ -332,11 +334,11 @@ private void doSettingsMenuInject(final Activity activity) {
332334
itemSummerText.setText(BuildConfig.VERSION_NAME);
333335
itemSummerText.setGravity(Gravity.CENTER_VERTICAL);
334336
itemSummerText.setPadding(0, 0, defHPadding, 0);
335-
itemSummerText.setTextColor(0xFF999999);
337+
itemSummerText.setTextColor(isDarkMode ? 0xFF656565 : 0xFF999999);
336338

337339
//try use WeChat style
338340
try {
339-
View generalView = ViewUtil.findViewByText(itemView, "通用", "一般", "General");
341+
View generalView = ViewUtil.findViewByText(itemView, "通用", "一般", "General", "服务管理", "服務管理", "Manage Services");
340342
L.d("generalView", generalView);
341343
if (generalView instanceof TextView) {
342344
TextView generalTextView = (TextView) generalView;
@@ -370,7 +372,7 @@ private void doSettingsMenuInject(final Activity activity) {
370372

371373
if (mWeChatVersionCode >= 1380) { //7.0.0
372374
View lineView = new View(activity);
373-
lineView.setBackgroundColor(0xFFD5D5D5);
375+
lineView.setBackgroundColor(isDarkMode ? 0xFF2E2E2E : 0xFFD5D5D5);
374376
settingsItemLinearLayout.addView(lineView, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 1));
375377
settingsItemLinearLayout.addView(itemHlinearLayout, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, DpUtil.dip2px(activity, 55)));
376378
} else {

0 commit comments

Comments
 (0)