libandroid-navigation-ui/src/main/java/com/mapbox/services/android/navigation/ui/v5/instruction/InstructionLoader.java
public void loadInstruction(TextView textView, BannerText bannerText) {

    checkIsInitialized();

    if (hasComponents(bannerText)) {
      StringBuilder instructionStringBuilder = new StringBuilder();
      List<BannerShieldInfo> shieldUrls = new ArrayList<>();

      for (BannerComponents components : bannerText.components()) {
        if (hasBaseUrl(components)) {
          addShieldInfo(textView, instructionStringBuilder, shieldUrls, components);
        } else {
          String text = components.text();
          boolean emptyText = TextUtils.isEmpty(instructionStringBuilder.toString());
          String instructionText = emptyText ? text : SINGLE_SPACE.concat(text);
          instructionStringBuilder.append(instructionText);
        }
      }

      // If there are shield Urls, fetch the corresponding images
      if (!shieldUrls.isEmpty()) {
        createTargets(textView, instructionStringBuilder, shieldUrls);
        loadTargets();
      } else {
        textView.setText(instructionStringBuilder);
      }
    }
  }
/**
   * Takes the given components from the {@link BannerText} and creates
   * a new {@link Spannable} with text / {@link ImageSpan}s which is loaded
   * into the given {@link TextView}.
   *
   * @param textView   target for the banner text
   * @param bannerText with components to be extracted
   * @since 0.9.0
   */
Takes the given components from the  BannerText and creates
a new  Spannable with text /  ImageSpans which is loaded
into the given  TextView.

@param textView   target for the banner text
@param bannerText with components to be extracted
@since 0.9.0
Takes the given components from the BannerText and creates a new Spannable with text / ImageSpans which is loaded into the given TextView . @param textView target for the banner text @param bannerText with components to be extracted @since 0 . 9 . 0
public void loadInstruction(TextView textView, BannerText bannerText) {
    checkIsInitialized();
    if (hasComponents(bannerText)) {
      StringBuilder instructionStringBuilder = new StringBuilder();
      List<BannerShieldInfo> shieldUrls = new ArrayList<>();
      for (BannerComponents components : bannerText.components()) {
        if (hasBaseUrl(components)) {
          addShieldInfo(textView, instructionStringBuilder, shieldUrls, components);
        } else {
          String text = components.text();
          boolean emptyText = TextUtils.isEmpty(instructionStringBuilder.toString());
          String instructionText = emptyText ? text : SINGLE_SPACE.concat(text);
          instructionStringBuilder.append(instructionText);
        }
      }
      if (!shieldUrls.isEmpty()) {
        createTargets(textView, instructionStringBuilder, shieldUrls);
        loadTargets();
      } else {
        textView.setText(instructionStringBuilder);
      }
    }
  }
public void loadInstruction ( TextView textView , BannerText bannerText ) { checkIsInitialized ( ) ; if ( hasComponents ( bannerText ) ) { StringBuilder instructionStringBuilder = new StringBuilder ( ) ; List < BannerShieldInfo > shieldUrls = new ArrayList < > ( ) ; for ( BannerComponents components : bannerText . components ( ) ) { if ( hasBaseUrl ( components ) ) { addShieldInfo ( textView , instructionStringBuilder , shieldUrls , components ) ; } else { String text = components . text ( ) ; boolean emptyText = TextUtils . isEmpty ( instructionStringBuilder . toString ( ) ) ; String instructionText = emptyText ? text : SINGLE_SPACE . concat ( text ) ; instructionStringBuilder . append ( instructionText ) ; } } if ( ! shieldUrls . isEmpty ( ) ) { createTargets ( textView , instructionStringBuilder , shieldUrls ) ; loadTargets ( ) ; } else { textView . setText ( instructionStringBuilder ) ; } } }
Takes the given components from the {@link BannerText} and creates
 a new {@link Spannable} with text / {@link ImageSpan}s which is loaded
 into the given {@link TextView}.
Takes the given components from the { @link BannerText } and creates a new { @link Spannable } with text / { @link ImageSpan } s which is loaded into the given { @link TextView } .
// If there are shield Urls, fetch the corresponding images