I am using youtube api in my android app to load thumbnails for videos in my RecyclerView
. Following is my implementation in side my adapter:
private final Map<YouTubeThumbnailView, YouTubeThumbnailLoader> thumbnailViewToLoaderMap;
This holds the loaders for the YouTubeThumbnailView
for each adapter element. This is the code we use for initialisation of the YouTubeThumbnailLoader
(s):
YouTubeThumbnailLoader loader = thumbnailViewToLoaderMap.get(holder.thumbnail);
final String videoId = Utils.getYoutubeIdFromUrl(m.getYoutubeUrl());
holder.thumbnail.setTag(videoId);
if(loader != null) {
loader.setVideo(videoId);
}
}
When initialising the elements of the ViewHolder
, I initialise the thumbnail loaders as follows:
private void setupYoutubeThumbnail() {
thumbnail.initialize(RiyazApplication.applicationInstance
.getString(R.string.youtube_api_developer_key),
thumbnailListener);
thumbnail.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(v.getTag() != null && itemClickListener != null) {
itemClickListener.onClickVideo(mList.get(getAdapterPosition()));
}
}
});
and the code for releasing the thumbnail loaders is as follows:
public void releaseThumbnailLoaders() {
final Set<YouTubeThumbnailView> keysSet = thumbnailViewToLoaderMap.keySet();
for(YouTubeThumbnailView view: keysSet) {
final YouTubeThumbnailLoader loader = thumbnailViewToLoaderMap.get(view);
if(loader != null) {
loader.release();
}
}
thumbnailViewToLoaderMap.clear();
}
In my crashalytics, I am getting the following exception:
Fatal Exception: java.lang.IllegalStateException: YouTubeServiceEntity not initialized
at android.os.Parcel.readException(Parcel.java:1497)
at android.os.Parcel.readException(Parcel.java:1443)
at com.google.android.youtube.player.internal.l$a$a.a(Unknown Source)
at com.google.android.youtube.player.internal.o.a(Unknown Source)
at com.google.android.youtube.player.internal.p.(Unknown Source)
at com.google.android.youtube.player.internal.ac.a(Unknown Source)
at com.google.android.youtube.player.YouTubeThumbnailView$a.a(Unknown Source)
at com.google.android.youtube.player.internal.r.g(Unknown Source)
at com.google.android.youtube.player.internal.r$c.a(Unknown Source)
at com.google.android.youtube.player.internal.r$b.a(Unknown Source)
at com.google.android.youtube.player.internal.r$a.handleMessage(Unknown Source)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5052)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
at dalvik.system.NativeStart.main(NativeStart.java)
I am not sure, why am I getting this. Can anyone please help?
from java.lang.IllegalStateException: YouTubeServiceEntity not initialized with YouTubeThumbnailView
No comments:
Post a Comment