From: TrillGates Date: Fri, 3 Sep 2021 08:15:01 +0000 (+0800) Subject: fixed phone or sms display name. X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=f2ae33251cca5744487e525d407c2a35132338be;p=icsupport.git fixed phone or sms display name. --- diff --git a/app/src/main/java/com/enqualcomm/support/ICSmsManager.java b/app/src/main/java/com/enqualcomm/support/ICSmsManager.java index b6b08258..c0af4fc2 100644 --- a/app/src/main/java/com/enqualcomm/support/ICSmsManager.java +++ b/app/src/main/java/com/enqualcomm/support/ICSmsManager.java @@ -8,6 +8,7 @@ import android.content.ContentValues; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.os.Environment; @@ -64,6 +65,7 @@ import static com.enqualcomm.support.Constants.ACTION_START_FOTA_UPDATE; import static com.enqualcomm.support.Constants.ACTION_TINTERNAL_TEST; import static com.enqualcomm.support.Constants.FROM_SERVER; import static com.enqualcomm.support.Constants.KeyReplyData; +import static com.enqualcomm.support.provider.ICMembersProvider.MEMBERS; import static com.enqualcomm.support.utils.SimSignalUtil.send_at_cmd; import static com.enqualcomm.support.utils.SimSignalUtil.send_at_setImei0; @@ -172,10 +174,38 @@ public class ICSmsManager extends BroadcastReceiver { resolver.insert(Uri.parse(ICGlobalSettingsProvider.SETTINGS), contentValues); } - private void createNotification(String title, String type) { + + private String parsePhoneNumName(String phoneNumber) { + Cursor query = mContext.getContentResolver().query(Uri.parse(MEMBERS), + new String[]{"user_name"}, "phone_num=?", + new String[]{phoneNumber}, null); + StringBuilder targetName = new StringBuilder(); + if (query != null) { + int count = query.getCount(); + ICLogger.d("count ==> " + count); + while (query.moveToNext()) { + targetName.append(query.getString(0)); + if (count > 1) { + targetName.append("|"); + } + count--; + } + query.close(); + return targetName.toString(); + } + return null; + } + + + private void createNotification(String phoneNum, String type) { + String name = parsePhoneNumName(phoneNum); + String targetDisplay = phoneNum; + if (!TextUtils.isEmpty(name)) { + targetDisplay = name + "(" + phoneNum + ")"; + } ContentValues contentValues = new ContentValues(); contentValues.put(ICDatabaseHelper.notification_category, "com.ic.mms"); - contentValues.put(ICDatabaseHelper.notification_title, title); + contentValues.put(ICDatabaseHelper.notification_title, targetDisplay); contentValues.put(ICDatabaseHelper.notification_type, type); contentValues.put(ICDatabaseHelper.notification_date, System.currentTimeMillis()); contentValues.put(ICDatabaseHelper.notification_order, 0); diff --git a/app/src/main/java/com/enqualcomm/support/service/PhoneCallListener.java b/app/src/main/java/com/enqualcomm/support/service/PhoneCallListener.java index 3af9d657..53018069 100644 --- a/app/src/main/java/com/enqualcomm/support/service/PhoneCallListener.java +++ b/app/src/main/java/com/enqualcomm/support/service/PhoneCallListener.java @@ -6,12 +6,14 @@ import android.content.Context; import android.database.ContentObserver; import android.database.Cursor; import android.net.Uri; +import android.text.TextUtils; import android.util.Log; import com.enqualcomm.support.provider.ICDatabaseHelper; import com.enqualcomm.support.provider.ICNotificationProvider; import static com.enqualcomm.support.provider.ICGlobalSettingsProvider.SETTINGS; +import static com.enqualcomm.support.provider.ICMembersProvider.MEMBERS; /** * 监听电话数据库的状态 @@ -113,8 +115,38 @@ public class PhoneCallListener { resolver.insert(Uri.parse(SETTINGS), values); } + + private String parsePhoneNumName(String phoneNumber) { + Cursor query = mContext.getContentResolver().query(Uri.parse(MEMBERS), + new String[]{"user_name"}, "phone_num=?", + new String[]{phoneNumber}, null); + StringBuilder targetName = new StringBuilder(); + if (query != null) { + int count = query.getCount(); + Log.d(TAG, "count ==> " + count); + while (query.moveToNext()) { + targetName.append(query.getString(0)); + if (count > 1) { + targetName.append("|"); + } + count--; + } + query.close(); + return targetName.toString(); + } + return null; + } + + private void createNotification(String phoneNum) { Log.d(TAG, "createNotification ===> " + phoneNum); + //解析一下电话名称 + String targetName = parsePhoneNumName(phoneNum); + String displayItem = phoneNum; + if (!TextUtils.isEmpty(targetName)) { + displayItem = targetName + "(" + displayItem + ")"; + } + Log.d(TAG, "createNotification = displayItem ==> " + displayItem); //先查询是否有,如果已经有的话,就不创建了 Cursor query = mContext.getContentResolver().query(Uri.parse(ICNotificationProvider.NOTIFICATIONS), null, "category=? and type=? and title=?", @@ -129,7 +161,7 @@ public class PhoneCallListener { Log.d(TAG, "createNotification==> " + phoneNum); ContentValues contentValues = new ContentValues(); contentValues.put(ICDatabaseHelper.notification_category, "com.ic.phone"); - contentValues.put(ICDatabaseHelper.notification_title, phoneNum); + contentValues.put(ICDatabaseHelper.notification_title, displayItem); contentValues.put(ICDatabaseHelper.notification_type, "missed_phone"); contentValues.put(ICDatabaseHelper.notification_date, System.currentTimeMillis()); contentValues.put(ICDatabaseHelper.notification_order, 0); diff --git a/app/version_code.properties b/app/version_code.properties index cf65896e..66d1e171 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,2 +1,2 @@ -#Fri Sep 03 16:07:29 CST 2021 -VERSION_CODE=942 +#Fri Sep 03 16:14:44 CST 2021 +VERSION_CODE=943