package org.lovebing.reactnative.baidumap.battery;

import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.provider.Settings;

public class ManufacturerUtils {

    public static boolean isXiaomi() {
        return Build.MANUFACTURER.equalsIgnoreCase("xiaomi");
    }

    public static boolean isHuawei() {
        return Build.MANUFACTURER.equalsIgnoreCase("huawei");
    }

    public static boolean isOppo() {
        return Build.MANUFACTURER.equalsIgnoreCase("oppo");
    }

    public static boolean isVivo() {
        return Build.MANUFACTURER.equalsIgnoreCase("vivo");
    }

    public static void openManufacturerBatterySettings(Context context) {
        Intent intent = new Intent();
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
        try {
            if (isXiaomi()) {
                // MIUI 电池设置
                intent.setComponent(new ComponentName("com.miui.powerkeeper",
                        "com.miui.powerkeeper.ui.HiddenAppsConfigActivity"));
            } else if (isHuawei()) {
                // EMUI 电池设置
                intent.setComponent(new ComponentName("com.huawei.systemmanager",
                        "com.huawei.systemmanager.optimize.process.ProtectActivity"));
            } else if (isOppo()) {
                // ColorOS 电池设置
                intent.setComponent(new ComponentName("com.coloros.oppoguardelf",
                        "com.coloros.powermanager.fuelgaue.PowerConsumptionActivity"));
            } else if (isVivo()) {
                // Funtouch OS 电池设置
                intent.setComponent(new ComponentName("com.vivo.abe",
                        "com.vivo.applicationbehaviorengine.ui.ExcessivePowerManagerActivity"));
            } else {
                // 默认Android设置
                intent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
            }

            context.startActivity(intent);
        } catch (Exception e) {
            // 如果厂商特定页面打开失败，回退到通用设置
            intent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
            context.startActivity(intent);
        }
    }
}