[Demonstration 1]

[Buggy Method]
@Override
public void onBindViewHolder(SongsListAdapter.CustomHolder holder, final int position) {
    if (fromAlbumLayout) {
        holder.parentLayout.setBackgroundColor(context.getResources().getColor(R.color.background_drawable_3));
        holder.parentLayout.setAlpha(0.7f);
        holder.songTitle.setSingleLine(true);
        holder.songTitle.setEllipsize(TextUtils.TruncateAt.MARQUEE);
        holder.songTitle.setMarqueeRepeatLimit(-1);
        holder.songTitle.setSelected(true);
        holder.songTitle.setTypeface(holder.songTitle.getTypeface(), Typeface.BOLD);
        holder.songArtistTitle.setTypeface(holder.songArtistTitle.getTypeface(), Typeface.BOLD_ITALIC);
    }
    Bitmap bitmapFactory = BitmapFactory.decodeFile(songsModel.get(position).getSongAlbumCover());
    if (bitmapFactory != null && bitmapFactory.getRowBytes() > 0) {
        holder.songImage.setImageBitmap(getCircleBitmap(bitmapFactory));
    } else {
        holder.songImage.setImageDrawable(context.getResources().getDrawable(R.drawable.album_placeholder));
    }
    holder.songTitle.setText(songsModel.get(position).getSongTitle());
    holder.songArtistTitle.setText(songsModel.get(position).getSongArtist());
    if (showPlaylistLayout) {
        //noinspection RestrictedApi
        if (holder.songOptions.getDrawable().getConstantState() == AppCompatDrawableManager.get().getDrawable(context, R.drawable.library_add).getConstantState()) {
            holder.songOptions.setImageDrawable(context.getResources().getDrawable(R.drawable.arrange_songs_in_playlist));
        }
        holder.songOptions.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                if (songOptionsDeleteFromPlaylistListener != null) {
                    songOptionsDeleteFromPlaylistListener.deleteFromPlaylist(songsModel.get(position), position);
                }
            }
        });
    } else {
        holder.songOptions.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                if (songOptionsToAddInPlaylistListener != null) {
                    songOptionsToAddInPlaylistListener.addInPlaylist(songsModel.get(position), position);
                }
            }
        });
    }
}

[Buggy Hunk]
if(holder.songOptions.getDrawable().getConstantState() == AppCompatDrawableManager.get().getDrawable(context,R.drawable.library_add).getConstantState()){

[Patch]
if((Integer)holder.songOptions.getTag()==R.drawable.library_add){

[Demonstration 2]

[Buggy Method]
private void addBottomDots(int current_slide) {
    dots = new TextView[introSlides.length];
    int dot_colorActive = getResources().getColor(R.color.selected_dot);
    int[] dot_colorsInactive = getResources().getIntArray(R.array.array_dot_inactive);
    indicatingDotsContainer.removeAllViews();
    //number of dots added to container equals number of slides
    for (int i = 0; i < dots.length; i++) {
        dots[i] = new TextView(this);
        dots[i].setText(Html.fromHtml("&#8226;"));
        dots[i].setTextSize(35);
        dots[i].setTextColor(dot_colorsInactive[current_slide]);
        indicatingDotsContainer.addView(dots[i]);
    }
    //dot corresponding to current slide is given active color i.e white color
    if (dots.length > 0) {
        dots[current_slide].setTextColor(dot_colorActive);
        horizontalLine.setBackgroundColor(dot_colorsInactive[current_slide]);
    }
}

[Buggy Hunk]
int dot_colorActive = getResources().getColor(R.color.selected_dot);

[Patch]
int dot_colorActive = ContextCompat.getColor(getApplicationContext(), R.color.selected_dot);

[Demonstration 3]

[Buggy Method]
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
    for (int appWidgetId : appWidgetIds) {
        RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_collection_layout);
        Intent intent = new Intent(context, MyStocksActivity.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
        views.setOnClickPendingIntent(R.id.stock_widget, pendingIntent);
        // Set up collection
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
            setRemoteAdapter(context, views);
        } else {
            setRemoteAdapterV11(context, views);
        }
        // Set up collection items
        Intent clickIntentTemplate = new Intent(context, MyStocksActivity.class);
        PendingIntent clickPendingIntentTemplate = TaskStackBuilder.create(context).addNextIntentWithParentStack(clickIntentTemplate).getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
        views.setPendingIntentTemplate(R.id.list_stock_widget, clickPendingIntentTemplate);
        appWidgetManager.updateAppWidget(appWidgetId, views);
    }
    super.onUpdate(context, appWidgetManager, appWidgetIds);
}

[Buggy Hunk]
Intent clickIntentTemplate = new Intent(context, MyStocksActivity.class);

[Patch]
Intent clickIntentTemplate = new Intent(context, StockDetailsActivity.class);