This commit is contained in:
juntao
2021-04-20 14:55:52 +08:00
parent f4b6193a6b
commit cbde36f3bd
2 changed files with 37 additions and 21 deletions

View File

@ -124,7 +124,7 @@ public class NewsDetailActivity extends ToolBarActivity implements OnClickListen
private GameEntity gameEntity;
private NewsEntity mNewsEntity;
private DownloadEntity mDownloadEntity;
private Boolean mHideUselessInfo = false;
private Handler handler = new Handler();
@ -248,21 +248,25 @@ public class NewsDetailActivity extends ToolBarActivity implements OnClickListen
mViewSkeletonScreen = Skeleton.bind(mSkeletonView).shimmer(false).load(R.layout.news_detail_skeleton).show();
// init toolbar
setNavigationTitle("");
setToolbarMenu(R.menu.menu_news_detail);
mNewsShare = getMenuItem(R.id.menu_share);
mNewsCollection = getMenuItem(R.id.menu_collect);
mNewsShare.setVisible(false);
mNewsCollection.setVisible(false);
mNoneDataTv.setText("页面不见了");
// init RecyclerView
mDetailRv.setHasFixedSize(true);
mDetailRv.setLayoutManager(new FixLinearLayoutManager(this));
mDetailRv.addItemDecoration(new VerticalItemDecoration(this, 8, false));
mHideUselessInfo = getIntent().getBooleanExtra(EntranceUtils.KEY_HIDE_USELESS_INFO, false);
setToolbarMenu(R.menu.menu_news_detail);
mNewsShare = getMenuItem(R.id.menu_share);
mNewsCollection = getMenuItem(R.id.menu_collect);
mNewsShare.setVisible(false);
mNewsCollection.setVisible(false);
if (mHideUselessInfo) {
getMenuItem(R.id.menu_download).setVisible(false);
}
adapter = new NewsDetailAdapter(this, this, mHideUselessInfo, mEntrance);
mDetailRv.setAdapter(adapter);
@ -281,7 +285,9 @@ public class NewsDetailActivity extends ToolBarActivity implements OnClickListen
adapter.setType(mNewsEntity.getType());
adapter.setTitle(mNewsEntity.getTitle());
adapter.getNewsDetail();
mNewsShare.setVisible(true);
if (!mHideUselessInfo) {
mNewsShare.setVisible(true);
}
}
} else {
getNewsDigest(newsId);
@ -451,12 +457,14 @@ public class NewsDetailActivity extends ToolBarActivity implements OnClickListen
@Override
public void loadDone() { // 通知更新收藏按钮
mNewsCollection.setVisible(true);
NewsDetailEntity newsDetailEntity = adapter.getNewsDetailEntity();
if (newsDetailEntity.getMe() != null && newsDetailEntity.getMe().isArticleFavorite()) {
mNewsCollection.setIcon(R.drawable.community_content_detail_collect_select);
} else {
mNewsCollection.setIcon(R.drawable.community_content_detail_collect_unselect);
if (!mHideUselessInfo) {
mNewsCollection.setVisible(true);
NewsDetailEntity newsDetailEntity = adapter.getNewsDetailEntity();
if (newsDetailEntity.getMe() != null && newsDetailEntity.getMe().isArticleFavorite()) {
mNewsCollection.setIcon(R.drawable.community_content_detail_collect_select);
} else {
mNewsCollection.setIcon(R.drawable.community_content_detail_collect_unselect);
}
}
}
@ -511,7 +519,9 @@ public class NewsDetailActivity extends ToolBarActivity implements OnClickListen
adapter.setTitle(response.getTitle());
adapter.getNewsDetail();
mNewsShare.setVisible(true);
if (!mHideUselessInfo) {
mNewsShare.setVisible(true);
}
HistoryHelper.insertNewsEntity(mNewsEntity);
@ -639,11 +649,11 @@ public class NewsDetailActivity extends ToolBarActivity implements OnClickListen
public void onResponse(GameEntity response) {
ApkActiveUtils.filterHideApk(response);
gameEntity = response;
if (!mHideUselessInfo) {
adapter.setGameEntity(gameEntity);
adapter.notifyItemInserted(1);
mDetailBottomLl.setVisibility(View.VISIBLE);
DetailDownloadUtils.detailInitDownload(getDetailViewHolder(), true);
} else {

View File

@ -221,7 +221,7 @@ public class NewsDetailAdapter extends BaseRecyclerAdapter<ViewHolder> {
private void initNewsDetailContentViewHolder(NewsDetailContentViewHolder viewHolder) {
viewHolder.titleTv.setText(mNewsDetailEntity.getTitle());
if (mHideUselessInfo) {
viewHolder.timeTv.setVisibility(View.GONE);
}
@ -256,10 +256,16 @@ public class NewsDetailAdapter extends BaseRecyclerAdapter<ViewHolder> {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (mHideUselessInfo) {
DirectUtils.directToWebView(mContext, url, "新闻详情");
return true;
}
boolean b = DefaultUrlHandler.transformNormalScheme(mContext, url, StringUtils.buildString(mEntrance, "+(新闻详情[", mNewsDetailEntity.getTitle(), "])"));
if(!b) {
if (!b) {
return DefaultUrlHandler.interceptUrl(mContext, url, StringUtils.buildString(mEntrance, "+(新闻详情[", mNewsDetailEntity.getTitle(), "])"));
}
return true;
}
});