Program: 27280
Project: 27280
Buggy source:
@SuppressWarnings("String_Node_Str") public BottomSheet(Context context,int theme){
  super(context,theme);
  TypedArray a=getContext().obtainStyledAttributes(null,R.styleable.BottomSheet,R.attr.bottomSheetStyle,0);
  try {
    more=a.getDrawable(R.styleable.BottomSheet_bs_moreDrawable);
    close=a.getDrawable(R.styleable.BottomSheet_bs_closeDrawable);
    moreText=a.getString(R.styleable.BottomSheet_bs_moreText);
    collapseListIcons=a.getBoolean(R.styleable.BottomSheet_bs_collapseListIcons,true);
  }
  finally {
    a.recycle();
  }
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    WindowManager wm=(WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
    mInPortrait=(context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT);
    try {
      Class c=Class.forName("String_Node_Str");
      Method m=c.getDeclaredMethod("String_Node_Str",String.class);
      m.setAccessible(true);
      sNavBarOverride=(String)m.invoke(null,"String_Node_Str");
    }
 catch (    Throwable e) {
      sNavBarOverride=null;
    }
    int[] as={android.R.attr.windowTranslucentStatus,android.R.attr.windowTranslucentNavigation};
    a=context.obtainStyledAttributes(as);
    try {
      mStatusBarAvailable=a.getBoolean(0,false);
      mNavBarAvailable=a.getBoolean(1,false);
    }
  finally {
      a.recycle();
    }
    WindowManager.LayoutParams winParams=((Activity)context).getWindow().getAttributes();
    int bits=WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION;
    if ((winParams.flags & bits) != 0) {
      mNavBarAvailable=true;
    }
    bits=WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
    if ((winParams.flags & bits) != 0) {
      mStatusBarAvailable=true;
    }
    mSmallestWidthDp=getSmallestWidthDp(wm);
    if (mNavBarAvailable)     setTranslucentStatus(true);
    mStatusBarHeight=getInternalDimensionSize(context.getResources(),STATUS_BAR_HEIGHT_RES_NAME);
  }
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") public BottomSheet(Context context,int theme){
  super(context,theme);
  TypedArray a=getContext().obtainStyledAttributes(null,R.styleable.BottomSheet,R.attr.bottomSheetStyle,0);
  try {
    more=a.getDrawable(R.styleable.BottomSheet_bs_moreDrawable);
    close=a.getDrawable(R.styleable.BottomSheet_bs_closeDrawable);
    moreText=a.getString(R.styleable.BottomSheet_bs_moreText);
    collapseListIcons=a.getBoolean(R.styleable.BottomSheet_bs_collapseListIcons,true);
  }
  finally {
    a.recycle();
  }
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    WindowManager wm=(WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
    mInPortrait=(context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT);
    try {
      Class c=Class.forName("String_Node_Str");
      Method m=c.getDeclaredMethod("String_Node_Str",String.class);
      m.setAccessible(true);
      sNavBarOverride=(String)m.invoke(null,"String_Node_Str");
    }
 catch (    Throwable e) {
      sNavBarOverride=null;
    }
    int[] as={android.R.attr.windowTranslucentNavigation};
    a=context.obtainStyledAttributes(as);
    try {
      mNavBarAvailable=a.getBoolean(0,false);
    }
  finally {
      a.recycle();
    }
    WindowManager.LayoutParams winParams=((Activity)context).getWindow().getAttributes();
    int bits=WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION;
    if ((winParams.flags & bits) != 0) {
      mNavBarAvailable=true;
    }
    mSmallestWidthDp=getSmallestWidthDp(wm);
    if (mNavBarAvailable)     setTranslucentStatus(true);
    mStatusBarHeight=getInternalDimensionSize(context.getResources(),STATUS_BAR_HEIGHT_RES_NAME);
  }
}