Inheritance: IDisplayRequest
示例#1
0
        private async void Manage(bool active)
        {
#if DEBUG
            return;
#endif

            if (displayRequest == null)
            {
                displayRequest = new Windows.System.Display.DisplayRequest();
            }

            try
            {
                if (active)
                {
                    //if (!_displayRequestedActive) return;
                    displayRequest.RequestActive();
                    //_displayRequestedActive = true;
                }
                else
                {
                    //if (_displayRequestedActive) 

                    displayRequest.RequestRelease();
                    //_displayRequestedActive = false;
                }
            }
            catch (Exception)
            {

            }
        }
        public ControlPage()
        {
            this.InitializeComponent();

            turn = Turn.none;
            direction = Direction.none;

            accelerometer = App.accelerometer;
            bluetooth = App.bluetooth;
            arduino = App.arduino;

            if( accelerometer == null || bluetooth == null || arduino == null )
            {
                Frame.Navigate( typeof( MainPage ) );
                return;
            }

            startButton.IsEnabled = true;
            stopButton.IsEnabled = true;
            disconnectButton.IsEnabled = true;

            bluetooth.ConnectionLost += Bluetooth_ConnectionLost;

            keepScreenOnRequest = new DisplayRequest();
            keepScreenOnRequest.RequestActive();

            App.arduino.pinMode( LR_DIRECTION_CONTROL_PIN, PinMode.OUTPUT );
            App.arduino.pinMode( FB_DIRECTION_CONTROL_PIN, PinMode.OUTPUT );
            App.arduino.pinMode( LR_MOTOR_CONTROL_PIN, PinMode.PWM );
            App.arduino.pinMode( FB_MOTOR_CONTROL_PIN, PinMode.PWM );

            App.arduino.pinMode(HEARTBEAT_LED_PIN, PinMode.OUTPUT);
        }
示例#3
0
        public bool TrySetLockScreenState(bool @lock)
        {
            if (_displayRequest == null)
            {
                _displayRequest = new DisplayRequest();
            }

            try
            {
                if (!new DeviceHelper().IsRunningOnEmulator)
                {
                    if (@lock)
                    {
                        _displayRequest.RequestActive();
                    }
                    else
                    {
                        _displayRequest.RequestRelease();
                    }

                    return true;
                }
            }
            catch (Exception err)
            {
                //new TelemetryClient().TrackException(err);
            }

            return false;
        }
        public ControlPageMaisto()
        {
            this.InitializeComponent();

            turn = Turn.none;
            direction = Direction.none;

            accelerometer = App.accelerometer;
            bluetooth = App.bluetooth;
            arduino = App.arduino;

            if( accelerometer == null || bluetooth == null || arduino == null )
            {
                Frame.Navigate( typeof( MainPage ) );
                return;
            }

            startButton.IsEnabled = true;
            stopButton.IsEnabled = true;
            disconnectButton.IsEnabled = true;

            bluetooth.ConnectionLost += Bluetooth_ConnectionLost;

            keepScreenOnRequest = new DisplayRequest();
            keepScreenOnRequest.RequestActive();

            App.arduino.pinMode( FORWARD_CONTROL_PIN, PinMode.OUTPUT );
            App.arduino.pinMode( REVERSE_CONTROL_PIN, PinMode.OUTPUT );
            App.arduino.pinMode( LEFT_CONTROL_PIN, PinMode.OUTPUT );
            App.arduino.pinMode( RIGHT_CONTROL_PIN, PinMode.OUTPUT );
        }
        public ControlPage()
        {
            this.InitializeComponent();

            turn = Turn.none;
            direction = Direction.none;

            accelerometer = App.accelerometer;
            bluetooth = App.bluetooth;
            arduino = App.arduino;

            if (accelerometer == null || bluetooth == null || arduino == null)
            {
                Frame.Navigate(typeof(MainPage));
                return;
            }

            startButton.IsEnabled = true;
            stopButton.IsEnabled = true;
            disconnectButton.IsEnabled = true;

            keepScreenOnRequest = new DisplayRequest();
            keepScreenOnRequest.RequestActive();

            App.arduino.pinMode(enableA, PinMode.OUTPUT);
            App.arduino.pinMode(MotorA1, PinMode.OUTPUT);
            App.arduino.pinMode(MotorA2, PinMode.OUTPUT);

            App.arduino.pinMode(enableB, PinMode.OUTPUT);
            App.arduino.pinMode(MotorB1, PinMode.OUTPUT);
            App.arduino.pinMode(MotorB2, PinMode.OUTPUT);

            arduino.digitalWrite(enableA, PinState.HIGH);
            arduino.digitalWrite(enableB, PinState.HIGH);
        }
示例#6
0
        /// <summary>
        /// Sets up the application and initializes the camera.
        /// </summary>
        public async void Setup(CaptureElement captureElement)
        {
            Windows.System.Display.DisplayRequest _displayRequest = null;
            //create the request instance if needed
            if (_displayRequest == null)
            {
                _displayRequest = new Windows.System.Display.DisplayRequest();
            }

            //make request to put in active state
            _displayRequest.RequestActive();



            StorageFolder storageFolder = ApplicationData.Current.LocalFolder;

            if (await FileExists("config.json"))
            {
                StorageFile sampleFile = await storageFolder.GetFileAsync("config.json");

                string file = await FileIO.ReadTextAsync(sampleFile);

                ConfigurationSettings = JsonConvert.DeserializeObject <ConfigModel>(file);
            }
            else
            {
                StorageFile sampleFile = await storageFolder.CreateFileAsync("config.json", CreationCollisionOption.ReplaceExisting);

                string settingsJson = "{\"smtpSettings\":{\"smtpRelay\":\"\",\"smtpPort\":465,\"useSSL\":true,\"smtpUserName\":\"\",\"smtpPassword\":\"\",\"recipient\":\"\",},\"appConfig\":{\"sendEmails\":false,\"captureDelay\":500,\"alertDelay\":2,\"alertThreshold\":2,\"pixelDelta\":.3,\"imageDelta\":7,}}";
                await FileIO.WriteTextAsync(sampleFile, settingsJson);

                ConfigurationSettings = JsonConvert.DeserializeObject <ConfigModel>(settingsJson);
            }

            Sensitivity = ConfigurationSettings.AppConfig.ImageDelta;

            ConfigurationSettings.SmtpSettings.PropertyChanged += SmtpSettings_PropertyChanged;

            await MediaCaptureElement.InitializeAsync();

            try
            {
                captureElement.Source = MediaCaptureElement;
            }
            catch (Exception)
            {
            }

            displayRequest.RequestActive();

            await MediaCaptureElement.StartPreviewAsync();

            baselineTimer.Interval = new TimeSpan(0, 0, 10);
            baselineTimer.Tick    += OnBaselineTimerTick;
            baselineTimer.Start();

            captureTimer.Interval = new TimeSpan(0, 0, 0, 0, ConfigurationSettings.AppConfig.CaptureDelay);
            captureTimer.Tick    += OnCaptureTimerTick;
        }
 DisplayRequest GetDisplayRequest()
 {
     if (displayRequest == null)
     {
         displayRequest = new DisplayRequest();
     }
     return displayRequest;
 }
 protected override void OnNavigatedFrom(NavigationEventArgs e)
 {
     if (dispRequest!=null)
     {
         dispRequest = null;
     }
     DisplayInformation.AutoRotationPreferences =  DisplayOrientations.None;
 }
 private void ToggleButton_Checked(object sender, RoutedEventArgs e)
 {
     if (preventDim == null)
     {
         preventDim = new DisplayRequest();
         preventDim.RequestActive();
     }
 }
示例#10
0
        public App()
        {
            InitializeComponent();

            // Forces the display to stay on while we play
            DisplayRequest = new DisplayRequest();
            DisplayRequest.RequestActive();            
        }
 private void ToggleButton_Unchecked(object sender, RoutedEventArgs e)
 {
     if (preventDim != null)
     {
         preventDim.RequestRelease();
         preventDim = null;
     }
 }
 private void Deactivate()
 {
     if (IsActive)
     {
         GetDisplayRequest().RequestRelease();
         IsActive = false;
         displayRequest = null;
     }
 }
		public static void UserIdleDetectionMode(IdleDetectionModeHelper argument)
		{
			DisplayRequest displayRequest = new DisplayRequest();
			if (argument == IdleDetectionModeHelper.Enabled)

				displayRequest.RequestRelease();
			else
				displayRequest.RequestActive();
		}
示例#14
0
        public PlayerView()
        {
            this.InitializeComponent();

            this.MediaElement.MediaFailed += OnMediaFailed;
            this.MediaElement.MediaEnded += OnMediaEnded;
			
			_displayRequest = new DisplayRequest();
        }
示例#15
0
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     if (dRequest == null)
     {
         //disables display timeout
         dRequest = new DisplayRequest();
         dRequest.RequestActive();
     }
 }
        public MainPage()
        {
            this.InitializeComponent();

            keepScreenOnRequest = new DisplayRequest();
            keepScreenOnRequest.RequestActive();

            Initialize();
        }
        public VideoProcessing()
        {
            this.InitializeComponent();
            //captureUI = new CameraCaptureUI();
            //captureUI.VideoSettings.Format = CameraCaptureUIVideoFormat.Mp4;
            //mediaComposition = new MediaComposition();
            displayRequest = new DisplayRequest();


        }
