package com.aptoide.amethyst;
import android.content.Intent;
import android.graphics.drawable.GradientDrawable;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.aptoide.amethyst.adapters.SpannableRecyclerAdapter;
import com.aptoide.amethyst.models.EnumStoreTheme;
import com.aptoide.dataprovider.webservices.models.Constants;
import com.aptoide.models.displayables.MoreVersionsAppViewItem;
import com.bumptech.glide.Glide;
import java.util.List;
import com.aptoide.amethyst.ui.widget.CircleTransform;
import com.aptoide.amethyst.viewholders.appview.MoreAppViewVersionsHolder;
/**
* Created by hsousa on 03/12/15.
*
*/
public class MoreAppViewVersionsAdapter extends RecyclerView.Adapter<MoreAppViewVersionsHolder> implements SpannableRecyclerAdapter {
public List<MoreVersionsAppViewItem> list;
public MoreAppViewVersionsAdapter(List<MoreVersionsAppViewItem> list) {
this.list = list;
}
@Override
public MoreAppViewVersionsHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.this_app_in_other_stores_layout, parent, false);
return new MoreAppViewVersionsHolder(v, viewType);
}
@Override
public void onBindViewHolder(final MoreAppViewVersionsHolder holder, int position) {
final MoreVersionsAppViewItem item = list.get(position);
GradientDrawable gd = new GradientDrawable();
gd.setColor(holder.itemView.getContext().getResources().getColor(EnumStoreTheme.get(item.storeTheme).getStoreHeader()));
gd.setCornerRadius(5);
holder.mContent.setBackgroundDrawable(gd);
// holder.mAppName.setText(item.appName);
// holder.mAppVersion.setText(AptoideUtils.StringUtils.getFormattedString(holder.itemView.getContext() ,R.string.version_placeholder, item.versionName));
holder.mAppVersion.setText(item.versionName);
holder.mStoreName.setText(item.storeName);
holder.mContent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(holder.itemView.getContext(), AppViewActivity.class);
i.putExtra(Constants.FROM_RELATED_KEY, true);
i.putExtra(Constants.APP_ID_KEY, item.id);
i.putExtra(Constants.APPNAME_KEY, item.appName);
i.putExtra(Constants.STOREID_KEY, item.storeId);
i.putExtra(Constants.STORENAME_KEY, item.storeName);
i.putExtra(Constants.STOREAVATAR_KEY, item.storeAvatar);
i.putExtra(Constants.PACKAGENAME_KEY, item.packageName);
i.putExtra(Constants.DOWNLOAD_FROM_KEY, "app_view_more_multiversion");
holder.itemView.getContext().startActivity(i);
}
});
if (TextUtils.isEmpty(item.icon)) {
Glide.with(holder.itemView.getContext()).fromResource().load(R.drawable.ic_avatar_apps).transform(new CircleTransform(holder.itemView.getContext())).into(holder.mAvatarApp);
} else {
Glide.with(holder.itemView.getContext()).load(item.icon).transform(new CircleTransform(holder.itemView.getContext())).into(holder.mAvatarApp);
}
if (TextUtils.isEmpty(item.storeAvatar)) {
Glide.with(holder.itemView.getContext()).fromResource().load(R.drawable.ic_avatar_apps).transform(new CircleTransform(holder.itemView.getContext())).into(holder.mAvatarStore);
} else {
Glide.with(holder.itemView.getContext()).load(item.storeAvatar).transform(new CircleTransform(holder.itemView.getContext())).into(holder.mAvatarStore);
}
}
@Override
public int getItemCount() {
return list.size();
}
@Override
public int getSpanSize(int position) {
return list.get(position).getSpanSize();
}
}