Program: 117657
Project: 117657
Buggy source:
@SuppressWarnings("String_Node_Str") public LightningView(Activity activity,String url){
  mActivity=activity;
  mWebView=new WebView(activity);
  mAdBlock=new AdBlock(activity);
  mTitle=new Title(activity);
  activity.getPackageName();
  mWebpageBitmap=BitmapFactory.decodeResource(activity.getResources(),R.drawable.ic_webpage);
  try {
    mBrowserController=(BrowserController)activity;
  }
 catch (  ClassCastException e) {
    throw new ClassCastException(activity.toString() + "String_Node_Str");
  }
  mIntentUtils=new IntentUtils(mBrowserController);
  mWebView.setDrawingCacheBackgroundColor(0x00000000);
  mWebView.setFocusableInTouchMode(true);
  mWebView.setFocusable(true);
  mWebView.setAnimationCacheEnabled(false);
  mWebView.setDrawingCacheEnabled(true);
  mWebView.setBackgroundColor(activity.getResources().getColor(android.R.color.white));
  if (API > 15) {
    mWebView.getRootView().setBackground(null);
  }
 else {
    mWebView.getRootView().setBackgroundDrawable(null);
  }
  mWebView.setWillNotCacheDrawing(false);
  mWebView.setAlwaysDrawnWithCacheEnabled(true);
  mWebView.setScrollbarFadingEnabled(true);
  mWebView.setSaveEnabled(true);
  mWebView.setWebChromeClient(new LightningChromeClient(activity));
  mWebView.setWebViewClient(new LightningWebClient(activity));
  mWebView.setDownloadListener(new LightningDownloadListener(activity));
  mGestureDetector=new GestureDetector(activity,new CustomGestureListener());
  mWebView.setOnTouchListener(new OnTouchListener(){
    float mLocation=0;
    float mY=0;
    int mAction=0;
    @SuppressLint("String_Node_Str") @Override public boolean onTouch(    View view,    MotionEvent arg1){
      if (view != null && !view.hasFocus()) {
        view.requestFocus();
      }
      mAction=arg1.getAction();
      mY=arg1.getY();
      if (mAction == MotionEvent.ACTION_DOWN) {
        mLocation=mY;
      }
 else       if (mAction == MotionEvent.ACTION_UP) {
        if ((mY - mLocation) > 10) {
          if (mWebView.getScrollY() < 5 && mBrowserController.isActionBarShown()) {
            mBrowserController.hideActionBar();
          }
 else {
            mBrowserController.showActionBar();
          }
        }
 else         if ((mY - mLocation) < -10) {
          mBrowserController.hideActionBar();
        }
        mLocation=0;
      }
      mGestureDetector.onTouchEvent(arg1);
      return false;
    }
  }
);
  mDefaultUserAgent=mWebView.getSettings().getUserAgentString();
  mSettings=mWebView.getSettings();
  initializeSettings(mWebView.getSettings(),activity);
  initializePreferences(activity);
  if (url != null && !url.trim().isEmpty()) {
    mWebView.loadUrl(url);
  }
 else {
    if (mHomepage.startsWith("String_Node_Str")) {
      mSettings.setUseWideViewPort(false);
      mWebView.loadUrl(getHomepage());
    }
 else     if (mHomepage.startsWith("String_Node_Str")) {
      mBrowserController.openBookmarkPage(mWebView);
    }
 else {
      mWebView.loadUrl(mHomepage);
    }
  }
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") public LightningView(Activity activity,String url){
  mActivity=activity;
  mWebView=new WebView(activity);
  mAdBlock=new AdBlock(activity);
  mTitle=new Title(activity);
  activity.getPackageName();
  mWebpageBitmap=BitmapFactory.decodeResource(activity.getResources(),R.drawable.ic_webpage);
  try {
    mBrowserController=(BrowserController)activity;
  }
 catch (  ClassCastException e) {
    throw new ClassCastException(activity.toString() + "String_Node_Str");
  }
  mIntentUtils=new IntentUtils(mBrowserController);
  mWebView.setDrawingCacheBackgroundColor(0x00000000);
  mWebView.setFocusableInTouchMode(true);
  mWebView.setFocusable(true);
  mWebView.setAnimationCacheEnabled(false);
  mWebView.setDrawingCacheEnabled(true);
  mWebView.setBackgroundColor(activity.getResources().getColor(android.R.color.white));
  if (API > 15) {
    mWebView.getRootView().setBackground(null);
  }
 else {
    mWebView.getRootView().setBackgroundDrawable(null);
  }
  mWebView.setWillNotCacheDrawing(false);
  mWebView.setAlwaysDrawnWithCacheEnabled(true);
  mWebView.setScrollbarFadingEnabled(true);
  mWebView.setSaveEnabled(true);
  mWebView.setWebChromeClient(new LightningChromeClient(activity));
  mWebView.setWebViewClient(new LightningWebClient(activity));
  mWebView.setDownloadListener(new LightningDownloadListener(activity));
  mGestureDetector=new GestureDetector(activity,new CustomGestureListener());
  mWebView.setOnTouchListener(new OnTouchListener(){
    float mLocation=0;
    float mY=0;
    int mAction=0;
    @SuppressLint("String_Node_Str") @Override public boolean onTouch(    View view,    MotionEvent arg1){
      if (view != null && !view.hasFocus()) {
        view.requestFocus();
      }
      mAction=arg1.getAction();
      mY=arg1.getY();
      if (mAction == MotionEvent.ACTION_DOWN) {
        mLocation=mY;
      }
 else       if (mAction == MotionEvent.ACTION_UP) {
        if ((mY - mLocation) > 10) {
          if (mWebView.getScrollY() < 5 && mBrowserController.isActionBarShown()) {
            mBrowserController.hideActionBar();
          }
 else {
            mBrowserController.showActionBar();
          }
        }
 else         if ((mY - mLocation) < -10) {
          mBrowserController.hideActionBar();
        }
        mLocation=0;
      }
      mGestureDetector.onTouchEvent(arg1);
      return false;
    }
  }
);
  mDefaultUserAgent=mWebView.getSettings().getUserAgentString();
  mSettings=mWebView.getSettings();
  initializeSettings(mWebView.getSettings(),activity);
  initializePreferences(activity);
  if (url != null) {
    if (!url.trim().isEmpty()) {
      mWebView.loadUrl(url);
    }
 else {
    }
  }
 else {
    if (mHomepage.startsWith("String_Node_Str")) {
      mSettings.setUseWideViewPort(false);
      mWebView.loadUrl(getHomepage());
    }
 else     if (mHomepage.startsWith("String_Node_Str")) {
      mBrowserController.openBookmarkPage(mWebView);
    }
 else {
      mWebView.loadUrl(mHomepage);
    }
  }
}