diff --git a/app/src/androidTest/java/se/ajpanton/statusbartweak/ExampleInstrumentedTest.java b/app/src/androidTest/java/se/ajpanton/statusbartweak/ExampleInstrumentedTest.java
deleted file mode 100644
index fff5314..0000000
--- a/app/src/androidTest/java/se/ajpanton/statusbartweak/ExampleInstrumentedTest.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package se.ajpanton.statusbartweak;
-
-import android.content.Context;
-
-import androidx.test.platform.app.InstrumentationRegistry;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import static org.junit.Assert.*;
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * @see Testing documentation
- */
-@RunWith(AndroidJUnit4.class)
-public class ExampleInstrumentedTest {
- @Test
- public void useAppContext() {
- // Context of the app under test.
- Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
- assertEquals("se.ajpanton.statusbartweak", appContext.getPackageName());
- }
-}
diff --git a/app/src/main/java/se/ajpanton/statusbartweak/runtime/NotificationKeyReflection.java b/app/src/main/java/se/ajpanton/statusbartweak/runtime/NotificationKeyReflection.java
index e2ce979..39847fe 100644
--- a/app/src/main/java/se/ajpanton/statusbartweak/runtime/NotificationKeyReflection.java
+++ b/app/src/main/java/se/ajpanton/statusbartweak/runtime/NotificationKeyReflection.java
@@ -16,7 +16,9 @@ public final class NotificationKeyReflection {
"mNotificationKey",
"notificationKey",
"mKey",
- "key"
+ "key",
+ "mSlot",
+ "slot"
};
private NotificationKeyReflection() {
@@ -53,6 +55,10 @@ public final class NotificationKeyReflection {
if (key != null) {
return key;
}
+ key = nonEmptyStringFromMethod(view, "getSlot");
+ if (key != null) {
+ return key;
+ }
return nonEmptyStringFromFields(view, ICON_VIEW_KEY_FIELD_NAMES);
}
diff --git a/app/src/main/java/se/ajpanton/statusbartweak/runtime/features/RuntimeContext.java b/app/src/main/java/se/ajpanton/statusbartweak/runtime/features/RuntimeContext.java
index abfaa5b..899946f 100644
--- a/app/src/main/java/se/ajpanton/statusbartweak/runtime/features/RuntimeContext.java
+++ b/app/src/main/java/se/ajpanton/statusbartweak/runtime/features/RuntimeContext.java
@@ -37,10 +37,6 @@ public final class RuntimeContext {
return modeStateRepository;
}
- public boolean isLogEnabled() {
- return RuntimeLogGate.isEnabled();
- }
-
public void logWarning(String message, Throwable throwable) {
logSplit(Log.WARN, message, throwable);
}
@@ -50,7 +46,7 @@ public final class RuntimeContext {
}
private void logSplit(int priority, String message, Throwable throwable) {
- if (!isLogEnabled()) {
+ if (!RuntimeLogGate.isEnabled()) {
return;
}
String safeMessage = message != null ? message : "";
diff --git a/app/src/main/java/se/ajpanton/statusbartweak/runtime/features/chips/StatusChipHider.java b/app/src/main/java/se/ajpanton/statusbartweak/runtime/features/chips/StatusChipHider.java
index 0b09675..abafe29 100644
--- a/app/src/main/java/se/ajpanton/statusbartweak/runtime/features/chips/StatusChipHider.java
+++ b/app/src/main/java/se/ajpanton/statusbartweak/runtime/features/chips/StatusChipHider.java
@@ -3,21 +3,14 @@ package se.ajpanton.statusbartweak.runtime.features.chips;
import android.app.KeyguardManager;
import android.content.Context;
import android.content.Intent;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.ViewParent;
-import android.widget.TextView;
-import java.util.ArrayDeque;
import java.util.Collections;
import java.util.Locale;
import java.util.Set;
import java.util.WeakHashMap;
import se.ajpanton.statusbartweak.runtime.SystemContextProvider;
-import se.ajpanton.statusbartweak.runtime.ViewIdNames;
import se.ajpanton.statusbartweak.runtime.features.RuntimeContext;
-import se.ajpanton.statusbartweak.runtime.hooks.InstanceStateStore;
import se.ajpanton.statusbartweak.runtime.hooks.ReflectionSupport;
import se.ajpanton.statusbartweak.runtime.hooks.XposedHookSupport;
import se.ajpanton.statusbartweak.runtime.settings.BroadcastReceiverSupport;
@@ -26,25 +19,12 @@ import se.ajpanton.statusbartweak.shell.settings.SbtSettings;
final class StatusChipHider {
- private static final String FIELD_FORCED_HIDDEN = "sbtStatusChipForcedHidden";
- private static final String FIELD_PREV_VIS = "sbtStatusChipPrevVis";
- private static final int TOP_REGION_DP = 220;
- private static final int MAX_TEXT_SCAN_LEN = 160;
- private static final int MAX_CLASS_SCAN_LEN = 480;
- private static final int MAX_TEXT_NODES = 48;
- private static final int MAX_ASCENT = 8;
- private static final int ZONE_NONE = 0;
- private static final int ZONE_TOP = 1;
private static final int KIND_UNKNOWN = 0;
private static final int KIND_MEDIA = 1;
private static final int KIND_NAV = 2;
private static final int KIND_CALL = 3;
private final RuntimeContext runtimeContext;
- private final InstanceStateStore instanceStateStore = new InstanceStateStore();
- private final Set trackedRoots = Collections.newSetFromMap(new WeakHashMap<>());
- private final Set scannedRoots = Collections.newSetFromMap(new WeakHashMap<>());
- private final Set forcedHiddenViews = Collections.newSetFromMap(new WeakHashMap<>());
private final Set