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 9777be3273..4c5e419043 100644 --- a/app/src/main/java/com/gh/common/util/ShareUtils.java +++ b/app/src/main/java/com/gh/common/util/ShareUtils.java @@ -24,9 +24,6 @@ import android.widget.PopupWindow; import android.widget.RelativeLayout; import android.widget.TextView; -import androidx.recyclerview.widget.GridLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - import com.gh.common.constant.Config; import com.gh.gamecenter.R; import com.gh.gamecenter.WeiBoShareActivity; @@ -53,6 +50,9 @@ import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.List; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + import static com.gh.common.util.LoginHelper.WEIBO_SCOPE; /** @@ -91,7 +91,8 @@ public class ShareUtils { communityArticle("文章详情"), video("视频"), web("web链接"), - userHome("个人主页"); + userHome("个人主页"), + qaDetail("QA内容详情"); private String name; @@ -562,6 +563,10 @@ public class ShareUtils { //新浪微博分享 private void sinaWeiboShare() { + if (mShareEntrance == ShareEntrance.qaDetail) { + mTitle = "向你推荐:" + mTitle + " @光环助手 " + shareUrl; + mSummary = ""; + } Activity activity = mActivity.get(); if (activity != null) { Intent intent = WeiBoShareActivity.getWeiboshareIntent( @@ -605,6 +610,9 @@ public class ShareUtils { case communityArticle: smsBody = mTitle + " - 光环助手" + shareUrl; break; + case qaDetail: + smsBody = "向你推荐:" + mTitle + " @光环助手 " + shareUrl; + break; default: smsBody = mTitle; break; @@ -618,7 +626,7 @@ public class ShareUtils { e.printStackTrace(); } - if (mShareEntrance != ShareEntrance.shareGh ) { + if (mShareEntrance != ShareEntrance.shareGh) { safelyDismiss(); } } @@ -745,7 +753,7 @@ public class ShareUtils { } } } - + private void safelyDismiss() { if (popupWindow.get() != null) { popupWindow.get().dismiss(); diff --git a/app/src/main/java/com/gh/gamecenter/WebActivity.java b/app/src/main/java/com/gh/gamecenter/WebActivity.java index dcd051de4d..1504f3f64c 100644 --- a/app/src/main/java/com/gh/gamecenter/WebActivity.java +++ b/app/src/main/java/com/gh/gamecenter/WebActivity.java @@ -214,6 +214,18 @@ public class WebActivity extends NormalActivity { return getTargetIntent(context, WebActivity.class, WebFragment.class, bundle); } + @NonNull + public static Intent getIntent(Context context, String url, String title, int qaType) { + Bundle bundle = new Bundle(); + bundle.putString(EntranceUtils.KEY_URL, url); + bundle.putString(EntranceUtils.KEY_GAMENAME, title); + bundle.putBoolean(WebFragment.KEY_COMPLETION_TITLE, false); + bundle.putBoolean(WebFragment.KEY_LEAVE_WEB_PAGE_TO_HANDLE_TITLE, false); + bundle.putBoolean(WebFragment.KEY_OPEN_NATIVE_PAGE, false); + bundle.putInt(WebFragment.KEY_QA_TYPE, qaType); + return getTargetIntent(context, WebActivity.class, WebFragment.class, bundle); + } + @NonNull public static Intent getIntentByUrl(Context context, String url) { return getIntentByUrl(context, url, false); diff --git a/app/src/main/java/com/gh/gamecenter/help/HelpContentAdapter.kt b/app/src/main/java/com/gh/gamecenter/help/HelpContentAdapter.kt index 92ad23db7d..4837abfed6 100644 --- a/app/src/main/java/com/gh/gamecenter/help/HelpContentAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/help/HelpContentAdapter.kt @@ -91,7 +91,7 @@ class HelpContentAdapter(context: Context, } else { Constants.HELP_ADDRESS } - mContext.startActivity(WebActivity.getIntent(mContext, "${url}${entity.id}", mNavigationTitle, false, false)) + mContext.startActivity(WebActivity.getIntent(mContext, "${url}${entity.id}", mNavigationTitle, if (!mQaCollectionId.isNullOrEmpty())0 else 1)) } val category = mFragment.getHelpCategory() val activity = mFragment.activity diff --git a/app/src/main/java/com/gh/gamecenter/help/HelpQaAdapter.kt b/app/src/main/java/com/gh/gamecenter/help/HelpQaAdapter.kt index 55c0d43ccd..7414f9e777 100644 --- a/app/src/main/java/com/gh/gamecenter/help/HelpQaAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/help/HelpQaAdapter.kt @@ -46,7 +46,7 @@ class HelpQaAdapter(val context: Context, val helpCategoryEntity: HelpCategoryEn } else { Constants.HELP_ADDRESS } - context.startActivity(WebActivity.getIntent(context, "${url}${helpEntity.id}", helpCategoryEntity.name, false, false)) + context.startActivity(WebActivity.getIntent(context, "${url}${helpEntity.id}", helpCategoryEntity.name, if (!mQaCollectionId.isNullOrEmpty())0 else 1)) } if (!mQaCollectionId.isNullOrEmpty()) { MtaHelper.onEvent("QA", "QA合集点击", "点击首页+${HtmlUtils.stripHtml(helpEntity.title)}") diff --git a/app/src/main/java/com/halo/assistant/fragment/WebFragment.java b/app/src/main/java/com/halo/assistant/fragment/WebFragment.java index bff5882fec..42105ff77b 100644 --- a/app/src/main/java/com/halo/assistant/fragment/WebFragment.java +++ b/app/src/main/java/com/halo/assistant/fragment/WebFragment.java @@ -16,8 +16,6 @@ import android.widget.ProgressBar; import android.widget.RelativeLayout; import android.widget.TextView; -import androidx.annotation.Nullable; - import com.gh.base.BaseActivity; import com.gh.common.AppExecutor; import com.gh.common.DefaultJsApi; @@ -54,6 +52,7 @@ import org.greenrobot.eventbus.ThreadMode; import java.util.HashMap; import java.util.List; +import androidx.annotation.Nullable; import butterknife.BindView; import butterknife.OnClick; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -71,6 +70,7 @@ public class WebFragment extends NormalFragment implements IScrollable { public static final String KEY_ISCOLLECTIONTOOLS = "isCollectionTools"; public static final String KEY_IS_SECURITY_CERTIFICATION = "is_security_certification"; public static final String KEY_COMPLETION_TITLE = "completion_title"; + public static final String KEY_QA_TYPE = "qa_type"; public static final String KEY_LEAVE_WEB_PAGE_TO_HANDLE_TITLE = "leave_web_page_to_handle_title"; public static final String KEY_LEAVE_WEB_PAGE_TO_HANDLE_BACK_PRESSED = "leave_web_page_to_handel_back_pressed"; @@ -103,6 +103,7 @@ public class WebFragment extends NormalFragment implements IScrollable { private boolean mShowWebShare; private boolean mAutoCompletionTitle; private boolean mIsTools; + private int mQaType = -1;//0:QA内容详情 1:使用帮助内容详情 private boolean mIsBindWechat; private boolean mIsBackpressRequireConfirmation; private boolean mIsWebPageHandleBackPressed; @@ -182,7 +183,12 @@ public class WebFragment extends NormalFragment implements IScrollable { mShareEntity.getIcon(), mShareEntity.getTitle(), mShareEntity.getDescription(), - ShareUtils.ShareEntrance.web, ""); + mQaType >= 0 ? ShareUtils.ShareEntrance.qaDetail : ShareUtils.ShareEntrance.web, ""); + if (mQaType == 0) { + MtaHelper.onEvent("QA", "QA内容详情", "点击分享+" + mShareEntity.getTitle()); + } else if (mQaType == 1) { + MtaHelper.onEvent("意见反馈", "使用帮助内容详情", "点击分享+" + mShareEntity.getTitle()); + } } } @@ -247,6 +253,7 @@ public class WebFragment extends NormalFragment implements IScrollable { mShowWebShare = args.getBoolean(EntranceUtils.KEY_WEB_SHARE, false); mIsBindWechat = args.getBoolean(KEY_IS_BIND_WECHAT, false); mIsTools = args.getBoolean(KEY_ISTOOLS, false); + mQaType = args.getInt(KEY_QA_TYPE, -1); mAutoCompletionTitle = args.getBoolean(KEY_COMPLETION_TITLE, true); mNavigationTitle = args.getString(EntranceUtils.KEY_GAMENAME); newsId = args.getString(EntranceUtils.KEY_NEWSID);