示例#18
0
        public MainPage()
        {
            this.InitializeComponent();

            // don't lock screen
            DisplayRequest request = new DisplayRequest();
            request.RequestActive();

            initWatcher();
            initPublisher();
        }
示例#19
0
        private async Task<bool> StartPlayTo()
        {
            try
            {
                this.dispatcher = Window.Current.CoreWindow.Dispatcher;

                if (this.receiver == null)
                {
                    this.receiver = new PlayToReceiver();
                }

                // Add Play To Receiver events and properties
                this.receiver.CurrentTimeChangeRequested += this.receiver_CurrentTimeChangeRequested;
                this.receiver.MuteChangeRequested += this.receiver_MuteChangeRequested;
                this.receiver.PauseRequested += this.receiver_PauseRequested;
                this.receiver.PlaybackRateChangeRequested += this.receiver_PlaybackRateChangeRequested;
                this.receiver.PlayRequested += this.receiver_PlayRequested;
                this.receiver.SourceChangeRequested += this.receiver_SourceChangeRequested;
                this.receiver.StopRequested += this.receiver_StopRequested;
                this.receiver.TimeUpdateRequested += this.receiver_TimeUpdateRequested;
                this.receiver.VolumeChangeRequested += this.receiver_VolumeChangeRequested;

                this.receiver.FriendlyName = "Advanced XAML PlayTo";
                this.receiver.SupportsAudio = true;
                this.receiver.SupportsVideo = true;
                this.receiver.SupportsImage = true;

                // Add MediaElement events
                this.VideoPlayer.CurrentStateChanged += this.VideoPlayer_CurrentStateChanged;
                this.VideoPlayer.MediaEnded += this.VideoPlayer_MediaEnded;
                this.VideoPlayer.MediaFailed += this.VideoPlayer_MediaFailed;
                this.VideoPlayer.MediaOpened += this.VideoPlayer_MediaOpened;
                this.VideoPlayer.RateChanged += this.VideoPlayer_RateChanged;
                this.VideoPlayer.SeekCompleted += this.VideoPlayer_SeekCompleted;
                this.VideoPlayer.VolumeChanged += this.VideoPlayer_VolumeChanged;

                // Advertise the receiver on the local network and start receiving commands
                await this.receiver.StartAsync();

                // Prevent the screen from locking
                if (this.display == null)
                {
                    this.display = new DisplayRequest();
                }
                this.display.RequestActive();

                return true;
            }
            catch
            {
                this.receiver = null;
                return false;
            }
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            geolocator = new Geolocator();
            path = new Path();
            geolocator.ReportInterval = 500;
            geolocator.DesiredAccuracy = PositionAccuracy.High;
            geolocator.StatusChanged += geolocator_StatusChanged;

            request = new DisplayRequest();
            request.RequestActive();
        }
        public MainPage()
        {
            this.InitializeComponent();
            Loaded += (e, a) =>
            {
                if(_keepScreenOnRequest == null)
                    _keepScreenOnRequest = new DisplayRequest();

                _keepScreenOnRequest.RequestActive();

            };
        }
示例#22
0
        public override void Initialize()
        {
            base.Initialize();

            this.Adapter.SupportedOrientations = DisplayOrientation.LandscapeLeft | DisplayOrientation.LandscapeRight;

            this.displayRequest = new DisplayRequest();
            this.displayRequest.RequestActive();

            this.game = new OrbitRabbits.Game();
            this.game.Initialize(this);
        }
 public static void RequestActive()
 {
     try
     {
         if (_displayRequest == null)
         {
             _displayRequest = new DisplayRequest();
             _displayRequest.RequestActive();
         }
     }
     catch (Exception)
     {
         //
     }
 }
 public static void RequestRelease()
 {
     try
     {
         if (_displayRequest != null)
         {
             _displayRequest.RequestRelease();
             _displayRequest = null;
         }
     }
     catch (Exception)
     {
         //
     }
 }
        /// <summary>
        /// Activates or desactivates the auto sleep mode. True to activate it (default), False to deactivate it.
        /// Use with caution: if you deactivated auto sleep you will need to reactivate it.
        /// DoWithoutSleep and DoWithoutSleepAsync methods are preferred since they automatically resume auto sleep.
        /// </summary>
        /// <param name="activateAutoSleepMode">If set to <c>true</c> activates auto sleep mode.</param>
        public override void ActivateAutoSleepMode(bool activateAutoSleepMode)
        {
            if (_displayRequest == null)
            {
                _displayRequest = new Windows.System.Display.DisplayRequest();
            }

            if (activateAutoSleepMode)
            {
                _displayRequest.RequestRelease();
            }
            else
            {
                _displayRequest.RequestActive();
            }
        }
        async void wvListener_ScriptNotify(object sender, NotifyEventArgs e)
        {
            String newURL = e.Value;
            if (newURL.IndexOf("URL:") == 0)
            {
                Debug.WriteLine("[wvListener_ScriptNotify] " + newURL);
                wvMain.Navigate(new Uri(newURL.Substring(4)));
            }

            if (dRequest != null) {
                dRequest.RequestActive();
            } else {
                dRequest = new DisplayRequest();
                dRequest.RequestActive();
            }
        }
