resources/src/main/java/org/robolectric/res/android/CppAssetManager2.java
public ApkAssetsCookie GetResource(int resid, boolean may_be_bag,
      short density_override, Ref<Res_value> out_value,
      final Ref<ResTable_config> out_selected_config,
      final Ref<Integer> out_flags) {
    final Ref<FindEntryResult> entry = new Ref<>(null);
    ApkAssetsCookie cookie =
        FindEntry(resid, density_override, false /* stop_at_first_match */, entry);
    if (cookie.intValue() == kInvalidCookie) {
      return K_INVALID_COOKIE;
    }

    if (isTruthy(dtohl(entry.get().entry.flags) & ResTable_entry.FLAG_COMPLEX)) {
      if (!may_be_bag) {
        System.err.println(String.format("Resource %08x is a complex map type.", resid));
        return K_INVALID_COOKIE;
      }

      // Create a reference since we can't represent this complex type as a Res_value.
      out_value.set(new Res_value((byte) Res_value.TYPE_REFERENCE, resid));
      out_selected_config.set(entry.get().config);
      out_flags.set(entry.get().type_flags);
      return cookie;
    }

    // final Res_value device_value = reinterpret_cast<final Res_value>(
    //     reinterpret_cast<final byte*>(entry.entry) + dtohs(entry.entry.size));
    // out_value.copyFrom_dtoh(*device_value);
    Res_value device_value = entry.get().entry.getResValue();
    out_value.set(device_value.copy());

    // Convert the package ID to the runtime assigned package ID.
    entry.get().dynamic_ref_table.lookupResourceValue(out_value);

    out_selected_config.set(entry.get().config);
    out_flags.set(entry.get().type_flags);
    return cookie;
  }
public ApkAssetsCookie GetResource(int resid, boolean may_be_bag,
      short density_override, Ref<Res_value> out_value,
      final Ref<ResTable_config> out_selected_config,
      final Ref<Integer> out_flags) {
    final Ref<FindEntryResult> entry = new Ref<>(null);
    ApkAssetsCookie cookie =
        FindEntry(resid, density_override, false /* stop_at_first_match */, entry);
    if (cookie.intValue() == kInvalidCookie) {
      return K_INVALID_COOKIE;
    }

    if (isTruthy(dtohl(entry.get().entry.flags) & ResTable_entry.FLAG_COMPLEX)) {
      if (!may_be_bag) {
        System.err.println(String.format("Resource %08x is a complex map type.", resid));
        return K_INVALID_COOKIE;
      }

      // Create a reference since we can't represent this complex type as a Res_value.
      out_value.set(new Res_value((byte) Res_value.TYPE_REFERENCE, resid));
      out_selected_config.set(entry.get().config);
      out_flags.set(entry.get().type_flags);
      return cookie;
    }

    // final Res_value device_value = reinterpret_cast<final Res_value>(
    //     reinterpret_cast<final byte*>(entry.entry) + dtohs(entry.entry.size));
    // out_value.copyFrom_dtoh(*device_value);
    Res_value device_value = entry.get().entry.getResValue();
    out_value.set(device_value.copy());

    // Convert the package ID to the runtime assigned package ID.
    entry.get().dynamic_ref_table.lookupResourceValue(out_value);

    out_selected_config.set(entry.get().config);
    out_flags.set(entry.get().type_flags);
    return cookie;
  }
public ApkAssetsCookie GetResource ( int resid , boolean may_be_bag , short density_override , Ref < Res_value > out_value , final Ref < ResTable_config > out_selected_config , final Ref < Integer > out_flags ) { final Ref < FindEntryResult > entry = new Ref <> ( null ) ; ApkAssetsCookie cookie = FindEntry ( resid , density_override , false /* stop_at_first_match */ , entry ) ; if ( cookie . intValue ( ) == kInvalidCookie ) { return K_INVALID_COOKIE ; } if ( isTruthy ( dtohl ( entry . get ( ) . entry . flags ) & ResTable_entry . FLAG_COMPLEX ) ) { if ( ! may_be_bag ) { System . err . println ( String . format ( "Resource %08x is a complex map type." , resid ) ) ; return K_INVALID_COOKIE ; } // Create a reference since we can't represent this complex type as a Res_value. out_value . set ( new Res_value ( ( byte ) Res_value . TYPE_REFERENCE , resid ) ) ; out_selected_config . set ( entry . get ( ) . config ) ; out_flags . set ( entry . get ( ) . type_flags ) ; return cookie ; } // final Res_value device_value = reinterpret_cast<final Res_value>( //     reinterpret_cast<final byte*>(entry.entry) + dtohs(entry.entry.size)); // out_value.copyFrom_dtoh(*device_value); Res_value device_value = entry . get ( ) . entry . getResValue ( ) ; out_value . set ( device_value . copy ( ) ) ; // Convert the package ID to the runtime assigned package ID. entry . get ( ) . dynamic_ref_table . lookupResourceValue ( out_value ) ; out_selected_config . set ( entry . get ( ) . config ) ; out_flags . set ( entry . get ( ) . type_flags ) ; return cookie ; }
int* out_flags);
int * out_flags ) ;