Buggy code:
public class DocumentsActivity extends Activity { public static final String TAG = "Documents" ; private static final String EXTRA_STATE = "state" ; private static final String EXTRA_AUTHENTICATED = "authenticated" ; private static final String EXTRA_ACTIONMODE = "actionmode" ; private static final int CODE_FORWARD = 42 ; private static final int CODE_SETTINGS = 92 ; private boolean mShowAsDialog ; private SearchView mSearchView ; private DrawerLayout mDrawerLayout ; private ActionBarDrawerToggle mDrawerToggle ; private View mRootsContainer ; private DirectoryContainerView mDirectoryContainer ; private boolean mIgnoreNextNavigation ; private boolean mIgnoreNextClose ; private boolean mIgnoreNextCollapse ; private RootsCache mRoots ; private DocumentsActivity . State mState ; private boolean mAuthenticated ; private FrameLayout mSaveContainer ; private boolean mActionMode ; @ Override public void onCreate ( Bundle icicle ) { } private void initProtection ( ) { } private void buildDefaultState ( ) { } private class RestoreRootTask extends AsyncTask < Void , Void , RootInfo > { private Uri mRootUri ; public RestoreRootTask ( Uri rootUri ) { } @ Override protected RootInfo doInBackground ( Void ... params ) { } @ Override protected void onPostExecute ( RootInfo root ) { } } private class RestoreStackTask extends AsyncTask < Void , Void , Void > { private volatile boolean mRestoredStack ; private volatile boolean mExternal ; @ Override protected Void doInBackground ( Void ... params ) { } @ Override protected void onPostExecute ( Void result ) { } } @ Override public void onResume ( ) { } private DrawerListener mDrawerListener ; @ Override protected void onPostCreate ( Bundle savedInstanceState ) { } public void setRootsDrawerOpen ( boolean open ) { } public void setInfoDrawerOpen ( boolean open ) { } private boolean isRootsDrawerOpen ( ) { } public void updateActionBar ( ) { final ActionBar actionBar = getActionBar ( ) ; actionBar . setDisplayShowHomeEnabled ( true ) ; final boolean showIndicator = ( ! ( mShowAsDialog ) ) && ( ( mState . action ) != ( DocumentsActivity . State . ACTION_MANAGE ) ) ; actionBar . setDisplayHomeAsUpEnabled ( showIndicator ) ; if ( ( mDrawerToggle ) != null ) { mDrawerToggle . setDrawerIndicatorEnabled ( showIndicator ) ; } if ( isRootsDrawerOpen ( ) ) { actionBar . setNavigationMode ( NAVIGATION_MODE_STANDARD ) ; actionBar . setIcon ( new ColorDrawable ( ) ) ; if ( ( ( ( mState . action ) == ( DocumentsActivity . State . ACTION_OPEN ) ) || ( ( mState . action ) == ( DocumentsActivity . State . ACTION_GET_CONTENT ) ) ) || ( ( mState . action ) == ( DocumentsActivity . State . ACTION_BROWSE ) ) ) { actionBar . setTitle ( app_name ) ; <START_BUG> actionBar . setIcon ( ic_launcher ) ; <END_BUG> } else if ( ( mState . action ) == ( DocumentsActivity . State . ACTION_CREATE ) ) { actionBar . setTitle ( title_save ) ; } } else { final RootInfo root = getCurrentRoot ( ) ; if ( ( mState . stack . size ( ) ) <= 1 ) { actionBar . setNavigationMode ( NAVIGATION_MODE_STANDARD ) ; actionBar . setTitle ( root . title ) ; } else { mIgnoreNextNavigation = true ; actionBar . setNavigationMode ( NAVIGATION_MODE_LIST ) ; actionBar . setTitle ( null ) ; actionBar . setListNavigationCallbacks ( mStackAdapter , mStackListener ) ; actionBar . setSelectedNavigationItem ( ( ( mStackAdapter . getCount ( ) ) - 1 ) ) ; } } } @ Override public boolean onCreateOptionsMenu ( Menu menu ) { } @ Override public boolean onPrepareOptionsMenu ( Menu menu ) { } @ Override public boolean onOptionsItemSelected ( MenuItem item ) { } public void onStateChanged ( ) { } private void setUserSortOrder ( int sortOrder ) { } private void setUserMode ( int mode ) { } public void setPending ( boolean pending ) { } @ Override public void onBackPressed ( ) { } @ Override protected void onSaveInstanceState ( Bundle state ) { } @ Override protected void onRestoreInstanceState ( Bundle state ) { } private BaseAdapter mStackAdapter ; private OnNavigationListener mStackListener ; public RootInfo getCurrentRoot ( ) { } public RootInfo getDownloadRoot ( ) { } public DocumentInfo getCurrentDirectory ( ) { } private String getCallingPackageMaybeExtra ( ) { } public Executor getCurrentExecutor ( ) { } public DocumentsActivity . State getDisplayState ( ) { } public boolean isShowAsDialog ( ) { } public void onCurrentDirectoryChanged ( int anim ) { } public void onStackPicked ( DocumentStack stack ) { } public void onRootPicked ( RootInfo root , boolean closeDrawer ) { } private class PickRootTask extends AsyncTask < Void , Void , DocumentInfo > { private RootInfo mRoot ; public PickRootTask ( RootInfo root ) { } @ Override protected DocumentInfo doInBackground ( Void ... params ) { } @ Override protected void onPostExecute ( DocumentInfo result ) { } } public void onAppPicked ( ResolveInfo info ) { } @ Override protected void onActivityResult ( int requestCode , int resultCode , Intent data ) { } public void onDocumentPicked ( DocumentInfo doc ) { } public static boolean isIntentAvailable ( Context context , Intent intent ) { } public void onDocumentsPicked ( List < DocumentInfo > docs ) { } public void onSaveRequested ( DocumentInfo replaceTarget ) { } public void onSaveRequested ( String mimeType , String displayName ) { } public void onMoveRequested ( ArrayList < DocumentInfo > docs , DocumentInfo toDoc , boolean deleteAfter ) { } private void saveStackBlocking ( ) { } private void onFinished ( Uri ... uris ) { } private class CreateFinishTask extends AsyncTask < Void , Void , Uri > { private final String mMimeType ; private final String mDisplayName ; public CreateFinishTask ( String mimeType , String displayName ) { } @ Override protected void onPreExecute ( ) { } @ Override protected Uri doInBackground ( Void ... params ) { } @ Override protected void onPostExecute ( Uri result ) { } }

Fix:
actionBar . setIcon ( logo ) ;