package com.unibuy.v2

import com.blankj.utilcode.util.ActivityUtils
import com.blankj.utilcode.util.AppUtils
import com.unibuy.smartdevice.ui.FontendActivity
import com.unibuy.v2.vm.CartViewModel

/**
 * v2 購物車的橋接 helper（自 Luzui 移植並裁剪）。
 *
 * 與 Luzui 差異：
 * - getCartViewModel() 改為自持 singleton，不綁 FontendActivity 的 ViewModelProvider，
 *   避免修改 main 共用的 FontendActivity（其無 cartViewModel 欄位）。
 * - 移除 dismissAllAlertDialogs()/getSPStrNotNull()：前者依賴 DialogAbstract.dialogInstances
 *   （TaiwanStar 為 private static 無法存取），後者購物車未使用。
 */
object UnibuyHelper {

    private val cartViewModel: CartViewModel = CartViewModel()

    fun getCartViewModel(): CartViewModel = cartViewModel

    fun getFontendActivity(): FontendActivity {
        if (ActivityUtils.getTopActivity() is FontendActivity) {
            return ActivityUtils.getTopActivity() as FontendActivity
        } else if (ActivityUtils.isActivityExists(AppUtils.getAppPackageName(), FontendActivity::class.java.simpleName)) {
            ActivityUtils.getActivityList().forEach { activity ->
                if (activity is FontendActivity) {
                    return activity
                }
            }
        }
        return FontendActivity()
    }
}
