From bc7aaa8b08f53030cbdb1ca359e9e104837bd1a2 Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Fri, 12 Jan 2018 08:26:13 +0800 Subject: [PATCH] =?UTF-8?q?1-12=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 +- app/src/main/assets/rich_editor.js | 14 ++- .../java/com/gh/common/util/DialogUtils.java | 2 +- .../java/com/gh/common/util/LoginUtils.java | 2 +- .../com/gh/common/util/MessageShareUtils.java | 16 +-- .../java/com/gh/common/util/ShareUtils.java | 4 +- .../java/com/gh/common/view/RichEditor.java | 4 + .../java/com/gh/gamecenter/MainActivity.java | 3 +- .../gamecenter/QuestionsDetailActivity.java | 4 +- .../com/gh/gamecenter/ShareCardActivity.java | 14 +-- .../gh/gamecenter/ShareCardPicActivity.java | 14 +-- .../adapter/InstallFragmentAdapter.java | 6 +- .../ask/AskQuestionsHotFragment.java | 8 +- .../ask/AskQuestionsNewBodyFragment.java | 9 +- .../ask/AskQuestionsNewFragment.java | 3 +- .../ask/AskQuestionsNewViewHolder.java | 10 ++ .../gamecenter/ask/QuestionsEditFragment.java | 10 +- .../gh/gamecenter/ask/entity/AnswerEntity.kt | 5 + .../com/gh/gamecenter/ask/entity/MeEntity.kt | 3 + .../com/gh/gamecenter/ask/entity/Questions.kt | 5 + .../ask/entity/QuestionsDetailEntity.kt | 5 + .../ask/myask/ConcernQuestionsAdapter.java | 2 +- .../ask/myask/MyQuestionsAdapter.java | 2 +- .../questionsdetail/AnswerEditFragment.java | 56 +++++++-- .../ask/questionsdetail/AnswerViewHolder.java | 6 + .../QuestionsDetailAdapter.java | 15 +++ .../QuestionsDetailFragment.java | 14 +++ .../QuestionsDetailItemViewHolder.java | 4 + .../QuestionsInviteFragment.java | 1 + .../gh/gamecenter/baselist/ListAdapter.java | 5 +- .../gamecenter/collection/AnswerFragment.java | 14 ++- .../com/gh/gamecenter/db/GameTrendsDao.java | 7 +- .../gamecenter/discover/DiscoverFragment.java | 30 ++++- .../fragment/MainWrapperFragment.java | 8 +- .../kaifu/KaiFuWrapperFragment.java | 57 +++++---- .../libao/LibaoWrapperFragment.java | 12 ++ .../gh/gamecenter/login/UserRepository.java | 9 +- .../gamecenter/message/MessageFragment.java | 19 ++- .../retrofit/service/ApiService.java | 7 +- .../gh/gamecenter/wxapi/WXEntryActivity.java | 3 +- .../fragment/user/UserInfoEditFragment.java | 1 + .../res/drawable-xxhdpi/ic_ask_select.png | Bin 3014 -> 4157 bytes .../res/drawable-xxhdpi/ic_ask_unselect.png | Bin 2985 -> 4137 bytes .../main/res/layout/activity_asktab_order.xml | 8 +- app/src/main/res/layout/ask_answer_item.xml | 13 ++ .../res/layout/ask_questions_new_item.xml | 19 ++- .../main/res/layout/ask_search_actionbar.xml | 2 +- app/src/main/res/layout/ask_search_item.xml | 1 + .../main/res/layout/fragment_answer_edit.xml | 27 +++-- app/src/main/res/layout/fragment_main.xml | 61 +++++++--- app/src/main/res/layout/fragment_personal.xml | 2 +- .../res/layout/fragment_questions_edit.xml | 80 ++++++------- .../res/layout/fragment_questionsdetail.xml | 111 ++++++++++-------- app/src/main/res/layout/message_kefu_item.xml | 3 +- .../main/res/layout/questionsdetail_item.xml | 20 +++- app/src/main/res/menu/menu_web.xml | 5 + app/src/main/res/values/strings.xml | 3 +- 57 files changed, 521 insertions(+), 251 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 63f5de0fab..13773b7972 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -107,7 +107,7 @@ android { */ productFlavors { // publish release host - internal { + publish { dimension "nonsense" buildConfigField "String", "API_HOST", "\"${API_HOST}\"" buildConfigField "String", "USER_HOST", "\"${USER_HOST}\"" @@ -123,7 +123,7 @@ android { buildConfigField "String", "USERSEA_APP_SECRET", "\"${USERSEA_APP_SECRET}\"" } // internal test dev host - publish { + internal { dimension "nonsense" buildConfigField "String", "API_HOST", "\"${DEV_API_HOST}\"" buildConfigField "String", "USER_HOST", "\"${DEV_USER_HOST}\"" diff --git a/app/src/main/assets/rich_editor.js b/app/src/main/assets/rich_editor.js index 9bd1bcacca..2ce3d50ba0 100644 --- a/app/src/main/assets/rich_editor.js +++ b/app/src/main/assets/rich_editor.js @@ -84,13 +84,25 @@ RE.setVerticalAlign = function(align) { RE.setPlaceholder = function(placeholder) { RE.editor.setAttribute("placeholder", placeholder); -// RE.editor.focus(); + RE.editor.focus(); } RE.setInputEnabled = function(inputEnabled) { RE.editor.contentEditable = String(inputEnabled); } +RE.setFocusByEnd = function() { +//alert("111111") +// var txt =RE.editor.createTextRange(); +// ("22222") +// txt.moveStart('character',-1); +// ("333333") +// txt.collapse(true); +// ("444444") +// txt.select(); +// alert("ddddddd") +} + RE.undo = function() { document.execCommand('undo', false, null); } diff --git a/app/src/main/java/com/gh/common/util/DialogUtils.java b/app/src/main/java/com/gh/common/util/DialogUtils.java index a0add433cb..5f8b6218aa 100644 --- a/app/src/main/java/com/gh/common/util/DialogUtils.java +++ b/app/src/main/java/com/gh/common/util/DialogUtils.java @@ -192,7 +192,7 @@ public class DialogUtils { mShareLl.buildDrawingCache(); Bitmap drawingCache = mShareLl.getDrawingCache(); saveBitmap(drawingCache, activity, picName); - MessageShareUtils.getInstance(activity).showShareWindows(mShareBottomLl, drawingCache, picName, 2); + MessageShareUtils.getInstance(activity).showShareWindows(activity, mShareBottomLl, drawingCache, picName, 2); mShareBottomLl.setVisibility(View.VISIBLE); } }, 200); diff --git a/app/src/main/java/com/gh/common/util/LoginUtils.java b/app/src/main/java/com/gh/common/util/LoginUtils.java index c9f5006bf0..11a20b1900 100644 --- a/app/src/main/java/com/gh/common/util/LoginUtils.java +++ b/app/src/main/java/com/gh/common/util/LoginUtils.java @@ -90,6 +90,7 @@ public class LoginUtils { super.onResponse(response); try { listener.onCaptcha(response.getString("service_id")); + Utils.toast(context, "验证码短信已发送,请注意查收"); } catch (JSONException e) { e.printStackTrace(); } @@ -117,7 +118,6 @@ public class LoginUtils { } - // 注销登录 public static void logout(final Context context, final OnLogoutListener listener) { diff --git a/app/src/main/java/com/gh/common/util/MessageShareUtils.java b/app/src/main/java/com/gh/common/util/MessageShareUtils.java index 51a4349b5f..8a73ef0d26 100644 --- a/app/src/main/java/com/gh/common/util/MessageShareUtils.java +++ b/app/src/main/java/com/gh/common/util/MessageShareUtils.java @@ -71,13 +71,11 @@ public class MessageShareUtils { private Context mContext; //TODO 干掉activity,将context变成applicationcontext -// private Activity activity; // 用来关闭分享页面 + private Activity mActivity; // 用来关闭分享页面 //QQ或者QQ空间分享回调处理 public IUiListener QqShareListener = new IUiListener() { @Override public void onComplete(Object o) { -// activity.finish(); -// activity.overridePendingTransition(0, 0);//禁止退出Activity 动画 Utils.toast(mContext, "分享成功"); } @@ -88,9 +86,7 @@ public class MessageShareUtils { @Override public void onCancel() { -// activity.finish(); -// activity.overridePendingTransition(0, 0);//禁止退出Activity 动画 - Utils.toast(mContext, "分享已取消"); + Utils.toast(mContext, mContext.getString(R.string.share_cancel_hint)); } }; // 适配快传成绩单分享 @@ -139,11 +135,11 @@ public class MessageShareUtils { return mTencent; } - public void showShareWindows(View view, Bitmap bitmap, String picName, int shareType) { + public void showShareWindows(Activity activity, View view, Bitmap bitmap, String picName, int shareType) { this.shareBm = bitmap; this.picName = picName; this.shareType = shareType; -// this.activity = (Activity) mContext; + this.mActivity = activity; if (shareType == 2) { contentSize = 75; @@ -234,7 +230,7 @@ public class MessageShareUtils { params.putInt(QQShare.SHARE_TO_QQ_EXT_INT, QQShare.SHARE_TO_QQ_FLAG_QZONE_ITEM_HIDE); mTencent.shareToQQ( - (Activity) mContext, params, QqShareListener); + mActivity, params, QqShareListener); if (mPopupWindow == null) return; mPopupWindow.dismiss(); } @@ -250,7 +246,7 @@ public class MessageShareUtils { params.putInt(QQShare.SHARE_TO_QQ_EXT_INT, QQShare.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN); mTencent.shareToQQ( - (Activity) mContext, params, QqShareListener); + mActivity, params, QqShareListener); if (mPopupWindow == null) return; mPopupWindow.dismiss(); } diff --git a/app/src/main/java/com/gh/common/util/ShareUtils.java b/app/src/main/java/com/gh/common/util/ShareUtils.java index ff8ecd5eb9..d5b6478d49 100644 --- a/app/src/main/java/com/gh/common/util/ShareUtils.java +++ b/app/src/main/java/com/gh/common/util/ShareUtils.java @@ -301,7 +301,7 @@ public class ShareUtils { public static Bitmap compressBitmap(Bitmap bitmap) { ByteArrayOutputStream bos = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 85, bos); - float zoom = (float) Math.sqrt(10 * 1024 / (float) bos.toByteArray().length); + float zoom = (float) Math.sqrt(8 * 1024 / (float) bos.toByteArray().length); Matrix matrix = new Matrix(); matrix.setScale(zoom, zoom); @@ -311,7 +311,7 @@ public class ShareUtils { result.compress(Bitmap.CompressFormat.JPEG, 85, bos); - while (bos.toByteArray().length > 10 * 1024) { + while (bos.toByteArray().length > 8 * 1024) { System.out.println(bos.toByteArray().length); matrix.setScale(0.9f, 0.9f); result = Bitmap.createBitmap(result, 0, 0, result.getWidth(), result.getHeight(), matrix, true); diff --git a/app/src/main/java/com/gh/common/view/RichEditor.java b/app/src/main/java/com/gh/common/view/RichEditor.java index e3226ea06f..013abba664 100644 --- a/app/src/main/java/com/gh/common/view/RichEditor.java +++ b/app/src/main/java/com/gh/common/view/RichEditor.java @@ -281,6 +281,10 @@ public class RichEditor extends WebView { exec("javascript:RE.replaceAllDfImage()"); } + public void setFocusByEnd() { + exec("javascript:RE.setFocusByEnd()"); + } + public void replaceDfImageByUrl(String imgUrl) { exec("javascript:RE.replaceDfImageByUrl('" + imgUrl + "');"); } diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index a3cb35fdca..f219ece5f0 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -104,6 +104,7 @@ import rx.schedulers.Schedulers; import static com.gh.common.util.EntranceUtils.KEY_DATA; import static com.gh.common.util.EntranceUtils.KEY_TO; +import static com.gh.gamecenter.fragment.MainWrapperFragment.INDEX_PERSONAL; /** * 项目的主Activity,3个Fragment都嵌入在这里。 @@ -817,7 +818,7 @@ public class MainActivity extends BaseActivity { , "前往登录", "残忍拒绝", new DialogUtils.ConfirmListener() { @Override public void onConfirm() { - EventBus.getDefault().post(new EBSkip(MainActivity.EB_SKIP_GAMEFRAGMENT, 2)); + EventBus.getDefault().post(new EBSkip(MainActivity.EB_SKIP_GAMEFRAGMENT, INDEX_PERSONAL)); } }, null); } diff --git a/app/src/main/java/com/gh/gamecenter/QuestionsDetailActivity.java b/app/src/main/java/com/gh/gamecenter/QuestionsDetailActivity.java index 2512142f31..1a9b4da614 100644 --- a/app/src/main/java/com/gh/gamecenter/QuestionsDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/QuestionsDetailActivity.java @@ -69,7 +69,9 @@ public class QuestionsDetailActivity extends BaseActivity implements FragmentMan protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mQuestionsId = getIntent().getStringExtra(EntranceUtils.KEY_QUESTIONS_ID); - + if (getIntent().getBundleExtra(EntranceUtils.KEY_DATA) != null) { + mQuestionsId = getIntent().getBundleExtra(EntranceUtils.KEY_DATA).getString(EntranceUtils.KEY_QUESTIONS_ID); + } getSupportFragmentManager().addOnBackStackChangedListener(this); show(QUESTIONS_DETAIL); diff --git a/app/src/main/java/com/gh/gamecenter/ShareCardActivity.java b/app/src/main/java/com/gh/gamecenter/ShareCardActivity.java index d6f423f9e3..9ce55fa3be 100644 --- a/app/src/main/java/com/gh/gamecenter/ShareCardActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ShareCardActivity.java @@ -21,7 +21,6 @@ import com.gh.common.util.ImageUtils; import com.gh.common.util.MessageShareUtils; import com.gh.common.util.QRCodeUtils; import com.gh.gamecenter.entity.ConcernEntity; -import com.tencent.tauth.Tencent; import java.io.File; @@ -74,17 +73,6 @@ public class ShareCardActivity extends BaseActivity { return R.layout.activity_sharecard; } - //接收QQ或者QQ空间分享回调 - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (requestCode == com.tencent.connect.common.Constants.REQUEST_QQ_SHARE - || requestCode == com.tencent.connect.common.Constants.REQUEST_QZONE_SHARE) { - Tencent.onActivityResultData(requestCode, resultCode, data, MessageShareUtils.getInstance(this).QqShareListener); - } - - } - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -115,7 +103,7 @@ public class ShareCardActivity extends BaseActivity { mShareScreenshotLl.buildDrawingCache(); Bitmap drawingCache = mShareScreenshotLl.getDrawingCache(); saveBitmap(drawingCache); - MessageShareUtils.getInstance(ShareCardActivity.this).showShareWindows(mShareBottomLl, drawingCache, picName, 0); + MessageShareUtils.getInstance(ShareCardActivity.this).showShareWindows(ShareCardActivity.this, mShareBottomLl, drawingCache, picName, 0); } }, 200); diff --git a/app/src/main/java/com/gh/gamecenter/ShareCardPicActivity.java b/app/src/main/java/com/gh/gamecenter/ShareCardPicActivity.java index b4cecb1436..ceb6fa876a 100644 --- a/app/src/main/java/com/gh/gamecenter/ShareCardPicActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ShareCardPicActivity.java @@ -30,7 +30,6 @@ import com.gh.common.util.QRCodeUtils; import com.gh.common.util.StringUtils; import com.gh.gamecenter.entity.ConcernEntity; import com.gh.gamecenter.retrofit.ObservableUtil; -import com.tencent.tauth.Tencent; import java.io.File; import java.io.IOException; @@ -120,17 +119,6 @@ public class ShareCardPicActivity extends BaseActivity { return R.layout.activity_sharecard_pic; } - //接收QQ或者QQ空间分享回调 - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - super.onActivityResult(requestCode, resultCode, data); - if (requestCode == com.tencent.connect.common.Constants.REQUEST_QQ_SHARE - || requestCode == com.tencent.connect.common.Constants.REQUEST_QZONE_SHARE) { - Tencent.onActivityResultData(requestCode, resultCode, data, MessageShareUtils.getInstance(this).QqShareListener); - } - - } - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -279,7 +267,7 @@ public class ShareCardPicActivity extends BaseActivity { shareBm = getBitmapByView(mShareScreenshotRl); saveBitmap(shareBm); - MessageShareUtils.getInstance(ShareCardPicActivity.this).showShareWindows(getWindow().getDecorView(), shareBm, picName, 1); + MessageShareUtils.getInstance(ShareCardPicActivity.this).showShareWindows(ShareCardPicActivity.this, getWindow().getDecorView(), shareBm, picName, 1); } public static Bitmap getBitmapByView(ScrollView scrollView) { diff --git a/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java index 6e1002a64a..4fd5306edb 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java @@ -17,7 +17,6 @@ import com.gh.common.constant.ItemViewType; import com.gh.common.util.ApkActiveUtils; import com.gh.common.util.BitmapUtils; import com.gh.common.util.DataCollectionUtils; -import com.gh.gamecenter.DataUtils; import com.gh.common.util.DisplayUtils; import com.gh.common.util.DownloadItemUtils; import com.gh.common.util.GameViewUtils; @@ -27,6 +26,7 @@ import com.gh.common.util.PlatformUtils; import com.gh.common.util.TrafficUtils; import com.gh.common.view.SwipeLayout; import com.gh.download.DownloadManager; +import com.gh.gamecenter.DataUtils; import com.gh.gamecenter.GameDetailActivity; import com.gh.gamecenter.InstallActivity; import com.gh.gamecenter.KcSelectGameActivity; @@ -38,8 +38,8 @@ import com.gh.gamecenter.entity.ApkEntity; import com.gh.gamecenter.entity.GameEntity; import com.gh.gamecenter.entity.GameInfoEntity; import com.gh.gamecenter.kuaichuan.FileInfo; -import com.gh.gamecenter.manager.InstallManager; import com.gh.gamecenter.manager.GameManager; +import com.gh.gamecenter.manager.InstallManager; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; import com.halo.assistant.HaloApp; @@ -294,6 +294,8 @@ public class InstallFragmentAdapter extends BaseRecyclerAdapter { notifyDataSetChanged(); initLocationMap(); + } else { + mActivity.loadEmpty(); } } diff --git a/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsHotFragment.java b/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsHotFragment.java index 75543c7829..dc4a0c10c5 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsHotFragment.java +++ b/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsHotFragment.java @@ -6,6 +6,7 @@ import android.os.Bundle; import android.view.View; import com.gh.common.util.AskLogUtils; +import com.gh.common.util.CheckLoginUtils; import com.gh.common.util.EntranceUtils; import com.gh.gamecenter.QuestionsDetailActivity; import com.gh.gamecenter.NormalActivity; @@ -65,8 +66,11 @@ public class AskQuestionsHotFragment extends ListFragment { @OnClick(R.id.reuse_nodata_skip_tv_btn) public void onViewClick(View v) { - if (v.getId() == R.id.reuse_nodata_skip_tv_btn) - NormalActivity.startFragment(getContext(), QuestionsEditFragment.class); + if (v.getId() == R.id.reuse_nodata_skip_tv_btn) { + CheckLoginUtils.checkLogin(getContext(), () -> { + NormalActivity.startFragment(getContext(), QuestionsEditFragment.class); + }); + } } @Override diff --git a/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsNewBodyFragment.java b/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsNewBodyFragment.java index b13aae2558..9eade0d8a9 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsNewBodyFragment.java +++ b/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsNewBodyFragment.java @@ -5,6 +5,7 @@ import android.support.annotation.Nullable; import android.view.View; import com.gh.common.util.AskLogUtils; +import com.gh.common.util.CheckLoginUtils; import com.gh.gamecenter.NormalActivity; import com.gh.gamecenter.QuestionsDetailActivity; import com.gh.gamecenter.R; @@ -49,8 +50,12 @@ public class AskQuestionsNewBodyFragment extends ListFragment { @OnClick(R.id.reuse_nodata_skip_tv_btn) public void onViewClick(View v) { - if (v.getId() == R.id.reuse_nodata_skip_tv_btn) - NormalActivity.startFragment(getContext(), QuestionsEditFragment.class); + if (v.getId() == R.id.reuse_nodata_skip_tv_btn) { + CheckLoginUtils.checkLogin(getContext(), () -> { + NormalActivity.startFragment(getContext(), QuestionsEditFragment.class); + }); + } + } @Override diff --git a/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsNewFragment.java b/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsNewFragment.java index b173ff2f8a..2ba80589cf 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsNewFragment.java +++ b/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsNewFragment.java @@ -148,7 +148,8 @@ public class AskQuestionsNewFragment extends BaseFragment { mTabIndicatorView.setupWithTabLayout(mTablayout); mTabIndicatorView.setupWithViewPager(mViewpager); // mTabIndicatorView.setIndicatorWidth(45); - mTablayout.addTab(mTablayout.newTab()); // 调整顺序 item + if (mTagGroupsList.size() >= 4) + mTablayout.addTab(mTablayout.newTab()); // 调整顺序 item for (int i = 0; i < mTablayout.getTabCount(); i++) { diff --git a/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsNewViewHolder.java b/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsNewViewHolder.java index 0a8c2d58bc..bb5ad51afc 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsNewViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsNewViewHolder.java @@ -15,10 +15,13 @@ import butterknife.BindView; */ public class AskQuestionsNewViewHolder extends BaseRecyclerViewHolder { + @BindView(R.id.ask_questions_item_title) TextView mTitle; @BindView(R.id.ask_questions_item_answer_count) TextView mAnswerCount; + @BindView(R.id.ask_questions_item_community_name) + TextView mCommunitName; public AskQuestionsNewViewHolder(View itemView, Object data, OnListClickListener listClickListener) { @@ -30,4 +33,11 @@ public class AskQuestionsNewViewHolder extends BaseRecyclerViewHolder { mAnswerCount.setText(itemView.getContext().getString(R.string.ask_answer_count, questions.getAnswerCount())); mTitle.setText(questions.getTitle()); } + + public void initMyQuestionsViewHolder(Questions questions) { + mAnswerCount.setText(itemView.getContext().getString(R.string.ask_answer_count, questions.getAnswerCount())); + mTitle.setText(questions.getTitle()); + mCommunitName.setVisibility(View.VISIBLE); + mCommunitName.setText(questions.getCommunityName()); + } } diff --git a/app/src/main/java/com/gh/gamecenter/ask/QuestionsEditFragment.java b/app/src/main/java/com/gh/gamecenter/ask/QuestionsEditFragment.java index 700497cc71..3874084d95 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/QuestionsEditFragment.java +++ b/app/src/main/java/com/gh/gamecenter/ask/QuestionsEditFragment.java @@ -13,6 +13,7 @@ import android.support.v4.content.ContextCompat; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; +import android.text.Html; import android.text.TextUtils; import android.view.KeyEvent; import android.view.LayoutInflater; @@ -79,7 +80,7 @@ public class QuestionsEditFragment extends NormalFragment { @BindView(R.id.questionsedit_tag_add) TextView mTagAdd; @BindView(R.id.questionsedit_tips) - View mTips; + TextView mTips; private QuestionsEditPicAdapter mAdapter; @@ -151,9 +152,11 @@ public class QuestionsEditFragment extends NormalFragment { mPicRv.setLayoutManager(new LinearLayoutManager(getContext(), RecyclerView.HORIZONTAL, false)); if (!TextUtils.isEmpty(mSearchKey)) { mTitle.setText(mSearchKey); - mTitle.setSelection(mSearchKey.length()); + mTitle.setSelection(mTitle.getText().toString().length()); } + mTips.setText(Html.fromHtml(getString(R.string.question_edit_hint))); + // 意见反馈上传图片列表 mPicRv.setLayoutManager(new GridLayoutManager(getContext(), 5) { @Override @@ -173,6 +176,8 @@ public class QuestionsEditFragment extends NormalFragment { case R.id.questionsedit_tag_add: if (mTagList.size() < 3) { showAddTagDialog(); + } else { + toast("最多只能选择3个标签~"); } break; case R.id.questionsedit_post: @@ -208,6 +213,7 @@ public class QuestionsEditFragment extends NormalFragment { return; } try { + Utils.log("===postImg::" + response.toString()); int statusCode = response.getInt("statusCode"); if (statusCode == HttpURLConnection.HTTP_OK) { mAdapter.addFileList(picturePath); diff --git a/app/src/main/java/com/gh/gamecenter/ask/entity/AnswerEntity.kt b/app/src/main/java/com/gh/gamecenter/ask/entity/AnswerEntity.kt index 0cfb9fab45..28f11814d7 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/entity/AnswerEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/ask/entity/AnswerEntity.kt @@ -24,6 +24,9 @@ class AnswerEntity() : Parcelable { @SerializedName("question") var questions: Questions = Questions() + @SerializedName("community_name") + var communityName: String? = null + constructor(parcel: Parcel) : this() { id = parcel.readString() brief = parcel.readString() @@ -31,6 +34,7 @@ class AnswerEntity() : Parcelable { images = parcel.createStringArrayList() vote = parcel.readInt() user = parcel.readParcelable(UserEntity::class.java.classLoader) + communityName = parcel.readString() } override fun writeToParcel(parcel: Parcel, flags: Int) { @@ -40,6 +44,7 @@ class AnswerEntity() : Parcelable { parcel.writeStringList(images) parcel.writeInt(vote) parcel.writeParcelable(user, flags) + parcel.writeString(communityName) } override fun describeContents(): Int { diff --git a/app/src/main/java/com/gh/gamecenter/ask/entity/MeEntity.kt b/app/src/main/java/com/gh/gamecenter/ask/entity/MeEntity.kt index 3891cf91e3..879b6dcded 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/entity/MeEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/ask/entity/MeEntity.kt @@ -27,6 +27,9 @@ class MeEntity() : Parcelable { @SerializedName("is_question_followed") var isQuestionFollowed: Boolean = false + @SerializedName("is_question_own") + var isQuestionOwn: Boolean = false + @SerializedName("answer_id") var myAnswerId: String? = null // 有自身发的评论Id diff --git a/app/src/main/java/com/gh/gamecenter/ask/entity/Questions.kt b/app/src/main/java/com/gh/gamecenter/ask/entity/Questions.kt index 1fc896e5f3..02e20ff4d0 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/entity/Questions.kt +++ b/app/src/main/java/com/gh/gamecenter/ask/entity/Questions.kt @@ -14,18 +14,23 @@ class Questions() : Parcelable { var title: String? = null + @SerializedName("community_name") + var communityName: String? = null + @SerializedName("answer_count") var answerCount: Int = 0 constructor(parcel: Parcel) : this() { id = parcel.readString() title = parcel.readString() + communityName = parcel.readString() answerCount = parcel.readInt() } override fun writeToParcel(parcel: Parcel, flags: Int) { parcel.writeString(id) parcel.writeString(title) + parcel.writeString(communityName) parcel.writeInt(answerCount) } diff --git a/app/src/main/java/com/gh/gamecenter/ask/entity/QuestionsDetailEntity.kt b/app/src/main/java/com/gh/gamecenter/ask/entity/QuestionsDetailEntity.kt index 12b29ed101..88b89567d7 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/entity/QuestionsDetailEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/ask/entity/QuestionsDetailEntity.kt @@ -25,6 +25,9 @@ class QuestionsDetailEntity() : Parcelable { @SerializedName("answer_fold") var isAnswerFold: Boolean = false + @SerializedName("community_name") + var communityName: String? = null + var me: MeEntity = MeEntity() constructor(parcel: Parcel) : this() { @@ -35,6 +38,7 @@ class QuestionsDetailEntity() : Parcelable { images = parcel.createStringArrayList() answersCount = parcel.readInt() isAnswerFold = parcel.readByte() != 0.toByte() + communityName = parcel.readString() me = parcel.readParcelable(MeEntity::class.java.classLoader) } @@ -46,6 +50,7 @@ class QuestionsDetailEntity() : Parcelable { parcel.writeStringList(images) parcel.writeInt(answersCount) parcel.writeByte(if (isAnswerFold) 1 else 0) + parcel.writeString(communityName) parcel.writeParcelable(me, flags) } diff --git a/app/src/main/java/com/gh/gamecenter/ask/myask/ConcernQuestionsAdapter.java b/app/src/main/java/com/gh/gamecenter/ask/myask/ConcernQuestionsAdapter.java index 8c2a963911..8f0ee06d65 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/myask/ConcernQuestionsAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/ask/myask/ConcernQuestionsAdapter.java @@ -62,7 +62,7 @@ class ConcernQuestionsAdapter extends ListAdapter { public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { switch (getItemViewType(position)) { case ItemViewType.ITEM_BODY: - ((AskQuestionsNewViewHolder) holder).initAskQuestionsNewViewHolder(mEntityList.get(position)); + ((AskQuestionsNewViewHolder) holder).initMyQuestionsViewHolder(mEntityList.get(position)); break; case ItemViewType.ITEM_FOOTER: diff --git a/app/src/main/java/com/gh/gamecenter/ask/myask/MyQuestionsAdapter.java b/app/src/main/java/com/gh/gamecenter/ask/myask/MyQuestionsAdapter.java index 1139c7e087..30703a562a 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/myask/MyQuestionsAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/ask/myask/MyQuestionsAdapter.java @@ -62,7 +62,7 @@ public class MyQuestionsAdapter extends ListAdapter { public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { switch (getItemViewType(position)) { case ItemViewType.ITEM_BODY: - ((AskQuestionsNewViewHolder) holder).initAskQuestionsNewViewHolder(mEntityList.get(position)); + ((AskQuestionsNewViewHolder) holder).initMyQuestionsViewHolder(mEntityList.get(position)); break; case ItemViewType.ITEM_FOOTER: diff --git a/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/AnswerEditFragment.java b/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/AnswerEditFragment.java index 527f3a0a26..90028fd5ce 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/AnswerEditFragment.java +++ b/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/AnswerEditFragment.java @@ -1,6 +1,7 @@ package com.gh.gamecenter.ask.questionsdetail; import android.app.Activity; +import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.net.Uri; @@ -12,6 +13,7 @@ import android.support.annotation.Nullable; import android.text.TextUtils; import android.view.MenuItem; import android.view.View; +import android.view.WindowManager; import android.widget.ImageView; import android.widget.TextView; @@ -33,6 +35,7 @@ import com.lightgame.utils.Utils; import org.json.JSONException; import org.json.JSONObject; +import java.io.IOException; import java.net.HttpURLConnection; import java.util.HashMap; import java.util.Map; @@ -61,7 +64,10 @@ public class AnswerEditFragment extends NormalFragment { ImageView mImgIcon; public final static int SAVE_DRAFTS = 110; + private final static String FILE_HOST = "file:///"; + private final static int SAVE_DRAFTS_INTERVAL_TIME = 15000; + private final static int SAVE_DRAFTS_TOAST_COUNT = 3; private Map mMapImg = new HashMap<>(); @@ -73,14 +79,24 @@ public class AnswerEditFragment extends NormalFragment { private String mQuestionsId; private String mQuestionsTitle; - private String mCacheAnswerContent; +// private String mCacheAnswerContent; + + private int mPostDraftsCount; @Override protected void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what == 1) { saveAnswerDrafts(false); - mBaseHandler.sendEmptyMessageDelayed(1, 30000); + mBaseHandler.sendEmptyMessageDelayed(1, SAVE_DRAFTS_INTERVAL_TIME); + } + } + + @Override + public void onAttach(Context context) { + super.onAttach(context); + if (context instanceof Activity) { + ((Activity) context).getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); } } @@ -119,7 +135,7 @@ public class AnswerEditFragment extends NormalFragment { mQuestionsId = arguments.getString(EntranceUtils.KEY_QUESTIONS_ID); mQuestionsTitle = arguments.getString(EntranceUtils.KEY_QUESTIONS_TITLE); if (TextUtils.isEmpty(mAnswerId)) { - mBaseHandler.sendEmptyMessageDelayed(1, 30000); // 启动自动保持 + mBaseHandler.sendEmptyMessageDelayed(1, SAVE_DRAFTS_INTERVAL_TIME); // 启动自动保持 } } } @@ -137,7 +153,8 @@ public class AnswerEditFragment extends NormalFragment { mTitle.setText(mQuestionsTitle); mEditContent.setPadding(20, 15, 20, 15); mEditContent.setPlaceholder(getString(R.string.answer_placeholder)); - +// mEditContent.setTextColor(R.color.text_5d5d5d); +// mEditContent.setFocusByEnd(); if (!TextUtils.isEmpty(mAnswerId)) { setNavigationTitle(getString(R.string.answer_patch_title)); mEditContent.setHtml(mAnswerContent, false); @@ -167,6 +184,7 @@ public class AnswerEditFragment extends NormalFragment { return; } try { + Utils.log("=====::" + response.toString()); int statusCode = response.getInt("statusCode"); if (statusCode == HttpURLConnection.HTTP_OK) { mMapImg.put(picturePath, response.getString("icon")); @@ -205,7 +223,7 @@ public class AnswerEditFragment extends NormalFragment { if (mEditContent.getText().length() < 6) { postDialog.dismissAllowingStateLoss(); - toast("标题至少6个字"); + toast("至少输入6个字"); return; } JSONObject content = new JSONObject(); @@ -229,7 +247,7 @@ public class AnswerEditFragment extends NormalFragment { public void onResponse(ResponseBody response) { super.onResponse(response); postDialog.dismissAllowingStateLoss(); - toast("提交成功"); + toast("发布成功"); String answerId = null; try { JSONObject object = new JSONObject(response.string()); @@ -249,6 +267,11 @@ public class AnswerEditFragment extends NormalFragment { @Override public void onFailure(HttpException e) { super.onFailure(e); + try { + Utils.log("=======" + e.response().errorBody().string()); + } catch (IOException e1) { + e1.printStackTrace(); + } postDialog.dismissAllowingStateLoss(); toast("提交失败"); AskErrorResponseUtils.errorResponseControl(getContext(), e); @@ -271,8 +294,8 @@ public class AnswerEditFragment extends NormalFragment { } private void showPacthBackDialog() { - DialogUtils.showCancelAlertDialog(getActivity(), "提示", "确定放弃修改?已修改的内容将丢失" - , "继续写", " 确定", null, new DialogUtils.CancelListener() { + DialogUtils.showCancelAlertDialog(getActivity(), "提示", "确定退出修改?已修改的内容将丢失" + , "继续写", " 退出", null, new DialogUtils.CancelListener() { @Override public void onCancel() { if (getActivity() != null) getActivity().finish(); @@ -298,7 +321,7 @@ public class AnswerEditFragment extends NormalFragment { if (isExit && TextUtils.isEmpty(editContent)) { getActivity().finish(); return; - } else if (!isExit && (editContent == null || editContent.equals(mCacheAnswerContent))) { + } else if (!isExit && (editContent == null)) { // || editContent.equals(mCacheAnswerContent) return; } JSONObject content = new JSONObject(); @@ -317,13 +340,22 @@ public class AnswerEditFragment extends NormalFragment { @Override public void onResponse(ResponseBody response) { super.onResponse(response); - toast("回答已保存到草稿箱"); + if (getActivity() != null && isExit) { Intent data = new Intent(); data.putExtra(EntranceUtils.KEY_ANSWER_CONTENT, finalEditContent); getActivity().setResult(SAVE_DRAFTS, data); getActivity().finish(); - } else if (!isExit) mCacheAnswerContent = finalEditContent; + toast("回答已保存到草稿箱"); + } else if (!isExit) { + if (mPostDraftsCount >= SAVE_DRAFTS_TOAST_COUNT) { + mPostDraftsCount = 0; + toast("回答已保存到草稿箱"); + } else { + mPostDraftsCount++; + } +// mCacheAnswerContent = finalEditContent; + } } @Override @@ -349,7 +381,7 @@ public class AnswerEditFragment extends NormalFragment { String drafts = object.getString("content"); if (!TextUtils.isEmpty(drafts)) { mEditContent.setHtml(drafts, false); - mCacheAnswerContent = drafts; +// mCacheAnswerContent = drafts; } String answerId = object.getString("answer_id"); diff --git a/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/AnswerViewHolder.java b/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/AnswerViewHolder.java index 804fc5a321..3068aa1cb7 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/AnswerViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/AnswerViewHolder.java @@ -36,6 +36,8 @@ public class AnswerViewHolder extends BaseRecyclerViewHolder { TextView mVotecount; @BindView(R.id.ask_answer_item_title) TextView mQuestionTitle; + @BindView(R.id.ask_answer_item_community_name) + TextView mCommunityName; public AnswerViewHolder(View itemView, Object data, OnListClickListener listClickListener) { super(itemView, data, listClickListener); @@ -81,6 +83,8 @@ public class AnswerViewHolder extends BaseRecyclerViewHolder { mQuestionTitle.setVisibility(View.VISIBLE); mQuestionTitle.setText(entity.getQuestions().getTitle()); mContent.setText(entity.getBrief()); + mCommunityName.setVisibility(View.VISIBLE); + mCommunityName.setText(entity.getCommunityName()); mVotecount.setText(itemView.getContext().getString(R.string.ask_vote_count, AskUtils.voteCountFormat(entity.getVote()))); List images = entity.getImages(); if (images.size() > 0) { @@ -98,6 +102,8 @@ public class AnswerViewHolder extends BaseRecyclerViewHolder { mQuestionTitle.setText(entity.getQuestions().getTitle()); mContent.setText(entity.getBrief()); mVotecount.setText(R.string.resume_deit); + mCommunityName.setVisibility(View.VISIBLE); + mCommunityName.setText(entity.getCommunityName()); mVotecount.setTextColor(ContextCompat.getColor(itemView.getContext(), (R.color.theme))); List images = entity.getImages(); if (images.size() > 0) { diff --git a/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/QuestionsDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/QuestionsDetailAdapter.java index 3e7dfb5fe3..5b73a5b142 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/QuestionsDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/QuestionsDetailAdapter.java @@ -208,6 +208,21 @@ public class QuestionsDetailAdapter extends ListAdapter { holder.mConcern.setText(R.string.concern_questions); } + if (mQuestionsDetailEntity.getMe().isQuestionOwn()) { + holder.mConcern.setVisibility(View.GONE); + } else { + holder.mConcern.setVisibility(View.VISIBLE); + } + + String description = mQuestionsDetailEntity.getDescription(); + if (TextUtils.isEmpty(description)) { + holder.mDesRl.setVisibility(View.GONE); + } else { + holder.mDesRl.setVisibility(View.VISIBLE); + holder.mDes.setText(description); + } + + holder.mCommunityName.setText(mQuestionsDetailEntity.getCommunityName()); holder.mTitle.setText(mQuestionsDetailEntity.getTitle()); holder.mAnswercount.setText(mContext.getString(R.string.ask_answer_count, mQuestionsDetailEntity.getAnswersCount())); diff --git a/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/QuestionsDetailFragment.java b/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/QuestionsDetailFragment.java index 4c617c9041..1b42422061 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/QuestionsDetailFragment.java +++ b/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/QuestionsDetailFragment.java @@ -59,6 +59,10 @@ public class QuestionsDetailFragment extends ListFragment { TextView mAnswerTv; @BindView(R.id.reuse_tv_none_data) TextView mNoDataTv; + @BindView(R.id.questionsdetail_constraintlayout_bottom) + View mBottomCl; + @BindView(R.id.questionsdetail_line) + View mLine; private QuestionsDetailAdapter mAdapter; @@ -187,6 +191,7 @@ public class QuestionsDetailFragment extends ListFragment { @Override public void onSuccess() { mAdapter.onConcern(true); + toast("关注成功"); } @Override @@ -200,6 +205,7 @@ public class QuestionsDetailFragment extends ListFragment { @Override public void onSuccess() { mAdapter.onConcern(false); + toast("取消关注"); } @Override @@ -233,6 +239,12 @@ public class QuestionsDetailFragment extends ListFragment { public void postAnswerSuccess(String answerId) { mQuestionsDetailEntity.getMe().setMyAnswerId(answerId); mAnswerTv.setText(R.string.questions_detail_check_answer); + mBaseHandler.postDelayed(new Runnable() { + @Override + public void run() { + getQuestionsDetail(); + } + }, 500); } public void postDraftsSuccess() { @@ -275,6 +287,8 @@ public class QuestionsDetailFragment extends ListFragment { mReuseNoData.setVisibility(View.VISIBLE); mListLoading.setVisibility(View.GONE); mListRv.setVisibility(View.GONE); + mBottomCl.setVisibility(View.GONE); + mLine.setVisibility(View.GONE); mListRefresh.setRefreshing(false); mListRefresh.setEnabled(false); } else { diff --git a/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/QuestionsDetailItemViewHolder.java b/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/QuestionsDetailItemViewHolder.java index 9c43813a96..9e5fcde57c 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/QuestionsDetailItemViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/QuestionsDetailItemViewHolder.java @@ -24,6 +24,8 @@ public class QuestionsDetailItemViewHolder extends BaseRecyclerViewHolder { public TextView mTitle; @BindView(R.id.questionsdetail_item_des) public TextView mDes; + @BindView(R.id.questionsdetail_item_des_rl) + public View mDesRl; @BindView(R.id.questionsdetail_item_pic1) public SimpleDraweeView mPic1; @BindView(R.id.questionsdetail_item_pic2) @@ -38,6 +40,8 @@ public class QuestionsDetailItemViewHolder extends BaseRecyclerViewHolder { public LinearLayout mImgLl; @BindView(R.id.questionsdetail_item_des_all) public View mDesAll; + @BindView(R.id.questionsdetail_item_community_name) + public TextView mCommunityName; public QuestionsDetailItemViewHolder(View itemView, Object data, OnListClickListener listClickListener) { super(itemView, data, listClickListener); diff --git a/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/QuestionsInviteFragment.java b/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/QuestionsInviteFragment.java index d9fec9c595..437db3d876 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/QuestionsInviteFragment.java +++ b/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/QuestionsInviteFragment.java @@ -54,6 +54,7 @@ public class QuestionsInviteFragment extends ListFragment { if (getArguments() != null) mQuestionsDetailEntity = getArguments().getParcelable(QuestionsDetailEntity.TAG); super.onCreate(savedInstanceState); + mListRefresh.setEnabled(false); } @Override diff --git a/app/src/main/java/com/gh/gamecenter/baselist/ListAdapter.java b/app/src/main/java/com/gh/gamecenter/baselist/ListAdapter.java index 93ad584fba..3ef66b4c24 100644 --- a/app/src/main/java/com/gh/gamecenter/baselist/ListAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/baselist/ListAdapter.java @@ -41,7 +41,10 @@ public abstract class ListAdapter extends BaseRecyclerAdapter { mIsNetworkError = false; break; } - notifyItemChanged(getItemCount() - 1); + + if (getItemCount() > 0) { + notifyItemChanged(getItemCount() - 1); + } } } diff --git a/app/src/main/java/com/gh/gamecenter/collection/AnswerFragment.java b/app/src/main/java/com/gh/gamecenter/collection/AnswerFragment.java index 94853ca40a..10a4a234ad 100644 --- a/app/src/main/java/com/gh/gamecenter/collection/AnswerFragment.java +++ b/app/src/main/java/com/gh/gamecenter/collection/AnswerFragment.java @@ -42,6 +42,7 @@ public class AnswerFragment extends ListFragment { @Override public void onListClick(View view, int position, Object data) { List entityList; + String tracers; switch (view.getId()) { case R.id.footerview_item: if (mAdapter.isNetworkError()) { @@ -54,18 +55,25 @@ public class AnswerFragment extends ListFragment { AnswerEntity entity = entityList.get(position); Bundle bundle = new Bundle(); bundle.putString(EntranceUtils.KEY_ANSWER_ID, entity.getId()); - bundle.putString(EntranceUtils.KEY_ENTRANCE, mEntrance + "+(我的问题)"); + bundle.putString(EntranceUtils.KEY_ENTRANCE, mEntrance + "+(回答)"); NormalActivity.startFragment(getContext(), AskAnswerDetailFragment.class, bundle); break; case R.id.ask_answer_item_title: - case R.id.ask_answer_item_img: - String tracers = mEntrance + "+(我的问题)"; + tracers = mEntrance + "+(回答)"; entityList = (List) data; Questions questions = entityList.get(position).getQuestions(); startActivity(QuestionsDetailActivity.getIntent(getContext(), questions.getId(), tracers)); AskLogUtils.uploadQuestions(getContext(), tracers, questions); break; + case R.id.ask_answer_item_constraintlayout: + tracers = mEntrance + "+(回答)"; + entityList = (List) data; + bundle = new Bundle(); + bundle.putString(EntranceUtils.KEY_ANSWER_ID, entityList.get(position).getId()); + bundle.putString(EntranceUtils.KEY_ENTRANCE, tracers); + NormalActivity.startFragment(getContext(), AskAnswerDetailFragment.class, bundle); + break; } } } diff --git a/app/src/main/java/com/gh/gamecenter/db/GameTrendsDao.java b/app/src/main/java/com/gh/gamecenter/db/GameTrendsDao.java index d29c518386..cb22ea9877 100644 --- a/app/src/main/java/com/gh/gamecenter/db/GameTrendsDao.java +++ b/app/src/main/java/com/gh/gamecenter/db/GameTrendsDao.java @@ -41,7 +41,12 @@ public class GameTrendsDao { public void add(GameTrendsInfo info) { try { - dao.create(info); + GameTrendsInfo gameTrendsInfo = dao.queryForId(info.getUnreadId()); + if (gameTrendsInfo == null) { + dao.create(info); + } else { + dao.update(info); + } } catch (SQLException e) { e.printStackTrace(); } diff --git a/app/src/main/java/com/gh/gamecenter/discover/DiscoverFragment.java b/app/src/main/java/com/gh/gamecenter/discover/DiscoverFragment.java index 979d298697..c806194197 100644 --- a/app/src/main/java/com/gh/gamecenter/discover/DiscoverFragment.java +++ b/app/src/main/java/com/gh/gamecenter/discover/DiscoverFragment.java @@ -1,7 +1,9 @@ package com.gh.gamecenter.discover; import android.content.Intent; +import android.content.SharedPreferences; import android.os.Bundle; +import android.preference.PreferenceManager; import android.support.annotation.Nullable; import android.view.View; import android.widget.ImageView; @@ -15,9 +17,8 @@ import com.gh.gamecenter.DownloadManagerActivity; import com.gh.gamecenter.LibaoActivity; import com.gh.gamecenter.NormalActivity; import com.gh.gamecenter.R; -import com.gh.gamecenter.db.GameTrendsDao; -import com.gh.gamecenter.db.info.GameTrendsInfo; import com.gh.gamecenter.entity.ConcernEntity; +import com.gh.gamecenter.eventbus.EBConcernChanged; import com.gh.gamecenter.eventbus.EBReuse; import com.gh.gamecenter.info.ConcernFragment; import com.gh.gamecenter.info.InfoWrapperFragment; @@ -25,6 +26,7 @@ import com.gh.gamecenter.manager.UserManager; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; +import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; @@ -71,9 +73,14 @@ public class DiscoverFragment extends BaseFragment { @BindView(R.id.discover_game_unread_icon) SimpleDraweeView mDiscoverGameUnreadIcon; + public final static String DISCOVER_UNREAD_TAG = "DISCOVER_UNREAD_TAG"; + public final static String DISCOVER_READ_OVER = "DISCOVER_READ_OVER"; + private ConcernEntity mConcernEntity; - private GameTrendsDao mGameTrendsDao; +// private GameTrendsDao mGameTrendsDao; + + private SharedPreferences mSP; @Override protected int getLayoutId() { @@ -83,7 +90,8 @@ public class DiscoverFragment extends BaseFragment { @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); - mGameTrendsDao = new GameTrendsDao(getContext()); +// mGameTrendsDao = new GameTrendsDao(getContext()); + mSP = PreferenceManager.getDefaultSharedPreferences(getContext()); } @OnClick({R.id.discover_game_trends, R.id.discover_info, R.id.discover_libao, R.id.discover_kuaichuan, R.id.discover_apk_cleaner}) @@ -92,7 +100,9 @@ public class DiscoverFragment extends BaseFragment { case R.id.discover_game_trends: if (mDiscoverGameUnread.getVisibility() == View.VISIBLE) { mDiscoverGameUnread.setVisibility(View.GONE); - mGameTrendsDao.add(new GameTrendsInfo(UserManager.getInstance().getUserId(), mConcernEntity.getId())); + EventBus.getDefault().post(new EBReuse(DISCOVER_READ_OVER)); + mSP.edit().putString(UserManager.getInstance().getUserId(), mConcernEntity.getId()).apply(); +// mGameTrendsDao.add(new GameTrendsInfo(UserManager.getInstance().getUserId(), mConcernEntity.getId())); } NormalActivity.startFragment(getContext(), ConcernFragment.class); break; @@ -123,10 +133,11 @@ public class DiscoverFragment extends BaseFragment { super.onResponse(response); if (response.size() > 0) { mConcernEntity = response.get(0); - String unreadId = mGameTrendsDao.findByUserId(UserManager.getInstance().getUserId()); + String unreadId = mSP.getString(UserManager.getInstance().getUserId(), null); if (unreadId == null || !unreadId.equals(mConcernEntity.getId())) { ImageUtils.Companion.display(mDiscoverGameUnreadIcon, mConcernEntity.getGameIcon()); mDiscoverGameUnread.setVisibility(View.VISIBLE); + EventBus.getDefault().post(new EBReuse(DISCOVER_UNREAD_TAG)); } } } @@ -141,7 +152,14 @@ public class DiscoverFragment extends BaseFragment { getConcernData(); } else if (reuse.getType().equals(LOGOUT_TAG)) { mDiscoverGameUnread.setVisibility(View.GONE); + EventBus.getDefault().post(new EBReuse(DISCOVER_READ_OVER)); } } + // 关注事件 + @Subscribe(threadMode = ThreadMode.MAIN) + public void onEventMainThread(EBConcernChanged changed) { + getConcernData(); + } + } diff --git a/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java index 11f658791c..4665d50f5d 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java +++ b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java @@ -43,10 +43,12 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable { @BindView(R.id.main_iv_message_hint) View mMessageHintIv; + @BindView(R.id.main_iv_discover_hint) + View mDiscoverHint; public static final int INDEX_GAME = 0; public static final int INDEX_ASK = 1; - public static final int INDEX_NEWS = 2; + public static final int INDEX_DISCOVER = 2; public static final int INDEX_PERSONAL = 3; private ArrayList mSearchHintLint; @@ -140,6 +142,10 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable { if (mMessageHintIv != null) { mMessageHintIv.setVisibility(View.VISIBLE); } + } else if (DiscoverFragment.DISCOVER_UNREAD_TAG.equals(reuse.getType())) { + if (mDiscoverHint != null) mDiscoverHint.setVisibility(View.VISIBLE); + } else if (DiscoverFragment.DISCOVER_READ_OVER.equals(reuse.getType())) { + if (mDiscoverHint != null) mDiscoverHint.setVisibility(View.GONE); } } } diff --git a/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuWrapperFragment.java b/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuWrapperFragment.java index efe6e2fb62..2e8f87d9d0 100644 --- a/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuWrapperFragment.java +++ b/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuWrapperFragment.java @@ -2,16 +2,14 @@ package com.gh.gamecenter.kaifu; import android.os.Bundle; import android.support.v4.app.FragmentTransaction; -import android.view.Menu; -import android.view.MenuInflater; import android.view.MenuItem; -import android.view.View; import android.widget.TextView; import com.gh.common.util.EntranceUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.eventbus.EBKaiFuReset; import com.gh.gamecenter.normal.NormalFragment; +import com.lightgame.utils.Utils; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; @@ -35,27 +33,35 @@ public class KaiFuWrapperFragment extends NormalFragment { return R.layout.fragment_kaifu_wrapper; } - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - super.onCreateOptionsMenu(menu, inflater); - inflater.inflate(R.menu.menu_button, menu); - mResetMenuItem = menu.findItem(R.id.menu_button); - mResetMenuItem.setTitle(R.string.menu_text_reset); - mResetMenuItem.setVisible(false); - final TextView textView = mResetMenuItem.getActionView().findViewById(R.id.tv_menu_button); - textView.setText(R.string.menu_text_reset); - textView.setOnClickListener(this); - } +// @Override +// public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { +// super.onCreateOptionsMenu(menu, inflater); +// inflater.inflate(R.menu.menu_button, menu); +// mResetMenuItem = menu.findItem(R.id.menu_button); +// mResetMenuItem.setTitle(R.string.menu_text_reset); +// mResetMenuItem.setVisible(false); +// final TextView textView = mResetMenuItem.getActionView().findViewById(R.id.tv_menu_button); +// textView.setText(R.string.menu_text_reset); +// textView.setOnClickListener(this); +// } + +// @Override +// protected boolean handleOnClick(View view) { +// switch (view.getId()) { +// case R.id.tv_menu_button: +// resetFragment(); +// return true; +// +// } +// return super.handleOnClick(view); +// } @Override - protected boolean handleOnClick(View view) { - switch (view.getId()) { - case R.id.tv_menu_button: - resetFragment(); - return true; - + public void onMenuItemClick(MenuItem menuItem) { + super.onMenuItemClick(menuItem); + if (menuItem.getItemId() == R.id.menu_button) { + resetFragment(); } - return super.handleOnClick(view); } @Override @@ -64,6 +70,14 @@ public class KaiFuWrapperFragment extends NormalFragment { setHasOptionsMenu(true); setNavigationTitle("开服表"); + initMenu(R.menu.menu_button); + mResetMenuItem = getItemMenu(R.id.menu_button); + mResetMenuItem.setTitle(R.string.menu_text_reset); + mResetMenuItem.setVisible(false); + final TextView textView = mResetMenuItem.getActionView().findViewById(R.id.tv_menu_button); + textView.setText(R.string.menu_text_reset); + + FragmentTransaction fragmentTransaction = getChildFragmentManager().beginTransaction(); mKaiFuFragment = new KaiFuFragment(); fragmentTransaction.add(R.id.layout_fragment_content, mKaiFuFragment); @@ -85,6 +99,7 @@ public class KaiFuWrapperFragment extends NormalFragment { @Subscribe(threadMode = ThreadMode.MAIN) public void onEventMainThread(EBKaiFuReset reset) { if (SINGLE_GAME_KAIFU.equals(reset.getControl())) { + Utils.log("=========::" + reset.getGameId() + "==" + reset.getControl()); mResetMenuItem.setVisible(true); FragmentTransaction fragmentTransaction = getChildFragmentManager().beginTransaction(); diff --git a/app/src/main/java/com/gh/gamecenter/libao/LibaoWrapperFragment.java b/app/src/main/java/com/gh/gamecenter/libao/LibaoWrapperFragment.java index 24e176a8a1..dd808970e5 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/LibaoWrapperFragment.java +++ b/app/src/main/java/com/gh/gamecenter/libao/LibaoWrapperFragment.java @@ -1,11 +1,14 @@ package com.gh.gamecenter.libao; +import android.app.Activity; +import android.content.Context; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.content.ContextCompat; import android.support.v4.view.ViewPager; import android.util.DisplayMetrics; import android.view.View; +import android.view.WindowManager; import android.widget.LinearLayout; import android.widget.TextView; @@ -65,6 +68,15 @@ public class LibaoWrapperFragment extends NormalFragment implements View.OnClick return R.layout.fragment_libao_wrapper; } + + @Override + public void onAttach(Context context) { + super.onAttach(context); + if (context instanceof Activity) { + ((Activity) context).getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); + } + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/app/src/main/java/com/gh/gamecenter/login/UserRepository.java b/app/src/main/java/com/gh/gamecenter/login/UserRepository.java index 867ef215bb..4221bf5f65 100644 --- a/app/src/main/java/com/gh/gamecenter/login/UserRepository.java +++ b/app/src/main/java/com/gh/gamecenter/login/UserRepository.java @@ -303,9 +303,16 @@ class UserRepository { } Map map = new HashMap<>(); map.put(editType, content); + JSONObject object = new JSONObject(map); + try { + JSONObject device = DeviceUtils.getLoginDevice(mContext.getApplicationContext()); + object.put("device", device); + } catch (JSONException e) { + e.printStackTrace(); + } RequestBody body = RequestBody.create(MediaType.parse("application/json"), - new JSONObject(map).toString()); + object.toString()); mUserseaService .changeUserInfo(body) .subscribeOn(Schedulers.io()) diff --git a/app/src/main/java/com/gh/gamecenter/message/MessageFragment.java b/app/src/main/java/com/gh/gamecenter/message/MessageFragment.java index 9d329ed945..fa41943f94 100644 --- a/app/src/main/java/com/gh/gamecenter/message/MessageFragment.java +++ b/app/src/main/java/com/gh/gamecenter/message/MessageFragment.java @@ -6,10 +6,11 @@ import android.view.View; import com.gh.common.util.AskLogUtils; import com.gh.common.util.EntranceUtils; -import com.gh.gamecenter.QuestionsDetailActivity; import com.gh.gamecenter.CommentDetailActivity; +import com.gh.gamecenter.MessageDetailActivity; import com.gh.gamecenter.NewsDetailActivity; import com.gh.gamecenter.NormalActivity; +import com.gh.gamecenter.QuestionsDetailActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.ask.AskAnswerDetailFragment; import com.gh.gamecenter.ask.entity.Questions; @@ -62,17 +63,14 @@ public class MessageFragment extends ListFragment { MessageEntity entity = ((List) data).get(position); switch (entity.getType()) { case "comment_vote": - if (view.getId() == R.id.message_item_title) { + if (view.getId() == R.id.message_item_title || view.getId() == R.id.message_item) { Intent intent = NewsDetailActivity.getIntentById(getContext(), entity.getArticle().getId(), "消息中心-消息"); startActivity(intent); - } else if (view.getId() == R.id.message_item) { - Intent intent = CommentDetailActivity.getIntent(getContext(), entity.getComment().getId()); - startActivity(intent); } break; case "reply": if (view.getId() == R.id.message_item_title) { - Intent intent = NewsDetailActivity.getIntentById(getContext(), entity.getArticle().getId(), "消息中心-消息"); + Intent intent = MessageDetailActivity.getIntentById(getContext(), entity.getArticle().getId(), -1, false,"消息中心-消息"); startActivity(intent); } else if (view.getId() == R.id.message_item) { Intent intent = CommentDetailActivity.getIntent(getContext(), entity.getDialogue().getTo().getId()); @@ -80,6 +78,15 @@ public class MessageFragment extends ListFragment { } break; case "invited": + if (view.getId() == R.id.message_item_title || view.getId() == R.id.message_item) { + String tracers = mEntrance + "+(消息)"; + Questions question = entity.getQuestion(); + Intent intent = QuestionsDetailActivity.getIntent(getContext(), question.getId(), tracers); + startActivity(intent); + + AskLogUtils.uploadQuestions(getContext(), tracers, question); + } + break; case "answer": case "answer_vote": case "follow_question": diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java index 9e1978941d..90ef2b7ad7 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java @@ -45,7 +45,6 @@ import retrofit2.http.DELETE; import retrofit2.http.GET; import retrofit2.http.Header; import retrofit2.http.Headers; -import retrofit2.http.PATCH; import retrofit2.http.POST; import retrofit2.http.PUT; import retrofit2.http.Path; @@ -411,13 +410,13 @@ public interface ApiService { /** * 修改收藏的文章 */ - @PATCH("favorite/toolkit/{toolsid}") + @POST("favorite/toolkit/{toolsid}") Observable patchCollectionTools(@Path("toolsid") String toolsId); /** * 修改收藏的工具 */ - @PATCH("favorite/article/{articleid}") + @POST("favorite/article/{articleid}") Observable patchCollectionArticle(@Path("articleid") String articleId); /** @@ -776,7 +775,7 @@ public interface ApiService { /** * 对社区问题进行回答:修改 */ - @PATCH("answers/{answer_id}") + @POST("answers/{answer_id}") Observable patchQuestionAnswer(@Body RequestBody body, @Path("answer_id") String answerId); /** diff --git a/app/src/main/java/com/gh/gamecenter/wxapi/WXEntryActivity.java b/app/src/main/java/com/gh/gamecenter/wxapi/WXEntryActivity.java index 72a262c12a..38a88977c7 100644 --- a/app/src/main/java/com/gh/gamecenter/wxapi/WXEntryActivity.java +++ b/app/src/main/java/com/gh/gamecenter/wxapi/WXEntryActivity.java @@ -7,6 +7,7 @@ import android.widget.TextView; import com.gh.common.constant.Config; import com.gh.common.util.GetLoginDataUtils; +import com.gh.gamecenter.R; import com.lightgame.utils.Utils; import com.tencent.mm.sdk.openapi.BaseReq; import com.tencent.mm.sdk.openapi.BaseResp; @@ -72,7 +73,7 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler, break; case BaseResp.ErrCode.ERR_USER_CANCEL: if (RETURN_MSG_TYPE_SHARE == baseResp.getType()) { - shareResult = "分享已取消"; + shareResult = getString(R.string.share_cancel_hint); } else { shareResult = "登录已取消"; } diff --git a/app/src/main/java/com/halo/assistant/fragment/user/UserInfoEditFragment.java b/app/src/main/java/com/halo/assistant/fragment/user/UserInfoEditFragment.java index 4336de5a20..b242a99d14 100644 --- a/app/src/main/java/com/halo/assistant/fragment/user/UserInfoEditFragment.java +++ b/app/src/main/java/com/halo/assistant/fragment/user/UserInfoEditFragment.java @@ -162,6 +162,7 @@ public class UserInfoEditFragment extends NormalFragment { if (UserViewModel.TYPE_NAME.equals(mEditType)) { String value = mUserinfoNicknameEt.getText().toString().trim(); if (!TextUtils.isEmpty(value)) { + value = value.replace(" ", ""); if (value.equals(mUserInfoEntity.getName())) { getActivity().finish(); } else { diff --git a/app/src/main/res/drawable-xxhdpi/ic_ask_select.png b/app/src/main/res/drawable-xxhdpi/ic_ask_select.png index e3edaa3078a8e36dd7e9718ae9762c2f4dd4c0b3..dd8ebc986bdfdbd5ba11ae63137c17e481234aeb 100644 GIT binary patch delta 3487 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 Qp9g?Hd<0i_@KnZs0b6M{F8}}l diff --git a/app/src/main/res/drawable-xxhdpi/ic_ask_unselect.png b/app/src/main/res/drawable-xxhdpi/ic_ask_unselect.png index 0214e8cc40db7a0a5b849c08a60c3425937daa78..1769f7045640f07de30dbc97f6f7e1c4351a2809 100644 GIT binary patch delta 3467 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 diff --git a/app/src/main/res/layout/activity_asktab_order.xml b/app/src/main/res/layout/activity_asktab_order.xml index 08ab2f533e..e4b7866101 100644 --- a/app/src/main/res/layout/activity_asktab_order.xml +++ b/app/src/main/res/layout/activity_asktab_order.xml @@ -8,18 +8,20 @@ + android:text = "@string/asktab_order_hint" + android:textColor = "@color/black" + android:textSize = "11sp" /> + android:layout_weight = "1" /> + + \ No newline at end of file diff --git a/app/src/main/res/layout/ask_questions_new_item.xml b/app/src/main/res/layout/ask_questions_new_item.xml index 77a0888de8..a0fab3d0ce 100644 --- a/app/src/main/res/layout/ask_questions_new_item.xml +++ b/app/src/main/res/layout/ask_questions_new_item.xml @@ -1,6 +1,6 @@ + android:textSize = "11sp" /> + + \ No newline at end of file diff --git a/app/src/main/res/layout/ask_search_actionbar.xml b/app/src/main/res/layout/ask_search_actionbar.xml index 6321388296..d1f0705d8e 100644 --- a/app/src/main/res/layout/ask_search_actionbar.xml +++ b/app/src/main/res/layout/ask_search_actionbar.xml @@ -36,7 +36,7 @@ android:hint = "@string/ask_search_hint" android:imeOptions = "actionSearch" android:paddingLeft = "20dp" - android:paddingRight = "20dp" + android:paddingRight = "35dp" android:singleLine = "true" android:textColorHint = "@color/text_949494" android:textColor="@color/text_949494" diff --git a/app/src/main/res/layout/ask_search_item.xml b/app/src/main/res/layout/ask_search_item.xml index 255b47db5d..72cfb5c943 100644 --- a/app/src/main/res/layout/ask_search_item.xml +++ b/app/src/main/res/layout/ask_search_item.xml @@ -15,6 +15,7 @@ android:layout_width = "match_parent" android:layout_height = "wrap_content" android:textColor = "@color/black" + android:textStyle="bold" android:textSize = "16sp" /> + android:background = "@android:color/white" + android:orientation = "vertical" > @@ -34,16 +35,16 @@ app:layout_constraintTop_toBottomOf = "@id/answer_edit_title" /> - - - - - - - - + + + + + + + + - + @@ -51,7 +52,7 @@ android:id = "@+id/answer_edit_content" android:layout_width = "match_parent" android:layout_height = "0dp" - android:layout_weight="1" + android:layout_weight = "1" app:layout_constraintBottom_toTopOf = "@+id/answer_edit_line3" app:layout_constraintLeft_toLeftOf = "parent" app:layout_constraintRight_toRightOf = "parent" @@ -73,4 +74,4 @@ android:src = "@drawable/answer_edit_img_icon" app:layout_constraintBottom_toBottomOf = "parent" app:layout_constraintTop_toBottomOf = "@id/answer_edit_content" /> - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml index 4b1bdf888d..cae1acacb7 100644 --- a/app/src/main/res/layout/fragment_main.xml +++ b/app/src/main/res/layout/fragment_main.xml @@ -83,11 +83,32 @@ android:gravity = "center" android:orientation = "vertical" > - + + + + + + + + + + + android:layout_width = "26dp" + android:layout_height = "29dp" > - + + + + + diff --git a/app/src/main/res/layout/fragment_personal.xml b/app/src/main/res/layout/fragment_personal.xml index 550eecc180..bd7cffaa1e 100644 --- a/app/src/main/res/layout/fragment_personal.xml +++ b/app/src/main/res/layout/fragment_personal.xml @@ -338,7 +338,7 @@ + android:layout_height = "8dp" /> + android:layout_height = "match_parent" + android:layout_above = "@+id/questionsedit_post" > - - - @@ -70,11 +59,11 @@ android:layout_marginTop = "8dp" android:background = "@android:color/white" android:hint = "@string/questionsedit_title" + android:maxLength = "30" android:paddingBottom = "15dp" android:paddingLeft = "20dp" android:paddingRight = "20dp" android:paddingTop = "15dp" - android:maxLength="30" android:textCursorDrawable = "@drawable/cursor_color" android:textSize = "13sp" /> @@ -93,10 +82,9 @@ android:gravity = "top" android:hint = "@string/questionsedit_content_hint" android:inputType = "textMultiLine" - android:lineSpacingMultiplier = "1.2" + android:maxLength = "100" android:minLines = "2" android:padding = "20dp" - android:maxLength="100" android:textColorHint = "@color/content" android:textCursorDrawable = "@drawable/cursor_color" android:textSize = "13sp" /> @@ -112,42 +100,47 @@ - - - + + + + - @@ -157,13 +150,14 @@ android:layout_height = "7dp" android:layout_above = "@id/questionsedit_post" android:background = "@drawable/shadow" /> + + android:layout_alignParentBottom = "true" + android:background = "@android:color/white" + android:gravity = "center" + android:padding = "15dp" + android:text = "@string/suggest_post" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_questionsdetail.xml b/app/src/main/res/layout/fragment_questionsdetail.xml index c4f3cb9f2f..e3a0354bb6 100644 --- a/app/src/main/res/layout/fragment_questionsdetail.xml +++ b/app/src/main/res/layout/fragment_questionsdetail.xml @@ -9,7 +9,7 @@ android:id = "@+id/list_refresh" android:layout_width = "match_parent" android:layout_height = "0dp" - app:layout_constraintBottom_toTopOf = "@+id/questionsdetail_answer" + app:layout_constraintBottom_toTopOf = "@+id/questionsdetail_constraintlayout_bottom" app:layout_constraintTop_toTopOf = "@+id/questionsdetail_constraintlayout" > + app:layout_constraintBottom_toTopOf = "@+id/questionsdetail_constraintlayout_bottom" /> - - - - - + - + - + + + + + + + + + + + + - - \ No newline at end of file diff --git a/app/src/main/res/layout/message_kefu_item.xml b/app/src/main/res/layout/message_kefu_item.xml index a141c0d972..0e8f6208ff 100644 --- a/app/src/main/res/layout/message_kefu_item.xml +++ b/app/src/main/res/layout/message_kefu_item.xml @@ -75,6 +75,7 @@ android:layout_height = "wrap_content" android:paddingTop = "8dp" android:text = "@string/message_contact_kefu" - android:textColor = "@color/theme" /> + android:textColor = "@color/theme" + android:textSize = "14sp" /> \ No newline at end of file diff --git a/app/src/main/res/layout/questionsdetail_item.xml b/app/src/main/res/layout/questionsdetail_item.xml index dfb0a9b998..67f5519463 100644 --- a/app/src/main/res/layout/questionsdetail_item.xml +++ b/app/src/main/res/layout/questionsdetail_item.xml @@ -5,7 +5,7 @@ android:layout_width = "match_parent" android:layout_height = "wrap_content" android:background = "@drawable/reuse_listview_item_style" - android:paddingBottom = "10dp" + android:paddingBottom = "9dp" android:paddingLeft = "20dp" android:paddingRight = "20dp" android:paddingTop = "10dp" > @@ -60,7 +60,7 @@ android:id = "@+id/questionsdetail_item_picll" android:layout_width = "match_parent" android:layout_height = "100dp" - android:layout_marginTop = "10dp" + android:layout_marginTop = "7dp" app:layout_constraintTop_toBottomOf = "@id/questionsdetail_item_des_rl" > @@ -98,11 +98,23 @@ android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_marginLeft = "15dp" - android:layout_marginTop = "10dp" + android:layout_marginTop = "9dp" android:text = "@string/concern_questions" android:textColor = "@color/hint" android:textSize = "12sp" app:layout_constraintLeft_toRightOf = "@id/questionsdetail_item_answercount" app:layout_constraintTop_toBottomOf = "@id/questionsdetail_item_picll" /> + + \ No newline at end of file diff --git a/app/src/main/res/menu/menu_web.xml b/app/src/main/res/menu/menu_web.xml index 384d2deb50..6322e10d7d 100644 --- a/app/src/main/res/menu/menu_web.xml +++ b/app/src/main/res/menu/menu_web.xml @@ -14,4 +14,9 @@ android:title = "@string/menu_collect" app:showAsAction = "always" /> + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3e57e69284..6aea9c404d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -240,7 +240,7 @@ 下载管理 分享跳转中... 分享成功 - 分享取消 + 分享已取消 分享失败 输入手机号码 输入验证码 @@ -527,5 +527,6 @@ http://www.ghzs.com/question/%1$s?invite=%2$s http://www.ghzs.com/question/%1$s http://www.ghzs.com/question/%1$s?answer=%2$s + 3.什么是违规内容?点我]]>