public ArrivalsTableViewController(ArrivalsDataSource dataSource, ITinyMessengerHub messenger)
        {
            _dataSource = dataSource;

            _messenger = messenger;
            _messenger.Subscribe<AirportSelectedMessage>(msg => NavigationItem.Title = string.Format("Arrivals at {0}", msg.Content.Code));
        }
Ejemplo n.º 2
0
 public LockReceiver()
 {            
     _messageHub = Bootstrapper.GetContainer().Resolve<ITinyMessengerHub>();
     _messageHub.Subscribe<ActivateLockScreenMessage>(message => {
         _activateLockScreen = message.ActivateLockScreen;
     });
 }
Ejemplo n.º 3
0
        public MerblaBaseView(ITinyMessengerHub messageHub, IRepository repo)
        {
            _messageHub = messageHub;
            _repo= repo;

            _messageHub.Subscribe<PeopleMessage>((m) =>{

                var label = new UILabel(new RectangleF(20,20,100,100));
                label.Text = "People message received @ " + DateTime.Now;

                label.Text += ": " + m.Content
                    .Select(p=> p.Surname)
                        .Aggregate((text, item) =>
                            text + " Surname: " + item);

                AddSubview(label);
            });

            var button = new UIButton(new RectangleF(10,10, 100,100));

            button.SetTitle( "Make Service Call", UIControlState.Normal);
            button.TouchDown += delegate(object sender, EventArgs e) {
                _repo.GetPeople();
            };

            AddSubview(button);
        }
