Buggy code:
private ImageButton voiceAddButton ; private ImageButton quickAddButton ; private EditText quickAddBox ; private Timer backgroundTimer ; private final LinkedHashSet < SyncAction > syncActions = new LinkedHashSet < SyncAction > ( ) ; private boolean isFilter ; private final TaskListContextMenuExtensionLoader contextMenuExtensionLoader = new TaskListContextMenuExtensionLoader ( ) ; protected SyncResultCallback syncResultCallback ; private VoiceInputAssistant voiceInputAssistant ; TaskListFragment . OnTaskListItemClickedListener mListener ; private boolean mDualFragments = false ; public interface OnTaskListItemClickedListener { public void onTaskListItemClicked ( long taskId ) { } } @ Override public void onAttach ( SupportActivity activity ) { } protected View getListBody ( ViewGroup root ) { } @ Override public void onCreate ( Bundle savedInstanceState ) { } @ Override public View onCreateView ( LayoutInflater inflater , ViewGroup container , Bundle savedInstanceState ) { } @ Override public void onActivityCreated ( Bundle savedInstanceState ) { } protected void onNewIntent ( Intent intent ) { } protected void addSyncRefreshMenuItem ( Menu menu ) { } @ Override public void onCreateOptionsMenu ( Menu menu , MenuInflater inflater ) { } protected void setUpUiComponents ( ) { getListView ( ) . setOnKeyListener ( new OnKeyListener ( ) { @ Override public boolean onKey ( View view , int keyCode , KeyEvent event ) { if ( ( ( event . getAction ( ) ) != ( KeyEvent . ACTION_UP ) ) || ( view == null ) ) return false ; boolean filterOn = getListView ( ) . isTextFilterEnabled ( ) ; View selected = getListView ( ) . getSelectedView ( ) ; if ( ( ( ( ! filterOn ) && ( ( event . getUnicodeChar ( ) ) >= '1' ) ) && ( ( event . getUnicodeChar ( ) ) <= '4' ) ) && ( selected != null ) ) { int importance = ( event . getNumber ( ) ) - '1' ; Task task = ( ( ViewHolder ) ( selected . getTag ( ) ) ) . task ; task . setValue ( IMPORTANCE , importance ) ; taskService . save ( task ) ; taskAdapter . setFieldContentsAndVisibility ( selected ) ; } else if ( ( ! filterOn ) && ( ( event . getUnicodeChar ( ) ) != 0 ) ) { getListView ( ) . setTextFilterEnabled ( true ) ; getListView ( ) . setFilterText ( Character . toString ( ( ( char ) ( event . getUnicodeChar ( ) ) ) ) ) ; } else if ( filterOn && ( TextUtils . isEmpty ( getListView ( ) . getTextFilter ( ) ) ) ) { getListView ( ) . setTextFilterEnabled ( false ) ; } return false ; } } ) ; quickAddBox = ( ( EditText ) ( getView ( ) . findViewById ( quickAddText ) ) ) ; quickAddBox . setOnEditorActionListener ( new OnEditorActionListener ( ) { @ Override public boolean onEditorAction ( TextView view , int actionId , KeyEvent event ) { if ( ( actionId == ( EditorInfo . IME_NULL ) ) && ( ! ( TextUtils . isEmpty ( quickAddBox . getText ( ) . toString ( ) . trim ( ) ) ) ) ) { quickAddTask ( quickAddBox . getText ( ) . toString ( ) , true ) ; return true ; } return false ; } } ) ; quickAddButton = ( ( ImageButton ) ( getView ( ) . findViewById ( R . id . quickAddButton ) ) ) ; quickAddButton . setOnClickListener ( new OnClickListener ( ) { public void onClick ( View v ) { Task task = quickAddTask ( quickAddBox . getText ( ) . toString ( ) , true ) ; if ( ( task != null ) && ( ( task . getValue ( TITLE ) . length ( ) ) == 0 ) ) { mListener . onTaskListItemClicked ( task . getId ( ) ) ; } } } ) ; voiceAddButton = ( ( ImageButton ) ( getView ( ) . findViewById ( R . id . voiceAddButton ) ) ) ; int prompt = string . voice_edit_title_prompt ; if ( Preferences . getBoolean ( p_voiceInputCreatesTask , false ) ) prompt = string . voice_create_prompt ; <START_BUG> voiceInputAssistant = new VoiceInputAssistant ( getActivity ( ) , voiceAddButton , quickAddBox ) ; <END_BUG> voiceInputAssistant . configureMicrophoneButton ( prompt ) ; quickAddButton . setOnLongClickListener ( new OnLongClickListener ( ) { @ Override public boolean onLongClick ( View v ) { Task task = quickAddTask ( quickAddBox . getText ( ) . toString ( ) , false ) ; if ( task == null ) return true ; mListener . onTaskListItemClicked ( task . getId ( ) ) ; return true ; } } ) ; ( ( TextView ) ( getView ( ) . findViewById ( android . R . id . empty ) ) ) . setOnClickListener ( new OnClickListener ( ) { @ Override public void onClick ( View v ) { quickAddButton . performClick ( ) ; } } ) ; try { GestureService . registerGestureDetector ( getActivity ( ) , gestures , R . raw . gestures , this ) ; } catch ( VerifyError e ) { } SharedPreferences publicPrefs = AstridPreferences . getPublicPrefs ( getActivity ( ) ) ; sortFlags = publicPrefs . getInt ( PREF_SORT_FLAGS , 0 ) ; sortSort = publicPrefs . getInt ( PREF_SORT_SORT , 0 ) ; getActivity ( ) . getWindow ( ) . setFormat ( RGBA_8888 ) ; getActivity ( ) . getWindow ( ) . addFlags ( FLAG_DITHER ) ; syncResultCallback = new com . todoroo . astrid . helper . ProgressBarSyncResultCallback ( getActivity ( ) , id . progressBar , new Runnable ( ) { @ Override public void run ( ) { ContextManager . getContext ( ) . sendBroadcast ( new Intent ( AstridApiConstants . BROADCAST_EVENT_REFRESH ) ) ; } } ) ; } protected Intent getOnClickQuickAddIntent ( Task t ) { } public void transitionForTaskEdit ( ) { } private void setUpBackgroundJobs ( ) { }

Fix:
voiceInputAssistant = new VoiceInputAssistant ( this , voiceAddButton , quickAddBox ) ;