光环助手V3.7.0-游戏视频功能-前端5(问答相关)(2)https://gitlab.ghzs.com/pm/halo-app-issues/issues/626
This commit is contained in:
@ -6,7 +6,6 @@ import android.view.LayoutInflater;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
@ -29,6 +28,7 @@ import com.gh.common.util.PlatformUtils;
|
||||
import com.gh.common.util.StringUtils;
|
||||
import com.gh.common.view.DownloadDialog;
|
||||
import com.gh.common.view.DownloadProgressBar;
|
||||
import com.gh.common.view.DrawableView;
|
||||
import com.gh.download.DownloadManager;
|
||||
import com.gh.gamecenter.DownloadManagerActivity;
|
||||
import com.gh.gamecenter.R;
|
||||
@ -41,7 +41,7 @@ import com.gh.gamecenter.entity.PluginLocation;
|
||||
import com.gh.gamecenter.entity.ServerCalendarEntity;
|
||||
import com.gh.gamecenter.eventbus.EBReuse;
|
||||
import com.gh.gamecenter.manager.PackagesManager;
|
||||
import com.halo.assistant.HaloApp;
|
||||
import com.gh.gamecenter.qa.entity.CommunityVideoEntity;
|
||||
import com.lightgame.download.DownloadEntity;
|
||||
import com.lightgame.download.FileUtils;
|
||||
import com.lightgame.utils.Utils;
|
||||
@ -512,4 +512,30 @@ public class BindingAdapters {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@BindingAdapter({"setCommunityImage", "setCommunityVideoImage"})
|
||||
public static void setCommunityImage(SimpleDraweeView imageView, List<String> images, List<CommunityVideoEntity> videos) {
|
||||
if (videos.size() > 0) {
|
||||
CommunityVideoEntity videoEntity = videos.get(0);
|
||||
ImageUtils.display(imageView, videoEntity.getPoster());
|
||||
imageView.setVisibility(View.VISIBLE);
|
||||
} else if (images.size() > 0) {
|
||||
imageView.setVisibility(View.VISIBLE);
|
||||
ImageUtils.display(imageView, images.get(0));
|
||||
} else {
|
||||
imageView.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
@BindingAdapter({"setCommunityVideoDuration"})
|
||||
public static void setCommunityVideoDuration(TextView mVideoDuration, List<CommunityVideoEntity> videos) {
|
||||
if (videos != null && videos.size() > 0) {
|
||||
CommunityVideoEntity videoEntity = videos.get(0);
|
||||
mVideoDuration.setBackground(DrawableView.getOvalDrawable(R.color.black_alpha_80, 999F));
|
||||
mVideoDuration.setText(videoEntity.getDuration());
|
||||
mVideoDuration.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
mVideoDuration.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -17,15 +17,15 @@ import com.gh.gamecenter.room.dao.GameDao
|
||||
import com.gh.gamecenter.room.dao.NewsHistoryDao
|
||||
import com.halo.assistant.HaloApp
|
||||
|
||||
@Database(entities = [AnswerEntity::class, ArticleEntity::class, NewsEntity::class, HistoryGameEntity::class], version = 3, exportSchema = false)
|
||||
@TypeConverters(*[
|
||||
CountConverter::class,
|
||||
CommunityConverter::class,
|
||||
TimeConverter::class,
|
||||
AnswerUserConverter::class,
|
||||
ThumbnailConverter::class,
|
||||
TagStyleListConverter::class,
|
||||
StringArrayListConverter::class])
|
||||
@Database(entities = [AnswerEntity::class, ArticleEntity::class, NewsEntity::class, HistoryGameEntity::class], version = 4, exportSchema = false)
|
||||
@TypeConverters(CountConverter::class,
|
||||
CommunityConverter::class,
|
||||
TimeConverter::class,
|
||||
AnswerUserConverter::class,
|
||||
ThumbnailConverter::class,
|
||||
TagStyleListConverter::class,
|
||||
StringArrayListConverter::class,
|
||||
CommunityVideoConverter::class)
|
||||
|
||||
abstract class HistoryDatabase : RoomDatabase() {
|
||||
|
||||
@ -42,9 +42,16 @@ abstract class HistoryDatabase : RoomDatabase() {
|
||||
}
|
||||
}
|
||||
|
||||
val MIGRATION_3_4: Migration = object : Migration(3, 4) {
|
||||
override fun migrate(database: SupportSQLiteDatabase) {
|
||||
database.execSQL("Alter TABLE ArticleEntity add videos TEXT")
|
||||
}
|
||||
}
|
||||
|
||||
val instance by lazy {
|
||||
Room.databaseBuilder(HaloApp.getInstance().application, HistoryDatabase::class.java, "USER_TRACK_HISTORY_DATABASE")
|
||||
.addMigrations(MIGRATION_2_3)
|
||||
.addMigrations(MIGRATION_3_4)
|
||||
.build()
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.gh.gamecenter.entity
|
||||
|
||||
import com.gh.gamecenter.qa.entity.CommunityVideoEntity
|
||||
import com.google.gson.annotations.SerializedName
|
||||
|
||||
data class PersonalHistoryEntity(
|
||||
@ -12,6 +13,7 @@ data class PersonalHistoryEntity(
|
||||
val time: Long = 0,
|
||||
val title: String = "",
|
||||
val community: CommunityEntity = CommunityEntity(),
|
||||
var videos: List<CommunityVideoEntity> = ArrayList(),
|
||||
var user: PersonalEntity? = null,
|
||||
@SerializedName("fold_users")
|
||||
var foldUsers: List<UserEntity>? = null,
|
||||
|
||||
@ -23,7 +23,7 @@ class MyArticleAdapter(context: Context,
|
||||
return ItemViewType.ITEM_BODY
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): androidx.recyclerview.widget.RecyclerView.ViewHolder {
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
||||
val view: View
|
||||
return when (viewType) {
|
||||
ItemViewType.ITEM_FOOTER -> {
|
||||
@ -41,7 +41,7 @@ class MyArticleAdapter(context: Context,
|
||||
return if (mEntityList.size == 0) 0 else mEntityList.size + 1
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: androidx.recyclerview.widget.RecyclerView.ViewHolder, position: Int) {
|
||||
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
|
||||
if (holder is ArticleViewHolder) {
|
||||
val entity = mEntityList[position]
|
||||
holder.binding.data = entity
|
||||
|
||||
@ -26,7 +26,7 @@ class HotAdapter(context: Context,
|
||||
return if (position == itemCount - 1) ItemViewType.ITEM_FOOTER else ItemViewType.ITEM_BODY
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): androidx.recyclerview.widget.RecyclerView.ViewHolder {
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
||||
return when (viewType) {
|
||||
ItemViewType.ITEM_FOOTER -> {
|
||||
FooterViewHolder(mLayoutInflater.inflate(R.layout.refresh_footerview, parent, false))
|
||||
@ -41,7 +41,7 @@ class HotAdapter(context: Context,
|
||||
return if (mEntityList == null || mEntityList.isEmpty()) 0 else mEntityList.size + ListAdapter.FOOTER_ITEM_COUNT
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: androidx.recyclerview.widget.RecyclerView.ViewHolder, position: Int) {
|
||||
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
|
||||
if (holder is AskQuestionsRecommendsViewHolder) {
|
||||
val answerEntity = mEntityList[position]
|
||||
if ("community_article" == answerEntity.type) {
|
||||
|
||||
@ -26,7 +26,7 @@ class RecommendsAdapter(context: Context,
|
||||
return if (position == itemCount - 1) ItemViewType.ITEM_FOOTER else ItemViewType.ITEM_BODY
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): androidx.recyclerview.widget.RecyclerView.ViewHolder {
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
||||
return when (viewType) {
|
||||
ItemViewType.ITEM_FOOTER -> {
|
||||
FooterViewHolder(mLayoutInflater.inflate(R.layout.refresh_footerview, parent, false))
|
||||
@ -41,7 +41,7 @@ class RecommendsAdapter(context: Context,
|
||||
return if (mEntityList == null || mEntityList.isEmpty()) 0 else mEntityList.size + ListAdapter.FOOTER_ITEM_COUNT
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: androidx.recyclerview.widget.RecyclerView.ViewHolder, position: Int) {
|
||||
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
|
||||
if (holder is AskQuestionsRecommendsViewHolder) {
|
||||
val answerEntity = mEntityList[position]
|
||||
if ("community_article" == answerEntity.type) {
|
||||
|
||||
@ -21,7 +21,7 @@ class UnansweredAdapter(context: Context,
|
||||
return if (position == itemCount - 1) ItemViewType.ITEM_FOOTER else ItemViewType.ITEM_BODY
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): androidx.recyclerview.widget.RecyclerView.ViewHolder {
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
|
||||
return when (viewType) {
|
||||
ItemViewType.ITEM_FOOTER -> {
|
||||
FooterViewHolder(mLayoutInflater.inflate(R.layout.refresh_footerview, parent, false))
|
||||
@ -36,7 +36,7 @@ class UnansweredAdapter(context: Context,
|
||||
return if (mEntityList == null || mEntityList.isEmpty()) 0 else mEntityList.size + ListAdapter.FOOTER_ITEM_COUNT
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: androidx.recyclerview.widget.RecyclerView.ViewHolder, position: Int) {
|
||||
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
|
||||
if (holder is AskQuestionsNewViewHolder) {
|
||||
val questions = mEntityList[position]
|
||||
holder.initAskQuestionsNewViewHolder(questions)
|
||||
|
||||
@ -8,6 +8,7 @@ import android.os.Parcelable
|
||||
import androidx.annotation.NonNull
|
||||
import com.gh.gamecenter.entity.UserEntity
|
||||
import com.gh.gamecenter.room.converter.AnswerUserConverter
|
||||
import com.gh.gamecenter.room.converter.CommunityVideoConverter
|
||||
import com.gh.gamecenter.room.converter.ListStringConverter
|
||||
import com.gh.gamecenter.room.converter.QuestionsConverter
|
||||
import com.google.gson.annotations.SerializedName
|
||||
@ -41,6 +42,9 @@ class AnswerEntity() : Parcelable {
|
||||
@TypeConverters(ListStringConverter::class)
|
||||
var images: List<String> = ArrayList()
|
||||
|
||||
@TypeConverters(CommunityVideoConverter::class)
|
||||
var videos: List<CommunityVideoEntity> = ArrayList()
|
||||
|
||||
var vote: Int = 0
|
||||
|
||||
@TypeConverters(AnswerUserConverter::class)
|
||||
|
||||
@ -4,8 +4,10 @@ import androidx.room.Entity
|
||||
import androidx.room.Ignore
|
||||
import androidx.room.PrimaryKey
|
||||
import android.os.Parcelable
|
||||
import androidx.room.TypeConverters
|
||||
import com.gh.gamecenter.entity.CommunityEntity
|
||||
import com.gh.gamecenter.entity.UserEntity
|
||||
import com.gh.gamecenter.room.converter.CommunityVideoConverter
|
||||
import com.google.gson.annotations.SerializedName
|
||||
import kotlinx.android.parcel.Parcelize
|
||||
|
||||
@ -21,6 +23,8 @@ data class ArticleEntity(
|
||||
var orderTag: Long = 0,
|
||||
@Ignore
|
||||
var images: List<String> = ArrayList(),
|
||||
@TypeConverters(CommunityVideoConverter::class)
|
||||
var videos: List<CommunityVideoEntity> = ArrayList(),
|
||||
var count: Count = Count(),
|
||||
var community: CommunityEntity = CommunityEntity(),
|
||||
var time: TimeEntity? = TimeEntity(),
|
||||
|
||||
@ -0,0 +1,10 @@
|
||||
package com.gh.gamecenter.qa.entity
|
||||
|
||||
import android.os.Parcelable
|
||||
import kotlinx.android.parcel.Parcelize
|
||||
|
||||
@Parcelize
|
||||
data class CommunityVideoEntity(val id: String = "",
|
||||
val url: String = "",
|
||||
val duration: String = "",
|
||||
val poster: String = "") : Parcelable
|
||||
@ -16,6 +16,6 @@ data class Questions(@SerializedName("_id")
|
||||
@SerializedName("answer_count")
|
||||
var answerCount: Int = 0,
|
||||
var description: String? = null,
|
||||
var images: List<String> = ArrayList(),
|
||||
var images: ArrayList<String> = ArrayList(),
|
||||
val time: Long = 0,
|
||||
val count: Count = Count()) : Parcelable
|
||||
@ -2,7 +2,9 @@ package com.gh.gamecenter.qa.questions.detail;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Paint;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
@ -12,10 +14,12 @@ import com.gh.base.OnListClickListener;
|
||||
import com.gh.common.util.ImageUtils;
|
||||
import com.gh.common.util.NewsUtils;
|
||||
import com.gh.common.util.NumberUtils;
|
||||
import com.gh.common.view.DrawableView;
|
||||
import com.gh.gamecenter.PersonalHomeActivity;
|
||||
import com.gh.gamecenter.R;
|
||||
import com.gh.gamecenter.entity.UserEntity;
|
||||
import com.gh.gamecenter.qa.entity.AnswerEntity;
|
||||
import com.gh.gamecenter.qa.entity.CommunityVideoEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -49,6 +53,10 @@ public class AnswerViewHolder extends BaseRecyclerViewHolder<AnswerEntity> {
|
||||
View mUserIconContainer;
|
||||
@BindView(R.id.ask_answer_item_end_desc)
|
||||
TextView mEndDescTv;
|
||||
@BindView(R.id.ask_answer_item_video_duration)
|
||||
TextView mVideoDuration;
|
||||
@BindView(R.id.ask_answer_item_video_play)
|
||||
View mVideoPlayIcon;
|
||||
|
||||
public AnswerViewHolder(View itemView, OnListClickListener listClickListener) {
|
||||
super(itemView, listClickListener);
|
||||
@ -74,22 +82,7 @@ public class AnswerViewHolder extends BaseRecyclerViewHolder<AnswerEntity> {
|
||||
} else {
|
||||
ImageUtils.display(mBadgeIcon, "");
|
||||
}
|
||||
List<String> images = entity.getImages();
|
||||
if (images.size() > 0) {
|
||||
for (int i = 0; i < images.size(); i++) {
|
||||
if (!images.get(i).contains(".gif")) {
|
||||
mImg.setVisibility(View.VISIBLE);
|
||||
ImageUtils.display(mImg, images.get(i));
|
||||
break;
|
||||
}
|
||||
if (i == images.size() - 1) {
|
||||
mImg.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
mImg.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
setAnswerImage(entity.getImages(), entity.getVideos());
|
||||
if (entity.getTime() != null && entity.getTime() != 0) {
|
||||
mEndDescTv.setText(NewsUtils.getFormattedTime(entity.getTime()));
|
||||
}
|
||||
@ -123,21 +116,7 @@ public class AnswerViewHolder extends BaseRecyclerViewHolder<AnswerEntity> {
|
||||
} else {
|
||||
ImageUtils.display(mBadgeIcon, "");
|
||||
}
|
||||
List<String> images = entity.getImages();
|
||||
if (images.size() > 0) {
|
||||
for (int i = 0; i < images.size(); i++) {
|
||||
if (!images.get(i).contains(".gif")) {
|
||||
mImg.setVisibility(View.VISIBLE);
|
||||
ImageUtils.display(mImg, images.get(i));
|
||||
break;
|
||||
}
|
||||
if (i == images.size() - 1) {
|
||||
mImg.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
mImg.setVisibility(View.GONE);
|
||||
}
|
||||
setAnswerImage(entity.getImages(), entity.getVideos());
|
||||
skipPersonalHome(entity, entrance, "我的收藏-回答");
|
||||
}
|
||||
|
||||
@ -152,8 +131,19 @@ public class AnswerViewHolder extends BaseRecyclerViewHolder<AnswerEntity> {
|
||||
mCommunityName.setText(entity.getCommunityName());
|
||||
mCommentCount.setText(String.format("%s 评论", NumberUtils.transSimpleCount(entity.getCommentCount())));
|
||||
mVotecount.setText(itemView.getContext().getString(R.string.ask_vote_count, NumberUtils.transSimpleCount(entity.getVote())));
|
||||
List<String> images = entity.getImages();
|
||||
if (images.size() > 0) {
|
||||
setAnswerImage(entity.getImages(), entity.getVideos());
|
||||
}
|
||||
|
||||
private void setAnswerImage(List<String> images, List<CommunityVideoEntity> videos) {
|
||||
if (videos.size() > 0) {
|
||||
CommunityVideoEntity videoEntity = videos.get(0);
|
||||
ImageUtils.display(mImg, videoEntity.getPoster());
|
||||
mVideoDuration.setBackground(DrawableView.getOvalDrawable(R.color.black_alpha_80, 999F));
|
||||
mVideoDuration.setText(videoEntity.getDuration());
|
||||
mVideoDuration.setVisibility(View.VISIBLE);
|
||||
mVideoPlayIcon.setVisibility(View.VISIBLE);
|
||||
mImg.setVisibility(View.VISIBLE);
|
||||
} else if (images.size() > 0) {
|
||||
for (int i = 0; i < images.size(); i++) {
|
||||
if (!images.get(i).contains(".gif")) {
|
||||
mImg.setVisibility(View.VISIBLE);
|
||||
@ -164,13 +154,18 @@ public class AnswerViewHolder extends BaseRecyclerViewHolder<AnswerEntity> {
|
||||
mImg.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
mVideoPlayIcon.setVisibility(View.GONE);
|
||||
mVideoDuration.setVisibility(View.GONE);
|
||||
} else {
|
||||
mImg.setVisibility(View.GONE);
|
||||
mVideoPlayIcon.setVisibility(View.GONE);
|
||||
mVideoDuration.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
private void skipPersonalHome(AnswerEntity entity, String entrance, String path) {
|
||||
mUsericon.setOnClickListener(v -> PersonalHomeActivity.startTargetActivity(itemView.getContext(), entity.getUser().getId(), entrance, path));
|
||||
mUsername.setOnClickListener(v -> PersonalHomeActivity.startTargetActivity(itemView.getContext(), entity.getUser().getId(), entrance, path));
|
||||
View.OnClickListener onClickListener = v -> PersonalHomeActivity.startTargetActivity(itemView.getContext(), entity.getUser().getId(), entrance, path);
|
||||
mUsericon.setOnClickListener(onClickListener);
|
||||
mUsername.setOnClickListener(onClickListener);
|
||||
}
|
||||
}
|
||||
|
||||
@ -10,11 +10,13 @@ import com.gh.base.OnListClickListener;
|
||||
import com.gh.common.util.ImageUtils;
|
||||
import com.gh.common.util.NewsUtils;
|
||||
import com.gh.common.util.NumberUtils;
|
||||
import com.gh.common.view.DrawableView;
|
||||
import com.gh.gamecenter.PersonalHomeActivity;
|
||||
import com.gh.gamecenter.R;
|
||||
import com.gh.gamecenter.entity.UserEntity;
|
||||
import com.gh.gamecenter.qa.entity.AnswerEntity;
|
||||
import com.gh.gamecenter.qa.entity.ArticleEntity;
|
||||
import com.gh.gamecenter.qa.entity.CommunityVideoEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -46,6 +48,10 @@ public class AskQuestionsRecommendsViewHolder extends BaseRecyclerViewHolder<Ans
|
||||
TextView mAskEndDesc;
|
||||
@BindView(R.id.ask_item_line)
|
||||
public View mLine;
|
||||
@BindView(R.id.ask_item_video_duration)
|
||||
TextView mVideoDuration;
|
||||
@BindView(R.id.ask_item_video_play)
|
||||
View mVideoPlayIcon;
|
||||
|
||||
public AskQuestionsRecommendsViewHolder(View itemView, OnListClickListener listClickListener) {
|
||||
super(itemView, listClickListener);
|
||||
@ -77,17 +83,11 @@ public class AskQuestionsRecommendsViewHolder extends BaseRecyclerViewHolder<Ans
|
||||
}
|
||||
|
||||
mAskTitle.setText(entity.getQuestions().getTitle());
|
||||
setAnswerImage(entity.getImages(), entity.getVideos());
|
||||
|
||||
List<String> images = entity.getImages();
|
||||
if (images.size() > 0) {
|
||||
mAskImg.setVisibility(View.VISIBLE);
|
||||
ImageUtils.display(mAskImg, images.get(0));
|
||||
} else {
|
||||
mAskImg.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
mAskUsericon.setOnClickListener(v -> PersonalHomeActivity.startTargetActivity(context, entity.getUser().getId(), entrance, path));
|
||||
mAskUsername.setOnClickListener(v -> PersonalHomeActivity.startTargetActivity(context, entity.getUser().getId(), entrance, path));
|
||||
View.OnClickListener userClick = v -> PersonalHomeActivity.startTargetActivity(context, entity.getUser().getId(), entrance, path);
|
||||
mAskUsericon.setOnClickListener(userClick);
|
||||
mAskUsername.setOnClickListener(userClick);
|
||||
|
||||
if (entity.getTime() != null && entity.getTime() != 0) {
|
||||
mAskEndDesc.setText(NewsUtils.getFormattedTime(entity.getTime()));
|
||||
@ -112,21 +112,36 @@ public class AskQuestionsRecommendsViewHolder extends BaseRecyclerViewHolder<Ans
|
||||
}
|
||||
|
||||
mAskTitle.setText(entity.getTitle());
|
||||
setAnswerImage(entity.getImages(), entity.getVideos());
|
||||
|
||||
List<String> images = entity.getImages();
|
||||
if (images.size() > 0) {
|
||||
mAskImg.setVisibility(View.VISIBLE);
|
||||
ImageUtils.display(mAskImg, images.get(0));
|
||||
} else {
|
||||
mAskImg.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
mAskUsericon.setOnClickListener(v -> PersonalHomeActivity.startTargetActivity(context, entity.getUser().getId(), entrance, path));
|
||||
mAskUsername.setOnClickListener(v -> PersonalHomeActivity.startTargetActivity(context, entity.getUser().getId(), entrance, path));
|
||||
View.OnClickListener userClick = v -> PersonalHomeActivity.startTargetActivity(context, entity.getUser().getId(), entrance, path);
|
||||
mAskUsericon.setOnClickListener(userClick);
|
||||
mAskUsername.setOnClickListener(userClick);
|
||||
|
||||
if (entity.getTime() != null && entity.getTime().getCreate() != 0) {
|
||||
mAskEndDesc.setText(NewsUtils.getFormattedTime(entity.getTime().getCreate()));
|
||||
}
|
||||
}
|
||||
|
||||
private void setAnswerImage( List<String> images, List<CommunityVideoEntity> videos) {
|
||||
if (videos.size() > 0) {
|
||||
CommunityVideoEntity videoEntity = videos.get(0);
|
||||
ImageUtils.display(mAskImg, videoEntity.getPoster());
|
||||
mVideoDuration.setBackground(DrawableView.getOvalDrawable(R.color.black_alpha_80, 999F));
|
||||
mVideoDuration.setText(videoEntity.getDuration());
|
||||
mVideoPlayIcon.setVisibility(View.VISIBLE);
|
||||
mVideoDuration.setVisibility(View.VISIBLE);
|
||||
mAskImg.setVisibility(View.VISIBLE);
|
||||
} else if (images.size() > 0) {
|
||||
mAskImg.setVisibility(View.VISIBLE);
|
||||
ImageUtils.display(mAskImg, images.get(0));
|
||||
mVideoPlayIcon.setVisibility(View.GONE);
|
||||
mVideoDuration.setVisibility(View.GONE);
|
||||
} else {
|
||||
mAskImg.setVisibility(View.GONE);
|
||||
mVideoPlayIcon.setVisibility(View.GONE);
|
||||
mVideoDuration.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -23,7 +23,11 @@ import com.gh.gamecenter.video.upload.UploadEntity;
|
||||
/**
|
||||
* Created by khy on 28/11/17.
|
||||
*/
|
||||
@Database(entities = {LoginTokenEntity.class, UserInfoEntity.class, SignEntity.class, AnswerEntity.class, UploadEntity.class}, version = 10, exportSchema = false)
|
||||
@Database(entities = {LoginTokenEntity.class,
|
||||
UserInfoEntity.class,
|
||||
SignEntity.class,
|
||||
AnswerEntity.class,
|
||||
UploadEntity.class}, version = 11, exportSchema = false)
|
||||
public abstract class AppDatabase extends RoomDatabase {
|
||||
|
||||
public abstract AnswerDao answerDao();
|
||||
@ -107,6 +111,13 @@ public abstract class AppDatabase extends RoomDatabase {
|
||||
}
|
||||
};
|
||||
|
||||
static final Migration MIGRATION_10_11 = new Migration(10, 11) {
|
||||
@Override
|
||||
public void migrate(@NonNull SupportSQLiteDatabase database) {
|
||||
database.execSQL("Alter TABLE ArticleEntity add videos TEXT");
|
||||
}
|
||||
};
|
||||
|
||||
private static AppDatabase buildDatabase(Context context) {
|
||||
return Room.databaseBuilder(context, AppDatabase.class, DATABASE_NAME)
|
||||
.addMigrations(
|
||||
@ -116,7 +127,8 @@ public abstract class AppDatabase extends RoomDatabase {
|
||||
MIGRATION_6_7,
|
||||
MIGRATION_7_8,
|
||||
MIGRATION_8_9,
|
||||
MIGRATION_9_10)
|
||||
MIGRATION_9_10,
|
||||
MIGRATION_10_11)
|
||||
// 不允许主线程查询
|
||||
.allowMainThreadQueries()
|
||||
// // 提供db升级的策略而不是强行销毁
|
||||
|
||||
@ -0,0 +1,19 @@
|
||||
package com.gh.gamecenter.room.converter
|
||||
|
||||
import androidx.room.TypeConverter
|
||||
import com.gh.common.util.toJson
|
||||
import com.gh.common.util.toObject
|
||||
import com.gh.gamecenter.qa.entity.CommunityVideoEntity
|
||||
|
||||
class CommunityVideoConverter {
|
||||
|
||||
@TypeConverter
|
||||
fun toCommunityVideoString(data: List<CommunityVideoEntity>?): String {
|
||||
return data?.toJson() ?: ""
|
||||
}
|
||||
|
||||
@TypeConverter
|
||||
fun toCommunityVideoEntity(token: String?): List<CommunityVideoEntity> {
|
||||
return token?.toObject() ?: arrayListOf()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user