diff --git a/app/build.gradle b/app/build.gradle
index 804ea9f..6abf3b7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -55,7 +55,7 @@ dependencies {
implementation 'androidx.core:core-ktx:1.2.0'
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'com.google.android.material:material:1.1.0'
- implementation 'androidx.preference:preference:1.1.1'
+ implementation 'androidx.preference:preference-ktx:1.1.1'
compileOnly 'de.robv.android.xposed:api:82'
compileOnly 'de.robv.android.xposed:api:82:sources'
testImplementation 'junit:junit:4.+'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index c45422e..a5a2550 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -25,9 +25,13 @@
+
+ android:value="93" />
+
-
\ No newline at end of file
+
diff --git a/app/src/main/java/com/acme/twitteradeater/SettingsActivity.kt b/app/src/main/java/com/acme/twitteradeater/SettingsActivity.kt
index f91bbd9..9734244 100644
--- a/app/src/main/java/com/acme/twitteradeater/SettingsActivity.kt
+++ b/app/src/main/java/com/acme/twitteradeater/SettingsActivity.kt
@@ -11,9 +11,9 @@ class SettingsActivity : AppCompatActivity() {
setContentView(R.layout.settings_activity)
if (savedInstanceState == null) {
supportFragmentManager
- .beginTransaction()
- .replace(R.id.settings, SettingsFragment())
- .commit()
+ .beginTransaction()
+ .replace(R.id.settings, SettingsFragment())
+ .commit()
}
supportActionBar?.setDisplayHomeAsUpEnabled(true)
}
@@ -23,4 +23,4 @@ class SettingsActivity : AppCompatActivity() {
setPreferencesFromResource(R.xml.root_preferences, rootKey)
}
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/com/acme/twitteradeater/TwitterAdEaterModule.kt b/app/src/main/java/com/acme/twitteradeater/TwitterAdEaterModule.kt
index cfbcbd7..6657863 100644
--- a/app/src/main/java/com/acme/twitteradeater/TwitterAdEaterModule.kt
+++ b/app/src/main/java/com/acme/twitteradeater/TwitterAdEaterModule.kt
@@ -2,21 +2,25 @@ package com.acme.twitteradeater
import android.view.View
import android.view.ViewGroup
-import android.view.ViewStub
import androidx.core.view.children
-import de.robv.android.xposed.IXposedHookLoadPackage
-import de.robv.android.xposed.XC_MethodHook
-import de.robv.android.xposed.XposedBridge
-import de.robv.android.xposed.XposedHelpers
+import de.robv.android.xposed.*
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam
+
class TwitterAdEaterModule : IXposedHookLoadPackage {
override fun handleLoadPackage(lpparam: LoadPackageParam?) {
log("NOM NOM NOM %s", lpparam!!.packageName)
+ if (lpparam.packageName == "com.acme.twitteradeater") {
+ Utils.readPrefs()
+ logcat("prefs = %s", Utils.prefs.all)
+ }
+
if (lpparam.packageName == "com.twitter.android") {
- log("Twitter app loaded... (package = %s)", lpparam.packageName)
+ Utils.readPrefs()
+ logcat("prefs = %s", Utils.prefs.all)
+ log("Twitter app loaded, initializing hooks...")
initHooks(lpparam)
}
}
@@ -51,8 +55,10 @@ class TwitterAdEaterModule : IXposedHookLoadPackage {
{
if (isPromoted(v)) {
v.visibility = View.GONE
- logcat("Removing ad: view = %s", v)
- logView(v.parent as View)
+ if (debugLogsEnabled()) {
+ logcat("Removing ad: view = %s", v)
+ logView(v.parent as View)
+ }
} else {
v.visibility = View.VISIBLE
}
diff --git a/app/src/main/java/com/acme/twitteradeater/Utils.kt b/app/src/main/java/com/acme/twitteradeater/Utils.kt
index 2840fbb..a289b01 100644
--- a/app/src/main/java/com/acme/twitteradeater/Utils.kt
+++ b/app/src/main/java/com/acme/twitteradeater/Utils.kt
@@ -4,10 +4,28 @@ import android.util.Log
import android.view.View
import android.view.ViewGroup
import androidx.core.view.children
+import de.robv.android.xposed.XSharedPreferences
import de.robv.android.xposed.XposedBridge
private const val TAG: String = "TwitterAdEater"
+class Utils {
+ companion object {
+ lateinit var prefs: XSharedPreferences
+
+ fun readPrefs() {
+ prefs = XSharedPreferences(BuildConfig.APPLICATION_ID)
+ prefs.makeWorldReadable()
+ prefs.reload()
+ }
+ }
+}
+
+fun debugLogsEnabled(): Boolean {
+ return Utils.prefs.getBoolean("debugLogs", false)
+}
+
+
fun log(message: String, vararg va: Any?) {
XposedBridge.log(String.format(message, *va))
}
diff --git a/app/src/main/res/xml/root_preferences.xml b/app/src/main/res/xml/root_preferences.xml
index 8efc924..63fb689 100644
--- a/app/src/main/res/xml/root_preferences.xml
+++ b/app/src/main/res/xml/root_preferences.xml
@@ -15,21 +15,21 @@
app:title="@string/reply_title"
app:useSimpleSummaryProvider="true" />
-
+
-
+
+ app:key="debugLogs"
+ app:title="Debug logs" />
-
+ app:title="@string/attachment_title" /-->
-
+
\ No newline at end of file