Ability to set notification priority (API>16), also when used as a Library
This commit is contained in:
parent
991de56c8c
commit
d3d54fd1c0
4 changed files with 14 additions and 10 deletions
|
@ -116,6 +116,7 @@ public final class LinphoneService extends Service {
|
|||
private String mNotificationTitle;
|
||||
private boolean mDisableRegistrationStatus;
|
||||
private LinphoneCoreListenerBase mListener;
|
||||
public static int notifcationsPriority = (Version.sdkAboveOrEqual(Version.API16_JELLY_BEAN_41) ? Notification.PRIORITY_DEFAULT : 0);
|
||||
|
||||
public int getMessageNotifCount() {
|
||||
return mMsgNotifCount;
|
||||
|
@ -153,7 +154,7 @@ public final class LinphoneService extends Service {
|
|||
bm = BitmapFactory.decodeResource(getResources(), R.drawable.logo_linphone_57x57);
|
||||
} catch (Exception e) {
|
||||
}
|
||||
mNotif = Compatibility.createNotification(this, mNotificationTitle, "", R.drawable.status_level, IC_LEVEL_OFFLINE, bm, mNotifContentIntent, true);
|
||||
mNotif = Compatibility.createNotification(this, mNotificationTitle, "", R.drawable.status_level, IC_LEVEL_OFFLINE, bm, mNotifContentIntent, true,notifcationsPriority);
|
||||
|
||||
LinphoneManager.createAndStart(LinphoneService.this);
|
||||
|
||||
|
@ -271,6 +272,7 @@ public final class LinphoneService extends Service {
|
|||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
private enum IncallIconState {INCALL, PAUSE, VIDEO, IDLE}
|
||||
private IncallIconState mCurrentIncallIconState = IncallIconState.IDLE;
|
||||
|
@ -357,7 +359,7 @@ public final class LinphoneService extends Service {
|
|||
bm = BitmapFactory.decodeResource(getResources(), R.drawable.logo_linphone_57x57);
|
||||
} catch (Exception e) {
|
||||
}
|
||||
mCustomNotif = Compatibility.createNotification(this, title, message, iconResourceID, 0, bm, notifContentIntent, isOngoingEvent);
|
||||
mCustomNotif = Compatibility.createNotification(this, title, message, iconResourceID, 0, bm, notifContentIntent, isOngoingEvent,notifcationsPriority);
|
||||
|
||||
mCustomNotif.defaults |= Notification.DEFAULT_VIBRATE;
|
||||
mCustomNotif.defaults |= Notification.DEFAULT_SOUND;
|
||||
|
@ -529,7 +531,7 @@ public final class LinphoneService extends Service {
|
|||
bm = BitmapFactory.decodeResource(getResources(), R.drawable.logo_linphone_57x57);
|
||||
} catch (Exception e) {
|
||||
}
|
||||
mNotif = Compatibility.createNotification(this, mNotificationTitle, text, R.drawable.status_level, level, bm, mNotifContentIntent, true);
|
||||
mNotif = Compatibility.createNotification(this, mNotificationTitle, text, R.drawable.status_level, level, bm, mNotifContentIntent, true,notifcationsPriority);
|
||||
notifyWrapper(NOTIF_ID, mNotif);
|
||||
}
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@ public class ApiSixteenPlus {
|
|||
return notif;
|
||||
}
|
||||
|
||||
public static Notification createNotification(Context context, String title, String message, int icon, int level, Bitmap largeIcon, PendingIntent intent, boolean isOngoingEvent) {
|
||||
public static Notification createNotification(Context context, String title, String message, int icon, int level, Bitmap largeIcon, PendingIntent intent, boolean isOngoingEvent,int priority) {
|
||||
Notification notif;
|
||||
|
||||
if (largeIcon != null) {
|
||||
|
@ -87,6 +87,7 @@ public class ApiSixteenPlus {
|
|||
.setLargeIcon(largeIcon)
|
||||
.setContentIntent(intent)
|
||||
.setWhen(System.currentTimeMillis())
|
||||
.setPriority(priority)
|
||||
.build();
|
||||
} else {
|
||||
notif = new Notification.Builder(context)
|
||||
|
@ -95,6 +96,7 @@ public class ApiSixteenPlus {
|
|||
.setSmallIcon(icon, level)
|
||||
.setContentIntent(intent)
|
||||
.setWhen(System.currentTimeMillis())
|
||||
.setPriority(priority)
|
||||
.build();
|
||||
}
|
||||
if (isOngoingEvent) {
|
||||
|
|
|
@ -78,7 +78,7 @@ public class ApiTwentyOnePlus {
|
|||
return notif;
|
||||
}
|
||||
|
||||
public static Notification createNotification(Context context, String title, String message, int icon, int level, Bitmap largeIcon, PendingIntent intent, boolean isOngoingEvent) {
|
||||
public static Notification createNotification(Context context, String title, String message, int icon, int level, Bitmap largeIcon, PendingIntent intent, boolean isOngoingEvent,int priority) {
|
||||
Notification notif;
|
||||
|
||||
if (largeIcon != null) {
|
||||
|
@ -90,7 +90,7 @@ public class ApiTwentyOnePlus {
|
|||
.setContentIntent(intent)
|
||||
.setCategory(Notification.CATEGORY_SERVICE)
|
||||
.setVisibility(Notification.VISIBILITY_SECRET)
|
||||
.setPriority(Notification.PRIORITY_DEFAULT)
|
||||
.setPriority(priority)
|
||||
.build();
|
||||
} else {
|
||||
notif = new NotificationCompat.Builder(context)
|
||||
|
@ -100,7 +100,7 @@ public class ApiTwentyOnePlus {
|
|||
.setContentIntent(intent)
|
||||
.setCategory(Notification.CATEGORY_SERVICE)
|
||||
.setVisibility(Notification.VISIBILITY_SECRET)
|
||||
.setPriority(Notification.PRIORITY_DEFAULT)
|
||||
.setPriority(priority)
|
||||
.build();
|
||||
}
|
||||
|
||||
|
|
|
@ -204,11 +204,11 @@ public class Compatibility {
|
|||
return notif;
|
||||
}
|
||||
|
||||
public static Notification createNotification(Context context, String title, String message, int icon, int iconLevel, Bitmap largeIcon, PendingIntent intent, boolean isOngoingEvent) {
|
||||
public static Notification createNotification(Context context, String title, String message, int icon, int iconLevel, Bitmap largeIcon, PendingIntent intent, boolean isOngoingEvent,int priority) {
|
||||
if (Version.sdkAboveOrEqual(Version.API21_LOLLIPOP_50)) {
|
||||
return ApiTwentyOnePlus.createNotification(context, title, message, icon, iconLevel, largeIcon, intent, isOngoingEvent);
|
||||
return ApiTwentyOnePlus.createNotification(context, title, message, icon, iconLevel, largeIcon, intent, isOngoingEvent,priority);
|
||||
} else if (Version.sdkAboveOrEqual(Version.API16_JELLY_BEAN_41)) {
|
||||
return ApiSixteenPlus.createNotification(context, title, message, icon, iconLevel, largeIcon, intent, isOngoingEvent);
|
||||
return ApiSixteenPlus.createNotification(context, title, message, icon, iconLevel, largeIcon, intent, isOngoingEvent,priority);
|
||||
} else if (Version.sdkAboveOrEqual(Version.API11_HONEYCOMB_30)) {
|
||||
return ApiElevenPlus.createNotification(context, title, message, icon, iconLevel, largeIcon, intent, isOngoingEvent);
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue