docs: public ArrayList<View> getAllViews(boolean onlySufficientlyVisible) {
  		final View[] views = getWindowDecorViews();
  		final ArrayList<View> allViews = new ArrayList<View>();
  		final View[] nonDecorViews = getNonDecorViews(views);
  		View view = null;
  
  		if(nonDecorViews != null){
  			for(int i = 0; i < nonDecorViews.length; i++){
  				view = nonDecorViews[i];
  				try {
  					addChildren(allViews, (ViewGroup)view, onlySufficientlyVisible);
  				} catch (Exception ignored) {}
  				if(view != null) allViews.add(view);
  			}
  		}
  
  		if (views != null && views.length > 0) {
  			view = getRecentDecorView(views);
  			try {
  				addChildren(allViews, (ViewGroup)view, onlySufficientlyVisible);
  			} catch (Exception ignored) {}
  
  			if(view != null) allViews.add(view);
  		}
  
  		return allViews;
  	}