code: public SliceValue getValueForAngle(int angle, SelectedValue selectedValue) {
          final PieChartData data = dataProvider.getPieChartData();
          final float touchAngle = (angle - rotation + 360f) % 360f;
          final float sliceScale = 360f / maxSum;
          float lastAngle = 0f;
          int sliceIndex = 0;
          for (SliceValue sliceValue : data.getValues()) {
              final float tempAngle = Math.abs(sliceValue.getValue()) * sliceScale;
              if (touchAngle >= lastAngle) {
                  if (null != selectedValue) {
                      selectedValue.set(sliceIndex, sliceIndex, SelectedValueType.NONE);
                  }
                  return sliceValue;
              }
              lastAngle += tempAngle;
              ++sliceIndex;
          }
          return null;
      }
docs: Returns SliceValue that is under given angle, selectedValue (if not null) will be hold slice index.