package jp.agentec.sinaburocast.common.util;

import jp.agentec.sinaburocast.common.SinaburoConstant;

import org.mobylet.core.Carrier;
import org.mobylet.core.Mobylet;
import org.mobylet.core.type.SmartPhoneType;

public class RequestUtils extends org.mobylet.core.util.RequestUtils {

    /**
     * キャリア判定を行う<br>
     * @param mobylet mobylet
     * @return キャリア区分
     */
    public static Integer getCarrierType(Mobylet mobylet) {

    	Carrier carrier = mobylet.getCarrier();

    	switch (carrier) {
        case DOCOMO:
            //ドコモ端末の場合の処理
        	return SinaburoConstant.AccessType.MOBILE;

        case AU:
            //au端末の場合の処理
        	return SinaburoConstant.AccessType.MOBILE;

        case SOFTBANK:
            //ソフトバンク3G端末の場合の処理
        	return SinaburoConstant.AccessType.MOBILE;

        case OTHER:
            //PC若しくは上記以外の端末の場合の処理

        	SmartPhoneType type = mobylet.getSmartPhoneType();
        	if (type == null) {
        	    //スマートフォンではない
            	return SinaburoConstant.AccessType.PC;
        	} else if (type == SmartPhoneType.IPHONE) {
        	    //iPhone端末
            	return SinaburoConstant.AccessType.SMARTPHONE;
        	} else if (type == SmartPhoneType.ANDROID) {
        	    //Android端末
            	return SinaburoConstant.AccessType.SMARTPHONE;
        	}
    	}

        return null;
    }

}