示例#27
0
        /// <summary>
        /// Activates or desactivates the auto sleep mode. True to activate it (default), False to deactivate it.
        /// Use with caution: if you deactivated auto sleep you will need to reactivate it.
        /// DoWithoutSleep and DoWithoutSleepAsync methods are preferred since they automatically resume auto sleep.
        /// </summary>
        /// <param name="activateAutoSleepMode">If set to <c>true</c> activates auto sleep mode.</param>
        public override void ActivateAutoSleepMode(bool activateAutoSleepMode)
        {
            if (_displayRequest == null)
            {
                _displayRequest = new Windows.System.Display.DisplayRequest();
            }

            if (activateAutoSleepMode)
            {
                _displayRequest.RequestRelease();
            }
            else
            {
                _displayRequest.RequestActive();
            }
        }
示例#28
0
        private void UpdateLockScreenPrevention(MediaElementState currentState)
        {
            if (currentState != MediaElementState.Playing)
            {
                if (_request == null) return;

                _request.RequestRelease();
                _request = null;
                return;
            }

            if (_request != null) return;

            _request = new DisplayRequest();
            _request.RequestActive();
        }
示例#29
0
        public App()
        {
            InitializeComponent();

#if DEBUG
            // Init logger
            Logger.SetLogger(new ConsoleLogger(LogLevel.Info));
#endif            
            
            // Init HockeySDK
            if (!string.IsNullOrEmpty(ApplicationKeys.HockeyAppToken))
                HockeyClient.Current.Configure(ApplicationKeys.HockeyAppToken);

            // Forces the display to stay on while we play
            DisplayRequest = new DisplayRequest();
            DisplayRequest.RequestActive();                            
        }
示例#30
0
    // Use this for initialization
    void Start()
    {
        if (PreventDeviceFromSleeping)
        {
            Screen.sleepTimeout = SleepTimeout.NeverSleep;

#if ENABLE_WINMD_SUPPORT
            //create the request instance if needed
                        if (_displayRequest == null)
            {
                         _displayRequest = new Windows.System.Display.DisplayRequest();
            }
             
                 //make request to put in active state
                 _displayRequest.RequestActive();
#endif
        }
    }
        /// <summary>
        /// 發出不關閉螢幕的請求
        /// </summary>
        private void RequestDisplayActive()
        {
            try
            {
                if (DisplayRequest == null)
                {
                    DisplayRequest = new DisplayRequest();
                }

                DisplayRequest.RequestActive();
            }
            catch (InvalidOperationException)
            {
            }
            catch (Exception ex)
            {
            }
        }
示例#32
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            KeepScreenOnRequest = new DisplayRequest();
            KeepScreenOnRequest.RequestActive();

            Guid gameId = (Guid)e.Parameter;

            GetGame(gameId);

            LoadSettings();

            var accessStatus = await Geolocator.RequestAccessAsync();

            switch (accessStatus)
            {
                case GeolocationAccessStatus.Allowed:

                    InitializeGeolocator();

                    TargetPosition = new Geopoint(new BasicGeoposition() { Latitude = Game.TargetLatitude, Longitude = Game.TargetLongitude });

                    progressBar.Maximum = UpdateIntervalInSeconds;
                    progressBar.Value = UpdateIntervalInSeconds;

                    DispatcherTimer dispatcherTimer = new DispatcherTimer();
                    dispatcherTimer.Tick += updateProgress;
                    dispatcherTimer.Interval = new TimeSpan(0, 0, 1);
                    dispatcherTimer.Start();

                    break;

                case GeolocationAccessStatus.Denied:
                    break;

                case GeolocationAccessStatus.Unspecified:
                    break;

                default:
                    break;
            }


        }
 protected async override void OnNavigatedTo(NavigationEventArgs e)
 {
     url = e.Parameter as string;
     if (dispRequest == null)
     {
         // 用户观看视频,需要保持屏幕的点亮状态
         dispRequest = new DisplayRequest();
         dispRequest.RequestActive(); // 激活显示请求
     }
     DisplayInformation.AutoRotationPreferences = (DisplayOrientations)5;
     string urls=await GetDiliVideoUri(url);
     if (urls!=string.Empty)
     {
         mediaElment.Source = new Uri(urls);
     }
     else
     {
         await new MessageDialog("读取地址失败").ShowAsync();
     }
 }