/// <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); }
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(); }
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 )); }
// 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); }