From ffbceb9b8e2ed0031b5d23c2cdae31ab8a577635 Mon Sep 17 00:00:00 2001 From: Simon Redman Date: Tue, 9 Jul 2019 09:20:17 +0200 Subject: [PATCH] Reorder the Samsung special case to take effect before the case handling all other devices BUG: 401677 --- src/org/kde/kdeconnect/Helpers/SMSHelper.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/org/kde/kdeconnect/Helpers/SMSHelper.java b/src/org/kde/kdeconnect/Helpers/SMSHelper.java index 700b8b1c..6609b6f9 100644 --- a/src/org/kde/kdeconnect/Helpers/SMSHelper.java +++ b/src/org/kde/kdeconnect/Helpers/SMSHelper.java @@ -104,15 +104,19 @@ public class SMSHelper { * Get the base address for all message conversations */ private static Uri getConversationUri() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { - return Telephony.MmsSms.CONTENT_CONVERSATIONS_URI; - } else if ("Samsung".equals(Build.MANUFACTURER)){ - // For some presumably asinine reason, Samsung devices do not support the regular SmsMms column. - // However, according to https://stackoverflow.com/a/13640868/3723163, we can work around it this way. - // By my understanding, "simple=true" means we can't support multi-target messages. - // Go complain to Samsung about their crappy OS changes! + + // Special case for Samsung + // For some reason, Samsung devices do not support the regular SmsMms column. + // However, according to https://stackoverflow.com/a/13640868/3723163, we can work around it this way. + // By my understanding, "simple=true" means we can't support multi-target messages. + // Go complain to Samsung about their annoying OS changes! + if ("Samsung".equals(Build.MANUFACTURER)){ Log.i("SMSHelper", "Samsung compatibility mode enabled. This may cause some features to not work properly."); return Uri.parse("content://mms-sms/conversations?simple=true"); + } + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + return Telephony.MmsSms.CONTENT_CONVERSATIONS_URI; } else { // As with getSMSUriBad, this is potentially unsafe depending on whether a specific // manufacturer decided to do their own thing