Android 系统 (129)---ODM 开发用户常见需求文档(三)

一:修改client ids

(device/mediatek/common/device.mk)

[java]  view plain  copy
  1. diff --git a/mediatek/common/device.mk b/mediatek/common/device.mk  
  2. index 6d3bd82..7e15fd1 100644  
  3. --- a/mediatek/common/device.mk  
  4. +++ b/mediatek/common/device.mk  
  5. @@ -336,11 +336,11 @@ endif  
  6.  $(call inherit-product-if-exists, google/products/gms.mk)  
  7.    
  8.  PRODUCT_PROPERTY_OVERRIDES += \  
  9. -      ro.com.google.clientidbase=android-{country} \  
  10. -      ro.com.google.clientidbase.ms=android-{country} \  
  11. -      ro.com.google.clientidbase.yt=android-{country} \  
  12. -      ro.com.google.clientidbase.am=android-{country} \  
  13. -      ro.com.google.clientidbase.gmm=android-{country}  
  14. +      ro.com.google.clientidbase=android-advandigital \  
  15. +      ro.com.google.clientidbase.ms=android-advandigital \  
  16. +      ro.com.google.clientidbase.yt=android-advandigital \  
  17. +      ro.com.google.clientidbase.am=android-vimpelcom-ru \  
  18. +      ro.com.google.clientidbase.gmm=android-advandigital  
  19.  #endif  
  20.  #endif  
  21.  # End of Vanzo:hanshengpeng  

二:关闭wifi通知音

(frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiNotificationController.java)

[java]  view plain  copy
  1. diff --git a/opt/net/wifi/service/java/com/android/server/wifi/WifiNotificationController.java b/opt/net/wifi/service/java/com/android/server/wifi/WifiNotificationController.java  
  2. index 57ae95d..11c3fb6 100644  
  3. --- a/opt/net/wifi/service/java/com/android/server/wifi/WifiNotificationController.java  
  4. +++ b/opt/net/wifi/service/java/com/android/server/wifi/WifiNotificationController.java  
  5. @@ -355,12 +355,12 @@ final class WifiNotificationController {  
  6.              mNotificationRepeatTime = System.currentTimeMillis() + NOTIFICATION_REPEAT_DELAY_MS;  
  7.    
  8.              ///M:@{  
  9. -            if (!mNotificationShown) {  
  10. -                mNotificationBuilder.setSound(RingtoneManager.getActualDefaultRingtoneUri(mContext,  
  11. -                    RingtoneManager.TYPE_NOTIFICATION));  
  12. -            } else {  
  13. +            //if (!mNotificationShown) {  
  14. +            //    mNotificationBuilder.setSound(RingtoneManager.getActualDefaultRingtoneUri(mContext,  
  15. +            //        RingtoneManager.TYPE_NOTIFICATION));  
  16. +            //} else {  
  17.                  mNotificationBuilder.setSound(null);  
  18. -            }  
  19. +            //}  
  20.              Slog.d(TAG, "Pop up notification, mNotificationBuilder.setSound");  
  21.              ///@}  
  22.              ///M: ALPS01931078 UserHandle change to OWNER  


三:Email接收带有联系人(.vcf)的邮件,保存联系人,弹框选择保存位置,把Phone" 改成 Память телефона

(/packages/apps/ContactsCommon/src/com/mediatek/contacts/util/VcardUtils.java)

[java]  view plain  copy
  1. diff --git a/src/com/mediatek/contacts/util/VcardUtils.java b/src/com/mediatek/contacts/util/VcardUtils.java  
  2. index 59434dd..d795863 100644  
  3. --- a/src/com/mediatek/contacts/util/VcardUtils.java  
  4. +++ b/src/com/mediatek/contacts/util/VcardUtils.java  
  5. @@ -67,6 +67,7 @@ import com.mediatek.storage.StorageManagerEx;  
  6.  import java.io.File;  
  7.  import java.util.ArrayList;  
  8.  import java.util.List;  
  9. +import java.util.Locale;  
  10.    
  11.  public class VcardUtils {  
  12.      private static final String TAG = "VcardUtils";  
  13. @@ -191,8 +192,15 @@ public class VcardUtils {  
  14.                  final AccountType accountType = accountTypes.getAccountType(account.type,  
  15.                          account.dataSet);  
  16.                  final Context context = getContext();  
  17. -  
  18. -                text1.setText(account.name);  
  19. +                String locale = Locale.getDefault().getLanguage();  
  20. +                Log.i("zhongyeqing""label"+locale);  
  21. +                if("ru".equals(locale )&& account.name.equals("Phone")){   
  22. +                    text1.setText("Память телефона");  
  23. +                }else {  
  24. +                    text1.setText(account.name);  
  25. +                }   
  26.                  text2.setText(accountType.getDisplayLabel(context));  
  27.    
  28.                  return convertView;  

四:电话/短信前面加了8 或者+7(后面的号码是一样的) ,短信需要合并成一个电话本

(packages/apps/Dialer/src/com/android/dialer/calllog/CallLogGroupBuilder.java)

[java]  view plain  copy
  1. diff --git a/src/com/android/dialer/calllog/CallLogGroupBuilder.java b/src/com/android/dialer/calllog/CallLogGroupBuilder.java  
  2. index 074f6dd..97e3f02 100644  
  3. --- a/src/com/android/dialer/calllog/CallLogGroupBuilder.java  
  4. +++ b/src/com/android/dialer/calllog/CallLogGroupBuilder.java  
  5. @@ -148,7 +148,7 @@ public class CallLogGroupBuilder {  
  6.                      CallLogQuery.ACCOUNT_COMPONENT_NAME);  
  7.              final String currentAccountId = cursor.getString(CallLogQuery.ACCOUNT_ID);  
  8.    
  9. -            final boolean sameNumber = equalNumbers(firstNumber, currentNumber);  
  10. +            boolean sameNumber = equalNumbers(firstNumber, currentNumber);  
  11.              final boolean sameAccountComponentName = Objects.equals(  
  12.                      firstAccountComponentName,  
  13.                      currentAccountComponentName);  
  14. @@ -161,6 +161,21 @@ public class CallLogGroupBuilder {  
  15.              final long currentCallId = cursor.getLong(CallLogQuery.ID);  
  16.              final long date = cursor.getLong(CallLogQuery.DATE);  
  17.    
  18. +            String currentNumber2;  
  19. +            if(sameNumber == false){  
  20. +                if(currentNumber.startsWith("8")){  
  21. +                    currentNumber2 = currentNumber.substring(1);  
  22. +                    currentNumber2 = "+7"+currentNumber2;  
  23. +  
  24. +                    sameNumber = equalNumbers(firstNumber, currentNumber2);  
  25. +                }else if(currentNumber.startsWith("+7")){  
  26. +                    currentNumber2 = currentNumber.substring(2);  
  27. +                    currentNumber2 = "8"+currentNumber2;  
  28. +  
  29. +                    sameNumber = equalNumbers(firstNumber, currentNumber2);  
  30. +                    }  
  31. +                }  
  32. +  
  33.              /// M: [VoLTE ConfCallLog] For Volte Conference call calllog @{  
  34.              long currentConfCallId = -1;  
  35.              if (DialerFeatureOptions.isVolteConfCallLogSupport()) {  

(packages/providers/ContactsProvider/src/com/android/providers/contacts/ContactsProvider2.java)

[java]  view plain  copy
  1. diff --git a/ContactsProvider/src/com/android/providers/contacts/ContactsProvider2.java b/ContactsProvider/src/com/android/providers/contacts/ContactsProvider2.java  
  2. index 4752fa7..b9e36ec 100644  
  3. --- a/ContactsProvider/src/com/android/providers/contacts/ContactsProvider2.java  
  4. +++ b/ContactsProvider/src/com/android/providers/contacts/ContactsProvider2.java  
  5. @@ -222,6 +222,7 @@ import java.util.Map;  
  6.  import java.util.Map.Entry;  
  7.  import java.util.Set;  
  8.  import java.util.concurrent.CountDownLatch;  
  9. +import android.database.MergeCursor;  
  10.    
  11.  /**  
  12.   * Contacts content provider. The contract between this provider and applications  
  13. @@ -5854,15 +5855,53 @@ public class ContactsProvider2 extends AbstractContactsProvider  
  14.                  if (uri.getPathSegments().size() > 2) {  
  15.                      filterParam = uri.getLastPathSegment();  
  16.                  }  
  17. +                  
  18. +                Cursor rawCursor8 = null;  
  19. +                Cursor rawCursorOrig = null;  
  20. +                String filterParam2 = null;  
  21. +                Cursor rawCursor = null;  
  22. +                Cursor[] cursors = new Cursor[2];  
  23. +                String localizedSortOrder = getLocalizedSortOrder(sortOrder);  
  24. +                        if(filterParam.startsWith("+7")){  
  25. +                              filterParam2 = filterParam.substring(2);  
  26. +                              filterParam2 = "8"+filterParam2;  
  27. +                              }else if(filterParam.startsWith("8")){  
  28. +                                    filterParam2 = filterParam.substring(1);  
  29. +                                    filterParam2 = "+7"+filterParam2;  
  30. +                                }  
  31.    
  32.                  // If the query consists of a single word, we can do snippetizing after-the-fact for  
  33.                  // a performance boost.  Otherwise, we can't defer.  
  34. +                  
  35. +                if(filterParam2 != null && filterParam2 != ""){  
  36. +                    snippetDeferred = isSingleWordQuery(filterParam2) && deferredSnipRequested && snippetNeeded(projection);  
  37. +                    setTablesAndProjectionMapForContactsWithSnippet(qb, uri, projection, filterParam2, directoryId,snippetDeferred);  
  38. +                    rawCursor8 = doQuery(db, qb, projection, selection, selectionArgs, localizedSortOrder, groupBy, having, limit, cancellationSignal);   
  39. +                    Log.d(TAG, "rawCursor8: "+rawCursor8.getCount());  
  40. +                        }  
  41. +                qb = new SQLiteQueryBuilder();  
  42. +                qb.setStrict(true);          
  43. +  
  44.                  snippetDeferred = isSingleWordQuery(filterParam)  
  45.                      && deferredSnipRequested && snippetNeeded(projection);  
  46.                  setTablesAndProjectionMapForContactsWithSnippet(  
  47.                          qb, uri, projection, filterParam, directoryId,  
  48.                          snippetDeferred);  
  49. -                break;  
  50. +                  
  51. +                rawCursorOrig = doQuery(db, qb, projection, selection, selectionArgs, localizedSortOrder, groupBy, having, limit, cancellationSignal);   
  52. +                        Log.d(TAG, "rawCursorOrig: "+rawCursorOrig.getCount());  
  53. +                if(rawCursor8 != null){  
  54. +                        cursors[0] = rawCursor8;  
  55. +                        cursors[1] = rawCursorOrig;}  
  56. +                        else{  
  57. +                              cursors[0] = rawCursorOrig;  
  58. +                              }  
  59. +                rawCursor = new MergeCursor(cursors);  
  60. +                    if (snippetDeferred) {  
  61. +                        rawCursor = addDeferredSnippetingExtra(rawCursor);  
  62. +                    }  
  63. +                        return rawCursor;  
  64. +                     // break;  
  65.              }  
  66.    
  67.              case CONTACTS_STREQUENT_FILTER:  
  68. @@ -6774,6 +6813,33 @@ public class ContactsProvider2 extends AbstractContactsProvider  
  69.                      boolean foundResult = false;  
  70.                      Cursor cursor = doQuery(db, qb, projectionWithNumber, selection, selectionArgs,  
  71.                              sortOrder, groupBy, null, limit, cancellationSignal);  
  72. +                    String number2 = null;  
  73. +  
  74. +                    if (cursor.getCount() <= 0){  
  75. +                        Log.d(TAG, "count is 0");  
  76. +                        if(normalizedNumber.startsWith("8")){  
  77. +                            number2 = normalizedNumber.substring(1);  
  78. +                            Log.d(TAG, "1 number2 is "+number2);  
  79. +                            number2 = "+7"+number2;  
  80. +                            Log.d(TAG, "2 number2 is "+number2);  
  81. +  
  82. +                        }else if(normalizedNumber.startsWith("+7")){  
  83. +                            number2 = normalizedNumber.substring(2);  
  84. +                            Log.d(TAG, "3 number2 is "+number2);  
  85. +                            number2 = "8"+number2;  
  86. +                            Log.d(TAG, "4 number2 is "+number2);  
  87. +                        }  
  88. +  
  89. +  
  90. +                        qb = new SQLiteQueryBuilder();  
  91. +                        mDbHelper.get().buildPhoneLookupAndContactQuery(  
  92. +                                qb, number2, numberE164);  
  93. +                        qb.setProjectionMap(sPhoneLookupProjectionMap);  
  94. +                        qb.setStrict(true);  
  95. +                        cursor = doQuery(db, qb, projectionWithNumber, selection, selectionArgs,  
  96. +                                sortOrder, groupBy, null, limit, cancellationSignal);  
  97. +                        }            
  98. +  
  99.                      try {  
  100.                          if (cursor.getCount() > 0) {  
  101.                              foundResult = true;  


(packages/providers/TelephonyProvider/src/com/android/providers/telephony/MmsSmsProvider.java)

[java]  view plain  copy
  1. diff --git a/TelephonyProvider/src/com/android/providers/telephony/MmsSmsProvider.java b/TelephonyProvider/src/com/android/providers/telephony/MmsSmsProvider.java  
  2. index b064bf0..3fb5b20 100644  
  3. --- a/TelephonyProvider/src/com/android/providers/telephony/MmsSmsProvider.java  
  4. +++ b/TelephonyProvider/src/com/android/providers/telephony/MmsSmsProvider.java  
  5. @@ -1451,9 +1451,33 @@ public class MmsSmsProvider extends ContentProvider {  
  6.                                      && (addressValue != null  
  7.                                              && addressValue.length() <= NORMAL_NUMBER_MAX_LENGTH)) {  
  8.                                  if (PhoneNumberUtils.compare(refinedAddress,  
  9. -                                        addressValue, mUseStrictPhoneNumberComparation)) {  
  10. +                                            addressValue, mUseStrictPhoneNumberComparation)) {  
  11.                                      isEqual = true;  
  12.                                      break;  
  13. +                                } else {  
  14. +  
  15. +                                    String temp_refinedAddress = null;  
  16. +                                    String temp_addressValue = null;  
  17. +                                    Log.d(LOG_TAG, "refinedAddress2:"+refinedAddress);   
  18. +                                    Log.d(LOG_TAG, "addressValue2:"+addressValue);  
  19. +                                    if((refinedAddress.startsWith("+7"))&&(addressValue.startsWith("8"))&&(refinedAddress.length()== (addressValue.length()+1)))  
  20. +                                    {  
  21. +                                        temp_refinedAddress = refinedAddress.replace("+7""8");  
  22. +                                        temp_addressValue = addressValue;  
  23. +                                    }  
  24. +                                else if((addressValue.startsWith("+7"))&&(refinedAddress.startsWith("8"))&&(addressValue.length()== (refinedAddress.length()+1)))  
  25. +                                    {  
  26. +                                        temp_refinedAddress = refinedAddress;  
  27. +                                        temp_addressValue = addressValue.replace("+7""8");  
  28. +                                    }  
  29. +                                    Log.d(LOG_TAG, "temp_refinedAddress2:"+temp_refinedAddress);  
  30. +                                    Log.d(LOG_TAG, "temp_addressValue2:"+temp_addressValue);  
  31. +                                    if(temp_refinedAddress != null&&temp_addressValue != null)  
  32. +                                    {  
  33. +                                        isEqual = PhoneNumberUtils.compare(temp_refinedAddress, temp_addressValue, mUseStrictPhoneNumberComparation);  
  34. +                                        Log.d(LOG_TAG, "isEqual2:"+isEqual);  
  35. +                                        break;  
  36. +                                    }  
  37.                                  }  
  38.                              }  
  39.                          }  


(packages/providers/TelephonyProvider/src/com/android/providers/telephony/SmsProvider.java)
[java]  view plain  copy
  1. diff --git a/TelephonyProvider/src/com/android/providers/telephony/SmsProvider.java b/TelephonyProvider/src/com/android/providers/telephony/SmsProvider.java  
  2. index 6394fd7..7050d8a 100644  
  3. --- a/TelephonyProvider/src/com/android/providers/telephony/SmsProvider.java  
  4. +++ b/TelephonyProvider/src/com/android/providers/telephony/SmsProvider.java  
  5. @@ -83,6 +83,7 @@ public class SmsProvider extends ContentProvider {  
  6.      static final String TABLE_RAW = "raw";  
  7.      private static final String TABLE_SR_PENDING = "sr_pending";  
  8.      private static final String TABLE_WORDS = "words";  
  9. +    private static final String LOG_TAG = "SmsProvider";  
  10.      static final String VIEW_SMS_RESTRICTED = "sms_restricted";  
  11.    
  12.      /// M: Code analyze 002, fix bug ALPS00046358, improve multi-delete speed by use batch  
  13. @@ -1704,6 +1705,37 @@ public class SmsProvider extends ContentProvider {  
  14.                              retVal = addressesMap.get(addressValue);  
  15.                              break;  
  16.                          }  
  17. +                        //example by mtk  
  18. +                        else  
  19. +                        {  
  20. +                            String temp_refinedAddress = null;  
  21. +                            String temp_addressValue = null;  
  22. +                            Log.d(LOG_TAG, "refinedAddress2:"+refinedAddress);  
  23. +                            Log.d(LOG_TAG, "addressValue2:"+addressValue);  
  24. +                            if((refinedAddress.startsWith("+7"))&&(addressValue.startsWith("8"))&&(refinedAddress.length()== (addressValue.length()+1)))  
  25. +                            {  
  26. +                                temp_refinedAddress = refinedAddress.replace("+7""8");  
  27. +                                temp_addressValue = addressValue;  
  28. +                            }  
  29. +                            else if((addressValue.startsWith("+7"))&&(refinedAddress.startsWith("8"))&&(addressValue.length()== (refinedAddress.length()+1)))  
  30. +                            {  
  31. +                                temp_refinedAddress = refinedAddress;  
  32. +                                temp_addressValue = addressValue.replace("+7""8");  
  33. +                            }  
  34. +                            Log.d(LOG_TAG, "temp_refinedAddress2:"+temp_refinedAddress);  
  35. +                            Log.d(LOG_TAG, "temp_addressValue2:"+temp_addressValue);  
  36. +                            if (temp_refinedAddress != null&&temp_addressValue != null)  
  37. +                            {  
  38. +                                if (PhoneNumberUtils.compare(temp_refinedAddress, temp_addressValue, useStrictPhoneNumberComparation))  
  39. +                                {  
  40. +                                        Log.d(LOG_TAG, "PhoneNumberUtils.compare return true");  
  41. +                                        retVal = addressesMap.get(addressValue);  
  42. +                                        Log.d(LOG_TAG, "retVal:"+retVal);  
  43. +                                        break;  
  44. +                                 }  
  45. +                            }  
  46. +                          }  
  47. +                         //example by mtk  
  48.                      }  
  49.                  }  
  50.              }  



五:图库型号名

(packages/apps/Gallery2/src/com/android/gallery3d/ui/DialogDetailsView.java)

[java]  view plain  copy
  1. diff --git a/src/com/android/gallery3d/ui/DialogDetailsView.java b/src/com/android/gallery3d/ui/DialogDetailsView.java  
  2. index 260cb0c..b2b5369 100755  
  3. --- a/src/com/android/gallery3d/ui/DialogDetailsView.java  
  4. +++ b/src/com/android/gallery3d/ui/DialogDetailsView.java  
  5. @@ -241,6 +241,9 @@ public class DialogDetailsView implements DetailsViewContainer {  
  6.                      case MediaDetails.INDEX_ORIENTATION:  
  7.                          value = toLocalInteger(detail.getValue());  
  8.                          break;  
  9. +                    case MediaDetails.INDEX_MODEL:  
  10. +                        value = "A239";  
  11. +                        break;  
  12.                      default: {  
  13.                          Object valueObj = detail.getValue();  
  14.                          // This shouldn't happen, log its key to help us diagnose the problem.  

六:删除这个"Transfer"选项 ,步骤-本机接通一个电话后-添加通话 -接通第2个电话后-按设置出现 Transfer选项

(packages/apps/InCallUI/src/com/android/incallui/CallButtonPresenter.java)

[java]  view plain  copy
  1. diff --git a/src/com/android/incallui/CallButtonPresenter.java b/src/com/android/incallui/CallButtonPresenter.java  
  2. index c6414a4..0eab9d5 100644  
  3. --- a/src/com/android/incallui/CallButtonPresenter.java  
  4. +++ b/src/com/android/incallui/CallButtonPresenter.java  
  5. @@ -553,8 +553,12 @@ public class CallButtonPresenter extends Presenter<CallButtonPresenter.CallButto  
  6.          ui.showButton(BUTTON_MERGE, showMerge);  
  7.    
  8.          /// M: add other feature. @{  
  9. +/*  
  10. + * TODO: replace this line with your comment 
  11.          ui.showButton(BUTTON_SET_ECT, canSetEct); 
  12.          ui.enableButton(BUTTON_SET_ECT,canSetEct); 
  13. + */  
  14.          ui.showButton(BUTTON_HANGUP_ALL_CALLS, canHangupAllCalls);  
  15.          ui.enableButton(BUTTON_HANGUP_ALL_CALLS, canHangupAllCalls);  
  16.          ui.showButton(BUTTON_HANGUP_ALL_HOLD_CALLS, canHangupAllHoldCalls);  

七:连接电脑删除 MIDI,USB storage,Built-in CD-ROM

(packages/apps/Settings/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java)

[java]  view plain  copy
  1. diff --git a/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java b/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java  
  2. index 7fad036..e517aae 100644  
  3. --- a/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java  
  4. +++ b/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java  
  5. @@ -42,11 +42,6 @@ public class UsbModeChooserActivity extends Activity {  
  6.          UsbBackend.MODE_POWER_SOURCE | UsbBackend.MODE_DATA_NONE,  
  7.          UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_MTP,  
  8.          UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_PTP,  
  9. -        UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_MIDI,  
  10. -        /// M: Add for Built-in CD-ROM and USB Mass Storage @{  
  11. -        UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_MASS_STORAGE,  
  12. -        UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_BICR  
  13. -        /// M: @}  
  14.      };  
  15.    
  16.      private UsbBackend mBackend;  

八:收到闪信不能自动亮屏幕

(vendor/)

[java]  view plain  copy
  1. diff --git a/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/transaction/MessagingNotification.java b/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/transaction/MessagingNotification.java  
  2. index fc5a80d..5ecdc61 100644  
  3. --- a/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/transaction/MessagingNotification.java  
  4. +++ b/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/transaction/MessagingNotification.java  
  5. @@ -1452,7 +1452,14 @@ public class MessagingNotification {  
  6.          nm.notify(NOTIFICATION_ID, notification);  
  7.          // add for OP  
  8. +/* 
  9. + * TODO: replace this line with your comment 
  10.          sOpMessagingNotification.onUpdateNotification(isNew); 
  11. + */  
  12. +        if(isNew){  
  13. +            wakeUpScreen(context);  
  14. +        }  
  15.      }  
  16.    
  17.      protected static CharSequence buildTickerMessage(  
  18. @@ -1883,7 +1890,12 @@ public class MessagingNotification {  
  19.      /// M: the new methods  
  20.      /// M:Code analyze 004,add for class 0 of sms types,class 0 means the sms will not be save into  
  21.      /// phone or simCard,but only show on the phone @{  
  22. +/* 
  23. + * TODO: replace this line with your comment 
  24.      public static boolean notifyClassZeroMessage(Context context, String address) { 
  25. + */  
  26. +    public static boolean notifyClassZeroMessage(Context context, String address,String body) {  
  27.          Log.d(TAG, "notifyClassZeroMessage");  
  28.          SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);  
  29.    
  30. @@ -1896,6 +1908,9 @@ public class MessagingNotification {  
  31.          NotificationManager nm = (NotificationManager)  
  32.                  context.getSystemService(Context.NOTIFICATION_SERVICE);  
  33.          Notification notification = new Notification.Builder(context)  
  34. +                .setContentTitle(address)  
  35. +                .setDefaults(Notification.DEFAULT_LIGHTS)  
  36. +                .setContentText(body)  
  37.                  .setSmallIcon(R.drawable.stat_notify_sms).build();  
  38.          String ringtoneStr = sp.getString(NotificationPreferenceActivity.NOTIFICATION_RINGTONE, null);  
  39.          ringtoneStr = MessagingNotification.checkRingtone(context, ringtoneStr);  
  40. @@ -1908,6 +1923,7 @@ public class MessagingNotification {  
  41.          notification.ledARGB = 0xff00ff00;  
  42.          notification.ledOnMS = 500;  
  43.          notification.ledOffMS = 2000;  
  44. +        wakeUpScreen(context);  
  45.          nm.notify(CLASS_ZERO_NOTIFICATION_ID, notification);  
  46.          return true;  
  47.      }  
  48. @@ -2083,7 +2099,11 @@ public class MessagingNotification {  
  49.          boolean hasInsertedHeadSet = audioManager.isWiredHeadsetOn();  
  50.          boolean headsetIsOn = isBluetoothHandsetOn(context);  
  51.          MmsLog.d(TAG, "hasInsertedHeadSet:" + hasInsertedHeadSet + "\tHeadsetIsOn:" + headsetIsOn);  
  52. +/* 
  53. + * TODO: replace this line with your comment 
  54.          if (hasInsertedHeadSet || headsetIsOn) { 
  55. + */  
  56.              PowerManager powerManager = (PowerManager) (context.getSystemService(Context.POWER_SERVICE));  
  57.              PowerManager.WakeLock wakeLock = null;  
  58.              wakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP  
  59. @@ -2104,7 +2124,11 @@ public class MessagingNotification {  
  60.                      sMuteModeToneGenerator.startTone(ToneGenerator.TONE_SUP_DIAL, MUTE_TONE_LENGTH_MS);  
  61.                  }  
  62.              }  
  63. +/* 
  64. + * TODO: replace this line with your comment 
  65.          } 
  66. + */  
  67.      }  
  68.    
  69.      /**  
  70. diff --git a/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/transaction/SmsReceiverService.java b/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/transaction/SmsReceiverService.java  
  71. index 54b76a3..d788195 100755  
  72. --- a/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/transaction/SmsReceiverService.java  
  73. +++ b/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/transaction/SmsReceiverService.java  
  74. @@ -673,7 +673,7 @@ public class SmsReceiverService extends Service implements ISmsReceiverServiceCa  
  75.              String message = messageChars.toString();  
  76.              if (!TextUtils.isEmpty(message)) {  
  77.                  MessagingNotification.notifyClassZeroMessage(this, msgs[0]  
  78. -                        .getOriginatingAddress());  
  79. +                        .getOriginatingAddress(),messageChars.toString());  
  80.              }  
  81.          }  
  82.          /// @}  


九:Message存储限制,短信限制必须是500。多媒体消息限制必须是50

(vendor/)

[java]  view plain  copy
  1. diff --git a/mediatek/proprietary/packages/apps/Mms/res/xml/mms_config.xml b/mediatek/proprietary/packages/apps/Mms/res/xml/mms_config.xml  
  2. index 3e87525..44ecb0f 100644  
  3. --- a/mediatek/proprietary/packages/apps/Mms/res/xml/mms_config.xml  
  4. +++ b/mediatek/proprietary/packages/apps/Mms/res/xml/mms_config.xml  
  5. @@ -36,11 +36,11 @@  
  6.    
  7.      <!-- Maximum number of SMS message to save per thread before auto-delete kicks in.  
  8.           This is the default value. -->  
  9. -    <int name="defaultSMSMessagesPerThread">10000</int>  
  10. +    <int name="defaultSMSMessagesPerThread">500</int>  
  11.    
  12.      <!-- Maximum number of MMS message to save per thread before auto-delete kicks in.  
  13.           This is the default value. -->  
  14. -    <int name="defaultMMSMessagesPerThread">1000</int>  
  15. +    <int name="defaultMMSMessagesPerThread">50</int>  
  16.    
  17.      <!-- Minimum value for the number of messages kept per conversation. The user can never  
  18.           set the limit below this value. -->  
  19. diff --git a/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/MmsConfig.java b/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/MmsConfig.java  
  20. index 5142ff5..21a5788 100755  
  21. --- a/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/MmsConfig.java  
  22. +++ b/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/MmsConfig.java  
  23. @@ -105,8 +105,8 @@ public class MmsConfig {  
  24.      private static int mMaxImageHeight = MAX_IMAGE_HEIGHT;      // default value  
  25.      private static int mMaxImageWidth = MAX_IMAGE_WIDTH;        // default value  
  26.      private static int mRecipientLimit = Integer.MAX_VALUE;     // default value  
  27. -    private static int mDefaultSMSMessagesPerThread = 10000;    // default value  
  28. -    private static int mDefaultMMSMessagesPerThread = 1000;     // default value  
  29. +    private static int mDefaultSMSMessagesPerThread = 500;    // default value  
  30. +    private static int mDefaultMMSMessagesPerThread = 50;     // default value  
  31.      private static int mMinMessageCountPerThread = 2;           // default value  
  32.      private static int mMaxMessageCountPerThread = 10000;        // default value  
  33.      private static int mMinimumSlideElementDuration = 7;        // default to 7 sec  
  34. diff --git a/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/setting/GeneralPreferenceActivity.java b/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/setting/GeneralPreferenceActivity.java  
  35. index 4d12a2f..9596e15 100755  
  36. --- a/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/setting/GeneralPreferenceActivity.java  
  37. +++ b/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/setting/GeneralPreferenceActivity.java  
  38. @@ -199,9 +199,9 @@ public class GeneralPreferenceActivity extends PreferenceActivity  
  39.    
  40.      private static final int PICK_PHOTO = 4;  
  41.    
  42. -    private static final int MMS_SIZE_LIMIT_DEFAULT = 1000;  
  43. +    private static final int MMS_SIZE_LIMIT_DEFAULT = 50;  
  44.    
  45. -    private static final int SMS_SIZE_LIMIT_DEFAULT = 10000;  
  46. +    private static final int SMS_SIZE_LIMIT_DEFAULT = 500;  
  47.    /// M: fix bug ALPS01523754.set google+ pic as wallpaper.@{  
  48.      private AsyncDialog mAsyncDialog;  
  49.  /// @}  


十:Messaging -> Settings -> Multimedia Message(MMS) -> Group messaging Need to turn on by default. 群组信息默认勾选

(vendor/mediatek/proprietary/packages/apps/Mms/res/xml/preferences.xml

[java]  view plain  copy
  1. diff --git a/mediatek/proprietary/packages/apps/Mms/res/xml/preferences.xml b/mediatek/proprietary/packages/apps/Mms/res/xml/preferences.xml  
  2. index 0017a83..6d66fb4 100644  
  3. --- a/mediatek/proprietary/packages/apps/Mms/res/xml/preferences.xml  
  4. +++ b/mediatek/proprietary/packages/apps/Mms/res/xml/preferences.xml  
  5. @@ -88,7 +88,7 @@  
  6.    </PreferenceCategory>  
  7.    <PreferenceCategory android:title="@string/pref_mms_settings_title"  
  8.                        android:key="pref_key_mms_settings">  
  9. -    <CheckBoxPreference android:defaultValue="false"  
  10. +    <CheckBoxPreference android:defaultValue="true"  
  11.                        android:key="pref_key_mms_group_mms"  
  12.                        android:summary="@string/pref_summary_mms_group_mms"  
  13.                        android:title="@string/pref_title_mms_group_mms" />  
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值