peter9477

test various random bits of QNX APIs and such

Sep 5th, 2011
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package {
  2.     import flash.desktop.NativeApplication;
  3.     import flash.desktop.SystemIdleMode;
  4.     import flash.display.Sprite;
  5.     import flash.events.Event;
  6.     import flash.events.InvokeEvent;
  7.     import flash.system.System;
  8.     import flash.utils.*;
  9.  
  10.     import mx.utils.ObjectUtil;
  11.  
  12.     import qnx.display.IowWindow;
  13.  
  14.     import qnx.events.QNXApplicationEvent;
  15.     import qnx.events.DeviceBatteryEvent;
  16.     import qnx.events.IowWindowSnapshotEvent;
  17.     import qnx.events.IowWindowEvent;
  18.  
  19.     import qnx.system.Device;
  20.     import qnx.system.DeviceBatteryState;
  21.     import qnx.system.QNXApplication;
  22.     import qnx.system.QNXSystem;
  23.     import qnx.events.QNXSystemEvent;
  24.     import qnx.system.QNXSystemPowerMode;
  25.     import qnx.system.QNXSystemResource;
  26.     import qnx.system.QNXSystemState;
  27.  
  28.     import qnx.ui.text.Label;
  29.  
  30.  
  31.     [SWF(backgroundColor="#cccccc", frameRate="5")]
  32.     public class PowerModeTest extends Sprite {
  33.         public var label:Label;
  34.         public var win:IowWindow;
  35.  
  36.         public function PowerModeTest()
  37.         {
  38.             label = new Label();
  39.             label.multiline = true;
  40.             label.width = 600;
  41.             label.height = 300;
  42.             label.text = "test";
  43.  
  44.             addChild(label);
  45.  
  46.             addEventListener(Event.ACTIVATE, onEvent);
  47.             addEventListener(Event.DEACTIVATE, onEvent);
  48.  
  49.             //~ QNXSystem.system.powerMode = QNXSystemPowerMode.STANDBY;
  50.  
  51.             QNXSystem.system.addEventListener(QNXSystemEvent.ACTIVE, onSystemEvent);
  52.             QNXSystem.system.addEventListener(QNXSystemEvent.STANDBY, onSystemEvent);
  53.             QNXSystem.system.addEventListener(QNXSystemEvent.ALARM, onSystemEvent);
  54.             QNXSystem.system.setAlarm(5000, true);
  55.  
  56.             Device.device.addEventListener(DeviceBatteryEvent.STATE_CHANGE, onStateChange);
  57.             Device.device.addEventListener(DeviceBatteryEvent.LEVEL_CHANGE, onLevelChange);
  58.  
  59.             QNXApplication.qnxApplication.addEventListener(QNXApplicationEvent.SWIPE_DOWN, onEvent);
  60.             QNXApplication.qnxApplication.addEventListener(QNXApplicationEvent.LOW_MEMORY, onLowMemory);
  61.             //~ trace('app: files', ObjectUtil.toString(QNXApplication.supportedFileTypes));
  62.  
  63.             NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, onInvoke);
  64.             NativeApplication.nativeApplication.addEventListener(Event.EXITING, onEvent);
  65.             NativeApplication.nativeApplication.addEventListener(Event.USER_IDLE, onEvent);
  66.             NativeApplication.nativeApplication.addEventListener(Event.USER_PRESENT, onEvent);
  67.             NativeApplication.nativeApplication.addEventListener(Event.NETWORK_CHANGE, onEvent);
  68.  
  69.             addEventListener(Event.ENTER_FRAME, onEnterFrame);
  70.  
  71.             trace('idle', NativeApplication.nativeApplication.systemIdleMode);
  72.             //~ NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.KEEP_AWAKE;
  73.             trace('idle now ', NativeApplication.nativeApplication.systemIdleMode);
  74.             trace('idle thresh', NativeApplication.nativeApplication.idleThreshold, 'now', 45);
  75.             trace('last input', NativeApplication.nativeApplication.timeSinceLastUserInput);
  76.             NativeApplication.nativeApplication.idleThreshold = 45;
  77.  
  78.             win = IowWindow.getAirWindow();
  79.             trace('win: alpha', win.alpha, 'effect', win.effect, 'idleMode', win.idleMode, 'own', win.ownWindow);
  80.             trace('win: numBuffers', win.numBuffers, 'rotation', win.rotation, 'sensitivity', win.sensitivity);
  81.             trace('win: state', win.state, 'swapInterval', win.swapInterval, 'visible', win.visible, 'zOrder', win.zOrder);
  82.             trace('win: pid', win.pid);
  83.             win.addEventListener(IowWindowSnapshotEvent.SNAPSHOT_CREATED, onEvent);
  84.             win.addEventListener(IowWindowSnapshotEvent.SNAPSHOT_FAILED, onEvent);
  85.             win.addEventListener(IowWindowEvent.WINDOW_CREATED, onWinEvent);
  86.             win.addEventListener(IowWindowEvent.WINDOW_DESTROYED, onWinEvent);
  87.             win.addEventListener(IowWindowEvent.WINDOW_STATE_CHANGED, onWinEvent);
  88.             win.addEventListener(IowWindowEvent.WINDOW_VISIBILITY_CHANGED, onWinEvent);
  89.  
  90.             setInterval(onPeriodic, 7000);
  91.         }
  92.  
  93.         public var count:int;
  94.         public var lastState:String;
  95.         public function onEnterFrame(e:Event):void {
  96.             count++;
  97.             var state:String = QNXSystem.system.powerMode + ', ' + stage.frameRate.toString();
  98.             var note:String = count.toString() + ', ' + state;
  99.             if (state != lastState) {
  100.                 lastState = state;
  101.                 trace("frame", note);
  102.             }
  103.             else if ((count % 5) == 0) {
  104.                 trace("frame", count);
  105.             }
  106.  
  107.             label.text = note;
  108.  
  109.             //~ if (QNXSystem.system.powerMode != QNXSystemPowerMode.NORMAL) {
  110.             //~ if (((count % 100) == 0) && (QNXSystem.system.powerMode != QNXSystemPowerMode.NORMAL)) {
  111.                 //~ QNXSystem.system.powerMode = QNXSystemPowerMode.NORMAL;
  112.                 //~ QNXSystem.system.powerMode = QNXSystemPowerMode.THROTTLED;
  113.             //~ }
  114.         }
  115.  
  116.         public function onWinEvent(e:IowWindowEvent):void {
  117.             trace(getTimer(), ':', e.type, 'state', win.state, 'visible', win.visible);
  118.         }
  119.  
  120.         public function onEvent(e:Event):void {
  121.             trace(getTimer(), ':', e.type, stage.frameRate);
  122.         }
  123.  
  124.         public function onPeriodic():void {
  125.             trace(getTimer(), ':', NativeApplication.nativeApplication.timeSinceLastUserInput, 'winstate', win.state,
  126.                 'pmode', QNXSystem.system.powerMode, 'ipmode', QNXSystem.system.inactivePowerMode, 'sysstate', QNXSystem.system.systemState);
  127.             QNXSystem.system.runFrameCycle();
  128.             //~ QNXSystem.system.powerMode = QNXSystemPowerMode.NORMAL;
  129.             //~ QNXSystem.system.powerMode = QNXSystemPowerMode.THROTTLED;
  130.         }
  131.  
  132.         public function onLowMemory(e:QNXApplicationEvent):void {
  133.             trace(getTimer(), ':', e.type, System.freeMemory, System.privateMemory,
  134.                 System.totalMemory, System.totalMemoryNumber);
  135.         }
  136.  
  137.         public function onInvoke(e:InvokeEvent):void {
  138.             trace(getTimer(), ':', e.type, stage.frameRate, QNXSystem.system.powerMode, QNXSystem.system.inactivePowerMode);
  139.         }
  140.  
  141.         public function onSystemEvent(e:QNXSystemEvent):void {
  142.             trace(getTimer(), ':', e.type, QNXSystem.system.powerMode, 'state', QNXSystem.system.systemState);
  143.             //~ if (e.type == QNXSystemEvent.ALARM) {
  144.                 //~ QNXSystem.system.powerMode = QNXSystemPowerMode.NORMAL;
  145.                 //~ QNXSystem.system.powerMode = QNXSystemPowerMode.THROTTLED;
  146.             //~ }
  147.             QNXSystem.system.runFrameCycle();
  148.         }
  149.  
  150.         public var bat_states:Array = ['unknown', 'full', 'charging', 'unplugged'];
  151.         public function onStateChange(e:DeviceBatteryEvent):void {
  152.             trace(getTimer(), ':', e.type, Device.device.batteryState);
  153.         }
  154.  
  155.         public function onLevelChange(e:DeviceBatteryEvent):void {
  156.             trace(getTimer(), ':', e.type, Device.device.batteryLevel);
  157.         }
  158.     }
  159. }
Advertisement
Add Comment
Please, Sign In to add comment