Program: 8815
Project: 8815
Buggy source:
public void handleActionAdd(Notification notification,String packageName,String tag,int id,String key,Context context,String src){
  SharedPreferences preferences=PreferenceManager.getDefaultSharedPreferences(context);
  Mlog.d(logTag,packageName);
  try {
    final Set<String> packageBlacklist=(Set<String>)ObjectSerializer.deserialize(preferences.getString("String_Node_Str","String_Node_Str"));
    if (packageBlacklist != null) {
      final boolean isBlacklistInverted=preferences.getBoolean("String_Node_Str",false);
      final boolean contains=packageBlacklist.contains(packageName);
      if (!isBlacklistInverted && contains)       return;
 else       if (isBlacklistInverted && !contains)       return;
    }
  }
 catch (  IOException e) {
    e.printStackTrace();
    Toast.makeText(context.getApplicationContext(),"String_Node_Str" + e.getMessage(),Toast.LENGTH_LONG).show();
  }
catch (  ClassCastException e) {
    e.printStackTrace();
    Toast.makeText(context.getApplicationContext(),"String_Node_Str" + e.getMessage(),Toast.LENGTH_LONG).show();
  }
catch (  ClassNotFoundException e) {
    e.printStackTrace();
    Toast.makeText(context.getApplicationContext(),"String_Node_Str" + e.getMessage(),Toast.LENGTH_LONG).show();
  }
  if (Build.VERSION.SDK_INT >= 16) {
    Set<String> priority_settings=preferences.getStringSet("String_Node_Str",null);
    if (priority_settings != null) {
      if (!priority_settings.contains(String.valueOf(notification.priority))) {
        return;
      }
    }
  }
  String title=null;
  String text=null;
  if (Build.VERSION.SDK_INT >= 21) {
    for (    String extraKey : notification.extras.keySet()) {
      Mlog.d(logTag,extraKey + "String_Node_Str" + notification.extras.get(extraKey));
    }
    try {
      title=notification.extras.get("String_Node_Str").toString();
    }
 catch (    Exception ignored) {
    }
    text=notification.extras.get("String_Node_Str").toString();
    String bigText=null;
    try {
      bigText=notification.extras.get("String_Node_Str").toString();
    }
 catch (    Exception ignored) {
    }
    if (bigText != null && bigText.length() > 3) {
      text=bigText;
    }
  }
 else {
    List<String> texts=null;
    try {
      texts=getText(notification);
    }
 catch (    Exception e) {
      e.printStackTrace();
    }
    if (texts == null) {
      return;
    }
    if (texts.size() > 1) {
      Mlog.d(logTag,texts.toString());
      text=texts.get(1);
    }
    if (text == null)     text=String.valueOf(notification.tickerText);
    if (texts.size() == 0)     texts.add(text);
    if (text == null || text.equals("String_Node_Str"))     return;
    title=texts.get(0);
    if (Build.VERSION.SDK_INT >= 16) {
      if (notification.bigContentView != null) {
        try {
          Mlog.d(logTag,"String_Node_Str");
          final String fullContent=fullContent(notification,context,texts,text);
          if (fullContent != null)           text=fullContent;
        }
 catch (        Resources.NotFoundException ignored) {
        }
catch (        RuntimeException rte) {
          try {
            Looper.prepareMainLooper();
          }
 catch (          IllegalStateException ilse) {
            try {
              fullContent(notification,context,texts,text);
              final String fullContent=fullContent(notification,context,texts,text);
              if (fullContent != null)               text=fullContent;
            }
 catch (            Exception ignored) {
            }
          }
        }
      }
    }
  }
  Intent intent=new Intent();
  intent.setAction(ACTION_ADD);
  if ("String_Node_Str".equals(src))   intent.setClass(context,OverlayService.class);
 else   intent.setClass(context,OverlayServiceCommon.class);
  Mlog.d(title,text);
  intent.putExtra("String_Node_Str",packageName);
  intent.putExtra("String_Node_Str",title);
  intent.putExtra("String_Node_Str",text);
  intent.putExtra("String_Node_Str",notification.contentIntent);
  if (Build.VERSION.SDK_INT >= 11)   intent.putExtra("String_Node_Str",notification.largeIcon);
  intent.putExtra("String_Node_Str",notification.icon);
  if (Build.VERSION.SDK_INT >= 21)   intent.putExtra("String_Node_Str",notification.color);
 else   if (Build.VERSION.SDK_INT >= 19)   intent.putExtra("String_Node_Str",notification.extras.getInt("String_Node_Str"));
  intent.putExtra("String_Node_Str",tag);
  intent.putExtra("String_Node_Str",id);
  intent.putExtra("String_Node_Str",key);
  if (Build.VERSION.SDK_INT >= 19) {
    try {
      Notification.Action[] actions=notification.actions;
      if (actions != null) {
        intent.putExtra("String_Node_Str",actions.length);
        Mlog.d(logTag,String.valueOf(actions.length));
        int i=actions.length;
        for (        Notification.Action action : actions) {
          if (i < 0)           break;
          Mlog.d(logTag,action.title);
          intent.putExtra("String_Node_Str" + i + "String_Node_Str",action.icon);
          intent.putExtra("String_Node_Str" + i + "String_Node_Str",action.title);
          intent.putExtra("String_Node_Str" + i + "String_Node_Str",action.actionIntent);
          i--;
        }
      }
    }
 catch (    IllegalAccessError iae) {
      Mlog.e(logTag,iae.getMessage());
    }
catch (    Exception e) {
      try {
        String report=e.getMessage();
        Writer writer=new StringWriter();
        PrintWriter printWriter=new PrintWriter(writer);
        e.printStackTrace(printWriter);
        report=report.concat(writer.toString());
        if (preferences != null) {
          SharedPreferences.Editor editor=preferences.edit();
          editor.putString("String_Node_Str",report);
          editor.putString("String_Node_Str",ObjectSerializer.serialize(e));
          editor.apply();
        }
      }
 catch (      Exception e1) {
        e1.printStackTrace();
      }
    }
  }
  if (preferences != null && preferences.getBoolean("String_Node_Str",false)) {
    Mlog.d(logTag,"String_Node_Str");
    final Intent broadcastIntent=new Intent(ACTION_ADD).putExtras(intent.getExtras());
    if (Build.VERSION.SDK_INT >= 16)     broadcastIntent.putExtra("String_Node_Str",notification.priority);
    context.sendBroadcast(broadcastIntent,"String_Node_Str");
  }
  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK + Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS + Intent.FLAG_ACTIVITY_NO_ANIMATION);
  context.startService(intent);
}

