Skip to content
Browse files

Initial commit

  • Loading branch information...
0 parents commit 0be8a4ee59236b0737f00965d077da5ffcc5f59d @andygup andygup committed Jan 21, 2013
Showing with 2,942 additions and 0 deletions.
  1. +10 −0 .classpath
  2. +33 −0 .project
  3. +38 −0 AndroidManifest.xml
  4. +62 −0 README.md
  5. +38 −0 bin/AndroidManifest.xml
  6. BIN bin/GPSTester.apk
  7. BIN bin/classes.dex
  8. BIN bin/classes/com/agup/gps/BuildConfig.class
  9. BIN bin/classes/com/agup/gps/GPSTesterActivity.class
  10. BIN bin/classes/com/agup/gps/R$array.class
  11. BIN bin/classes/com/agup/gps/R$attr.class
  12. BIN bin/classes/com/agup/gps/R$drawable.class
  13. BIN bin/classes/com/agup/gps/R$id.class
  14. BIN bin/classes/com/agup/gps/R$layout.class
  15. BIN bin/classes/com/agup/gps/R$menu.class
  16. BIN bin/classes/com/agup/gps/R$string.class
  17. BIN bin/classes/com/agup/gps/R$xml.class
  18. BIN bin/classes/com/agup/gps/R.class
  19. BIN bin/classes/com/agup/gps/SatelliteDataActivity.class
  20. BIN bin/classes/com/agup/gps/SettingsActivity.class
  21. BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$1.class
  22. BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$10.class
  23. BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$11$1.class
  24. BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$11.class
  25. BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$12$1.class
  26. BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$12.class
  27. BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$2.class
  28. BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$3.class
  29. BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$4.class
  30. BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$5.class
  31. BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$6.class
  32. BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$7.class
  33. BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$8.class
  34. BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$9.class
  35. BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$BestAvailableType.class
  36. BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController.class
  37. BIN bin/classes/com/agup/gps/controllers/SatelliteDataActivityController$1.class
  38. BIN bin/classes/com/agup/gps/controllers/SatelliteDataActivityController$2.class
  39. BIN bin/classes/com/agup/gps/controllers/SatelliteDataActivityController$3.class
  40. BIN bin/classes/com/agup/gps/controllers/SatelliteDataActivityController$4.class
  41. BIN bin/classes/com/agup/gps/controllers/SatelliteDataActivityController$5.class
  42. BIN bin/classes/com/agup/gps/controllers/SatelliteDataActivityController$6.class
  43. BIN bin/classes/com/agup/gps/controllers/SatelliteDataActivityController$7.class
  44. BIN bin/classes/com/agup/gps/controllers/SatelliteDataActivityController.class
  45. BIN bin/classes/com/agup/gps/fragments/GPSAlertDialogFragment$1.class
  46. BIN bin/classes/com/agup/gps/fragments/GPSAlertDialogFragment$2.class
  47. BIN bin/classes/com/agup/gps/fragments/GPSAlertDialogFragment.class
  48. BIN bin/classes/com/agup/gps/utils/DrawCircle.class
  49. BIN bin/classes/com/agup/gps/utils/ElapsedTimer$1.class
  50. BIN bin/classes/com/agup/gps/utils/ElapsedTimer.class
  51. BIN bin/classes/com/agup/gps/utils/Preferences$PreferenceKey.class
  52. BIN bin/classes/com/agup/gps/utils/Preferences.class
  53. BIN bin/dexedLibs/ArcGIS_Android-491f55075af4cfcf1325bcb6d7e9a865.jar
  54. BIN bin/dexedLibs/ArcGIS_Android-c869b503c56b9a4c8e59312fe2f8a42c.jar
  55. BIN bin/dexedLibs/android-support-v4-2507731dd47c885a74170f089e2f17fc.jar
  56. BIN bin/dexedLibs/annotations-47a11f1950f2b70f78fe2403002ab994.jar
  57. BIN bin/dexedLibs/esriquickstart-0ee7adc0be9f8fd42cc5bf9a7533cf6a.jar
  58. BIN bin/dexedLibs/jackson-core-lgpl-1.9.5-541ec2aab2b46c59cec8bfbf199e2f79.jar
  59. BIN bin/dexedLibs/jackson-core-lgpl-1.9.5-fb9cb67c1b26cdeeeac20391e9dae67e.jar
  60. BIN bin/dexedLibs/jackson-mapper-lgpl-1.9.5-513dcc4f2bc63c3ee9e0a8a21934065e.jar
  61. BIN bin/dexedLibs/jackson-mapper-lgpl-1.9.5-8bfcfeaf40fd4228fecd68b41b3e1824.jar
  62. +3 −0 bin/jarlist.cache
  63. BIN bin/res/drawable-hdpi/ic_launcher.png
  64. BIN bin/res/drawable-ldpi/ic_launcher.png
  65. BIN bin/res/drawable-mdpi/ic_launcher.png
  66. BIN bin/res/drawable/blackdiamond18.png
  67. BIN bin/res/drawable/bluecircle18.png
  68. BIN bin/res/drawable/gear26.png
  69. BIN bin/res/drawable/greendiamond18.png
  70. BIN bin/res/drawable/greensphere31.png
  71. BIN bin/res/drawable/map40.png
  72. BIN bin/res/drawable/map52.png
  73. BIN bin/res/drawable/radar26.png
  74. BIN bin/res/drawable/redcircle18.png
  75. BIN bin/res/drawable/reddiamond18.png
  76. BIN bin/res/drawable/redsphere31.png
  77. BIN bin/resources.ap_
  78. +6 −0 gen/com/agup/gps/BuildConfig.java
  79. +177 −0 gen/com/agup/gps/R.java
  80. BIN gpstester_main_view.png
  81. BIN gpstester_satellite_view.png
  82. BIN gpstester_settings_view.png
  83. BIN libs/android-support-v4.jar
  84. BIN libs/armeabi-v7a/libGLMapCore.so
  85. BIN libs/armeabi-v7a/libruntimecore_java.so
  86. BIN libs/armeabi/libGLMapCore.so
  87. BIN libs/armeabi/libruntimecore_java.so
  88. BIN libs/esriquickstart.jar
  89. +48 −0 license.txt
  90. +20 −0 proguard-project.txt
  91. +3 −0 project.properties
  92. BIN res/drawable-hdpi/ic_launcher.png
  93. BIN res/drawable-ldpi/ic_launcher.png
  94. BIN res/drawable-mdpi/ic_launcher.png
  95. BIN res/drawable/blackdiamond18.png
  96. BIN res/drawable/bluecircle18.png
  97. BIN res/drawable/gear26.png
  98. BIN res/drawable/greendiamond18.png
  99. BIN res/drawable/greensphere31.png
  100. BIN res/drawable/map40.png
  101. BIN res/drawable/map52.png
  102. BIN res/drawable/radar26.png
  103. BIN res/drawable/redcircle18.png
  104. BIN res/drawable/reddiamond18.png
  105. BIN res/drawable/redsphere31.png
  106. +11 −0 res/drawable/textviewbackground.xml
  107. +290 −0 res/layout/main.xml
  108. +12 −0 res/layout/map.xml
  109. +79 −0 res/layout/satdata.xml
  110. +6 −0 res/menu/options_menu.xml
  111. +11 −0 res/values/accuracyprefsarray.xml
  112. +68 −0 res/values/arcgis_ui_strings.xml
  113. +11 −0 res/values/costprefsarray.xml
  114. +13 −0 res/values/powerprefsarray.xml
  115. +23 −0 res/values/strings.xml
  116. +100 −0 res/xml/preferences.xml
  117. +92 −0 src/com/agup/gps/GPSTesterActivity.java
  118. +43 −0 src/com/agup/gps/SatelliteDataActivity.java
  119. +14 −0 src/com/agup/gps/SettingsActivity.java
  120. +1,107 −0 src/com/agup/gps/controllers/GPSTesterActivityController.java
  121. +360 −0 src/com/agup/gps/controllers/SatelliteDataActivityController.java
  122. +37 −0 src/com/agup/gps/fragments/GPSAlertDialogFragment.java
  123. +56 −0 src/com/agup/gps/utils/DrawCircle.java
  124. +116 −0 src/com/agup/gps/utils/ElapsedTimer.java
  125. +55 −0 src/com/agup/gps/utils/Preferences.java
