Program: 143820
Project: 143820
Buggy source:
@Override public void onCreate(){
  Log.v(SERVICE_TAG,"String_Node_Str");
  context=getApplicationContext();
  Global.conversationsList.clear();
  getConversationsList2();
  smsReceiver=new SmsReceiver(){
    @Override public void customReceivedSMS(){
      Toast.makeText(context,"String_Node_Str" + new_name,Toast.LENGTH_LONG).show();
      if (activ_notif) {
        Intent notificationIntent=new Intent(context,MainLheidoSMS.class);
        PendingIntent pIntent=PendingIntent.getActivity(context,0,notificationIntent,0);
        showNotification(body,new_name,phone,pIntent);
      }
      playNotificationSound();
      if (vibrate)       v.vibrate(1000);
      moveConversationOnTop(phone,true);
      LheidoUtils.Send.receiveNewMessage(context);
    }
    @Override public void customReceivedMMS(){
      if (activ_notif) {
        Intent notificationIntent=new Intent(context,MainLheidoSMS.class);
        PendingIntent pIntent=PendingIntent.getActivity(context,0,notificationIntent,0);
        showNotification("String_Node_Str",new_name,phone,pIntent);
      }
    }
    @Override public void customNewMessageRead(    int position,    String phone){
      cancelNotif(phone);
      int i=0;
      int size=Global.conversationsList.size();
      while (i < size && !PhoneNumberUtils.compare(Global.conversationsList.get(i).getPhone(),phone)) {
        i++;
      }
      if (i < size && PhoneNumberUtils.compare(Global.conversationsList.get(i).getPhone(),phone)) {
        Global.conversationsList.get(i).markNewMessage(false);
      }
      LheidoUtils.Send.notifyDataChanged(context);
    }
    @Override public void customDelivered(    long id){
      Toast.makeText(context,"String_Node_Str",Toast.LENGTH_SHORT).show();
      if (userPref.getBoolean("String_Node_Str",true)) {
        long[] pattern={0,100,100,100,100,100,100,100};
        v.vibrate(pattern,-1);
      }
    }
  }
;
  IntentFilter filter=new IntentFilter();
  filter.addAction(LheidoUtils.ACTION_RECEIVE_SMS);
  filter.addAction(LheidoUtils.ACTION_RECEIVE_MMS);
  filter.addAction(LheidoUtils.ACTION_SENT_SMS);
  filter.addAction(LheidoUtils.ACTION_DELIVERED_SMS);
  filter.addAction(LheidoUtils.ACTION_NEW_MESSAGE_READ);
  filter.setPriority(2000);
  getApplication().registerReceiver(smsReceiver,filter);
  mBroadcast=new BroadcastReceiver(){
    @Override public void onReceive(    Context context,    Intent intent){
      String iAction=intent.getAction();
      if (iAction.equals(LheidoUtils.ACTION_USER_NEW_MESSAGE)) {
        String phone=intent.getStringExtra("String_Node_Str");
        moveConversationOnTop(phone,false);
        LheidoUtils.Send.receiveNewMessage(context);
      }
    }
  }
;
  IntentFilter filter2=new IntentFilter();
  filter2.addAction(LheidoUtils.ACTION_USER_NEW_MESSAGE);
  filter2.setPriority(2000);
  getApplication().registerReceiver(mBroadcast,filter2);
  super.onCreate();
}

Fixed version (ground truth):
@Override public void onCreate(){
  Log.v(SERVICE_TAG,"String_Node_Str");
  context=getApplicationContext();
  Global.conversationsList.clear();
  getConversationsList2();
  smsReceiver=new SmsReceiver(){
    @Override public void customReceivedSMS(){
      Toast.makeText(context,"String_Node_Str" + new_name,Toast.LENGTH_LONG).show();
      if (activ_notif) {
        Intent notificationIntent=new Intent(context,MainLheidoSMS.class);
        PendingIntent pIntent=PendingIntent.getActivity(context,0,notificationIntent,0);
        showNotification(body,new_name,phone,pIntent);
      }
      playNotificationSound();
      moveConversationOnTop(phone,true);
      LheidoUtils.Send.receiveNewMessage(context);
    }
    @Override public void customReceivedMMS(){
      if (activ_notif) {
        Intent notificationIntent=new Intent(context,MainLheidoSMS.class);
        PendingIntent pIntent=PendingIntent.getActivity(context,0,notificationIntent,0);
        showNotification("String_Node_Str",new_name,phone,pIntent);
      }
    }
    @Override public void customNewMessageRead(    int position,    String phone){
      cancelNotif(phone);
      int i=0;
      int size=Global.conversationsList.size();
      while (i < size && !PhoneNumberUtils.compare(Global.conversationsList.get(i).getPhone(),phone)) {
        i++;
      }
      if (i < size && PhoneNumberUtils.compare(Global.conversationsList.get(i).getPhone(),phone)) {
        Global.conversationsList.get(i).markNewMessage(false);
      }
      LheidoUtils.Send.notifyDataChanged(context);
    }
    @Override public void customDelivered(    long id){
      Toast.makeText(context,"String_Node_Str",Toast.LENGTH_SHORT).show();
      if (userPref.getBoolean("String_Node_Str",true)) {
        try {
          long[] pattern={0,100,100,100,100,100,100,100};
          v.vibrate(pattern,-1);
        }
 catch (        Exception e) {
          Toast.makeText(context,e.getMessage(),Toast.LENGTH_LONG).show();
        }
      }
    }
  }
;
  IntentFilter filter=new IntentFilter();
  filter.addAction(LheidoUtils.ACTION_RECEIVE_SMS);
  filter.addAction(LheidoUtils.ACTION_RECEIVE_MMS);
  filter.addAction(LheidoUtils.ACTION_SENT_SMS);
  filter.addAction(LheidoUtils.ACTION_DELIVERED_SMS);
  filter.addAction(LheidoUtils.ACTION_NEW_MESSAGE_READ);
  filter.setPriority(2000);
  getApplication().registerReceiver(smsReceiver,filter);
  mBroadcast=new BroadcastReceiver(){
    @Override public void onReceive(    Context context,    Intent intent){
      String iAction=intent.getAction();
      if (iAction.equals(LheidoUtils.ACTION_USER_NEW_MESSAGE)) {
        String phone=intent.getStringExtra("String_Node_Str");
        moveConversationOnTop(phone,false);
        LheidoUtils.Send.receiveNewMessage(context);
      }
    }
  }
;
  IntentFilter filter2=new IntentFilter();
  filter2.addAction(LheidoUtils.ACTION_USER_NEW_MESSAGE);
  filter2.addAction(LheidoUtils.ACTION_CANCEL_VIBRATOR);
  filter2.setPriority(2000);
  getApplication().registerReceiver(mBroadcast,filter2);
  super.onCreate();
}