/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package com.linkbubble.ui;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import com.linkbubble.util.YouTubeEmbedHelper;
public class OpenEmbedButton extends ContentViewButton implements View.OnClickListener {
private static final String TAG = "OpenEmbedButton";
private OnOpenEmbedClickListener mOnOpenEmbedClickListener;
private YouTubeEmbedHelper mYouTubeEmbedHelper = null;
interface OnOpenEmbedClickListener {
void onYouTubeEmbedOpened();
}
public OpenEmbedButton(Context context) {
this(context, null);
}
public OpenEmbedButton(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public OpenEmbedButton(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setOnClickListener(this);
}
void setOnOpenEmbedClickListener(OnOpenEmbedClickListener listener) {
mOnOpenEmbedClickListener = listener;
}
boolean configure(YouTubeEmbedHelper youTubeEmbedHelper) {
mYouTubeEmbedHelper = youTubeEmbedHelper;
if (mYouTubeEmbedHelper != null && mYouTubeEmbedHelper.size() > 0) {
if (mYouTubeEmbedHelper.mYouTubeResolveInfo != null) {
Drawable d = mYouTubeEmbedHelper.mYouTubeResolveInfo.loadIcon(getContext().getPackageManager());
if (d != null) {
setImageDrawable(d);
setTag(mYouTubeEmbedHelper.mYouTubeResolveInfo);
Log.d(TAG, "YouTube embed");
setVisibility(VISIBLE);
return true;
}
}
}
setVisibility(GONE);
return false;
}
@Override
public void onClick(View v) {
if (mYouTubeEmbedHelper.onOpenInAppButtonClick()) {
if (mOnOpenEmbedClickListener != null) {
mOnOpenEmbedClickListener.onYouTubeEmbedOpened();
}
}
}
}