package com.gh.gamecenter.common.provider

import android.app.Activity
import android.content.Context
import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity

import com.gh.gamecenter.common.base.fragment.BaseFragment
import com.gh.gamecenter.common.entity.SimpleGameEntity
import com.gh.gamecenter.common.entity.SuggestType

interface IHelpAndFeedbackProvider {

    fun isSuggestionActivity(activity: Activity): Boolean

    fun startSuggestionActivity(
        context: Context?,
        suggestType: SuggestType?,
        suggestHintType: String?,
        content: String?
    )

    fun startSuggestionActivity(
        context: Context?,
        suggestType: SuggestType?,
        suggestHintType: String?,
        content: String?,
        game: SimpleGameEntity?
    )

    fun startSuggestionActivity(context: Context?, suggestType: SuggestType?, hint: String?)

    fun getIntent(
        context: Context?,
        suggestType: SuggestType?,
        hiddenHint: String?,
        suggestHintType: String?,
        content: String?,
        game: SimpleGameEntity?,
        isQaFeedback: Boolean,
        qaContentId: String?,
        fromRatingKey: Boolean,
        diagnosis: String,
        forceLogin: Boolean,
        isSmoothGame: Boolean
    ): Intent?

    fun getSuggestionCategoryIntent(context: Context, bundle: Bundle? = null): Intent?

    fun showQaFeedbackDialogFragment(activity: AppCompatActivity, contentId: String)

    fun getHelpContainerFragmentClass(): String

    fun getHelpAndFeedbackFragment(): BaseFragment<Any>
}