diff --git a/app/src/main/java/com/gh/base/AppUncaughtHandler.java b/app/src/main/java/com/gh/base/AppUncaughtHandler.java index 335b0d03bf..7e1fa54d76 100644 --- a/app/src/main/java/com/gh/base/AppUncaughtHandler.java +++ b/app/src/main/java/com/gh/base/AppUncaughtHandler.java @@ -12,7 +12,6 @@ import android.util.Log; import com.gh.common.constant.Config; import com.gh.common.util.DataCollectionUtils; -import com.gh.common.util.DataUtils; import com.gh.gamecenter.SplashScreenActivity; import com.lightgame.config.CommonDebug; import com.lightgame.download.FileUtils; @@ -127,8 +126,6 @@ public class AppUncaughtHandler implements UncaughtExceptionHandler { } catch (Exception e) { } - DataUtils.onError(context, throwable); - } } \ No newline at end of file diff --git a/app/src/main/java/com/gh/base/GlobalActivityLifecycleObserver.kt b/app/src/main/java/com/gh/base/GlobalActivityLifecycleObserver.kt index 20fb63b2a8..8514ce8de7 100644 --- a/app/src/main/java/com/gh/base/GlobalActivityLifecycleObserver.kt +++ b/app/src/main/java/com/gh/base/GlobalActivityLifecycleObserver.kt @@ -3,8 +3,6 @@ package com.gh.base import android.app.Activity import android.app.Application import android.os.Bundle -import com.gh.common.notifier.Notifier -import com.gh.common.util.DataUtils import com.gh.common.util.FloatingBackViewManager import com.gh.download.DownloadManager import com.gh.gamecenter.MainActivity @@ -48,7 +46,6 @@ class GlobalActivityLifecycleObserver : Application.ActivityLifecycleCallbacks { } if (HaloApp.isUserAcceptPrivacyPolicy(activity)) { - DataUtils.onResume(activity) // FIXME 这里应该只是部分Activity需要 try { // 初始化gameMap @@ -74,17 +71,13 @@ class GlobalActivityLifecycleObserver : Application.ActivityLifecycleCallbacks { CurrentActivityHolder.activitySet.remove(activity) FloatingBackViewManager.dismissBackView() - if (HaloApp.isUserAcceptPrivacyPolicy(activity)) { - DataUtils.onPause(activity) - } - if (activity.isFinishing) { AppManager.getInstance().finishActivity(activity) } } override fun onActivityStopped(activity: Activity) { - Notifier.hide() + } override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) { diff --git a/app/src/main/java/com/gh/common/databind/BindingAdapters.java b/app/src/main/java/com/gh/common/databind/BindingAdapters.java index 47abfe4b73..532be0d389 100644 --- a/app/src/main/java/com/gh/common/databind/BindingAdapters.java +++ b/app/src/main/java/com/gh/common/databind/BindingAdapters.java @@ -428,7 +428,6 @@ public class BindingAdapters { } return; } - DataUtils.onGameLaunchEvent(v.getContext(), gameEntity.getName(), gameEntity.getApk().get(0).getPlatform(), location); PackageUtils.launchApplicationByPackageName(v.getContext(), gameEntity.getApk().get(0).getPackageName()); } else { DownloadDialog.showDownloadDialog( @@ -651,8 +650,6 @@ public class BindingAdapters { ApkEntity apkEntity = gameEntity.getApk().get(0); String msg = FileUtils.isCanDownload(progressBar.getContext(), apkEntity.getSize()); if (TextUtils.isEmpty(msg)) { - DataUtils.onGameDownloadEvent(progressBar.getContext(), gameEntity.getName(), apkEntity.getPlatform(), entrance, "下载开始", method); - DownloadManager.createDownload(progressBar.getContext(), apkEntity, gameEntity, diff --git a/app/src/main/java/com/gh/common/notifier/Notifier.kt b/app/src/main/java/com/gh/common/notifier/Notifier.kt deleted file mode 100644 index 3e6eed494c..0000000000 --- a/app/src/main/java/com/gh/common/notifier/Notifier.kt +++ /dev/null @@ -1,170 +0,0 @@ -package com.gh.common.notifier - -import android.app.Activity -import androidx.core.view.ViewCompat -import android.view.View -import android.view.ViewGroup -import com.gh.gamecenter.core.utils.SPUtils -import com.gh.gamecenter.* -import java.lang.ref.WeakReference - -@Suppress("DEPRECATION") -class Notifier private constructor() { - - companion object { - - private var activityWeakReference: WeakReference? = null - - private const val SP_VIEWED_NOTIFIER = "viewed_notifier" - - /** - * 根据内容决定是否显示 Notifier - */ - @JvmStatic - fun shouldShowNotifier(content: String): Boolean { - val viewedNotifierCollection = SPUtils.getString(SP_VIEWED_NOTIFIER) - return !viewedNotifierCollection.contains(content) - } - - /** - * 标记相应内容的 Notifier 已经显示过了 - */ - @JvmStatic - fun tagNotifierAsShowed(content: String) { - val viewedNotifierCollection = SPUtils.getString(SP_VIEWED_NOTIFIER) - if (viewedNotifierCollection.length > 3000) { - SPUtils.setString(SP_VIEWED_NOTIFIER, content) - } else { - SPUtils.setString(SP_VIEWED_NOTIFIER, viewedNotifierCollection + content) - } - } - - @JvmStatic - fun create(activity: Activity?): Notifier { - if (activity == null) { - throw IllegalArgumentException("Activity cannot be null!") - } - - val notifier = Notifier() - - // Hide current NotifierView, if one is active - clearCurrent(activity) - - notifier.setActivity(activity) - notifier.notifierView = NotifierView(activity) - - return notifier - } - - @JvmStatic - fun isActivityValid(activity: Activity?): Boolean { - if (activity == null) return false - - return when (activity) { - is MessageActivity -> false - is DownloadManagerActivity -> false - is CleanApkActivity -> false - is SplashScreenActivity -> false - else -> isNotExistInActivity(activity) - } - } - - @JvmStatic - fun isNotExistInActivity(activity: Activity?): Boolean { - if (activity == null) return false - - (activity.window?.decorView as? ViewGroup)?.let { - //Find all NotifierView Views in Parent layout - for (i in 0..it.childCount) { - val childView = if (it.getChildAt(i) is NotifierView) it.getChildAt(i) as NotifierView else null - if (childView != null && childView.windowToken != null) { - return false - } - } - } - return true - } - - /** - * Cleans up the currently showing notifierView view, if one is present - * - * @param activity The current Activity - */ - @JvmStatic - fun clearCurrent(activity: Activity?) { - (activity?.window?.decorView as? ViewGroup)?.let { - //Find all NotifierView Views in Parent layout - for (i in 0..it.childCount) { - val childView = if (it.getChildAt(i) is NotifierView) it.getChildAt(i) as NotifierView else null - if (childView != null && childView.windowToken != null) { - ViewCompat.animate(childView).alpha(0f).withEndAction(getRemoveViewRunnable(childView)) - } - } - } - } - - @JvmStatic - fun hide() { - activityWeakReference?.get()?.let { clearCurrent(it) } - } - - private fun getRemoveViewRunnable(childView: NotifierView?): Runnable { - return Runnable { - childView?.let { - (childView.parent as? ViewGroup)?.removeView(childView) - } - } - } - } - - private var notifierView: NotifierView? = null - - private val activityDecorView: ViewGroup? - get() { - var decorView: ViewGroup? = null - - activityWeakReference?.get()?.let { - decorView = it.window.decorView as ViewGroup - } - - return decorView - } - - fun show(showVerticalTranslateAnimation: Boolean, delay: Long? = 0): NotifierView? { - activityWeakReference?.get()?.let { - it.runOnUiThread { - activityDecorView?.postDelayed({ - notifierView?.showVerticalTranslateAnimation = showVerticalTranslateAnimation - activityDecorView?.addView(notifierView) - }, delay!!) - } - } - - return notifierView - } - - fun setIcon(url: String?): Notifier { - url?.let { notifierView?.setIcon(it) } - return this - } - - fun setText(text: String?): Notifier { - notifierView?.setText(text) - - return this - } - - fun setDuration(time: Long): Notifier { - notifierView?.duration = time - return this - } - - fun setOnClickListener(onClickListener: View.OnClickListener): Notifier { - notifierView?.findViewById(R.id.cardView)?.setOnClickListener(onClickListener) - return this - } - - private fun setActivity(activity: Activity) { - activityWeakReference = WeakReference(activity) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/gh/common/notifier/NotifierView.kt b/app/src/main/java/com/gh/common/notifier/NotifierView.kt deleted file mode 100644 index e87c80a80d..0000000000 --- a/app/src/main/java/com/gh/common/notifier/NotifierView.kt +++ /dev/null @@ -1,312 +0,0 @@ -package com.gh.common.notifier - -import android.animation.* -import android.content.Context -import android.graphics.Path -import android.text.TextUtils -import android.util.AttributeSet -import android.util.Log -import android.util.TypedValue -import android.view.Gravity -import android.view.MotionEvent -import android.view.View -import android.view.ViewGroup -import android.widget.FrameLayout -import android.widget.TextView -import androidx.cardview.widget.CardView -import androidx.core.view.ViewCompat -import com.facebook.drawee.view.SimpleDraweeView -import com.gh.gamecenter.core.utils.DisplayUtils -import com.gh.gamecenter.common.utils.ImageUtils -import com.gh.gamecenter.core.utils.doOnEnd -import com.gh.gamecenter.core.utils.doOnStart -import com.gh.gamecenter.R - -class NotifierView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyle: Int = 0) - : FrameLayout(context, attrs, defStyle) { - - companion object { - const val SCALE_MINI = 0.2F - const val SCALE_DEFAULT = 1F - - const val DEFAULT_DURATION = 500L - } - - var onShowListener: OnShowNotificationListener? = null - var onHideListener: OnHideNotificationListener? = null - - lateinit var expandAnimator: ValueAnimator - lateinit var shrinkAnimator: ValueAnimator - - lateinit var translateUpAnimator: ObjectAnimator - lateinit var translateDownAnimator: ObjectAnimator - - lateinit var translateToLeftAnimator: ObjectAnimator - lateinit var translateToRightAnimator: ObjectAnimator - - lateinit var zoomInAnimator: ObjectAnimator - lateinit var zoomOutAnimator: ObjectAnimator - - var showAnimatorSet: AnimatorSet - var hideAnimatorSet: AnimatorSet - - var rightToLeftPath: Path - var leftToRightPath: Path - - var veryRight: Float = 0F - var veryBottom: Float = 0F - var centerX: Float = 0F - - var navigationHeight = 0 - - var textWidth: Int = 0 - var cardViewWidth: Int = 0 - var verticalAnimationOffset: Int = 0 - - var duration = DEFAULT_DURATION - - var showVerticalTranslateAnimation: Boolean = true - - private var mCardView: CardView - private var mContentTv: TextView - private var mIconIv: SimpleDraweeView - - init { - inflate(context, R.layout.view_notifier, this) - - ViewCompat.setTranslationZ(this, Integer.MAX_VALUE.toFloat()) - - mCardView = findViewById(R.id.cardView) - mContentTv = findViewById(R.id.tvText) - mIconIv = findViewById(R.id.ivIcon) - - mCardView.scaleX = SCALE_MINI - mCardView.scaleY = SCALE_MINI - - verticalAnimationOffset = dp2px(100F) - - navigationHeight = DisplayUtils.retrieveNavigationHeight(context) - - rightToLeftPath = Path() - leftToRightPath = Path() - - showAnimatorSet = AnimatorSet() - hideAnimatorSet = AnimatorSet() - } - - override fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int) { - super.onLayout(changed, left, top, right, bottom) - - centerX = (left + right - cardViewWidth) / 2F - - // TODO Provide method to change these absolute offset. - val r = right - dp2px(72F).toFloat() - val b = bottom - dp2px(145F).toFloat() - navigationHeight - - // Only set - if (veryRight != r || veryBottom != b) { - veryRight = r - veryBottom = b - - rightToLeftPath.moveTo(r, b) - rightToLeftPath.lineTo(centerX, b) - - leftToRightPath.moveTo(centerX, b) - leftToRightPath.lineTo(r, b) - - initAnimator() - } - } - - private fun initAnimator() { - expandAnimator = ValueAnimator.ofFloat(0F, 1F) - expandAnimator.duration = DEFAULT_DURATION - expandAnimator.addUpdateListener { a -> - val progress = a?.animatedValue as Float - mContentTv.width = (textWidth * progress).toInt() - } - expandAnimator.doOnEnd { - enableSwipeToDismiss() - shrinkAfterDelay() - } - - shrinkAnimator = ValueAnimator.ofFloat(1F, 0F) - shrinkAnimator.duration = DEFAULT_DURATION - shrinkAnimator.addUpdateListener { a -> - val progress = a?.animatedValue as Float - mContentTv.width = (textWidth * progress).toInt() - } - shrinkAnimator.doOnEnd { - val lp = FrameLayout.LayoutParams(mCardView.layoutParams) - lp.gravity = Gravity.NO_GRAVITY - mCardView.layoutParams = lp - - disableSwipeToDismiss() - } - - translateToLeftAnimator = ObjectAnimator.ofFloat(mCardView, "translationX", veryRight, centerX) - translateToLeftAnimator.duration = DEFAULT_DURATION - translateToLeftAnimator.doOnEnd { - onShowListener?.onShow() - - val lp = FrameLayout.LayoutParams(mCardView.layoutParams) - lp.gravity = Gravity.CENTER_HORIZONTAL - mCardView.layoutParams = lp - mCardView.translationX = 0f - - expandAnimator.start() - } - - translateToRightAnimator = ObjectAnimator.ofFloat(mCardView, "translationX", centerX, veryRight) - translateToRightAnimator.duration = DEFAULT_DURATION - - translateUpAnimator = ObjectAnimator.ofFloat(mCardView, "translationY", veryBottom + verticalAnimationOffset, veryBottom) - translateUpAnimator.duration = DEFAULT_DURATION - translateUpAnimator.doOnStart { mCardView.translationX = veryRight } - - translateDownAnimator = ObjectAnimator.ofFloat(mCardView, "translationY", veryBottom, veryBottom + verticalAnimationOffset) - translateDownAnimator.duration = DEFAULT_DURATION - - zoomInAnimator = ObjectAnimator.ofPropertyValuesHolder(mCardView, PropertyValuesHolder.ofFloat("scaleX", SCALE_DEFAULT), - PropertyValuesHolder.ofFloat("scaleY", SCALE_DEFAULT)) - zoomInAnimator.duration = DEFAULT_DURATION - zoomInAnimator.doOnStart { mCardView.translationX = veryRight } - zoomInAnimator.doOnStart { mCardView.translationY = veryBottom } - - zoomOutAnimator = ObjectAnimator.ofPropertyValuesHolder(mCardView, PropertyValuesHolder.ofFloat("scaleX", SCALE_MINI), - PropertyValuesHolder.ofFloat("scaleY", SCALE_MINI)) - zoomOutAnimator.duration = DEFAULT_DURATION - zoomOutAnimator.doOnEnd { removeFromParent() } - - if (showVerticalTranslateAnimation) { - showAnimatorSet.play(translateUpAnimator).with(zoomInAnimator).before(translateToLeftAnimator) - } else { - showAnimatorSet.play(zoomInAnimator).before(translateToLeftAnimator) - } - showAnimatorSet.start() - } - - private fun enableSwipeToDismiss() { - mCardView?.setOnTouchListener(SwipeDismissTouchListener(mCardView, object : SwipeDismissTouchListener.DismissCallbacks { - override fun canDismiss(): Boolean { - return true - } - - override fun onDismiss(view: View) { - removeFromParent() - } - - override fun onTouch(view: View, touch: Boolean) { - // Ignore. - } - })) - } - - private fun disableSwipeToDismiss() { - mCardView?.setOnTouchListener(null) - } - - override fun onDetachedFromWindow() { - super.onDetachedFromWindow() - - showAnimatorSet.cancel() - hideAnimatorSet.cancel() - - try { - removeAllListeners(expandAnimator, - shrinkAnimator, - translateUpAnimator, - translateDownAnimator, - translateToLeftAnimator, - translateToRightAnimator) - } catch (e: Exception) { - e.printStackTrace() - } - } - - private fun removeAllListeners(vararg ts: Animator) { - for (a in ts) { - a.removeAllListeners() - if (a is ValueAnimator) { - a.removeAllUpdateListeners() - } - } - } - - override fun onTouchEvent(event: MotionEvent): Boolean { - performClick() - return super.onTouchEvent(event) - } - - private fun shrinkAfterDelay() { - postDelayed({ shrink() }, duration) - } - - private fun shrink() { - shrinkAnimator.doOnEnd { hide() } - shrinkAnimator.start() - } - - private fun removeFromParent() { - clearAnimation() - visibility = View.GONE - - postDelayed(object : Runnable { - override fun run() { - try { - if (parent == null) { - Log.e(javaClass.simpleName, "getParent() returning Null") - } else { - try { - (parent as ViewGroup).removeView(this@NotifierView) - - onHideListener?.onHide() - } catch (ex: Exception) { - Log.e(javaClass.simpleName, "Cannot remove from parent layout") - } - } - } catch (ex: Exception) { - Log.e(javaClass.simpleName, Log.getStackTraceString(ex)) - } - } - }, 100) - } - - fun setText(text: String?) { - if (!TextUtils.isEmpty(text)) { - mContentTv.text = text - mContentTv.measure(0, 0) - textWidth = mContentTv.measuredWidth - mContentTv.width = 0 - - mCardView.measure(0, 0) - cardViewWidth = mCardView.measuredWidth - } - } - - fun hide() { - if (showVerticalTranslateAnimation) { - hideAnimatorSet.play(translateDownAnimator).with(zoomOutAnimator).after(translateToRightAnimator) - } else { - hideAnimatorSet.play(zoomOutAnimator).after(translateToRightAnimator) - } - hideAnimatorSet.start() - } - - fun setIcon(url: String) { - ImageUtils.display(mIconIv, url) - } - - private fun dp2px(dp: Float): Int { - return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, context.applicationContext.resources.displayMetrics).toInt() - } - - interface OnShowNotificationListener { - fun onShow() - } - - interface OnHideNotificationListener { - fun onHide() - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/gh/common/notifier/SwipeDismissTouchListener.kt b/app/src/main/java/com/gh/common/notifier/SwipeDismissTouchListener.kt deleted file mode 100644 index 5db53d7e29..0000000000 --- a/app/src/main/java/com/gh/common/notifier/SwipeDismissTouchListener.kt +++ /dev/null @@ -1,238 +0,0 @@ -package com.gh.common.notifier - -/* - * Copyright 2013 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Modifications Copyright (C) 2017 David Kwon - */ - -import android.animation.Animator -import android.animation.AnimatorListenerAdapter -import android.animation.ValueAnimator -import android.os.Build -import androidx.annotation.RequiresApi -import android.view.MotionEvent -import android.view.VelocityTracker -import android.view.View -import android.view.ViewConfiguration - -/** - * A [View.OnTouchListener] that makes any [View] dismissable when the - * user swipes (drags her finger) horizontally across the view. - * - * @param view The view to make dismissable. - * @param callbacks The callback to trigger when the user has indicated that she would like to - * dismiss this view. - */ -class SwipeDismissTouchListener( - private val mView: View, - private val mCallbacks: DismissCallbacks) : View.OnTouchListener { - - // Cached ViewConfiguration and system-wide constant values - private val mSlop: Int - private val mMinFlingVelocity: Int - private val mAnimationTime: Long - private var mViewWidth = 1 // 1 and not 0 to prevent dividing by zero - - // Transient properties - private var mDownX: Float = 0.toFloat() - private var mDownY: Float = 0.toFloat() - private var mSwiping: Boolean = false - private var mSwipingSlop: Int = 0 - private var mVelocityTracker: VelocityTracker? = null - private var mTranslationX: Float = 0.toFloat() - - init { - val vc = ViewConfiguration.get(mView.context) - mSlop = vc.scaledTouchSlop - mMinFlingVelocity = vc.scaledMinimumFlingVelocity * 16 - mAnimationTime = mView.context.resources.getInteger( - android.R.integer.config_shortAnimTime).toLong() - } - - @RequiresApi(api = Build.VERSION_CODES.HONEYCOMB_MR1) - override fun onTouch(view: View, motionEvent: MotionEvent): Boolean { - // offset because the view is translated during swipe - motionEvent.offsetLocation(mTranslationX, 0f) - - if (mViewWidth < 2) { - mViewWidth = mView.width - } - - when (motionEvent.actionMasked) { - MotionEvent.ACTION_DOWN -> { - mDownX = motionEvent.rawX - mDownY = motionEvent.rawY - if (mCallbacks.canDismiss()) { - mVelocityTracker = VelocityTracker.obtain() - mVelocityTracker!!.addMovement(motionEvent) - } - mCallbacks.onTouch(view, true) - return false - } - MotionEvent.ACTION_UP -> { - mVelocityTracker?.run { - val deltaX = motionEvent.rawX - mDownX - this.addMovement(motionEvent) - this.computeCurrentVelocity(1000) - val velocityX = this.xVelocity - val absVelocityX = Math.abs(velocityX) - val absVelocityY = Math.abs(this.yVelocity) - var dismiss = false - var dismissRight = false - if (Math.abs(deltaX) > mViewWidth / 2 && mSwiping) { - dismiss = true - dismissRight = deltaX > 0 - } else if (mMinFlingVelocity <= absVelocityX && absVelocityY < absVelocityX && mSwiping) { - // dismiss only if flinging in the same direction as dragging - dismiss = velocityX < 0 == deltaX < 0 - dismissRight = this.xVelocity > 0 - } - if (dismiss) { - // dismiss - mView.animate() - .translationX((if (dismissRight) mViewWidth else -mViewWidth).toFloat()) - .alpha(0f) - .setDuration(mAnimationTime) - .setListener(object : AnimatorListenerAdapter() { - override fun onAnimationEnd(animation: Animator) { - performDismiss() - } - }) - } else if (mSwiping) { - // cancel - mView.animate() - .translationX(0f) - .alpha(1f) - .setDuration(mAnimationTime) - .setListener(null) - mCallbacks.onTouch(view, false) - } - this.recycle() - mVelocityTracker = null - mTranslationX = 0f - mDownX = 0f - mDownY = 0f - mSwiping = false - } - } - MotionEvent.ACTION_CANCEL -> { - mVelocityTracker?.run { - mView.animate() - .translationX(0f) - .alpha(1f) - .setDuration(mAnimationTime) - .setListener(null) - this.recycle() - mVelocityTracker = null - mTranslationX = 0f - mDownX = 0f - mDownY = 0f - mSwiping = false - } - } - MotionEvent.ACTION_MOVE -> { - mVelocityTracker?.run { - this.addMovement(motionEvent) - val deltaX = motionEvent.rawX - mDownX - val deltaY = motionEvent.rawY - mDownY - if (Math.abs(deltaX) > mSlop && Math.abs(deltaY) < Math.abs(deltaX) / 2) { - mSwiping = true - mSwipingSlop = if (deltaX > 0) mSlop else -mSlop - mView.parent.requestDisallowInterceptTouchEvent(true) - - // Cancel listview's touch - val cancelEvent = MotionEvent.obtain(motionEvent) - cancelEvent.action = MotionEvent.ACTION_CANCEL or (motionEvent.actionIndex shl MotionEvent.ACTION_POINTER_INDEX_SHIFT) - mView.onTouchEvent(cancelEvent) - cancelEvent.recycle() - } - - if (mSwiping) { - mTranslationX = deltaX - mView.translationX = deltaX - mSwipingSlop - // TODO: use an ease-out interpolator or such - mView.alpha = Math.max(0f, Math.min(1f, - 1f - 2f * Math.abs(deltaX) / mViewWidth)) - return true - } - } - } - else -> { - view.performClick() - return false - } - } - return false - } - - @RequiresApi(api = Build.VERSION_CODES.HONEYCOMB) - private fun performDismiss() { - // Animate the dismissed view to zero-height and then fire the dismiss callback. - // This triggers layout on each animation frame; in the future we may want to do something - // smarter and more performant. - - val lp = mView.layoutParams - val originalHeight = mView.height - - val animator = ValueAnimator.ofInt(originalHeight, 1).setDuration(mAnimationTime) - - animator.addListener(object : AnimatorListenerAdapter() { - override fun onAnimationEnd(animation: Animator) { - mCallbacks.onDismiss(mView) - // Reset view presentation - mView.alpha = 1f - mView.translationX = 0f - lp.height = originalHeight - mView.layoutParams = lp - } - }) - - animator.addUpdateListener { valueAnimator -> - lp.height = valueAnimator.animatedValue as Int - mView.layoutParams = lp - } - - animator.start() - } - - /** - * The callback interface used by [SwipeDismissTouchListener] to inform its client - * about a successful dismissal of the view for which it was created. - */ - interface DismissCallbacks { - /** - * Called to determine whether the view can be dismissed. - * - * @return boolean The view can dismiss. - */ - fun canDismiss(): Boolean - - /** - * Called when the user has indicated they she would like to dismiss the view. - * - * @param view The originating [View] - */ - fun onDismiss(view: View) - - /** - * Called when the user touches the view or release the view. - * - * @param view The originating [View] - * @param touch The view is being touched. - */ - fun onTouch(view: View, touch: Boolean) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/gh/common/util/CommentDraftContainer.kt b/app/src/main/java/com/gh/common/util/CommentDraftContainer.kt index 587283888f..2deb4200f0 100644 --- a/app/src/main/java/com/gh/common/util/CommentDraftContainer.kt +++ b/app/src/main/java/com/gh/common/util/CommentDraftContainer.kt @@ -3,6 +3,7 @@ package com.gh.common.util import com.gh.gamecenter.room.AppDatabase import com.gh.gamecenter.room.dao.CommentDraftDao +// TODO 移除全局 Dao object CommentDraftContainer { val commentDraftDao: CommentDraftDao by lazy { AppDatabase.getInstance().commentDraftDao() } } \ No newline at end of file diff --git a/app/src/main/java/com/gh/common/util/DataUtils.java b/app/src/main/java/com/gh/common/util/DataUtils.java index 41c9f0d5ec..e353e88c22 100644 --- a/app/src/main/java/com/gh/common/util/DataUtils.java +++ b/app/src/main/java/com/gh/common/util/DataUtils.java @@ -40,86 +40,14 @@ public class DataUtils { /** * 初始化各种统计工具,仅在release build(非debug)模式启用统计 - * - * @param context - * @param channel */ public static void init(final Application context, String channel) { - if (CommonDebug.IS_DEBUG) { return; } // 初始化 Sentry 约占用 90ms,这里切换到子线程初始化 AppExecutor.getIoExecutor().execute(() -> initSentry(context, channel)); - - //TalkingData -// try { -// TCAgent.LOG_ON = false; -// TCAgent.init(context, Config.TALKINGDATA_APPID, channel); -// /** -// * -// * 不要启用!!!!不要启用,全部由{@link com.gh.base.AppUncaughtHandler}处理 -// */ -// TCAgent.setReportUncaughtExceptions(false); -// } catch (Exception e) { -// e.printStackTrace(); -// } - - //MTA -// try { -// /** -// * -// * 不要启用!!!!全部由{@link com.gh.base.AppUncaughtHandler}处理 -// */ -// StatConfig.setAutoExceptionCaught(false); -// -// StatCrashReporter crashReporter = StatCrashReporter.getStatCrashReporter(context); -// crashReporter.setJavaCrashHandlerStatus(false); -//// crashReporter.setEnableInstantReporting(true); -// -// StatConfig.setDebugEnable(false); -// -// // 设置数据上报策略 -// // 测试渠道的时候即时上传,方便查看日志 -// if (Config.DEFAULT_CHANNEL.equals(HaloApp.getInstance().getChannel())) { -// StatConfig.setStatSendStrategy(StatReportStrategy.INSTANT); -// } else { -// StatConfig.setStatSendStrategy(StatReportStrategy.PERIOD); -// StatConfig.setSendPeriodMinutes(5); -// } -// -// // 设置启用Tlink -// StatConfig.setTLinkStatus(true); -// -// StatConfig.init(context); -// StatConfig.setInstallChannel(channel); -// StatConfig.setAntoActivityLifecycleStat(true); -// StatConfig.setAppVersion(PackageUtils.getVersionName()); -// -// // 开启收集服务 -// StatService.startStatService(context, Config.MTA_APPKEY, com.tencent.stat.common.StatConstants.VERSION); -// StatService.registerActivityLifecycleCallbacks(context); -// } catch (MtaSDkException e) { -// e.printStackTrace(); -// } - - // init bugly -// try { -// CrashReport.setIsDevelopmentDevice(context, Config.DEFAULT_CHANNEL.equals(channel)); -// -// CrashReport.UserStrategy strategy = new CrashReport.UserStrategy(context); -// strategy.setEnableANRCrashMonitor(false); -// strategy.setEnableNativeCrashMonitor(false); -// strategy.setAppChannel(channel); -// strategy.setAppVersion(PackageUtils.getVersionName()); -// -// CrashReport.initCrashReport(context, Config.BUGLY_APPID, false, strategy); -// -// } catch (Exception e) { -// e.printStackTrace(); -// } - } private static void initSentry(Context context, String channel) { @@ -157,14 +85,6 @@ public class DataUtils { }); } - // MTA ->【次数统计】Key-Value参数的事件 - public static void onMtaEvent(Context context, String eventId, String... kv) { -// if (CommonDebug.IS_DEBUG && (kv == null || kv.length % 2 != 0)) { -// throw new IllegalStateException("onEvent kv 必须不为空且数量为偶数"); -// } - MtaHelper.onEvent(eventId, kv); - } - public static void getGid() { GidHelper.getInstance().registerDevice(HaloApp.getInstance().getApplication(), new GidCallback() { @Override @@ -210,109 +130,4 @@ public class DataUtils { }); } - public static void onEvent(Context var0, String var1, String var2) { -// Properties prop = new Properties(); -// prop.setProperty(var1, var2); -// StatService.trackCustomKVEvent(var0, var1, prop); - } - - public static void onPause(Activity var0) { -// StatService.onPause(var0); - } - - public static void onResume(Activity var0) { -// StatService.onResume(var0); - } - - // 游戏启动 - public static void onGameLaunchEvent(Context context, String gameName, String platform, String page) { - Map kv = new HashMap<>(); - kv.put("版本", platform); - kv.put("页面", page); - onEvent(context, "游戏启动", gameName, kv); - } - - public static void onEvent(Context var0, String var1, String var2, Map var3) { -// Properties prop = new Properties(); -// prop.setProperty("label", var2); -// for (String key : var3.keySet()) { -// prop.setProperty(key, var3.get(key) + ""); -// } -// StatService.trackCustomKVEvent(var0, var1, prop); - } - - public static void trackTimeEvent(Context context, String eventId, int costTime, String... kv) { -// -// Properties prop = new Properties(); -// for (int i = 0; i < kv.length; i++) { -// if (i % 2 != 0 || i != 0) { -// String key = kv[i - 1]; -// String value = kv[i]; -// if (!TextUtils.isEmpty(key) && !TextUtils.isEmpty(value)) { -// prop.setProperty(key, value); -// } -// } -// } -// -// if (prop.size() == 0) return; -// -// StatService.trackCustomKVTimeIntervalEvent(context, costTime, eventId, prop); - } - - // 游戏下载 - public static void onGameDownloadEvent(Context context, String gameName, String platform, String entrance, String status, String method) { - Map kv = new HashMap<>(); - - platform = PlatformUtils.getInstance(HaloApp.getInstance().getApplication()).getPlatformName(platform); - - kv.put("版本", platform); - kv.put("用户机型", Build.MODEL); - kv.put("设备JNFJ", MetaUtil.getBase64EncodedIMEI()); - kv.put("网络状态", DeviceUtils.getNetwork(HaloApp.getInstance().getApplication())); - kv.put("光环助手版本", BuildConfig.VERSION_NAME); - kv.put("位置", entrance); - kv.put("类型", method); - kv.put("厂商", Build.MANUFACTURER); - kv.put("Android版本", Build.VERSION.RELEASE); - onEvent(context, "游戏下载", gameName, kv); - - Map kv2 = new HashMap<>(); - kv2.put("状态", status); - kv2.put("位置", entrance); - - if (status.equals("开始")) { - kv2.put("版本", entrance + "-开始"); - kv2.put("游戏分平台", gameName + "-" + platform + "-开始"); - kv2.put("光环助手版本", BuildConfig.VERSION_NAME + "-开始"); - } else { - kv2.put("版本", platform); - kv2.put("游戏分平台", gameName + "-" + platform); - kv2.put("光环助手版本", BuildConfig.VERSION_NAME); - } - - onEvent(context, "游戏下载位置", gameName, kv2); - } - - // 游戏更新 - public static void onGameUpdateEvent(Context context, String gameName, String paltform, String status) { - Map kv = new HashMap<>(); - kv.put("版本", paltform); - kv.put("状态", status); - onEvent(context, "游戏更新", gameName, kv); - } - - public static void onError(Context context, Throwable throwable) { - //bugly 作为默认处理异常的类库,已经上报了,此处不重复上报 - try { -// CrashReport.postCatchedException(throwable); - } catch (Exception e) { - } - - //talkingdata - try { -// TCAgent.onError(context, throwable); - } catch (Exception e) { - } - } - } diff --git a/app/src/main/java/com/gh/common/util/DownloadItemUtils.kt b/app/src/main/java/com/gh/common/util/DownloadItemUtils.kt index 47f08c938f..64e2c3ce45 100644 --- a/app/src/main/java/com/gh/common/util/DownloadItemUtils.kt +++ b/app/src/main/java/com/gh/common/util/DownloadItemUtils.kt @@ -791,7 +791,6 @@ object DownloadItemUtils { if (entrance.contains("我的游戏")) { MtaHelper.onEvent("我的游戏_启动", "启动", gameEntity.name) } - DataUtils.onGameLaunchEvent(context, gameEntity.name, gameEntity.getApk()[0].getPlatform(), location) PackageUtils.launchApplicationByPackageName(context, gameEntity.getApk()[0].packageName) EnergyTaskHelper.postEnergyTask("play_game", gameEntity.id, gameEntity.getApk()[0].packageName) } else if (str == context.getString(R.string.update)) { @@ -827,7 +826,6 @@ object DownloadItemUtils { ) { val msg = FileUtils.isCanDownload(context, gameEntity.getApk()[0].size) if (TextUtils.isEmpty(msg)) { - DataUtils.onGameDownloadEvent(context, gameEntity.name, gameEntity.getApk()[0].getPlatform(), entrance, "下载开始", "下载") DownloadManager.createDownload(context, gameEntity, context.getString(R.string.download), entrance, location, isSubscribe, traceEvent) Utils.toast(context, gameEntity.name + "已加入下载队列") downloadBtn.setText(R.string.downloading) @@ -846,7 +844,6 @@ object DownloadItemUtils { ) { val msg = FileUtils.isCanDownload(context, gameEntity.getApk()[0].size) if (TextUtils.isEmpty(msg)) { - DataUtils.onGameDownloadEvent(context, gameEntity.name, gameEntity.getApk()[0].getPlatform(), entrance, "下载开始", "插件化") DownloadManager.createDownload(context, gameEntity, "插件化", entrance, location, isSubscribe, traceEvent) Utils.toast(context, gameEntity.name + "已加入下载队列") downloadBtn.setText(R.string.downloading) @@ -894,7 +891,6 @@ object DownloadItemUtils { traceEvent: ExposureEvent? ) { val apkEntity = gameEntity.getApk()[0] - DataUtils.onGameUpdateEvent(context, gameEntity.name, apkEntity.getPlatform(), "下载开始") DownloadManager.createDownload(context, gameEntity, "更新", entrance, location, isSubscribe, traceEvent) } } \ No newline at end of file diff --git a/app/src/main/java/com/gh/common/util/DownloadObserver.kt b/app/src/main/java/com/gh/common/util/DownloadObserver.kt index 5eb7dba93c..6a7c67eb17 100644 --- a/app/src/main/java/com/gh/common/util/DownloadObserver.kt +++ b/app/src/main/java/com/gh/common/util/DownloadObserver.kt @@ -294,7 +294,6 @@ object DownloadObserver { if (downloadEntity.isPlugin) { type = ExposureUtils.DownloadType.PLUGIN_UPDATE } - DataUtils.onEvent(mApplication, "游戏更新", downloadEntity.name, kv1) } else { type = ExposureUtils.DownloadType.DOWNLOAD } @@ -305,7 +304,6 @@ object DownloadObserver { kv3["版本"] = downloadEntity.platform kv3["位置"] = downloadEntity.entrance ?: "null" type = ExposureUtils.DownloadType.PLUGIN_DOWNLOAD - DataUtils.onEvent(mApplication, "插件化", downloadEntity.name, kv3) } val isPlatformRecommend = java.lang.Boolean.parseBoolean(downloadEntity.getMetaExtra(Constants.IS_PLATFORM_RECOMMEND)) ExposureUtils.logADownloadCompleteExposureEvent( diff --git a/app/src/main/java/com/gh/common/util/GameActivityDownloadHelper.kt b/app/src/main/java/com/gh/common/util/GameActivityDownloadHelper.kt index 72700046de..c2ad1d6d49 100644 --- a/app/src/main/java/com/gh/common/util/GameActivityDownloadHelper.kt +++ b/app/src/main/java/com/gh/common/util/GameActivityDownloadHelper.kt @@ -274,7 +274,6 @@ object GameActivityDownloadHelper { ) { val msg = FileUtils.isCanDownload(context, apk.size) if (TextUtils.isEmpty(msg)) { - DataUtils.onGameDownloadEvent(context, gameEntity.name, apk.getPlatform(), entrance, "下载开始", "下载") DownloadManager.createDownload( context, apk, gameEntity, context.getString( R.string.download @@ -298,7 +297,6 @@ object GameActivityDownloadHelper { ) { val msg = FileUtils.isCanDownload(context, apk.size) if (TextUtils.isEmpty(msg)) { - DataUtils.onGameDownloadEvent(context, gameEntity.name, apk.getPlatform(), entrance, "下载开始", "插件化") DownloadManager.createDownload(context, apk, gameEntity, "插件化", entrance, location, isSubscribe, traceEvent) ToastUtils.toast("${gameEntity.name}已加入下载队列") } else { @@ -316,7 +314,6 @@ object GameActivityDownloadHelper { isSubscribe: Boolean, traceEvent: ExposureEvent? ) { - DataUtils.onGameUpdateEvent(context, gameEntity.name, apk.getPlatform(), "下载开始") DownloadManager.createDownload(context, apk, gameEntity, "更新", entrance, location, isSubscribe, traceEvent) ToastUtils.toast("${gameEntity.name}已加入下载队列") } diff --git a/app/src/main/java/com/gh/common/util/IntentUtils.java b/app/src/main/java/com/gh/common/util/IntentUtils.java index 90f69d6005..b44f69e5db 100644 --- a/app/src/main/java/com/gh/common/util/IntentUtils.java +++ b/app/src/main/java/com/gh/common/util/IntentUtils.java @@ -63,7 +63,6 @@ public class IntentUtils { } public static void startCategoryListActivity(Context context, String categoryTitle, CategoryEntity category) { - DataUtils.onMtaEvent(context, "分类大全", categoryTitle, category.getName()); context.startActivity(CategoryListActivity.Companion.getIntent(context, categoryTitle, category, "全部")); } diff --git a/app/src/main/java/com/gh/common/view/SubCategoryView.kt b/app/src/main/java/com/gh/common/view/SubCategoryView.kt index c1009445e0..15cae94672 100644 --- a/app/src/main/java/com/gh/common/view/SubCategoryView.kt +++ b/app/src/main/java/com/gh/common/view/SubCategoryView.kt @@ -50,7 +50,6 @@ class SubCategoryView @JvmOverloads constructor(context: Context, attrs: Attribu private fun setCategory(tv: TextView, category: CategoryEntity) { tv.text = category.name tv.setOnClickListener { - DataUtils.onMtaEvent(context, "分类大全", categoryTitle, primeCategory?.name!! + "-" + category.name!!) tv.context.startActivity(CategoryListActivity.getIntent(tv.context, categoryTitle!!, primeCategory!!, category.name!!)) } } diff --git a/app/src/main/java/com/gh/download/PackageObserver.kt b/app/src/main/java/com/gh/download/PackageObserver.kt index af8ebb0d9a..6841a91d97 100644 --- a/app/src/main/java/com/gh/download/PackageObserver.kt +++ b/app/src/main/java/com/gh/download/PackageObserver.kt @@ -80,19 +80,6 @@ object PackageObserver { BrowserInstallHelper.onApkInstalled(mDownloadEntity?.path) if (mDownloadEntity != null) { - if (mDownloadEntity.isPluggable) { - val kv6: MutableMap = HashMap() - kv6["安装或卸载"] = "安装完成" - DataUtils.onEvent(application, "插件化", mDownloadEntity.name, kv6) - -// DataUtils.onMtaEvent(this, -// "插件化_新", -// "位置", mDownloadEntity.getEntrance(), -// "游戏", mDownloadEntity.getName() + "-" + mDownloadEntity.getPlatform(), -// "操作", "安装完成", -// "网络状态", DeviceUtils.getNetwork(HaloApp.getInstance().getApplication())); - } - // 没有光环 ID 的都记录一下游戏 ID,供'我的游戏'区分同包名不同插件用 val gh_id = PackageUtils.getMetaData(application, mDownloadEntity.packageName, "gh_id") if (gh_id == null) { @@ -128,16 +115,6 @@ object PackageObserver { mPackageViewModel.addUninstalledGame(packageName) mDownloadEntity?.let { if (it.isPluggable || it.isUpdate) { - val kv6: MutableMap = HashMap() - kv6["安装或卸载"] = "卸载完成" - DataUtils.onEvent(application, "插件化", mDownloadEntity.name, kv6) - -// DataUtils.onMtaEvent(this, -// "插件化_新", -// "位置", mDownloadEntity.getEntrance(), -// "游戏", mDownloadEntity.getName() + "-" + mDownloadEntity.getPlatform(), -// "操作", "卸载完成", -// "网络状态", DeviceUtils.getNetwork(HaloApp.getInstance().getApplication())); PackageInstaller.install(application, mDownloadEntity) } } diff --git a/app/src/main/java/com/gh/gamecenter/GameDetailActivity.kt b/app/src/main/java/com/gh/gamecenter/GameDetailActivity.kt index 896c91becb..28acb5f8fa 100644 --- a/app/src/main/java/com/gh/gamecenter/GameDetailActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/GameDetailActivity.kt @@ -103,7 +103,6 @@ class GameDetailActivity : NormalActivity() { scrollToServer: Boolean = false, traceEvent: ExposureEvent? = null ) { - DataUtils.onMtaEvent(context, "详情页面", "游戏详情", if (gameEntity != null) gameEntity.name else "") val bundle = Bundle() if (traceEvent != null) { diff --git a/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java b/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java index 42ed368c95..34d83d3916 100644 --- a/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java @@ -428,17 +428,6 @@ public class NewsDetailActivity extends ToolBarActivity implements OnClickListen } if (adapter.getNewsDetailEntity() != null) { - // 阅读报告 - Map kv = new HashMap<>(); - kv.put("用时", cost); - DataUtils.onEvent(NewsDetailActivity.this, "阅读文章", adapter.getNewsDetailEntity().getTitle(), kv); - - // 阅读报告 - Map kv1 = new HashMap<>(); - kv1.put(mEntrance, "阅读数"); - kv1.put(mEntrance, "用时:" + cost); - DataUtils.onEvent(NewsDetailActivity.this, "文章数据", adapter.getNewsDetailEntity().getTitle(), kv1); - if (seconds > 0) { DataCollectionUtils.uploadNews(this, adapter.getNewsDetailEntity(), gameEntity, seconds, mEntrance); } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java index 20187f82e0..792fe96c0d 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java @@ -236,7 +236,6 @@ public class DetailViewHolder { return; } - DataUtils.onGameLaunchEvent(mViewHolder.context, mGameEntity.getName(), mGameEntity.getApk().get(0).getPlatform(), mName); PackageUtils.launchApplicationByPackageName(mViewHolder.context, mGameEntity.getApk().get(0).getPackageName()); } else { GamePermissionDialogFragment.show((AppCompatActivity) mViewHolder.context, mGameEntity, mGameEntity.getInfo(), () -> { @@ -371,12 +370,6 @@ public class DetailViewHolder { ApkEntity apkEntity = mGameEntity.getApk().get(0); String msg = FileUtils.isCanDownload(mViewHolder.context, apkEntity.getSize()); if (TextUtils.isEmpty(msg)) { - DataUtils.onGameDownloadEvent(mViewHolder.context, mGameEntity.getName(), - apkEntity.getPlatform(), - StringUtils.buildString(mEntrance, "+(", mName, "[", mTitle, "])"), - "下载开始", - method); - DownloadManager.createDownload(mViewHolder.context, apkEntity, mGameEntity, diff --git a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java index 3495614737..123dd4d8df 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java @@ -347,10 +347,6 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter { Utils.toast(mContext, "最多只能同时启动3个下载任务"); break; case "启动": - Map kv = new HashMap<>(); - kv.put("版本", downloadEntity.getPlatform()); - DataUtils.onEvent(mContext, "游戏启动", downloadEntity.getName(), kv); - PackageUtils.launchApplicationByPackageName(mContext, downloadEntity.getPackageName()); break; case "失败": @@ -503,16 +499,6 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter { // 显示插件化 void showPluginDialog(final String path) { DialogHelper.showPluginDialog(mContext, () -> { - for (DownloadEntity downloadEntity : DownloadManager.getInstance().getAllDownloadEntityExcludeSilentUpdate()) { - if (downloadEntity.isPluggable() - && downloadEntity.getPath().equals(path)) { - Map kv6 = new HashMap<>(); - kv6.put("操作", "点击插件化安装完成"); - DataUtils.onEvent(mContext, "插件化", downloadEntity.getName(), kv6); - break; - } - } - if (FileUtils.isEmptyFile(path)) { Utils.toast(mContext, R.string.install_failure_hint); } else { diff --git a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java index 6242c0a34e..ca1c59e948 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java @@ -374,10 +374,6 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter implemen }); }); } else if (mContext.getString(R.string.launch).equals(str)) { - Map kv = new HashMap<>(); - kv.put("版本", updateEntity.getPlatform()); - DataUtils.onEvent(mContext, "游戏启动", updateEntity.getName(), kv); - PackageUtils.launchApplicationByPackageName(mContext, updateEntity.getPackageName()); } else if (mContext.getString(R.string.downloading).equals(str)) { @@ -501,11 +497,6 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter implemen GameUpdateEntity updateEntity = updateList.get(position); ExposureUtils.DownloadType downloadType; - Map kv = new HashMap<>(); - kv.put("版本", updateEntity.getPlatform()); - kv.put("状态", "下载开始"); - DataUtils.onEvent(mContext, "游戏更新", updateEntity.getName(), kv); - String downloadId = PackageInstaller.createDownloadId(updateEntity.getName()); DownloadEntity downloadEntity = new DownloadEntity(); 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 9fb4bfcf80..9c969f252f 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java +++ b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java @@ -273,23 +273,6 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem @Override public void onDoubleTap() { EventBus.getDefault().post(new EBUISwitch(EB_MAIN_SCROLL_TOP, finalI)); - switch (finalI) { - case INDEX_HOME: - DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar_双击", "首页"); - break; - case INDEX_GAME: - DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar_双击", "游戏库"); - break; - case INDEX_VIDEO: - DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar_双击", "视频"); - break; - case INDEX_BBS: - DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar_双击", "问答"); - break; - case INDEX_PERSONAL: - DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar_双击", "我的光环"); - break; - } } }); } @@ -482,7 +465,6 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem break; } - DataUtils.onMtaEvent(getContext(), "顶级页面", "BottomBar", tabText); TrackerLogger.logHomeTabSelected(index, tabText); if (index != INDEX_BBS) { diff --git a/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java index 6c33f8b248..56dcda4bb3 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java +++ b/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java @@ -287,7 +287,6 @@ public class SearchToolbarFragment extends BaseLazyFragment implements View.OnCl intent = SearchActivity.getIntent(requireContext(), true, mSearchHintTv.getHint().toString(), "(工具栏)"); startActivity(intent); } else if (id == R.id.actionbar_search_input || id == R.id.actionbar_search_rl || id == R.id.actionbar_search_right) { - DataUtils.onEvent(getActivity(), "主页", "搜索框"); MtaHelper.onEvent("首页_点击", "顶栏", "搜索"); DataCollectionUtils.uploadClick(getActivity(), "搜索框", "主页"); if ("首页".equals(mLocation) || "游戏库".equals(mLocation)) { @@ -297,7 +296,6 @@ public class SearchToolbarFragment extends BaseLazyFragment implements View.OnCl intent = SearchActivity.getIntent(requireContext(), false, mSearchHintTv.getHint().toString(), "(工具栏)"); startActivity(intent); } else if (id == R.id.actionbar_notification) { - DataUtils.onEvent(getActivity(), "主页", "消息图标"); MtaHelper.onEvent("首页_点击", "顶栏", "消息中心"); DataCollectionUtils.uploadClick(getActivity(), "消息图标", "主页"); diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt index 1695817e8f..a08b30cc76 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt @@ -484,9 +484,6 @@ class GameDetailFragment : NormalFragment() { mViewModel.concernLiveData.observeNonNull(this) { response -> if (response.isConcern) { if (response.isSuccess) { - val kv = HashMap() - kv["状态"] = R.string.concern - DataUtils.onEvent(context, "游戏关注", mGameEntity!!.name, kv) MtaHelper.onEvent("游戏详情_新", "关注", mGameEntity!!.name) DataCollectionUtils.uploadConcern( context, @@ -502,10 +499,6 @@ class GameDetailFragment : NormalFragment() { } } else { if (response.isSuccess) { - val kv = HashMap() - kv["状态"] = "取消关注" - DataUtils.onEvent(context, "游戏关注", mGameEntity!!.name, kv) - DataCollectionUtils.uploadConcern( context, mGameEntity!!.name, diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailViewModel.kt index 7a968cedea..2a16b61198 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailViewModel.kt @@ -89,9 +89,6 @@ class GameDetailViewModel(application: Application, .observeOn(AndroidSchedulers.mainThread()) .subscribe(object : Response() { override fun onResponse(response: GameEntity?) { - val name = if (response != null) response.name else "" - DataUtils.onMtaEvent(getApplication(), "详情页面", "游戏详情", name) - game = response gameLiveData.postValue(Resource.success(game)) getGameDetailNew() diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameRaidersAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameRaidersAdapter.kt index 2104caafb4..770d0a4a87 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameRaidersAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameRaidersAdapter.kt @@ -77,7 +77,6 @@ class GameRaidersAdapter(val context: Context, val articles: ArrayList" + article.title) MtaHelper.onEvent("游戏详情_新", "新手攻略卡片", "${game?.name}+${article.title}") // 统计阅读量 diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/FuLiFragment.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/FuLiFragment.kt index ced50c0969..d4143fde73 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/FuLiFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/FuLiFragment.kt @@ -167,11 +167,6 @@ class FuLiFragment : LazyFragment(), IScrollable { EventBus.getDefault().post(EBReuse("showKaifuHint")) } }, 200) - } else if (GameDetailFragment.SCROLL_TO_KAIFU == reuse.type && layoutManager != null) { - DataUtils.onMtaEvent(context, "游戏详情开服表按钮", mFuLiViewModel?.game?.name) - DataUtils.onMtaEvent(context, "游戏详情_新", "开服表", mFuLiViewModel?.game?.name) -// val position = getServerPosition() -// if (position > 0) layoutManager?.smoothScrollToPosition(mRecyclerView, null, position) } } diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/GameNewsAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/GameNewsAdapter.kt index df93c24e9d..1be9650c03 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/GameNewsAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/GameNewsAdapter.kt @@ -44,8 +44,6 @@ class GameNewsAdapter(val context: Context, val article: ArrayList, DataCollectionUtils.uploadClick(context, "新手攻略", "游戏详情", newsEntity.title) - DataUtils.onMtaEvent(context, "游戏详情_新", "新手攻略", "${mFuLiViewModel?.game?.name}+${newsEntity.title}") - // 统计阅读量 NewsUtils.statNewsViews(newsEntity.id) NewsDetailActivity.startNewsDetailActivity(context, newsEntity, diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/tools/GameDetailToolsAdapter.java b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/tools/GameDetailToolsAdapter.java index 835dd93639..4e6d5fd12b 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/tools/GameDetailToolsAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/tools/GameDetailToolsAdapter.java @@ -104,7 +104,6 @@ public class GameDetailToolsAdapter extends BaseRecyclerAdapter { viewHolder.itemView.setOnClickListener(v -> { String url = toolBoxEntity.getUrl(); - DataUtils.onMtaEvent(mContext, "游戏详情_新", "游戏工具", mGameName + "+" + toolBoxEntity.getName()); if (url != null && url.contains(Config.URL_ARTICLE)) { // 写个注释例子, http://www.ghzs666.com/article/${articleId}.html diff --git a/app/src/main/java/com/gh/gamecenter/manager/UserManager.java b/app/src/main/java/com/gh/gamecenter/manager/UserManager.java index 7d88726b1e..9723d8eef4 100644 --- a/app/src/main/java/com/gh/gamecenter/manager/UserManager.java +++ b/app/src/main/java/com/gh/gamecenter/manager/UserManager.java @@ -201,52 +201,12 @@ public class UserManager { } if (code == 400401) { // 自动注销 - - // 由于需要获取 userId 故放置于 logout() 前 - DataUtils.onMtaEvent(HaloApp.getInstance().getApplication(), - "登录异常_自动登录_新", - "用户ID", UserManager.getInstance().getUserId(), - "光环版本", BuildConfig.VERSION_NAME, - "网络状态", DeviceUtils.getNetwork(HaloApp.getInstance().getApplication()), - "JNFJ", MetaUtil.getBase64EncodedIMEI(), - "机型", Build.MODEL, - "厂商", Build.MANUFACTURER, - "Android版本", Build.VERSION.RELEASE - ); - UserRepository.getInstance().logout(); - - DataUtils.onMtaEvent(HaloApp.getInstance().getApplication(), "登录异常统计_自动登录" - , "错误码_RefreshToken", code + "_" + refreshToken.getValue() - , "网络状态", DeviceUtils.getNetwork(HaloApp.getInstance().getApplication()) - , "用户机型", Build.MODEL - , "设备JNFJ", MetaUtil.getBase64EncodedIMEI()); - - // 重复统计,产品就是要这种效果=.= - DataUtils.onMtaEvent(HaloApp.getInstance().getApplication(), "登录失效" - , "登录失效", Build.MODEL); - } else if (code == 400802) { - DataUtils.onMtaEvent(HaloApp.getInstance().getApplication(), - "帐号在其它设备登录", - "用户ID", UserManager.getInstance().getUserId(), - "光环版本", BuildConfig.VERSION_NAME, - "网络状态", DeviceUtils.getNetwork(HaloApp.getInstance().getApplication()), - "JNFJ", MetaUtil.getBase64EncodedIMEI(), - "机型", Build.MODEL, - "厂商", Build.MANUFACTURER, - "Android版本", Build.VERSION.RELEASE); - UserRepository.getInstance().logout(); } } catch (Exception e1) { e1.printStackTrace(); - // 记录解析异常数据 - DataUtils.onMtaEvent(HaloApp.getInstance().getApplication(), "登录异常统计_自动登录" - , "错误码_RefreshToken", code + "_" + e.code() + errorMessage + "_" + e1.toString() - , "网络状态", DeviceUtils.getNetwork(HaloApp.getInstance().getApplication()) - , "用户机型", Build.MODEL - , "设备JNFJ", MetaUtil.getBase64EncodedIMEI()); } } else { try { @@ -255,9 +215,6 @@ public class UserManager { errorMessage = e.response().errorBody().string(); errCode = "" + e.code(); } - DataUtils.onMtaEvent(HaloApp.getInstance().getApplication(), "登录异常统计_意料之外的错误" - , "错误码_RefreshToken", errCode + "_" + refreshToken.getValue() - , "错误信息", errorMessage); } catch (Exception ex) { ex.printStackTrace(); } diff --git a/app/src/main/java/com/gh/gamecenter/mygame/MyFollowedGameViewModel.kt b/app/src/main/java/com/gh/gamecenter/mygame/MyFollowedGameViewModel.kt index 2d4adc7dd0..5185758d73 100644 --- a/app/src/main/java/com/gh/gamecenter/mygame/MyFollowedGameViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/mygame/MyFollowedGameViewModel.kt @@ -43,10 +43,6 @@ class MyFollowedGameViewModel(application: Application) gameEntity.id, object : ConcernUtils.onConcernListener { override fun onSuccess() { - val kv = HashMap() - kv["状态"] = R.string.cancel_concern - DataUtils.onEvent(getApplication(), "游戏关注", gameEntity.name, kv) - DataCollectionUtils.uploadConcern(getApplication(), gameEntity.name, gameEntity.id, diff --git a/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java index b9bb0f28de..5c335d6704 100644 --- a/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java @@ -352,10 +352,6 @@ public class NewsDetailAdapter extends BaseRecyclerAdapter { , new ConcernUtils.onConcernListener() { @Override public void onSuccess() { - Map kv = new HashMap<>(); - kv.put("状态", mContext.getString(R.string.concern)); - DataUtils.onEvent(mContext, "游戏关注", mGameEntity.getName(), kv); - DataCollectionUtils.uploadConcern(mContext, mGameEntity.getName(), mGameEntity.getId(), mContext.getString(R.string.concern)); concern.setText(R.string.cancel_concern); @@ -373,20 +369,12 @@ public class NewsDetailAdapter extends BaseRecyclerAdapter { } }, false); } else { - Map kv = new HashMap<>(); - kv.put("状态", mContext.getString(R.string.cancel_concern)); - DataUtils.onEvent(mContext, "游戏关注", mGameEntity.getName(), kv); - DialogHelper.showCancelDialog(mContext, () -> { //取消关注 ConcernUtils.INSTANCE.deleteConcernData(mContext, mGameEntity.getId() , new ConcernUtils.onConcernListener() { @Override public void onSuccess() { - Map kv1 = new HashMap<>(); - kv1.put("状态", mContext.getString(R.string.cancel_concern)); - DataUtils.onEvent(mContext, "游戏关注", mGameEntity.getName(), kv1); - DataCollectionUtils.uploadConcern(mContext, mGameEntity.getName(), mGameEntity.getId(), mContext.getString(R.string.cancel_concern)); diff --git a/app/src/main/java/com/gh/gamecenter/personal/NewPersonalFragment.kt b/app/src/main/java/com/gh/gamecenter/personal/NewPersonalFragment.kt index 76e0214530..d9fa029d15 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/NewPersonalFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/personal/NewPersonalFragment.kt @@ -12,10 +12,6 @@ import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.LinearLayoutManager import com.gh.gamecenter.common.base.fragment.BaseLazyFragment import com.gh.common.databind.BindingAdapters -import com.gh.common.notifier.Notifier.Companion.create -import com.gh.common.notifier.Notifier.Companion.hide -import com.gh.common.notifier.Notifier.Companion.shouldShowNotifier -import com.gh.common.notifier.Notifier.Companion.tagNotifierAsShowed import com.gh.common.util.* import com.gh.common.util.DirectUtils.directToBadgeDetail import com.gh.common.util.DirectUtils.directToBadgeWall @@ -631,78 +627,6 @@ class NewPersonalFragment : BaseLazyFragment() { loadMessageUnreadTotal(false) } }) - mUnreadViewModel.liveData.observe(this, { messageUnread: MessageUnreadEntity? -> - if (messageUnread != null && messageUnread.total > 0) { - // 第一次开启应用时检查消息中心看有没有未读消息确定需不需要弹 Notifier 通知 - showNotifier(messageUnread) - } - }) - } - - private fun showNotifier(messageUnread: MessageUnreadEntity) { - if (mUnreadViewModel.isFirstTimeInit) { - mUnreadViewModel.flagFirstTimeInit(false) - if (messageUnread.meta != null && messageUnread.meta?.user != null) { - if (messageUnread.meta != null) { - var displayText = StringUtils.shrinkStringWithDot( - messageUnread.meta?.user?.name, 8 - ) - val suffixText: String = if ("follow_question" == messageUnread.meta?.type) { - "回答了你关注的问题" - } else { - "回答了你的问题" - } - displayText += suffixText - val content = messageUnread.meta?.answerId + displayText - if (shouldShowNotifier(content)) { - create(activity) - .setText(displayText) - .setDuration(5000) - .setIcon(messageUnread.meta?.user?.icon) - .setOnClickListener { - val bundle = Bundle() - bundle.putString( - EntranceConsts.KEY_ANSWER_ID, - messageUnread.meta?.answerId - ) - bundle.putString( - EntranceConsts.KEY_ENTRANCE, - EntranceConsts.ENTRANCE_UMENG - ) - bundle.putString( - EntranceConsts.KEY_TO, - SimpleAnswerDetailActivity::class.java.name - ) - EntranceUtils.jumpActivity(activity, bundle) - onEvent("消息弹窗", suffixText, "Does not contains any parameter.") - - // 标记已读 - val jsonObject = JSONObject() - try { - jsonObject.put("type", messageUnread.meta?.type) - val body = RequestBody.create( - MediaType.parse("application/json"), - jsonObject.toString() - ) - messageUnread.meta?.messageId?.let { - mPersonalViewModel.postMessageRead( - it, - body - ) { - loadMessageUnreadData() - } - } - } catch (e: Exception) { - e.printStackTrace() - } - hide() - } - .show(true, 500L) - tagNotifierAsShowed(content) - } - } - } - } } // 连接上网络事件 diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.kt b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.kt index d6a0257770..970ea7c911 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.kt @@ -15,10 +15,6 @@ import androidx.recyclerview.widget.RecyclerView import com.gh.base.BaseActivity import com.gh.gamecenter.common.base.fragment.BaseLazyFragment import com.gh.common.databind.BindingAdapters -import com.gh.common.notifier.Notifier.Companion.create -import com.gh.common.notifier.Notifier.Companion.hide -import com.gh.common.notifier.Notifier.Companion.shouldShowNotifier -import com.gh.common.notifier.Notifier.Companion.tagNotifierAsShowed import com.gh.common.util.* import com.gh.common.util.DirectUtils.directToBadgeDetail import com.gh.common.util.DirectUtils.directToBadgeWall @@ -686,78 +682,6 @@ class PersonalFragment : BaseLazyFragment() { loadMessageUnreadTotal(false) } }) - mUnreadViewModel.liveData.observe(this, { messageUnread: MessageUnreadEntity? -> - if (messageUnread != null && messageUnread.total > 0) { - // 第一次开启应用时检查消息中心看有没有未读消息确定需不需要弹 Notifier 通知 - showNotifier(messageUnread) - } - }) - } - - private fun showNotifier(messageUnread: MessageUnreadEntity) { - if (mUnreadViewModel.isFirstTimeInit) { - mUnreadViewModel.flagFirstTimeInit(false) - if (messageUnread.meta != null && messageUnread.meta?.user != null) { - if (messageUnread.meta != null) { - var displayText = StringUtils.shrinkStringWithDot( - messageUnread.meta?.user?.name, 8 - ) - val suffixText: String = if ("follow_question" == messageUnread.meta?.type) { - "回答了你关注的问题" - } else { - "回答了你的问题" - } - displayText += suffixText - val content = messageUnread.meta?.answerId + displayText - if (shouldShowNotifier(content)) { - create(activity) - .setText(displayText) - .setDuration(5000) - .setIcon(messageUnread.meta?.user?.icon) - .setOnClickListener { - val bundle = Bundle() - bundle.putString( - EntranceConsts.KEY_ANSWER_ID, - messageUnread.meta?.answerId - ) - bundle.putString( - EntranceConsts.KEY_ENTRANCE, - EntranceConsts.ENTRANCE_UMENG - ) - bundle.putString( - EntranceConsts.KEY_TO, - SimpleAnswerDetailActivity::class.java.name - ) - EntranceUtils.jumpActivity(activity, bundle) - onEvent("消息弹窗", suffixText, "Does not contains any parameter.") - - // 标记已读 - val jsonObject = JSONObject() - try { - jsonObject.put("type", messageUnread.meta?.type) - val body = RequestBody.create( - MediaType.parse("application/json"), - jsonObject.toString() - ) - messageUnread.meta?.messageId?.let { - mPersonalViewModel.postMessageRead( - it, - body - ) { - loadMessageUnreadData() - } - } - } catch (e: Exception) { - e.printStackTrace() - } - hide() - } - .show(true, 500L) - tagNotifierAsShowed(content) - } - } - } - } } // 连接上网络事件 diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalViewModel.kt b/app/src/main/java/com/gh/gamecenter/personal/PersonalViewModel.kt index 8c88de04f5..98a14ecd7e 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/personal/PersonalViewModel.kt @@ -215,15 +215,12 @@ class PersonalViewModel(application: Application) : AndroidViewModel(application } when (data.type) { "game" -> { - DataUtils.onMtaEvent(context, "我的光环_签到跳转", "游戏", signEntity.title) GameDetailActivity.startGameDetailActivity(context, data.link, entrance) } "news" -> { - DataUtils.onMtaEvent(context, "我的光环_签到跳转", "文章", signEntity.title) context.startActivity(NewsDetailActivity.getIntentById(context, data.link, entrance)) } "column" -> { - DataUtils.onMtaEvent(context, "我的光环_签到跳转", "专题", signEntity.title) SubjectActivity.startSubjectActivity( context, data.link, diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt index cfe6366c0b..8f028cb083 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt @@ -788,13 +788,6 @@ open class AnswerDetailFragment : NormalFragment() { if (EntranceConsts.ENTRANCE_WELCOME == mEntrance) { LogUtils.uploadLikeFromWelcomeDialog() } - - DataUtils.onMtaEvent( - context, - "答案点赞量_社区加位置", - mViewModel.answerDetail?.community?.name, - mPath - ) } else { mViewModel.cancelLike(mAnswerId) } @@ -808,7 +801,6 @@ open class AnswerDetailFragment : NormalFragment() { mBinding.bottomController.replyTv.setOnClickListener { mViewModel.answerDetail?.run { if (commentable) { - DataUtils.onMtaEvent(context, "详情页面", "答案评论详情", content.subStringIfPossible(30)) showCommentDialog(true) } else { toast("作者已关闭评论") diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailViewModel.kt b/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailViewModel.kt index 0d0a610aa3..463513d38c 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailViewModel.kt @@ -66,7 +66,6 @@ class AnswerDetailViewModel(application: Application) : AndroidViewModel(applica mAnswerLiveData.postValue(apiResponse) val content = Html.fromHtml(response!!.content).toString() - DataUtils.onMtaEvent(getApplication(), "详情页面", "答案详情", StringUtils.combineTwoString(content, answerId)) } override fun onFailure(e: HttpException?) { diff --git a/app/src/main/java/com/gh/gamecenter/qa/subject/AskSubjectFragment.java b/app/src/main/java/com/gh/gamecenter/qa/subject/AskSubjectFragment.java index 69176c1462..8abf7428dd 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/subject/AskSubjectFragment.java +++ b/app/src/main/java/com/gh/gamecenter/qa/subject/AskSubjectFragment.java @@ -91,15 +91,6 @@ public class AskSubjectFragment extends ListFragmentonFailure:: code:" + code + " content:" + content.toString()); - DataUtils.onMtaEvent(mContext, "登录异常统计_手动登录", "错误码", String.valueOf(code) - , "网络状态", DeviceUtils.getNetwork(HaloApp.getInstance().getApplication()) - , "用户机型", Build.MODEL - , "设备JNFJ", MetaUtil.getBase64EncodedIMEI()); - - DataUtils.onMtaEvent(HaloApp.getInstance().getApplication(), - "登录异常_手动登录_新", - "光环版本", BuildConfig.VERSION_NAME, - "网络状态", DeviceUtils.getNetwork(HaloApp.getInstance().getApplication()), - "JNFJ", MetaUtil.getBase64EncodedIMEI(), - "机型", Build.MODEL, - "厂商", Build.MANUFACTURER, - "登录方式", finalLoginTypeForHumanEyes, - "Android版本", Build.VERSION.RELEASE - ); - } else { Utils.toast(mContext, mContext.getString(R.string.login_failure_hint_code, httpException.code())); } diff --git a/app/src/main/java/com/halo/assistant/fragment/myconcern/MyConcernAdapter.java b/app/src/main/java/com/halo/assistant/fragment/myconcern/MyConcernAdapter.java index de76305013..cdfe4432d3 100644 --- a/app/src/main/java/com/halo/assistant/fragment/myconcern/MyConcernAdapter.java +++ b/app/src/main/java/com/halo/assistant/fragment/myconcern/MyConcernAdapter.java @@ -136,10 +136,6 @@ class MyConcernAdapter extends BaseRecyclerAdapter { // 更新界面->cancelConcern() cancelConcern(gameEntity.getId()); - Map kv = new HashMap<>(); - kv.put("状态", R.string.cancel_concern); - DataUtils.onEvent(mContext, "游戏关注", gameEntity.getName(), kv); - DataCollectionUtils.uploadConcern(mContext, gameEntity.getName(), gameEntity.getId(), diff --git a/app/src/main/java/com/halo/assistant/fragment/myconcern/MyConcernRecommendAdapter.java b/app/src/main/java/com/halo/assistant/fragment/myconcern/MyConcernRecommendAdapter.java index 0c290d2a23..0ffe4be310 100644 --- a/app/src/main/java/com/halo/assistant/fragment/myconcern/MyConcernRecommendAdapter.java +++ b/app/src/main/java/com/halo/assistant/fragment/myconcern/MyConcernRecommendAdapter.java @@ -183,11 +183,6 @@ public class MyConcernRecommendAdapter extends BaseRecyclerAdapterconcernGame() - - Map kv = new HashMap<>(); - kv.put("状态", R.string.concern); - DataUtils.onEvent(mContext, "游戏关注", gameEntity.getName(), kv); - DataCollectionUtils.uploadConcern(mContext, gameEntity.getName(), gameEntity.getId(), mContext.getString(R.string.concern)); diff --git a/app/src/main/res/layout/view_notifier.xml b/app/src/main/res/layout/view_notifier.xml deleted file mode 100644 index 4c836b2b9a..0000000000 --- a/app/src/main/res/layout/view_notifier.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - -