Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c26d9f6c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Delete JNI Object references created from arrays" into pi-dev

parents 28c65207 8042a1a0
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -330,6 +330,7 @@ static SongInfo getSongInfoFromJavaObj(JNIEnv* env, jobject metadata) {
    const char* value = env->GetStringUTFChars(jstr, nullptr);
    info.media_id = std::string(value);
    env->ReleaseStringUTFChars(jstr, value);
    env->DeleteLocalRef(jstr);
  }

  jstr = (jstring)env->GetObjectField(metadata, field_title);
@@ -338,6 +339,7 @@ static SongInfo getSongInfoFromJavaObj(JNIEnv* env, jobject metadata) {
    info.attributes.insert(
        AttributeEntry(Attribute::TITLE, std::string(value)));
    env->ReleaseStringUTFChars(jstr, value);
    env->DeleteLocalRef(jstr);
  }

  jstr = (jstring)env->GetObjectField(metadata, field_artist);
@@ -346,6 +348,7 @@ static SongInfo getSongInfoFromJavaObj(JNIEnv* env, jobject metadata) {
    info.attributes.insert(
        AttributeEntry(Attribute::ARTIST_NAME, std::string(value)));
    env->ReleaseStringUTFChars(jstr, value);
    env->DeleteLocalRef(jstr);
  }

  jstr = (jstring)env->GetObjectField(metadata, field_album);
@@ -354,6 +357,7 @@ static SongInfo getSongInfoFromJavaObj(JNIEnv* env, jobject metadata) {
    info.attributes.insert(
        AttributeEntry(Attribute::ALBUM_NAME, std::string(value)));
    env->ReleaseStringUTFChars(jstr, value);
    env->DeleteLocalRef(jstr);
  }

  jstr = (jstring)env->GetObjectField(metadata, field_trackNum);
@@ -362,6 +366,7 @@ static SongInfo getSongInfoFromJavaObj(JNIEnv* env, jobject metadata) {
    info.attributes.insert(
        AttributeEntry(Attribute::TRACK_NUMBER, std::string(value)));
    env->ReleaseStringUTFChars(jstr, value);
    env->DeleteLocalRef(jstr);
  }

  jstr = (jstring)env->GetObjectField(metadata, field_numTracks);
@@ -370,6 +375,7 @@ static SongInfo getSongInfoFromJavaObj(JNIEnv* env, jobject metadata) {
    info.attributes.insert(
        AttributeEntry(Attribute::TOTAL_NUMBER_OF_TRACKS, std::string(value)));
    env->ReleaseStringUTFChars(jstr, value);
    env->DeleteLocalRef(jstr);
  }

  jstr = (jstring)env->GetObjectField(metadata, field_genre);
@@ -378,6 +384,7 @@ static SongInfo getSongInfoFromJavaObj(JNIEnv* env, jobject metadata) {
    info.attributes.insert(
        AttributeEntry(Attribute::GENRE, std::string(value)));
    env->ReleaseStringUTFChars(jstr, value);
    env->DeleteLocalRef(jstr);
  }

  jstr = (jstring)env->GetObjectField(metadata, field_playingTime);
@@ -386,6 +393,7 @@ static SongInfo getSongInfoFromJavaObj(JNIEnv* env, jobject metadata) {
    info.attributes.insert(
        AttributeEntry(Attribute::PLAYING_TIME, std::string(value)));
    env->ReleaseStringUTFChars(jstr, value);
    env->DeleteLocalRef(jstr);
  }

  return info;
@@ -495,6 +503,7 @@ static std::vector<SongInfo> getNowPlayingList() {
  for (int i = 0; i < size; i++) {
    jobject song = sCallbackEnv->CallObjectMethod(song_list, method_get, i);
    ret.push_back(getSongInfoFromJavaObj(sCallbackEnv.get(), song));
    sCallbackEnv->DeleteLocalRef(song);
  }

  return ret;
@@ -553,6 +562,7 @@ static std::vector<MediaPlayerInfo> getMediaPlayerList() {
      const char* value = sCallbackEnv->GetStringUTFChars(jstr, nullptr);
      temp.name = std::string(value);
      sCallbackEnv->ReleaseStringUTFChars(jstr, value);
      sCallbackEnv->DeleteLocalRef(jstr);
    }

    temp.browsing_supported =
@@ -561,6 +571,7 @@ static std::vector<MediaPlayerInfo> getMediaPlayerList() {
            : false;

    ret_list.push_back(std::move(temp));
    sCallbackEnv->DeleteLocalRef(player);
  }

  return ret_list;
@@ -662,6 +673,7 @@ static void getFolderItemsResponseNative(JNIEnv* env, jobject object,

      ret_list.push_back(temp);
    }
    env->DeleteLocalRef(item);
  }

  callback.Run(std::move(ret_list));