[Demonstration 1]

[Buggy Method]
public void button(View view) {
    switch(view.getId()) {
        case R.id.Drawer_Button:
            //show drawer
            slideDrawer.showPrimary();
            //hide certain buttons
            Round.visible(findViewById(R.id.Drawer_Modes), Round.count == 0);
            Round.visible(findViewById(R.id.Drawer_Quit), Round.count != 0);
            Round.visible(findViewById(R.id.Drawer_Rate), !Settings.get("Rated"));
            break;
        case R.id.Drawer_Layout:
        case R.id.Main_Layout:
            //hide drawer
            if (slideDrawer.primaryShown())
                slideDrawer.showSecondary();
            break;
        case R.id.Drawer_Quit:
            //Quit game
            activity.player.scoreboard.done(false);
            break;
        case R.id.Drawer_Rate:
            //Rate app
            RateDialog rateDialog = new RateDialog();
            rateDialog.show(activity.getFragmentManager(), "RateDialog");
            break;
        case R.id.Drawer_Background:
            //Toggle Background
            ToggleButton button = (ToggleButton) view;
            Settings.set("Background", button.isChecked());
            break;
        case R.id.Drawer_Tutorial:
        case R.id.Drawer_Versus:
            //load Gamemode
            Settings.setId(view.getId(), true);
            activity.startGame(null);
            break;
    }
}

[Buggy Hunk]
case R.id.Drawer_Layout:case R.id.Main_Layout:

[Patch]
case R.id.Drawer_Layout:case R.id.Main_Layout:case R.id.Bar_Layout:

[Demonstration 2]

[Buggy Method]
protected void onViewRemoved(View child) {
    for (Map.Entry<DragEdge, View> entry : new HashMap<DragEdge, View>(mDragEdges).entrySet()) {
        if (entry.getValue() == child) {
            mDragEdges.remove(entry.getKey());
        }
    }
}

[Buggy Hunk]
protected void onViewRemoved(View child) {

[Patch]
public void onViewRemoved(View child) {

[Demonstration 3]

[Buggy Method]
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch(item.getItemId()) {
        case R.id.action_refresh:
            listMonthlyExpenses();
            return true;
        case R.id.action_reimport:
            Toast.makeText(this, "Re-importing data from Bradesco SMSs", Toast.LENGTH_SHORT).show();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

[Buggy Hunk]
Toast.makeText(this, "Re-importing data from Bradesco SMSs", Toast.LENGTH_SHORT).show();

[Patch]
importNewExpensesUsecase.importExisting(messagesFromPhone());