Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package {
- import flash.desktop.NativeApplication;
- import flash.desktop.SystemIdleMode;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.events.InvokeEvent;
- import flash.system.System;
- import flash.utils.*;
- import mx.utils.ObjectUtil;
- import qnx.display.IowWindow;
- import qnx.events.QNXApplicationEvent;
- import qnx.events.DeviceBatteryEvent;
- import qnx.events.IowWindowSnapshotEvent;
- import qnx.events.IowWindowEvent;
- import qnx.system.Device;
- import qnx.system.DeviceBatteryState;
- import qnx.system.QNXApplication;
- import qnx.system.QNXSystem;
- import qnx.events.QNXSystemEvent;
- import qnx.system.QNXSystemPowerMode;
- import qnx.system.QNXSystemResource;
- import qnx.system.QNXSystemState;
- import qnx.ui.text.Label;
- [SWF(backgroundColor="#cccccc", frameRate="5")]
- public class PowerModeTest extends Sprite {
- public var label:Label;
- public var win:IowWindow;
- public function PowerModeTest()
- {
- label = new Label();
- label.multiline = true;
- label.width = 600;
- label.height = 300;
- label.text = "test";
- addChild(label);
- addEventListener(Event.ACTIVATE, onEvent);
- addEventListener(Event.DEACTIVATE, onEvent);
- //~ QNXSystem.system.powerMode = QNXSystemPowerMode.STANDBY;
- QNXSystem.system.addEventListener(QNXSystemEvent.ACTIVE, onSystemEvent);
- QNXSystem.system.addEventListener(QNXSystemEvent.STANDBY, onSystemEvent);
- QNXSystem.system.addEventListener(QNXSystemEvent.ALARM, onSystemEvent);
- QNXSystem.system.setAlarm(5000, true);
- Device.device.addEventListener(DeviceBatteryEvent.STATE_CHANGE, onStateChange);
- Device.device.addEventListener(DeviceBatteryEvent.LEVEL_CHANGE, onLevelChange);
- QNXApplication.qnxApplication.addEventListener(QNXApplicationEvent.SWIPE_DOWN, onEvent);
- QNXApplication.qnxApplication.addEventListener(QNXApplicationEvent.LOW_MEMORY, onLowMemory);
- //~ trace('app: files', ObjectUtil.toString(QNXApplication.supportedFileTypes));
- NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, onInvoke);
- NativeApplication.nativeApplication.addEventListener(Event.EXITING, onEvent);
- NativeApplication.nativeApplication.addEventListener(Event.USER_IDLE, onEvent);
- NativeApplication.nativeApplication.addEventListener(Event.USER_PRESENT, onEvent);
- NativeApplication.nativeApplication.addEventListener(Event.NETWORK_CHANGE, onEvent);
- addEventListener(Event.ENTER_FRAME, onEnterFrame);
- trace('idle', NativeApplication.nativeApplication.systemIdleMode);
- //~ NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.KEEP_AWAKE;
- trace('idle now ', NativeApplication.nativeApplication.systemIdleMode);
- trace('idle thresh', NativeApplication.nativeApplication.idleThreshold, 'now', 45);
- trace('last input', NativeApplication.nativeApplication.timeSinceLastUserInput);
- NativeApplication.nativeApplication.idleThreshold = 45;
- win = IowWindow.getAirWindow();
- trace('win: alpha', win.alpha, 'effect', win.effect, 'idleMode', win.idleMode, 'own', win.ownWindow);
- trace('win: numBuffers', win.numBuffers, 'rotation', win.rotation, 'sensitivity', win.sensitivity);
- trace('win: state', win.state, 'swapInterval', win.swapInterval, 'visible', win.visible, 'zOrder', win.zOrder);
- trace('win: pid', win.pid);
- win.addEventListener(IowWindowSnapshotEvent.SNAPSHOT_CREATED, onEvent);
- win.addEventListener(IowWindowSnapshotEvent.SNAPSHOT_FAILED, onEvent);
- win.addEventListener(IowWindowEvent.WINDOW_CREATED, onWinEvent);
- win.addEventListener(IowWindowEvent.WINDOW_DESTROYED, onWinEvent);
- win.addEventListener(IowWindowEvent.WINDOW_STATE_CHANGED, onWinEvent);
- win.addEventListener(IowWindowEvent.WINDOW_VISIBILITY_CHANGED, onWinEvent);
- setInterval(onPeriodic, 7000);
- }
- public var count:int;
- public var lastState:String;
- public function onEnterFrame(e:Event):void {
- count++;
- var state:String = QNXSystem.system.powerMode + ', ' + stage.frameRate.toString();
- var note:String = count.toString() + ', ' + state;
- if (state != lastState) {
- lastState = state;
- trace("frame", note);
- }
- else if ((count % 5) == 0) {
- trace("frame", count);
- }
- label.text = note;
- //~ if (QNXSystem.system.powerMode != QNXSystemPowerMode.NORMAL) {
- //~ if (((count % 100) == 0) && (QNXSystem.system.powerMode != QNXSystemPowerMode.NORMAL)) {
- //~ QNXSystem.system.powerMode = QNXSystemPowerMode.NORMAL;
- //~ QNXSystem.system.powerMode = QNXSystemPowerMode.THROTTLED;
- //~ }
- }
- public function onWinEvent(e:IowWindowEvent):void {
- trace(getTimer(), ':', e.type, 'state', win.state, 'visible', win.visible);
- }
- public function onEvent(e:Event):void {
- trace(getTimer(), ':', e.type, stage.frameRate);
- }
- public function onPeriodic():void {
- trace(getTimer(), ':', NativeApplication.nativeApplication.timeSinceLastUserInput, 'winstate', win.state,
- 'pmode', QNXSystem.system.powerMode, 'ipmode', QNXSystem.system.inactivePowerMode, 'sysstate', QNXSystem.system.systemState);
- QNXSystem.system.runFrameCycle();
- //~ QNXSystem.system.powerMode = QNXSystemPowerMode.NORMAL;
- //~ QNXSystem.system.powerMode = QNXSystemPowerMode.THROTTLED;
- }
- public function onLowMemory(e:QNXApplicationEvent):void {
- trace(getTimer(), ':', e.type, System.freeMemory, System.privateMemory,
- System.totalMemory, System.totalMemoryNumber);
- }
- public function onInvoke(e:InvokeEvent):void {
- trace(getTimer(), ':', e.type, stage.frameRate, QNXSystem.system.powerMode, QNXSystem.system.inactivePowerMode);
- }
- public function onSystemEvent(e:QNXSystemEvent):void {
- trace(getTimer(), ':', e.type, QNXSystem.system.powerMode, 'state', QNXSystem.system.systemState);
- //~ if (e.type == QNXSystemEvent.ALARM) {
- //~ QNXSystem.system.powerMode = QNXSystemPowerMode.NORMAL;
- //~ QNXSystem.system.powerMode = QNXSystemPowerMode.THROTTLED;
- //~ }
- QNXSystem.system.runFrameCycle();
- }
- public var bat_states:Array = ['unknown', 'full', 'charging', 'unplugged'];
- public function onStateChange(e:DeviceBatteryEvent):void {
- trace(getTimer(), ':', e.type, Device.device.batteryState);
- }
- public function onLevelChange(e:DeviceBatteryEvent):void {
- trace(getTimer(), ':', e.type, Device.device.batteryLevel);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment