using System.Collections;
using System.Collections.Generic;
using Android.App;
using Android.Gms.Ads;
using Android.Widget;
using GameAnalyticsSDK;
using GameAnalyticsSDK.Utilities;
using TouchyTickets;

namespace Android {
    public class AndroidPlatform : Platform {

        private readonly Activity activity;
        private readonly LinearLayout adLayout;

        public AndroidPlatform(Activity activity, LinearLayout adLayout) {
            this.activity = activity;
            this.adLayout = adLayout;
        }

        public override void SetupAds() {
            var ad = new AdView(this.activity) {
                AdUnitId = "ca-app-pub-5754829579653773/7841535920",
                AdSize = AdSize.SmartBanner
            };
            ad.LoadAd(new AdRequest.Builder()
                .AddTestDevice("14B965C6457E17D2808061ADF7E34923")
                .Build());
            this.adLayout.AddView(ad);
        }

        public override void SetupAnalytics(Dictionary<string, object> json) {
            GameAnalytics.Initialize(this.activity, GA_MiniJSON.JsonEncode(new Hashtable(json)));
        }

        public override void AddResourceEvent(bool sink, string currency, float amount, string itemType, string itemId) {
            GameAnalytics.NewResourceEvent(sink ? GAResourceFlowType.Sink : GAResourceFlowType.Source, currency, amount, itemType, itemId);
        }

    }
}