Program: 92757
Project: 92757
Buggy source:
@Override public void callActivityOnCreate(Activity activity,Bundle icicle){
  lookupActivityInPlugin(activity);
  if (currentPlugin != null) {
    Context baseContext=activity.getBaseContext();
    PluginContext pluginContext=new PluginContext(baseContext,currentPlugin);
    try {
      try {
        Reflect.on(activity).set("String_Node_Str",pluginContext.getResources());
      }
 catch (      Throwable ignored) {
      }
      Field field=ContextWrapper.class.getDeclaredField("String_Node_Str");
      field.setAccessible(true);
      field.set(activity,pluginContext);
      Reflect.on(activity).set("String_Node_Str",currentPlugin.getApplication());
    }
 catch (    Throwable e) {
      e.printStackTrace();
    }
    ActivityInfo activityInfo=currentPlugin.findActivityByClassName(activity.getClass().getName());
    if (activityInfo != null) {
      int resTheme=activityInfo.getThemeResource();
      if (resTheme != 0) {
        boolean hasNotSetTheme=true;
        try {
          Field mTheme=ContextThemeWrapper.class.getDeclaredField("String_Node_Str");
          mTheme.setAccessible(true);
          hasNotSetTheme=mTheme.get(activity) == null;
        }
 catch (        Exception e) {
          e.printStackTrace();
        }
        if (hasNotSetTheme) {
          changeActivityInfo(activityInfo,activity);
          activity.setTheme(resTheme);
        }
      }
    }
    if (android.os.Build.MODEL.startsWith("String_Node_Str")) {
      Window window=activity.getWindow();
      Reflect windowRef=Reflect.on(window);
      try {
        LayoutInflater originInflater=window.getLayoutInflater();
        if (!(originInflater instanceof LayoutInflaterWrapper)) {
          windowRef.set("String_Node_Str",new LayoutInflaterWrapper(originInflater));
        }
      }
 catch (      Throwable e) {
        e.printStackTrace();
      }
    }
  }
  super.callActivityOnCreate(activity,icicle);
}

Fixed version (ground truth):
@Override public void callActivityOnCreate(Activity activity,Bundle icicle){
  lookupActivityInPlugin(activity);
  if (currentPlugin != null) {
    Context baseContext=activity.getBaseContext();
    PluginContext pluginContext=new PluginContext(baseContext,currentPlugin);
    try {
      try {
        Reflect.on(activity).set("String_Node_Str",pluginContext.getResources());
      }
 catch (      Throwable ignored) {
      }
      Field field=ContextWrapper.class.getDeclaredField("String_Node_Str");
      field.setAccessible(true);
      field.set(activity,pluginContext);
      try {
        Reflect.on(activity).set("String_Node_Str",currentPlugin.getApplication());
      }
 catch (      ReflectException e) {
        Trace.store("String_Node_Str" + activity);
      }
    }
 catch (    Throwable e) {
      e.printStackTrace();
    }
    ActivityInfo activityInfo=currentPlugin.findActivityByClassName(activity.getClass().getName());
    if (activityInfo != null) {
      int resTheme=activityInfo.getThemeResource();
      if (resTheme != 0) {
        boolean hasNotSetTheme=true;
        try {
          Field mTheme=ContextThemeWrapper.class.getDeclaredField("String_Node_Str");
          mTheme.setAccessible(true);
          hasNotSetTheme=mTheme.get(activity) == null;
        }
 catch (        Exception e) {
          e.printStackTrace();
        }
        if (hasNotSetTheme) {
          changeActivityInfo(activityInfo,activity);
          activity.setTheme(resTheme);
        }
      }
    }
    if (android.os.Build.MODEL.startsWith("String_Node_Str")) {
      Window window=activity.getWindow();
      Reflect windowRef=Reflect.on(window);
      try {
        LayoutInflater originInflater=window.getLayoutInflater();
        if (!(originInflater instanceof LayoutInflaterWrapper)) {
          windowRef.set("String_Node_Str",new LayoutInflaterWrapper(originInflater));
        }
      }
 catch (      Throwable e) {
        e.printStackTrace();
      }
    }
  }
  super.callActivityOnCreate(activity,icicle);
}