Program: 81387
Project: 81387
Buggy source:
@Override public void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  try {
    setContentView(R.layout.displaysurah);
    ayahListView=(ListView)findViewById(R.id.ayahList);
    ArrayList<String> ayahList=new ArrayList<String>();
    Typeface externalFont=Typeface.createFromAsset(getAssets(),"String_Node_Str");
    XmlPullParser xpp=this.getResources().getXml(R.xml.quransimple);
    Bundle bundle=this.getIntent().getExtras();
    suraName=bundle.getString("String_Node_Str");
    suraPosition=bundle.getInt("String_Node_Str");
    numAyas=bundle.getInt("String_Node_Str");
    ayahList=SurahDataParser.getAyahList(this,xpp,suraPosition);
    int nTranslationVal=bundle.getInt("String_Node_Str");
    statTranslationVal=nTranslationVal;
    if (nTranslationVal == 1) {
      xpp=this.getResources().getXml(R.xml.entransliteration);
    }
 else     if (nTranslationVal == 2) {
      xpp=this.getResources().getXml(R.xml.ensahih);
    }
 else     if (nTranslationVal == 3) {
      xpp=this.getResources().getXml(R.xml.enyusufali);
    }
 else     if (nTranslationVal == 4) {
      xpp=this.getResources().getXml(R.xml.mlabdulhameed);
    }
    ArrayList<String> translatedAyaList=new ArrayList<String>();
    if (nTranslationVal != 0) {
      translatedAyaList=TranslatedSuraDataParser.getTranslatedAyaList(this,xpp,suraPosition);
    }
    CustomAyaListAdapter customAdapter=new CustomAyaListAdapter(this,ayahList,translatedAyaList,nTranslationVal);
    ayahListView.setAdapter(customAdapter);
    array_gotoAya=new String[numAyas];
    for (int i=0; i < numAyas; i++) {
      array_gotoAya[i]=String.valueOf(i + 1);
    }
    getAudioPath(DisplaySuraActivity.this.getExternalFilesDir(null).getAbsolutePath());
    ayahListView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
      public void onItemClick(      AdapterView<?> parent,      View view,      int position,      long id){
        if (ayaOnTapEnabled) {
          if (Recitation.isPlaying()) {
            Recitation.pausePlayer();
          }
 else {
            Recitation.currentAyaPos=position + 2;
            Recitation.play(DisplaySuraActivity.this,DisplaySuraActivity.this.suraPosition,DisplaySuraActivity.this.numAyas,false);
          }
        }
      }
    }
);
  }
 catch (  Exception ex) {
    AlertDialog.Builder adb=new AlertDialog.Builder(DisplaySuraActivity.this);
    adb.setTitle("String_Node_Str");
    adb.setMessage("String_Node_Str" + ex.toString() + "String_Node_Str"+ ex.getMessage());
    adb.setNegativeButton("String_Node_Str",null);
    adb.show();
  }
}

Fixed version (ground truth):
@Override public void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  try {
    setContentView(R.layout.displaysurah);
    ayahListView=(ListView)findViewById(R.id.ayahList);
    ArrayList<String> ayahList=new ArrayList<String>();
    Typeface externalFont=Typeface.createFromAsset(getAssets(),"String_Node_Str");
    XmlPullParser xpp=this.getResources().getXml(R.xml.quransimple);
    Bundle bundle=this.getIntent().getExtras();
    suraName=bundle.getString("String_Node_Str");
    suraPosition=bundle.getInt("String_Node_Str");
    numAyas=bundle.getInt("String_Node_Str");
    ayahList=SurahDataParser.getAyahList(this,xpp,suraPosition);
    int nTranslationVal=bundle.getInt("String_Node_Str");
    statTranslationVal=nTranslationVal;
    if (nTranslationVal == 1) {
      xpp=this.getResources().getXml(R.xml.entransliteration);
    }
 else     if (nTranslationVal == 2) {
      xpp=this.getResources().getXml(R.xml.ensahih);
    }
 else     if (nTranslationVal == 3) {
      xpp=this.getResources().getXml(R.xml.enyusufali);
    }
 else     if (nTranslationVal == 4) {
      xpp=this.getResources().getXml(R.xml.mlabdulhameed);
    }
    ArrayList<String> translatedAyaList=new ArrayList<String>();
    if (nTranslationVal != 0) {
      translatedAyaList=TranslatedSuraDataParser.getTranslatedAyaList(this,xpp,suraPosition);
    }
    CustomAyaListAdapter customAdapter=new CustomAyaListAdapter(this,ayahList,translatedAyaList,nTranslationVal);
    ayahListView.setAdapter(customAdapter);
    array_gotoAya=new String[numAyas];
    for (int i=0; i < numAyas; i++) {
      array_gotoAya[i]=String.valueOf(i + 1);
    }
    boolean mExternalStorageAvailable=false;
    boolean mExternalStorageWritable=false;
    String state=Environment.getExternalStorageState();
    if (Environment.MEDIA_MOUNTED.equals(state)) {
      mExternalStorageAvailable=mExternalStorageWritable=true;
    }
 else     if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
      mExternalStorageAvailable=true;
      mExternalStorageWritable=false;
    }
 else {
      mExternalStorageAvailable=mExternalStorageWritable=false;
    }
    if ((!mExternalStorageAvailable) || (!mExternalStorageWritable)) {
      AlertDialog.Builder adb=new AlertDialog.Builder(DisplaySuraActivity.this);
      adb.setTitle("String_Node_Str");
      adb.setMessage("String_Node_Str");
      adb.setPositiveButton("String_Node_Str",null);
      adb.show();
    }
 else {
      getAudioPath(DisplaySuraActivity.this.getExternalFilesDir(null).getAbsolutePath());
    }
    ayahListView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
      public void onItemClick(      AdapterView<?> parent,      View view,      int position,      long id){
        if (ayaOnTapEnabled) {
          if (Recitation.isPlaying()) {
            Recitation.pausePlayer();
          }
 else {
            Recitation.currentAyaPos=position + 2;
            Recitation.play(DisplaySuraActivity.this,DisplaySuraActivity.this.suraPosition,DisplaySuraActivity.this.numAyas,false);
          }
        }
      }
    }
);
  }
 catch (  Exception ex) {
    AlertDialog.Builder adb=new AlertDialog.Builder(DisplaySuraActivity.this);
    adb.setTitle("String_Node_Str");
    adb.setMessage("String_Node_Str" + ex.toString() + "String_Node_Str"+ ex.getMessage());
    adb.setNegativeButton("String_Node_Str",null);
    adb.show();
  }
}