package com.youmi.android.offer;

import android.os.Build;
import android.support.annotation.NonNull;

import com.sheep.gamegroup.absBase.BaseActivity;

/**
 * Android 6.0 上权限分为<b>正常</b>和<b>危险</b>级别
 * <ul>
 * <li>正常级别权限：开发者仅仅需要在AndroidManifext.xml上声明，那么应用就会被允许拥有该权限，如：android.permission.INTERNET</li>
 * <li>危险级别权限：开发者需要在AndroidManifext.xml上声明，并且在运行时进行申请，而且用户允许了，应用才会被允许拥有该权限，如：android.permission.WRITE_EXTERNAL_STORAGE</li>
 * </ul>
 * 有米的以下权限需要在Android6.0上被允许，有米广告sdk才能正常工作，开发者需要在调用有米的任何代码之前，提前让用户允许权限
 * <ul>
 * <li>必须申请的权限
 * <ul>
 * <li>android.permission.READ_PHONE_STATE</li>
 * <li>android.permission.WRITE_EXTERNAL_STORAGE</li>
 * </ul>
 * </li>
 * </ul>
 *
 * @since 2015-12-10 16:36
 */
public abstract class BaseActYmPermissionCheck extends BaseActivity {

    //检查权限并启动有米积分墙界面
    public void checkOrShowYmOffersAds() {
        ymPermissionUtil = new YmPermissionUtil(this);
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
            ymPermissionUtil.showYmOffersAds();
            return;
        }

        ymPermissionUtil.checkPermissions();

    }

    private YmPermissionUtil ymPermissionUtil;


    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (ymPermissionUtil != null)
            ymPermissionUtil.onRequestPermissionsResult(requestCode, permissions, grantResults);
    }


    /**
     * 退出时回收资源
     */
    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (ymPermissionUtil != null)
            ymPermissionUtil.onDestroy();

    }

}