Ejemplo n.º 4
0
        public ApplicationViewModel()
        {
            _messageHub = TinyIoCContainer.Current.Resolve<ITinyMessengerHub> ();

            _messageHub.Subscribe<ApplicationStartingMessage> ((a) => StartApplication());
            _messageHub.Subscribe<DoneEditingUsername> ((a) => EvaluateSuccess());
            _messageHub.Subscribe<ApplicationFinishingMessage> ((a) => TerminateApplication());
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ProjectsSuffixesViewModel" /> class.
 /// </summary>
 /// <param name="settingsService">The settings service.</param>
 /// <param name="tinyMessengerHub">The tiny messenger hub.</param>
 public ProjectsSuffixesViewModel(
     ISettingsService settingsService,
     ITinyMessengerHub tinyMessengerHub)
     : base(settingsService)
 {
     this.tinyMessengerHub = tinyMessengerHub;
     this.Init();
 }
        /// <summary>
        /// Initializes a new instance of the TinyMessageSubscriptionToken class.
        /// </summary>
        public TinyMessageSubscriptionToken(ITinyMessengerHub hub, Type messageType)
        {
            if (hub == null)
                throw new ArgumentNullException("hub");

            _Hub = new WeakReference(hub);
            _MessageType = messageType;
        }
Ejemplo n.º 7
0
        public PluginX()
        {
            container = TinyIoCContainer.Current;
            messengerHub = container.Resolve<ITinyMessengerHub>();

            pluginTimer = new System.Timers.Timer(10000) { AutoReset = true };
            pluginTimer.Elapsed += plugintimer_Elapsed;
            pluginTimer.Start();
        }
Ejemplo n.º 8
0
        public PythonComponent(ITinyMessengerHub hub)
            : base(hub)
        {
            PythonEngine.Initialize();

            LoadScripts("Scripts");

            hub.Subscribe<InvokeCommandMessage>(OnBotCommandMessage);
        }
Ejemplo n.º 9
0
 private void InitializeBase()
 {
     Console.WriteLine("BaseActivity - InitializeBase - Subcribing to ApplicationCloseMessage; activity of type {0}", this.GetType().FullName);
     _messengerHub = Bootstrapper.GetContainer().Resolve<ITinyMessengerHub>();
     _tokens.Add(_messengerHub.Subscribe<ApplicationCloseMessage>(message =>
     {
         Console.WriteLine("BaseActivity - InitializeBase - Received ApplicationCloseMessage; closing activity of type {0}", this.GetType().FullName);
         Finish();
     }));
 }
Ejemplo n.º 10
0
 public Settings(ITinyMessengerHub hub)
 {
     hub.Subscribe<ApplicationMessage>(m =>
     {
         if (m.Content == ApplicationMessageType.Backgrounded || m.Content == ApplicationMessageType.Foregrounded)
         {
             Synchronize();
         }
     });
 }
Ejemplo n.º 11
0
        public IrcComponent(ITinyMessengerHub hub, IConfig config)
            : base(hub)
        {
            if (hub == null)
                throw new ArgumentNullException("hub");
            log.Info("Initializing IRC component...");
            this.config = config;

            hub.Subscribe<IrcSendMessage>(OnSendIrcMessage);
        }
        /// <summary>
        /// Initializes a new instance of the TinyMessageSubscriptionToken class.
        /// </summary>
        public TinyMessageSubscriptionToken(ITinyMessengerHub hub, Type messageType)
        {
            if (hub == null)
                throw new ArgumentNullException("hub");

            if (!typeof(ITinyMessage).IsAssignableFrom(messageType))
                throw new ArgumentOutOfRangeException("messageType");

            _Hub = new WeakReference(hub);
            _MessageType = messageType;
        }
Ejemplo n.º 13
0
        public AirportsViewModel(IGetAirports airportsService, IStoreObjects objectStore, ITinyMessengerHub messenger)
        {
            _objectStore = objectStore;
            _messenger = messenger;
            Airports = new ObservableCollection<Airport>();
            Airports.Add(Airport.Nearest);
            Airports.AddRange(airportsService.GetNorwegianAirports());

            SaveCommand = new RelayCommand(OnSave);
            LoadSelectedAirportFromDisk();
        }
Ejemplo n.º 14
0
 protected virtual void Initialize()
 {
     var container = TinyIoCContainer.Current;
     _hub = container.Resolve<ITinyMessengerHub>();
     _hub.Subscribe<SearchMessage>(OnSearch);
     _busyIndicator = container.Resolve<BusyIndicator>();
     _providers = container.ResolveAll<ISearchProvider>().ToArray();
     foreach (ISearchProvider item in _providers)
     {
         item.SearchCompleted += OnSearchCompleted;
     }
 }
Ejemplo n.º 15
0
        public ClojureComponent(ITinyMessengerHub hub)
            : base(hub)
        {
            if (hub == null)
                throw new ArgumentNullException("hub");

            log.Info("Initializing Clojure component...");

            LoadScripts("Scripts");

            hub.Subscribe<InvokeCommandMessage>(OnBotCommandMessage);
        }
        public SnapperDemoForm()
        {
            InitializeComponent();
            messengerHub = container.Resolve<ITinyMessengerHub>();

            // Refresh all of the plugins.
            RefreshPlugins();

            // Subscribe to the NewPluginDetected message defining what to do when a new plugin appears.
            messengerHub.Subscribe<NewPluginDetected>((s) => { RefreshPlugins(); },
                new ControlInvokeTinyMessageProxy(this)); // ensure that this message is invoked on the UI thread.
        }
Ejemplo n.º 17
0
        protected virtual void Initialize()
        {
            var container = TinyIoCContainer.Current;
            _hub = container.Resolve<ITinyMessengerHub>();

            _hub.Subscribe<EmptyUrlMessage>(m =>
            {
                SelectedIndex = 2;
                MessageBox.Show("Please enter a URL for your uTorrent server.", "No URL Found");
            });

            _hub.Subscribe<AddTorrentMessage>(_ => SelectedIndex = 0);
        }
Ejemplo n.º 18
0
 public AndroidNavigationManager(ITinyMessengerHub messageHub)
 {
     _messageHub = messageHub;
     _messageHub.Subscribe<MobileNavigationManagerCommandMessage>((m) => {
         switch (m.CommandType)
         {
             case MobileNavigationManagerCommandMessageType.ShowPlayerView:
                 CreatePlayerView(MobileNavigationTabType.More);
                 break;
             case MobileNavigationManagerCommandMessageType.ShowEqualizerPresetsView:
                 var sourceView = (IBaseView) m.Sender;
                 CreateEqualizerPresetsView(sourceView);
                 break;
         }
     });
 }
Ejemplo n.º 19
0
        public ProcessorComponent(ITinyMessengerHub hub, IConfig config)
            : base(hub)
        {
            log.Info("Initializing processor component...");

            hub.Subscribe<IrcMessage>(OnIrcMessage);

            using (var catalog = new DirectoryCatalog("Plugins"))
            {
                using (var container = new CompositionContainer(catalog))
                {
                    container.ComposeExportedValue<IConfig>("Config", config);
                    container.ComposeParts(this);
                }
            }
        }
Ejemplo n.º 20
0
        public FlightsViewModel(IGetFlights flightsService, 
                                IStoreObjects objectStore, 
                                ITinyMessengerHub messenger, 
                                IDispatchOnUIThread dispatcher)
        {
            Arrivals = new ObservableCollection<Flight>();
            Departures = new ObservableCollection<Flight>();

            _objectStore = objectStore;
            _flightsService = flightsService;
            _messenger = messenger;
            _dispatcher = dispatcher;

            _messenger.Subscribe<AirportSelectedMessage>(OnAirportSelected);

            LoadSelectedAirport();
        }
Ejemplo n.º 21
0
        public CommandComponent(ITinyMessengerHub hub, IPersistentStore store)
            : base(hub)
        {
            if (hub == null)
                throw new ArgumentNullException("hub");

            log.Info("Initializing Command component...");

            this.store = store;

            hub.Subscribe<InvokeCommandMessage>(this.OnBotCommandMessage);

            Commands = new List<ICommand>();

            LoadCommands();

            RegisterCommands();
        }
Ejemplo n.º 22
0
        public CliComponent(ITinyMessengerHub hub)
            : base(hub)
        {
            hub.Subscribe<InvokeCommandMessage>(OnBotCommandMessage);

            log.Info("Registering Python scripts...");

            string[] files = Directory.GetFiles("Scripts", "*.py");
            foreach (string file in files)
            {
                try
                {
                    string name = string.Join("", Path.GetFileNameWithoutExtension(file));
                    scripts.Add(name.ToLower(), file);
                    log.Info("Found script \"" + name + "\"");
                }
                catch (Exception e)
                {
                    log.Error("Failed to load script file \"" + file + "\"", e);
                }
            }
        }
Ejemplo n.º 23
0
 public iOSNavigationManager(ITinyMessengerHub messageHub)
 {
     _messageHub = messageHub;
     _messageHub.Subscribe<MobileNavigationManagerCommandMessage>((m) => {
         using(var pool = new NSAutoreleasePool())
         {
             pool.InvokeOnMainThread(() => {
                 switch(m.CommandType)
                 {
                     case MobileNavigationManagerCommandMessageType.ShowPlayerView:
                         var navCtrl = (SessionsNavigationController)m.Sender;
                         CreatePlayerView(navCtrl.TabType);
                         break;
                     case MobileNavigationManagerCommandMessageType.ShowEqualizerPresetsView:
                         CreateEqualizerPresetsView(null);
                         break;
                     case MobileNavigationManagerCommandMessageType.ShowPlaylistView:
                         CreatePlaylistView(null);
                         break;
                 }
             });
         }
     });
 }
Ejemplo n.º 24
0
 public ConnectionChangeReceiver()
 {            
     _messageHub = Bootstrapper.GetContainer().Resolve<ITinyMessengerHub>();
     _deviceSpecifications = Bootstrapper.GetContainer().Resolve<ISyncDeviceSpecifications>();
 }
Ejemplo n.º 25
0
 public RequestRadioStations(ILibraryApiAdapter libraryApiAdapter, ITinyMessengerHub hub)
 {
     _libraryApiAdapter = libraryApiAdapter;
     _hub = hub;
 }
Ejemplo n.º 26
0
 public RequestLyrics(LyricCoverModel model, ITinyMessengerHub hub, Authenticator auth)
 {
     _model = model;
     _hub   = hub;
     _auth  = auth;
 }
Ejemplo n.º 27
0
 public SessionsWindow(RectangleF frame) : base(frame)
 {
     _messengerHub = Bootstrapper.GetContainer().Resolve<ITinyMessengerHub>();
 }
Ejemplo n.º 28
0
 public MouseHook(ITinyMessengerHub hub) : base(hub)
 {
 }
Ejemplo n.º 29
0
 public NotificationsHub(ITinyMessengerHub messengerHub,
                         IPollRepository pollRepository)
 {
     MessengerHub    = messengerHub ?? throw new ArgumentNullException(nameof(messengerHub));
     _pollRepository = pollRepository ?? throw new ArgumentNullException(nameof(pollRepository));
 }
Ejemplo n.º 30
0
        protected override void OnCreate(Bundle bundle)
        {
            Console.WriteLine("MainActivity - OnCreate");
            base.OnCreate(bundle);

            _messengerHub = Bootstrapper.GetContainer().Resolve<ITinyMessengerHub>();
            _messengerHub.Subscribe<MobileLibraryBrowserItemClickedMessage>(MobileLibraryBrowserItemClickedMessageReceived);

            RequestWindowFeature(WindowFeatures.ActionBar);
            SetContentView(Resource.Layout.Main);
            _actionBarSpinnerAdapter = ArrayAdapter.CreateFromResource(this, Resource.Array.action_list, Resource.Layout.actionbar_spinner_item);
            ActionBar.NavigationMode = ActionBarNavigationMode.List;
            ActionBar.Title = string.Empty;
            ActionBar.SetListNavigationCallbacks(_actionBarSpinnerAdapter, this);
            ActionBar.SetSelectedNavigationItem(1);

            _viewFlipper = FindViewById<ViewFlipper>(Resource.Id.main_viewflipper);
            _miniPlayer = FindViewById<LinearLayout>(Resource.Id.main_miniplayer);
            _miniPlaylist = FindViewById<LinearLayout>(Resource.Id.main_miniplaylist);
            _lblArtistName = FindViewById<TextView>(Resource.Id.main_miniplayer_lblArtistName);
            _lblAlbumTitle = FindViewById<TextView>(Resource.Id.main_miniplayer_lblAlbumTitle);
            _lblSongTitle = FindViewById<TextView>(Resource.Id.main_miniplayer_lblSongTitle);
            //_lblNextArtistName = FindViewById<TextView>(Resource.Id.main_miniplaylist_lblNextArtistName);
            //_lblNextAlbumTitle = FindViewById<TextView>(Resource.Id.main_miniplaylist_lblNextAlbumTitle);
            //_lblNextSongTitle = FindViewById<TextView>(Resource.Id.main_miniplaylist_lblNextSongTitle);
            _lblPlaylistCount = FindViewById<TextView>(Resource.Id.main_miniplaylist_lblPlaylistCount);
            _btnPrevious = FindViewById<ImageButton>(Resource.Id.main_miniplayer_btnPrevious);
            _btnPlayPause = FindViewById<ImageButton>(Resource.Id.main_miniplayer_btnPlayPause);
            _btnNext = FindViewById<ImageButton>(Resource.Id.main_miniplayer_btnNext);
            _btnPlaylist = FindViewById<ImageButton>(Resource.Id.main_miniplaylist_btnPlaylist);
            _btnShuffle = FindViewById<ImageButton>(Resource.Id.main_miniplaylist_btnShuffle);
            _btnRepeat = FindViewById<ImageButton>(Resource.Id.main_miniplaylist_btnRepeat);
            _btnLeft = FindViewById<ImageButton>(Resource.Id.main_miniplaylist_btnLeft);
            _cboPlaylist = FindViewById<Spinner>(Resource.Id.main_miniplaylist_cboPlaylist);
            _btnRight = FindViewById<ImageButton>(Resource.Id.main_miniplayer_btnRight);
            _imageAlbum = FindViewById<SquareImageView>(Resource.Id.main_miniplayer_imageAlbum);
            _miniPlayer.Click += (sender, args) => _messengerHub.PublishAsync<MobileNavigationManagerCommandMessage>(new MobileNavigationManagerCommandMessage(this, MobileNavigationManagerCommandMessageType.ShowPlayerView));
            _btnLeft.SetOnTouchListener(this);
            _btnRight.SetOnTouchListener(this);
            _btnPrevious.SetOnTouchListener(this);
            _btnPlayPause.SetOnTouchListener(this);
            _btnNext.SetOnTouchListener(this);
            _btnPlaylist.SetOnTouchListener(this);
            _btnShuffle.SetOnTouchListener(this);
            _btnRepeat.SetOnTouchListener(this);
            _btnPrevious.Click += (sender, args) => OnPlayerPrevious();
            _btnPlayPause.Click += (sender, args) => OnPlayerPlayPause();
            _btnNext.Click += (sender, args) => OnPlayerNext();
            _btnPlaylist.Click += (sender, args) => OnOpenPlaylist();
            _btnShuffle.Click += (sender, args) => OnPlayerShuffle();
            _btnRepeat.Click += (sender, args) => OnPlayerRepeat();
            _btnLeft.Click += BtnLeftOnClick;
            _btnRight.Click += BtnRightOnClick;

            // Set initial view flipper item
            int realIndex = _viewFlipper.IndexOfChild(_miniPlayer);
            _viewFlipper.DisplayedChild = realIndex;

            // Create bitmap cache
            Point size = new Point();
            WindowManager.DefaultDisplay.GetSize(size);
            int maxMemory = (int)(Runtime.GetRuntime().MaxMemory() / 1024);
            int cacheSize = maxMemory / 16;
            BitmapCache = new BitmapCache(this, cacheSize, size.X / 6, size.X / 6);

            _playlistSpinnerAdapter = new ArrayAdapter<string>(this, Resource.Layout.playlist_spinner_item, new string[2] {"Hello", "World"});
            _cboPlaylist.Adapter = _playlistSpinnerAdapter;
            _cboPlaylist.ItemSelected += CboPlaylistOnItemSelected;

            Console.WriteLine("MainActivity - OnCreate - Binding presenters...");
            var navigationManager = (AndroidNavigationManager)Bootstrapper.GetContainer().Resolve<MobileNavigationManager>();
            navigationManager.MainActivity = this; // Watch out, this can lead to memory leaks!
            navigationManager.BindOptionsMenuView(this);
            navigationManager.BindPlayerStatusView(this);
            navigationManager.BindMobileMainView(this);
        }
Ejemplo n.º 31
0
 public LanBackupAgentService(ILogger mlogger, ITinyMessengerHub mmessenger)
 {
     this.logger    = mlogger;
     this.messenger = mmessenger;
 }
Ejemplo n.º 32
0
 public LyricCoverModel(ITinyMessengerHub hub)
 {
     _hub = hub;
     _hub.Subscribe <CoverAvailable>(msg => Task.Factory.StartNew(() => SetCover(msg.Cover)));
     _hub.Subscribe <LyricsAvailable>(msg => Lyrics = msg.Lyrics);
 }
Ejemplo n.º 33
0
 public RequestPlaylistList(Authenticator auth, ILibraryApiAdapter libraryApiAdapter, ITinyMessengerHub hub)
 {
     _auth = auth;
     _libraryApiAdapter = libraryApiAdapter;
     _hub = hub;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="SkinSwitcher"/> class.
 /// </summary>
 /// <param name="messageHub">
 /// The message hub to use.
 /// </param>
 public SkinSwitcher(ITinyMessengerHub messageHub)
 {
     this.CurrentSkin = Skin.Normal;
     this.messageHub  = messageHub;
 }
Ejemplo n.º 35
0
 public RequestRepeat(ITinyMessengerHub hub, IPlayerApiAdapter apiAdapter)
 {
     _hub        = hub;
     _apiAdapter = apiAdapter;
 }
Ejemplo n.º 36
0
 public RequestPlaylistPlay(ITinyMessengerHub hub, ILibraryApiAdapter libraryApiAdapter)
 {
     _hub = hub;
     _libraryApiAdapter = libraryApiAdapter;
 }
Ejemplo n.º 37
0
 public RequestPodcastEpisodeCommand(ILibraryApiAdapter libraryApiAdapter, ITinyMessengerHub hub)
 {
     _libraryApiAdapter = libraryApiAdapter;
     _hub = hub;
 }
Ejemplo n.º 38
0
 /// <summary>
 /// The subscriber.
 /// </summary>
 /// <param name="hub">
 /// The hub.
 /// </param>
 public void Subscriber(ITinyMessengerHub hub)
 {
     hub.Subscribe <WaitOverTimeoutMessage>(Instance.Execute);
 }
Ejemplo n.º 39
0
 private TypingProfiler CreateTarget(ICursor cursor, ITypingSpeedCalculator calculator, ITypingTimer timer, ITinyMessengerHub messengerHub)
 {
     return(new TypingProfiler(cursor, calculator, timer, messengerHub));
 }
Ejemplo n.º 40
0
 public WaitingForDragState(StateContext context, ITinyMessengerHub messengerHub, ILogger logger, UnityEngine.Camera camera)
     : base(context, messengerHub, logger, camera)
 {
 }
Ejemplo n.º 41
0
 public NamedPipeServer(ILogger logger, ITinyMessengerHub hub) : base(logger, hub, NamedPipes.ClientPipe)
 {
 }
Ejemplo n.º 42
0
 public RequestNowplayingQueue(ITinyMessengerHub hub, IQueueAdapter queueAdapter)
 {
     _hub          = hub;
     _queueAdapter = queueAdapter;
 }
Ejemplo n.º 43
0
 public RequestPlayerStatus(ITinyMessengerHub hub, IPlayerApiAdapter apiAdapter)
 {
     _hub        = hub;
     _apiAdapter = apiAdapter;
 }
Ejemplo n.º 44
0
 public RequestNowPlayingPlay(ITinyMessengerHub hub, INowPlayingApiAdapter nowPlayingApiAdapter)
 {
     _hub = hub;
     _nowPlayingApiAdapter = nowPlayingApiAdapter;
 }
Ejemplo n.º 45
0
 public NamedPipeServer(ILogger logger, ITinyMessengerHub hub) : base(logger, hub, NamedPipes.ServerPipe)
 {
     _subToStart = hub.Subscribe <OnStartupMessage>(_ => StartServer());
     _subToStop  = hub.Subscribe <OnStopMessage>(_ => StopServer());
 }
Ejemplo n.º 46
0
 public SubscribingTimer(ITinyMessengerHub messengerHub)
 {
     this.messengerHub      = messengerHub;
     pauseSubscriptionToken = messengerHub.Subscribe <SetPausedMessage>(OnGamePauseMessage);
 }
Ejemplo n.º 47
0
 public InnerDevice(ITinyMessengerHub msgr)
 {
     _msgr = msgr;
     subscribe();
 }
Ejemplo n.º 48
0
 public RequestPluginVersion(ITinyMessengerHub hub, PersistanceManager settings)
 {
     _hub      = hub;
     _settings = settings;
 }
Ejemplo n.º 49
0
 public SolvedState(StateContext context, ITinyMessengerHub messengerHub, ILogger logger, IRubiksCube rubiksCube,
                    TimeSpan timeToSolve) : base(context, messengerHub, logger, rubiksCube)
 {
     screen = new EndGameScreen(timeToSolve, this);
 }
Ejemplo n.º 50
0
 public ApplicationController(IContainer container, ITinyMessengerHub messengerHub)
 {
     _container    = container;
     _messengerHub = messengerHub;
 }
Ejemplo n.º 51
0
 static ServiceLocator() 
 {
    Messenger = new TinyMessengerHub();
 }
Ejemplo n.º 52
0
 protected virtual void Initialize()
 {
     _hub = TinyIoCContainer.Current.Resolve <ITinyMessengerHub>();
     _hub.Subscribe <DonateMessage>(m => Donate());
 }
Ejemplo n.º 53
0
 protected virtual void Initialize()
 {
     var container = TinyIoCContainer.Current;
     _hub = container.Resolve<ITinyMessengerHub>();
     _hub.Subscribe<FilesMessage>(m =>
     {
         _details = m.Details;
         _filesController.TableView.ReloadData();
         _filesController.TableView.SetContentOffset(PointF.Empty, false);
         _navigationController.PushViewController(_filesController, true);
     });
 }
 public RequestBrowseGenres(ITinyMessengerHub hub, ILibraryApiAdapter adapter)
 {
     _hub     = hub;
     _adapter = adapter;
 }
Ejemplo n.º 55
0
 public RequestRating(ITinyMessengerHub hub, ITrackApiAdapter apiAdapter)
 {
     _hub        = hub;
     _apiAdapter = apiAdapter;
 }
Ejemplo n.º 56
0
 public RequestPlayerOutputSwitch(IOutputApiAdapter apiAdapter, ITinyMessengerHub hub)
 {
     _apiAdapter = apiAdapter;
     _hub        = hub;
 }
Ejemplo n.º 57
0
 protected virtual void Initialize()
 {
     _hub = TinyIoCContainer.Current.Resolve<ITinyMessengerHub>();
     _hub.Subscribe<DonateMessage>(m => Donate());
 }
Ejemplo n.º 58
0
 public RequestCurrentPosition(ITinyMessengerHub hub, ITrackApiAdapter apiAdapter)
 {
     _hub        = hub;
     _apiAdapter = apiAdapter;
 }
Ejemplo n.º 59
0
        protected override void OnCreate(Bundle bundle)
        {
            Console.WriteLine("LockScreenActivity - OnCreate");
            base.OnCreate(bundle);

            _playerService = Bootstrapper.GetContainer().Resolve<IPlayerService>();
            _messengerHub = Bootstrapper.GetContainer().Resolve<ITinyMessengerHub>();

            // Create bitmap cache
            int maxMemory = (int)(Runtime.GetRuntime().MaxMemory() / 1024);
            int cacheSize = maxMemory / 16;
            _bitmapCache = new BitmapCache(null, cacheSize, 800, 800);

            // Create layout and get controls
            _navigationManager = Bootstrapper.GetContainer().Resolve<MobileNavigationManager>();
            SetContentView(Resource.Layout.LockScreen);
            _lblArtistName = FindViewById<TextView>(Resource.Id.lockScreen_lblArtistName);
            _lblAlbumTitle = FindViewById<TextView>(Resource.Id.lockScreen_lblAlbumTitle);
            _lblSongTitle = FindViewById<TextView>(Resource.Id.lockScreen_lblSongTitle);
            _lblPosition = FindViewById<TextView>(Resource.Id.lockScreen_lblPosition);
            _lblLength = FindViewById<TextView>(Resource.Id.lockScreen_lblLength);
            _btnPrevious = FindViewById<ImageButton>(Resource.Id.lockScreen_btnPrevious);
            _btnPlayPause = FindViewById<ImageButton>(Resource.Id.lockScreen_btnPlayPause);
            _btnNext = FindViewById<ImageButton>(Resource.Id.lockScreen_btnNext);
            _btnShuffle = FindViewById<ImageButton>(Resource.Id.lockScreen_btnShuffle);
            _btnRepeat = FindViewById<ImageButton>(Resource.Id.lockScreen_btnRepeat);
            _btnClose = FindViewById<ImageButton>(Resource.Id.lockScreen_btnClose);
            _btnClose.SetOnTouchListener(this);
            _btnPlayPause.SetOnTouchListener(this);
            _btnPrevious.SetOnTouchListener(this);
            _btnNext.SetOnTouchListener(this);
            _btnRepeat.SetOnTouchListener(this);
            _btnShuffle.SetOnTouchListener(this);

            _imageAlbum = FindViewById<ImageView>(Resource.Id.lockScreen_imageAlbum);
            _seekBar = FindViewById<SeekBar>(Resource.Id.lockScreen_seekBar);
            _seekBar.StartTrackingTouch += SeekBarOnStartTrackingTouch;
            _seekBar.StopTrackingTouch += SeekBarOnStopTrackingTouch;
            _seekBar.ProgressChanged += SeekBarOnProgressChanged;

            _btnClose.Click += (sender, args) => Finish();
            _btnPrevious.Click += (sender, args) => OnPlayerPrevious();
            _btnPlayPause.Click += (sender, args) => OnPlayerPlayPause();
            _btnNext.Click += (sender, args) => OnPlayerNext();
            _btnShuffle.Click += (sender, args) => OnPlayerShuffle();
            _btnRepeat.Click += (sender, args) => OnPlayerRepeat();
            //_btnPlaylist.Click += (sender, args) => {
            //    Intent intent = new Intent(this, typeof (PlaylistActivity));
            //    intent.AddFlags(ActivityFlags.ClearTop | ActivityFlags.SingleTop);
            //    StartActivity(intent);
            //};

            _timerSongPosition = new Timer();
            _timerSongPosition.Interval = 100;
            _timerSongPosition.Elapsed += (sender, args) => {
                if (_isPositionChanging)
                    return;

                RunOnUiThread(() => {
                    try
                    {
                        var position = _playerService.GetPosition();
                        //Console.WriteLine("LockScreenActivity - timerSongPosition - position: {0}", position);
                        _lblPosition.Text = position.Position;
                        float percentage = ((float)position.PositionBytes / (float)_playerService.CurrentPlaylistItem.LengthBytes) * 10000f;
                        _seekBar.Progress = (int)percentage;
                    }
                    catch
                    {
                        // Just ignore exception. It's not really worth it to start/stop the timer when the player is playing.
                        // TODO: In fact reuse the last position instead of returning 0.
                        _lblPosition.Text = "0:00.000";
                        _seekBar.Progress = 0;
                    }
                });
            };
            _timerSongPosition.Start();

            // Since the onViewReady action could not be added to an intent, tell the NavMgr the view is ready
            ((AndroidNavigationManager)_navigationManager).SetLockScreenActivityInstance(this);
        }
Ejemplo n.º 60
0
 public RequestOutputDeviceList(IOutputApiAdapter apiAdapter, ITinyMessengerHub hub)
 {
     _apiAdapter = apiAdapter;
     _hub        = hub;
 }