Fixed version (ground truth):
public void handleActionAdd(Notification notification,String packageName,String tag,int id,String key,Context context,String src){
  SharedPreferences preferences=PreferenceManager.getDefaultSharedPreferences(context);
  Mlog.d(logTag,packageName);
  try {
    final Set<String> packageBlacklist=(Set<String>)ObjectSerializer.deserialize(preferences.getString("String_Node_Str","String_Node_Str"));
    if (packageBlacklist != null) {
      final boolean isBlacklistInverted=preferences.getBoolean("String_Node_Str",false);
      final boolean contains=packageBlacklist.contains(packageName);
      if (!isBlacklistInverted && contains)       return;
 else       if (isBlacklistInverted && !contains)       return;
    }
  }
 catch (  IOException e) {
    e.printStackTrace();
    Toast.makeText(context.getApplicationContext(),"String_Node_Str" + e.getMessage(),Toast.LENGTH_LONG).show();
  }
catch (  ClassCastException e) {
    e.printStackTrace();
    Toast.makeText(context.getApplicationContext(),"String_Node_Str" + e.getMessage(),Toast.LENGTH_LONG).show();
  }
catch (  ClassNotFoundException e) {
    e.printStackTrace();
    Toast.makeText(context.getApplicationContext(),"String_Node_Str" + e.getMessage(),Toast.LENGTH_LONG).show();
  }
  if (Build.VERSION.SDK_INT >= 16) {
    Set<String> priority_settings=preferences.getStringSet("String_Node_Str",null);
    if (priority_settings != null) {
      if (!priority_settings.contains(String.valueOf(notification.priority))) {
        return;
      }
    }
  }
  String title=null;
  String text=null;
  if (Build.VERSION.SDK_INT >= 21) {
    try {
      title=notification.extras.get("String_Node_Str").toString();
    }
 catch (    Exception ignored) {
    }
    text=notification.extras.get("String_Node_Str").toString();
    String bigText=null;
    try {
      bigText=notification.extras.get("String_Node_Str").toString();
    }
 catch (    Exception ignored) {
    }
    if (bigText != null && bigText.length() > 3) {
      text=bigText;
    }
  }
 else {
    List<String> texts=null;
    try {
      texts=getText(notification);
    }
 catch (    Exception e) {
      e.printStackTrace();
    }
    if (texts == null) {
      return;
    }
    if (texts.size() > 1) {
      Mlog.d(logTag,texts.toString());
      text=texts.get(1);
    }
    if (text == null)     text=String.valueOf(notification.tickerText);
    if (texts.size() == 0)     texts.add(text);
    if (text == null || text.equals("String_Node_Str"))     return;
    title=texts.get(0);
    if (Build.VERSION.SDK_INT >= 16) {
      if (notification.bigContentView != null) {
        try {
          Mlog.d(logTag,"String_Node_Str");
          final String fullContent=fullContent(notification,context,texts,text);
          if (fullContent != null)           text=fullContent;
        }
 catch (        Resources.NotFoundException ignored) {
        }
catch (        RuntimeException rte) {
          try {
            Looper.prepareMainLooper();
          }
 catch (          IllegalStateException ilse) {
            try {
              fullContent(notification,context,texts,text);
              final String fullContent=fullContent(notification,context,texts,text);
              if (fullContent != null)               text=fullContent;
            }
 catch (            Exception ignored) {
            }
          }
        }
      }
    }
  }
  Intent intent=new Intent();
  intent.setAction(ACTION_ADD);
  if ("String_Node_Str".equals(src))   intent.setClass(context,OverlayService.class);
 else   intent.setClass(context,OverlayServiceCommon.class);
  Mlog.d(title,text);
  intent.putExtra("String_Node_Str",packageName);
  intent.putExtra("String_Node_Str",title);
  intent.putExtra("String_Node_Str",text);
  intent.putExtra("String_Node_Str",notification.contentIntent);
  if (Build.VERSION.SDK_INT >= 11)   intent.putExtra("String_Node_Str",notification.largeIcon);
  intent.putExtra("String_Node_Str",notification.icon);
  if (Build.VERSION.SDK_INT >= 21)   intent.putExtra("String_Node_Str",notification.color);
 else   if (Build.VERSION.SDK_INT >= 19)   intent.putExtra("String_Node_Str",notification.extras.getInt("String_Node_Str"));
  intent.putExtra("String_Node_Str",tag);
  intent.putExtra("String_Node_Str",id);
  intent.putExtra("String_Node_Str",key);
  if (Build.VERSION.SDK_INT >= 19) {
    try {
      Notification.Action[] actions=notification.actions;
      if (actions != null) {
        intent.putExtra("String_Node_Str",actions.length);
        Mlog.d(logTag,String.valueOf(actions.length));
        int i=actions.length;
        for (        Notification.Action action : actions) {
          if (i < 0)           break;
          Mlog.d(logTag,action.title);
          intent.putExtra("String_Node_Str" + i + "String_Node_Str",action.icon);
          intent.putExtra("String_Node_Str" + i + "String_Node_Str",action.title);
          intent.putExtra("String_Node_Str" + i + "String_Node_Str",action.actionIntent);
          i--;
        }
      }
    }
 catch (    IllegalAccessError iae) {
      Mlog.e(logTag,iae.getMessage());
    }
catch (    Exception e) {
      try {
        String report=e.getMessage();
        Writer writer=new StringWriter();
        PrintWriter printWriter=new PrintWriter(writer);
        e.printStackTrace(printWriter);
        report=report.concat(writer.toString());
        if (preferences != null) {
          SharedPreferences.Editor editor=preferences.edit();
          editor.putString("String_Node_Str",report);
          editor.putString("String_Node_Str",ObjectSerializer.serialize(e));
          editor.apply();
        }
      }
 catch (      Exception e1) {
        e1.printStackTrace();
      }
    }
  }
  if (preferences != null && preferences.getBoolean("String_Node_Str",false)) {
    Mlog.d(logTag,"String_Node_Str");
    final Intent broadcastIntent=new Intent(ACTION_ADD).putExtras(intent.getExtras());
    if (Build.VERSION.SDK_INT >= 16)     broadcastIntent.putExtra("String_Node_Str",notification.priority);
    context.sendBroadcast(broadcastIntent,"String_Node_Str");
  }
  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK + Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS + Intent.FLAG_ACTIVITY_NO_ANIMATION);
  context.startService(intent);
}