Buggy code:
for ( URLSpan url : URLs ) { Button click = new Button ( LL . getContext ( ) ) ; click . setMaxLines ( 1 ) ; click . setText ( pageLinks . subSequence ( pageLinks . getSpanStart ( url ) , pageLinks . getSpanEnd ( url ) ) . toString ( ) ) ; click . setTag ( getString ( tag_button_style ) ) ; click . setLayoutParams ( new LayoutParams ( LayoutParams . WRAP_CONTENT , LayoutParams . MATCH_PARENT ) ) ; click . setTag ( button_url , url . getURL ( ) ) ; click . setOnClickListener ( this ) ; LL . addView ( click ) ; LayoutParams LP = ( ( LayoutParams ) ( click . getLayoutParams ( ) ) ) ; LP . width = 0 ; LP . height = LayoutParams . MATCH_PARENT ; LP . weight = 1.0F ; } mDiaryBrowser . addFooterView ( LL ) ; HotTheme . manage ( LL ) ; } browserHistory . add ( getUser ( ) . getCurrentDiaries ( ) . getURL ( ) ) ; handleTabChange ( getUser ( ) . getCurrentDiaries ( ) . getURL ( ) ) ; mPullToRefreshAttacher . setRefreshComplete ( ) ; invalidateOptionsMenu ( ) ; break ; case Utils . HANDLE_GET_WEB_PAGE_DATA : setCurrentVisibleComponent ( DiaryListActivity . PART_WEB ) ; if ( ( message . obj ) == null ) { mPageBrowser . loadDataWithBaseURL ( getUser ( ) . getCurrentDiaryPage ( ) . getPageURL ( ) , getUser ( ) . getCurrentDiaryPage ( ) . getContent ( ) , null , "utf-8" , getUser ( ) . getCurrentDiaryPage ( ) . getPageURL ( ) ) ; browserHistory . add ( getUser ( ) . getCurrentDiaryPage ( ) . getPageURL ( ) ) ; handleTabChange ( getUser ( ) . getCurrentDiaryPage ( ) . getPageURL ( ) ) ; setTitle ( getUser ( ) . getCurrentDiaryPage ( ) . getTitle ( ) ) ; if ( ( getUser ( ) . getCurrentDiaryPage ( ) . getClass ( ) ) == ( DiaryPage . class ) ) mDatabase . addAutocompleteText ( URL , getUser ( ) . getCurrentDiaryPage ( ) . getPageURL ( ) , getUser ( ) . getCurrentDiaryPage ( ) . getTitle ( ) ) ; } else { String src = ( ( String ) ( message . obj ) ) ; mPageBrowser . loadUrl ( src ) ; browserHistory . add ( src ) ; } mPullToRefreshAttacher . setRefreshComplete ( ) ; invalidateOptionsMenu ( ) ; break ; case Utils . HANDLE_GET_DISCUSSIONS_DATA : setCurrentVisibleComponent ( DiaryListActivity . PART_DISC_LIST ) ; mDiscussionsAdapter = new DiscListArrayAdapter ( this , getUser ( ) . getDiscussions ( ) ) ; mDiscussionBrowser . setAdapter ( mDiscussionsAdapter ) ; browserHistory . add ( getUser ( ) . getDiscussions ( ) . getURL ( ) ) ; handleTabChange ( getUser ( ) . getDiscussions ( ) . getURL ( ) ) ; invalidateOptionsMenu ( ) ; break ; case Utils . HANDLE_AUTHORIZATION_ERROR : mPullToRefreshAttacher . setRefreshComplete ( ) ; Toast . makeText ( getApplicationContext ( ) , getString ( not_authorized ) , LENGTH_SHORT ) . show ( ) ; startActivity ( new android . content . Intent ( getApplicationContext ( ) , AuthorizationForm . class ) ) ; finish ( ) ; break ; case Utils . HANDLE_GET_DISCUSSION_LIST_DATA : int pos = ( ( Integer ) ( message . obj ) ) ; mDiscussionBrowser . expandGroup ( pos ) ; break ; case Utils . HANDLE_NAME_CLICK : { String href = message . getData ( ) . getString ( "url" ) ; if ( ( ( href != null ) && ( href . contains ( "#form" ) ) ) && ( slider . isDouble ( ) ) ) { slider . openPane ( ) ; String name = message . getData ( ) . getString ( "title" ) ; if ( name != null ) contentText . setText ( ( ( ( ( contentText . getText ( ) ) + "[L]" ) + name ) + "[//L],<seq2seq4repair_space>" ) ) ; } <START_BUG> break ; <END_BUG> } case Utils . HANDLE_IMAGE_CLICK : { final String src = message . getData ( ) . getString ( "url" ) ; if ( src == null ) return false ; ArrayList < String > itemsBuilder = new ArrayList < > ( ) ; itemsBuilder . add ( getString ( image_save ) ) ; itemsBuilder . add ( getString ( image_copy_url ) ) ; itemsBuilder . add ( getString ( image_open ) ) ; final String [ ] items = itemsBuilder . toArray ( new String [ itemsBuilder . size ( ) ] ) ; AlertDialog . Builder builder = new AlertDialog . Builder ( mPageBrowser . getContext ( ) ) ; builder . setTitle ( image_action ) ; builder . setItems ( items , new DialogInterface . OnClickListener ( ) { @ SuppressWarnings ( "deprecation" ) public void onClick ( DialogInterface dialog , int item ) { switch ( item ) { case DiaryWebView . IMAGE_SAVE : { Toast . makeText ( DiaryListActivity . this , getString ( loading ) , LENGTH_SHORT ) . show ( ) ; mService . handleRequest ( HANDLE_PICK_URL , new android . util . Pair ( src , true ) ) ; } break ; case DiaryWebView . IMAGE_COPY_URL : { ClipboardManager clipboard = ( ( ClipboardManager ) ( getSystemService ( CLIPBOARD_SERVICE ) ) ) ; Toast . makeText ( DiaryListActivity . this , ( ( ( getString ( copied ) ) + "<seq2seq4repair_space>" ) + src ) , LENGTH_SHORT ) . show ( ) ; clipboard . setText ( src ) ; } break ; case DiaryWebView . IMAGE_OPEN : { Toast . makeText ( DiaryListActivity . this , getString ( loading ) , LENGTH_SHORT ) . show ( ) ; mService . handleRequest ( HANDLE_PICK_URL , new android . util . Pair ( src , false ) ) ; } break ; } } } ) ;

Fix:
return true ;