diff --git a/app/build.gradle b/app/build.gradle
index 9de7d989..b470ec22 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -20,9 +20,9 @@ android {
}
ndk {
// noinspection ChromeOsAbiSupport
- // abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64'
+ abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64'
// noinspection ChromeOsAbiSupport
- abiFilters 'armeabi-v7a', 'arm64-v8a'
+ // abiFilters 'armeabi-v7a', 'arm64-v8a'
}
vectorDrawables.useSupportLibrary = true
}
diff --git a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt
index 5e33a629..f8b05aa2 100644
--- a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt
+++ b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt
@@ -1135,28 +1135,20 @@ class BaresipService: Service() {
PendingIntent.FLAG_IMMUTABLE)
else
PendingIntent.getActivity(applicationContext, STATUS_REQ_CODE, intent, 0)
+ val notificationLayout = RemoteViews(packageName, R.layout.status_notification)
snb.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.setSmallIcon(R.drawable.ic_stat)
.setContentIntent(pi)
.setOngoing(true)
- .setContent(RemoteViews(packageName,
- if (VERSION.SDK_INT >= 33)
- R.layout.status_notification_33
- else
- R.layout.status_notification)
- )
+ .setStyle(NotificationCompat.DecoratedCustomViewStyle())
+ .setCustomContentView(notificationLayout)
if (VERSION.SDK_INT >= 31)
snb.foregroundServiceBehavior = Notification.FOREGROUND_SERVICE_DEFAULT
startForeground(STATUS_NOTIFICATION_ID, snb.build())
}
private fun updateStatusNotification() {
- val contentView = RemoteViews(packageName,
- if (VERSION.SDK_INT >= 33)
- R.layout.status_notification_33
- else
- R.layout.status_notification
- )
+ val notificationLayout = RemoteViews(packageName, R.layout.status_notification)
for (i: Int in 0..3) {
val resId = when (i) {
0-> R.id.status0
@@ -1165,17 +1157,17 @@ class BaresipService: Service() {
else -> R.id.status3
}
if (i < uas.size) {
- contentView.setImageViewResource(resId, uas[i].status)
- contentView.setViewVisibility(resId, View.VISIBLE)
+ notificationLayout.setImageViewResource(resId, uas[i].status)
+ notificationLayout.setViewVisibility(resId, View.VISIBLE)
} else {
- contentView.setViewVisibility(resId, View.INVISIBLE)
+ notificationLayout.setViewVisibility(resId, View.INVISIBLE)
}
}
if (uas.size > 4)
- contentView.setViewVisibility(R.id.etc, View.VISIBLE)
+ notificationLayout.setViewVisibility(R.id.etc, View.VISIBLE)
else
- contentView.setViewVisibility(R.id.etc, View.INVISIBLE)
- snb.setContent(contentView)
+ notificationLayout.setViewVisibility(R.id.etc, View.INVISIBLE)
+ snb.setCustomContentView(notificationLayout)
// Don't know why, but without the delay the notification is not always updated
Timer().schedule(250) {
nm.notify(STATUS_NOTIFICATION_ID, snb.build())
diff --git a/app/src/main/res/layout/status_notification.xml b/app/src/main/res/layout/status_notification.xml
index 7d5d3381..cac6fe38 100644
--- a/app/src/main/res/layout/status_notification.xml
+++ b/app/src/main/res/layout/status_notification.xml
@@ -5,30 +5,10 @@
android:layout_height="wrap_content"
android:orientation="horizontal" >
-
-
-
-
-
diff --git a/app/src/main/res/layout/status_notification_33.xml b/app/src/main/res/layout/status_notification_33.xml
deleted file mode 100644
index cac6fe38..00000000
--- a/app/src/main/res/layout/status_notification_33.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-