Merge branch 'dev' of gitlab.ghzhushou.com:halo/assistant-android into dev
This commit is contained in:
@ -4,8 +4,10 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Color;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.StrictMode;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.text.Html;
|
||||
@ -113,6 +115,12 @@ public class ShareCardActivity extends BaseActivity {
|
||||
String qrBody = "http://www.ghzs666.com/article/" + newsId + ".html?source=appshare200";
|
||||
QRCodeUtils.setQRCode(this, qrBody, mShareQrCodeDv);
|
||||
}
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
|
||||
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
|
||||
StrictMode.setVmPolicy(builder.build());
|
||||
builder.detectFileUriExposure();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -6,7 +6,9 @@ import android.graphics.Bitmap;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.Animatable;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.StrictMode;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.text.Html;
|
||||
import android.text.TextUtils;
|
||||
@ -176,6 +178,13 @@ public class ShareCardPicActivity extends BaseActivity {
|
||||
String qrBody = "http://www.ghzs666.com/article/" + newsId + ".html?source=appshare200";
|
||||
QRCodeUtils.setQRCode(this, qrBody, mShareQrCodeDv);
|
||||
}
|
||||
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
|
||||
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
|
||||
StrictMode.setVmPolicy(builder.build());
|
||||
builder.detectFileUriExposure();
|
||||
}
|
||||
}
|
||||
|
||||
private void setContentImage(String url) {
|
||||
|
||||
@ -179,12 +179,13 @@ public class PlatformAdapter extends BaseRecyclerAdapter<PlatformViewHolder> {
|
||||
ApkLink apkLink = apkEntity.getApkLink();
|
||||
if (apkLink != null) {
|
||||
viewHolder.mDownloadItemIvPic.setVisibility(View.VISIBLE);
|
||||
viewHolder.mDownloadItemTvHint.setVisibility(View.VISIBLE);
|
||||
viewHolder.mDownloadItemTvHint.setVisibility(View.GONE);
|
||||
viewHolder.mDownloadItemTvName.setVisibility(View.GONE);
|
||||
viewHolder.mDownloadItemTvStatus.setVisibility(View.GONE);
|
||||
viewHolder.mDownloadItemProgressbar.setVisibility(View.GONE);
|
||||
viewHolder.mDownloadItemTvHint.setText(apkLink.getName());
|
||||
viewHolder.mDownloadItemIvPic.setImageURI(apkLink.getIcon());
|
||||
ImageUtils.display(viewHolder.mDownloadItemIvPic, apkLink.getIcon());
|
||||
viewHolder.itemView.setBackgroundDrawable(new ColorDrawable(0));
|
||||
} else {
|
||||
Object gh_id = PackageUtils.getMetaData(mContext, apkEntity.getPackageName(), "gh_id");
|
||||
if (PackageManager.INSTANCE.isInstalled(apkEntity.getPackageName())
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.gh.gamecenter.collection;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.view.View;
|
||||
|
||||
import com.gh.common.util.CollectionUtils;
|
||||
@ -28,6 +29,14 @@ public class AnswerFragment extends ListFragment<AnswerEntity, NormalListViewMod
|
||||
|
||||
private AnswerAdapter mAdapter;
|
||||
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (requestCode == 123) {
|
||||
onLoadRefresh();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ListAdapter provideListAdapter() {
|
||||
return mAdapter == null ? mAdapter = new AnswerAdapter(getContext(), this, mEntrance) : mAdapter;
|
||||
@ -51,7 +60,7 @@ public class AnswerFragment extends ListFragment<AnswerEntity, NormalListViewMod
|
||||
case R.id.ask_answer_item_content:
|
||||
entity = (AnswerEntity) data;
|
||||
if (entity.getActive()) {
|
||||
startActivity(AnswerDetailActivity.getIntent(getContext(), entity.getId(), mEntrance, "我的收藏-回答"));
|
||||
startActivityForResult(AnswerDetailActivity.getIntent(getContext(), entity.getId(), mEntrance, "我的收藏-回答"), 123);
|
||||
} else {
|
||||
showDeleteDialog(entity.getId());
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.gh.gamecenter.collection
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.graphics.Paint
|
||||
import android.support.v4.content.ContextCompat
|
||||
@ -61,7 +62,7 @@ class CommunityArticleAdapter(context: Context,
|
||||
}
|
||||
holder.itemView.setOnClickListener {
|
||||
if (entity.active) {
|
||||
mContext.startActivity(ArticleDetailActivity.getIntent(mContext, entity.community, entity.id, mEntrance, path))
|
||||
(mContext as Activity).startActivityForResult(ArticleDetailActivity.getIntent(mContext, entity.community, entity.id, mEntrance, path), 133)
|
||||
} else {
|
||||
DialogUtils.showCancelAlertDialog(mContext, "提示", "内容已被删除,是否取消收藏?", "取消收藏", "暂不", {
|
||||
mViewModel.deleteCollection(entity.community.id, entity.id)
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.gh.gamecenter.collection
|
||||
|
||||
import android.arch.lifecycle.ViewModelProviders
|
||||
import android.content.Intent
|
||||
import com.gh.gamecenter.baselist.ListFragment
|
||||
import com.gh.gamecenter.manager.UserManager
|
||||
import com.gh.gamecenter.qa.entity.ArticleEntity
|
||||
@ -11,6 +12,13 @@ class CommunityArticleFragment : ListFragment<ArticleEntity, CommunityArticleVie
|
||||
|
||||
var mAdapter: CommunityArticleAdapter? = null
|
||||
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||
super.onActivityResult(requestCode, resultCode, data)
|
||||
if (requestCode == 133) {
|
||||
onLoadRefresh()
|
||||
}
|
||||
}
|
||||
|
||||
override fun provideListAdapter(): CommunityArticleAdapter {
|
||||
if (mAdapter == null) {
|
||||
mAdapter = CommunityArticleAdapter(context!!, mListViewModel, mEntrance)
|
||||
|
||||
@ -6,6 +6,7 @@ class Rating(val star: Star = Star(),
|
||||
var isExistComment: Boolean = true)
|
||||
|
||||
class Star(var average: Float = 0F,
|
||||
val hits: Int = 0,
|
||||
val total: Int = 0,
|
||||
val one: Int = 0,
|
||||
val two: Int = 0,
|
||||
|
||||
@ -99,11 +99,11 @@ public class GameDetailFragment extends NormalFragment {
|
||||
@BindView(R.id.rating_score_container)
|
||||
View ratingScoreContainer;
|
||||
@BindView(R.id.gamedetail_tabbar_fuli_tv)
|
||||
CheckedTextView mTanBarFuLiTv;
|
||||
CheckedTextView mTabBarFuLiTv;
|
||||
@BindView(R.id.gamedetail_tabbar_xinxi_tv)
|
||||
CheckedTextView mTanBarXinXiTv;
|
||||
CheckedTextView mTabBarXinXiTv;
|
||||
@BindView(R.id.gamedetail_tabbar_rating)
|
||||
CheckedTextView mTanBarRatingTv;
|
||||
CheckedTextView mTabBarRatingTv;
|
||||
@BindView(R.id.gamedetail_tabbar_line)
|
||||
View mTabbarLine;
|
||||
@BindView(R.id.gamedetail_tabbar)
|
||||
@ -135,6 +135,7 @@ public class GameDetailFragment extends NormalFragment {
|
||||
private boolean mAutoDownload;
|
||||
private boolean mSwitchToFirstTabInStartup;
|
||||
private int mCurVpPosition;
|
||||
private int mMaxWidth;
|
||||
|
||||
private DataWatcher dataWatcher = new DataWatcher() {
|
||||
@Override
|
||||
@ -183,6 +184,8 @@ public class GameDetailFragment extends NormalFragment {
|
||||
mViewPager.setScrollable(true);
|
||||
mViewPager.setOffscreenPageLimit(3);
|
||||
|
||||
mMaxWidth = getResources().getDisplayMetrics().widthPixels - DisplayUtils.dip2px(40);
|
||||
|
||||
Bundle args = getArguments();
|
||||
mSwitchToFirstTabInStartup = args.getBoolean(EntranceUtils.KEY_TARGET);
|
||||
mAutoDownload = args.getBoolean(EntranceUtils.KEY_AUTO_DOWNLOAD);
|
||||
@ -206,9 +209,9 @@ public class GameDetailFragment extends NormalFragment {
|
||||
if (mIsShowKaifuHint) {
|
||||
mKaifuHint.setVisibility(View.VISIBLE);
|
||||
}
|
||||
mTanBarFuLiTv.setChecked(true);
|
||||
mTanBarXinXiTv.setChecked(false);
|
||||
mTanBarRatingTv.setChecked(false);
|
||||
mTabBarFuLiTv.setChecked(true);
|
||||
mTabBarXinXiTv.setChecked(false);
|
||||
mTabBarRatingTv.setChecked(false);
|
||||
|
||||
pauseVideo();
|
||||
if (mFirstTimeSelected) {
|
||||
@ -216,18 +219,18 @@ public class GameDetailFragment extends NormalFragment {
|
||||
}
|
||||
} else if (position == INDEX_DESCRIPTION) {
|
||||
mKaifuHint.setVisibility(View.GONE);
|
||||
mTanBarFuLiTv.setChecked(false);
|
||||
mTanBarXinXiTv.setChecked(true);
|
||||
mTanBarRatingTv.setChecked(false);
|
||||
mTabBarFuLiTv.setChecked(false);
|
||||
mTabBarXinXiTv.setChecked(true);
|
||||
mTabBarRatingTv.setChecked(false);
|
||||
|
||||
if (mFirstTimeSelected) {
|
||||
DataUtils.onMtaEvent(getContext(), "游戏详情", "默认_介绍", mGameEntity.getName());
|
||||
}
|
||||
} else {
|
||||
mKaifuHint.setVisibility(View.GONE);
|
||||
mTanBarFuLiTv.setChecked(false);
|
||||
mTanBarXinXiTv.setChecked(false);
|
||||
mTanBarRatingTv.setChecked(true);
|
||||
mTabBarFuLiTv.setChecked(false);
|
||||
mTabBarXinXiTv.setChecked(false);
|
||||
mTabBarRatingTv.setChecked(true);
|
||||
|
||||
pauseVideo();
|
||||
if (mFirstTimeSelected) {
|
||||
@ -303,7 +306,7 @@ public class GameDetailFragment extends NormalFragment {
|
||||
|
||||
if (!mGameDetailEntity.getMe().isGameConcerned()) {
|
||||
if (new InstallManager(getContext()).findInstallById(mGameEntity.getId()) == null) {
|
||||
mTanBarXinXiTv.performClick();
|
||||
mTabBarXinXiTv.performClick();
|
||||
}
|
||||
}
|
||||
|
||||
@ -419,14 +422,15 @@ public class GameDetailFragment extends NormalFragment {
|
||||
mLoading.setVisibility(View.GONE);
|
||||
mAppBarLayout.setVisibility(View.VISIBLE);
|
||||
|
||||
ViewGroup.LayoutParams tabParams = mTabbar.getLayoutParams();
|
||||
if (mGameDetailEntity.getShowComment()) {
|
||||
mTanBarRatingTv.setVisibility(View.VISIBLE);
|
||||
ViewGroup.LayoutParams layoutParams = mTabbar.getLayoutParams();
|
||||
layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT;
|
||||
mTabBarRatingTv.setVisibility(View.VISIBLE);
|
||||
tabParams.width = mMaxWidth;
|
||||
} else {
|
||||
mTabbarLine.setVisibility(View.GONE);
|
||||
mTanBarRatingTv.setVisibility(View.GONE);
|
||||
mTanBarXinXiTv.setBackgroundResource(R.drawable.tabbar_right_selector);
|
||||
mTabBarRatingTv.setVisibility(View.GONE);
|
||||
mTabBarXinXiTv.setBackgroundResource(R.drawable.tabbar_right_selector);
|
||||
tabParams.width = mMaxWidth * 2 / 3;
|
||||
}
|
||||
|
||||
if (mGameDetailEntity.getMe().isGameConcerned()) {
|
||||
|
||||
@ -114,15 +114,15 @@ class RatingFragment : ListFragment<RatingComment, RatingViewModel>() {
|
||||
fun setRatingScore(progress: ProgressBar, star: Star) {
|
||||
var targetScore = 0
|
||||
when (progress.id) {
|
||||
R.id.rating_score_five -> targetScore = star.five
|
||||
R.id.rating_score_four -> targetScore = star.four
|
||||
R.id.rating_score_three -> targetScore = star.three
|
||||
R.id.rating_score_two -> targetScore = star.two
|
||||
R.id.rating_score_one -> targetScore = star.one
|
||||
R.id.rating_score_five -> targetScore = star.five / 10
|
||||
R.id.rating_score_four -> targetScore = star.four / 8
|
||||
R.id.rating_score_three -> targetScore = star.three / 6
|
||||
R.id.rating_score_two -> targetScore = star.two / 4
|
||||
R.id.rating_score_one -> targetScore = star.one / 2
|
||||
}
|
||||
|
||||
|
||||
var f = (targetScore / star.total.toFloat()) * 100
|
||||
var f = (targetScore / star.hits.toFloat()) * 100
|
||||
if (0 < f && f < 1) {
|
||||
f = 1F
|
||||
}
|
||||
|
||||
@ -44,7 +44,7 @@ class PersonalAnswerActivity : ListActivity<AnswerEntity, NormalListViewModel<An
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
mUserId = intent.getStringExtra(EntranceUtils.KEY_USER_ID)
|
||||
super.onCreate(savedInstanceState)
|
||||
if (intent.getStringExtra(mUserId) == UserManager.getInstance().userId) {
|
||||
if (mUserId == UserManager.getInstance().userId) {
|
||||
setNavigationTitle("我的回答")
|
||||
} else {
|
||||
setNavigationTitle("Ta的回答")
|
||||
|
||||
@ -360,11 +360,11 @@ class ArticleDetailActivity : BaseActivity() {
|
||||
addTag(tag)
|
||||
}
|
||||
|
||||
mBinding.articleDetailFollow.visibility = View.VISIBLE
|
||||
if (mViewModel.detailEntity?.user?.id == UserManager.getInstance().userId) {
|
||||
mBinding.articleDetailFollow.setText(R.string.myself)
|
||||
mBinding.articleDetailFollow.setTextColor(ContextCompat.getColor(this, R.color.button_gray))
|
||||
mBinding.articleDetailFollow.setBackgroundResource(R.drawable.button_border_gray)
|
||||
|
||||
} else {
|
||||
if (mViewModel.detailEntity?.me?.isFollower!!) {
|
||||
updateFollowBtn(true)
|
||||
|
||||
@ -20,6 +20,7 @@ import android.view.Gravity
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.view.Window
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
import android.widget.EditText
|
||||
import android.widget.ProgressBar
|
||||
import android.widget.TextView
|
||||
@ -96,7 +97,7 @@ class ArticleEditActivity : BaseActivity() {
|
||||
mViewModel?.draftEntity = intent.getParcelableExtra(ArticleDraftEntity::class.java.simpleName)
|
||||
|
||||
mGameNameTitle.text = Html.fromHtml(getString(R.string.article_edit_game_name))
|
||||
mEditContent.setPadding(20, 15, 20, 15)
|
||||
mEditContent.setPadding(18, 15, 18, 15)
|
||||
mEditContent.setOnTextChangeListener { t ->
|
||||
if (t.contains("<img src") || !TextUtils.isEmpty(mEditContent.text)) {
|
||||
mEditPlaceholder.visibility = View.GONE
|
||||
@ -161,6 +162,7 @@ class ArticleEditActivity : BaseActivity() {
|
||||
setPatchContent()
|
||||
mViewModel?.getDefaultTag()
|
||||
} else if (mViewModel?.draftEntity != null) {
|
||||
setNavigationTitle("撰写文章")
|
||||
setArticleDraft()
|
||||
} else {// 启动自动保存草稿
|
||||
setNavigationTitle("撰写文章")
|
||||
@ -217,11 +219,25 @@ class ArticleEditActivity : BaseActivity() {
|
||||
private fun setArticleDraft() {
|
||||
mViewModel?.mSelectCommunityData = mViewModel?.draftEntity?.community
|
||||
mEditTitle.setText(mViewModel?.draftEntity?.title)
|
||||
mEditTitle.isFocusable = false
|
||||
mDraftBtn.visibility = View.GONE
|
||||
mGameName.isEnabled = true
|
||||
setGameName()
|
||||
mViewModel?.getArticleDraftsContent(mViewModel?.draftEntity?.id!!)
|
||||
mViewModel?.getDefaultTag()
|
||||
mEditContent.focusEditor()
|
||||
mEditContent.setOnInitialLoadListener { isReady ->
|
||||
if (isReady) {
|
||||
mEditContent.scrollTo(0, 10000000)
|
||||
try {
|
||||
val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
|
||||
imm.showSoftInput(mEditContent, InputMethodManager.SHOW_IMPLICIT)
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
mEditContent.postDelayed({ mEditContent.focusEditor() }, 800)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setPatchContent() {
|
||||
|
||||
@ -86,7 +86,7 @@
|
||||
android:id = "@+id/article_placeholder"
|
||||
android:layout_width = "wrap_content"
|
||||
android:layout_height = "wrap_content"
|
||||
android:paddingLeft = "20dp"
|
||||
android:paddingLeft = "18dp"
|
||||
android:paddingTop = "15dp"
|
||||
android:text = "@string/article_placeholder"
|
||||
android:textColor = "@color/hint" />
|
||||
|
||||
Reference in New Issue
Block a user