Skip to content
This repository was archived by the owner on Mar 23, 2023. It is now read-only.

Commit 858ff6b

Browse files
committed
Revert UI change & bugfix
1 parent 6ddcd66 commit 858ff6b

10 files changed

Lines changed: 68 additions & 92 deletions

File tree

app/build.gradle

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ android {
99
applicationId "moe.reimu.weiboxposed"
1010
minSdkVersion 17
1111
targetSdkVersion 25
12-
versionCode 11
13-
versionName "1.5.3"
12+
versionCode 13
13+
versionName "1.5.4"
1414
}
1515
buildTypes {
1616
release {
@@ -29,7 +29,6 @@ dependencies {
2929
provided 'de.robv.android.xposed:api:82'
3030
provided 'de.robv.android.xposed:api:82:sources'
3131
compile 'com.android.support:appcompat-v7:25.2.0'
32-
compile 'com.android.support:preference-v7:25.2.0'
3332
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
3433
}
3534

app/proguard-rules.pro

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,5 @@
1919
-keep public class moe.reimu.weiboxposed.Module
2020
-keepclassmembernames class moe.reimu.weiboxposed.GeneralPreferenceFragment {
2121
boolean isModuleEnabled();
22-
}
22+
}
23+
-keepnames class moe.reimu.weiboxposed.*

app/src/main/kotlin/moe/reimu/weiboxposed/GeneralPreferenceFragment.kt

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,30 @@ package moe.reimu.weiboxposed
33
import android.annotation.SuppressLint
44
import android.content.Context
55
import android.content.Intent
6-
import android.content.SharedPreferences
76
import android.net.Uri
87
import android.os.Bundle
9-
import android.support.v7.preference.PreferenceFragmentCompat
8+
import android.preference.PreferenceFragment
109
import android.widget.Toast
1110
import java.net.URLEncoder
1211

13-
class GeneralPreferenceFragment : PreferenceFragmentCompat(), SharedPreferences.OnSharedPreferenceChangeListener {
12+
class GeneralPreferenceFragment : PreferenceFragment() {
1413
companion object {
1514
val PREF_NAME = "prefs"
1615
}
1716

18-
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
19-
Toast.makeText(context, R.string.restart_weibo, Toast.LENGTH_SHORT).show()
20-
}
2117

2218
@Suppress("DEPRECATION")
2319
@SuppressLint("WorldReadableFiles")
24-
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
25-
context.getSharedPreferences(PREF_NAME, Context.MODE_WORLD_READABLE)
26-
.registerOnSharedPreferenceChangeListener(this)
20+
override fun onCreate(savedInstanceState: Bundle?) {
21+
super.onCreate(savedInstanceState)
2722

2823
val manager = preferenceManager
2924
manager.sharedPreferencesMode = Context.MODE_WORLD_READABLE
3025
manager.sharedPreferencesName = PREF_NAME
3126

3227

3328
if (!isModuleEnabled()) {
34-
Toast.makeText(context, R.string.module_not_enabled, Toast.LENGTH_LONG).show()
29+
Toast.makeText(activity, R.string.module_not_enabled, Toast.LENGTH_LONG).show()
3530
}
3631

3732
addPreferencesFromResource(R.xml.pref_general)
@@ -43,7 +38,7 @@ class GeneralPreferenceFragment : PreferenceFragmentCompat(), SharedPreferences.
4338
val uri = Uri.parse("$alipayqr&%3F_s%3Dweb-other&_t=${System.currentTimeMillis()}")
4439
val intent = Intent(Intent.ACTION_VIEW, uri)
4540
try {
46-
context.startActivity(intent)
41+
activity.startActivity(intent)
4742
} catch (e: Exception) {
4843
e.printStackTrace()
4944
}

app/src/main/kotlin/moe/reimu/weiboxposed/Module.kt

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class Module : IXposedHookInitPackageResources, IXposedHookLoadPackage, IXposedH
8181
try {
8282
val promotion = getObjectField(mblog, "promotion")
8383

84-
val title = getObjectField(mblog, "title")
84+
// val title = getObjectField(mblog, "title")
8585

8686
if (promotion != null) {
8787
val ad_type = getObjectField(promotion, "adtype") as String?
@@ -94,10 +94,10 @@ class Module : IXposedHookInitPackageResources, IXposedHookLoadPackage, IXposedH
9494
}
9595
}
9696

97-
if (title != null) {
98-
logd("detected promotion: title")
99-
return true
100-
}
97+
// if (title != null) {
98+
// logd("detected promotion: title")
99+
// return true
100+
// }
101101

102102
} catch (e: NoSuchFieldError) {
103103
log(e.message!!)
@@ -275,7 +275,10 @@ class Module : IXposedHookInitPackageResources, IXposedHookLoadPackage, IXposedH
275275
}
276276

277277
private fun hookWeibo(lpparam: XC_LoadPackage.LoadPackageParam) {
278-
reloadPrefs()
278+
if (!reloadPrefs()){
279+
log("Module disabled")
280+
return
281+
}
279282
hookAD(lpparam)
280283
hookGreyScale(lpparam)
281284

@@ -287,14 +290,17 @@ class Module : IXposedHookInitPackageResources, IXposedHookLoadPackage, IXposedH
287290

288291
}
289292

290-
private fun reloadPrefs() {
293+
private fun reloadPrefs() : Boolean{
291294
prefs.reload()
292-
log("loaded")
293295
debug_mode = prefs.getBoolean("debug_mode", false)
294296
if (debug_mode) {
295297
dumpPrefs()
296298
}
297299

300+
if (!prefs.getBoolean("global_enabled", true)) {
301+
return false
302+
}
303+
298304
disabled_feature.clear()
299305
disabled_feature.add("gif_video_player")
300306
disabled_feature.add("ad_pull_refresh_enable")
@@ -309,6 +315,8 @@ class Module : IXposedHookInitPackageResources, IXposedHookLoadPackage, IXposedH
309315

310316
user_keyword = prefs.getString("user_keyword", "").split("\n")
311317
user_keyword = user_keyword.filter(String::isNotBlank)
318+
log("loaded")
319+
return true
312320
}
313321

314322
private fun openUrl(url: Uri) {
Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,26 @@
11
package moe.reimu.weiboxposed
22

3-
import android.support.v4.app.Fragment
3+
import android.annotation.SuppressLint
4+
import android.content.SharedPreferences
5+
import android.preference.PreferenceActivity
6+
import android.os.Bundle
7+
import android.widget.Toast
48

5-
class SettingsActivity : SingleFragmentActivity() {
6-
override fun createFragment(): Fragment {
7-
return GeneralPreferenceFragment()
9+
class SettingsActivity : PreferenceActivity(), SharedPreferences.OnSharedPreferenceChangeListener {
10+
@Suppress("DEPRECATION")
11+
@SuppressLint("WorldReadableFiles")
12+
override fun onCreate(savedInstanceState: Bundle?) {
13+
super.onCreate(savedInstanceState)
14+
getSharedPreferences(GeneralPreferenceFragment.PREF_NAME, MODE_WORLD_READABLE)
15+
.registerOnSharedPreferenceChangeListener(this)
16+
fragmentManager.beginTransaction().replace(android.R.id.content, GeneralPreferenceFragment()).commit()
17+
}
18+
19+
override fun isValidFragment(fragmentName: String): Boolean {
20+
return GeneralPreferenceFragment::class.java.name == fragmentName
21+
}
22+
23+
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
24+
Toast.makeText(this, R.string.restart_weibo, Toast.LENGTH_SHORT).show()
825
}
926
}

app/src/main/kotlin/moe/reimu/weiboxposed/SingleFragmentActivity.kt

Lines changed: 0 additions & 29 deletions
This file was deleted.

app/src/main/res/layout/activity_fragment.xml

Lines changed: 0 additions & 8 deletions
This file was deleted.

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<string name="title_activity_settings">设置</string>
55

66
<string name="pref_features_title">功能</string>
7+
<string name="pref_title_global_enabled">启用模块</string>
78
<string name="pref_title_remove_hot">去除已关注内容</string>
89
<string name="pref_description_remove_hot">包含来自已经关注用户的“粉丝头条”等推广内容</string>
910
<string name="pref_title_force_browser">强制使用外置浏览器</string>

app/src/main/res/values/styles.xml

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,5 @@
44
<item name="colorPrimary">#F44336</item>
55
<item name="colorPrimaryDark">#C62828</item>
66
<item name="colorAccent">#4CAF50</item>
7-
<item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
8-
</style>
9-
<style name="PreferenceThemeOverlay">
10-
<item name="preferenceScreenStyle">@style/Preference.PreferenceScreen</item>
11-
<item name="preferenceFragmentStyle">@style/PreferenceFragment</item>
12-
<item name="preferenceCategoryStyle">@style/Preference.Category</item>
13-
<item name="preferenceStyle">@style/Preference</item>
14-
<item name="preferenceInformationStyle">@style/Preference.Information</item>
15-
<item name="checkBoxPreferenceStyle">@style/Preference.CheckBoxPreference</item>
16-
<item name="switchPreferenceCompatStyle">@style/Preference.SwitchPreferenceCompat</item>
17-
<item name="dialogPreferenceStyle">@style/Preference.DialogPreference</item>
18-
<item name="editTextPreferenceStyle">@style/Preference.DialogPreference.EditTextPreference</item>
19-
<item name="preferenceFragmentListStyle">@style/PreferenceFragmentList</item>
207
</style>
218
</resources>
Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,54 @@
1-
<android.support.v7.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
1+
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
22

3-
<android.support.v7.preference.PreferenceCategory
3+
<PreferenceCategory
44
android:key="features"
55
android:title="@string/pref_features_title">
66

7-
<android.support.v7.preference.SwitchPreferenceCompat
7+
<SwitchPreference
8+
android:defaultValue="true"
9+
android:key="global_enabled"
10+
android:title="@string/pref_title_global_enabled"/>
11+
12+
<SwitchPreference
813
android:defaultValue="false"
914
android:key="remove_hot"
1015
android:title="@string/pref_title_remove_hot"
1116
android:summary="@string/pref_description_remove_hot"/>
1217

13-
<android.support.v7.preference.SwitchPreferenceCompat
18+
<SwitchPreference
1419
android:defaultValue="false"
1520
android:key="force_browser"
1621
android:summary="@string/pref_description_force_browser"
1722
android:title="@string/pref_title_force_browser"/>
1823

19-
<android.support.v7.preference.SwitchPreferenceCompat
24+
<SwitchPreference
2025
android:defaultValue="false"
2126
android:key="disable_new_message_flow"
2227
android:title="@string/pref_title_disable_new_message_flow"/>
2328

24-
<android.support.v7.preference.SwitchPreferenceCompat
29+
<SwitchPreference
2530
android:defaultValue="false"
2631
android:key="debug_mode"
2732
android:title="@string/pref_title_debug_mode"/>
28-
</android.support.v7.preference.PreferenceCategory>
33+
</PreferenceCategory>
2934

30-
<android.support.v7.preference.PreferenceCategory
35+
<PreferenceCategory
3136
android:key="filtering"
3237
android:title="@string/pref_filtering_title">
33-
<android.support.v7.preference.EditTextPreference
38+
<EditTextPreference
3439
android:defaultValue=""
3540
android:key="content_keyword"
3641
android:title="@string/pref_title_content_keyword"/>
37-
<android.support.v7.preference.EditTextPreference
42+
<EditTextPreference
3843
android:defaultValue=""
3944
android:key="user_keyword"
4045
android:title="@string/pref_title_user_keyword"/>
41-
</android.support.v7.preference.PreferenceCategory>
42-
<android.support.v7.preference.PreferenceCategory
46+
</PreferenceCategory>
47+
<PreferenceCategory
4348
android:title="@string/pref_donate_title">
44-
<android.support.v7.preference.Preference
49+
<Preference
4550
android:key="alipay"
4651
android:title="@string/pref_title_alipay"/>
47-
</android.support.v7.preference.PreferenceCategory>
52+
</PreferenceCategory>
4853

49-
</android.support.v7.preference.PreferenceScreen>
54+
</PreferenceScreen>

0 commit comments

Comments
 (0)