Commit f2c814d3 by 刘鹏

feat: 分享弹窗bug修复

parent a9549fa8
......@@ -8,7 +8,7 @@ ext {
"m-confide" : "0.0.49.74",
"m-consultant" : "0.0.60.25",
"m-fm" : "0.0.30.08",
"m-user" : "0.0.62.10",
"m-user" : "0.0.62.11",
"m-home" : "0.0.23.48",
"m-im" : "0.0.21.44",
"m-dynamic" : "0.0.7.73",
......@@ -35,7 +35,7 @@ ext {
//mdt 组件
"ydl-tuicore" : "0.0.23",
//第一步
"ydl-platform" : "0.0.40.99",
"ydl-platform" : "0.0.41.08",
//第二步 若干
"ydl-webview" : "0.0.38.62",
......@@ -93,7 +93,7 @@ ext {
"m-confide" : "0.0.49.74",
"m-consultant" : "0.0.60.25",
"m-fm" : "0.0.30.08",
"m-user" : "0.0.62.10",
"m-user" : "0.0.62.11",
"m-home" : "0.0.23.48",
"m-im" : "0.0.21.44",
"m-dynamic" : "0.0.7.73",
......@@ -118,7 +118,7 @@ ext {
//mdt组件
"ydl-tuicore" : "0.0.23",
//第一步
"ydl-platform" : "0.0.40.99",
"ydl-platform" : "0.0.41.08",
//第二步 若干
"ydl-webview" : "0.0.38.62",
......
......@@ -73,7 +73,6 @@ dependencies {
if (rootProject.ext.dev_mode){
//开发时使用
api project(":ydl-platform")
api project(':m-user')
implementation modularPublication('com.ydl:m-user-api')
implementation modularPublication('com.ydl:m-dynamic-api')
implementation project(':ydl-media')
......
......@@ -27,6 +27,7 @@ import com.ydl.ydlcommon.utils.BuryPointUtils
import com.ydl.ydlcommon.utils.Utils
import com.ydl.ydlcommon.utils.YdlBuryPointUtil
import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils.Companion.count
import com.ydl.ydlcommon.view.dialog.YDLShareDialog
import com.ydl.ydlcommon.view.dialog.YDLShareDialog.Companion.style4
import com.yidianling.consultant.api.IConsultantService
import com.yidianling.dynamic.api.IDynamicService
......@@ -53,7 +54,6 @@ import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.functions.Consumer
import io.reactivex.schedulers.Schedulers
import kotlinx.android.synthetic.main.user_mine_fragment_mine.*
import java.text.SimpleDateFormat
import java.util.*
/**
......@@ -67,7 +67,7 @@ class MineFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener, View.
var share_head = "http://static.ydlcdn.com/v1/images/logo320.png"
var share_url = "http://m.yidianling.com/app"
var userInfoData: UserResponseBean.UserInfo? = null
private var mShareDialog: YDLShareDialog? = null
private var startTime: Long = 0
private var endTime: Long = 0
override fun layoutResId(): Int {
......@@ -130,10 +130,14 @@ class MineFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener, View.
.getGlobalInfo()?.info && null != PlatformRamImpl.getInstance()
.getGlobalInfo()?.info?.app_share
) {
share_title = PlatformRamImpl.getInstance().getGlobalInfo()?.info?.app_share?.title.toString()
share_context = PlatformRamImpl.getInstance().getGlobalInfo()?.info?.app_share?.descrip.toString()
share_head = PlatformRamImpl.getInstance().getGlobalInfo()?.info?.app_share?.cover_url.toString()
share_url = PlatformRamImpl.getInstance().getGlobalInfo()?.info?.app_share?.dl_url.toString()
share_title =
PlatformRamImpl.getInstance().getGlobalInfo()?.info?.app_share?.title.toString()
share_context =
PlatformRamImpl.getInstance().getGlobalInfo()?.info?.app_share?.descrip.toString()
share_head =
PlatformRamImpl.getInstance().getGlobalInfo()?.info?.app_share?.cover_url.toString()
share_url =
PlatformRamImpl.getInstance().getGlobalInfo()?.info?.app_share?.dl_url.toString()
}
}
......@@ -450,7 +454,7 @@ class MineFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener, View.
count(UserMyPageEvent.YDL_USER_MY_BOTTOM_TYPE_CLICK, "专家入驻")
var joinDoctorUrl = PlatformRamImpl.getInstance().getGlobalInfo()?.info?.join_doctor_url
if (joinDoctorUrl.isNullOrEmpty()) {
joinDoctorUrl= "http://m.yidianling.com/enter?"
joinDoctorUrl = "http://m.yidianling.com/enter?"
}
val h5Paramzhuan = H5Params(joinDoctorUrl, null)
NewH5Activity.start(activity, h5Paramzhuan)
......@@ -505,10 +509,12 @@ class MineFragment : BaseFragment(), SwipeRefreshLayout.OnRefreshListener, View.
}
private fun share() {
val dialog = mActivity?.let {activity ->
style4(activity, share_title, share_url, share_context, share_head)
if (mShareDialog == null) {
mShareDialog = mActivity?.let { activity ->
style4(activity, share_title, share_url, share_context, share_head)
}
}
dialog?.show(activity?.fragmentManager, "lose")
mShareDialog?.show(activity?.fragmentManager, "lose")
}
/**
......
......@@ -42,6 +42,7 @@ class YDLShareDialog : DialogFragment {
//小程序页面地址
private var path: String? = null
//小程序id
private var minProgramId: String? = null
......@@ -50,7 +51,13 @@ class YDLShareDialog : DialogFragment {
private var llmargin = 0
@SuppressLint("ValidFragment")
constructor(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?) : super() {
constructor(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?
) : super() {
this.mActivity = activity
this.shareTitle = shareTitle
this.shareUrl = shareUrl
......@@ -60,7 +67,15 @@ class YDLShareDialog : DialogFragment {
//传递小程序参数
@SuppressLint("ValidFragment")
constructor(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?, path: String?, minProgramId: String?) : super() {
constructor(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?,
path: String?,
minProgramId: String?
) : super() {
this.mActivity = activity
this.shareTitle = shareTitle
this.shareUrl = shareUrl
......@@ -80,6 +95,7 @@ class YDLShareDialog : DialogFragment {
companion object {
var typeStyle: Int = 0
/**
* 1.为显示1排(5个) 2.为显示2排(隐藏动态和举报)3.为显示2排(隐藏动态和删除) 4.为显示1排(4个)隐藏动态按钮 5:生成海报按钮、隐藏动态 6:保存海报按钮、隐藏动态 7.为显示1排(4个)隐藏动态按钮
*/
......@@ -90,6 +106,7 @@ class YDLShareDialog : DialogFragment {
const val TYPE5 = 5
const val TYPE6 = 6
const val TYPE7 = 7
/**
* 点击事件类型 1.动态 2.删除 3.举报 4.返回首页 5:生成海报 6:保存本地 7:分享纯图片
*/
......@@ -101,55 +118,127 @@ class YDLShareDialog : DialogFragment {
const val CLICK_SAVE = 6
const val CLICK_SHARE_IMAGE = 7
fun style1(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?): YDLShareDialog {
fun style1(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?
): YDLShareDialog {
typeStyle = TYPE1
return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead)
}
//支持分享小程序
fun style1(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?, minProgramPath: String? = "", minProgramId: String? = ""): YDLShareDialog {
fun style1(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?,
minProgramPath: String? = "",
minProgramId: String? = ""
): YDLShareDialog {
typeStyle = TYPE1
return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead, minProgramPath, minProgramId)
return YDLShareDialog(
activity,
shareTitle,
shareUrl,
shareContent,
shareHead,
minProgramPath,
minProgramId
)
}
fun style2(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?): YDLShareDialog {
fun style2(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?
): YDLShareDialog {
typeStyle = TYPE2
return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead)
}
fun style3(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?): YDLShareDialog {
fun style3(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?
): YDLShareDialog {
typeStyle = TYPE3
return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead)
}
fun style4(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?): YDLShareDialog {
fun style4(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?
): YDLShareDialog {
typeStyle = TYPE4
return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead)
}
fun style5(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?): YDLShareDialog {
fun style5(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?
): YDLShareDialog {
typeStyle = TYPE5
return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead)
}
fun style6(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?): YDLShareDialog {
fun style6(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?
): YDLShareDialog {
typeStyle = TYPE6
return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead)
}
//支持分享小程序
fun style7(activity: Activity, shareTitle: String?, shareUrl: String?, shareContent: String?, shareHead: String?, minProgramPath: String? = "", minProgramId: String? = ""): YDLShareDialog {
fun style7(
activity: Activity,
shareTitle: String?,
shareUrl: String?,
shareContent: String?,
shareHead: String?,
minProgramPath: String? = "",
minProgramId: String? = ""
): YDLShareDialog {
typeStyle = TYPE7
return YDLShareDialog(activity, shareTitle, shareUrl, shareContent, shareHead, minProgramPath, minProgramId)
return YDLShareDialog(
activity,
shareTitle,
shareUrl,
shareContent,
shareHead,
minProgramPath,
minProgramId
)
}
}
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View {
override fun onCreateView(
inflater: LayoutInflater?,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
//去掉dialog的标题,需要在setContentView()之前
this.dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
val window = this.dialog.window
//去掉dialog默认的padding
window!!.decorView.setPadding(0, 0, 0, 0)
window?.decorView?.setPadding(0, 0, 0, 0)
val lp = window.attributes
lp.width = WindowManager.LayoutParams.MATCH_PARENT
lp.height = WindowManager.LayoutParams.WRAP_CONTENT
......@@ -184,49 +273,71 @@ class YDLShareDialog : DialogFragment {
when (typeStyle) {
TYPE1 -> {
//样式1
//删除、举报、首页
ll_layout2.visibility = View.GONE
//动态
ll_dynamic.visibility = View.VISIBLE
}
TYPE2 -> {
//样式2
//删除、举报、首页
ll_layout2.visibility = View.VISIBLE
//动态
ll_dynamic.visibility = View.GONE
//举报
ll_report.visibility = View.GONE
setStyle()
val deleteParams = LinearLayout.LayoutParams(dp55, ViewGroup.LayoutParams.WRAP_CONTENT)
val deleteParams =
LinearLayout.LayoutParams(dp55, ViewGroup.LayoutParams.WRAP_CONTENT)
deleteParams.setMargins(dp7, 0, llmargin, 0)
deleteParams.weight = 0f
ll_delete.layoutParams = deleteParams
}
TYPE3 -> {
//样式3
//删除、举报、首页
ll_layout2.visibility = View.VISIBLE
ll_report.visibility = View.VISIBLE
//动态
ll_dynamic.visibility = View.GONE
ll_delete.visibility = View.GONE
setStyle()
val reportParams = LinearLayout.LayoutParams(dp55, ViewGroup.LayoutParams.WRAP_CONTENT)
val reportParams =
LinearLayout.LayoutParams(dp55, ViewGroup.LayoutParams.WRAP_CONTENT)
reportParams.setMargins(dp7, 0, llmargin, 0)
reportParams.weight = 0f
ll_report.layoutParams = reportParams
}
TYPE4 -> {
//样式4
//动态
ll_dynamic.visibility = View.GONE
//删除、举报、首页
ll_layout2.visibility = View.GONE
setStyle()
}
TYPE5 -> {
//样式5
//动态
ll_dynamic.visibility = View.GONE
ll_poster.visibility = View.VISIBLE
//删除、举报、首页
ll_layout2.visibility = View.GONE
}
TYPE6 -> {
//样式6
//动态
ll_dynamic.visibility = View.GONE
ll_save.visibility = View.VISIBLE
//删除、举报、首页
ll_layout2.visibility = View.GONE
}
TYPE7 -> {
//样式7
//删除、举报、首页
ll_layout2.visibility = View.GONE
//动态
ll_dynamic.visibility = View.GONE
}
}
......@@ -243,11 +354,11 @@ class YDLShareDialog : DialogFragment {
Executors.newCachedThreadPool().execute {
var imageByte = Base64.decode(base64DataStr, Base64.DEFAULT)
mActivity!!.runOnUiThread {
mActivity?.runOnUiThread {
GlideApp.with(this)
.load(imageByte)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.into(img_pic)
.load(imageByte)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.into(img_pic)
}
}
......@@ -381,7 +492,20 @@ class YDLShareDialog : DialogFragment {
}
private fun share(platform: SHARE_MEDIA) {
ShareUtils.shareTo(platform, mActivity!!, shareTitle!!, shareUrl!!, shareContent, shareHead)
mActivity?.let { activity ->
shareTitle?.let { shareTitle ->
shareUrl?.let { shareUrl ->
ShareUtils.shareTo(
platform,
activity,
shareTitle,
shareUrl,
shareContent,
shareHead
)
}
}
}
ShareUtils.callBack = object : ShareActionCallBack {
override fun onShareSuccessed(share_media: SHARE_MEDIA) {
mShareCallBack?.onShareSuccessed(share_media)
......@@ -399,7 +523,24 @@ class YDLShareDialog : DialogFragment {
*/
private fun shareMinWeixin() {
//分享小程序到微信
ShareUtils.shareSmailWeixin(mActivity!!, shareTitle!!, shareUrl!!, shareContent, shareHead, path, minProgramId, null)
mActivity?.let { activity ->
shareTitle?.let { shareTitle ->
shareUrl?.let { shareUrl ->
ShareUtils.shareSmailWeixin(
activity,
shareTitle,
shareUrl,
shareContent,
shareHead,
path,
minProgramId,
null
)
}
}
}
dismiss()
}
......
......@@ -131,6 +131,7 @@
android:layout_width="55dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:visibility="gone"
android:orientation="vertical">
<ImageView
......@@ -248,6 +249,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/platform_dp_18"
android:visibility="gone"
android:orientation="horizontal">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment