diff --git a/app/build.gradle b/app/build.gradle
index f45f2f7..9d5bcec 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -5,6 +5,7 @@ android {
defaultConfig {
applicationId "dummydomain.yetanothercallblocker"
minSdkVersion 14
+ //noinspection OldTargetApi: required for call blocking
targetSdkVersion 28
versionCode 4030
versionName "0.4.3"
diff --git a/app/src/main/java/dummydomain/yetanothercallblocker/CallReceiver.java b/app/src/main/java/dummydomain/yetanothercallblocker/CallReceiver.java
index 1218f7d..fcf73bc 100644
--- a/app/src/main/java/dummydomain/yetanothercallblocker/CallReceiver.java
+++ b/app/src/main/java/dummydomain/yetanothercallblocker/CallReceiver.java
@@ -95,6 +95,7 @@ public class CallReceiver extends BroadcastReceiver {
TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
try {
+ @SuppressLint("DiscouragedPrivateApi") // no choice
Method m = tm.getClass().getDeclaredMethod("getITelephony");
m.setAccessible(true);
ITelephony telephony = (ITelephony)m.invoke(tm);
diff --git a/app/src/main/java/dummydomain/yetanothercallblocker/DebugActivity.java b/app/src/main/java/dummydomain/yetanothercallblocker/DebugActivity.java
index d989ef9..1393c2d 100644
--- a/app/src/main/java/dummydomain/yetanothercallblocker/DebugActivity.java
+++ b/app/src/main/java/dummydomain/yetanothercallblocker/DebugActivity.java
@@ -68,7 +68,7 @@ public class DebugActivity extends AppCompatActivity {
FeaturedDatabaseItem featuredItem = DatabaseSingleton.getFeaturedDatabase()
.getDbItemByNumber(getNumber());
- return new Pair(item, featuredItem);
+ return new Pair<>(item, featuredItem);
}
@Override
diff --git a/app/src/main/java/dummydomain/yetanothercallblocker/EventHandler.java b/app/src/main/java/dummydomain/yetanothercallblocker/EventHandler.java
index 822f0bb..21d58f3 100644
--- a/app/src/main/java/dummydomain/yetanothercallblocker/EventHandler.java
+++ b/app/src/main/java/dummydomain/yetanothercallblocker/EventHandler.java
@@ -1,5 +1,6 @@
package dummydomain.yetanothercallblocker;
+import android.annotation.SuppressLint;
import android.content.Context;
import org.greenrobot.eventbus.EventBus;
@@ -12,6 +13,7 @@ public class EventHandler {
private static final Logger LOG = LoggerFactory.getLogger(EventHandler.class);
+ @SuppressLint("StaticFieldLeak") // same lifecycle
private static EventHandler instance;
private Context context;
diff --git a/app/src/main/java/dummydomain/yetanothercallblocker/IconAndColor.java b/app/src/main/java/dummydomain/yetanothercallblocker/IconAndColor.java
index b6efabf..fb3c6ae 100644
--- a/app/src/main/java/dummydomain/yetanothercallblocker/IconAndColor.java
+++ b/app/src/main/java/dummydomain/yetanothercallblocker/IconAndColor.java
@@ -8,7 +8,6 @@ import androidx.annotation.ColorRes;
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.AppCompatImageView;
-import androidx.core.content.res.ResourcesCompat;
import androidx.core.widget.ImageViewCompat;
import dummydomain.yetanothercallblocker.data.NumberInfo;
@@ -34,7 +33,7 @@ class IconAndColor {
@ColorInt
int getColorInt(@NonNull Context context) {
- return ResourcesCompat.getColor(context.getResources(), colorResId, context.getTheme());
+ return UiUtils.getColorInt(context, colorResId);
}
void setOnImageView(AppCompatImageView imageView) {
diff --git a/app/src/main/java/dummydomain/yetanothercallblocker/NotificationHelper.java b/app/src/main/java/dummydomain/yetanothercallblocker/NotificationHelper.java
index dad54df..046d2f8 100644
--- a/app/src/main/java/dummydomain/yetanothercallblocker/NotificationHelper.java
+++ b/app/src/main/java/dummydomain/yetanothercallblocker/NotificationHelper.java
@@ -165,7 +165,7 @@ public class NotificationHelper {
NotificationCompat.Builder builder = new NotificationCompat.Builder(
context, CHANNEL_ID_BLOCKED_INFO)
.setSmallIcon(R.drawable.ic_brick_24dp)
- .setColor(context.getResources().getColor(R.color.rateNegative))
+ .setColor(UiUtils.getColorInt(context, R.color.rateNegative))
.setContentTitle(title)
.setContentText(text)
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
diff --git a/app/src/main/java/dummydomain/yetanothercallblocker/UiUtils.java b/app/src/main/java/dummydomain/yetanothercallblocker/UiUtils.java
new file mode 100644
index 0000000..d2e9e75
--- /dev/null
+++ b/app/src/main/java/dummydomain/yetanothercallblocker/UiUtils.java
@@ -0,0 +1,17 @@
+package dummydomain.yetanothercallblocker;
+
+import android.content.Context;
+
+import androidx.annotation.ColorInt;
+import androidx.annotation.ColorRes;
+import androidx.annotation.NonNull;
+import androidx.core.content.res.ResourcesCompat;
+
+public class UiUtils {
+
+ @ColorInt
+ public static int getColorInt(@NonNull Context context, @ColorRes int colorResId) {
+ return ResourcesCompat.getColor(context.getResources(), colorResId, context.getTheme());
+ }
+
+}
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 2e4a801..6393002 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -7,6 +7,5 @@
#679f41
#ffb300
#d40000
- #999999
#999999