예제 #1
0
        public void Load()
        {
            IAndroidApp androidApp = Mvx.Resolve <IAndroidApp>();

            _Configuration.ApplicationContext = androidApp.TopActivity.ApplicationContext;
            Mvx.LazyConstructAndRegisterSingleton <ILocalStorageService>(() => new LocalStorageService(_Configuration));
        }
예제 #2
0
        public void OnActivityStarted(Activity activity)
        {
            CrossCurrentActivity.Current.Activity = activity;

            IAndroidApp app = Mvx.IoCProvider.Resolve <IAndroidApp>();

            app.TopActivity = activity;
        }
예제 #3
0
파일: Plugin.cs 프로젝트: tvvister91/Arena
        public void Load()
        {
            IAndroidApp androidApp = Mvx.IoCProvider.Resolve <IAndroidApp>();

            // TODO: next line sometimes causes a crash
            _Configuration.ApplicationContext = androidApp?.TopActivity?.ApplicationContext;
            Mvx.IoCProvider.RegisterSingleton <ILocalStorageService>(() => new LocalStorageService(_Configuration));
        }
예제 #4
0
        public void OnActivityStopped(Activity activity)
        {
            IAndroidApp app = Mvx.Resolve <IAndroidApp>();

            if (activity.Equals(app.TopActivity))
            {
                app.TopActivity = null;
            }
        }
예제 #5
0
        public override void RecordException(Exception exception, string description)
        {
            IAndroidApp app             = Mvx.IoCProvider.Resolve <IAndroidApp>();
            string      fullDescription = description + " " + new StandardExceptionParser((Android.Content.Context)app.TopActivity, null)
                                          .GetDescription(Thread.CurrentThread.Name, (Java.Lang.Throwable)exception);

            mTracker.Send(new HitBuilders.ExceptionBuilder()
                          .SetDescription(fullDescription)
                          .SetFatal(false)
                          .Build());
        }
예제 #6
0
        public void OnActivityStopped(Activity activity)
        {
            IAndroidApp app = Mvx.IoCProvider.Resolve <IAndroidApp>();

            if (activity.Equals(app.TopActivity))
            {
                app.TopActivity = null;
                Backgrounded    = true;
                Mvx.IoCProvider.Resolve <IAppService>()?.RaiseOnUserInteractionStopped();
            }
        }
예제 #7
0
        private Context GetActivityContext()
        {
            Context context = Utilities.GetActivityContext();

            if (context == null)
            {
                IMvxAndroidCurrentTopActivity topActivity;
                bool canResolve = Mvx.TryResolve(out topActivity);

                IAndroidApp app = Mvx.Resolve <IAndroidApp>();
                if (app != null)
                {
                    context = (Context)app.TopActivity;
                }
            }
            return(context);
        }
예제 #8
0
        public DroidAnalyticsService(GAConfiguration configuration)
            : base(configuration)
        {
            Mvx.IoCProvider.RegisterSingleton <IVersion>(() => new AppVersionImpl());
            _version = Mvx.IoCProvider.Resolve <IVersion>();
            configuration.AppVersion = _version.Version;

            IAndroidApp app = Mvx.IoCProvider.Resolve <IAndroidApp>();

            if (app != null)
            {
                var context   = (Context)app.TopActivity;
                var analytics = GoogleAnalytics.GetInstance(context);
                analytics.SetLocalDispatchPeriod((int)configuration.DispatchInterval);
                mTracker = analytics.NewTracker(configuration.TrackingId);
                mTracker.SetAppId(configuration.AppId);
                mTracker.SetAppName(configuration.AppName);
                mTracker.SetAppVersion(configuration.AppVersion);
                mTracker.EnableExceptionReporting(true);
            }
        }
예제 #9
0
        public void OnActivityStarted(Activity activity)
        {
            IAndroidApp app = Mvx.Resolve <IAndroidApp>();

            app.TopActivity = activity;
        }