title: uses unchecked or unsafe operations, Recompile with -Xlint:unchecked for details
body: <p>I have an application and when I try to run it shows an error :  </p>
  
  <blockquote>
    <p>uses unchecked or unsafe operations.
    Recompile with -Xlint:unchecked for details.  </p>
  </blockquote>
  
  <p>If anyone has an idea why How do I solve this error? please, I need help to fix that.</p>
  
  <p>...........................................
  ...........................................
  ...........................................</p>
  
  <pre><code>@QuranPageScope
  public class AyahTrackerPresenter implements AyahTracker,
      Presenter&lt;AyahTrackerPresenter.AyahInteractionHandler&gt; {
    private AyahTrackerItem[] items;
    private HighlightInfo pendingHighlightInfo;
  
    @Inject
    public AyahTrackerPresenter() {
      this.items = new AyahTrackerItem[0];
    }
  
    public void setPageBounds(int page, RectF bounds) {
      for (AyahTrackerItem item : items) {
        item.onSetPageBounds(page, bounds);
      }
    }
  
    public void setAyahCoordinates(int page, Map&lt;String, List&lt;AyahBounds&gt;&gt; coordinates) {
      for (AyahTrackerItem item : items) {
        item.onSetAyahCoordinates(page, coordinates);
      }
  
      if (pendingHighlightInfo != null &amp;&amp; !coordinates.isEmpty()) {
        highlightAyah(pendingHighlightInfo.sura, pendingHighlightInfo.ayah,
            pendingHighlightInfo.highlightType, pendingHighlightInfo.scrollToAyah);
      }
    }
  
    public void setAyahBookmarks(List&lt;Bookmark&gt; bookmarks) {
      for (AyahTrackerItem item : items) {
        item.onSetAyahBookmarks(bookmarks);
      }
    }
  
    @Override
    public void highlightAyah(int sura, int ayah, HighlightType type, boolean scrollToAyah) {
      boolean handled = false;
      int page = items.length == 1 ? items[0].page : QuranInfo.getPageFromSuraAyah(sura, ayah);
      for (AyahTrackerItem item : items) {
        handled = handled || item.onHighlightAyah(page, sura, ayah, type, scrollToAyah);
      }
  
      if (!handled) {
        pendingHighlightInfo = new HighlightInfo(sura, ayah, type, scrollToAyah);
      } else {
        pendingHighlightInfo = null;
      }
    }
  
    @Override
    public void highlightAyat(int page, Set&lt;String&gt; ayahKeys, HighlightType type) {
      for (AyahTrackerItem item : items) {
        item.onHighlightAyat(page, ayahKeys, type);
      }
    }
  
    @Override
    public void unHighlightAyah(int sura, int ayah, HighlightType type) {
      int page = items.length == 1 ? items[0].page : QuranInfo.getPageFromSuraAyah(sura, ayah);
      for (AyahTrackerItem item : items) {
        item.onUnHighlightAyah(page, sura, ayah, type);
      }
    }
  
    @Override
    public void unHighlightAyahs(HighlightType type) {
      for (AyahTrackerItem item : items) {
        item.onUnHighlightAyahType(type);
      }
    }
  
    @Override
    public AyahToolBar.AyahToolBarPosition getToolBarPosition(int sura, int ayah,
                                                              int toolBarWidth, int toolBarHeight) {
      int page = items.length == 1 ? items[0].page : QuranInfo.getPageFromSuraAyah(sura, ayah);
      for (AyahTrackerItem item : items) {
        AyahToolBar.AyahToolBarPosition position =
            item.getToolBarPosition(page, sura, ayah, toolBarWidth, toolBarHeight);
        if (position != null) {
          return position;
        }
      }
      return null;
    }
  
    public boolean handleTouchEvent(Activity activity, MotionEvent event,
                                    AyahSelectedListener.EventType eventType, int page,
                                    AyahSelectedListener ayahSelectedListener,
                                    boolean ayahCoordinatesError) {
      if (eventType == AyahSelectedListener.EventType.DOUBLE_TAP) {
        unHighlightAyahs(HighlightType.SELECTION);
      } else if (ayahSelectedListener.isListeningForAyahSelection(eventType)) {
        if (ayahCoordinatesError) {
          checkCoordinateData(activity);
        } else {
          handlePress(event, eventType, page, ayahSelectedListener);
        }
        return true;
      }
      return ayahSelectedListener.onClick(eventType);
    }
  
    private void handlePress(MotionEvent ev, AyahSelectedListener.EventType eventType, int page,
                             AyahSelectedListener ayahSelectedListener) {
      SuraAyah result = getAyahForPosition(page, ev.getX(), ev.getY());
      if (result != null &amp;&amp; ayahSelectedListener != null) {
        ayahSelectedListener.onAyahSelected(eventType, result, this);
      }
    }
  
    @Nullable
    private SuraAyah getAyahForPosition(int page, float x, float y) {
      for (AyahTrackerItem item : items) {
        SuraAyah ayah = item.getAyahForPosition(page, x, y);
        if (ayah != null) {
          return ayah;
        }
      }
      return null;
    }
  
    private void checkCoordinateData(Activity activity) {
      if (activity instanceof PagerActivity &amp;&amp;
          (!QuranFileUtils.haveAyaPositionFile(activity) ||
              !QuranFileUtils.hasArabicSearchDatabase(activity))) {
        PagerActivity pagerActivity = (PagerActivity) activity;
        pagerActivity.showGetRequiredFilesDialog();
      }
    }
  
    @Override
    public void bind(AyahInteractionHandler interactionHandler) {
      this.items = interactionHandler.getAyahTrackerItems();
    }
  
    @Override
    public void unbind(AyahInteractionHandler interactionHandler) {
      this.items = new AyahTrackerItem[0];
    }
  
    public interface AyahInteractionHandler {
      AyahTrackerItem[] getAyahTrackerItems();
    }
  }
  </code></pre>