/** * Notify {@link ChartView} about updated values. {@link ChartView} will be validated. */ public void notifyDataUpdate(){ ArrayList<float[][]> oldCoords = new ArrayList<>(data.size()); ArrayList<float[][]> newCoords = new ArrayList<>(data.size()); for(ChartSet set : data) oldCoords.add(set.getScreenPoints()); digestData(); for(ChartSet set : data) newCoords.add(set.getScreenPoints()); mRegions = defineRegions(data); if(mAnim != null) data = mAnim.prepareUpdateAnimation(this, oldCoords, newCoords); invalidate(); }