10 .classpath
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="gen"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
+ <classpathentry exported="true" kind="con" path="com.esri.arcgis.android.LIBRARIES"/>
+ <classpathentry kind="lib" path="libs/android-support-v4.jar"/>
+ <classpathentry kind="output" path="bin/classes"/>
+</classpath>
33 .project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>GPSTester</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ApkBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
38 AndroidManifest.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.agup.gps"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <uses-sdk android:minSdkVersion="11" />
+
+
+<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
+<uses-permission android:name="android.permission.INTERNET" />
+<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+
+ <application android:icon="@drawable/ic_launcher"
+ android:allowBackup="false"
+ android:label="@string/app_name">
+ <activity android:name=".GPSTesterActivity"
+ android:label="@string/app_name"
+ android:configChanges="orientation"
+ android:screenOrientation="portrait">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ <activity android:name=".MapActivity"
+ android:configChanges="orientation">
+ </activity>
+ <activity android:name=".SettingsActivity"
+ android:configChanges="orientation">
+ </activity>
+ <activity android:name=".SatelliteDataActivity"
+ android:configChanges="orientation">
+ </activity>
+
+ </application>
+
+</manifest>
62 README.md
@@ -0,0 +1,62 @@
+android-GPS-Test-Tool
+==================
+
+This application helps you test and understand the different aspects of the Android location capabilities.
+It's highly configurable and you can use it to test GPS and Network location output across multiple devices.
+
+Main View:
+
+![App](https://raw.github.com/Esri/android-GPS-Test-Tool/master/gpstester_main_view.png)
+
+Satellite Data View:
+
+![App](https://raw.github.com/Esri/android-GPS-Test-Tool/master/gpstester_satellite_view.png)
+
+Settings View:
+
+![App](https://raw.github.com/Esri/android-GPS-Test-Tool/master/gpstester_settings_view.png)
+
+## Features
+* Maps Network and GPS locations.
+* Displays information on both Network and GPS Location.
+* Let's you configure and try out different scenarios.
+
+## Requirements
+
+* Eclipse
+* Google Android SDK
+* Mapping Library - [ArcGIS Runtime SDK for Android](http://resources.arcgis.com/en/communities/runtime-android/)
+* Experience with Java
+
+Click [here](http://resources.arcgis.com/en/help/android-sdk/concepts/0119/01190000002m000000.htm) for more information on installing the mapping library.
+
+## Resources
+
+* [ArcGIS Runtime SDK for Android Resource Center](http://resources.arcgis.com/en/communities/runtime-android/)
+* [ArcGIS Blog](http://blogs.esri.com/esri/arcgis/)
+* [twitter@esri](http://twitter.com/esri)
+
+## Issues
+
+Find a bug or want to request a new feature? Please let us know by submitting an Issue on this repo.
+
+## Contributing
+
+Anyone and everyone is welcome to contribute.
+
+## Licensing
+Copyright 2012 Esri
+
+Application source code 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.
+
+A copy of the license is available in the repository's [license.txt]( https://raw.github.com/Esri/switch-basemaps-js/master/license.txt) file.
38 bin/AndroidManifest.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.agup.gps"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <uses-sdk android:minSdkVersion="11" />
+
+
+<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
+<uses-permission android:name="android.permission.INTERNET" />
+<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+
+ <application android:icon="@drawable/ic_launcher"
+ android:allowBackup="false"
+ android:label="@string/app_name">
+ <activity android:name=".GPSTesterActivity"
+ android:label="@string/app_name"
+ android:configChanges="orientation"
+ android:screenOrientation="portrait">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ <activity android:name=".MapActivity"
+ android:configChanges="orientation">
+ </activity>
+ <activity android:name=".SettingsActivity"
+ android:configChanges="orientation">
+ </activity>
+ <activity android:name=".SatelliteDataActivity"
+ android:configChanges="orientation">
+ </activity>
+
+ </application>
+
+</manifest>
BIN bin/GPSTester.apk
Binary file not shown.
BIN bin/classes.dex
Binary file not shown.
BIN bin/classes/com/agup/gps/BuildConfig.class
Binary file not shown.
BIN bin/classes/com/agup/gps/GPSTesterActivity.class
Binary file not shown.
BIN bin/classes/com/agup/gps/R$array.class
Binary file not shown.
BIN bin/classes/com/agup/gps/R$attr.class
Binary file not shown.
BIN bin/classes/com/agup/gps/R$drawable.class
Binary file not shown.
BIN bin/classes/com/agup/gps/R$id.class
Binary file not shown.
BIN bin/classes/com/agup/gps/R$layout.class
Binary file not shown.
BIN bin/classes/com/agup/gps/R$menu.class
Binary file not shown.
BIN bin/classes/com/agup/gps/R$string.class
Binary file not shown.
BIN bin/classes/com/agup/gps/R$xml.class
Binary file not shown.
BIN bin/classes/com/agup/gps/R.class
Binary file not shown.
BIN bin/classes/com/agup/gps/SatelliteDataActivity.class
Binary file not shown.
BIN bin/classes/com/agup/gps/SettingsActivity.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$1.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$10.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$11$1.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$11.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$12$1.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$12.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$2.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$3.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$4.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$5.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$6.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$7.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$8.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$9.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController$BestAvailableType.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/GPSTesterActivityController.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/SatelliteDataActivityController$1.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/SatelliteDataActivityController$2.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/SatelliteDataActivityController$3.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/SatelliteDataActivityController$4.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/SatelliteDataActivityController$5.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/SatelliteDataActivityController$6.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/SatelliteDataActivityController$7.class
Binary file not shown.
BIN bin/classes/com/agup/gps/controllers/SatelliteDataActivityController.class
Binary file not shown.
BIN bin/classes/com/agup/gps/fragments/GPSAlertDialogFragment$1.class
Binary file not shown.
BIN bin/classes/com/agup/gps/fragments/GPSAlertDialogFragment$2.class
Binary file not shown.
BIN bin/classes/com/agup/gps/fragments/GPSAlertDialogFragment.class
Binary file not shown.
BIN bin/classes/com/agup/gps/utils/DrawCircle.class
Binary file not shown.
BIN bin/classes/com/agup/gps/utils/ElapsedTimer$1.class
Binary file not shown.
BIN bin/classes/com/agup/gps/utils/ElapsedTimer.class
Binary file not shown.
BIN bin/classes/com/agup/gps/utils/Preferences$PreferenceKey.class
Binary file not shown.
BIN bin/classes/com/agup/gps/utils/Preferences.class
Binary file not shown.
BIN bin/dexedLibs/ArcGIS_Android-491f55075af4cfcf1325bcb6d7e9a865.jar
Binary file not shown.
BIN bin/dexedLibs/ArcGIS_Android-c869b503c56b9a4c8e59312fe2f8a42c.jar
Binary file not shown.
BIN bin/dexedLibs/android-support-v4-2507731dd47c885a74170f089e2f17fc.jar
Binary file not shown.
BIN bin/dexedLibs/annotations-47a11f1950f2b70f78fe2403002ab994.jar
Binary file not shown.
BIN bin/dexedLibs/esriquickstart-0ee7adc0be9f8fd42cc5bf9a7533cf6a.jar
Binary file not shown.
BIN bin/dexedLibs/jackson-core-lgpl-1.9.5-541ec2aab2b46c59cec8bfbf199e2f79.jar
Binary file not shown.
BIN bin/dexedLibs/jackson-core-lgpl-1.9.5-fb9cb67c1b26cdeeeac20391e9dae67e.jar
Binary file not shown.
BIN bin/dexedLibs/jackson-mapper-lgpl-1.9.5-513dcc4f2bc63c3ee9e0a8a21934065e.jar
Binary file not shown.
BIN bin/dexedLibs/jackson-mapper-lgpl-1.9.5-8bfcfeaf40fd4228fecd68b41b3e1824.jar
Binary file not shown.
3 bin/jarlist.cache
@@ -0,0 +1,3 @@
+# cache for current jar dependecy. DO NOT EDIT.
+# format is <lastModified> <length> <SHA-1> <path>
+# Encoding is UTF-8
BIN bin/res/drawable-hdpi/ic_launcher.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN bin/res/drawable-ldpi/ic_launcher.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN bin/res/drawable-mdpi/ic_launcher.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN bin/res/drawable/blackdiamond18.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN bin/res/drawable/bluecircle18.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN bin/res/drawable/gear26.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN bin/res/drawable/greendiamond18.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN bin/res/drawable/greensphere31.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN bin/res/drawable/map40.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN bin/res/drawable/map52.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN bin/res/drawable/radar26.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN bin/res/drawable/redcircle18.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN bin/res/drawable/reddiamond18.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN bin/res/drawable/redsphere31.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN bin/resources.ap_
Binary file not shown.
6 gen/com/agup/gps/BuildConfig.java
@@ -0,0 +1,6 @@
+/** Automatically generated file. DO NOT MODIFY */
+package com.agup.gps;
+
+public final class BuildConfig {
+ public final static boolean DEBUG = true;
+}
177 gen/com/agup/gps/R.java
@@ -0,0 +1,177 @@
+/* AUTO-GENERATED FILE. DO NOT MODIFY.
+ *
+ * This class was automatically generated by the
+ * aapt tool from the resource data it found. It
+ * should not be modified by hand.
+ */
+
+package com.agup.gps;
+
+public final class R {
+ public static final class array {
+ public static final int accuracy_list_preference=0x7f050000;
+ public static final int accuracy_list_values=0x7f050001;
+ public static final int cost_list_preference=0x7f050002;
+ public static final int cost_list_values=0x7f050003;
+ public static final int power_list_preference=0x7f050004;
+ public static final int power_list_values=0x7f050005;
+ }
+ public static final class attr {
+ }
+ public static final class drawable {
+ public static final int blackdiamond18=0x7f020000;
+ public static final int bluecircle18=0x7f020001;
+ public static final int gear26=0x7f020002;
+ public static final int greendiamond18=0x7f020003;
+ public static final int greensphere31=0x7f020004;
+ public static final int ic_launcher=0x7f020005;
+ public static final int map40=0x7f020006;
+ public static final int map52=0x7f020007;
+ public static final int radar26=0x7f020008;
+ public static final int redcircle18=0x7f020009;
+ public static final int reddiamond18=0x7f02000a;
+ public static final int redsphere31=0x7f02000b;
+ public static final int textviewbackground=0x7f02000c;
+ }
+ public static final class id {
+ public static final int EmailSatButton=0x7f080023;
+ public static final int PauseButton=0x7f080001;
+ public static final int PauseSatButton=0x7f080022;
+ public static final int ScrollView11=0x7f080006;
+ public static final int StartAllButton=0x7f080000;
+ public static final int StartSatButton=0x7f080021;
+ public static final int allLcationProvidersTableRow=0x7f08001d;
+ public static final int allLocationProviders=0x7f08001e;
+ public static final int backToMainActivity=0x7f080024;
+ public static final int bestAvailableImageView=0x7f080010;
+ public static final int bestAvailableInfo=0x7f08000f;
+ public static final int bestAvailableInfoTableRow=0x7f08000e;
+ public static final int bestLcationProvidersTableRow=0x7f08001f;
+ public static final int bestLocationProviders=0x7f080020;
+ public static final int blueCircle=0x7f080019;
+ public static final int cachedGPS=0x7f080015;
+ public static final int cachedGPSTableRow=0x7f080014;
+ public static final int cachedNetworkProvider=0x7f080012;
+ public static final int cachedNetworkProviderTableRow=0x7f080011;
+ public static final int criteriaEnabled=0x7f08000c;
+ public static final int criteriaEnabledIcon=0x7f08000d;
+ public static final int elapsedTime=0x7f080002;
+ public static final int gpsEnabled=0x7f080008;
+ public static final int gpsEnabledIcon=0x7f080009;
+ public static final int gpsLocationProvider=0x7f08001b;
+ public static final int gpsLocationProviderTableRow=0x7f08001a;
+ public static final int gpsNMEAInfo=0x7f080027;
+ public static final int gpsSatelliteInfo=0x7f080026;
+ public static final int greenDiamond=0x7f080013;
+ public static final int map=0x7f080005;
+ public static final int networkEnabled=0x7f08000a;
+ public static final int networkEnabledIcon=0x7f08000b;
+ public static final int networkLocationProvider=0x7f080018;
+ public static final int networkLocationProviderTableRow=0x7f080017;
+ public static final int redCircle=0x7f08001c;
+ public static final int redDiamond=0x7f080016;
+ public static final int satdata_table=0x7f080025;
+ public static final int satellitedata=0x7f080004;
+ public static final int score_table=0x7f080007;
+ public static final int settings=0x7f080003;
+ public static final int settings_option_item=0x7f080028;
+ }
+ public static final class layout {
+ public static final int main=0x7f030000;
+ public static final int map=0x7f030001;
+ public static final int satdata=0x7f030002;
+ }
+ public static final class menu {
+ public static final int options_menu=0x7f070000;
+ }
+ public static final class string {
+ public static final int Criteria=0x7f060047;
+ public static final int Criteria_Icon=0x7f060048;
+ public static final int Email=0x7f06004e;
+ public static final int GPS=0x7f060043;
+ public static final int GPS_Icon=0x7f060044;
+ public static final int Map=0x7f060049;
+ public static final int Network=0x7f060045;
+ public static final int Network_Icon=0x7f060046;
+ public static final int Pause=0x7f06004b;
+ public static final int Sat_data=0x7f06004a;
+ public static final int Start=0x7f06004c;
+ public static final int Stop=0x7f06004d;
+ public static final int ags_add_attachment=0x7f060009;
+ public static final int ags_attachment_could_not_be_read_from_disk=0x7f060015;
+ public static final int ags_attachment_does_not_exist_on_disk=0x7f060014;
+ public static final int ags_attachments=0x7f060003;
+ public static final int ags_cannot_exceed_maximum_date=0x7f060021;
+ public static final int ags_cannot_exceed_minimum_date=0x7f060022;
+ public static final int ags_cannot_load_image=0x7f060006;
+ public static final int ags_cannot_load_image_due_to_an_invalid_url=0x7f060007;
+ public static final int ags_cannot_load_image_due_to_low_memory=0x7f060008;
+ public static final int ags_could_not_write_file_to_sd_card=0x7f06001c;
+ public static final int ags_creation_a_minute_ago=0x7f060025;
+ public static final int ags_creation_an_hour_ago=0x7f060027;
+ public static final int ags_creation_full=0x7f06002a;
+ public static final int ags_creation_hours_ago=0x7f060028;
+ public static final int ags_creation_minutes_ago=0x7f060026;
+ public static final int ags_creation_seconds_ago=0x7f060024;
+ public static final int ags_creation_user=0x7f060023;
+ public static final int ags_creation_user_a_minute_ago=0x7f06002c;
+ public static final int ags_creation_user_an_hour_ago=0x7f06002e;
+ public static final int ags_creation_user_full=0x7f060031;
+ public static final int ags_creation_user_hours_ago=0x7f06002f;
+ public static final int ags_creation_user_minutes_ago=0x7f06002d;
+ public static final int ags_creation_user_seconds_ago=0x7f06002b;
+ public static final int ags_creation_user_weekday=0x7f060030;
+ public static final int ags_creation_weekday=0x7f060029;
+ public static final int ags_data_for_pie_chart_is_invalid=0x7f060000;
+ public static final int ags_delete=0x7f06001d;
+ public static final int ags_download=0x7f06001f;
+ public static final int ags_edit_a_minute_ago=0x7f060034;
+ public static final int ags_edit_an_hour_ago=0x7f060036;
+ public static final int ags_edit_full=0x7f060039;
+ public static final int ags_edit_hours_ago=0x7f060037;
+ public static final int ags_edit_minutes_ago=0x7f060035;
+ public static final int ags_edit_seconds_ago=0x7f060033;
+ public static final int ags_edit_user=0x7f060032;
+ public static final int ags_edit_user_a_minute_ago=0x7f06003b;
+ public static final int ags_edit_user_an_hour_ago=0x7f06003d;
+ public static final int ags_edit_user_full=0x7f060040;
+ public static final int ags_edit_user_hours_ago=0x7f06003e;
+ public static final int ags_edit_user_minutes_ago=0x7f06003c;
+ public static final int ags_edit_user_seconds_ago=0x7f06003a;
+ public static final int ags_edit_user_weekday=0x7f06003f;
+ public static final int ags_edit_weekday=0x7f060038;
+ public static final int ags_error=0x7f060016;
+ public static final int ags_filetype_image=0x7f06000e;
+ public static final int ags_filetype_other=0x7f060013;
+ public static final int ags_filetype_pdf=0x7f060011;
+ public static final int ags_filetype_text=0x7f060010;
+ public static final int ags_filetype_video=0x7f060012;
+ public static final int ags_filetype_word=0x7f06000f;
+ public static final int ags_kilobyte_abbreviation=0x7f06000b;
+ public static final int ags_media=0x7f060001;
+ public static final int ags_megabyte_abbreviation=0x7f06000c;
+ public static final int ags_no_application_available_to_view_this_file_type=0x7f060020;
+ public static final int ags_no_url_provided=0x7f060002;
+ public static final int ags_open=0x7f06001e;
+ public static final int ags_out_of_memory_when_retrieving_medium=0x7f060005;
+ public static final int ags_retrieving_attachments=0x7f060004;
+ public static final int ags_size=0x7f06000a;
+ public static final int ags_type=0x7f06000d;
+ public static final int ags_view_other=0x7f06001b;
+ public static final int ags_view_pdf=0x7f060017;
+ public static final int ags_view_text=0x7f060018;
+ public static final int ags_view_video=0x7f060019;
+ public static final int ags_view_word=0x7f06001a;
+ public static final int app_name=0x7f060042;
+ public static final int bestAvailableImageView=0x7f060054;
+ public static final int blackDiamond=0x7f060051;
+ public static final int blueCircle=0x7f060050;
+ public static final int greenDiamond=0x7f060052;
+ public static final int hello=0x7f060041;
+ public static final int redCircle=0x7f06004f;
+ public static final int redDiamond=0x7f060053;
+ }
+ public static final class xml {
+ public static final int preferences=0x7f040000;
+ }
+}
BIN gpstester_main_view.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN gpstester_satellite_view.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN gpstester_settings_view.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN libs/android-support-v4.jar
Binary file not shown.
BIN libs/armeabi-v7a/libGLMapCore.so
Binary file not shown.
BIN libs/armeabi-v7a/libruntimecore_java.so
Binary file not shown.
BIN libs/armeabi/libGLMapCore.so
Binary file not shown.
BIN libs/armeabi/libruntimecore_java.so
Binary file not shown.
BIN libs/esriquickstart.jar
Binary file not shown.
48 license.txt
@@ -0,0 +1,48 @@
+Apache License – 2.0
+
+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:
+
+1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
+2. You must cause any modified files to carry prominent notices stating that You changed the files; and
+3. 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
+4. 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
20 proguard-project.txt
@@ -0,0 +1,20 @@
+# To enable ProGuard in your project, edit project.properties
+# to define the proguard.config property as described in that file.
+#
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in ${sdk.dir}/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the ProGuard
+# include property in project.properties.
+#
+# 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 *;
+#}
3 project.properties
@@ -0,0 +1,3 @@
+# project target
+#Fri Oct 05 12:50:47 MDT 2012
+target=android-15
BIN res/drawable-hdpi/ic_launcher.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN res/drawable-ldpi/ic_launcher.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN res/drawable-mdpi/ic_launcher.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN res/drawable/blackdiamond18.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN res/drawable/bluecircle18.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN res/drawable/gear26.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN res/drawable/greendiamond18.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN res/drawable/greensphere31.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN res/drawable/map40.png
Diff not rendered.
BIN res/drawable/map52.png
Diff not rendered.
BIN res/drawable/radar26.png
Diff not rendered.
BIN res/drawable/redcircle18.png
Diff not rendered.
BIN res/drawable/reddiamond18.png
Diff not rendered.
BIN res/drawable/redsphere31.png
Diff not rendered.
11 res/drawable/textviewbackground.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <solid android:color="#00000000" />
+ <stroke android:width="1dip" android:color="#ffffff"/>
+ <corners
+ android:bottomLeftRadius="8dip"
+ android:bottomRightRadius="8dip"
+ android:topLeftRadius="8dip"
+ android:topRightRadius="8dip"/>
+</shape>
290 res/layout/main.xml
@@ -0,0 +1,290 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent">
+
+ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="horizontal"
+ android:paddingTop="6dip"
+ android:paddingBottom="8dip"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content">
+ <!--
+ <Button android:id="@+id/StopAllButton" android:text="Stop"
+ android:layout_width="wrap_content"
+ android:layout_height="40dip"/> -->
+ <Button android:id="@+id/StartAllButton" android:text="@string/Start"
+ android:layout_width="65dip"
+ android:paddingLeft="6dip"
+ android:layout_height="40dip"/>
+ <Button android:id="@+id/PauseButton" android:text="@string/Pause"
+ android:layout_width="wrap_content"
+ android:paddingLeft="6dip"
+ android:layout_height="40dip"
+ android:layout_toRightOf="@+id/StartAllButton"/>
+ <TextView android:id="@+id/elapsedTime"
+ android:layout_width="wrap_content"
+ android:textSize="14sp"
+ android:paddingTop="6dip"
+ android:paddingLeft="6dip"
+ android:layout_toRightOf="@+id/PauseButton"
+ android:layout_height="wrap_content" />
+
+ <ImageView
+ android:id="@+id/settings"
+ android:contentDescription="@string/Map"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="true"
+ android:clickable="true"
+ android:focusable="true"
+ android:paddingTop="8dip"
+ android:paddingRight="8dip"
+ android:paddingBottom="8dip"
+ android:src="@drawable/gear26"/>
+
+ <ImageView
+ android:id="@+id/satellitedata"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="false"
+ android:layout_toLeftOf="@id/settings"
+ android:clickable="true"
+ android:contentDescription="@string/Sat_data"
+ android:focusable="true"
+ android:paddingBottom="8dip"
+ android:paddingRight="8dip"
+ android:paddingTop="8dip"
+ android:src="@drawable/radar26" />
+
+ </RelativeLayout>
+
+ <com.esri.android.map.MapView
+ android:id="@+id/map"
+ android:paddingBottom="6dip"
+ android:layout_height="fill_parent"
+ android:layout_width="fill_parent" />
+
+ <ScrollView android:id="@+id/ScrollView11"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:fillViewport="true">
+
+ <TableLayout android:id="@+id/score_table"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:stretchColumns="*"
+ android:padding="6dip"
+ android:background="@drawable/textviewbackground">
+ <TableRow
+ android:layout_width="fill_parent"
+ android:padding="6dip"
+ android:layout_marginBottom="6dip"
+ android:background="@drawable/textviewbackground" >
+ <TextView
+ android:id="@+id/gpsEnabled"
+ android:text="@string/GPS"
+ android:layout_width="0dip"
+ android:layout_weight="1"
+ android:textSize="14sp"
+ android:paddingLeft="6dip"
+ android:paddingTop="6dip"
+ android:layout_height="wrap_content"/>
+ <ImageView
+ android:id="@+id/gpsEnabledIcon"
+ android:contentDescription="@string/GPS_Icon"
+ android:layout_width="0dip"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:clickable="false"
+ android:focusable="true"
+ android:src="@drawable/redsphere31"/>
+ <TextView
+ android:id="@+id/networkEnabled"
+ android:text="@string/Network"
+ android:layout_width="0dip"
+ android:layout_weight="1"
+ android:textSize="14sp"
+ android:paddingBottom="6dip"
+ android:layout_height="wrap_content"/>
+ <ImageView
+ android:id="@+id/networkEnabledIcon"
+ android:contentDescription="@string/Network_Icon"
+ android:layout_width="0dip"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:clickable="false"
+ android:focusable="true"
+ android:src="@drawable/redsphere31"/>
+ <TextView
+ android:id="@+id/criteriaEnabled"
+ android:text="@string/Criteria"
+ android:layout_width="0dip"
+ android:layout_weight="1"
+ android:textSize="14sp"
+ android:paddingLeft="6dip"
+ android:paddingBottom="6dip"
+ android:layout_height="wrap_content"/>
+ <ImageView
+ android:id="@+id/criteriaEnabledIcon"
+ android:contentDescription="@string/Criteria_Icon"
+ android:layout_width="0dip"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:clickable="false"
+ android:focusable="true"
+ android:src="@drawable/redsphere31"/>
+ </TableRow>
+
+ <TableRow android:id="@+id/bestAvailableInfoTableRow"
+ android:layout_width="fill_parent"
+ android:padding="6dip"
+ android:layout_marginBottom="6dip"
+ android:background="@drawable/textviewbackground">
+ <TextView android:id="@+id/bestAvailableInfo"
+ android:layout_width="fill_parent"
+ android:textSize="14sp"
+ android:paddingLeft="6dip"
+ android:paddingTop="6dip"
+ android:paddingBottom="6dip" />
+ <ImageView
+ android:id="@+id/bestAvailableImageView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:clickable="false"
+ android:focusable="true"
+ android:contentDescription="@string/bestAvailableImageView"
+ android:layout_gravity="center_vertical"
+ android:paddingBottom="8dip"
+ android:paddingRight="8dip"
+ android:paddingTop="8dip"
+ android:src="@drawable/greendiamond18" />
+ </TableRow>
+
+ <TableRow android:id="@+id/cachedNetworkProviderTableRow"
+ android:layout_width="fill_parent"
+ android:clickable="true"
+ android:padding="6dip"
+ android:layout_marginBottom="6dip"
+ android:background="@drawable/textviewbackground">
+ <TextView android:id="@+id/cachedNetworkProvider"
+ android:layout_width="fill_parent"
+ android:textSize="14sp"
+ android:paddingLeft="6dip"
+ android:paddingTop="6dip"
+ android:paddingBottom="6dip"
+ android:layout_height="wrap_content" />
+ <ImageView
+ android:id="@+id/greenDiamond"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:clickable="false"
+ android:focusable="true"
+ android:contentDescription="@string/greenDiamond"
+ android:layout_gravity="center_vertical"
+ android:paddingBottom="8dip"
+ android:paddingRight="8dip"
+ android:paddingTop="8dip"
+ android:src="@drawable/greendiamond18" />
+ </TableRow>
+ <TableRow android:id="@+id/cachedGPSTableRow"
+ android:layout_width="fill_parent"
+ android:padding="6dip"
+ android:layout_marginBottom="6dip"
+ android:background="@drawable/textviewbackground">
+ <TextView android:id="@+id/cachedGPS"
+ android:layout_width="fill_parent"
+ android:textSize="14sp"
+ android:paddingLeft="6dip"
+ android:paddingTop="6dip"
+ android:paddingBottom="6dip"
+ android:layout_height="wrap_content" />
+ <ImageView
+ android:id="@+id/redDiamond"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:clickable="false"
+ android:focusable="true"
+ android:contentDescription="@string/redDiamond"
+ android:layout_gravity="center_vertical"
+ android:paddingBottom="8dip"
+ android:paddingRight="8dip"
+ android:paddingTop="8dip"
+ android:src="@drawable/reddiamond18" />
+ </TableRow>
+ <TableRow android:id="@+id/networkLocationProviderTableRow"
+ android:layout_width="fill_parent"
+ android:padding="6dip"
+ android:layout_marginBottom="6dip"
+ android:background="@drawable/textviewbackground">
+ <TextView android:id="@+id/networkLocationProvider"
+ android:layout_width="fill_parent"
+ android:textSize="14sp"
+ android:padding="6dip"
+ android:layout_height="wrap_content" />
+ <ImageView
+ android:id="@+id/blueCircle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:clickable="false"
+ android:focusable="true"
+ android:contentDescription="@string/blueCircle"
+ android:layout_gravity="center_vertical"
+ android:paddingBottom="8dip"
+ android:paddingRight="8dip"
+ android:paddingTop="8dip"
+ android:src="@drawable/bluecircle18" />
+ </TableRow>
+ <TableRow android:id="@+id/gpsLocationProviderTableRow"
+ android:layout_width="fill_parent"
+ android:padding="6dip"
+ android:layout_marginBottom="6dip"
+ android:background="@drawable/textviewbackground">
+ <TextView android:id="@+id/gpsLocationProvider"
+ android:layout_width="fill_parent"
+ android:textSize="14sp"
+ android:padding="6dip"
+ android:layout_height="wrap_content" />
+ <ImageView
+ android:id="@+id/redCircle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:clickable="false"
+ android:focusable="true"
+ android:contentDescription="@string/redCircle"
+ android:layout_gravity="center_vertical"
+ android:paddingBottom="8dip"
+ android:paddingRight="8dip"
+ android:paddingTop="8dip"
+ android:src="@drawable/redcircle18" />
+ </TableRow>
+ <TableRow android:id="@+id/allLcationProvidersTableRow"
+ android:layout_width="fill_parent"
+ android:padding="6dip"
+ android:layout_marginBottom="6dip"
+ android:background="@drawable/textviewbackground">
+ <TextView android:id="@+id/allLocationProviders"
+ android:layout_width="fill_parent"
+ android:textSize="14sp"
+ android:padding="6dip"
+ android:layout_height="wrap_content" />
+ </TableRow>
+ <TableRow android:id="@+id/bestLcationProvidersTableRow"
+ android:layout_width="fill_parent"
+ android:padding="6dip"
+ android:layout_marginBottom="6dip"
+ android:background="@drawable/textviewbackground">
+ <TextView android:id="@+id/bestLocationProviders"
+ android:layout_width="fill_parent"
+ android:textSize="14sp"
+ android:padding="6dip"
+ android:layout_height="wrap_content" />
+ </TableRow>
+
+ </TableLayout>
+
+ </ScrollView>
+
+
+</LinearLayout>
12 res/layout/map.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RelativeLayout
+ xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"
+ android:layout_width="fill_parent" android:layout_height="wrap_content"
+ android:padding="10dp">
+
+ <com.esri.android.map.MapView
+ android:id="@+id/map" android:layout_height="fill_parent"
+ android:paddingTop="8dip"
+ android:layout_width="fill_parent" />
+
+</RelativeLayout>
79 res/layout/satdata.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical" >
+
+ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="horizontal"
+ android:paddingTop="6dip"
+ android:paddingBottom="8dip"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content">
+
+ <Button android:id="@+id/StartSatButton" android:text="@string/Start"
+ android:layout_width="65dip"
+ android:paddingLeft="6dip"
+ android:layout_height="40dip"/>
+ <Button android:id="@+id/PauseSatButton" android:text="@string/Pause"
+ android:layout_width="wrap_content"
+ android:paddingLeft="6dip"
+ android:layout_height="40dip"
+ android:layout_toRightOf="@+id/StartSatButton"/>
+ <Button android:id="@+id/EmailSatButton" android:text="@string/Email"
+ android:layout_width="wrap_content"
+ android:paddingLeft="6dip"
+ android:layout_height="40dip"
+ android:layout_toRightOf="@+id/PauseSatButton"/>
+ <ImageView
+ android:id="@+id/backToMainActivity"
+ android:contentDescription="@string/Map"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="true"
+ android:clickable="true"
+ android:focusable="true"
+ android:paddingTop="8dip"
+ android:paddingRight="8dip"
+ android:paddingBottom="8dip"
+ android:src="@drawable/map40"/>
+
+ </RelativeLayout>
+
+ <ScrollView android:id="@+id/ScrollView11"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:fillViewport="true">
+
+ <TableLayout android:id="@+id/satdata_table"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:stretchColumns="0"
+ android:padding="6dip"
+ android:background="@drawable/textviewbackground">
+ <TableRow
+ android:layout_width="fill_parent"
+ android:padding="6dip"
+ android:layout_marginBottom="6dip"
+ android:background="@drawable/textviewbackground">
+ <TextView android:id="@+id/gpsSatelliteInfo"
+ android:layout_width="fill_parent"
+ android:textSize="14sp"
+ android:padding="6dip"
+ android:layout_height="wrap_content" />
+ </TableRow>
+ <TableRow
+ android:layout_width="fill_parent"
+ android:padding="6dip"
+ android:layout_marginBottom="6dip"
+ android:background="@drawable/textviewbackground">
+ <TextView android:id="@+id/gpsNMEAInfo"
+ android:layout_width="fill_parent"
+ android:textSize="14sp"
+ android:padding="6dip"
+ android:layout_height="wrap_content" />
+ </TableRow>
+ </TableLayout>
+ </ScrollView>
+
+</LinearLayout>
6 res/menu/options_menu.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <menu xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/settings_option_item"
+ android:title="Settings"/>
+ </menu>
11 res/values/accuracyprefsarray.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources>
+ <string-array name="accuracy_list_preference">
+ <item>ACCURACY_COURSE</item>
+ <item>ACCURACY_FINE</item>
+ </string-array>
+ <string-array name="accuracy_list_values">
+ <item>0</item>
+ <item>1</item>
+ </string-array>
+</resources>
68 res/values/arcgis_ui_strings.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="ags_data_for_pie_chart_is_invalid">Data for pie chart is invalid.</string>
+ <string name="ags_media">Media</string>
+ <string name="ags_no_url_provided">No URL provided.</string>
+ <string name="ags_attachments">Attachments</string>
+ <string name="ags_retrieving_attachments">Retrieving attachments...</string>
+ <string name="ags_out_of_memory_when_retrieving_medium">Out of memory error when retrieving medium.</string>
+ <string name="ags_cannot_load_image">Cannot load image.</string>
+ <string name="ags_cannot_load_image_due_to_an_invalid_url">Cannot load image due to an invalid URL.</string>
+ <string name="ags_cannot_load_image_due_to_low_memory">Cannot load image due to low memory.</string>
+ <string name="ags_add_attachment">Add\nAttachment</string>
+ <string name="ags_size">Size</string>
+ <string name="ags_kilobyte_abbreviation">KB</string>
+ <string name="ags_megabyte_abbreviation">MB</string>
+ <string name="ags_type">Type</string>
+ <string name="ags_filetype_image">Image</string>
+ <string name="ags_filetype_word">Word</string>
+ <string name="ags_filetype_text">Text</string>
+ <string name="ags_filetype_pdf">PDF</string>
+ <string name="ags_filetype_video">Video</string>
+ <string name="ags_filetype_other">Other</string>
+ <string name="ags_attachment_does_not_exist_on_disk">Attachment does not exist on disk.</string>
+ <string name="ags_attachment_could_not_be_read_from_disk">Attachment could not be read from disk.</string>
+ <string name="ags_error">Error</string>
+ <string name="ags_view_pdf">View\nPDF</string>
+ <string name="ags_view_text">Text</string>
+ <string name="ags_view_video">Video</string>
+ <string name="ags_view_word">Word</string>
+ <string name="ags_view_other">Other</string>
+ <string name="ags_could_not_write_file_to_sd_card">Could not write file to SD card.</string>
+ <string name="ags_delete">Delete</string>
+ <string name="ags_open">Open</string>
+ <string name="ags_download">Download</string>
+ <string name="ags_no_application_available_to_view_this_file_type">No application available to view this file type.</string>
+ <string name="ags_cannot_exceed_maximum_date">Cannot exceed maximum date</string>
+ <string name="ags_cannot_exceed_minimum_date">Cannot exceed minimum date</string>
+ <string name="ags_creation_user">Created by ${userId}</string>
+ <string name="ags_creation_seconds_ago">Created seconds ago</string>
+ <string name="ags_creation_a_minute_ago">Created a minute ago</string>
+ <string name="ags_creation_minutes_ago">Created ${minutes} minutes ago</string>
+ <string name="ags_creation_an_hour_ago">Created an hour ago</string>
+ <string name="ags_creation_hours_ago">Created ${hours} hours ago</string>
+ <string name="ags_creation_weekday">Created on ${weekday} at ${formattedTime}</string>
+ <string name="ags_creation_full">Created on ${formattedDate} at ${formattedTime}</string>
+ <string name="ags_creation_user_seconds_ago">Created by ${userId} seconds ago</string>
+ <string name="ags_creation_user_a_minute_ago">Created by ${userId} a minute ago</string>
+ <string name="ags_creation_user_minutes_ago">Created by ${userId} ${minutes} minutes ago</string>
+ <string name="ags_creation_user_an_hour_ago">Created by ${userId} an hour ago</string>
+ <string name="ags_creation_user_hours_ago">Created by ${userId} ${hours} hours ago</string>
+ <string name="ags_creation_user_weekday">Created by ${userId} on ${weekday} at ${formattedTime}</string>
+ <string name="ags_creation_user_full">Created by ${userId} on ${formattedDate} at ${formattedTime}</string>
+ <string name="ags_edit_user">Edited by ${userId}</string>
+ <string name="ags_edit_seconds_ago">Edited seconds ago</string>
+ <string name="ags_edit_a_minute_ago">Edited a minute ago</string>
+ <string name="ags_edit_minutes_ago">Edited ${minutes} minutes ago</string>
+ <string name="ags_edit_an_hour_ago">Edited an hour ago</string>
+ <string name="ags_edit_hours_ago">Edited ${hours} hours ago</string>
+ <string name="ags_edit_weekday">Edited on ${weekday} at ${formattedTime}</string>
+ <string name="ags_edit_full">Edited on ${formattedDate} at ${formattedTime}</string>
+ <string name="ags_edit_user_seconds_ago">Edited by ${userId} seconds ago</string>
+ <string name="ags_edit_user_a_minute_ago">Edited by ${userId} a minute ago</string>
+ <string name="ags_edit_user_minutes_ago">Edited by ${userId} ${minutes} minutes ago</string>
+ <string name="ags_edit_user_an_hour_ago">Edited by ${userId} an hour ago</string>
+ <string name="ags_edit_user_hours_ago">Edited by ${userId} ${hours} hours ago</string>
+ <string name="ags_edit_user_weekday">Edited by ${userId} on ${weekday} at ${formattedTime}</string>
+ <string name="ags_edit_user_full">Edited by ${userId} on ${formattedDate} at ${formattedTime}</string>
+</resources>
11 res/values/costprefsarray.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources>
+ <string-array name="cost_list_preference">
+ <item>True</item>
+ <item>False</item>
+ </string-array>
+ <string-array name="cost_list_values">
+ <item>true</item>
+ <item>false</item>
+ </string-array>
+</resources>
13 res/values/powerprefsarray.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources>
+ <string-array name="power_list_preference">
+ <item>POWER_LOW</item>
+ <item>POWER_MEDIUM</item>
+ <item>POWER_HIGH</item>
+ </string-array>
+ <string-array name="power_list_values">
+ <item>0</item>
+ <item>1</item>
+ <item>2</item>
+ </string-array>
+</resources>
23 res/values/strings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="hello">Hello World, GPSTesterActivity!</string>
+ <string name="app_name">GPSTester</string>
+ <string name="GPS">GPS</string>
+ <string name="GPS_Icon">GPS Icon</string>
+ <string name="Network">Network</string>
+ <string name="Network_Icon">Network Icon</string>
+ <string name="Criteria">Criteria</string>
+ <string name="Criteria_Icon">Criteria Icon</string>
+ <string name="Map">Map</string>
+ <string name="Sat_data">Sat data</string>
+ <string name="Pause">Pause</string>
+ <string name="Start">Start</string>
+ <string name="Stop">Stop</string>
+ <string name="Email">Email</string>
+ <string name="redCircle">Red Circle</string>
+ <string name="blueCircle">Blue Circle</string>
+ <string name="blackDiamond">Black Diamond</string>
+ <string name="greenDiamond">Green Diamond</string>
+ <string name="redDiamond">Red Diamond</string>
+ <string name="bestAvailableImageView">Best Available ImageView</string>
+</resources>
100 res/xml/preferences.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ android:key="test">
+ <CheckBoxPreference
+ android:key="pref_key_gps"
+ android:title="Use GPS"
+ android:summary="Toggles apps use of GPS. Does not have any affect on device settings."
+ android:defaultValue="true"/>
+ <CheckBoxPreference
+ android:key="pref_key_network"
+ android:title="Use Network"
+ android:summary="Allows this app to toggle the use of the Network Provider."
+ android:defaultValue="true"/>
+ <CheckBoxPreference
+ android:key="pref_key_autostart"
+ android:title="Auto-start GPS"
+ android:summary="Allows app to automatically start GPS and Network Service if they are available."
+ android:defaultValue="true"/>
+ <EditTextPreference
+ android:key="pref_key_updateGPSMinTime"
+ android:title="GPS Min Update Time"
+ android:summary="Minimum time (ms) for LocationService GPS to wait before updating."
+ android:defaultValue="2000"
+ android:inputType="number"/>
+ <EditTextPreference
+ android:key="pref_key_updateGPSMinDistance"
+ android:title="GPS Min Update Distance"
+ android:summary="Minimum distance (meters) for LocationService GPS to wait before updating."
+ android:defaultValue="10"
+ android:inputType="number"/>
+ <EditTextPreference
+ android:key="pref_key_updateNetworkMinTime"
+ android:title="Network Min Update Time"
+ android:summary="Minimum time (ms) for LocationService Network to wait before updating."
+ android:defaultValue="2000"
+ android:inputType="number"/>
+ <EditTextPreference
+ android:key="pref_key_updateNetworkMinDistance"
+ android:title="Network Min Update Distance"
+ android:summary="Minimum distance (meters) for LocationService Network to wait before updating."
+ android:defaultValue="10"
+ android:inputType="number"/>
+ <PreferenceCategory android:title="Criteria Preferences">
+ <CheckBoxPreference
+ android:key="pref_key_useCriteria"
+ android:title="Use Custom Criteria"
+ android:summary="App will use custom criteria to determine best Location provider."
+ android:defaultValue="false"/>
+ <ListPreference
+ android:key="pref_key_setAccuracy"
+ android:title="Set Accuracy"
+ android:defaultValue="1"
+ android:summary="Sets the criteria preferences for accuracy."
+ android:entries="@array/accuracy_list_preference"
+ android:entryValues="@array/accuracy_list_values"
+ android:dialogTitle="Set Accuracy"/>
+ <ListPreference
+ android:key="pref_key_setPower"
+ android:title="Set Power"
+ android:defaultValue="1"
+ android:summary="Sets the criteria preferences for power consumption."
+ android:entries="@array/power_list_preference"
+ android:entryValues="@array/power_list_values"
+ android:dialogTitle="Choose power preference"/>
+ <ListPreference
+ android:key="pref_key_setCost"
+ android:title="Set Cost"
+ android:defaultValue="true"
+ android:summary="Sets whether or not the app is allowed to incur monetary cost."
+ android:entries="@array/cost_list_preference"
+ android:entryValues="@array/cost_list_values"
+ android:dialogTitle="Incur monetary cost"/>
+ </PreferenceCategory>
+ <PreferenceCategory android:title="Mapping Related Preferences">
+ <EditTextPreference
+ android:key="pref_key_gpsGraphicSize"
+ android:title="Red GPS Graphic Size"
+ android:summary="Sets the size of the red graphic indicating a GPS point on the map (default = 10)."
+ android:defaultValue="10"
+ android:inputType="number"/>
+ <EditTextPreference
+ android:key="pref_key_networkGraphicSize"
+ android:title="Blue Network Location Graphic Size"
+ android:summary="Sets the size of the blue graphic indicating a network location point on map (default = 10)."
+ android:defaultValue="10"
+ android:inputType="number"/>
+ <CheckBoxPreference
+ android:key="pref_key_centerOnGPSCoords"
+ android:title="Center using GPS"
+ android:summary="Centers map using GPS values. Uncheck to center using Network Location coordinates."
+ android:defaultValue="true"/>
+ <CheckBoxPreference
+ android:key="pref_key_accumulateMapPoints"
+ android:title="Accumulate Locations on Map"
+ android:summary="If unchecked only the most current GPS or Network location point will be drawn on the map."
+ android:defaultValue="true"/>
+ </PreferenceCategory>
+
+
+</PreferenceScreen>
92 src/com/agup/gps/GPSTesterActivity.java
@@ -0,0 +1,92 @@
+package com.agup.gps;
+
+import com.agup.gps.controllers.GPSTesterActivityController;
+import com.esri.quickstart.EsriQuickStart;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.preference.PreferenceManager;
+import android.view.KeyEvent;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.Button;
+
+
+public class GPSTesterActivity extends Activity {
+
+ private GPSTesterActivityController _activityController = null;
+ private EsriQuickStart _map;
+ private static SharedPreferences _preferences;
+
+ /** Called when the activity is first created. */
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.main);
+
+ _map = new EsriQuickStart(this,R.id.map);
+
+ _activityController = new GPSTesterActivityController(this,getApplicationContext(),_map);
+
+ _preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
+ PreferenceManager.setDefaultValues(this,R.xml.preferences , false);
+
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu){
+ super.onCreateOptionsMenu(menu);
+ MenuInflater inflator = getMenuInflater();
+ inflator.inflate(R.menu.options_menu, menu);
+
+ return true;
+ }
+
+ @Override
+ public boolean onKeyDown(int keycode, KeyEvent event){
+ if(keycode == KeyEvent.KEYCODE_MENU)
+ {
+ Intent intent = new Intent(getApplicationContext(), SettingsActivity.class);
+ startActivity(intent);
+ }
+ return super.onKeyDown(keycode, event);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item){
+
+ return true;
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ }
+
+ @Override
+ protected void onPause() {
+ _activityController.stopLocation();
+ _map.pause();
+ super.onPause();
+ }
+
+ @Override
+ protected void onStop(){
+ super.onStop();
+ _activityController.stopLocation();
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ _map.unpause();
+ if(_activityController != null && _preferences.getBoolean("pref_key_autostart", true)){
+ _activityController.startLocation();
+ }
+ }
+
+}
43 src/com/agup/gps/SatelliteDataActivity.java
@@ -0,0 +1,43 @@
+package com.agup.gps;
+
+import com.agup.gps.controllers.SatelliteDataActivityController;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+public class SatelliteDataActivity extends Activity {
+
+ private SatelliteDataActivityController _activityController = null;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.satdata);
+
+ _activityController = new SatelliteDataActivityController(this); }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ }
+
+ @Override
+ protected void onPause() {
+ _activityController.stopLocation();
+ super.onPause();
+ }
+
+ @Override
+ protected void onStop(){
+ _activityController.stopLocation();
+ super.onStop();
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ if(_activityController != null){
+ _activityController.startLocation();
+ }
+ }
+}
14 src/com/agup/gps/SettingsActivity.java
@@ -0,0 +1,14 @@
+package com.agup.gps;
+
+import android.os.Bundle;
+import android.preference.PreferenceActivity;
+
+
+public class SettingsActivity extends PreferenceActivity {
+
+ @Override
+ public void onCreate(Bundle savedInstanceState){
+ super.onCreate(savedInstanceState);
+ addPreferencesFromResource(R.xml.preferences);
+ }
+}
1,107 src/com/agup/gps/controllers/GPSTesterActivityController.java
@@ -0,0 +1,1107 @@
+package com.agup.gps.controllers;
+
+
+import java.io.IOException;
+import java.io.RandomAccessFile;
+import java.security.acl.LastOwnerException;
+import java.text.DecimalFormat;
+import java.util.List;
+import java.util.Vector;
+
+import com.agup.gps.R;
+import com.agup.gps.SatelliteDataActivity;
+import com.agup.gps.SettingsActivity;
+import com.agup.gps.fragments.GPSAlertDialogFragment;
+import com.agup.gps.utils.ElapsedTimer;
+import com.esri.android.map.MapView;
+import com.esri.core.symbol.SimpleMarkerSymbol;
+import com.esri.core.tasks.ags.geocode.LocatorGeocodeResult;
+import com.esri.core.tasks.ags.geocode.LocatorReverseGeocodeResult;
+import com.esri.quickstart.EsriQuickStart;
+import com.esri.quickstart.EsriQuickStartEvent;
+import com.esri.quickstart.MapViewEventType;
+import com.esri.quickstart.EsriQuickStart.MapType;
+import com.esri.quickstart.EsriQuickStartEventListener;
+
+import android.app.Activity;
+import android.app.DialogFragment;
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.graphics.Color;
+import android.location.Criteria;
+import android.location.Location;
+import android.location.LocationListener;
+import android.location.LocationManager;
+import android.location.LocationProvider;
+import android.os.Bundle;
+import android.os.Handler;
+import android.preference.PreferenceManager;
+import android.text.Html;
+import android.util.Log;
+import android.view.Display;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TableRow;
+import android.widget.TextView;
+import android.widget.Toast;
+
+public class GPSTesterActivityController {
+
+ private Activity _activity;
+ private TextView _networkLocationTextView;
+ private static TextView _gpsLocationTextView;
+ private TextView _gpsSatelliteTextView;
+ private TextView _gpsNMEATextView;
+ private TextView _allLocationProvidersTextView;
+ private TextView _bestLocationProviderTextView;
+ private TextView _cachedLocationNetworkProvider;
+ private TextView _cachedLocationGPSProvider;
+ private static TextView _bestAvailableInfoTextView;
+ private TextView _elapsedTime;
+ private ImageView _settings;
+ private static ImageView _bestAvailableImageView;
+
+ private static EsriQuickStart _map;
+ private static EsriQuickStartEventListener _mapListener = null;
+
+ private LocationListener _locationListenerNetworkProvider = null;
+ private LocationListener _locationListenerGPSProvider = null;
+ private LocationManager _locationManager;
+ private Location _lastKnownLocationNetworkProvider = null;
+ private Location _lastKnownLocationGPSProvider = null;
+
+ private static ElapsedTimer _elapsedTimer;
+ private boolean _initialLapGPS = false;
+ private boolean _initialLapNetwork = false;
+
+ private static long _initialGPSTime = 0;
+ private long _initialNetworkTime = 0;
+ private long _finalNetworkTime = 0;
+
+ private static double _gpsLatitude = 0.0;
+ private static double _gpsLongitude = 0.0;
+ private static double _gpsAccuracy = 0.0;
+ private static double _cachedGPSLatitude = 0.0;
+ private static double _cachedGPSLongitude = 0.0;
+ private static double _cachedGPSAccuracy = 0.0;
+ private static double _cachedNetworkLatitude = 0.0;
+ private static double _cachedNetworkLongitude = 0.0;
+ private static double _cachedNetworkAccuracy = 0.0;
+ private static long _cachedNetworkTime = 0;
+ private static double _networkLatitude = 0.0;
+ private static double _networkLongitude = 0.0;
+ private static double _networkAccuracy = 0.0;
+
+ private Button _pauseButton;
+ private Button _startButton;
+
+ private ImageView _imSatelliteActivity;
+ private ImageView _imGPS;
+ private ImageView _imNetwork;
+ private ImageView _imCriteria;
+
+ private static SharedPreferences _preferences;
+ private static BestAvailableType _bestAvailableType;
+ private static final DecimalFormat _decimalFormat = new DecimalFormat("#,###.00");
+
+ public GPSTesterActivityController(Activity activity, Context context, EsriQuickStart map){
+ _map = map;
+ _activity = activity;
+ _elapsedTimer = new ElapsedTimer();
+ _elapsedTime = (TextView) _activity.findViewById(R.id.elapsedTime);
+ _elapsedTime.setTextColor(Color.YELLOW);
+
+ _cachedLocationNetworkProvider = (TextView) _activity.findViewById(R.id.cachedNetworkProvider);
+ _cachedLocationGPSProvider = (TextView) _activity.findViewById(R.id.cachedGPS);
+ _networkLocationTextView = (TextView) _activity.findViewById(R.id.networkLocationProvider);
+ _gpsLocationTextView = (TextView) _activity.findViewById(R.id.gpsLocationProvider);
+ _gpsNMEATextView = (TextView) _activity.findViewById(R.id.gpsNMEAInfo);
+ _gpsSatelliteTextView = (TextView) _activity.findViewById(R.id.gpsSatelliteInfo);
+ _allLocationProvidersTextView = (TextView) _activity.findViewById(R.id.allLocationProviders);
+ _bestLocationProviderTextView = (TextView) _activity.findViewById(R.id.bestLocationProviders);
+ _bestAvailableInfoTextView = (TextView) _activity.findViewById(R.id.bestAvailableInfo);
+ _bestAvailableImageView = (ImageView) _activity.findViewById(R.id.bestAvailableImageView);
+ _settings = (ImageView) _activity.findViewById(R.id.settings);
+ _pauseButton = (Button) _activity.findViewById(R.id.PauseButton);
+ _startButton = (Button)_activity.findViewById(R.id.StartAllButton);
+ _preferences = PreferenceManager.getDefaultSharedPreferences(_activity);
+ _imGPS = (ImageView)_activity.findViewById(R.id.gpsEnabledIcon);
+ _imNetwork = (ImageView)_activity.findViewById(R.id.networkEnabledIcon);
+ _imSatelliteActivity = (ImageView) _activity.findViewById(R.id.satellitedata);
+ _imCriteria = (ImageView) _activity.findViewById(R.id.criteriaEnabledIcon);
+
+ setUI();
+ setOnClickListeners();
+
+ //This is very expensive to run - but hey if you need it...it's here.
+ //My recommendation is move it off the UI thread and put it on a timer.
+// String cpu = Float.toString(getCPU() * 100);
+// Log.d("GPSTester","CPU usage: " + cpu);
+
+ }
+
+ private void setOnClickListeners(){
+
+ TableRow cachedNetworkProvider = (TableRow) _activity.findViewById(R.id.cachedNetworkProviderTableRow);
+ cachedNetworkProvider.setOnClickListener(new View.OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+
+ if(_map.isMapLoaded() == true && _cachedNetworkLatitude != 0.0){
+ _map.centerAt(_cachedNetworkLatitude, _cachedNetworkLongitude, 4500.00, true);
+ }
+ }
+ });
+
+ TableRow cachedGPSProvider = (TableRow) _activity.findViewById(R.id.cachedGPSTableRow);
+ cachedGPSProvider.setOnClickListener(new View.OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ if(_map.isMapLoaded() == true && _cachedGPSLatitude != 0.0){
+ _map.centerAt(_cachedGPSLatitude, _cachedGPSLongitude, 4500.00, true);
+ }
+ }
+ });
+
+ TableRow networkProvider = (TableRow) _activity.findViewById(R.id.networkLocationProviderTableRow);
+ networkProvider.setOnClickListener(new View.OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ if(_map.isMapLoaded() == true && _networkLatitude != 0.0){
+ _map.centerAt(_networkLatitude, _networkLongitude, 4500.00, true);
+ }
+ }
+ });
+
+ TableRow gpsProvider = (TableRow) _activity.findViewById(R.id.gpsLocationProviderTableRow);
+ gpsProvider.setOnClickListener(new View.OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ if(_map.isMapLoaded() == true && _gpsLatitude != 0.0){
+ _map.centerAt(_gpsLatitude, _gpsLongitude, 4500.00, true);
+ }
+ }
+ });
+
+ _settings.setOnClickListener(new View.OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ Intent i = new Intent(_activity.getApplicationContext(),SettingsActivity.class);
+ _activity.startActivity(i);
+ }
+ });
+
+// _pauseButton.setBackgroundColor(Color.LTGRAY);
+ _pauseButton.setOnClickListener(new View.OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ pauseLocation();
+ }
+ });
+
+ _startButton.setOnClickListener(new View.OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+ if(_locationManager == null){
+ startLocation();
+ }
+ else{
+ stopLocation();
+ }
+ }
+ });
+
+ _imSatelliteActivity.setOnClickListener(new View.OnClickListener() {
+
+ @Override