From ff7138bf9d83cbb7d787ced2dba836b665f8eca3 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Thu, 31 Jul 2014 15:01:44 +0200 Subject: [PATCH] Commiting stuff the IDE did not --- .idea/compiler.xml | 46 +- .idea/copyright/profiles_settings.xml | 4 +- .idea/encodings.xml | 10 +- .idea/gradle.xml | 38 +- .idea/misc.xml | 20 +- .idea/modules.xml | 20 +- .idea/scopes/scope_settings.xml | 8 +- .idea/vcs.xml | 14 +- UeControl.iml | 38 +- app/LICENSE.txt | 402 ++--- app/NOTICE.txt | 6 +- app/app-release.apk | Bin 349788 -> 351127 bytes app/app.iml | 136 +- app/build.gradle | 54 +- app/gpl.txt | 1346 ++++++++--------- app/lgpl.txt | 328 ++-- app/proguard-rules.pro | 34 +- app/src/main/AndroidManifest.xml | 78 +- .../ericsson/uecontrol/core/UeBehaviour.java | 220 +-- .../uecontrol/core/UeControlExecutor.java | 218 +-- .../core/behaviour/UeBehaviourSleep.java | 88 +- .../core/behaviour/UeBehaviourSurfing.java | 246 +-- .../core/util/ThroughputCalculator.java | 106 +- .../ericsson/uecontrol/gui/EditActivity.java | 176 +-- .../ericsson/uecontrol/gui/MainActivity.java | 246 +-- .../uecontrol/gui/SettingsActivity.java | 86 +- .../gui/fragments/BehaviourListFragment.java | 184 +-- .../fragments/NavigationDrawerFragment.java | 566 +++---- .../gui/fragments/SelectBehaviourDialog.java | 128 +- .../gui/fragments/StatusFragment.java | 182 +-- .../gui/util/BehaviourListAdapter.java | 184 +-- .../uecontrol/gui/util/Configurator.java | 224 +-- .../uecontrol/gui/util/DynamicListView.java | 1244 +++++++-------- .../gui/util/StableArrayAdapter.java | 144 +- app/src/main/res/layout/activity_edit.xml | 32 +- app/src/main/res/layout/activity_main.xml | 90 +- .../main/res/layout/behaviour_list_item.xml | 152 +- .../res/layout/fragment_navigation_drawer.xml | 18 +- app/src/main/res/layout/fragment_status.xml | 130 +- app/src/main/res/menu/edit.xml | 18 +- app/src/main/res/menu/global.xml | 12 +- app/src/main/res/menu/main.xml | 50 +- app/src/main/res/values/arrays.xml | 16 +- app/src/main/res/values/dimens.xml | 22 +- app/src/main/res/values/refs.xml | 22 +- app/src/main/res/values/strings.xml | 60 +- app/src/main/res/values/styles.xml | 16 +- app/src/main/res/xml/preferences.xml | 58 +- build.gradle | 38 +- gradle.properties | 34 +- gradlew.bat | 180 +-- settings.gradle | 2 +- 52 files changed, 3887 insertions(+), 3887 deletions(-) diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 217af47..28bb10a 100755 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -1,23 +1,23 @@ - - - - - - + + + + + + diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml index e7bedf3..c7d1c5a 100755 --- a/.idea/copyright/profiles_settings.xml +++ b/.idea/copyright/profiles_settings.xml @@ -1,3 +1,3 @@ - - + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml index e206d70..7c62b52 100755 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 61b8d3b..30bf007 100755 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -1,19 +1,19 @@ - - - - - - - + + + + + + + diff --git a/.idea/misc.xml b/.idea/misc.xml index b153e48..ad311ed 100755 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/.idea/modules.xml b/.idea/modules.xml index e6767f1..8512e8f 100755 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/.idea/scopes/scope_settings.xml b/.idea/scopes/scope_settings.xml index 922003b..0d5175c 100755 --- a/.idea/scopes/scope_settings.xml +++ b/.idea/scopes/scope_settings.xml @@ -1,5 +1,5 @@ - - - + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml index c80f219..ab55cf1 100755 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/UeControl.iml b/UeControl.iml index 135c0f9..4936b63 100755 --- a/UeControl.iml +++ b/UeControl.iml @@ -1,19 +1,19 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/app/LICENSE.txt b/app/LICENSE.txt index 2a71cf4..ee42730 100755 --- a/app/LICENSE.txt +++ b/app/LICENSE.txt @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2013 47 Degrees - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2013 47 Degrees + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and limitations under the License. \ No newline at end of file diff --git a/app/NOTICE.txt b/app/NOTICE.txt index 57eed52..374a749 100755 --- a/app/NOTICE.txt +++ b/app/NOTICE.txt @@ -1,4 +1,4 @@ -This software contains code derived from Jonas Gehring (http://android-graphview.org/). -This software contains code derived from The Android Open Source Project. - +This software contains code derived from Jonas Gehring (http://android-graphview.org/). +This software contains code derived from The Android Open Source Project. + Including various modifications by Ziver Koc. \ No newline at end of file diff --git a/app/app-release.apk b/app/app-release.apk index 98183fcdec443b2bccf19c6cda8ad6083c8019ba..16e0434ddc015ed8379e58ad7cede855698b5ebb 100755 GIT binary patch delta 286341 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

ZLybAQ8O27KUk9l}F$U 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/build.gradle b/app/build.gradle index bfbd7d3..f525eaf 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,28 +1,28 @@ -apply plugin: 'com.android.application' - -android { - compileSdkVersion 15 - buildToolsVersion '19.1.0' - - defaultConfig { - applicationId "com.ericsson.uecontrol" - minSdkVersion 15 - targetSdkVersion 19 - versionCode 3 - versionName "1.0.2" - } - buildTypes { - release { - runProguard false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - zipAlign true - } - } -} - -dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - // You must install or update the Support Repository through the SDK manager to use this dependency. - compile 'com.android.support:support-v4:19.1.+' - compile files('libs/GraphView-3.1.2.jar') +apply plugin: 'com.android.application' + +android { + compileSdkVersion 15 + buildToolsVersion '19.1.0' + + defaultConfig { + applicationId "com.ericsson.uecontrol" + minSdkVersion 15 + targetSdkVersion 19 + versionCode 5 + versionName "1.0.5" + } + buildTypes { + release { + runProguard false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + zipAlign true + } + } +} + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) + // You must install or update the Support Repository through the SDK manager to use this dependency. + compile 'com.android.support:support-v4:19.1.+' + compile files('libs/GraphView-3.1.2.jar') } \ No newline at end of file diff --git a/app/gpl.txt b/app/gpl.txt index 20d40b6..3d90694 100755 --- a/app/gpl.txt +++ b/app/gpl.txt @@ -1,674 +1,674 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read . \ No newline at end of file diff --git a/app/lgpl.txt b/app/lgpl.txt index 02bbb60..f0156c5 100755 --- a/app/lgpl.txt +++ b/app/lgpl.txt @@ -1,165 +1,165 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the Library. \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index f5037b6..f2e6615 100755 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -1,17 +1,17 @@ -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in C:\Program Files (x86)\Android Studio\sdk/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the proguardFiles -# directive in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in C:\Program Files (x86)\Android Studio\sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2aa89aa..0a4b579 100755 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,39 +1,39 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/java/com/ericsson/uecontrol/core/UeBehaviour.java b/app/src/main/java/com/ericsson/uecontrol/core/UeBehaviour.java index 1705e2d..dd17e71 100755 --- a/app/src/main/java/com/ericsson/uecontrol/core/UeBehaviour.java +++ b/app/src/main/java/com/ericsson/uecontrol/core/UeBehaviour.java @@ -1,110 +1,110 @@ -package com.ericsson.uecontrol.core; - -/** - * Base class for Ue behaviours that can be used by the executor - * - * Created by ezivkoc on 2014-07-15. - */ -public abstract class UeBehaviour { - private boolean running; - private BehaviourExecutionListener execListener; - private DataHandledListener datahandledListener; - - /** - * Starts to run the behaviour, this method will block until the execution is done - */ - public synchronized void run(){ - running = true; - - if(execListener != null) execListener.executionStarted(); - try { - setProgress(0); - execute(); - } catch(Exception e){ - if(execListener != null) execListener.exception(e); - e.printStackTrace(); - } - if(execListener != null) execListener.executionStopped(); - } - - /** - * Will stop the currently running behaviour - */ - public synchronized void terminate(){ - running = false; - } - - /** - * @return if currently running behaviour should be terminated - */ - protected boolean stopExecution(){ - return !running; - } - - /** - * @return true is this behaviour is currently running - */ - public boolean isRunning(){ - return running; - } - - public void setExecutionListener(BehaviourExecutionListener l){ - execListener = l; - } - - protected void setProgress(float progress){ - if(execListener != null) - execListener.progressChanged(progress); - - // TODO: This is a dirty way of updating the throughput, should be changed - if(datahandledListener != null) - datahandledListener.handledIncomingData(0); - } - - public void setDataHandledListener(DataHandledListener listener) { - datahandledListener = listener; - } - - protected void setHandledIncomingData(long size){ - if(datahandledListener != null) - datahandledListener.handledIncomingData(size); - } - protected void setHandledOutgoingData(long size){ - if(datahandledListener != null) - datahandledListener.handledOutgoingData(size); - } - - /** - * Executes the behaviour, will block until behaviour has run to completion. - */ - protected abstract void execute() throws Exception; - - /** - * @return the short name of the behaviour - */ - public abstract String getName(); - - /** - * @return a longer description of the behaviour - */ - //public abstract String getDescription(); - - /** - * @return a nice String with the current settings - */ - public abstract String toString(); - - - - public static interface BehaviourExecutionListener { - public void executionStarted(); - public void progressChanged(float progress); - public void executionStopped(); - public void exception(Exception e); - } - - public static interface DataHandledListener { - public void handledIncomingData(long size); - public void handledOutgoingData(long size); - } -} +package com.ericsson.uecontrol.core; + +/** + * Base class for Ue behaviours that can be used by the executor + * + * Created by ezivkoc on 2014-07-15. + */ +public abstract class UeBehaviour { + private boolean running; + private BehaviourExecutionListener execListener; + private DataHandledListener datahandledListener; + + /** + * Starts to run the behaviour, this method will block until the execution is done + */ + public synchronized void run(){ + running = true; + + if(execListener != null) execListener.executionStarted(); + try { + setProgress(0); + execute(); + } catch(Exception e){ + if(execListener != null) execListener.exception(e); + e.printStackTrace(); + } + if(execListener != null) execListener.executionStopped(); + } + + /** + * Will stop the currently running behaviour + */ + public synchronized void terminate(){ + running = false; + } + + /** + * @return if currently running behaviour should be terminated + */ + protected boolean stopExecution(){ + return !running; + } + + /** + * @return true is this behaviour is currently running + */ + public boolean isRunning(){ + return running; + } + + public void setExecutionListener(BehaviourExecutionListener l){ + execListener = l; + } + + protected void setProgress(float progress){ + if(execListener != null) + execListener.progressChanged(progress); + + // TODO: This is a dirty way of updating the throughput, should be changed + if(datahandledListener != null) + datahandledListener.handledIncomingData(0); + } + + public void setDataHandledListener(DataHandledListener listener) { + datahandledListener = listener; + } + + protected void setHandledIncomingData(long size){ + if(datahandledListener != null) + datahandledListener.handledIncomingData(size); + } + protected void setHandledOutgoingData(long size){ + if(datahandledListener != null) + datahandledListener.handledOutgoingData(size); + } + + /** + * Executes the behaviour, will block until behaviour has run to completion. + */ + protected abstract void execute() throws Exception; + + /** + * @return the short name of the behaviour + */ + public abstract String getName(); + + /** + * @return a longer description of the behaviour + */ + //public abstract String getDescription(); + + /** + * @return a nice String with the current settings + */ + public abstract String toString(); + + + + public static interface BehaviourExecutionListener { + public void executionStarted(); + public void progressChanged(float progress); + public void executionStopped(); + public void exception(Exception e); + } + + public static interface DataHandledListener { + public void handledIncomingData(long size); + public void handledOutgoingData(long size); + } +} diff --git a/app/src/main/java/com/ericsson/uecontrol/core/UeControlExecutor.java b/app/src/main/java/com/ericsson/uecontrol/core/UeControlExecutor.java index 29440fc..13217be 100755 --- a/app/src/main/java/com/ericsson/uecontrol/core/UeControlExecutor.java +++ b/app/src/main/java/com/ericsson/uecontrol/core/UeControlExecutor.java @@ -1,109 +1,109 @@ -package com.ericsson.uecontrol.core; - -import android.util.Log; - -import com.ericsson.uecontrol.core.util.ThroughputCalculator; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by ezivkoc on 2014-07-15. - */ -public class UeControlExecutor implements Runnable, UeBehaviour.DataHandledListener { - private static final String TAG = "UeControlExecutor"; - - private List behaviours; - private UeBehaviour currentlyActive; - private boolean terminate; - private Thread thread; - - private ThroughputCalculator downloadSpeed; - private ThroughputCalculator uploadSpeed; - private ThroughputListener throughputListener; - - - public UeControlExecutor(){ - behaviours = new ArrayList(); - downloadSpeed = new ThroughputCalculator(); - uploadSpeed = new ThroughputCalculator(); - } - - public void addBehaviour(UeBehaviour b){ - behaviours.add(b); - b.setDataHandledListener(this); - } - - - public void execute(){ - if(thread == null || !thread.isAlive()) { - terminate = false; - thread = new Thread(this); - thread.start(); - } - } - - public void terminate(){ - terminate = true; - if(currentlyActive != null); - currentlyActive.terminate(); - } - - public boolean isRunning(){ - if(currentlyActive == null) - return false; - return currentlyActive.isRunning(); - } - - public void run(){ - while(!terminate) { - if(behaviours.isEmpty()) { - terminate(); - break; - } - else if (currentlyActive == null) - currentlyActive = behaviours.get(0); - - Log.v(TAG, "Running behaviour: " + currentlyActive.getName()); - currentlyActive.run(); - - int index = behaviours.indexOf(currentlyActive) +1; - if(index < behaviours.size()) - currentlyActive = behaviours.get(index); - else - currentlyActive = null; - } - Log.v(TAG, "Execution completed"); - } - - - @Override - public void handledIncomingData(long size) { - downloadSpeed.setHandledData(size); - if(throughputListener != null && downloadSpeed.isUpdated()) - throughputListener.throughputUpdate(downloadSpeed.getBitThroughput(), uploadSpeed.getBitThroughput()); - } - - @Override - public void handledOutgoingData(long size) { - uploadSpeed.setHandledData(size); - if(throughputListener != null && uploadSpeed.isUpdated()) - throughputListener.throughputUpdate(downloadSpeed.getBitThroughput(), uploadSpeed.getBitThroughput()); - } - - public void setThroughputListener(ThroughputListener listener){ - throughputListener = listener; - } - - public List getBehaviourList() { - return behaviours; - } - - public UeBehaviour getRunningBehaviour(){ - return currentlyActive; - } - - public static interface ThroughputListener{ - public void throughputUpdate(double downThroughput, double upThroughput); - } -} +package com.ericsson.uecontrol.core; + +import android.util.Log; + +import com.ericsson.uecontrol.core.util.ThroughputCalculator; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by ezivkoc on 2014-07-15. + */ +public class UeControlExecutor implements Runnable, UeBehaviour.DataHandledListener { + private static final String TAG = "UeControlExecutor"; + + private List behaviours; + private UeBehaviour currentlyActive; + private boolean terminate; + private Thread thread; + + private ThroughputCalculator downloadSpeed; + private ThroughputCalculator uploadSpeed; + private ThroughputListener throughputListener; + + + public UeControlExecutor(){ + behaviours = new ArrayList(); + downloadSpeed = new ThroughputCalculator(); + uploadSpeed = new ThroughputCalculator(); + } + + public void addBehaviour(UeBehaviour b){ + behaviours.add(b); + b.setDataHandledListener(this); + } + + + public void execute(){ + if(thread == null || !thread.isAlive()) { + terminate = false; + thread = new Thread(this); + thread.start(); + } + } + + public void terminate(){ + terminate = true; + if(currentlyActive != null); + currentlyActive.terminate(); + } + + public boolean isRunning(){ + if(currentlyActive == null) + return false; + return currentlyActive.isRunning(); + } + + public void run(){ + while(!terminate) { + if(behaviours.isEmpty()) { + terminate(); + break; + } + else if (currentlyActive == null) + currentlyActive = behaviours.get(0); + + Log.v(TAG, "Running behaviour: " + currentlyActive.getName()); + currentlyActive.run(); + + int index = behaviours.indexOf(currentlyActive) +1; + if(index < behaviours.size()) + currentlyActive = behaviours.get(index); + else + currentlyActive = null; + } + Log.v(TAG, "Execution completed"); + } + + + @Override + public void handledIncomingData(long size) { + downloadSpeed.setHandledData(size); + if(throughputListener != null && downloadSpeed.isUpdated()) + throughputListener.throughputUpdate(downloadSpeed.getBitThroughput(), uploadSpeed.getBitThroughput()); + } + + @Override + public void handledOutgoingData(long size) { + uploadSpeed.setHandledData(size); + if(throughputListener != null && uploadSpeed.isUpdated()) + throughputListener.throughputUpdate(downloadSpeed.getBitThroughput(), uploadSpeed.getBitThroughput()); + } + + public void setThroughputListener(ThroughputListener listener){ + throughputListener = listener; + } + + public List getBehaviourList() { + return behaviours; + } + + public UeBehaviour getRunningBehaviour(){ + return currentlyActive; + } + + public static interface ThroughputListener{ + public void throughputUpdate(double downThroughput, double upThroughput); + } +} diff --git a/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourSleep.java b/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourSleep.java index cde3f9e..375ce60 100755 --- a/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourSleep.java +++ b/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourSleep.java @@ -1,44 +1,44 @@ -package com.ericsson.uecontrol.core.behaviour; - -import com.ericsson.uecontrol.core.UeBehaviour; -import com.ericsson.uecontrol.gui.util.Configurator.Configurable; - -/** - * This behaviour simulates an idle period for the device. - * - * Created by ezivkoc on 2014-07-15. - */ -public class UeBehaviourSleep extends UeBehaviour{ - private static final int SLEEP_PERIOD = 100; - - @Configurable("Sleep(millisec)") - private int time; - - public UeBehaviourSleep(){ - this(2000); - } - public UeBehaviourSleep(int milliseconds){ - time = milliseconds; - } - - @Override - protected void execute() throws InterruptedException { - int elapsedTime = 0; - while(elapsedTime < time){ - super.setProgress((float)elapsedTime/time); - if(super.stopExecution()) break; - Thread.sleep(SLEEP_PERIOD); - elapsedTime += SLEEP_PERIOD; - } - } - - @Override - public String getName() { - return "Sleep"; - } - - @Override - public String toString() { - return "Will sleep for "+(time/1000)+" seconds"; - } -} +package com.ericsson.uecontrol.core.behaviour; + +import com.ericsson.uecontrol.core.UeBehaviour; +import com.ericsson.uecontrol.gui.util.Configurator.Configurable; + +/** + * This behaviour simulates an idle period for the device. + * + * Created by ezivkoc on 2014-07-15. + */ +public class UeBehaviourSleep extends UeBehaviour{ + private static final int SLEEP_PERIOD = 100; + + @Configurable("Sleep(millisec)") + private int time; + + public UeBehaviourSleep(){ + this(2000); + } + public UeBehaviourSleep(int milliseconds){ + time = milliseconds; + } + + @Override + protected void execute() throws InterruptedException { + int elapsedTime = 0; + while(elapsedTime < time){ + super.setProgress((float)elapsedTime/time); + if(super.stopExecution()) break; + Thread.sleep(SLEEP_PERIOD); + elapsedTime += SLEEP_PERIOD; + } + } + + @Override + public String getName() { + return "Sleep"; + } + + @Override + public String toString() { + return "Will sleep for "+(time/1000)+" seconds"; + } +} diff --git a/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourSurfing.java b/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourSurfing.java index f8d83ff..0afd5ed 100755 --- a/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourSurfing.java +++ b/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourSurfing.java @@ -1,123 +1,123 @@ -package com.ericsson.uecontrol.core.behaviour; - -import android.util.Log; - -import com.ericsson.uecontrol.core.UeBehaviour; -import com.ericsson.uecontrol.gui.util.Configurator.Configurable; - -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; -import java.util.Queue; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -/** - * This behaviour simulates visiting a website - * - * Created by ezivkoc on 2014-07-15. - */ -public class UeBehaviourSurfing extends UeBehaviour { - - @Configurable("Web Address") - private String rootUrl; - - private long estimatedDataLength = -1; - - public UeBehaviourSurfing(){ - this("http://google.com"); - } - public UeBehaviourSurfing(String url){ - rootUrl = url; - } - - @Override - protected void execute() throws IOException { - if(!rootUrl.startsWith("http://")) - rootUrl = "http://"+ rootUrl; - - List urlList = new ArrayList(); - urlList.add(new URL(rootUrl)); - byte[] data = new byte[100]; - IOException retException = null; - long totalRead = 0; - - for(int i=0; i", Pattern.CASE_INSENSITIVE), - Pattern.compile("@import [\"']?(.*?)[\"']?", Pattern.CASE_INSENSITIVE), - Pattern.compile("(?:import|background)[\\W:]*url\\([\"']?(?![\"']?data:)(.*?)[\"']??\\)", Pattern.CASE_INSENSITIVE), - // Javascript - Pattern.compile(" urlList){ - for(Pattern pattern : CONTENT_INCLUSION_PATTERNS){ - Matcher m = pattern.matcher(data); - while(m.find()){ - try { - String strUrl = m.group(1); - URL url = new URL(baseUrl, strUrl); - if(!urlList.contains(url)) - urlList.add(url); - }catch(MalformedURLException e){ - e.printStackTrace(); - } - } - } - } - - - @Override - public String getName() { - return "Surfing"; - } - - @Override - public String toString() { - return "Will visit "+ rootUrl; - } -} +package com.ericsson.uecontrol.core.behaviour; + +import android.util.Log; + +import com.ericsson.uecontrol.core.UeBehaviour; +import com.ericsson.uecontrol.gui.util.Configurator.Configurable; + +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLConnection; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * This behaviour simulates visiting a website + * + * Created by ezivkoc on 2014-07-15. + */ +public class UeBehaviourSurfing extends UeBehaviour { + + @Configurable("Web Address") + private String rootUrl; + + private long estimatedDataLength = -1; + + public UeBehaviourSurfing(){ + this("http://google.com"); + } + public UeBehaviourSurfing(String url){ + rootUrl = url; + } + + @Override + protected void execute() throws IOException { + if(!rootUrl.startsWith("http://")) + rootUrl = "http://"+ rootUrl; + + List urlList = new ArrayList(); + urlList.add(new URL(rootUrl)); + byte[] data = new byte[100]; + IOException retException = null; + long totalRead = 0; + + for(int i=0; i", Pattern.CASE_INSENSITIVE), + Pattern.compile("@import [\"']?(.*?)[\"']?", Pattern.CASE_INSENSITIVE), + Pattern.compile("(?:import|background)[\\W:]*url\\([\"']?(?![\"']?data:)(.*?)[\"']??\\)", Pattern.CASE_INSENSITIVE), + // Javascript + Pattern.compile(" urlList){ + for(Pattern pattern : CONTENT_INCLUSION_PATTERNS){ + Matcher m = pattern.matcher(data); + while(m.find()){ + try { + String strUrl = m.group(1); + URL url = new URL(baseUrl, strUrl); + if(!urlList.contains(url)) + urlList.add(url); + }catch(MalformedURLException e){ + e.printStackTrace(); + } + } + } + } + + + @Override + public String getName() { + return "Surfing"; + } + + @Override + public String toString() { + return "Will visit "+ rootUrl; + } +} diff --git a/app/src/main/java/com/ericsson/uecontrol/core/util/ThroughputCalculator.java b/app/src/main/java/com/ericsson/uecontrol/core/util/ThroughputCalculator.java index ea75dba..ba4e716 100755 --- a/app/src/main/java/com/ericsson/uecontrol/core/util/ThroughputCalculator.java +++ b/app/src/main/java/com/ericsson/uecontrol/core/util/ThroughputCalculator.java @@ -1,53 +1,53 @@ -package com.ericsson.uecontrol.core.util; - -/** - * Created by ezivkoc on 2014-07-22. - */ -public class ThroughputCalculator { - public static final int UPDATES_PER_SEC = 2; - public static final double NANOSEC_PER_SECOND = 1000000000.0; - - private boolean updated; - private double throughput; - private long previousTimeStamp; - private long data_amount; - - - public void setHandledData(long bytes){ - long currentTimeStamp = System.nanoTime(); - data_amount += bytes; - if(currentTimeStamp - (NANOSEC_PER_SECOND/UPDATES_PER_SEC) > previousTimeStamp) { - throughput = data_amount / ((currentTimeStamp - previousTimeStamp) / (NANOSEC_PER_SECOND/UPDATES_PER_SEC)); - previousTimeStamp = currentTimeStamp; - data_amount = 0; - updated = true; - } - } - - public double getByeThroughput(){ - setHandledData(0); // Update throughput - updated = false; - return throughput; - } - public double getBitThroughput(){ - return getByeThroughput()*8; - } - - public boolean isUpdated(){ - return updated; - } - - - private static final String[] DATA_SIZE = new String[]{"b/s", "kbit/s", "Mbit/s", "Gbit/s"}; - public static String getBitThroughputString(double bitsPerSec){ - int index = 0; - double value = bitsPerSec; - - for(; value > 1000 && index < DATA_SIZE.length ;index++) { - value /= 1000; - } - - value = (int)(value*10) / 10.0; - return value+" "+DATA_SIZE[index]; - } -} +package com.ericsson.uecontrol.core.util; + +/** + * Created by ezivkoc on 2014-07-22. + */ +public class ThroughputCalculator { + public static final int UPDATES_PER_SEC = 2; + public static final double NANOSEC_PER_SECOND = 1000000000.0; + + private boolean updated; + private double throughput; + private long previousTimeStamp; + private long data_amount; + + + public void setHandledData(long bytes){ + long currentTimeStamp = System.nanoTime(); + data_amount += bytes; + if(currentTimeStamp - (NANOSEC_PER_SECOND/UPDATES_PER_SEC) > previousTimeStamp) { + throughput = data_amount / ((currentTimeStamp - previousTimeStamp) / (NANOSEC_PER_SECOND/UPDATES_PER_SEC)); + previousTimeStamp = currentTimeStamp; + data_amount = 0; + updated = true; + } + } + + public double getByeThroughput(){ + setHandledData(0); // Update throughput + updated = false; + return throughput; + } + public double getBitThroughput(){ + return getByeThroughput()*8; + } + + public boolean isUpdated(){ + return updated; + } + + + private static final String[] DATA_SIZE = new String[]{"b/s", "kbit/s", "Mbit/s", "Gbit/s"}; + public static String getBitThroughputString(double bitsPerSec){ + int index = 0; + double value = bitsPerSec; + + for(; value > 1000 && index < DATA_SIZE.length ;index++) { + value /= 1000; + } + + value = (int)(value*10) / 10.0; + return value+" "+DATA_SIZE[index]; + } +} diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/EditActivity.java b/app/src/main/java/com/ericsson/uecontrol/gui/EditActivity.java index fc8c761..419bbfa 100755 --- a/app/src/main/java/com/ericsson/uecontrol/gui/EditActivity.java +++ b/app/src/main/java/com/ericsson/uecontrol/gui/EditActivity.java @@ -1,88 +1,88 @@ -package com.ericsson.uecontrol.gui; - -import android.app.ListActivity; -import android.os.Bundle; -import android.view.Menu; -import android.view.MenuItem; -import android.view.View; -import android.widget.AdapterView; -import android.widget.ListView; - -import com.ericsson.uecontrol.R; -import com.ericsson.uecontrol.core.UeBehaviour; -import com.ericsson.uecontrol.core.UeControlExecutor; -import com.ericsson.uecontrol.gui.fragments.ConfigureDialog; -import com.ericsson.uecontrol.gui.fragments.SelectBehaviourDialog; -import com.ericsson.uecontrol.gui.util.BehaviourListAdapter; -import com.ericsson.uecontrol.gui.util.Configurator; -import com.ericsson.uecontrol.gui.util.DynamicListView; - -import java.util.ArrayList; -import java.util.List; - -public class EditActivity extends ListActivity implements AdapterView.OnItemClickListener { - private UeControlExecutor executor; - private BehaviourListAdapter adapter; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_edit); - - final List list; - executor = MainActivity.getExecutor(); - list = executor.getBehaviourList(); - - adapter = new BehaviourListAdapter(this, list); - adapter.setEditable(true); - DynamicListView listView = (DynamicListView) findViewById(android.R.id.list); - listView.setAdapter(adapter); - listView.setActionListener(adapter); - listView.setOnItemClickListener(this); - listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE); - } - - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - // Inflate the menu; this adds items to the action bar if it is present. - getMenuInflater().inflate(R.menu.edit, menu); - return true; - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. - int id = item.getItemId(); - if (id == R.id.action_add) { - SelectBehaviourDialog selector = new SelectBehaviourDialog(); - selector.setSelectionCallback(new SelectBehaviourDialog.BehaviourSelectionCallback() { - public void behaviourSelected(String name, Class objClass) { - try { - UeBehaviour obj = objClass.newInstance(); - executor.addBehaviour(obj); - adapter.generateIds(); - adapter.notifyDataSetChanged(); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - selector.show(getFragmentManager(), "behaviour_selector"); - return true; - } - return super.onOptionsItemSelected(item); - } - - @Override - public void onItemClick(AdapterView adapterView, View view, int i, long l) { - UeBehaviour behaviour = executor.getBehaviourList().get(i); - Configurator confer = new Configurator(behaviour); - - ConfigureDialog dialog = new ConfigureDialog(); - dialog.setConfigurator(confer); - dialog.show(getFragmentManager(), "behaviour_configurator"); - } -} +package com.ericsson.uecontrol.gui; + +import android.app.ListActivity; +import android.os.Bundle; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ListView; + +import com.ericsson.uecontrol.R; +import com.ericsson.uecontrol.core.UeBehaviour; +import com.ericsson.uecontrol.core.UeControlExecutor; +import com.ericsson.uecontrol.gui.fragments.ConfigureDialog; +import com.ericsson.uecontrol.gui.fragments.SelectBehaviourDialog; +import com.ericsson.uecontrol.gui.util.BehaviourListAdapter; +import com.ericsson.uecontrol.gui.util.Configurator; +import com.ericsson.uecontrol.gui.util.DynamicListView; + +import java.util.ArrayList; +import java.util.List; + +public class EditActivity extends ListActivity implements AdapterView.OnItemClickListener { + private UeControlExecutor executor; + private BehaviourListAdapter adapter; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_edit); + + final List list; + executor = MainActivity.getExecutor(); + list = executor.getBehaviourList(); + + adapter = new BehaviourListAdapter(this, list); + adapter.setEditable(true); + DynamicListView listView = (DynamicListView) findViewById(android.R.id.list); + listView.setAdapter(adapter); + listView.setActionListener(adapter); + listView.setOnItemClickListener(this); + listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE); + } + + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.edit, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + if (id == R.id.action_add) { + SelectBehaviourDialog selector = new SelectBehaviourDialog(); + selector.setSelectionCallback(new SelectBehaviourDialog.BehaviourSelectionCallback() { + public void behaviourSelected(String name, Class objClass) { + try { + UeBehaviour obj = objClass.newInstance(); + executor.addBehaviour(obj); + adapter.generateIds(); + adapter.notifyDataSetChanged(); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + selector.show(getFragmentManager(), "behaviour_selector"); + return true; + } + return super.onOptionsItemSelected(item); + } + + @Override + public void onItemClick(AdapterView adapterView, View view, int i, long l) { + UeBehaviour behaviour = executor.getBehaviourList().get(i); + Configurator confer = new Configurator(behaviour); + + ConfigureDialog dialog = new ConfigureDialog(); + dialog.setConfigurator(confer); + dialog.show(getFragmentManager(), "behaviour_configurator"); + } +} diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/MainActivity.java b/app/src/main/java/com/ericsson/uecontrol/gui/MainActivity.java index c1391a1..d81f4a5 100755 --- a/app/src/main/java/com/ericsson/uecontrol/gui/MainActivity.java +++ b/app/src/main/java/com/ericsson/uecontrol/gui/MainActivity.java @@ -1,123 +1,123 @@ -package com.ericsson.uecontrol.gui; - -import android.app.ActionBar; -import android.app.FragmentManager; -import android.content.Intent; -import android.content.SharedPreferences; -import android.os.Bundle; -import android.preference.PreferenceManager; -import android.support.v4.app.FragmentActivity; -import android.view.Menu; -import android.view.MenuItem; - -import com.ericsson.uecontrol.R; -import com.ericsson.uecontrol.core.UeControlExecutor; -import com.ericsson.uecontrol.core.behaviour.UeBehaviourFtp; -import com.ericsson.uecontrol.core.behaviour.UeBehaviourSleep; -import com.ericsson.uecontrol.core.behaviour.UeBehaviourSurfing; -import com.ericsson.uecontrol.gui.fragments.BehaviourListFragment; -import com.ericsson.uecontrol.gui.fragments.NavigationDrawerFragment; -import com.ericsson.uecontrol.gui.fragments.StatusFragment; -import com.ericsson.uecontrol.gui.util.CSVWriter; - - -public class MainActivity extends FragmentActivity { - - /** - * Fragment managing the behaviors, interactions and presentation of the navigation drawer. - */ - private NavigationDrawerFragment navigationDrawerFragment; - private StatusFragment statusFragment; - - private static UeControlExecutor currentExecutor; - private static CSVWriter logger; - - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); - - //navigationDrawerFragment = (NavigationDrawerFragment) - // getFragmentManager().findFragmentById(R.id.navigation_drawer); - statusFragment = (StatusFragment) - getFragmentManager().findFragmentById(R.id.status_fragment); - getFragmentManager().beginTransaction() - .replace(R.id.container, BehaviourListFragment.newInstance()).commit(); - - // Set up the drawer. - //navigationDrawerFragment.setUp( - // R.id.navigation_drawer, - // (DrawerLayout) findViewById(R.id.drawer_layout)); - - currentExecutor = new UeControlExecutor(); - currentExecutor.addBehaviour(new UeBehaviourSleep()); - currentExecutor.addBehaviour(new UeBehaviourSurfing()); - currentExecutor.addBehaviour(new UeBehaviourSleep(4000)); - currentExecutor.setThroughputListener(statusFragment.getThroughputListener()); - } - - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - if (navigationDrawerFragment == null || !navigationDrawerFragment.isDrawerOpen()) { - // Only show items in the action bar relevant to this screen - // if the drawer is not showing. Otherwise, let the drawer - // decide what to show in the action bar. - getMenuInflater().inflate(R.menu.main, menu); - - ActionBar actionBar = getActionBar(); - actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); - actionBar.setDisplayShowTitleEnabled(true); - - return true; - } - return super.onCreateOptionsMenu(menu); - } - - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. - int id = item.getItemId(); - if (id == R.id.action_execute) { - if(currentExecutor.isRunning()){ - currentExecutor.terminate(); - item.setTitle(R.string.action_run); - } - else { - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); - if(prefs.getBoolean("logging", false)) - logger = new CSVWriter(this); - else - logger = null; - currentExecutor.execute(); - item.setTitle(R.string.action_stop); - } - return true; - } - if (id == R.id.action_edit) { - Intent intent = new Intent(this, EditActivity.class); - startActivity(intent); - return true; - } - if (id == R.id.action_settings) { - startActivity(new Intent(this, SettingsActivity.class)); - return true; - } - return super.onOptionsItemSelected(item); - } - - public static UeControlExecutor getExecutor() { - return currentExecutor; - } - - public static void logThroughput(double downThroughput, double upThroughput) { - if(logger == null || currentExecutor == null || currentExecutor.getRunningBehaviour() == null) - return; - - logger.write(currentExecutor.getRunningBehaviour().getName(), downThroughput, upThroughput); - } -} +package com.ericsson.uecontrol.gui; + +import android.app.ActionBar; +import android.app.FragmentManager; +import android.content.Intent; +import android.content.SharedPreferences; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.support.v4.app.FragmentActivity; +import android.view.Menu; +import android.view.MenuItem; + +import com.ericsson.uecontrol.R; +import com.ericsson.uecontrol.core.UeControlExecutor; +import com.ericsson.uecontrol.core.behaviour.UeBehaviourFtp; +import com.ericsson.uecontrol.core.behaviour.UeBehaviourSleep; +import com.ericsson.uecontrol.core.behaviour.UeBehaviourSurfing; +import com.ericsson.uecontrol.gui.fragments.BehaviourListFragment; +import com.ericsson.uecontrol.gui.fragments.NavigationDrawerFragment; +import com.ericsson.uecontrol.gui.fragments.StatusFragment; +import com.ericsson.uecontrol.gui.util.CSVWriter; + + +public class MainActivity extends FragmentActivity { + + /** + * Fragment managing the behaviors, interactions and presentation of the navigation drawer. + */ + private NavigationDrawerFragment navigationDrawerFragment; + private StatusFragment statusFragment; + + private static UeControlExecutor currentExecutor; + private static CSVWriter logger; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + //navigationDrawerFragment = (NavigationDrawerFragment) + // getFragmentManager().findFragmentById(R.id.navigation_drawer); + statusFragment = (StatusFragment) + getFragmentManager().findFragmentById(R.id.status_fragment); + getFragmentManager().beginTransaction() + .replace(R.id.container, BehaviourListFragment.newInstance()).commit(); + + // Set up the drawer. + //navigationDrawerFragment.setUp( + // R.id.navigation_drawer, + // (DrawerLayout) findViewById(R.id.drawer_layout)); + + currentExecutor = new UeControlExecutor(); + currentExecutor.addBehaviour(new UeBehaviourSleep()); + currentExecutor.addBehaviour(new UeBehaviourSurfing()); + currentExecutor.addBehaviour(new UeBehaviourSleep(4000)); + currentExecutor.setThroughputListener(statusFragment.getThroughputListener()); + } + + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + if (navigationDrawerFragment == null || !navigationDrawerFragment.isDrawerOpen()) { + // Only show items in the action bar relevant to this screen + // if the drawer is not showing. Otherwise, let the drawer + // decide what to show in the action bar. + getMenuInflater().inflate(R.menu.main, menu); + + ActionBar actionBar = getActionBar(); + actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); + actionBar.setDisplayShowTitleEnabled(true); + + return true; + } + return super.onCreateOptionsMenu(menu); + } + + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + if (id == R.id.action_execute) { + if(currentExecutor.isRunning()){ + currentExecutor.terminate(); + item.setTitle(R.string.action_run); + } + else { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + if(prefs.getBoolean("logging", false)) + logger = new CSVWriter(this); + else + logger = null; + currentExecutor.execute(); + item.setTitle(R.string.action_stop); + } + return true; + } + if (id == R.id.action_edit) { + Intent intent = new Intent(this, EditActivity.class); + startActivity(intent); + return true; + } + if (id == R.id.action_settings) { + startActivity(new Intent(this, SettingsActivity.class)); + return true; + } + return super.onOptionsItemSelected(item); + } + + public static UeControlExecutor getExecutor() { + return currentExecutor; + } + + public static void logThroughput(double downThroughput, double upThroughput) { + if(logger == null || currentExecutor == null || currentExecutor.getRunningBehaviour() == null) + return; + + logger.write(currentExecutor.getRunningBehaviour().getName(), downThroughput, upThroughput); + } +} diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/SettingsActivity.java b/app/src/main/java/com/ericsson/uecontrol/gui/SettingsActivity.java index f5e8e26..eee0067 100755 --- a/app/src/main/java/com/ericsson/uecontrol/gui/SettingsActivity.java +++ b/app/src/main/java/com/ericsson/uecontrol/gui/SettingsActivity.java @@ -1,43 +1,43 @@ -package com.ericsson.uecontrol.gui; - -import android.app.Activity; -import android.content.Intent; -import android.os.Bundle; -import android.preference.Preference; -import android.preference.PreferenceFragment; - -import com.ericsson.uecontrol.R; - -public class SettingsActivity extends Activity { - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - // Display the fragment as the main content. - getFragmentManager().beginTransaction() - .replace(android.R.id.content, new SettingsFragment()) - .commit(); - - } - - - public static class SettingsFragment extends PreferenceFragment { - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - // Load the preferences from an XML resource - addPreferencesFromResource(R.xml.preferences); - - // Setup About intent - Preference aboutPreference = findPreference("about"); - aboutPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener(){ - public boolean onPreferenceClick(Preference preference) { - startActivity(new Intent(getActivity(), AboutActivity.class)); - return true; - } - }); - } - } -} - +package com.ericsson.uecontrol.gui; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; +import android.preference.Preference; +import android.preference.PreferenceFragment; + +import com.ericsson.uecontrol.R; + +public class SettingsActivity extends Activity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + // Display the fragment as the main content. + getFragmentManager().beginTransaction() + .replace(android.R.id.content, new SettingsFragment()) + .commit(); + + } + + + public static class SettingsFragment extends PreferenceFragment { + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + // Load the preferences from an XML resource + addPreferencesFromResource(R.xml.preferences); + + // Setup About intent + Preference aboutPreference = findPreference("about"); + aboutPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener(){ + public boolean onPreferenceClick(Preference preference) { + startActivity(new Intent(getActivity(), AboutActivity.class)); + return true; + } + }); + } + } +} + diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/fragments/BehaviourListFragment.java b/app/src/main/java/com/ericsson/uecontrol/gui/fragments/BehaviourListFragment.java index d802f7e..e663d61 100755 --- a/app/src/main/java/com/ericsson/uecontrol/gui/fragments/BehaviourListFragment.java +++ b/app/src/main/java/com/ericsson/uecontrol/gui/fragments/BehaviourListFragment.java @@ -1,92 +1,92 @@ -package com.ericsson.uecontrol.gui.fragments; - -import android.app.Fragment; -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.AdapterView; -import android.widget.TextView; - -import com.ericsson.uecontrol.R; -import com.ericsson.uecontrol.core.UeControlExecutor; -import com.ericsson.uecontrol.gui.MainActivity; -import com.ericsson.uecontrol.gui.util.BehaviourListAdapter; - -import java.util.ArrayList; - -/** - * This fragment will show a read only list of defined UeBehaviours - */ -public class BehaviourListFragment extends Fragment { - - /** - * The fragment's ListView/GridView. - */ - private AdapterView listView; - - /** - * The Adapter which will be used to populate the ListView/GridView with - * Views. - */ - private BehaviourListAdapter adapter; - private UeControlExecutor executor; - - public static BehaviourListFragment newInstance() { - BehaviourListFragment f = new BehaviourListFragment(); - // Supply index input as an argument. - //Bundle args = new Bundle(); - //args.putInt("executor", index); - //f.setArguments(args); - return f; - } - - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - if(MainActivity.getExecutor() != null) { - UeControlExecutor executor = MainActivity.getExecutor(); - adapter = new BehaviourListAdapter(getActivity(), executor.getBehaviourList()); - } - else - adapter = new BehaviourListAdapter(getActivity(), new ArrayList()); - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.fragment_item, container, false); - - // Set the adapter - listView = (AdapterView) view.findViewById(android.R.id.list); - listView.setAdapter(adapter); - - setEmptyText("No Behaviours Defined"); - - return view; - } - - @Override - public void onResume() { - adapter.generateIds(); - adapter.notifyDataSetChanged(); - super.onResume(); - } - - - /** - * The default content for this Fragment has a TextView that is shown when - * the list is empty. If you would like to change the text, call this method - * to supply the text it should use. - */ - public void setEmptyText(CharSequence emptyText) { - View emptyView = listView.getEmptyView(); - - if (emptyText instanceof TextView) { - ((TextView) emptyView).setText(emptyText); - } - } - -} +package com.ericsson.uecontrol.gui.fragments; + +import android.app.Fragment; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.TextView; + +import com.ericsson.uecontrol.R; +import com.ericsson.uecontrol.core.UeControlExecutor; +import com.ericsson.uecontrol.gui.MainActivity; +import com.ericsson.uecontrol.gui.util.BehaviourListAdapter; + +import java.util.ArrayList; + +/** + * This fragment will show a read only list of defined UeBehaviours + */ +public class BehaviourListFragment extends Fragment { + + /** + * The fragment's ListView/GridView. + */ + private AdapterView listView; + + /** + * The Adapter which will be used to populate the ListView/GridView with + * Views. + */ + private BehaviourListAdapter adapter; + private UeControlExecutor executor; + + public static BehaviourListFragment newInstance() { + BehaviourListFragment f = new BehaviourListFragment(); + // Supply index input as an argument. + //Bundle args = new Bundle(); + //args.putInt("executor", index); + //f.setArguments(args); + return f; + } + + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + if(MainActivity.getExecutor() != null) { + UeControlExecutor executor = MainActivity.getExecutor(); + adapter = new BehaviourListAdapter(getActivity(), executor.getBehaviourList()); + } + else + adapter = new BehaviourListAdapter(getActivity(), new ArrayList()); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_item, container, false); + + // Set the adapter + listView = (AdapterView) view.findViewById(android.R.id.list); + listView.setAdapter(adapter); + + setEmptyText("No Behaviours Defined"); + + return view; + } + + @Override + public void onResume() { + adapter.generateIds(); + adapter.notifyDataSetChanged(); + super.onResume(); + } + + + /** + * The default content for this Fragment has a TextView that is shown when + * the list is empty. If you would like to change the text, call this method + * to supply the text it should use. + */ + public void setEmptyText(CharSequence emptyText) { + View emptyView = listView.getEmptyView(); + + if (emptyText instanceof TextView) { + ((TextView) emptyView).setText(emptyText); + } + } + +} diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/fragments/NavigationDrawerFragment.java b/app/src/main/java/com/ericsson/uecontrol/gui/fragments/NavigationDrawerFragment.java index 9f6f35d..cd2b79c 100755 --- a/app/src/main/java/com/ericsson/uecontrol/gui/fragments/NavigationDrawerFragment.java +++ b/app/src/main/java/com/ericsson/uecontrol/gui/fragments/NavigationDrawerFragment.java @@ -1,283 +1,283 @@ -package com.ericsson.uecontrol.gui.fragments; - - -import android.app.ActionBar; -import android.app.Activity; -import android.app.Fragment; -import android.content.SharedPreferences; -import android.content.res.Configuration; -import android.os.Bundle; -import android.preference.PreferenceManager; -import android.support.v4.app.ActionBarDrawerToggle; -import android.support.v4.view.GravityCompat; -import android.support.v4.widget.DrawerLayout; -import android.view.LayoutInflater; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; -import android.view.View; -import android.view.ViewGroup; -import android.widget.AdapterView; -import android.widget.ArrayAdapter; -import android.widget.ListView; -import android.widget.Toast; - -import com.ericsson.uecontrol.R; - -/** - * Fragment used for managing interactions for and presentation of a navigation drawer. - * See the - * design guidelines for a complete explanation of the behaviors implemented here. - */ -public class NavigationDrawerFragment extends Fragment { - - /** - * Remember the position of the selected item. - */ - private static final String STATE_SELECTED_POSITION = "selected_navigation_drawer_position"; - - /** - * Per the design guidelines, you should show the drawer on launch until the user manually - * expands it. This shared preference tracks this. - */ - private static final String PREF_USER_LEARNED_DRAWER = "navigation_drawer_learned"; - - /** - * A pointer to the current callbacks instance (the Activity). - */ - private NavigationDrawerCallbacks mCallbacks; - - /** - * Helper component that ties the action bar to the navigation drawer. - */ - private ActionBarDrawerToggle mDrawerToggle; - - private DrawerLayout mDrawerLayout; - private ListView mDrawerListView; - private View mFragmentContainerView; - - private int mCurrentSelectedPosition = 0; - private boolean mFromSavedInstanceState; - private boolean mUserLearnedDrawer; - - - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - // Read in the flag indicating whether or not the user has demonstrated awareness of the - // drawer. See PREF_USER_LEARNED_DRAWER for details. - SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity()); - mUserLearnedDrawer = sp.getBoolean(PREF_USER_LEARNED_DRAWER, false); - - if (savedInstanceState != null) { - mCurrentSelectedPosition = savedInstanceState.getInt(STATE_SELECTED_POSITION); - mFromSavedInstanceState = true; - } - - // Select either the default item (0) or the last selected item. - selectItem(mCurrentSelectedPosition); - } - - @Override - public void onActivityCreated (Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - // Indicate that this fragment would like to influence the set of actions in the action bar. - setHasOptionsMenu(true); - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - mDrawerListView = (ListView) inflater.inflate( - R.layout.fragment_navigation_drawer, container, false); - mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { - @Override - public void onItemClick(AdapterView parent, View view, int position, long id) { - selectItem(position); - } - }); - mDrawerListView.setAdapter(new ArrayAdapter( - getActionBar().getThemedContext(), - android.R.layout.simple_list_item_activated_1, - android.R.id.text1, - new String[]{ - getString(R.string.title_section1), - getString(R.string.title_section2), - getString(R.string.title_section3), - })); - mDrawerListView.setItemChecked(mCurrentSelectedPosition, true); - return mDrawerListView; - } - - public boolean isDrawerOpen() { - return mDrawerLayout != null && mDrawerLayout.isDrawerOpen(mFragmentContainerView); - } - - /** - * Users of this fragment must call this method to set up the navigation drawer interactions. - * - * @param fragmentId The android:id of this fragment in its activity's layout. - * @param drawerLayout The DrawerLayout containing this fragment's UI. - */ - public void setUp(int fragmentId, DrawerLayout drawerLayout) { - mFragmentContainerView = getActivity().findViewById(fragmentId); - mDrawerLayout = drawerLayout; - - // set a custom shadow that overlays the main content when the drawer opens - mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); - // set up the drawer's list view with items and click listener - - ActionBar actionBar = getActionBar(); - actionBar.setDisplayHomeAsUpEnabled(true); - actionBar.setHomeButtonEnabled(true); - - // ActionBarDrawerToggle ties together the the proper interactions - // between the navigation drawer and the action bar app icon. - mDrawerToggle = new ActionBarDrawerToggle( - getActivity(), /* host Activity */ - mDrawerLayout, /* DrawerLayout object */ - R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */ - R.string.navigation_drawer_open, /* "open drawer" description for accessibility */ - R.string.navigation_drawer_close /* "close drawer" description for accessibility */ - ) { - @Override - public void onDrawerClosed(View drawerView) { - super.onDrawerClosed(drawerView); - if (!isAdded()) { - return; - } - - getActivity().invalidateOptionsMenu(); // calls onPrepareOptionsMenu() - } - - @Override - public void onDrawerOpened(View drawerView) { - super.onDrawerOpened(drawerView); - if (!isAdded()) { - return; - } - - if (!mUserLearnedDrawer) { - // The user manually opened the drawer; store this flag to prevent auto-showing - // the navigation drawer automatically in the future. - mUserLearnedDrawer = true; - SharedPreferences sp = PreferenceManager - .getDefaultSharedPreferences(getActivity()); - sp.edit().putBoolean(PREF_USER_LEARNED_DRAWER, true).apply(); - } - - getActivity().invalidateOptionsMenu(); // calls onPrepareOptionsMenu() - } - }; - - // If the user hasn't 'learned' about the drawer, open it to introduce them to the drawer, - // per the navigation drawer design guidelines. - if (!mUserLearnedDrawer && !mFromSavedInstanceState) { - mDrawerLayout.openDrawer(mFragmentContainerView); - } - - // Defer code dependent on restoration of previous instance state. - mDrawerLayout.post(new Runnable() { - @Override - public void run() { - mDrawerToggle.syncState(); - } - }); - - mDrawerLayout.setDrawerListener(mDrawerToggle); - } - - private void selectItem(int position) { - mCurrentSelectedPosition = position; - if (mDrawerListView != null) { - mDrawerListView.setItemChecked(position, true); - } - if (mDrawerLayout != null) { - mDrawerLayout.closeDrawer(mFragmentContainerView); - } - if (mCallbacks != null) { - mCallbacks.onNavigationDrawerItemSelected(position); - } - } - - @Override - public void onAttach(Activity activity) { - super.onAttach(activity); - try { - mCallbacks = (NavigationDrawerCallbacks) activity; - } catch (ClassCastException e) { - throw new ClassCastException("Activity must implement NavigationDrawerCallbacks."); - } - } - - @Override - public void onDetach() { - super.onDetach(); - mCallbacks = null; - } - - @Override - public void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - outState.putInt(STATE_SELECTED_POSITION, mCurrentSelectedPosition); - } - - @Override - public void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - // Forward the new configuration the drawer toggle component. - mDrawerToggle.onConfigurationChanged(newConfig); - } - - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - // If the drawer is open, show the global app actions in the action bar. See also - // showGlobalContextActionBar, which controls the top-left area of the action bar. - if (mDrawerLayout != null && isDrawerOpen()) { - inflater.inflate(R.menu.global, menu); - showGlobalContextActionBar(); - } - super.onCreateOptionsMenu(menu, inflater); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - if (mDrawerToggle.onOptionsItemSelected(item)) { - return true; - } - - if (item.getItemId() == R.id.action_execute) { - Toast.makeText(getActivity(), "Running", Toast.LENGTH_SHORT).show(); - return true; - } - - return super.onOptionsItemSelected(item); - } - - /** - * Per the navigation drawer design guidelines, updates the action bar to show the global app - * 'context', rather than just what's in the current screen. - */ - private void showGlobalContextActionBar() { - ActionBar actionBar = getActionBar(); - actionBar.setDisplayShowTitleEnabled(true); - actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); - actionBar.setTitle(R.string.app_name); - } - - private ActionBar getActionBar() { - return getActivity().getActionBar(); - } - - /** - * Callbacks interface that all activities using this fragment must implement. - */ - public static interface NavigationDrawerCallbacks { - /** - * Called when an item in the navigation drawer is selected. - */ - void onNavigationDrawerItemSelected(int position); - } -} +package com.ericsson.uecontrol.gui.fragments; + + +import android.app.ActionBar; +import android.app.Activity; +import android.app.Fragment; +import android.content.SharedPreferences; +import android.content.res.Configuration; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.support.v4.app.ActionBarDrawerToggle; +import android.support.v4.view.GravityCompat; +import android.support.v4.widget.DrawerLayout; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.ListView; +import android.widget.Toast; + +import com.ericsson.uecontrol.R; + +/** + * Fragment used for managing interactions for and presentation of a navigation drawer. + * See the + * design guidelines for a complete explanation of the behaviors implemented here. + */ +public class NavigationDrawerFragment extends Fragment { + + /** + * Remember the position of the selected item. + */ + private static final String STATE_SELECTED_POSITION = "selected_navigation_drawer_position"; + + /** + * Per the design guidelines, you should show the drawer on launch until the user manually + * expands it. This shared preference tracks this. + */ + private static final String PREF_USER_LEARNED_DRAWER = "navigation_drawer_learned"; + + /** + * A pointer to the current callbacks instance (the Activity). + */ + private NavigationDrawerCallbacks mCallbacks; + + /** + * Helper component that ties the action bar to the navigation drawer. + */ + private ActionBarDrawerToggle mDrawerToggle; + + private DrawerLayout mDrawerLayout; + private ListView mDrawerListView; + private View mFragmentContainerView; + + private int mCurrentSelectedPosition = 0; + private boolean mFromSavedInstanceState; + private boolean mUserLearnedDrawer; + + + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + // Read in the flag indicating whether or not the user has demonstrated awareness of the + // drawer. See PREF_USER_LEARNED_DRAWER for details. + SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity()); + mUserLearnedDrawer = sp.getBoolean(PREF_USER_LEARNED_DRAWER, false); + + if (savedInstanceState != null) { + mCurrentSelectedPosition = savedInstanceState.getInt(STATE_SELECTED_POSITION); + mFromSavedInstanceState = true; + } + + // Select either the default item (0) or the last selected item. + selectItem(mCurrentSelectedPosition); + } + + @Override + public void onActivityCreated (Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + // Indicate that this fragment would like to influence the set of actions in the action bar. + setHasOptionsMenu(true); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + mDrawerListView = (ListView) inflater.inflate( + R.layout.fragment_navigation_drawer, container, false); + mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + selectItem(position); + } + }); + mDrawerListView.setAdapter(new ArrayAdapter( + getActionBar().getThemedContext(), + android.R.layout.simple_list_item_activated_1, + android.R.id.text1, + new String[]{ + getString(R.string.title_section1), + getString(R.string.title_section2), + getString(R.string.title_section3), + })); + mDrawerListView.setItemChecked(mCurrentSelectedPosition, true); + return mDrawerListView; + } + + public boolean isDrawerOpen() { + return mDrawerLayout != null && mDrawerLayout.isDrawerOpen(mFragmentContainerView); + } + + /** + * Users of this fragment must call this method to set up the navigation drawer interactions. + * + * @param fragmentId The android:id of this fragment in its activity's layout. + * @param drawerLayout The DrawerLayout containing this fragment's UI. + */ + public void setUp(int fragmentId, DrawerLayout drawerLayout) { + mFragmentContainerView = getActivity().findViewById(fragmentId); + mDrawerLayout = drawerLayout; + + // set a custom shadow that overlays the main content when the drawer opens + mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); + // set up the drawer's list view with items and click listener + + ActionBar actionBar = getActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); + actionBar.setHomeButtonEnabled(true); + + // ActionBarDrawerToggle ties together the the proper interactions + // between the navigation drawer and the action bar app icon. + mDrawerToggle = new ActionBarDrawerToggle( + getActivity(), /* host Activity */ + mDrawerLayout, /* DrawerLayout object */ + R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */ + R.string.navigation_drawer_open, /* "open drawer" description for accessibility */ + R.string.navigation_drawer_close /* "close drawer" description for accessibility */ + ) { + @Override + public void onDrawerClosed(View drawerView) { + super.onDrawerClosed(drawerView); + if (!isAdded()) { + return; + } + + getActivity().invalidateOptionsMenu(); // calls onPrepareOptionsMenu() + } + + @Override + public void onDrawerOpened(View drawerView) { + super.onDrawerOpened(drawerView); + if (!isAdded()) { + return; + } + + if (!mUserLearnedDrawer) { + // The user manually opened the drawer; store this flag to prevent auto-showing + // the navigation drawer automatically in the future. + mUserLearnedDrawer = true; + SharedPreferences sp = PreferenceManager + .getDefaultSharedPreferences(getActivity()); + sp.edit().putBoolean(PREF_USER_LEARNED_DRAWER, true).apply(); + } + + getActivity().invalidateOptionsMenu(); // calls onPrepareOptionsMenu() + } + }; + + // If the user hasn't 'learned' about the drawer, open it to introduce them to the drawer, + // per the navigation drawer design guidelines. + if (!mUserLearnedDrawer && !mFromSavedInstanceState) { + mDrawerLayout.openDrawer(mFragmentContainerView); + } + + // Defer code dependent on restoration of previous instance state. + mDrawerLayout.post(new Runnable() { + @Override + public void run() { + mDrawerToggle.syncState(); + } + }); + + mDrawerLayout.setDrawerListener(mDrawerToggle); + } + + private void selectItem(int position) { + mCurrentSelectedPosition = position; + if (mDrawerListView != null) { + mDrawerListView.setItemChecked(position, true); + } + if (mDrawerLayout != null) { + mDrawerLayout.closeDrawer(mFragmentContainerView); + } + if (mCallbacks != null) { + mCallbacks.onNavigationDrawerItemSelected(position); + } + } + + @Override + public void onAttach(Activity activity) { + super.onAttach(activity); + try { + mCallbacks = (NavigationDrawerCallbacks) activity; + } catch (ClassCastException e) { + throw new ClassCastException("Activity must implement NavigationDrawerCallbacks."); + } + } + + @Override + public void onDetach() { + super.onDetach(); + mCallbacks = null; + } + + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + outState.putInt(STATE_SELECTED_POSITION, mCurrentSelectedPosition); + } + + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + // Forward the new configuration the drawer toggle component. + mDrawerToggle.onConfigurationChanged(newConfig); + } + + @Override + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { + // If the drawer is open, show the global app actions in the action bar. See also + // showGlobalContextActionBar, which controls the top-left area of the action bar. + if (mDrawerLayout != null && isDrawerOpen()) { + inflater.inflate(R.menu.global, menu); + showGlobalContextActionBar(); + } + super.onCreateOptionsMenu(menu, inflater); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (mDrawerToggle.onOptionsItemSelected(item)) { + return true; + } + + if (item.getItemId() == R.id.action_execute) { + Toast.makeText(getActivity(), "Running", Toast.LENGTH_SHORT).show(); + return true; + } + + return super.onOptionsItemSelected(item); + } + + /** + * Per the navigation drawer design guidelines, updates the action bar to show the global app + * 'context', rather than just what's in the current screen. + */ + private void showGlobalContextActionBar() { + ActionBar actionBar = getActionBar(); + actionBar.setDisplayShowTitleEnabled(true); + actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); + actionBar.setTitle(R.string.app_name); + } + + private ActionBar getActionBar() { + return getActivity().getActionBar(); + } + + /** + * Callbacks interface that all activities using this fragment must implement. + */ + public static interface NavigationDrawerCallbacks { + /** + * Called when an item in the navigation drawer is selected. + */ + void onNavigationDrawerItemSelected(int position); + } +} diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/fragments/SelectBehaviourDialog.java b/app/src/main/java/com/ericsson/uecontrol/gui/fragments/SelectBehaviourDialog.java index ebfeaa4..b830108 100755 --- a/app/src/main/java/com/ericsson/uecontrol/gui/fragments/SelectBehaviourDialog.java +++ b/app/src/main/java/com/ericsson/uecontrol/gui/fragments/SelectBehaviourDialog.java @@ -1,65 +1,65 @@ -package com.ericsson.uecontrol.gui.fragments; - -import android.app.AlertDialog; -import android.app.Dialog; -import android.app.DialogFragment; -import android.content.DialogInterface; -import android.os.Bundle; - -import com.ericsson.uecontrol.R; -import com.ericsson.uecontrol.core.UeBehaviour; - -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class SelectBehaviourDialog extends DialogFragment { - public static String[] behaviourClasses; - public static String[] behaviourNames; - - private BehaviourSelectionCallback callback; - - - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - // Generate nice behaviour names - if(behaviourClasses == null) { - behaviourClasses = getResources().getStringArray(R.array.behaviours); - behaviourNames = new String[behaviourClasses.length]; - - for (int i = 0; i < behaviourClasses.length; i++) { - try { - UeBehaviour obj = (UeBehaviour) Class.forName(behaviourClasses[i]).newInstance(); - behaviourNames[i] = obj.getName(); - }catch(Exception e){ - e.printStackTrace(); - behaviourNames[i] = behaviourClasses[i]; - } - } - } - - // Create dialog - AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - builder.setTitle(R.string.select_behaviour); - builder.setItems(behaviourNames, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - try { - if (callback != null){ - Class objClass = Class.forName(behaviourClasses[which]); - callback.behaviourSelected(behaviourNames[which], objClass); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - return builder.create(); - } - - public void setSelectionCallback(BehaviourSelectionCallback c){ - callback = c; - } - - public static interface BehaviourSelectionCallback{ - public void behaviourSelected(String name, Class objClass); - } +package com.ericsson.uecontrol.gui.fragments; + +import android.app.AlertDialog; +import android.app.Dialog; +import android.app.DialogFragment; +import android.content.DialogInterface; +import android.os.Bundle; + +import com.ericsson.uecontrol.R; +import com.ericsson.uecontrol.core.UeBehaviour; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class SelectBehaviourDialog extends DialogFragment { + public static String[] behaviourClasses; + public static String[] behaviourNames; + + private BehaviourSelectionCallback callback; + + + @Override + public Dialog onCreateDialog(Bundle savedInstanceState) { + // Generate nice behaviour names + if(behaviourClasses == null) { + behaviourClasses = getResources().getStringArray(R.array.behaviours); + behaviourNames = new String[behaviourClasses.length]; + + for (int i = 0; i < behaviourClasses.length; i++) { + try { + UeBehaviour obj = (UeBehaviour) Class.forName(behaviourClasses[i]).newInstance(); + behaviourNames[i] = obj.getName(); + }catch(Exception e){ + e.printStackTrace(); + behaviourNames[i] = behaviourClasses[i]; + } + } + } + + // Create dialog + AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); + builder.setTitle(R.string.select_behaviour); + builder.setItems(behaviourNames, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + try { + if (callback != null){ + Class objClass = Class.forName(behaviourClasses[which]); + callback.behaviourSelected(behaviourNames[which], objClass); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + return builder.create(); + } + + public void setSelectionCallback(BehaviourSelectionCallback c){ + callback = c; + } + + public static interface BehaviourSelectionCallback{ + public void behaviourSelected(String name, Class objClass); + } } \ No newline at end of file diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/fragments/StatusFragment.java b/app/src/main/java/com/ericsson/uecontrol/gui/fragments/StatusFragment.java index b2a5f30..f605a03 100755 --- a/app/src/main/java/com/ericsson/uecontrol/gui/fragments/StatusFragment.java +++ b/app/src/main/java/com/ericsson/uecontrol/gui/fragments/StatusFragment.java @@ -1,92 +1,92 @@ -package com.ericsson.uecontrol.gui.fragments; - -import android.app.Fragment; -import android.content.Context; -import android.graphics.Color; -import android.net.ConnectivityManager; -import android.net.NetworkInfo; -import android.net.wifi.WifiInfo; -import android.net.wifi.WifiManager; -import android.os.Bundle; -import android.telephony.TelephonyManager; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.LinearLayout; -import android.widget.LinearLayout.LayoutParams; -import android.widget.TextView; - -import com.ericsson.uecontrol.R; -import com.ericsson.uecontrol.core.UeControlExecutor; -import com.ericsson.uecontrol.core.util.ThroughputCalculator; -import com.ericsson.uecontrol.gui.MainActivity; -import com.ericsson.uecontrol.gui.util.CSVWriter; -import com.jjoe64.graphview.GraphView.GraphViewData; -import com.jjoe64.graphview.GraphViewSeries; -import com.jjoe64.graphview.GraphViewSeries.GraphViewSeriesStyle; -import com.jjoe64.graphview.GraphViewStyle; -import com.jjoe64.graphview.LineGraphView; - - -/** - * Created by ezivkoc on 2014-07-15. - */ -public class StatusFragment extends Fragment { - private TextView down_speed; - private TextView up_speed; - private GraphViewSeries downGraph; - private GraphViewSeries upGraph; - private int x = 0; - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - // Inflate the layout for this fragment - View view = inflater.inflate(R.layout.fragment_status, container, false); - - down_speed = (TextView) view.findViewById(R.id.down_speed); - up_speed = (TextView) view.findViewById(R.id.up_speed); - - // Init the graph - GraphViewData[] zeroPoint = new GraphViewData[]{new GraphViewData(0, 0)}; - downGraph = new GraphViewSeries("Download Throughput", new GraphViewSeriesStyle(Color.GREEN, 3), zeroPoint); - upGraph = new GraphViewSeries("Upload Throughput" , new GraphViewSeriesStyle(Color.RED , 3), zeroPoint); - - LineGraphView graphView = new LineGraphView(this.getActivity(), "GraphViewDemo"); - graphView.addSeries(downGraph); - graphView.addSeries(upGraph); - //graphView.setDrawDataPoints(true); - graphView.setScrollable(true); - graphView.setViewPort(0, 120); - graphView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); - graphView.getGraphViewStyle().setGridStyle(GraphViewStyle.GridStyle.BOTH); - - LinearLayout layout = (LinearLayout) view.findViewById(R.id.graph); - layout.addView(graphView); - - return view; - } - - - private UeControlExecutor.ThroughputListener throughputListener = - new UeControlExecutor.ThroughputListener() { - public void throughputUpdate(final double downThroughput, final double upThroughput) { - if(down_speed != null && up_speed != null) - down_speed.post(new Runnable() { - @Override - public void run() { - down_speed.setText(ThroughputCalculator.getBitThroughputString(downThroughput)); - up_speed.setText(ThroughputCalculator.getBitThroughputString(upThroughput)); - downGraph.appendData(new GraphViewData(x, downThroughput), true, 120); - upGraph.appendData(new GraphViewData(x, upThroughput), true, 120); - x++; - - MainActivity.logThroughput(downThroughput, upThroughput); - } - }); - } - }; - public UeControlExecutor.ThroughputListener getThroughputListener(){ - return throughputListener; - } +package com.ericsson.uecontrol.gui.fragments; + +import android.app.Fragment; +import android.content.Context; +import android.graphics.Color; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; +import android.os.Bundle; +import android.telephony.TelephonyManager; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.LinearLayout; +import android.widget.LinearLayout.LayoutParams; +import android.widget.TextView; + +import com.ericsson.uecontrol.R; +import com.ericsson.uecontrol.core.UeControlExecutor; +import com.ericsson.uecontrol.core.util.ThroughputCalculator; +import com.ericsson.uecontrol.gui.MainActivity; +import com.ericsson.uecontrol.gui.util.CSVWriter; +import com.jjoe64.graphview.GraphView.GraphViewData; +import com.jjoe64.graphview.GraphViewSeries; +import com.jjoe64.graphview.GraphViewSeries.GraphViewSeriesStyle; +import com.jjoe64.graphview.GraphViewStyle; +import com.jjoe64.graphview.LineGraphView; + + +/** + * Created by ezivkoc on 2014-07-15. + */ +public class StatusFragment extends Fragment { + private TextView down_speed; + private TextView up_speed; + private GraphViewSeries downGraph; + private GraphViewSeries upGraph; + private int x = 0; + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + View view = inflater.inflate(R.layout.fragment_status, container, false); + + down_speed = (TextView) view.findViewById(R.id.down_speed); + up_speed = (TextView) view.findViewById(R.id.up_speed); + + // Init the graph + GraphViewData[] zeroPoint = new GraphViewData[]{new GraphViewData(0, 0)}; + downGraph = new GraphViewSeries("Download Throughput", new GraphViewSeriesStyle(Color.GREEN, 3), zeroPoint); + upGraph = new GraphViewSeries("Upload Throughput" , new GraphViewSeriesStyle(Color.RED , 3), zeroPoint); + + LineGraphView graphView = new LineGraphView(this.getActivity(), "GraphViewDemo"); + graphView.addSeries(downGraph); + graphView.addSeries(upGraph); + //graphView.setDrawDataPoints(true); + graphView.setScrollable(true); + graphView.setViewPort(0, 120); + graphView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); + graphView.getGraphViewStyle().setGridStyle(GraphViewStyle.GridStyle.BOTH); + + LinearLayout layout = (LinearLayout) view.findViewById(R.id.graph); + layout.addView(graphView); + + return view; + } + + + private UeControlExecutor.ThroughputListener throughputListener = + new UeControlExecutor.ThroughputListener() { + public void throughputUpdate(final double downThroughput, final double upThroughput) { + if(down_speed != null && up_speed != null) + down_speed.post(new Runnable() { + @Override + public void run() { + down_speed.setText(ThroughputCalculator.getBitThroughputString(downThroughput)); + up_speed.setText(ThroughputCalculator.getBitThroughputString(upThroughput)); + downGraph.appendData(new GraphViewData(x, downThroughput), true, 120); + upGraph.appendData(new GraphViewData(x, upThroughput), true, 120); + x++; + + MainActivity.logThroughput(downThroughput, upThroughput); + } + }); + } + }; + public UeControlExecutor.ThroughputListener getThroughputListener(){ + return throughputListener; + } } \ No newline at end of file diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/util/BehaviourListAdapter.java b/app/src/main/java/com/ericsson/uecontrol/gui/util/BehaviourListAdapter.java index dee261d..aeca954 100755 --- a/app/src/main/java/com/ericsson/uecontrol/gui/util/BehaviourListAdapter.java +++ b/app/src/main/java/com/ericsson/uecontrol/gui/util/BehaviourListAdapter.java @@ -1,92 +1,92 @@ -package com.ericsson.uecontrol.gui.util; - -import android.app.Activity; -import android.content.Context; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.ProgressBar; -import android.widget.TextView; - -import com.ericsson.uecontrol.R; -import com.ericsson.uecontrol.core.UeBehaviour; - -import java.util.List; - -/** - * Created by ezivkoc on 2014-07-15. - */ -public class BehaviourListAdapter extends StableArrayAdapter{ - private static final int VIEW_RESOURCE = R.layout.behaviour_list_item; - - private static LayoutInflater inflater = null; - - private boolean editable = false; - - public BehaviourListAdapter(Activity a, List objects) { - super(a, VIEW_RESOURCE, objects); - inflater = (LayoutInflater)a.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - } - - - public View getView(int position, View convertView, ViewGroup parent) { - View vi = convertView; - if(convertView==null) - vi = inflater.inflate(VIEW_RESOURCE, null); - - ImageView draggable = (ImageView)vi.findViewById(R.id.draggable); - TextView title = (TextView)vi.findViewById(R.id.title); - TextView description = (TextView)vi.findViewById(R.id.description); - final ImageView warning = (ImageView) vi.findViewById(R.id.warning); - final ProgressBar active = (ProgressBar)vi.findViewById(R.id.active); - final ProgressBar progress = (ProgressBar) vi.findViewById(R.id.progress); - - UeBehaviour behaviour = super.getItem(position); - - // Setting all values in listview - title.setText(behaviour.getName()); - description.setText(behaviour.toString()); - - if(editable) - draggable.setVisibility(View.VISIBLE); - - behaviour.setExecutionListener(new UeBehaviour.BehaviourExecutionListener() { - public void executionStarted() { - progress.post(new Runnable() { - public void run() { - active.setVisibility(View.VISIBLE); - progress.setVisibility(View.VISIBLE); - warning.setVisibility(View.INVISIBLE); - } - }); - } - public void progressChanged(final float p) { - progress.setMax(100); - progress.setProgress((int) (p * 100)); - } - public void executionStopped() { - progress.post(new Runnable() { - public void run() { - active.setVisibility(View.INVISIBLE); - progress.setVisibility(View.INVISIBLE); - } - }); - } - public void exception(Exception e){ - warning.post(new Runnable() { - public void run() { - warning.setVisibility(View.VISIBLE); - } - }); - } - }); - - return vi; - } - - public void setEditable(boolean b) { - editable = b; - } - -} +package com.ericsson.uecontrol.gui.util; + +import android.app.Activity; +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.TextView; + +import com.ericsson.uecontrol.R; +import com.ericsson.uecontrol.core.UeBehaviour; + +import java.util.List; + +/** + * Created by ezivkoc on 2014-07-15. + */ +public class BehaviourListAdapter extends StableArrayAdapter{ + private static final int VIEW_RESOURCE = R.layout.behaviour_list_item; + + private static LayoutInflater inflater = null; + + private boolean editable = false; + + public BehaviourListAdapter(Activity a, List objects) { + super(a, VIEW_RESOURCE, objects); + inflater = (LayoutInflater)a.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + } + + + public View getView(int position, View convertView, ViewGroup parent) { + View vi = convertView; + if(convertView==null) + vi = inflater.inflate(VIEW_RESOURCE, null); + + ImageView draggable = (ImageView)vi.findViewById(R.id.draggable); + TextView title = (TextView)vi.findViewById(R.id.title); + TextView description = (TextView)vi.findViewById(R.id.description); + final ImageView warning = (ImageView) vi.findViewById(R.id.warning); + final ProgressBar active = (ProgressBar)vi.findViewById(R.id.active); + final ProgressBar progress = (ProgressBar) vi.findViewById(R.id.progress); + + UeBehaviour behaviour = super.getItem(position); + + // Setting all values in listview + title.setText(behaviour.getName()); + description.setText(behaviour.toString()); + + if(editable) + draggable.setVisibility(View.VISIBLE); + + behaviour.setExecutionListener(new UeBehaviour.BehaviourExecutionListener() { + public void executionStarted() { + progress.post(new Runnable() { + public void run() { + active.setVisibility(View.VISIBLE); + progress.setVisibility(View.VISIBLE); + warning.setVisibility(View.INVISIBLE); + } + }); + } + public void progressChanged(final float p) { + progress.setMax(100); + progress.setProgress((int) (p * 100)); + } + public void executionStopped() { + progress.post(new Runnable() { + public void run() { + active.setVisibility(View.INVISIBLE); + progress.setVisibility(View.INVISIBLE); + } + }); + } + public void exception(Exception e){ + warning.post(new Runnable() { + public void run() { + warning.setVisibility(View.VISIBLE); + } + }); + } + }); + + return vi; + } + + public void setEditable(boolean b) { + editable = b; + } + +} diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/util/Configurator.java b/app/src/main/java/com/ericsson/uecontrol/gui/util/Configurator.java index 7cf841b..d156c9b 100755 --- a/app/src/main/java/com/ericsson/uecontrol/gui/util/Configurator.java +++ b/app/src/main/java/com/ericsson/uecontrol/gui/util/Configurator.java @@ -1,112 +1,112 @@ -package com.ericsson.uecontrol.gui.util; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; -import java.util.ArrayList; - -/** - * Created by ezivkoc on 2014-07-24. - */ -public class Configurator { - /** - * Sets a field in a class as externally configurable. - */ - @Retention(RetentionPolicy.RUNTIME) // Make this annotation accessible at runtime via reflection. - @Target({ElementType.FIELD}) // This annotation can only be applied to class fields. - public static @interface Configurable{ - String value(); - } - - public static enum ConfigType{ - STRING, INT - } - - - private Object obj; - private ConfigurationParam[] params; - - public Configurator(Object obj){ - this.obj = obj; - this.params = getConfiguration(obj); - } - - public ConfigurationParam[] getConfiguration(){ - return params; - } - - protected ConfigurationParam[] getConfiguration(Object obj){ - Class c = obj.getClass(); - ArrayList conf = new ArrayList(); - - Field[] all = c.getDeclaredFields(); - for(Field f : all){ - if(f.isAnnotationPresent(Configurable.class) && !Modifier.isStatic(f.getModifiers())) { - try { - conf.add(new ConfigurationParam(f)); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - } - } - - return conf.toArray(new ConfigurationParam[conf.size()]); - } - - public void setConfiguration(){ - for(ConfigurationParam param : params){ - try { - param.set(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - } - } - - - public class ConfigurationParam{ - protected Field field; - protected String name; - protected String niceName; - protected ConfigType type; - protected Object value; - - - protected ConfigurationParam(Field f) throws IllegalAccessException { - field = f; - field.setAccessible(true); - name = field.getName(); - niceName = field.getAnnotation(Configurable.class).value(); - value = field.get(obj); - - if (f.getType() == String.class) type = ConfigType.STRING; - else if(f.getType() == int.class) type = ConfigType.INT; - - } - - public String getName(){return name;} - public String getNiceName(){return niceName;} - public ConfigType getType(){return type;} - - public String getString(){ - if(value == null) - return null; - return value.toString();} - - public void setString(String v){ - switch(type){ - case STRING: - value = v; break; - case INT: - value = Integer.parseInt(v); break; - } - } - - protected void set() throws IllegalAccessException { - field.set(obj, value); - } - } -} +package com.ericsson.uecontrol.gui.util; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.ArrayList; + +/** + * Created by ezivkoc on 2014-07-24. + */ +public class Configurator { + /** + * Sets a field in a class as externally configurable. + */ + @Retention(RetentionPolicy.RUNTIME) // Make this annotation accessible at runtime via reflection. + @Target({ElementType.FIELD}) // This annotation can only be applied to class fields. + public static @interface Configurable{ + String value(); + } + + public static enum ConfigType{ + STRING, INT + } + + + private Object obj; + private ConfigurationParam[] params; + + public Configurator(Object obj){ + this.obj = obj; + this.params = getConfiguration(obj); + } + + public ConfigurationParam[] getConfiguration(){ + return params; + } + + protected ConfigurationParam[] getConfiguration(Object obj){ + Class c = obj.getClass(); + ArrayList conf = new ArrayList(); + + Field[] all = c.getDeclaredFields(); + for(Field f : all){ + if(f.isAnnotationPresent(Configurable.class) && !Modifier.isStatic(f.getModifiers())) { + try { + conf.add(new ConfigurationParam(f)); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + } + + return conf.toArray(new ConfigurationParam[conf.size()]); + } + + public void setConfiguration(){ + for(ConfigurationParam param : params){ + try { + param.set(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + } + + + public class ConfigurationParam{ + protected Field field; + protected String name; + protected String niceName; + protected ConfigType type; + protected Object value; + + + protected ConfigurationParam(Field f) throws IllegalAccessException { + field = f; + field.setAccessible(true); + name = field.getName(); + niceName = field.getAnnotation(Configurable.class).value(); + value = field.get(obj); + + if (f.getType() == String.class) type = ConfigType.STRING; + else if(f.getType() == int.class) type = ConfigType.INT; + + } + + public String getName(){return name;} + public String getNiceName(){return niceName;} + public ConfigType getType(){return type;} + + public String getString(){ + if(value == null) + return null; + return value.toString();} + + public void setString(String v){ + switch(type){ + case STRING: + value = v; break; + case INT: + value = Integer.parseInt(v); break; + } + } + + protected void set() throws IllegalAccessException { + field.set(obj, value); + } + } +} diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/util/DynamicListView.java b/app/src/main/java/com/ericsson/uecontrol/gui/util/DynamicListView.java index 970df23..bc6b101 100755 --- a/app/src/main/java/com/ericsson/uecontrol/gui/util/DynamicListView.java +++ b/app/src/main/java/com/ericsson/uecontrol/gui/util/DynamicListView.java @@ -1,623 +1,623 @@ -/* - * Copyright (C) 2013 The Android Open Source Project - * https://android.googlesource.com/platform/development/+/master/samples/devbytes/animation/ListViewDraggingAnimation/src/com/example/android/listviewdragginganimation/DynamicListView.java - * Modified by Ziver Koc - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.ericsson.uecontrol.gui.util; - -import android.animation.Animator; -import android.animation.AnimatorListenerAdapter; -import android.animation.ObjectAnimator; -import android.animation.TypeEvaluator; -import android.animation.ValueAnimator; -import android.content.Context; -import android.graphics.Bitmap; -import android.graphics.Canvas; -import android.graphics.Color; -import android.graphics.Paint; -import android.graphics.Rect; -import android.graphics.drawable.BitmapDrawable; -import android.util.AttributeSet; -import android.util.DisplayMetrics; -import android.view.MotionEvent; -import android.view.View; -import android.view.ViewTreeObserver; -import android.widget.AbsListView; -import android.widget.ListAdapter; -import android.widget.ListView; - -/** - * The dynamic listview is an extension of listview that supports cell dragging - * and swapping. - *

- * This layout is in charge of positioning the hover cell in the correct location - * on the screen in response to user touch events. It uses the position of the - * hover cell to determine when two cells should be swapped. If two cells should - * be swapped, all the corresponding data set and layout changes are handled here. - *

- * If no cell is selected, all the touch events are passed down to the listview - * and behave normally. If one of the items in the listview experiences a - * long press event, the contents of its current visible state are captured as - * a bitmap and its visibility is set to INVISIBLE. A hover cell is then created and - * added to this layout as an overlaying BitmapDrawable above the listview. Once the - * hover cell is translated some distance to signify an item swap, a data set change - * accompanied by animation takes place. When the user releases the hover cell, - * it animates into its corresponding position in the listview. - *

- * When the hover cell is either above or below the bounds of the listview, this - * listview also scrolls on its own so as to reveal additional content. - * - */ -public class DynamicListView extends ListView { - private static final int INVALID_POINTER_ID = -1; - private static final int INVALID_ID = -1; - private static final int SMOOTH_SCROLL_AMOUNT_AT_EDGE = 15; - private static final int MOVE_DURATION = 150; - private static final int LINE_THICKNESS = 15; - private static final int REMOVE_OFFSET = 150; - private static final int SWAP_OFFSET = 130; - private static enum TouchMode {UNKNOWN, REMOVE, SWAP}; - - - private int mDownY = -1; - private int mDownX = -1; - private int mLastEventX = -1; - private int mLastEventY = -1; - - private int mTotalOffset = 0; - - private boolean mCellIsMobile = false; - private boolean mIsMobileScrolling = false; - private int mSmoothScrollAmountAtEdge = 0; - - private long mAboveItemId = INVALID_ID; - private long mMobileItemId = INVALID_ID; - private long mBelowItemId = INVALID_ID; - - private BitmapDrawable mHoverCell; - private TouchMode mMode; - private Rect mHoverCellCurrentBounds; - private Rect mHoverCellOriginalBounds; - - private int mActivePointerId = INVALID_POINTER_ID; - - private boolean mIsWaitingForScrollFinish = false; - private int mScrollState = OnScrollListener.SCROLL_STATE_IDLE; - - private DynamicListActionListener listener; - - - public DynamicListView(Context context) { - super(context); - init(context); - } - - public DynamicListView(Context context, AttributeSet attrs) { - super(context, attrs); - init(context); - } - - public DynamicListView(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - init(context); - } - - public void init(Context context) { - setOnScrollListener(mScrollListener); - DisplayMetrics metrics = context.getResources().getDisplayMetrics(); - mSmoothScrollAmountAtEdge = (int) (SMOOTH_SCROLL_AMOUNT_AT_EDGE / metrics.density); - } - - - public void setActionListener(DynamicListActionListener l){ - listener = l; - } - - - protected void startItemHover(){ - mTotalOffset = 0; - - int position = pointToPosition(mDownX, mDownY); - int itemNum = position - getFirstVisiblePosition(); - - View selectedView = getChildAt(itemNum); - if(selectedView != null) { - mMobileItemId = getAdapter().getItemId(position); - mHoverCell = getAndAddHoverView(selectedView); - selectedView.setVisibility(INVISIBLE); - - mCellIsMobile = true; - - updateNeighborViewsForID(mMobileItemId); - } - } - - /** - * Creates the hover cell with the appropriate bitmap and of appropriate - * size. The hover cell's BitmapDrawable is drawn on top of the bitmap every - * single time an invalidate call is made. - */ - private BitmapDrawable getAndAddHoverView(View v) { - int w = v.getWidth(); - int h = v.getHeight(); - int top = v.getTop(); - int left = v.getLeft(); - - mHoverCellOriginalBounds = new Rect(left, top, left + w, top + h); - mHoverCellCurrentBounds = new Rect(mHoverCellOriginalBounds); - - BitmapDrawable drawable = new BitmapDrawable(getResources(), getBitmapWithBorder(v)); - drawable.setBounds(mHoverCellCurrentBounds); - - return drawable; - } - - /** - * Draws a black border over the screenshot of the view passed in. - */ - private Bitmap getBitmapWithBorder(View v) { - Bitmap bitmap = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888); - Canvas canvas = new Canvas(bitmap); - - v.draw(canvas); - addBorder(bitmap, Color.BLACK); - - return bitmap; - } - - private void addBorder(Bitmap b, int color){ - Paint paint = new Paint(); - paint.setStyle(Paint.Style.STROKE); - paint.setStrokeWidth(LINE_THICKNESS); - paint.setColor(color); - - Canvas canvas = new Canvas(b); - canvas.drawRect(new Rect(0, 0, b.getWidth(), b.getHeight()), paint); - } - - /** - * Stores a reference to the views above and below the item currently - * corresponding to the hover cell. It is important to note that if this - * item is either at the top or bottom of the list, mAboveItemId or mBelowItemId - * may be invalid. - */ - private void updateNeighborViewsForID(long itemID) { - int position = getPositionForID(itemID); - ListAdapter adapter = getAdapter(); - mAboveItemId = adapter.getItemId(position - 1); - mBelowItemId = adapter.getItemId(position + 1); - } - - /** - * Retrieves the view in the list corresponding to itemID - */ - public View getViewForID(long itemID) { - int firstVisiblePosition = getFirstVisiblePosition(); - ListAdapter adapter = getAdapter(); - for (int i = 0; i < getChildCount(); i++) { - View v = getChildAt(i); - int position = firstVisiblePosition + i; - long id = adapter.getItemId(position); - if (id == itemID) { - return v; - } - } - return null; - } - - /** - * Retrieves the position in the list corresponding to itemID - */ - public int getPositionForID(long itemID) { - View v = getViewForID(itemID); - if (v == null) { - return -1; - } else { - return getPositionForView(v); - } - } - - /** - * dispatchDraw gets invoked when all the child views are about to be drawn. - * By overriding this method, the hover cell (BitmapDrawable) can be drawn - * over the listview's items whenever the listview is redrawn. - */ - @Override - protected void dispatchDraw(Canvas canvas) { - super.dispatchDraw(canvas); - if (mHoverCell != null) { - mHoverCell.draw(canvas); - } - } - - @Override - public boolean onTouchEvent(MotionEvent event) { - if(listener != null) { - switch (event.getAction() & MotionEvent.ACTION_MASK) { - case MotionEvent.ACTION_DOWN: - mDownX = (int) event.getX(); - mDownY = (int) event.getY(); - mActivePointerId = event.getPointerId(0); - mMode = TouchMode.UNKNOWN; - break; - case MotionEvent.ACTION_MOVE: - if (mActivePointerId == INVALID_POINTER_ID) { - break; - } - int pointerIndex = event.findPointerIndex(mActivePointerId); - mLastEventX = (int) event.getX(pointerIndex); - mLastEventY = (int) event.getY(pointerIndex); - int deltaX = mLastEventX - mDownX; - int deltaY = mLastEventY - mDownY; - - if (mMode == TouchMode.UNKNOWN) { - if (Math.abs(deltaX) > 50 || Math.abs(deltaY) > 50) { - if (Math.abs(deltaX) >= Math.abs(deltaY)) - mMode = TouchMode.REMOVE; - if (Math.abs(deltaX) < Math.abs(deltaY) && mDownX < SWAP_OFFSET) - mMode = TouchMode.SWAP; - - if (mMode != TouchMode.UNKNOWN) - startItemHover(); - } - } - - if (mMode == TouchMode.REMOVE) { - mHoverCellCurrentBounds.offsetTo(mHoverCellOriginalBounds.left + deltaX, - mHoverCellOriginalBounds.top); - mHoverCell.setBounds(mHoverCellCurrentBounds); - - if(mLastEventX + REMOVE_OFFSET > this.getRight()) - addBorder(mHoverCell.getBitmap(), Color.RED); - else - addBorder(mHoverCell.getBitmap(), Color.BLACK); - - invalidate(); - } else if (mMode == TouchMode.SWAP) { - if (mCellIsMobile) { - mHoverCellCurrentBounds.offsetTo(mHoverCellOriginalBounds.left, - mHoverCellOriginalBounds.top + deltaY + mTotalOffset); - mHoverCell.setBounds(mHoverCellCurrentBounds); - invalidate(); - - handleCellSwitch(); - - mIsMobileScrolling = false; - handleMobileCellScroll(); - - return false; - } - } - break; - case MotionEvent.ACTION_UP: - touchEventsEnded(); - break; - case MotionEvent.ACTION_CANCEL: - touchEventsCancelled(); - break; - case MotionEvent.ACTION_POINTER_UP: - /* If a multitouch event took place and the original touch dictating - * the movement of the hover cell has ended, then the dragging event - * ends and the hover cell is animated to its corresponding position - * in the listview. */ - pointerIndex = (event.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK) >> - MotionEvent.ACTION_POINTER_INDEX_SHIFT; - final int pointerId = event.getPointerId(pointerIndex); - if (pointerId == mActivePointerId) { - touchEventsEnded(); - } - break; - default: - break; - } - } - return super.onTouchEvent(event); - } - - /** - * This method determines whether the hover cell has been shifted far enough - * to invoke a cell swap. If so, then the respective cell swap candidate is - * determined and the data set is changed. Upon posting a notification of the - * data set change, a layout is invoked to place the cells in the right place. - * Using a ViewTreeObserver and a corresponding OnPreDrawListener, we can - * offset the cell being swapped to where it previously was and then animate it to - * its new position. - */ - private void handleCellSwitch() { - final int deltaY = mLastEventY - mDownY; - int deltaYTotal = mHoverCellOriginalBounds.top + mTotalOffset + deltaY; - - View belowView = getViewForID(mBelowItemId); - View mobileView = getViewForID(mMobileItemId); - View aboveView = getViewForID(mAboveItemId); - - boolean isBelow = (belowView != null) && (deltaYTotal > belowView.getTop()); - boolean isAbove = (aboveView != null) && (deltaYTotal < aboveView.getTop()); - - if (isBelow || isAbove) { - - final long switchItemID = isBelow ? mBelowItemId : mAboveItemId; - View switchView = isBelow ? belowView : aboveView; - final int originalItem = getPositionForView(mobileView); - - if (switchView == null) { - updateNeighborViewsForID(mMobileItemId); - return; - } - - listener.swapItems(originalItem, getPositionForView(switchView)); - ((StableArrayAdapter) getAdapter()).notifyDataSetChanged(); - - mDownY = mLastEventY; - - mobileView.setVisibility(View.VISIBLE); - switchView.setVisibility(View.INVISIBLE); - - updateNeighborViewsForID(mMobileItemId); - - final int switchViewStartTop = switchView.getTop(); - final ViewTreeObserver observer = getViewTreeObserver(); - observer.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { - public boolean onPreDraw() { - observer.removeOnPreDrawListener(this); - - View switchView = getViewForID(switchItemID); - - mTotalOffset += deltaY; - - int switchViewNewTop = switchView.getTop(); - int delta = switchViewStartTop - switchViewNewTop; - - switchView.setTranslationY(delta); - - ObjectAnimator animator = ObjectAnimator.ofFloat(switchView, - View.TRANSLATION_Y, 0); - animator.setDuration(MOVE_DURATION); - animator.start(); - - return true; - } - }); - } - } - - /** - * Resets all the appropriate fields to a default state while also animating - * the hover cell back to its correct location. - */ - private void touchEventsEnded() { - final View mobileView = getViewForID(mMobileItemId); - if (mCellIsMobile || mIsWaitingForScrollFinish) { - mCellIsMobile = false; - mIsWaitingForScrollFinish = false; - mIsMobileScrolling = false; - mActivePointerId = INVALID_POINTER_ID; - - // If the autoscroller has not completed scrolling, we need to wait for it to - // finish in order to determine the final location of where the hover cell - // should be animated to. - if (mScrollState != OnScrollListener.SCROLL_STATE_IDLE) { - mIsWaitingForScrollFinish = true; - return; - } - - if(mMode == TouchMode.REMOVE) { - if (mLastEventX + REMOVE_OFFSET > mobileView.getRight()) { - listener.removeItem(getPositionForView(mobileView)); - ((StableArrayAdapter) getAdapter()).notifyDataSetChanged(); - - mHoverCellCurrentBounds.offsetTo(this.getRight(), mHoverCellCurrentBounds.top); - } - else // reset - mHoverCellCurrentBounds.offsetTo(mHoverCellOriginalBounds.left, mobileView.getTop()); - } - else if(mMode == TouchMode.SWAP) { - mHoverCellCurrentBounds.offsetTo(mHoverCellOriginalBounds.left, mobileView.getTop()); - } - - // Animate - ObjectAnimator hoverViewAnimator = ObjectAnimator.ofObject(mHoverCell, "bounds", - sBoundEvaluator, mHoverCellCurrentBounds); - hoverViewAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { - @Override - public void onAnimationUpdate(ValueAnimator valueAnimator) { - invalidate(); - } - }); - hoverViewAnimator.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationStart(Animator animation) { - setEnabled(false); - } - - @Override - public void onAnimationEnd(Animator animation) { - mAboveItemId = INVALID_ID; - mMobileItemId = INVALID_ID; - mBelowItemId = INVALID_ID; - mobileView.setVisibility(VISIBLE); - mHoverCell = null; - setEnabled(true); - invalidate(); - } - }); - hoverViewAnimator.start(); - } else { - touchEventsCancelled(); - } - } - - /** - * Resets all the appropriate fields to a default state. - */ - private void touchEventsCancelled() { - View mobileView = getViewForID(mMobileItemId); - if (mCellIsMobile) { - mAboveItemId = INVALID_ID; - mMobileItemId = INVALID_ID; - mBelowItemId = INVALID_ID; - mobileView.setVisibility(VISIBLE); - mHoverCell = null; - invalidate(); - } - mCellIsMobile = false; - mIsMobileScrolling = false; - mActivePointerId = INVALID_POINTER_ID; - } - - /** - * This TypeEvaluator is used to animate the BitmapDrawable back to its - * final location when the user lifts his finger by modifying the - * BitmapDrawable's bounds. - */ - private final static TypeEvaluator sBoundEvaluator = new TypeEvaluator() { - public Rect evaluate(float fraction, Rect startValue, Rect endValue) { - return new Rect(interpolate(startValue.left, endValue.left, fraction), - interpolate(startValue.top, endValue.top, fraction), - interpolate(startValue.right, endValue.right, fraction), - interpolate(startValue.bottom, endValue.bottom, fraction)); - } - - public int interpolate(int start, int end, float fraction) { - return (int) (start + fraction * (end - start)); - } - }; - - /** - * Determines whether this listview is in a scrolling state invoked - * by the fact that the hover cell is out of the bounds of the listview; - */ - private void handleMobileCellScroll() { - mIsMobileScrolling = handleMobileCellScroll(mHoverCellCurrentBounds); - } - - /** - * This method is in charge of determining if the hover cell is above - * or below the bounds of the listview. If so, the listview does an appropriate - * upward or downward smooth scroll so as to reveal new items. - */ - public boolean handleMobileCellScroll(Rect r) { - int offset = computeVerticalScrollOffset(); - int height = getHeight(); - int extent = computeVerticalScrollExtent(); - int range = computeVerticalScrollRange(); - int hoverViewTop = r.top; - int hoverHeight = r.height(); - - if (hoverViewTop <= 0 && offset > 0) { - smoothScrollBy(-mSmoothScrollAmountAtEdge, 0); - return true; - } - - if (hoverViewTop + hoverHeight >= height && (offset + extent) < range) { - smoothScrollBy(mSmoothScrollAmountAtEdge, 0); - return true; - } - - return false; - } - - /** - * This scroll listener is added to the listview in order to handle cell swapping - * when the cell is either at the top or bottom edge of the listview. If the hover - * cell is at either edge of the listview, the listview will begin scrolling. As - * scrolling takes place, the listview continuously checks if new cells became visible - * and determines whether they are potential candidates for a cell swap. - */ - private AbsListView.OnScrollListener mScrollListener = new AbsListView.OnScrollListener() { - - private int mPreviousFirstVisibleItem = -1; - private int mPreviousVisibleItemCount = -1; - private int mCurrentFirstVisibleItem; - private int mCurrentVisibleItemCount; - private int mCurrentScrollState; - - public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, - int totalItemCount) { - mCurrentFirstVisibleItem = firstVisibleItem; - mCurrentVisibleItemCount = visibleItemCount; - - mPreviousFirstVisibleItem = (mPreviousFirstVisibleItem == -1) ? mCurrentFirstVisibleItem - : mPreviousFirstVisibleItem; - mPreviousVisibleItemCount = (mPreviousVisibleItemCount == -1) ? mCurrentVisibleItemCount - : mPreviousVisibleItemCount; - - checkAndHandleFirstVisibleCellChange(); - checkAndHandleLastVisibleCellChange(); - - mPreviousFirstVisibleItem = mCurrentFirstVisibleItem; - mPreviousVisibleItemCount = mCurrentVisibleItemCount; - } - - @Override - public void onScrollStateChanged(AbsListView view, int scrollState) { - mCurrentScrollState = scrollState; - mScrollState = scrollState; - isScrollCompleted(); - } - - /** - * This method is in charge of invoking 1 of 2 actions. Firstly, if the listview - * is in a state of scrolling invoked by the hover cell being outside the bounds - * of the listview, then this scrolling event is continued. Secondly, if the hover - * cell has already been released, this invokes the animation for the hover cell - * to return to its correct position after the listview has entered an idle scroll - * state. - */ - private void isScrollCompleted() { - if (mCurrentVisibleItemCount > 0 && mCurrentScrollState == SCROLL_STATE_IDLE) { - if (mCellIsMobile && mIsMobileScrolling) { - handleMobileCellScroll(); - } else if (mIsWaitingForScrollFinish) { - touchEventsEnded(); - } - } - } - - /** - * Determines if the listview scrolled up enough to reveal a new cell at the - * top of the list. If so, then the appropriate parameters are updated. - */ - public void checkAndHandleFirstVisibleCellChange() { - if (mCurrentFirstVisibleItem != mPreviousFirstVisibleItem) { - if (mCellIsMobile && mMobileItemId != INVALID_ID) { - updateNeighborViewsForID(mMobileItemId); - handleCellSwitch(); - } - } - } - - /** - * Determines if the listview scrolled down enough to reveal a new cell at the - * bottom of the list. If so, then the appropriate parameters are updated. - */ - public void checkAndHandleLastVisibleCellChange() { - int currentLastVisibleItem = mCurrentFirstVisibleItem + mCurrentVisibleItemCount; - int previousLastVisibleItem = mPreviousFirstVisibleItem + mPreviousVisibleItemCount; - if (currentLastVisibleItem != previousLastVisibleItem) { - if (mCellIsMobile && mMobileItemId != INVALID_ID) { - updateNeighborViewsForID(mMobileItemId); - handleCellSwitch(); - } - } - } - }; - - public static interface DynamicListActionListener{ - public void swapItems(int from, int to); - public void removeItem(int which); - } +/* + * Copyright (C) 2013 The Android Open Source Project + * https://android.googlesource.com/platform/development/+/master/samples/devbytes/animation/ListViewDraggingAnimation/src/com/example/android/listviewdragginganimation/DynamicListView.java + * Modified by Ziver Koc + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.ericsson.uecontrol.gui.util; + +import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; +import android.animation.ObjectAnimator; +import android.animation.TypeEvaluator; +import android.animation.ValueAnimator; +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.graphics.Rect; +import android.graphics.drawable.BitmapDrawable; +import android.util.AttributeSet; +import android.util.DisplayMetrics; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewTreeObserver; +import android.widget.AbsListView; +import android.widget.ListAdapter; +import android.widget.ListView; + +/** + * The dynamic listview is an extension of listview that supports cell dragging + * and swapping. + *

+ * This layout is in charge of positioning the hover cell in the correct location + * on the screen in response to user touch events. It uses the position of the + * hover cell to determine when two cells should be swapped. If two cells should + * be swapped, all the corresponding data set and layout changes are handled here. + *

+ * If no cell is selected, all the touch events are passed down to the listview + * and behave normally. If one of the items in the listview experiences a + * long press event, the contents of its current visible state are captured as + * a bitmap and its visibility is set to INVISIBLE. A hover cell is then created and + * added to this layout as an overlaying BitmapDrawable above the listview. Once the + * hover cell is translated some distance to signify an item swap, a data set change + * accompanied by animation takes place. When the user releases the hover cell, + * it animates into its corresponding position in the listview. + *

+ * When the hover cell is either above or below the bounds of the listview, this + * listview also scrolls on its own so as to reveal additional content. + * + */ +public class DynamicListView extends ListView { + private static final int INVALID_POINTER_ID = -1; + private static final int INVALID_ID = -1; + private static final int SMOOTH_SCROLL_AMOUNT_AT_EDGE = 15; + private static final int MOVE_DURATION = 150; + private static final int LINE_THICKNESS = 15; + private static final int REMOVE_OFFSET = 150; + private static final int SWAP_OFFSET = 130; + private static enum TouchMode {UNKNOWN, REMOVE, SWAP}; + + + private int mDownY = -1; + private int mDownX = -1; + private int mLastEventX = -1; + private int mLastEventY = -1; + + private int mTotalOffset = 0; + + private boolean mCellIsMobile = false; + private boolean mIsMobileScrolling = false; + private int mSmoothScrollAmountAtEdge = 0; + + private long mAboveItemId = INVALID_ID; + private long mMobileItemId = INVALID_ID; + private long mBelowItemId = INVALID_ID; + + private BitmapDrawable mHoverCell; + private TouchMode mMode; + private Rect mHoverCellCurrentBounds; + private Rect mHoverCellOriginalBounds; + + private int mActivePointerId = INVALID_POINTER_ID; + + private boolean mIsWaitingForScrollFinish = false; + private int mScrollState = OnScrollListener.SCROLL_STATE_IDLE; + + private DynamicListActionListener listener; + + + public DynamicListView(Context context) { + super(context); + init(context); + } + + public DynamicListView(Context context, AttributeSet attrs) { + super(context, attrs); + init(context); + } + + public DynamicListView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + init(context); + } + + public void init(Context context) { + setOnScrollListener(mScrollListener); + DisplayMetrics metrics = context.getResources().getDisplayMetrics(); + mSmoothScrollAmountAtEdge = (int) (SMOOTH_SCROLL_AMOUNT_AT_EDGE / metrics.density); + } + + + public void setActionListener(DynamicListActionListener l){ + listener = l; + } + + + protected void startItemHover(){ + mTotalOffset = 0; + + int position = pointToPosition(mDownX, mDownY); + int itemNum = position - getFirstVisiblePosition(); + + View selectedView = getChildAt(itemNum); + if(selectedView != null) { + mMobileItemId = getAdapter().getItemId(position); + mHoverCell = getAndAddHoverView(selectedView); + selectedView.setVisibility(INVISIBLE); + + mCellIsMobile = true; + + updateNeighborViewsForID(mMobileItemId); + } + } + + /** + * Creates the hover cell with the appropriate bitmap and of appropriate + * size. The hover cell's BitmapDrawable is drawn on top of the bitmap every + * single time an invalidate call is made. + */ + private BitmapDrawable getAndAddHoverView(View v) { + int w = v.getWidth(); + int h = v.getHeight(); + int top = v.getTop(); + int left = v.getLeft(); + + mHoverCellOriginalBounds = new Rect(left, top, left + w, top + h); + mHoverCellCurrentBounds = new Rect(mHoverCellOriginalBounds); + + BitmapDrawable drawable = new BitmapDrawable(getResources(), getBitmapWithBorder(v)); + drawable.setBounds(mHoverCellCurrentBounds); + + return drawable; + } + + /** + * Draws a black border over the screenshot of the view passed in. + */ + private Bitmap getBitmapWithBorder(View v) { + Bitmap bitmap = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(bitmap); + + v.draw(canvas); + addBorder(bitmap, Color.BLACK); + + return bitmap; + } + + private void addBorder(Bitmap b, int color){ + Paint paint = new Paint(); + paint.setStyle(Paint.Style.STROKE); + paint.setStrokeWidth(LINE_THICKNESS); + paint.setColor(color); + + Canvas canvas = new Canvas(b); + canvas.drawRect(new Rect(0, 0, b.getWidth(), b.getHeight()), paint); + } + + /** + * Stores a reference to the views above and below the item currently + * corresponding to the hover cell. It is important to note that if this + * item is either at the top or bottom of the list, mAboveItemId or mBelowItemId + * may be invalid. + */ + private void updateNeighborViewsForID(long itemID) { + int position = getPositionForID(itemID); + ListAdapter adapter = getAdapter(); + mAboveItemId = adapter.getItemId(position - 1); + mBelowItemId = adapter.getItemId(position + 1); + } + + /** + * Retrieves the view in the list corresponding to itemID + */ + public View getViewForID(long itemID) { + int firstVisiblePosition = getFirstVisiblePosition(); + ListAdapter adapter = getAdapter(); + for (int i = 0; i < getChildCount(); i++) { + View v = getChildAt(i); + int position = firstVisiblePosition + i; + long id = adapter.getItemId(position); + if (id == itemID) { + return v; + } + } + return null; + } + + /** + * Retrieves the position in the list corresponding to itemID + */ + public int getPositionForID(long itemID) { + View v = getViewForID(itemID); + if (v == null) { + return -1; + } else { + return getPositionForView(v); + } + } + + /** + * dispatchDraw gets invoked when all the child views are about to be drawn. + * By overriding this method, the hover cell (BitmapDrawable) can be drawn + * over the listview's items whenever the listview is redrawn. + */ + @Override + protected void dispatchDraw(Canvas canvas) { + super.dispatchDraw(canvas); + if (mHoverCell != null) { + mHoverCell.draw(canvas); + } + } + + @Override + public boolean onTouchEvent(MotionEvent event) { + if(listener != null) { + switch (event.getAction() & MotionEvent.ACTION_MASK) { + case MotionEvent.ACTION_DOWN: + mDownX = (int) event.getX(); + mDownY = (int) event.getY(); + mActivePointerId = event.getPointerId(0); + mMode = TouchMode.UNKNOWN; + break; + case MotionEvent.ACTION_MOVE: + if (mActivePointerId == INVALID_POINTER_ID) { + break; + } + int pointerIndex = event.findPointerIndex(mActivePointerId); + mLastEventX = (int) event.getX(pointerIndex); + mLastEventY = (int) event.getY(pointerIndex); + int deltaX = mLastEventX - mDownX; + int deltaY = mLastEventY - mDownY; + + if (mMode == TouchMode.UNKNOWN) { + if (Math.abs(deltaX) > 50 || Math.abs(deltaY) > 50) { + if (Math.abs(deltaX) >= Math.abs(deltaY)) + mMode = TouchMode.REMOVE; + if (Math.abs(deltaX) < Math.abs(deltaY) && mDownX < SWAP_OFFSET) + mMode = TouchMode.SWAP; + + if (mMode != TouchMode.UNKNOWN) + startItemHover(); + } + } + + if (mMode == TouchMode.REMOVE) { + mHoverCellCurrentBounds.offsetTo(mHoverCellOriginalBounds.left + deltaX, + mHoverCellOriginalBounds.top); + mHoverCell.setBounds(mHoverCellCurrentBounds); + + if(mLastEventX + REMOVE_OFFSET > this.getRight()) + addBorder(mHoverCell.getBitmap(), Color.RED); + else + addBorder(mHoverCell.getBitmap(), Color.BLACK); + + invalidate(); + } else if (mMode == TouchMode.SWAP) { + if (mCellIsMobile) { + mHoverCellCurrentBounds.offsetTo(mHoverCellOriginalBounds.left, + mHoverCellOriginalBounds.top + deltaY + mTotalOffset); + mHoverCell.setBounds(mHoverCellCurrentBounds); + invalidate(); + + handleCellSwitch(); + + mIsMobileScrolling = false; + handleMobileCellScroll(); + + return false; + } + } + break; + case MotionEvent.ACTION_UP: + touchEventsEnded(); + break; + case MotionEvent.ACTION_CANCEL: + touchEventsCancelled(); + break; + case MotionEvent.ACTION_POINTER_UP: + /* If a multitouch event took place and the original touch dictating + * the movement of the hover cell has ended, then the dragging event + * ends and the hover cell is animated to its corresponding position + * in the listview. */ + pointerIndex = (event.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK) >> + MotionEvent.ACTION_POINTER_INDEX_SHIFT; + final int pointerId = event.getPointerId(pointerIndex); + if (pointerId == mActivePointerId) { + touchEventsEnded(); + } + break; + default: + break; + } + } + return super.onTouchEvent(event); + } + + /** + * This method determines whether the hover cell has been shifted far enough + * to invoke a cell swap. If so, then the respective cell swap candidate is + * determined and the data set is changed. Upon posting a notification of the + * data set change, a layout is invoked to place the cells in the right place. + * Using a ViewTreeObserver and a corresponding OnPreDrawListener, we can + * offset the cell being swapped to where it previously was and then animate it to + * its new position. + */ + private void handleCellSwitch() { + final int deltaY = mLastEventY - mDownY; + int deltaYTotal = mHoverCellOriginalBounds.top + mTotalOffset + deltaY; + + View belowView = getViewForID(mBelowItemId); + View mobileView = getViewForID(mMobileItemId); + View aboveView = getViewForID(mAboveItemId); + + boolean isBelow = (belowView != null) && (deltaYTotal > belowView.getTop()); + boolean isAbove = (aboveView != null) && (deltaYTotal < aboveView.getTop()); + + if (isBelow || isAbove) { + + final long switchItemID = isBelow ? mBelowItemId : mAboveItemId; + View switchView = isBelow ? belowView : aboveView; + final int originalItem = getPositionForView(mobileView); + + if (switchView == null) { + updateNeighborViewsForID(mMobileItemId); + return; + } + + listener.swapItems(originalItem, getPositionForView(switchView)); + ((StableArrayAdapter) getAdapter()).notifyDataSetChanged(); + + mDownY = mLastEventY; + + mobileView.setVisibility(View.VISIBLE); + switchView.setVisibility(View.INVISIBLE); + + updateNeighborViewsForID(mMobileItemId); + + final int switchViewStartTop = switchView.getTop(); + final ViewTreeObserver observer = getViewTreeObserver(); + observer.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { + public boolean onPreDraw() { + observer.removeOnPreDrawListener(this); + + View switchView = getViewForID(switchItemID); + + mTotalOffset += deltaY; + + int switchViewNewTop = switchView.getTop(); + int delta = switchViewStartTop - switchViewNewTop; + + switchView.setTranslationY(delta); + + ObjectAnimator animator = ObjectAnimator.ofFloat(switchView, + View.TRANSLATION_Y, 0); + animator.setDuration(MOVE_DURATION); + animator.start(); + + return true; + } + }); + } + } + + /** + * Resets all the appropriate fields to a default state while also animating + * the hover cell back to its correct location. + */ + private void touchEventsEnded() { + final View mobileView = getViewForID(mMobileItemId); + if (mCellIsMobile || mIsWaitingForScrollFinish) { + mCellIsMobile = false; + mIsWaitingForScrollFinish = false; + mIsMobileScrolling = false; + mActivePointerId = INVALID_POINTER_ID; + + // If the autoscroller has not completed scrolling, we need to wait for it to + // finish in order to determine the final location of where the hover cell + // should be animated to. + if (mScrollState != OnScrollListener.SCROLL_STATE_IDLE) { + mIsWaitingForScrollFinish = true; + return; + } + + if(mMode == TouchMode.REMOVE) { + if (mLastEventX + REMOVE_OFFSET > mobileView.getRight()) { + listener.removeItem(getPositionForView(mobileView)); + ((StableArrayAdapter) getAdapter()).notifyDataSetChanged(); + + mHoverCellCurrentBounds.offsetTo(this.getRight(), mHoverCellCurrentBounds.top); + } + else // reset + mHoverCellCurrentBounds.offsetTo(mHoverCellOriginalBounds.left, mobileView.getTop()); + } + else if(mMode == TouchMode.SWAP) { + mHoverCellCurrentBounds.offsetTo(mHoverCellOriginalBounds.left, mobileView.getTop()); + } + + // Animate + ObjectAnimator hoverViewAnimator = ObjectAnimator.ofObject(mHoverCell, "bounds", + sBoundEvaluator, mHoverCellCurrentBounds); + hoverViewAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { + @Override + public void onAnimationUpdate(ValueAnimator valueAnimator) { + invalidate(); + } + }); + hoverViewAnimator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationStart(Animator animation) { + setEnabled(false); + } + + @Override + public void onAnimationEnd(Animator animation) { + mAboveItemId = INVALID_ID; + mMobileItemId = INVALID_ID; + mBelowItemId = INVALID_ID; + mobileView.setVisibility(VISIBLE); + mHoverCell = null; + setEnabled(true); + invalidate(); + } + }); + hoverViewAnimator.start(); + } else { + touchEventsCancelled(); + } + } + + /** + * Resets all the appropriate fields to a default state. + */ + private void touchEventsCancelled() { + View mobileView = getViewForID(mMobileItemId); + if (mCellIsMobile) { + mAboveItemId = INVALID_ID; + mMobileItemId = INVALID_ID; + mBelowItemId = INVALID_ID; + mobileView.setVisibility(VISIBLE); + mHoverCell = null; + invalidate(); + } + mCellIsMobile = false; + mIsMobileScrolling = false; + mActivePointerId = INVALID_POINTER_ID; + } + + /** + * This TypeEvaluator is used to animate the BitmapDrawable back to its + * final location when the user lifts his finger by modifying the + * BitmapDrawable's bounds. + */ + private final static TypeEvaluator sBoundEvaluator = new TypeEvaluator() { + public Rect evaluate(float fraction, Rect startValue, Rect endValue) { + return new Rect(interpolate(startValue.left, endValue.left, fraction), + interpolate(startValue.top, endValue.top, fraction), + interpolate(startValue.right, endValue.right, fraction), + interpolate(startValue.bottom, endValue.bottom, fraction)); + } + + public int interpolate(int start, int end, float fraction) { + return (int) (start + fraction * (end - start)); + } + }; + + /** + * Determines whether this listview is in a scrolling state invoked + * by the fact that the hover cell is out of the bounds of the listview; + */ + private void handleMobileCellScroll() { + mIsMobileScrolling = handleMobileCellScroll(mHoverCellCurrentBounds); + } + + /** + * This method is in charge of determining if the hover cell is above + * or below the bounds of the listview. If so, the listview does an appropriate + * upward or downward smooth scroll so as to reveal new items. + */ + public boolean handleMobileCellScroll(Rect r) { + int offset = computeVerticalScrollOffset(); + int height = getHeight(); + int extent = computeVerticalScrollExtent(); + int range = computeVerticalScrollRange(); + int hoverViewTop = r.top; + int hoverHeight = r.height(); + + if (hoverViewTop <= 0 && offset > 0) { + smoothScrollBy(-mSmoothScrollAmountAtEdge, 0); + return true; + } + + if (hoverViewTop + hoverHeight >= height && (offset + extent) < range) { + smoothScrollBy(mSmoothScrollAmountAtEdge, 0); + return true; + } + + return false; + } + + /** + * This scroll listener is added to the listview in order to handle cell swapping + * when the cell is either at the top or bottom edge of the listview. If the hover + * cell is at either edge of the listview, the listview will begin scrolling. As + * scrolling takes place, the listview continuously checks if new cells became visible + * and determines whether they are potential candidates for a cell swap. + */ + private AbsListView.OnScrollListener mScrollListener = new AbsListView.OnScrollListener() { + + private int mPreviousFirstVisibleItem = -1; + private int mPreviousVisibleItemCount = -1; + private int mCurrentFirstVisibleItem; + private int mCurrentVisibleItemCount; + private int mCurrentScrollState; + + public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, + int totalItemCount) { + mCurrentFirstVisibleItem = firstVisibleItem; + mCurrentVisibleItemCount = visibleItemCount; + + mPreviousFirstVisibleItem = (mPreviousFirstVisibleItem == -1) ? mCurrentFirstVisibleItem + : mPreviousFirstVisibleItem; + mPreviousVisibleItemCount = (mPreviousVisibleItemCount == -1) ? mCurrentVisibleItemCount + : mPreviousVisibleItemCount; + + checkAndHandleFirstVisibleCellChange(); + checkAndHandleLastVisibleCellChange(); + + mPreviousFirstVisibleItem = mCurrentFirstVisibleItem; + mPreviousVisibleItemCount = mCurrentVisibleItemCount; + } + + @Override + public void onScrollStateChanged(AbsListView view, int scrollState) { + mCurrentScrollState = scrollState; + mScrollState = scrollState; + isScrollCompleted(); + } + + /** + * This method is in charge of invoking 1 of 2 actions. Firstly, if the listview + * is in a state of scrolling invoked by the hover cell being outside the bounds + * of the listview, then this scrolling event is continued. Secondly, if the hover + * cell has already been released, this invokes the animation for the hover cell + * to return to its correct position after the listview has entered an idle scroll + * state. + */ + private void isScrollCompleted() { + if (mCurrentVisibleItemCount > 0 && mCurrentScrollState == SCROLL_STATE_IDLE) { + if (mCellIsMobile && mIsMobileScrolling) { + handleMobileCellScroll(); + } else if (mIsWaitingForScrollFinish) { + touchEventsEnded(); + } + } + } + + /** + * Determines if the listview scrolled up enough to reveal a new cell at the + * top of the list. If so, then the appropriate parameters are updated. + */ + public void checkAndHandleFirstVisibleCellChange() { + if (mCurrentFirstVisibleItem != mPreviousFirstVisibleItem) { + if (mCellIsMobile && mMobileItemId != INVALID_ID) { + updateNeighborViewsForID(mMobileItemId); + handleCellSwitch(); + } + } + } + + /** + * Determines if the listview scrolled down enough to reveal a new cell at the + * bottom of the list. If so, then the appropriate parameters are updated. + */ + public void checkAndHandleLastVisibleCellChange() { + int currentLastVisibleItem = mCurrentFirstVisibleItem + mCurrentVisibleItemCount; + int previousLastVisibleItem = mPreviousFirstVisibleItem + mPreviousVisibleItemCount; + if (currentLastVisibleItem != previousLastVisibleItem) { + if (mCellIsMobile && mMobileItemId != INVALID_ID) { + updateNeighborViewsForID(mMobileItemId); + handleCellSwitch(); + } + } + } + }; + + public static interface DynamicListActionListener{ + public void swapItems(int from, int to); + public void removeItem(int which); + } } \ No newline at end of file diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/util/StableArrayAdapter.java b/app/src/main/java/com/ericsson/uecontrol/gui/util/StableArrayAdapter.java index b2d3db0..24a7444 100755 --- a/app/src/main/java/com/ericsson/uecontrol/gui/util/StableArrayAdapter.java +++ b/app/src/main/java/com/ericsson/uecontrol/gui/util/StableArrayAdapter.java @@ -1,73 +1,73 @@ -/* - * Copyright (C) 2013 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.ericsson.uecontrol.gui.util; - -import android.content.Context; -import android.widget.ArrayAdapter; - -import java.util.HashMap; -import java.util.List; - -public class StableArrayAdapter extends ArrayAdapter implements DynamicListView.DynamicListActionListener { - - final int INVALID_ID = -1; - - private HashMap mIdMap = new HashMap(); - private List objects; - - public StableArrayAdapter(Context context, int textViewResourceId, List obj) { - super(context, textViewResourceId, obj); - objects = obj; - generateIds(); - } - - public void generateIds(){ - mIdMap.clear(); - for (int i = 0; i < objects.size(); ++i) { - mIdMap.put(objects.get(i), i); - } - } - - - @Override - public long getItemId(int position) { - if (position < 0 || position >= mIdMap.size()) { - return INVALID_ID; - } - T item = getItem(position); - return mIdMap.get(item); - } - - @Override - public void swapItems(int from, int to) { - T temp = objects.get(from); - objects.set(from, objects.get(to)); - objects.set(to, temp); - } - - @Override - public void removeItem(int which) { - objects.remove(which); - generateIds(); - } - - @Override - public boolean hasStableIds() { - return true; - } - +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.ericsson.uecontrol.gui.util; + +import android.content.Context; +import android.widget.ArrayAdapter; + +import java.util.HashMap; +import java.util.List; + +public class StableArrayAdapter extends ArrayAdapter implements DynamicListView.DynamicListActionListener { + + final int INVALID_ID = -1; + + private HashMap mIdMap = new HashMap(); + private List objects; + + public StableArrayAdapter(Context context, int textViewResourceId, List obj) { + super(context, textViewResourceId, obj); + objects = obj; + generateIds(); + } + + public void generateIds(){ + mIdMap.clear(); + for (int i = 0; i < objects.size(); ++i) { + mIdMap.put(objects.get(i), i); + } + } + + + @Override + public long getItemId(int position) { + if (position < 0 || position >= mIdMap.size()) { + return INVALID_ID; + } + T item = getItem(position); + return mIdMap.get(item); + } + + @Override + public void swapItems(int from, int to) { + T temp = objects.get(from); + objects.set(from, objects.get(to)); + objects.set(to, temp); + } + + @Override + public void removeItem(int which) { + objects.remove(which); + generateIds(); + } + + @Override + public boolean hasStableIds() { + return true; + } + } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_edit.xml b/app/src/main/res/layout/activity_edit.xml index bd4f494..b34de28 100755 --- a/app/src/main/res/layout/activity_edit.xml +++ b/app/src/main/res/layout/activity_edit.xml @@ -1,16 +1,16 @@ - - - - - - + + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 746e752..f48d188 100755 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,45 +1,45 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/behaviour_list_item.xml b/app/src/main/res/layout/behaviour_list_item.xml index 601efcf..4ffa579 100755 --- a/app/src/main/res/layout/behaviour_list_item.xml +++ b/app/src/main/res/layout/behaviour_list_item.xml @@ -1,77 +1,77 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_navigation_drawer.xml b/app/src/main/res/layout/fragment_navigation_drawer.xml index 5250946..f1e66c0 100755 --- a/app/src/main/res/layout/fragment_navigation_drawer.xml +++ b/app/src/main/res/layout/fragment_navigation_drawer.xml @@ -1,9 +1,9 @@ - + diff --git a/app/src/main/res/layout/fragment_status.xml b/app/src/main/res/layout/fragment_status.xml index 5b58023..826e3d4 100755 --- a/app/src/main/res/layout/fragment_status.xml +++ b/app/src/main/res/layout/fragment_status.xml @@ -1,66 +1,66 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/edit.xml b/app/src/main/res/menu/edit.xml index bc04ac5..b09d528 100755 --- a/app/src/main/res/menu/edit.xml +++ b/app/src/main/res/menu/edit.xml @@ -1,9 +1,9 @@ -

- - - - + + + + + diff --git a/app/src/main/res/menu/global.xml b/app/src/main/res/menu/global.xml index f3b10b6..133d2d8 100755 --- a/app/src/main/res/menu/global.xml +++ b/app/src/main/res/menu/global.xml @@ -1,6 +1,6 @@ - - - + + + diff --git a/app/src/main/res/menu/main.xml b/app/src/main/res/menu/main.xml index cc45837..0e0351f 100755 --- a/app/src/main/res/menu/main.xml +++ b/app/src/main/res/menu/main.xml @@ -1,25 +1,25 @@ - - - - - - - - - + + + + + + + + + diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 451befe..6e53646 100755 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -1,9 +1,9 @@ - - - - com.ericsson.uecontrol.core.behaviour.UeBehaviourFtp - com.ericsson.uecontrol.core.behaviour.UeBehaviourSleep - com.ericsson.uecontrol.core.behaviour.UeBehaviourSurfing - - + + + + com.ericsson.uecontrol.core.behaviour.UeBehaviourFtp + com.ericsson.uecontrol.core.behaviour.UeBehaviourSleep + com.ericsson.uecontrol.core.behaviour.UeBehaviourSurfing + + \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index fc4b85b..d5e7875 100755 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -1,11 +1,11 @@ - - - 16dp - 16dp - - - 240dp - - 10dp - + + + 16dp + 16dp + + + 240dp + + 10dp + diff --git a/app/src/main/res/values/refs.xml b/app/src/main/res/values/refs.xml index f351911..ee7a684 100755 --- a/app/src/main/res/values/refs.xml +++ b/app/src/main/res/values/refs.xml @@ -1,12 +1,12 @@ - - - - @layout/fragment_list - + + + + @layout/fragment_list + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4c2aabc..9f8df45 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,30 +1,30 @@ - - - UeControl - Section 1 - Section 2 - Section 3 - Open navigation drawer - Close navigation drawer - Run - Stop - Edit - Import - Export - Settings - Execution Settings - Other Settings - Edit - Add - Select Behaviour - Configure Behaviour - Save - Cancel - About - Logging - Enable logging of throughput and other attributes to a csv file - Log Path - Folder where log file will be stored - About - - + + + UeControl + Section 1 + Section 2 + Section 3 + Open navigation drawer + Close navigation drawer + Run + Stop + Edit + Import + Export + Settings + Execution Settings + Other Settings + Edit + Add + Select Behaviour + Configure Behaviour + Save + Cancel + About + Logging + Enable logging of throughput and other attributes to a csv file + Log Path + Folder where log file will be stored + About + + diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index ff6c9d2..efe449b 100755 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index a95185d..87e4028 100755 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -1,30 +1,30 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build.gradle b/build.gradle index a75fc81..39db8ef 100755 --- a/build.gradle +++ b/build.gradle @@ -1,19 +1,19 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. - -buildscript { - repositories { - jcenter() - } - dependencies { - classpath 'com.android.tools.build:gradle:0.12.+' - - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files - } -} - -allprojects { - repositories { - jcenter() - } -} +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:0.12.+' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + jcenter() + } +} diff --git a/gradle.properties b/gradle.properties index 5d08ba7..e4c6f69 100755 --- a/gradle.properties +++ b/gradle.properties @@ -1,18 +1,18 @@ -# Project-wide Gradle settings. - -# IDE (e.g. Android Studio) users: -# Settings specified in this file will override any Gradle settings -# configured through the IDE. - -# For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html - -# Specifies the JVM arguments used for the daemon process. -# The setting is particularly useful for tweaking memory settings. -# Default value: -Xmx10248m -XX:MaxPermSize=256m -# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 - -# When configured, Gradle will run in incubating parallel mode. -# This option should only be used with decoupled projects. More details, visit -# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Settings specified in this file will override any Gradle settings +# configured through the IDE. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx10248m -XX:MaxPermSize=256m +# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true \ No newline at end of file diff --git a/gradlew.bat b/gradlew.bat index 8a0b282..aec9973 100755 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,90 +1,90 @@ -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windowz variants - -if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle b/settings.gradle index e7b4def..d3db109 100755 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -include ':app' +include ':app'

&&^6LMbeA}Ugh;7?2uSD93W6xzASoc| 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 z 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