package com.reactnative.drwine;

import android.content.Intent;
import android.net.Uri;
import android.widget.Toast;

import com.facebook.react.bridge.Callback;
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.reactnative.drwine.Utils.Utils;

/**
 * Created by YinMenglong on 2017/3/8.
 */

public class DeviceInfoModule extends ReactContextBaseJavaModule {

    public DeviceInfoModule(ReactApplicationContext reactContext) {
        super(reactContext);
    }

    @Override
    public String getName() {
        return "DRDeviceInfo";
    }

    /**
     * 返回UUID
     *
     * @param callback
     */
    @ReactMethod
    public void GetDeviceUUID(Callback callback) {
        callback.invoke(Utils.getUUID());
    }

    /**
     * 返回手机型号和系统信息
     *
     * @param callback
     */
    @ReactMethod
    public void GetDeviceType(Callback callback) {
        callback.invoke(Utils.getFeedback());
    }

    /**
     * 返回APP版本号
     *
     * @param callback
     */
    @ReactMethod
    public void GetAppVersion(Callback callback) {
        callback.invoke(Utils.getAppVersion(getReactApplicationContext()));
    }

    /**
     * 返回系统类型
     *
     * @param callback
     */
    @ReactMethod
    public void GetRequestSource(Callback callback) {
        callback.invoke(" android");
    }

    /**
     * 获取系统栏高度
     *
     * @param promise
     */
    @ReactMethod
    public void getStatusBarHeight(Promise promise) {
        promise.resolve(Utils.getStatusBarHeight(getReactApplicationContext()));
    }

    /**
     * 去应用市场评分
     */
    @ReactMethod
    public void getInstallAppMarket() {
        try {
            Uri uri = Uri.parse("market://details?id=" + getReactApplicationContext().getPackageName());
            Intent intent = new Intent(Intent.ACTION_VIEW, uri);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            getReactApplicationContext().startActivity(intent);
        } catch (Exception e) {
            Toast.makeText(getReactApplicationContext(), "您的手机没有安装Android应用市场", Toast.LENGTH_SHORT).show();
            e.printStackTrace();
        }
    }

}
