Buggy code:
public class ImportantProgramsListWidget extends AppWidgetProvider { @ Override public void onReceive ( Context context , Intent intent ) { } @ Override public void onUpdate ( Context context , AppWidgetManager appWidgetManager , int [ ] appWidgetIds ) { final int n = appWidgetIds . length ; for ( int i = 0 ; i < n ; i ++ ) { int appWidgetId = appWidgetIds [ i ] ; boolean isKeyguard = CompatUtils . isKeyguardWidget ( appWidgetId , context ) ; int type = PreferenceManager . getDefaultSharedPreferences ( context ) . getInt ( ( ( appWidgetId + "_" ) + ( context . getString ( WIDGET_CONFIG_IMPORTANT_TYPE ) ) ) , context . getResources ( ) . getInteger ( widget_config_important_type_index_default ) ) ; <START_BUG> Intent intent = new Intent ( context , ImportantProgramsRemoveViewsService . class ) ; <END_BUG> intent . setData ( Uri . parse ( ( "org.tvbrowser:////importantWidget//" + appWidgetId ) ) ) ; intent . putExtra ( EXTRA_APPWIDGET_ID , appWidgetId ) ; RemoteViews views = null ; PrefUtils . initialize ( context ) ; String divider = PrefUtils . getStringValue ( PREF_WIDGET_LISTS_DIVIDER_SIZE , pref_widget_lists_divider_size_default ) ; if ( divider . equals ( context . getString ( divider_tiny ) ) ) { views = new RemoteViews ( context . getPackageName ( ) , layout . important_programs_widget_divider_tiny ) ; } else if ( divider . equals ( context . getString ( divider_medium ) ) ) { views = new RemoteViews ( context . getPackageName ( ) , layout . important_programs_widget_divider_medium ) ; } else if ( divider . equals ( context . getString ( divider_big ) ) ) { views = new RemoteViews ( context . getPackageName ( ) , layout . important_programs_widget_divider_big ) ; } else { views = new RemoteViews ( context . getPackageName ( ) , layout . important_programs_widget_divider_small ) ; } if ( PrefUtils . getBooleanValue ( PREF_WIDGET_SIMPLE_ICON , pref_widget_simple_icon_default ) ) { views . setImageViewResource ( important_widget_header_icon , ic_widget_simple ) ; } else { views . setImageViewResource ( important_widget_header_icon , ic_widget ) ; } int buttonDrawable = drawable . shape_button_background_corners_rounded_transparency_medium ; int headerDrawable = drawable . shape_button_background_corners_rounded_transparency_medium ; int listDrawable = drawable . shape_widget_background_corners_rounded_transparency_medium ; boolean roundedCorners = PrefUtils . getBooleanValue ( PREF_WIDGET_BACKGROUND_ROUNDED_CORNERS , pref_widget_background_rounded_corners_default ) ; int headerTransparency = PrefUtils . getStringValueAsInt ( PREF_WIDGET_BACKGROUND_TRANSPARENCY_HEADER , pref_widget_background_transparency_header_default ) ; int listTransparency = PrefUtils . getStringValueAsInt ( PREF_WIDGET_BACKGROUND_TRANSPARENCY_LIST , pref_widget_background_transparency_list_default ) ; if ( roundedCorners ) { switch ( headerTransparency ) { case 1 : headerDrawable = buttonDrawable = drawable . shape_button_background_corners_rounded_transparency_low ; break ; case 2 : headerDrawable = buttonDrawable = drawable . shape_button_background_corners_rounded_transparency_medium ; break ; case 3 : headerDrawable = buttonDrawable = drawable . shape_button_background_corners_rounded_transparency_high ; break ; case 4 : headerDrawable = buttonDrawable = drawable . shape_button_background_corners_rounded_transparency_full ; break ; default : headerDrawable = buttonDrawable = drawable . shape_button_background_corners_rounded_transparency_none ; break ; } switch ( listTransparency ) { case 1 : listDrawable = drawable . shape_widget_background_corners_rounded_transparency_low ; break ; case 2 : listDrawable = drawable . shape_widget_background_corners_rounded_transparency_medium ; break ; case 3 : listDrawable = drawable . shape_widget_background_corners_rounded_transparency_high ; break ; case 4 : listDrawable = drawable . shape_widget_background_corners_rounded_transparency_full ; break ; default : listDrawable = drawable . shape_widget_background_corners_rounded_transparency_none ; break ; } } else { switch ( headerTransparency ) { case 1 : headerDrawable = buttonDrawable = drawable . shape_button_background_corners_straight_transparency_low ; break ; case 2 : headerDrawable = buttonDrawable = drawable . shape_button_background_corners_straight_transparency_medium ; break ; case 3 : headerDrawable = buttonDrawable = drawable . shape_button_background_corners_straight_transparency_high ; break ; case 4 : headerDrawable = buttonDrawable = drawable . shape_button_background_corners_straight_transparency_full ; break ; default : headerDrawable = buttonDrawable = drawable . shape_button_background_corners_straight_transparency_none ; break ; } switch ( listTransparency ) { case 1 : listDrawable = drawable . shape_widget_background_corners_straight_transparency_low ; break ; case 2 : listDrawable = drawable . shape_widget_background_corners_straight_transparency_medium ; break ; case 3 : listDrawable = drawable . shape_widget_background_corners_straight_transparency_high ; break ; case 4 : listDrawable = drawable . shape_widget_background_corners_straight_transparency_full ; break ; default : listDrawable = drawable . shape_widget_background_corners_straight_transparency_none ; break ; } } views . setInt ( important_widget_header_wrapper , "setBackgroundResource" , headerDrawable ) ; views . setInt ( important_widget_list_view , "setBackgroundResource" , listDrawable ) ; views . setInt ( important_widget_config , "setBackgroundResource" , buttonDrawable ) ; views . setInt ( important_widget_empty_text , "setBackgroundResource" , listDrawable ) ; CompatUtils . setRemoteViewsAdapter ( views , appWidgetId , important_widget_list_view , intent ) ; views . setEmptyView ( important_widget_list_view , important_widget_empty_text ) ; if ( type == 0 ) { views . setTextViewText ( important_widget_header , PreferenceManager . getDefaultSharedPreferences ( context ) . getString ( ( ( appWidgetId + "_" ) + ( context . getString ( WIDGET_CONFIG_IMPORTANT_NAME ) ) ) , context . getString ( widget_important_default_title ) ) ) ; } else { views . setTextViewText ( important_widget_header , context . getString ( title_programs_list ) ) ; views . setInt ( important_widget_config , "setImageResource" , btn_star ) ; } Intent config = new Intent ( context , ImportantProgramsWidgetConfigurationActivity . class ) ; config . putExtra ( EXTRA_APPWIDGET_ID , appWidgetId ) ; if ( type == 1 ) { config = new Intent ( context , InfoActivity . class ) ; config . putExtra ( WIDGET_CHANNEL_SELECTION_EXTRA , appWidgetId ) ; } PendingIntent configStart = PendingIntent . getActivity ( context , appWidgetId , config , FLAG_UPDATE_CURRENT ) ; views . setOnClickPendingIntent ( important_widget_config , configStart ) ; if ( ! isKeyguard ) { Intent tvb = new Intent ( context , TvBrowser . class ) ; tvb . addFlags ( FLAG_ACTIVITY_NEW_TASK ) ; PendingIntent tvbstart = PendingIntent . getActivity ( context , appWidgetId , tvb , FLAG_UPDATE_CURRENT ) ; views . setOnClickPendingIntent ( important_widget_header_info_wrapper , tvbstart ) ; Intent templateIntent = new Intent ( SettingConstants . HANDLE_APP_WIDGET_CLICK ) ; templateIntent . putExtra ( EXTRA_APPWIDGET_ID , appWidgetId ) ; PendingIntent templatePendingIntent = PendingIntent . getBroadcast ( context , appWidgetId , templateIntent , FLAG_UPDATE_CURRENT ) ; views . setPendingIntentTemplate ( important_widget_list_view , templatePendingIntent ) ; } appWidgetManager . updateAppWidget ( appWidgetId , views ) ; } }

Fix:
Intent intent = new Intent ( context , ImportantProgramsRemoteViewsService . class ) ;