├── README.md ├── VK_Demo.iml ├── anes └── VK-v2.0.0.ane ├── assets ├── Default-568h@2x.png ├── Default@2x.png ├── android │ └── icons │ │ ├── icon100x100.png │ │ ├── icon1024x1024.png │ │ ├── icon114x114.png │ │ ├── icon120x120.png │ │ ├── icon128x128.png │ │ ├── icon144x144.png │ │ ├── icon152x152.png │ │ ├── icon16x16.png │ │ ├── icon29x29.png │ │ ├── icon32x32.png │ │ ├── icon36x36.png │ │ ├── icon40x40.png │ │ ├── icon48x48.png │ │ ├── icon50x50.png │ │ ├── icon512x512.png │ │ ├── icon57x57.png │ │ ├── icon58x58.png │ │ ├── icon72x72.png │ │ ├── icon76x76.png │ │ ├── icon80x80.png │ │ └── icon96x96.png ├── fonts │ ├── SourceSansPro-Regular.ttf │ └── SourceSansPro-Semibold.ttf ├── images │ ├── metalworks │ │ ├── background-disabled-skin.png │ │ ├── background-down-skin.png │ │ ├── background-focused-skin.png │ │ ├── background-inset-skin.png │ │ ├── background-popup-skin.png │ │ ├── background-skin.png │ │ ├── button-back-disabled-skin.png │ │ ├── button-back-down-skin.png │ │ ├── button-back-up-skin.png │ │ ├── button-call-to-action-down-skin.png │ │ ├── button-call-to-action-up-skin.png │ │ ├── button-danger-down-skin.png │ │ ├── button-danger-up-skin.png │ │ ├── button-disabled-skin.png │ │ ├── button-down-skin.png │ │ ├── button-forward-disabled-skin.png │ │ ├── button-forward-down-skin.png │ │ ├── button-forward-up-skin.png │ │ ├── button-selected-disabled-skin.png │ │ ├── button-selected-up-skin.png │ │ ├── button-up-skin.png │ │ ├── callout-arrow-bottom-skin.png │ │ ├── callout-arrow-left-skin.png │ │ ├── callout-arrow-right-skin.png │ │ ├── callout-arrow-top-skin.png │ │ ├── check-selected-disabled-icon.png │ │ ├── check-selected-down-icon.png │ │ ├── check-selected-up-icon.png │ │ ├── header-background-skin.png │ │ ├── horizontal-scroll-bar-thumb-skin.png │ │ ├── list-accessory-drill-down-icon.png │ │ ├── list-inset-item-first-selected-skin.png │ │ ├── list-inset-item-first-up-skin.png │ │ ├── list-inset-item-last-selected-skin.png │ │ ├── list-inset-item-last-up-skin.png │ │ ├── list-inset-item-single-selected-skin.png │ │ ├── list-inset-item-single-up-skin.png │ │ ├── list-item-selected-skin.png │ │ ├── list-item-up-skin.png │ │ ├── page-indicator-normal-skin.png │ │ ├── page-indicator-selected-skin.png │ │ ├── picker-list-icon-disabled.png │ │ ├── picker-list-icon.png │ │ ├── picker-list-item-selected-icon.png │ │ ├── radio-selected-disabled-icon.png │ │ ├── radio-selected-down-icon.png │ │ ├── radio-selected-up-icon.png │ │ ├── search-icon-disabled.png │ │ ├── search-icon.png │ │ ├── tab-down-skin.png │ │ ├── tab-selected-disabled-skin.png │ │ ├── tab-selected-skin.png │ │ └── vertical-scroll-bar-thumb-skin.png │ ├── metalworks_mobile.png │ ├── metalworks_mobile.tps │ └── metalworks_mobile.xml └── ios │ └── icons │ ├── icon100x100.png │ ├── icon1024x1024.png │ ├── icon114x114.png │ ├── icon120x120.png │ ├── icon128x128.png │ ├── icon144x144.png │ ├── icon152x152.png │ ├── icon16x16.png │ ├── icon29x29.png │ ├── icon32x32.png │ ├── icon36x36.png │ ├── icon40x40.png │ ├── icon48x48.png │ ├── icon50x50.png │ ├── icon512x512.png │ ├── icon57x57.png │ ├── icon58x58.png │ ├── icon72x72.png │ ├── icon76x76.png │ ├── icon80x80.png │ └── icon96x96.png ├── libs ├── Feathers 2.1.swc ├── GizmoDuck.swc ├── Robotlegs 2.swc └── Starling 1.6.swc └── src ├── VK_Demo-app.xml ├── VK_Demo.as └── vk ├── configuration └── Configuration.as ├── models └── CapabilitiesModel.as └── views ├── application ├── ApplicationView.as └── interfaces │ └── IApplicationView.as └── screens └── HomeScreenView.as /README.md: -------------------------------------------------------------------------------- 1 | # VK ANE v2.0.0 2 | 3 | PRO Native Extension for Adobe AIR which enables VK social network capabilities 4 | in your apps. 5 | 6 | ## Status 7 | 8 | This demo is fully functional example. You can test ANE functions without any 9 | limitations. If you want it to be running in your application you can purchase 10 | any number of licenses each for up to 3 applications and without any limitations 11 | in time! License server can be found here [http://kavolorn.ru/pro-native-extensions](http://kavolorn.ru/pro-native-extensions). 12 | 13 | ANE supports Android-ARM, Android-x86, iPhone-ARM and iPhone-x86 including x64 14 | bit platforms introduced in Adobe AIR SDK 16. It is build with 16.0.0.292 Adobe 15 | AIR SDK. Repository contains module file for IntelliJ IDEA. 16 | 17 | ## How to run 18 | 19 | The most important thing to keep in mind is that this demo setup is linked with 20 | package id 'ru.kavolorn.ane.VK.Demo'. You can only change this id in your own 21 | license key (where you can have up to 3 ids). 22 | 23 | So let's configure this demo for your own vk application. 24 | 25 | ### Be sure about application id 26 | 27 | Please check if your IDE adds prefix "air." or suffix ".debug" for application ID. 28 | If so, demo won't work. 29 | 30 | See how to disable it [here](https://github.com/kavolorn/VK-ANE/issues/2#issuecomment-86448177). 31 | 32 | ### Application registration process 33 | 34 | Goto [my applications](https://vk.com/apps?act=manage) page and create your 35 | application. After the registration in the options page you can see your vk 36 | application id. Current demo is using 4620596 and you will have your own. 37 | 38 | On the options page fill 3 fields app bundle id for iOS, app id for iOS and 39 | android package name with value 'ru.kavolorn.ane.VK.Demo'. When you will have 40 | your own key you can link your vk app with your own application id. 41 | 42 | Also you should fill certificate fingerprint for Android. We will get this 43 | fingerprint directly from our extension later. 44 | 45 | ### Configuring application descriptor 46 | 47 | Now let's apply our vk application id in application descriptor file 48 | VK_Demo-app.xml. You should change 4620596 number with your own number in this 49 | lines for iOS setup: 50 | 51 | ```xml 52 | CFBundleURLTypes 53 | 54 | 55 | CFBundleURLSchemes 56 | 57 | vk4620596 58 | 59 | 60 | 61 | ``` 62 | 63 | Add this lines if you modifying your own application descriptor. 64 | 65 | Make sure that you have registered activities in your android manifest file: 66 | 67 | ```xml 68 | 69 | 70 | 71 | 72 | 73 | ``` 74 | 75 | ### ActionScript side 76 | 77 | You can check how I use native extension in HomeScreenView.as file. It is the 78 | main file in our project. 79 | 80 | For Android setup you can get you certificate fingerprint by calling this method: 81 | 82 | ```actionscript 83 | trace(VK.getInstance().getCertificateFingerprint()); 84 | ``` 85 | 86 | After that you are able to put value in your vk application options page. 87 | 88 | 89 | ## Requirements 90 | 91 | iOS 7.0+, Android 10+ 92 | 93 | ## Version history 94 | 95 | ### 2.0.0 96 | 97 | - Updated VK iOS SDK to version 1.1.12. 98 | - Added support for native share dialogs for both Android and iOS. 99 | - Reduced binary size. 100 | 101 | Upgrade notes: 102 | 103 | - VK.getInstance().getUserToken() now returns object rather than json string. 104 | - New activity for sharing should be added to manifest. 105 | - Activities are now in different namespace than before. 106 | 107 | ### 1.2.0 108 | 109 | - Updated VK Android SDK to version 1.3.10. 110 | - Added support for for user email extraction. 111 | 112 | ### 1.1.0 113 | 114 | - Improved compatibility with 3rd party extensions on iOS. 115 | 116 | ### 1.0.1 117 | 118 | - Fixed bug that causes offline app crash. 119 | 120 | ### 1.0.0 121 | 122 | - Improved authorization and execution processes. 123 | - Added waking up and logout functionality. 124 | - Added getSdkVersion, getApiVersion and getUserToken methods. 125 | - Added debug information output control. 126 | 127 | ### 0.2.1 128 | 129 | - Minor bugfixes. 130 | 131 | ### 0.2.0 132 | 133 | - Removed time limitation for license. 134 | 135 | ### 0.1.1 136 | 137 | - Fixed initialization bug. 138 | 139 | ### 0.1.0 140 | 141 | - Initial release. 142 | 143 | -------------------------------------------------------------------------------- /VK_Demo.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /anes/VK-v2.0.0.ane: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/anes/VK-v2.0.0.ane -------------------------------------------------------------------------------- /assets/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/Default-568h@2x.png -------------------------------------------------------------------------------- /assets/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/Default@2x.png -------------------------------------------------------------------------------- /assets/android/icons/icon100x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon100x100.png -------------------------------------------------------------------------------- /assets/android/icons/icon1024x1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon1024x1024.png -------------------------------------------------------------------------------- /assets/android/icons/icon114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon114x114.png -------------------------------------------------------------------------------- /assets/android/icons/icon120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon120x120.png -------------------------------------------------------------------------------- /assets/android/icons/icon128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon128x128.png -------------------------------------------------------------------------------- /assets/android/icons/icon144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon144x144.png -------------------------------------------------------------------------------- /assets/android/icons/icon152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon152x152.png -------------------------------------------------------------------------------- /assets/android/icons/icon16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon16x16.png -------------------------------------------------------------------------------- /assets/android/icons/icon29x29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon29x29.png -------------------------------------------------------------------------------- /assets/android/icons/icon32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon32x32.png -------------------------------------------------------------------------------- /assets/android/icons/icon36x36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon36x36.png -------------------------------------------------------------------------------- /assets/android/icons/icon40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon40x40.png -------------------------------------------------------------------------------- /assets/android/icons/icon48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon48x48.png -------------------------------------------------------------------------------- /assets/android/icons/icon50x50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon50x50.png -------------------------------------------------------------------------------- /assets/android/icons/icon512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon512x512.png -------------------------------------------------------------------------------- /assets/android/icons/icon57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon57x57.png -------------------------------------------------------------------------------- /assets/android/icons/icon58x58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon58x58.png -------------------------------------------------------------------------------- /assets/android/icons/icon72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon72x72.png -------------------------------------------------------------------------------- /assets/android/icons/icon76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon76x76.png -------------------------------------------------------------------------------- /assets/android/icons/icon80x80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon80x80.png -------------------------------------------------------------------------------- /assets/android/icons/icon96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/android/icons/icon96x96.png -------------------------------------------------------------------------------- /assets/fonts/SourceSansPro-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/fonts/SourceSansPro-Regular.ttf -------------------------------------------------------------------------------- /assets/fonts/SourceSansPro-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/fonts/SourceSansPro-Semibold.ttf -------------------------------------------------------------------------------- /assets/images/metalworks/background-disabled-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/background-disabled-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/background-down-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/background-down-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/background-focused-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/background-focused-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/background-inset-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/background-inset-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/background-popup-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/background-popup-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/background-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/background-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/button-back-disabled-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/button-back-disabled-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/button-back-down-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/button-back-down-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/button-back-up-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/button-back-up-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/button-call-to-action-down-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/button-call-to-action-down-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/button-call-to-action-up-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/button-call-to-action-up-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/button-danger-down-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/button-danger-down-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/button-danger-up-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/button-danger-up-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/button-disabled-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/button-disabled-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/button-down-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/button-down-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/button-forward-disabled-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/button-forward-disabled-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/button-forward-down-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/button-forward-down-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/button-forward-up-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/button-forward-up-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/button-selected-disabled-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/button-selected-disabled-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/button-selected-up-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/button-selected-up-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/button-up-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/button-up-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/callout-arrow-bottom-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/callout-arrow-bottom-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/callout-arrow-left-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/callout-arrow-left-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/callout-arrow-right-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/callout-arrow-right-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/callout-arrow-top-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/callout-arrow-top-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/check-selected-disabled-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/check-selected-disabled-icon.png -------------------------------------------------------------------------------- /assets/images/metalworks/check-selected-down-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/check-selected-down-icon.png -------------------------------------------------------------------------------- /assets/images/metalworks/check-selected-up-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/check-selected-up-icon.png -------------------------------------------------------------------------------- /assets/images/metalworks/header-background-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/header-background-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/horizontal-scroll-bar-thumb-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/horizontal-scroll-bar-thumb-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/list-accessory-drill-down-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/list-accessory-drill-down-icon.png -------------------------------------------------------------------------------- /assets/images/metalworks/list-inset-item-first-selected-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/list-inset-item-first-selected-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/list-inset-item-first-up-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/list-inset-item-first-up-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/list-inset-item-last-selected-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/list-inset-item-last-selected-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/list-inset-item-last-up-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/list-inset-item-last-up-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/list-inset-item-single-selected-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/list-inset-item-single-selected-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/list-inset-item-single-up-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/list-inset-item-single-up-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/list-item-selected-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/list-item-selected-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/list-item-up-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/list-item-up-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/page-indicator-normal-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/page-indicator-normal-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/page-indicator-selected-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/page-indicator-selected-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/picker-list-icon-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/picker-list-icon-disabled.png -------------------------------------------------------------------------------- /assets/images/metalworks/picker-list-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/picker-list-icon.png -------------------------------------------------------------------------------- /assets/images/metalworks/picker-list-item-selected-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/picker-list-item-selected-icon.png -------------------------------------------------------------------------------- /assets/images/metalworks/radio-selected-disabled-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/radio-selected-disabled-icon.png -------------------------------------------------------------------------------- /assets/images/metalworks/radio-selected-down-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/radio-selected-down-icon.png -------------------------------------------------------------------------------- /assets/images/metalworks/radio-selected-up-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/radio-selected-up-icon.png -------------------------------------------------------------------------------- /assets/images/metalworks/search-icon-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/search-icon-disabled.png -------------------------------------------------------------------------------- /assets/images/metalworks/search-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/search-icon.png -------------------------------------------------------------------------------- /assets/images/metalworks/tab-down-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/tab-down-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/tab-selected-disabled-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/tab-selected-disabled-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/tab-selected-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/tab-selected-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks/vertical-scroll-bar-thumb-skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks/vertical-scroll-bar-thumb-skin.png -------------------------------------------------------------------------------- /assets/images/metalworks_mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/images/metalworks_mobile.png -------------------------------------------------------------------------------- /assets/images/metalworks_mobile.tps: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | fileFormatVersion 5 | 1 6 | variation 7 | main 8 | verbose 9 | 10 | autoSDSettings 11 | 12 | allowRotation 13 | 14 | quiet 15 | 16 | premultiplyAlpha 17 | 18 | shapeDebug 19 | 20 | dpi 21 | 72 22 | dataFormat 23 | sparrow 24 | textureFileName 25 | metalworks_mobile.png 26 | flipPVR 27 | 28 | ditherType 29 | NearestNeighbour 30 | backgroundColor 31 | 0 32 | libGdx 33 | 34 | filtering 35 | 36 | x 37 | Linear 38 | y 39 | Linear 40 | 41 | 42 | shapePadding 43 | 2 44 | jpgQuality 45 | 80 46 | pngOptimizationLevel 47 | 2 48 | textureSubPath 49 | 50 | textureFormat 51 | png 52 | borderPadding 53 | 2 54 | maxTextureSize 55 | 56 | width 57 | 2048 58 | height 59 | 2048 60 | 61 | fixedTextureSize 62 | 63 | width 64 | -1 65 | height 66 | -1 67 | 68 | reduceBorderArtifacts 69 | 70 | algorithmSettings 71 | 72 | algorithm 73 | MaxRects 74 | freeSizeMode 75 | Best 76 | sizeConstraints 77 | POT 78 | forceSquared 79 | 80 | forceWordAligned 81 | 82 | maxRects 83 | 84 | heuristic 85 | Best 86 | 87 | basic 88 | 89 | sortBy 90 | Best 91 | order 92 | Ascending 93 | 94 | 95 | andEngine 96 | 97 | minFilter 98 | Linear 99 | packageName 100 | Texture 101 | javaFileName 102 | metalworks.java 103 | wrap 104 | 105 | s 106 | Clamp 107 | t 108 | Clamp 109 | 110 | magFilter 111 | MagLinear 112 | 113 | dataFileName 114 | metalworks_mobile.xml 115 | mainExtension 116 | 117 | forceIdenticalLayout 118 | 119 | outputFormat 120 | RGBA8888 121 | autoAliasEnabled 122 | 123 | trimSpriteNames 124 | 125 | globalSpriteSettings 126 | 127 | scale 128 | 1 129 | scaleMode 130 | Smooth 131 | innerPadding 132 | 0 133 | extrude 134 | 1 135 | trimThreshold 136 | 1 137 | trimMode 138 | Trim 139 | heuristicMask 140 | 141 | 142 | fileList 143 | 144 | metalworks 145 | 146 | ignoreFileList 147 | 148 | replaceList 149 | 150 | commonDivisorX 151 | 1 152 | commonDivisorY 153 | 1 154 | 155 | 156 | -------------------------------------------------------------------------------- /assets/images/metalworks_mobile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /assets/ios/icons/icon100x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon100x100.png -------------------------------------------------------------------------------- /assets/ios/icons/icon1024x1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon1024x1024.png -------------------------------------------------------------------------------- /assets/ios/icons/icon114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon114x114.png -------------------------------------------------------------------------------- /assets/ios/icons/icon120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon120x120.png -------------------------------------------------------------------------------- /assets/ios/icons/icon128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon128x128.png -------------------------------------------------------------------------------- /assets/ios/icons/icon144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon144x144.png -------------------------------------------------------------------------------- /assets/ios/icons/icon152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon152x152.png -------------------------------------------------------------------------------- /assets/ios/icons/icon16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon16x16.png -------------------------------------------------------------------------------- /assets/ios/icons/icon29x29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon29x29.png -------------------------------------------------------------------------------- /assets/ios/icons/icon32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon32x32.png -------------------------------------------------------------------------------- /assets/ios/icons/icon36x36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon36x36.png -------------------------------------------------------------------------------- /assets/ios/icons/icon40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon40x40.png -------------------------------------------------------------------------------- /assets/ios/icons/icon48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon48x48.png -------------------------------------------------------------------------------- /assets/ios/icons/icon50x50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon50x50.png -------------------------------------------------------------------------------- /assets/ios/icons/icon512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon512x512.png -------------------------------------------------------------------------------- /assets/ios/icons/icon57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon57x57.png -------------------------------------------------------------------------------- /assets/ios/icons/icon58x58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon58x58.png -------------------------------------------------------------------------------- /assets/ios/icons/icon72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon72x72.png -------------------------------------------------------------------------------- /assets/ios/icons/icon76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon76x76.png -------------------------------------------------------------------------------- /assets/ios/icons/icon80x80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon80x80.png -------------------------------------------------------------------------------- /assets/ios/icons/icon96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/assets/ios/icons/icon96x96.png -------------------------------------------------------------------------------- /libs/Feathers 2.1.swc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/libs/Feathers 2.1.swc -------------------------------------------------------------------------------- /libs/GizmoDuck.swc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/libs/GizmoDuck.swc -------------------------------------------------------------------------------- /libs/Robotlegs 2.swc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/libs/Robotlegs 2.swc -------------------------------------------------------------------------------- /libs/Starling 1.6.swc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kavolorn/VK-ANE/3227fc7efd5714a3875f23a84bad3b02a1dd3f08/libs/Starling 1.6.swc -------------------------------------------------------------------------------- /src/VK_Demo-app.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 13 | 15 | ru.kavolorn.ane.VK.Demo 16 | 17 | 18 | VK ANE 19 | 20 | 21 | VK ANE 22 | 23 | 26 | 1.0.0 27 | 28 | 29 | 1.0.0 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | ru.kavolorn.ane.VK 46 | 47 | 48 | 49 | 50 | 51 | VK_Demo.swf 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | true 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | portrait 94 | 95 | 96 | true 97 | 98 | 99 | true 100 | 101 | 102 | direct 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | icons/icon16x16.png 130 | icons/icon29x29.png 131 | icons/icon32x32.png 132 | icons/icon36x36.png 133 | icons/icon40x40.png 134 | icons/icon48x48.png 135 | icons/icon50x50.png 136 | icons/icon57x57.png 137 | icons/icon58x58.png 138 | icons/icon72x72.png 139 | icons/icon76x76.png 140 | icons/icon80x80.png 141 | icons/icon96x96.png 142 | icons/icon100x100.png 143 | icons/icon114x114.png 144 | icons/icon120x120.png 145 | icons/icon128x128.png 146 | icons/icon144x144.png 147 | icons/icon152x152.png 148 | icons/icon512x512.png 149 | 150 | icons/icon1024x1024.png 151 | 152 | 153 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | UIDeviceFamily 188 | 189 | 1 190 | 2 191 | 192 | 193 | 194 | 195 | 196 | CFBundleURLTypes 197 | 198 | 199 | CFBundleURLSchemes 200 | 201 | vk4620596 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | ]]> 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | high 224 | 225 | 226 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | ]]> 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | -------------------------------------------------------------------------------- /src/VK_Demo.as: -------------------------------------------------------------------------------- 1 | package 2 | { 3 | import flash.display.Sprite; 4 | import flash.display.StageAlign; 5 | import flash.display.StageScaleMode; 6 | import flash.events.Event; 7 | import flash.geom.Rectangle; 8 | 9 | import starling.core.Starling; 10 | 11 | import vk.views.application.ApplicationView; 12 | 13 | [SWF(frameRate="60")] 14 | public class VK_Demo extends Sprite 15 | { 16 | private static var _starling:Starling; 17 | 18 | public function VK_Demo() 19 | { 20 | stage.align = StageAlign.TOP_LEFT; 21 | stage.scaleMode = StageScaleMode.NO_SCALE; 22 | mouseEnabled = mouseChildren = false; 23 | 24 | loaderInfo.addEventListener(Event.COMPLETE, completeHandler); 25 | } 26 | 27 | protected function completeHandler(event:Event):void 28 | { 29 | Starling.handleLostContext = true; 30 | Starling.multitouchEnabled = true; 31 | 32 | _starling = new Starling(ApplicationView, stage); 33 | Starling.current.enableErrorChecking = false; 34 | Starling.current.start(); 35 | 36 | this.stage.addEventListener(Event.RESIZE, resizeHandler, false, int.MAX_VALUE, true); 37 | this.stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true); 38 | } 39 | 40 | protected function resizeHandler(event:Event):void 41 | { 42 | Starling.current.stage.stageWidth = stage.stageWidth; 43 | Starling.current.stage.stageHeight = stage.stageHeight; 44 | 45 | const viewPort:Rectangle = Starling.current.viewPort; 46 | viewPort.width = stage.stageWidth; 47 | viewPort.height = stage.stageHeight; 48 | 49 | try 50 | { 51 | Starling.current.viewPort = viewPort; 52 | } 53 | catch (error:Error) 54 | { 55 | } 56 | } 57 | 58 | protected function deactivateHandler(event:Event):void 59 | { 60 | if (stage) 61 | { 62 | Starling.current.stop(true); 63 | stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true); 64 | } 65 | } 66 | 67 | private function activateHandler(event:Event):void 68 | { 69 | if (stage) 70 | { 71 | stage.removeEventListener(Event.ACTIVATE, activateHandler); 72 | Starling.current.start(); 73 | } 74 | } 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /src/vk/configuration/Configuration.as: -------------------------------------------------------------------------------- 1 | package vk.configuration 2 | { 3 | import robotlegs.bender.extensions.eventCommandMap.api.IEventCommandMap; 4 | import robotlegs.bender.framework.api.IConfig; 5 | import robotlegs.bender.framework.api.IInjector; 6 | import robotlegs.gizmoduck.extensions.contextView.ContextView; 7 | import robotlegs.gizmoduck.extensions.mediatorMap.api.IMediatorMap; 8 | 9 | import vk.views.application.interfaces.IApplicationView; 10 | 11 | public class Configuration implements IConfig 12 | { 13 | [Inject] 14 | public var injector:IInjector; 15 | 16 | [Inject] 17 | public var mediatorMap:IMediatorMap; 18 | 19 | [Inject] 20 | public var commandMap:IEventCommandMap; 21 | 22 | [Inject] 23 | public var contextView:ContextView; 24 | 25 | public function configure():void 26 | { 27 | (contextView.view as IApplicationView).initialize(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/vk/models/CapabilitiesModel.as: -------------------------------------------------------------------------------- 1 | package vk.models 2 | { 3 | import flash.system.Capabilities; 4 | 5 | public class CapabilitiesModel 6 | { 7 | public static function get dpiScale():Number 8 | { 9 | if (isIos) 10 | { 11 | return Capabilities.screenDPI / 326; 12 | } 13 | else 14 | { 15 | return Capabilities.screenDPI / 320; 16 | } 17 | } 18 | 19 | public static function get isIosDevice():Boolean 20 | { 21 | if (Capabilities.manufacturer.indexOf("iOS") > -1) 22 | { 23 | return true; 24 | } 25 | return false; 26 | } 27 | 28 | public static function get isIosEmulator():Boolean 29 | { 30 | if (Capabilities.version.indexOf("IOS") > -1 && !isIosDevice) 31 | { 32 | return true; 33 | } 34 | return false; 35 | } 36 | 37 | public static function get isIos():Boolean 38 | { 39 | return isIosDevice || isIosEmulator; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/vk/views/application/ApplicationView.as: -------------------------------------------------------------------------------- 1 | package vk.views.application 2 | { 3 | import feathers.controls.LayoutGroup; 4 | import feathers.controls.ScreenNavigator; 5 | import feathers.controls.ScreenNavigatorItem; 6 | import feathers.layout.AnchorLayout; 7 | import feathers.motion.transitions.ScreenSlidingStackTransitionManager; 8 | import feathers.themes.MetalWorksMobileTheme; 9 | 10 | import robotlegs.bender.framework.api.IContext; 11 | import robotlegs.bender.framework.impl.Context; 12 | import robotlegs.gizmoduck.bundles.mvcs.MVCSBundle; 13 | import robotlegs.gizmoduck.extensions.contextView.ContextView; 14 | 15 | import starling.animation.Transitions; 16 | import starling.display.Sprite; 17 | 18 | import vk.configuration.Configuration; 19 | import vk.views.application.interfaces.IApplicationView; 20 | import vk.views.screens.HomeScreenView; 21 | 22 | public class ApplicationView extends Sprite implements IApplicationView 23 | { 24 | private var _context:IContext; 25 | private var _transitionManager:ScreenSlidingStackTransitionManager; 26 | 27 | private static var _theme:MetalWorksMobileTheme; 28 | 29 | public static function get theme():MetalWorksMobileTheme 30 | { 31 | return _theme; 32 | } 33 | 34 | private static var _navigator:ScreenNavigator; 35 | 36 | public static function get navigator():ScreenNavigator 37 | { 38 | return _navigator; 39 | } 40 | 41 | private static var _overlay:LayoutGroup; 42 | 43 | public static function get overlay():LayoutGroup 44 | { 45 | return _overlay; 46 | } 47 | 48 | public function ApplicationView() 49 | { 50 | _context = new Context().install(MVCSBundle).configure(Configuration, new ContextView(this)); 51 | } 52 | 53 | public function initialize():void 54 | { 55 | _theme = new MetalWorksMobileTheme(); 56 | 57 | _navigator = new ScreenNavigator(); 58 | _navigator.addScreen("home", new ScreenNavigatorItem(new HomeScreenView())); 59 | addChild(_navigator); 60 | 61 | _transitionManager = new ScreenSlidingStackTransitionManager(_navigator); 62 | _transitionManager.duration = 0.4; 63 | _transitionManager.delay = 0.2; 64 | _transitionManager.ease = Transitions.EASE_OUT; 65 | _transitionManager.skipNextTransition = true; 66 | 67 | _overlay = new LayoutGroup(); 68 | _overlay.layout = new AnchorLayout(); 69 | _overlay.width = stage.stageWidth; 70 | _overlay.height = stage.stageHeight; 71 | addChild(_overlay); 72 | 73 | _navigator.showScreen('home'); 74 | } 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /src/vk/views/application/interfaces/IApplicationView.as: -------------------------------------------------------------------------------- 1 | package vk.views.application.interfaces 2 | { 3 | public interface IApplicationView 4 | { 5 | function initialize():void; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/vk/views/screens/HomeScreenView.as: -------------------------------------------------------------------------------- 1 | package vk.views.screens 2 | { 3 | import feathers.controls.Button; 4 | import feathers.controls.Header; 5 | import feathers.controls.Label; 6 | import feathers.controls.LayoutGroup; 7 | import feathers.controls.Screen; 8 | import feathers.controls.ScrollText; 9 | import feathers.layout.AnchorLayout; 10 | import feathers.layout.AnchorLayoutData; 11 | import feathers.layout.VerticalLayout; 12 | 13 | import ru.kavolorn.ane.VK; 14 | import ru.kavolorn.ane.VKError; 15 | import ru.kavolorn.ane.VKEvent; 16 | import ru.kavolorn.ane.VKScope; 17 | 18 | import starling.events.Event; 19 | 20 | import vk.models.CapabilitiesModel; 21 | 22 | public class HomeScreenView extends Screen 23 | { 24 | public static const SCOPE:Array = [ 25 | VKScope.WALL, 26 | VKScope.AUDIO, 27 | VKScope.FRIENDS, 28 | VKScope.EMAIL, 29 | VKScope.PHOTOS 30 | ]; 31 | 32 | private var _header:Header; 33 | private var _buttonsGroup:LayoutGroup; 34 | private var _scrollText:ScrollText; 35 | private var _statusBar:Label; 36 | 37 | public function HomeScreenView():void 38 | { 39 | VK.setDebug(true); 40 | 41 | VK.getInstance().initialize("4620596", "eyJsaWNlbnNlIjoie1widGltZXN0YW1wXCI6MTQyMzA2MTI1MixcImlkc1wiOltcInJ1Lmthdm9sb3JuLmFuZS5WSy5EZW1vXCJdfSIsInNpZ25hdHVyZSI6ImZqSHBYbUhVUDJJcnhQQ00wZXZzbkx5Q040RGNrUm5DcWdTTWRMMlVaZHFDWlRLdms0c3J3VjZsNGdSb0ZRRlNlbWE0cVBSYVF0S0FBbXJpZnBRSmNiVTdBbU42aWl1T014XC9sQmNOUFNldHpHTVNRNFNDRmQrVjRCNjhGY2VtTmQ4YlB4SmJIMUk2Z21PdmlvMXpraHd3U1h2VkVxc2VrekFwbThYZFdYNEpOVGdRaGVQNnNqWVZsVk1nMFhHeVljTm5sbmVNeGpZQThLQXV3ZFpjcExWMlV0YnpFWW5UbTJlK2pTMmk1eGI4YStFWVdOczhDYTkwSzdhSDMzOVFmZnRTQkRFV3BGVlwvUjltTmpVQ055R3QyK1pycDJXK0g1Vk1yaHRvMTJcL0hGZGtpdVltUkJsZUhwazNNblwvQkpJVWQ3MzU4TVZ4bzU5MFhcL01WQXR2dW93PT0ifQ=="); 42 | 43 | // Fires up if initialization was completed with errors 44 | VK.getInstance().addEventListener(VKEvent.INITIALIZATION_ERROR, function (event:VKEvent):void 45 | { 46 | trace("Initialization error:", event.message); 47 | }); 48 | 49 | // Fires up usualy right before INITIALIZATION_SUCCESS and notifies us about waked up session 50 | VK.getInstance().addEventListener(VKEvent.SESSION_WAKED_UP, function (event:VKEvent):void 51 | { 52 | trace(JSON.stringify(VK.getInstance().getUserToken())); 53 | _statusBar.text = "User is logged in."; 54 | }); 55 | 56 | // Extension was successfully initialized 57 | VK.getInstance().addEventListener(VKEvent.INITIALIZATION_SUCCESS, function (event:VKEvent):void 58 | { 59 | trace("Initialization success:", event.message); 60 | trace("Current SDK version:", VK.getInstance().getSdkVersion()); 61 | trace("Current API version:", VK.getInstance().getApiVersion()); 62 | }); 63 | 64 | // Fires up if token is expired 65 | VK.getInstance().addEventListener(VKEvent.TOKEN_HAS_EXPIRED, function (event:VKEvent):void 66 | { 67 | trace(event.message); 68 | _statusBar.text = "User is logged out."; 69 | }); 70 | 71 | // Fires up if user denied access in login screen 72 | VK.getInstance().addEventListener(VKEvent.USER_DENIED_ACCESS, function (event:VKEvent):void 73 | { 74 | trace(event.message); 75 | _statusBar.text = "User is logged out."; 76 | }); 77 | 78 | // Fires up when SDK received new token 79 | VK.getInstance().addEventListener(VKEvent.RECEIVED_NEW_TOKEN, function (event:VKEvent):void 80 | { 81 | trace(JSON.stringify(VK.getInstance().getUserToken())); 82 | _statusBar.text = "User is logged in."; 83 | }); 84 | 85 | // Fires up when SDK renewed token 86 | VK.getInstance().addEventListener(VKEvent.RENEWED_TOKEN, function (event:VKEvent):void 87 | { 88 | trace(JSON.stringify(VK.getInstance().getUserToken())); 89 | _statusBar.text = "User is logged in."; 90 | }); 91 | } 92 | 93 | override protected function initialize():void 94 | { 95 | layout = new AnchorLayout(); 96 | 97 | _header = new Header(); 98 | _header.layoutData = new AnchorLayoutData(0, 0, NaN, 0); 99 | _header.useExtraPaddingForOSStatusBar = true; 100 | _header.title = "VK ANE Demo"; 101 | addChild(_header); 102 | 103 | _buttonsGroup = new LayoutGroup(); 104 | _buttonsGroup.layout = new VerticalLayout(); 105 | (_buttonsGroup.layout as VerticalLayout).gap = 10 * CapabilitiesModel.dpiScale; 106 | (_buttonsGroup.layout as VerticalLayout).padding = 10 * CapabilitiesModel.dpiScale; 107 | (_buttonsGroup.layout as VerticalLayout).horizontalAlign = VerticalLayout.HORIZONTAL_ALIGN_JUSTIFY; 108 | _buttonsGroup.layoutData = new AnchorLayoutData(0, 0, NaN, 0); 109 | (_buttonsGroup.layoutData as AnchorLayoutData).topAnchorDisplayObject = _header; 110 | addChild(_buttonsGroup); 111 | 112 | if (!CapabilitiesModel.isIos) 113 | { 114 | var fingerprintButton:Button = new Button(); 115 | fingerprintButton.label = 'App fingerprint'; 116 | fingerprintButton.addEventListener(Event.TRIGGERED, function (event:Event):void 117 | { 118 | trace(VK.getInstance().getCertificateFingerprint()); 119 | _scrollText.text = "certificateFingerprint\n\n" + VK.getInstance().getCertificateFingerprint(); 120 | }); 121 | _buttonsGroup.addChild(fingerprintButton); 122 | } 123 | 124 | var getAppPermissionsButton:Button = new Button(); 125 | getAppPermissionsButton.label = 'App permissions'; 126 | getAppPermissionsButton.addEventListener(Event.TRIGGERED, function (event:Event):void 127 | { 128 | VK.getInstance().execute( 129 | { 130 | method: 'account.getAppPermissions', 131 | parameters: {}, 132 | complete: completeHandler, 133 | error: errorHandler 134 | }); 135 | }); 136 | _buttonsGroup.addChild(getAppPermissionsButton); 137 | 138 | var wallPostButton:Button = new Button(); 139 | wallPostButton.label = 'Wall post'; 140 | wallPostButton.addEventListener(Event.TRIGGERED, function (event:Event):void 141 | { 142 | VK.getInstance().execute( 143 | { 144 | method: 'wall.post', 145 | parameters: { 146 | message: "It's alive! Alive!!" 147 | }, 148 | complete: completeHandler, 149 | error: errorHandler 150 | }); 151 | }); 152 | _buttonsGroup.addChild(wallPostButton); 153 | 154 | var friendsButton:Button = new Button(); 155 | friendsButton.label = 'Friends list'; 156 | friendsButton.addEventListener(Event.TRIGGERED, function (event:Event):void 157 | { 158 | VK.getInstance().execute( 159 | { 160 | method: 'friends.getOnline', 161 | parameters: { 162 | online_mobile: 1 163 | }, 164 | complete: completeHandler, 165 | error: errorHandler 166 | }); 167 | }); 168 | _buttonsGroup.addChild(friendsButton); 169 | 170 | var audioButton:Button = new Button(); 171 | audioButton.label = 'Audio search'; 172 | audioButton.addEventListener(Event.TRIGGERED, function (event:Event):void 173 | { 174 | VK.getInstance().execute( 175 | { 176 | method: 'audio.search', 177 | parameters: { 178 | q: "Red Hot Chili Peppers", 179 | count: 10 180 | }, 181 | complete: completeHandler, 182 | error: errorHandler 183 | }); 184 | }); 185 | _buttonsGroup.addChild(audioButton); 186 | 187 | var shareButton:Button = new Button(); 188 | shareButton.label = 'Share'; 189 | shareButton.addEventListener(Event.TRIGGERED, function (event:Event):void 190 | { 191 | VK.getInstance().share({ 192 | text : "This is a super resource with professional Adobe AIR native extensions.", 193 | link : { 194 | text : "PRO Native Extensions", 195 | url : "http://kavolorn.ru/pro-native-extensions" 196 | }, 197 | photos : [ 198 | // Pre uploaded set of photos 199 | "photo-30022666_375485324" 200 | ], 201 | complete : function(postId:String) { 202 | _scrollText.text = "Sharing completed. Post id " + postId + "."; 203 | }, 204 | cancel : function() { 205 | _scrollText.text = "Sharing was canceled."; 206 | } 207 | }); 208 | }); 209 | _buttonsGroup.addChild(shareButton); 210 | 211 | var logoutButton:Button = new Button(); 212 | logoutButton.label = 'Logout'; 213 | logoutButton.addEventListener(Event.TRIGGERED, function (event:Event):void 214 | { 215 | VK.getInstance().logout(); 216 | _statusBar.text = "User is logged out."; 217 | }); 218 | _buttonsGroup.addChild(logoutButton); 219 | 220 | _statusBar = new Label(); 221 | _statusBar.layoutData = new AnchorLayoutData(NaN, 0, 0, 0); 222 | _statusBar.text = "User is logged out."; 223 | addChild(_statusBar); 224 | 225 | _scrollText = new ScrollText(); 226 | _scrollText.layoutData = new AnchorLayoutData(0, 0, 0, 0); 227 | (_scrollText.layoutData as AnchorLayoutData).topAnchorDisplayObject = _buttonsGroup; 228 | (_scrollText.layoutData as AnchorLayoutData).bottomAnchorDisplayObject = _statusBar; 229 | addChild(_scrollText); 230 | } 231 | 232 | private function completeHandler(response:Object, request:Object) 233 | { 234 | trace('complete', JSON.stringify(response)); 235 | 236 | _scrollText.text = request.method + "\n\n" + JSON.stringify(response); 237 | } 238 | 239 | private function errorHandler(error:Object, request:Object) 240 | { 241 | trace('error', JSON.stringify(error)); 242 | 243 | if (error.errorCode == VKError.VK_API_ERROR && error.vkErrorCode == 5) 244 | { 245 | _statusBar.text = "User is logged out."; 246 | VK.getInstance().authorize(SCOPE, true, false, false); 247 | } 248 | else if (error.errorCode == VKError.VK_API_REQUEST_HTTP_FAILED) 249 | { 250 | // Is internet connection working? 251 | } 252 | } 253 | } 254 | } 255 | --------------------------------------------------------------------------------