//NativeScript modules
import applicationModule = require("application");

//var _isInit: boolean = false;
var _AndroidApplication = applicationModule.android;
var _act: android.app.Activity;
var TIMELINE_SUPPORTED_VERSION: int = 0x21020001;
var wechatSDK: com.smarpshare.wechattimelinesharesdk.WechatSDK;
var _isInit: boolean = false;



// must be called
export function initWechatAPI(appId: string, checkSig: boolean): boolean{
  _act = _AndroidApplication.foregroundActivity;
  //api = com.tencent.mm.sdk.openapi.WXAPIFactory.createWXAPI(_act, appId, true);
  console.log("initWechatAPI is invoked");
  wechatSDK = new org.nativescript.groceries.wxapi.WechatSDK(_act);
  //api = com.smarpshare.wechattimelinesharesdk.WechatSDK.createAPI(_AndroidApplication.context.getApplicationContext(), appId, true);
  wechatSDK.send();
}

// export function registerApp(appId: string){
//     wechatSDK.registerApp();
// }

// export function isWechatInstalled(): boolean{
//   return wechatSDK.getApi().isWXAppInstalled()
// }

// export function isVersionSupported(): boolean{
//   return wechatSDK.isWXAppSupportAPI()
// }

// export function getWechatVersion(): int{
//   return wechatSDK.getWXAppSupportAPI()
// }

// export function isTimeLineSupported(): boolean{
//   if (wechatSDK.getWXAppSupportAPI() >= TIMELINE_SUPPORTED_VERSION) {
//     return true;
//   }else {
//     return false;
//   }
// }

// //onSuccessCallback, onCancelCallback, onAuthDenyCallback, onFailCallback
// export function registerOnRespCallback(){
//   // refresh the _act variable
//   var act = _AndroidApplication.foregroundActivity;
//   _act = act;
//   //Overriding Activity onActivityResult method to send it to the callbackManager
//   act.onActivityResult = (requestCode: number, resultCode: number, data: android.content.Intent) => {
//     console.log("Hei, the resp: "+data.getData());
//   }
// }

// export function startWXEntryActivity(appId: string){
//   //wechatSDK = com.smarpshare.wechattimelinesharesdk.WechatSDK.getInstance(_AndroidApplication.context.getApplicationContext(), appId);
//   var act = _AndroidApplication.foregroundActivity;
//   _act = act; 
//   wechatSDK.startWXEntryActivity(_act);
// }

// export function sendWebPageToWechat(url: string, title: string, description: string, thumbData: any) {
//   var webpage: com.tencent.mm.sdk.modelmsg.WXWebpageObject = new com.tencent.mm.sdk.modelmsg.WXWebpageObject();
//   webpage.webpageUrl = url;
//   var msg: com.tencent.mm.sdk.modelmsg.WXMediaMessage = new com.tencent.mm.sdk.modelmsg.WXMediaMessage(webpage);
//   msg.title = title;
//   msg.description = description;
//   // msg.thumbData has to be an array of bytes
//   //msg.thumbData = thumbData;
  
//   var req: com.tencent.mm.sdk.modelmsg.SendMessageToWX.Req = new com.tencent.mm.sdk.modelmsg.SendMessageToWX.Req();
//   req.transaction = "webpage"+java.lang.System.currentTimeMillis();
//   req.message = msg;
//   req.scene = com.tencent.mm.sdk.modelmsg.SendMessageToWX.Req.WXSceneTimeline;
//   console.log("###############about send wechat req")
//   wechatSDK.sendReq(req);
// }