Buggy code:
recyclerView . setPadding ( padding , 0 , padding , 0 ) ; recyclerView . setHasFixedSize ( true ) ; final boolean hideapplyonboot = Utils . getBoolean ( "hideapplyonboot" , true , getActivity ( ) ) ; recyclerView . addOnScrollListener ( new RecyclerView . OnScrollListener ( ) { private int scrollMargin = 10 ; private boolean changing ; @ Override public void onScrolled ( RecyclerView recyclerView , int dx , final int dy ) { super . onScrolled ( recyclerView , dx , dy ) ; if ( ! hideapplyonboot ) return ; try { if ( ( changing ) || ( ( onScrollDisappearView ) == null ) ) return ; int y = dy ; if ( y < 0 ) y *= - 1 ; if ( y < 20 ) return ; new Thread ( new Runnable ( ) { @ Override public void run ( ) { changing = true ; int actionBarHeight = Utils . getActionBarHeight ( getActivity ( ) ) ; for ( int i = 0 ; i <= ( actionBarHeight // ( scrollMargin ) ) ; i ++ ) { try { RelativeLayout . LayoutParams params = ( ( RelativeLayout . LayoutParams ) ( onScrollDisappearView . getLayoutParams ( ) ) ) ; int margin = params . topMargin ; if ( ( dy < 0 ) && ( margin < 0 ) ) margin += scrollMargin ; else if ( ( dy > 0 ) && ( margin > ( - actionBarHeight ) ) ) margin -= scrollMargin ; if ( margin > 0 ) margin = 0 ; if ( margin < ( ( - actionBarHeight ) + ( scrollMargin ) ) ) margin = - actionBarHeight ; params . topMargin = margin ; getActivity ( ) . runOnUiThread ( new Runnable ( ) { @ Override public void run ( ) { onScrollDisappearView . requestLayout ( ) ; } } ) ; Thread . sleep ( 17 ) ; } catch ( InterruptedException e ) { e . printStackTrace ( ) ; } } try { Thread . sleep ( 100 ) ; changing = false ; } catch ( InterruptedException e ) { e . printStackTrace ( ) ; } } } ) . start ( ) ; } catch ( NullPointerException e ) { e . printStackTrace ( ) ; } } } ) ; if ( showApplyOnBoot ( ) ) { applyOnBootView = ( ( SwitchCompat ) ( view . findViewById ( apply_on_boot_view ) ) ) ; if ( ( applyOnBootView ) != null ) { applyOnBootView . setChecked ( Utils . getBoolean ( ( ( getClassName ( ) ) + "onboot" ) , false , getActivity ( ) ) ) ; applyOnBootView . setOnCheckedChangeListener ( new CompoundButton . OnCheckedChangeListener ( ) { @ Override public void onCheckedChanged ( CompoundButton buttonView , boolean isChecked ) { Utils . saveBoolean ( ( ( getClassName ( ) ) + "onboot" ) , isChecked , getActivity ( ) ) ; Utils . toast ( getString ( ( isChecked ? string . apply_on_boot_enabled : string . apply_on_boot_disabled ) , getActionBar ( ) . getTitle ( ) ) , getActivity ( ) ) ; } } ) ; } applyOnBootText = ( ( TextView ) ( view . findViewById ( apply_on_boot_text ) ) ) ; applyOnBootLayout = view . findViewById ( apply_on_boot_layout ) ; if ( ( applyOnBootLayout ) != null ) { onScrollDisappearView = applyOnBootLayout ; applyOnBootLayout . setOnClickListener ( new View . OnClickListener ( ) { @ Override public void onClick ( View v ) { applyOnBootView . setChecked ( ( ! ( applyOnBootView . isChecked ( ) ) ) ) ; } } ) ; } } backgroundView = view . findViewById ( background_view ) ; fabView = view . findViewById ( fab_view ) ; if ( ( VERSION . SDK_INT ) >= ( VERSION_CODES . LOLLIPOP ) ) { if ( ( backgroundView ) != null ) backgroundView . setVisibility ( INVISIBLE ) ; if ( ( fabView ) != null ) { <START_BUG> fabView . setElevation ( getResources ( ) . getDimensionPixelSize ( fab_elevation ) ) ; <END_BUG> fabView . setVisibility ( INVISIBLE ) ; } } progressBar = new ProgressBar ( getActivity ( ) ) ; setProgressBar ( progressBar ) ; if ( ! ( showApplyOnBoot ( ) ) ) showApplyOnBoot ( false ) ; showOnScrollDisappear ( ) ; new android . os . AsyncTask < Void , Void , Void > ( ) { @ Override protected void onPreExecute ( ) { super . onPreExecute ( ) ; getActivity ( ) . runOnUiThread ( new Runnable ( ) { @ Override public void run ( ) { hand = new Handler ( ) ; } } ) ; adapter = new DAdapter . Adapter ( new java . util . ArrayList < DAdapter . DView > ( ) ) ; try { if ( isAdded ( ) ) preInit ( savedInstanceState ) ; } catch ( IllegalStateException e ) { e . printStackTrace ( ) ; } } @ Override protected Void doInBackground ( Void ... params ) { try { if ( isAdded ( ) ) init ( savedInstanceState ) ; } catch ( IllegalStateException e ) { e . printStackTrace ( ) ; } return null ; } @ Override protected void onPostExecute ( Void aVoid ) { super . onPostExecute ( aVoid ) ; recyclerView . setAdapter ( adapter ) ; animateRecyclerView ( ) ; if ( ( hand ) != null ) hand . post ( run ) ; try { ( ( ViewGroup ) ( progressBar . getParent ( ) ) ) . removeView ( progressBar ) ; } catch ( NullPointerException ignored ) { } try { if ( isAdded ( ) ) { postInit ( savedInstanceState ) ;

Fix:
fabView . setTranslationZ ( getResources ( ) . getDimensionPixelSize ( fab_elevation ) ) ;