/// <summary>
        /// Initializes the ion instance.
        /// </summary>
        /// <returns>The async.</returns>
        protected async override Task <bool> OnPreInitAsync()
        {
            if (!await base.OnPreInitAsync())
            {
                return(false);
            }

            fileManager = new AndroidFileManager(context);

            var path = System.IO.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments), "ION.database");

            database                  = new IONDatabase(new SQLite.Net.Platform.XamarinAndroid.SQLitePlatformAndroid(), path, this);
            deviceManager             = new BaseDeviceManager(this, new AndroidConnectionManager(this));
            locationManager           = new AndroidLocationManager(this);
            alarmManager              = new BaseAlarmManager(this);
            dataLogManager            = new DataLogManager(this);
            alarmManager.alertFactory = (IAlarmManager am, IAlarm alarm) => {
                return(new CompoundAlarmAlert(alarm,
                                              new PopupActivityAlert(alarm, context),
                                              new ToneAlarmAlert(alarm, this),
                                              new VibrateAlarmAlert(alarm, this)
                                              ));
            };

            fluidManager = new BaseFluidManager(this);

            return(true);
        }
Example #2
0
 void Start()
 {
     flash                        = new Flash();
     networkManager               = new NetworkManager();
     notifyManager                = new NotificationManager();
     channel                      = new NotificationManager.Channel();
     channel.id                   = "notification_0";
     channel.name                 = "Game Notification";
     channel.importance           = NotificationManager.IMPORTANCE_MAX;
     channel.lockScreenVisibility = NotificationManager.VISIBILITY_PUBLIC;
     channel.enableLights         = true;
     channel.enableVibration      = true;
     channel.enableBadge          = true;
     channel.lightColor           = "#ffff";
     channel.description          = "Notifications from Android Native Core Unity3d Plugin";
     notifyManager.createChannel(channel);
     fileManager = new AndroidFileManager();
 }
Example #3
0
        private IMainViewModel BuildMainViewModel()
        {
            var current = CurrentThreadScheduler.Instance;
            var main    = RxApp.MainThreadScheduler;

            Akavache.BlobCache.ApplicationName = "Camelotia";
            var cache = Akavache.BlobCache.UserAccount;
            var login = new AndroidYandexAuthenticator(this);
            var files = new AndroidFileManager(this);

            return(new MainViewModel(
                       (provider, auth) => new ProviderViewModel(
                           model => new CreateFolderViewModel(model, provider, current, main),
                           model => new RenameFileViewModel(model, provider, current, main),
                           (file, model) => new FileViewModel(model, file),
                           auth, files, provider, current, main
                           ),
                       provider => new AuthViewModel(
                           new DirectAuthViewModel(provider, current, main),
                           new HostAuthViewModel(provider, current, main),
                           new OAuthViewModel(provider, current, main),
                           provider, current, main
                           ),
                       new ProviderStorage(
                           new Dictionary <string, Func <ProviderModel, IProvider> >
            {
                ["Vkontakte Docs"] = id => new VkDocsProvider(id, cache),
                ["Yandex Disk"] = id => new YandexDiskProvider(id, login, cache),
                ["FTP"] = id => new FtpProvider(id),
                ["SFTP"] = id => new SftpProvider(id),
                ["GitHub"] = id => new GitHubProvider(id, cache)
            },
                           cache
                           ),
                       current, main
                       ));
        }
Example #4
0
        // Overridden from BaseAndroidION
        protected async override Task <bool> OnPreInitAsync()
        {
            if (!await base.OnPreInitAsync())
            {
                return(false);
            }

            fileManager = new AndroidFileManager(context);

            var file = fileManager.CreateTemporaryFile("TEMPORARY_DATABASE.db", EFileAccessResponse.CreateIfMissing);

            database = new IONDatabase(new SQLite.Net.Platform.XamarinAndroid.SQLitePlatformAndroid(), file.fullPath, this);

            deviceManager             = new RemoteDeviceManager(this);
            locationManager           = new AndroidLocationManager(this);
            alarmManager              = new BaseAlarmManager(this);
            dataLogManager            = new DataLogManager(this);
            alarmManager.alertFactory = (IAlarmManager am, IAlarm alarm) => {
                return(new CompoundAlarmAlert(alarm, new PopupActivityAlert(alarm, context), new ToneAlarmAlert(alarm, this), new VibrateAlarmAlert(alarm, this)));
            };
            fluidManager = new BaseFluidManager(this);

            return(true);
        }