diff options
author | Teddy <[email protected]> | 2013-08-25 17:55:34 +0800 |
---|---|---|
committer | Teddy <[email protected]> | 2013-08-25 17:55:34 +0800 |
commit | f4d0989ae888bc2f83f0bc09cc826f7c79b1b6b5 (patch) | |
tree | 79c9fbb49a5a857c56843cef01b032e3430aa085 /misc/client | |
parent | f74999631c4f83a0c8532d6b7adb348dcd5d5205 (diff) | |
parent | 0a76dad753ed88a7575c2aafdd068ef6caa7247f (diff) |
Merge branch 'master' of github.com:Determinant/piztor
Diffstat (limited to 'misc/client')
93 files changed, 1340 insertions, 0 deletions
diff --git a/misc/client/Piztor/.classpath b/misc/client/Piztor/.classpath new file mode 100644 index 0000000..7bc01d9 --- /dev/null +++ b/misc/client/Piztor/.classpath @@ -0,0 +1,9 @@ +<?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 exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/misc/client/Piztor/.project b/misc/client/Piztor/.project new file mode 100644 index 0000000..97100ec --- /dev/null +++ b/misc/client/Piztor/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>Piztor</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> diff --git a/misc/client/Piztor/.settings/org.eclipse.jdt.core.prefs b/misc/client/Piztor/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..b080d2d --- /dev/null +++ b/misc/client/Piztor/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/misc/client/Piztor/AndroidManifest.xml b/misc/client/Piztor/AndroidManifest.xml new file mode 100644 index 0000000..63cb8ff --- /dev/null +++ b/misc/client/Piztor/AndroidManifest.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.macaroon.piztor" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk + android:minSdkVersion="8" + android:targetSdkVersion="17" /> + + <application + android:allowBackup="true" + android:icon="@drawable/ic_launcher" + android:label="@string/app_name" + android:theme="@style/AppTheme" > + <activity + android:name="com.macaroon.piztor.Main" + android:label="@string/app_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + <activity + android:name="com.macaroon.piztor.InitAct" + android:label="@string/title_activity_init" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest> diff --git a/misc/client/Piztor/bin/AndroidManifest.xml b/misc/client/Piztor/bin/AndroidManifest.xml new file mode 100644 index 0000000..63cb8ff --- /dev/null +++ b/misc/client/Piztor/bin/AndroidManifest.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.macaroon.piztor" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk + android:minSdkVersion="8" + android:targetSdkVersion="17" /> + + <application + android:allowBackup="true" + android:icon="@drawable/ic_launcher" + android:label="@string/app_name" + android:theme="@style/AppTheme" > + <activity + android:name="com.macaroon.piztor.Main" + android:label="@string/app_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + <activity + android:name="com.macaroon.piztor.InitAct" + android:label="@string/title_activity_init" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest> diff --git a/misc/client/Piztor/bin/classes/com/macaroon/piztor/ActMgr.class b/misc/client/Piztor/bin/classes/com/macaroon/piztor/ActMgr.class Binary files differnew file mode 100644 index 0000000..1b1c693 --- /dev/null +++ b/misc/client/Piztor/bin/classes/com/macaroon/piztor/ActMgr.class diff --git a/misc/client/Piztor/bin/classes/com/macaroon/piztor/ActStatus.class b/misc/client/Piztor/bin/classes/com/macaroon/piztor/ActStatus.class Binary files differnew file mode 100644 index 0000000..1f3df48 --- /dev/null +++ b/misc/client/Piztor/bin/classes/com/macaroon/piztor/ActStatus.class diff --git a/misc/client/Piztor/bin/classes/com/macaroon/piztor/AppMgr$ActivityStatus.class b/misc/client/Piztor/bin/classes/com/macaroon/piztor/AppMgr$ActivityStatus.class Binary files differnew file mode 100644 index 0000000..496344b --- /dev/null +++ b/misc/client/Piztor/bin/classes/com/macaroon/piztor/AppMgr$ActivityStatus.class diff --git a/misc/client/Piztor/bin/classes/com/macaroon/piztor/AppMgr.class b/misc/client/Piztor/bin/classes/com/macaroon/piztor/AppMgr.class Binary files differnew file mode 100644 index 0000000..107bcad --- /dev/null +++ b/misc/client/Piztor/bin/classes/com/macaroon/piztor/AppMgr.class diff --git a/misc/client/Piztor/bin/classes/com/macaroon/piztor/BuildConfig.class b/misc/client/Piztor/bin/classes/com/macaroon/piztor/BuildConfig.class Binary files differnew file mode 100644 index 0000000..566eb01 --- /dev/null +++ b/misc/client/Piztor/bin/classes/com/macaroon/piztor/BuildConfig.class diff --git a/misc/client/Piztor/bin/classes/com/macaroon/piztor/EmptyStatus.class b/misc/client/Piztor/bin/classes/com/macaroon/piztor/EmptyStatus.class Binary files differnew file mode 100644 index 0000000..c656689 --- /dev/null +++ b/misc/client/Piztor/bin/classes/com/macaroon/piztor/EmptyStatus.class diff --git a/misc/client/Piztor/bin/classes/com/macaroon/piztor/InitAct.class b/misc/client/Piztor/bin/classes/com/macaroon/piztor/InitAct.class Binary files differnew file mode 100644 index 0000000..6a8e04d --- /dev/null +++ b/misc/client/Piztor/bin/classes/com/macaroon/piztor/InitAct.class diff --git a/misc/client/Piztor/bin/classes/com/macaroon/piztor/PiztorAct.class b/misc/client/Piztor/bin/classes/com/macaroon/piztor/PiztorAct.class Binary files differnew file mode 100644 index 0000000..4a3fc81 --- /dev/null +++ b/misc/client/Piztor/bin/classes/com/macaroon/piztor/PiztorAct.class diff --git a/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$attr.class b/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$attr.class Binary files differnew file mode 100644 index 0000000..a95e1ab --- /dev/null +++ b/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$attr.class diff --git a/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$dimen.class b/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$dimen.class Binary files differnew file mode 100644 index 0000000..4bc657f --- /dev/null +++ b/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$dimen.class diff --git a/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$drawable.class b/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$drawable.class Binary files differnew file mode 100644 index 0000000..5444d98 --- /dev/null +++ b/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$drawable.class diff --git a/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$id.class b/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$id.class Binary files differnew file mode 100644 index 0000000..8577179 --- /dev/null +++ b/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$id.class diff --git a/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$layout.class b/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$layout.class Binary files differnew file mode 100644 index 0000000..fab7556 --- /dev/null +++ b/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$layout.class diff --git a/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$menu.class b/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$menu.class Binary files differnew file mode 100644 index 0000000..cec6e5a --- /dev/null +++ b/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$menu.class diff --git a/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$string.class b/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$string.class Binary files differnew file mode 100644 index 0000000..a78c834 --- /dev/null +++ b/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$string.class diff --git a/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$style.class b/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$style.class Binary files differnew file mode 100644 index 0000000..42ddcce --- /dev/null +++ b/misc/client/Piztor/bin/classes/com/macaroon/piztor/R$style.class diff --git a/misc/client/Piztor/bin/classes/com/macaroon/piztor/R.class b/misc/client/Piztor/bin/classes/com/macaroon/piztor/R.class Binary files differnew file mode 100644 index 0000000..d173856 --- /dev/null +++ b/misc/client/Piztor/bin/classes/com/macaroon/piztor/R.class diff --git a/misc/client/Piztor/gen/com/macaroon/piztor/BuildConfig.java b/misc/client/Piztor/gen/com/macaroon/piztor/BuildConfig.java new file mode 100644 index 0000000..833e650 --- /dev/null +++ b/misc/client/Piztor/gen/com/macaroon/piztor/BuildConfig.java @@ -0,0 +1,6 @@ +/** Automatically generated file. DO NOT MODIFY */ +package com.macaroon.piztor; + +public final class BuildConfig { + public final static boolean DEBUG = true; +}
\ No newline at end of file diff --git a/misc/client/Piztor/gen/com/macaroon/piztor/R.java b/misc/client/Piztor/gen/com/macaroon/piztor/R.java new file mode 100644 index 0000000..9821c7f --- /dev/null +++ b/misc/client/Piztor/gen/com/macaroon/piztor/R.java @@ -0,0 +1,70 @@ +/* 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.macaroon.piztor; + +public final class R { + public static final class attr { + } + public static final class dimen { + /** Default screen margins, per the Android Design guidelines. + + Customize dimensions originally defined in res/values/dimens.xml (such as + screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here. + + */ + public static final int activity_horizontal_margin=0x7f040000; + public static final int activity_vertical_margin=0x7f040001; + } + public static final class drawable { + public static final int ic_launcher=0x7f020000; + } + public static final class id { + public static final int action_settings=0x7f080000; + } + public static final class layout { + public static final int activity_init=0x7f030000; + } + public static final class menu { + public static final int init=0x7f070000; + public static final int main=0x7f070001; + } + public static final class string { + public static final int action_settings=0x7f050001; + public static final int app_name=0x7f050000; + public static final int hello_world=0x7f050002; + public static final int title_activity_init=0x7f050003; + } + public static final class style { + /** + Base application theme, dependent on API level. This theme is replaced + by AppBaseTheme from res/values-vXX/styles.xml on newer devices. + + + Theme customizations available in newer API levels can go in + res/values-vXX/styles.xml, while customizations related to + backward-compatibility can go here. + + + Base application theme for API 11+. This theme completely replaces + AppBaseTheme from res/values/styles.xml on API 11+ devices. + + API 11 theme customizations can go here. + + Base application theme for API 14+. This theme completely replaces + AppBaseTheme from BOTH res/values/styles.xml and + res/values-v11/styles.xml on API 14+ devices. + + API 14 theme customizations can go here. + */ + public static final int AppBaseTheme=0x7f060000; + /** Application theme. + All customizations that are NOT specific to a particular API-level can go here. + */ + public static final int AppTheme=0x7f060001; + } +} diff --git a/misc/client/Piztor/ic_launcher-web.png b/misc/client/Piztor/ic_launcher-web.png Binary files differnew file mode 100644 index 0000000..a18cbb4 --- /dev/null +++ b/misc/client/Piztor/ic_launcher-web.png diff --git a/misc/client/Piztor/libs/android-support-v4.jar b/misc/client/Piztor/libs/android-support-v4.jar Binary files differnew file mode 100644 index 0000000..cf12d28 --- /dev/null +++ b/misc/client/Piztor/libs/android-support-v4.jar diff --git a/misc/client/Piztor/proguard-project.txt b/misc/client/Piztor/proguard-project.txt new file mode 100644 index 0000000..f2fe155 --- /dev/null +++ b/misc/client/Piztor/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 *; +#} diff --git a/misc/client/Piztor/project.properties b/misc/client/Piztor/project.properties new file mode 100644 index 0000000..ce39f2d --- /dev/null +++ b/misc/client/Piztor/project.properties @@ -0,0 +1,14 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-18 diff --git a/misc/client/Piztor/res/drawable-hdpi/ic_launcher.png b/misc/client/Piztor/res/drawable-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..288b665 --- /dev/null +++ b/misc/client/Piztor/res/drawable-hdpi/ic_launcher.png diff --git a/misc/client/Piztor/res/drawable-mdpi/ic_launcher.png b/misc/client/Piztor/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..6ae570b --- /dev/null +++ b/misc/client/Piztor/res/drawable-mdpi/ic_launcher.png diff --git a/misc/client/Piztor/res/drawable-xhdpi/ic_launcher.png b/misc/client/Piztor/res/drawable-xhdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..d4fb7cd --- /dev/null +++ b/misc/client/Piztor/res/drawable-xhdpi/ic_launcher.png diff --git a/misc/client/Piztor/res/drawable-xxhdpi/ic_launcher.png b/misc/client/Piztor/res/drawable-xxhdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..85a6081 --- /dev/null +++ b/misc/client/Piztor/res/drawable-xxhdpi/ic_launcher.png diff --git a/misc/client/Piztor/res/layout/activity_init.xml b/misc/client/Piztor/res/layout/activity_init.xml new file mode 100644 index 0000000..43e6253 --- /dev/null +++ b/misc/client/Piztor/res/layout/activity_init.xml @@ -0,0 +1,16 @@ +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingBottom="@dimen/activity_vertical_margin" + android:paddingLeft="@dimen/activity_horizontal_margin" + android:paddingRight="@dimen/activity_horizontal_margin" + android:paddingTop="@dimen/activity_vertical_margin" + tools:context=".InitAct" > + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/hello_world" /> + +</RelativeLayout> diff --git a/misc/client/Piztor/res/menu/init.xml b/misc/client/Piztor/res/menu/init.xml new file mode 100644 index 0000000..c002028 --- /dev/null +++ b/misc/client/Piztor/res/menu/init.xml @@ -0,0 +1,9 @@ +<menu xmlns:android="http://schemas.android.com/apk/res/android" > + + <item + android:id="@+id/action_settings" + android:orderInCategory="100" + android:showAsAction="never" + android:title="@string/action_settings"/> + +</menu> diff --git a/misc/client/Piztor/res/menu/main.xml b/misc/client/Piztor/res/menu/main.xml new file mode 100644 index 0000000..c002028 --- /dev/null +++ b/misc/client/Piztor/res/menu/main.xml @@ -0,0 +1,9 @@ +<menu xmlns:android="http://schemas.android.com/apk/res/android" > + + <item + android:id="@+id/action_settings" + android:orderInCategory="100" + android:showAsAction="never" + android:title="@string/action_settings"/> + +</menu> diff --git a/misc/client/Piztor/res/values-sw600dp/dimens.xml b/misc/client/Piztor/res/values-sw600dp/dimens.xml new file mode 100644 index 0000000..44f01db --- /dev/null +++ b/misc/client/Piztor/res/values-sw600dp/dimens.xml @@ -0,0 +1,8 @@ +<resources> + + <!-- + Customize dimensions originally defined in res/values/dimens.xml (such as + screen margins) for sw600dp devices (e.g. 7" tablets) here. + --> + +</resources> diff --git a/misc/client/Piztor/res/values-sw720dp-land/dimens.xml b/misc/client/Piztor/res/values-sw720dp-land/dimens.xml new file mode 100644 index 0000000..61e3fa8 --- /dev/null +++ b/misc/client/Piztor/res/values-sw720dp-land/dimens.xml @@ -0,0 +1,9 @@ +<resources> + + <!-- + Customize dimensions originally defined in res/values/dimens.xml (such as + screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here. + --> + <dimen name="activity_horizontal_margin">128dp</dimen> + +</resources> diff --git a/misc/client/Piztor/res/values-v11/styles.xml b/misc/client/Piztor/res/values-v11/styles.xml new file mode 100644 index 0000000..3c02242 --- /dev/null +++ b/misc/client/Piztor/res/values-v11/styles.xml @@ -0,0 +1,11 @@ +<resources> + + <!-- + Base application theme for API 11+. This theme completely replaces + AppBaseTheme from res/values/styles.xml on API 11+ devices. + --> + <style name="AppBaseTheme" parent="android:Theme.Holo.Light"> + <!-- API 11 theme customizations can go here. --> + </style> + +</resources> diff --git a/misc/client/Piztor/res/values-v14/styles.xml b/misc/client/Piztor/res/values-v14/styles.xml new file mode 100644 index 0000000..a91fd03 --- /dev/null +++ b/misc/client/Piztor/res/values-v14/styles.xml @@ -0,0 +1,12 @@ +<resources> + + <!-- + Base application theme for API 14+. This theme completely replaces + AppBaseTheme from BOTH res/values/styles.xml and + res/values-v11/styles.xml on API 14+ devices. + --> + <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar"> + <!-- API 14 theme customizations can go here. --> + </style> + +</resources> diff --git a/misc/client/Piztor/res/values/dimens.xml b/misc/client/Piztor/res/values/dimens.xml new file mode 100644 index 0000000..55c1e59 --- /dev/null +++ b/misc/client/Piztor/res/values/dimens.xml @@ -0,0 +1,7 @@ +<resources> + + <!-- Default screen margins, per the Android Design guidelines. --> + <dimen name="activity_horizontal_margin">16dp</dimen> + <dimen name="activity_vertical_margin">16dp</dimen> + +</resources> diff --git a/misc/client/Piztor/res/values/strings.xml b/misc/client/Piztor/res/values/strings.xml new file mode 100644 index 0000000..8e76dc0 --- /dev/null +++ b/misc/client/Piztor/res/values/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <string name="app_name">Piztor</string> + <string name="action_settings">Settings</string> + <string name="hello_world">Hello world!</string> + <string name="title_activity_init">InitAct</string> + +</resources> diff --git a/misc/client/Piztor/res/values/styles.xml b/misc/client/Piztor/res/values/styles.xml new file mode 100644 index 0000000..6ce89c7 --- /dev/null +++ b/misc/client/Piztor/res/values/styles.xml @@ -0,0 +1,20 @@ +<resources> + + <!-- + Base application theme, dependent on API level. This theme is replaced + by AppBaseTheme from res/values-vXX/styles.xml on newer devices. + --> + <style name="AppBaseTheme" parent="android:Theme.Light"> + <!-- + Theme customizations available in newer API levels can go in + res/values-vXX/styles.xml, while customizations related to + backward-compatibility can go here. + --> + </style> + + <!-- Application theme. --> + <style name="AppTheme" parent="AppBaseTheme"> + <!-- All customizations that are NOT specific to a particular API-level can go here. --> + </style> + +</resources> diff --git a/misc/client/Piztor/src/com/macaroon/piztor/ActMgr.java b/misc/client/Piztor/src/com/macaroon/piztor/ActMgr.java new file mode 100644 index 0000000..81fa6f2 --- /dev/null +++ b/misc/client/Piztor/src/com/macaroon/piztor/ActMgr.java @@ -0,0 +1,63 @@ +package com.macaroon.piztor; + +import java.util.*; + +import android.annotation.SuppressLint; + +@SuppressLint("UseSparseArrays") +public class ActMgr { + // event + PiztorAct act; + ActStatus nowStatus; + HashMap<ActStatus, HashMap<Integer, ActStatus>> mp; + + ActMgr(PiztorAct act, ActStatus nowStatus, ActStatus[] r) { + this.act = act; + this.nowStatus = nowStatus; + mp = new HashMap<ActStatus, HashMap<Integer, ActStatus>>(); + for (int i = 0; i < r.length; i++) { + mp.put(r[i], new HashMap<Integer, ActStatus>()); + } + } + + void trigger(int event) { + for (Integer i : mp.get(nowStatus).keySet()) + System.out.println(i); + if (mp.get(nowStatus).containsKey(event)) { + nowStatus.leave(event); + nowStatus = mp.get(nowStatus).get(event); + nowStatus.enter(event); + } else if (AppMgr.mp.get(act.getClass()).containsKey(event)) { + AppMgr.trigger(event); + } + } + + void add(ActStatus a, int event, ActStatus b) { + if (mp.containsKey(a)) { + HashMap<Integer, ActStatus> h = mp.get(a); + h.put(event, b); + mp.put(a, h); + } else { + HashMap<Integer, ActStatus> h = new HashMap<Integer, ActStatus>(); + h.put(event, b); + mp.put(a, h); + } + } +} + +abstract class ActStatus { + abstract void enter(int e); + + abstract void leave(int e); +} + +class EmptyStatus extends ActStatus { + @Override + void enter(int e) { + } + + @Override + void leave(int e) { + } + +} diff --git a/misc/client/Piztor/src/com/macaroon/piztor/AppMgr.java b/misc/client/Piztor/src/com/macaroon/piztor/AppMgr.java new file mode 100644 index 0000000..9259786 --- /dev/null +++ b/misc/client/Piztor/src/com/macaroon/piztor/AppMgr.java @@ -0,0 +1,62 @@ +package com.macaroon.piztor; + +import java.util.HashMap; + +import android.annotation.SuppressLint; +import android.content.Intent; + +@SuppressLint("UseSparseArrays") +public class AppMgr { + // Status + public enum ActivityStatus{ + create, start, resume, restart, stop, pause, destroy + } + static ActivityStatus status; + static PiztorAct nowAct; + + static HashMap<Class<?>, HashMap<Integer, Class<?>>> mp; + + static void setStatus(ActivityStatus st) { + status = st; + } + + static void trigger(int event) { + + Intent i = new Intent(); + i.setClass(nowAct, mp.get(nowAct.getClass()).get(event)); + nowAct.startActivity(i); + } + + static void add(Class<?> a, Integer event, Class<?> b) { + if (mp.containsKey(a)) + mp.get(a).put(event, b); + else { + HashMap<Integer, Class<?>> h = new HashMap<Integer, Class<?>>(); + h.put(event, b); + mp.put(a, h); + } + } + + static void addTransition(Class<?> a, int i, Class<?> b) { + if (mp.containsKey(a)) { + HashMap<Integer, Class<?>> h = mp.get(a); + h.put(i, b); + mp.put(a, h); + } else { + HashMap<Integer, Class<?>> h = new HashMap<Integer, Class<?>>(); + h.put(i, b); + mp.put(a, h); + } + } + + static void addStatus(Class<?> a) { + mp.put(a, new HashMap<Integer, Class<?>>()); + } + + static void init() { + mp = new HashMap<Class<?>, HashMap<Integer, Class<?>>>(); + addStatus(InitAct.class); + + } + +} diff --git a/misc/client/Piztor/src/com/macaroon/piztor/InitAct.java b/misc/client/Piztor/src/com/macaroon/piztor/InitAct.java new file mode 100644 index 0000000..1ce492c --- /dev/null +++ b/misc/client/Piztor/src/com/macaroon/piztor/InitAct.java @@ -0,0 +1,22 @@ +package com.macaroon.piztor; + +import android.os.Bundle; +import android.app.Activity; +import android.view.Menu; + +public class InitAct extends Activity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_init); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.init, menu); + return true; + } + +} diff --git a/misc/client/Piztor/src/com/macaroon/piztor/PiztorAct.java b/misc/client/Piztor/src/com/macaroon/piztor/PiztorAct.java new file mode 100644 index 0000000..ad12b17 --- /dev/null +++ b/misc/client/Piztor/src/com/macaroon/piztor/PiztorAct.java @@ -0,0 +1,60 @@ +package com.macaroon.piztor; + +import android.app.Activity; +import android.os.Bundle; + +public class PiztorAct extends Activity { + String id; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + System.out.println(id + " on create"); + AppMgr.setStatus(AppMgr.ActivityStatus.create); + AppMgr.nowAct = this; + } + + @Override + protected void onStart() { + super.onStart(); + System.out.println(id + " on start"); + AppMgr.setStatus(AppMgr.ActivityStatus.start); + AppMgr.nowAct = this; + } + + @Override + protected void onStop() { + super.onStop(); + System.out.println(id + " on stop"); + AppMgr.setStatus(AppMgr.ActivityStatus.stop); + } + + @Override + protected void onResume() { + super.onResume(); + System.out.println(id + " on resume"); + AppMgr.setStatus(AppMgr.ActivityStatus.resume); + AppMgr.nowAct = this; + } + + @Override + protected void onPause() { + super.onPause(); + System.out.println(id + " on pause"); + AppMgr.setStatus(AppMgr.ActivityStatus.pause); + } + + @Override + protected void onRestart() { + super.onRestart(); + System.out.println(id + " on restart"); + AppMgr.setStatus(AppMgr.ActivityStatus.restart); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + System.out.println(id + " on destroy"); + AppMgr.setStatus(AppMgr.ActivityStatus.destroy); + } + +} diff --git a/misc/client/README.rst b/misc/client/README.rst new file mode 100644 index 0000000..ef377cc --- /dev/null +++ b/misc/client/README.rst @@ -0,0 +1 @@ +Here is the folder of android app implementation diff --git a/misc/client/Socket-demo/Login.java b/misc/client/Socket-demo/Login.java new file mode 100644 index 0000000..2dd386c --- /dev/null +++ b/misc/client/Socket-demo/Login.java @@ -0,0 +1,6 @@ +package com.example.test; + +public class Login{ + void success(int t){} + void failed(){} +}
\ No newline at end of file diff --git a/misc/client/Socket-demo/MainActivity.java b/misc/client/Socket-demo/MainActivity.java new file mode 100644 index 0000000..ab2ef0c --- /dev/null +++ b/misc/client/Socket-demo/MainActivity.java @@ -0,0 +1,44 @@ +package com.example.test; + +import android.app.Activity; +import android.os.Bundle; +import android.view.Menu; +import android.view.View; +import android.widget.TextView; + +public class MainActivity extends Activity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + TextView textview = (TextView)findViewById(R.id.textView1); + textview.setText("Server Created!"); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.main, menu); + return true; + } + + + public void sendMessage(View view) { + + } + + + + + + + + +} + + + + + + diff --git a/misc/client/Socket-demo/Myrequest.java b/misc/client/Socket-demo/Myrequest.java new file mode 100644 index 0000000..e5bfce2 --- /dev/null +++ b/misc/client/Socket-demo/Myrequest.java @@ -0,0 +1,10 @@ +package com.example.test; + +import java.util.Vector; + +public class Myrequest{ + public Vector<Object> contain; + Myrequest(){ + contain = new Vector<Object>(); + } +}
\ No newline at end of file diff --git a/misc/client/Socket-demo/Myrespond.java b/misc/client/Socket-demo/Myrespond.java new file mode 100644 index 0000000..ea6ef3b --- /dev/null +++ b/misc/client/Socket-demo/Myrespond.java @@ -0,0 +1,12 @@ +package com.example.test; + +import java.util.Vector; + +public class Myrespond{ + public Vector<Object> contain; + public String wrong; + Myrespond(){ + wrong = null; + contain = new Vector<Object>(); + } +}
\ No newline at end of file diff --git a/misc/client/Socket-demo/SocketClient.java b/misc/client/Socket-demo/SocketClient.java new file mode 100644 index 0000000..df42484 --- /dev/null +++ b/misc/client/Socket-demo/SocketClient.java @@ -0,0 +1,107 @@ +package com.example.test; + + +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.net.Socket; +import java.net.UnknownHostException; + +public class SocketClient { + + static Socket client; + + public SocketClient(String site, int port)throws UnknownHostException,IOException{ + try{ + client = new Socket(site,port); + }catch (UnknownHostException e){ + throw e; + }catch (IOException e){ + throw e; + } + } + + public Myrespond sendMsg(Myrequest req)throws IOException{ + try{ + DataOutputStream out = new DataOutputStream(client.getOutputStream()); + int tmp = (Integer) req.contain.get(0); + switch(tmp){ + case 0: + String id = (String) req.contain.get(1); + String pass = (String) req.contain.get(2); + out.writeUTF(id); + out.writeUTF(pass); + break; + case 1: + int tk1 = (Integer) req.contain.get(1); + int acc = (Integer) req.contain.get(2); + String mess = (String) req.contain.get(3); + out.writeInt(tk1); + out.writeInt(acc); + out.writeUTF(mess); + break; + case 2: + int tk2 = (Integer) req.contain.get(1); + double slot = (Double) req.contain.get(2); + double slat = (Double) req.contain.get(3); + out.writeInt(tk2); + out.writeDouble(slot); + out.writeDouble(slat); + break; + case 3: + int tk3 = (Integer) req.contain.get(1); + int gid = (Integer) req.contain.get(2); + out.writeInt(tk3); + out.writeInt(gid); + break; + } + out.flush(); + client.shutdownOutput(); + DataInputStream in = new DataInputStream(client.getInputStream()); + int type = in.readUnsignedByte(); + Myrespond r = new Myrespond(); + switch(type){ + case 0: + int id = in.readInt(); + int status = in.readUnsignedByte(); + r.contain.add(0); + r.contain.add(id); + r.contain.add(status); + break; + case 1: + r.contain.add(1); + //reserved + break; + case 2: + r.contain.add(2); + //reserved + break; + case 3: + int n = in.readInt(); + r.contain.add(3); + r.contain.add(n); + for(int i=1;i<=n;i++) + { + int tid = in.readInt(); + double lot = in.readDouble(); + double lat = in.readDouble(); + r.contain.add(tid); + r.contain.add(lot); + r.contain.add(lat); + } + break; + } + return r; + }catch(IOException e){ + throw e; + } + } + public void closeSocket(){ + try{ + client.close(); + }catch(IOException e){ + e.printStackTrace(); + } + } + +} diff --git a/misc/client/Socket-demo/Transam.java b/misc/client/Socket-demo/Transam.java new file mode 100644 index 0000000..b5e2381 --- /dev/null +++ b/misc/client/Socket-demo/Transam.java @@ -0,0 +1,125 @@ +package com.example.test; + +import java.io.IOException; +import java.net.UnknownHostException; +import java.util.Timer; +import java.util.TimerTask; + +import android.annotation.SuppressLint; +import android.os.Handler; +import android.os.Message; + +public class Transam implements Runnable { + public Timer timer; + public boolean flag = true; + public boolean reqlog = false; + public int cnt = 4; + public int port; + public String ip; + Thread thread; + Myrequest req; + Myrespond res; + Controller core; + Login log; + + + Transam(String i,int p,Myrequest r,Login l){ + port = p; + ip = i; + req = r; + log = l; + reqlog = true; + } + + Transam(String i,int p,Myrequest r,Controller c){ + port = p; + ip = i; + req = r; + core = c; + } + + public void run() { + final thd t = new thd(); + flag = false; + thread = new Thread(t); + cnt = 4; + thread.start(); + timer = new Timer(); + TimerTask task = new Timertk(); + timer.schedule(task,2000,2000); + } + + class thd implements Runnable { + @Override + public void run() { + try{ + SocketClient client = new SocketClient(ip,port); + res = client.sendMsg(req); + if(!reqlog){ + core.recieveInfo(res); + } + else{ + if((Integer) res.contain.get(2)==0){ + int t = (Integer) res.contain.get(1); + log.success(t); + } + else{ + log.failed(); + } + } + Message msg = new Message(); + msg.what = 1; + handler.sendMessage(msg); + client.closeSocket(); + }catch (UnknownHostException e){ + }catch (IOException e){ + } + + } + } + + @SuppressLint("HandlerLeak") + Handler handler = new Handler(){ + public void handleMessage(Message msg) { + switch (msg.what) { + case 1: + flag = true; + break; + case 2: + if(!reqlog){ + res = new Myrespond(); + res.wrong = msg.obj.toString(); + core.recieveInfo(res); + } + else{ + log.failed(); + } + break; + case 3: + final thd t = new thd(); + thread = new Thread(t); + thread.start(); + break; + } + super.handleMessage(msg); + } + }; + + class Timertk extends TimerTask { + public void run() { + if(flag==false&&cnt>0){ + cnt--; + } + else if(cnt==0) { + Message msg = new Message(); + msg.obj = "connecting failed"; + msg.what = 2; + handler.sendMessage(msg); + timer.cancel(); + } + else if(flag==true){ + timer.cancel(); + } + } + }; +}
\ No newline at end of file diff --git a/misc/client/gps-demo/AndroidGPSTracking/.AndroidManifest.xml.swp b/misc/client/gps-demo/AndroidGPSTracking/.AndroidManifest.xml.swp Binary files differnew file mode 100644 index 0000000..d03b360 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/.AndroidManifest.xml.swp diff --git a/misc/client/gps-demo/AndroidGPSTracking/.classpath b/misc/client/gps-demo/AndroidGPSTracking/.classpath new file mode 100644 index 0000000..5176974 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/misc/client/gps-demo/AndroidGPSTracking/.project b/misc/client/gps-demo/AndroidGPSTracking/.project new file mode 100644 index 0000000..a080853 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>AndroidGPSTracking</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>
diff --git a/misc/client/gps-demo/AndroidGPSTracking/.settings/org.eclipse.jdt.core.prefs b/misc/client/gps-demo/AndroidGPSTracking/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..b080d2d --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/misc/client/gps-demo/AndroidGPSTracking/AndroidManifest.xml b/misc/client/gps-demo/AndroidGPSTracking/AndroidManifest.xml new file mode 100644 index 0000000..137894c --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/AndroidManifest.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.example.gpstracking"
+ android:versionCode="1"
+ android:versionName="1.0" >
+
+ <uses-sdk android:minSdkVersion="8" />
+
+ <application
+ android:icon="@drawable/ic_launcher"
+ android:label="@string/app_name" >
+ <activity
+ android:name=".AndroidGPSTrackingActivity"
+ android:label="@string/app_name" >
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+
+ <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+ <uses-permission android:name="android.permission.INTERNET" />
+
+</manifest>
\ No newline at end of file diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/AndroidGPSTracking.apk b/misc/client/gps-demo/AndroidGPSTracking/bin/AndroidGPSTracking.apk Binary files differnew file mode 100644 index 0000000..985304a --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/AndroidGPSTracking.apk diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/AndroidManifest.xml b/misc/client/gps-demo/AndroidGPSTracking/bin/AndroidManifest.xml new file mode 100644 index 0000000..137894c --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/AndroidManifest.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.example.gpstracking"
+ android:versionCode="1"
+ android:versionName="1.0" >
+
+ <uses-sdk android:minSdkVersion="8" />
+
+ <application
+ android:icon="@drawable/ic_launcher"
+ android:label="@string/app_name" >
+ <activity
+ android:name=".AndroidGPSTrackingActivity"
+ android:label="@string/app_name" >
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+
+ <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+ <uses-permission android:name="android.permission.INTERNET" />
+
+</manifest>
\ No newline at end of file diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/classes.dex b/misc/client/gps-demo/AndroidGPSTracking/bin/classes.dex Binary files differnew file mode 100644 index 0000000..1a8d494 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/classes.dex diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/AndroidGPSTrackingActivity$1.class b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/AndroidGPSTrackingActivity$1.class Binary files differnew file mode 100644 index 0000000..3367336 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/AndroidGPSTrackingActivity$1.class diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/AndroidGPSTrackingActivity.class b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/AndroidGPSTrackingActivity.class Binary files differnew file mode 100644 index 0000000..7df00e1 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/AndroidGPSTrackingActivity.class diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/BuildConfig.class b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/BuildConfig.class Binary files differnew file mode 100644 index 0000000..15960aa --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/BuildConfig.class diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/GPSTracker$1.class b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/GPSTracker$1.class Binary files differnew file mode 100644 index 0000000..8e2ea2b --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/GPSTracker$1.class diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/GPSTracker$2.class b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/GPSTracker$2.class Binary files differnew file mode 100644 index 0000000..572f305 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/GPSTracker$2.class diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/GPSTracker.class b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/GPSTracker.class Binary files differnew file mode 100644 index 0000000..6f6bd93 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/GPSTracker.class diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/R$attr.class b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/R$attr.class Binary files differnew file mode 100644 index 0000000..1dbe417 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/R$attr.class diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/R$drawable.class b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/R$drawable.class Binary files differnew file mode 100644 index 0000000..f46f86d --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/R$drawable.class diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/R$id.class b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/R$id.class Binary files differnew file mode 100644 index 0000000..7d48158 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/R$id.class diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/R$layout.class b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/R$layout.class Binary files differnew file mode 100644 index 0000000..08f0ade --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/R$layout.class diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/R$string.class b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/R$string.class Binary files differnew file mode 100644 index 0000000..7c72195 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/R$string.class diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/R.class b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/R.class Binary files differnew file mode 100644 index 0000000..7f0475e --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/classes/com/example/gpstracking/R.class diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/dexedLibs/annotations-5b022f4578500e25e3bfa446659bd7d8.jar b/misc/client/gps-demo/AndroidGPSTracking/bin/dexedLibs/annotations-5b022f4578500e25e3bfa446659bd7d8.jar Binary files differnew file mode 100644 index 0000000..61505d5 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/dexedLibs/annotations-5b022f4578500e25e3bfa446659bd7d8.jar diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/jarlist.cache b/misc/client/gps-demo/AndroidGPSTracking/bin/jarlist.cache new file mode 100644 index 0000000..0565465 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/jarlist.cache @@ -0,0 +1,3 @@ +# cache for current jar dependency. DO NOT EDIT. +# format is <lastModified> <length> <SHA-1> <path> +# Encoding is UTF-8 diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/res/drawable-hdpi/ic_launcher.png b/misc/client/gps-demo/AndroidGPSTracking/bin/res/drawable-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..882eb14 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/res/drawable-hdpi/ic_launcher.png diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/res/drawable-ldpi/ic_launcher.png b/misc/client/gps-demo/AndroidGPSTracking/bin/res/drawable-ldpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..18689f6 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/res/drawable-ldpi/ic_launcher.png diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/res/drawable-mdpi/ic_launcher.png b/misc/client/gps-demo/AndroidGPSTracking/bin/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..02e96b9 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/res/drawable-mdpi/ic_launcher.png diff --git a/misc/client/gps-demo/AndroidGPSTracking/bin/resources.ap_ b/misc/client/gps-demo/AndroidGPSTracking/bin/resources.ap_ Binary files differnew file mode 100644 index 0000000..8c035b7 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/bin/resources.ap_ diff --git a/misc/client/gps-demo/AndroidGPSTracking/default.properties b/misc/client/gps-demo/AndroidGPSTracking/default.properties new file mode 100644 index 0000000..32299c2 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/default.properties @@ -0,0 +1,2 @@ +# Project target. +target=android-8 diff --git a/misc/client/gps-demo/AndroidGPSTracking/gen/com/example/gpstracking/BuildConfig.java b/misc/client/gps-demo/AndroidGPSTracking/gen/com/example/gpstracking/BuildConfig.java new file mode 100644 index 0000000..c164cb3 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/gen/com/example/gpstracking/BuildConfig.java @@ -0,0 +1,6 @@ +/** Automatically generated file. DO NOT MODIFY */ +package com.example.gpstracking; + +public final class BuildConfig { + public final static boolean DEBUG = true; +}
\ No newline at end of file diff --git a/misc/client/gps-demo/AndroidGPSTracking/gen/com/example/gpstracking/R.java b/misc/client/gps-demo/AndroidGPSTracking/gen/com/example/gpstracking/R.java new file mode 100644 index 0000000..c747309 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/gen/com/example/gpstracking/R.java @@ -0,0 +1,26 @@ +/* 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.example.gpstracking; + +public final class R { + public static final class attr { + } + public static final class drawable { + public static final int ic_launcher=0x7f020000; + } + public static final class id { + public static final int btnShowLocation=0x7f050000; + } + public static final class layout { + public static final int main=0x7f030000; + } + public static final class string { + public static final int app_name=0x7f040001; + public static final int hello=0x7f040000; + } +} diff --git a/misc/client/gps-demo/AndroidGPSTracking/proguard.cfg b/misc/client/gps-demo/AndroidGPSTracking/proguard.cfg new file mode 100644 index 0000000..b1cdf17 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/proguard.cfg @@ -0,0 +1,40 @@ +-optimizationpasses 5 +-dontusemixedcaseclassnames +-dontskipnonpubliclibraryclasses +-dontpreverify +-verbose +-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* + +-keep public class * extends android.app.Activity +-keep public class * extends android.app.Application +-keep public class * extends android.app.Service +-keep public class * extends android.content.BroadcastReceiver +-keep public class * extends android.content.ContentProvider +-keep public class * extends android.app.backup.BackupAgentHelper +-keep public class * extends android.preference.Preference +-keep public class com.android.vending.licensing.ILicensingService + +-keepclasseswithmembernames class * { + native <methods>; +} + +-keepclasseswithmembers class * { + public <init>(android.content.Context, android.util.AttributeSet); +} + +-keepclasseswithmembers class * { + public <init>(android.content.Context, android.util.AttributeSet, int); +} + +-keepclassmembers class * extends android.app.Activity { + public void *(android.view.View); +} + +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +-keep class * implements android.os.Parcelable { + public static final android.os.Parcelable$Creator *; +} diff --git a/misc/client/gps-demo/AndroidGPSTracking/project.properties b/misc/client/gps-demo/AndroidGPSTracking/project.properties new file mode 100644 index 0000000..ea89160 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/project.properties @@ -0,0 +1,11 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-8 diff --git a/misc/client/gps-demo/AndroidGPSTracking/res/drawable-hdpi/ic_launcher.png b/misc/client/gps-demo/AndroidGPSTracking/res/drawable-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..efc8f0a --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/res/drawable-hdpi/ic_launcher.png diff --git a/misc/client/gps-demo/AndroidGPSTracking/res/drawable-ldpi/ic_launcher.png b/misc/client/gps-demo/AndroidGPSTracking/res/drawable-ldpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..efc8f0a --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/res/drawable-ldpi/ic_launcher.png diff --git a/misc/client/gps-demo/AndroidGPSTracking/res/drawable-mdpi/ic_launcher.png b/misc/client/gps-demo/AndroidGPSTracking/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..efc8f0a --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/res/drawable-mdpi/ic_launcher.png diff --git a/misc/client/gps-demo/AndroidGPSTracking/res/drawable-xhdpi/ic_launcher.png b/misc/client/gps-demo/AndroidGPSTracking/res/drawable-xhdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..efc8f0a --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/res/drawable-xhdpi/ic_launcher.png diff --git a/misc/client/gps-demo/AndroidGPSTracking/res/layout/main.xml b/misc/client/gps-demo/AndroidGPSTracking/res/layout/main.xml new file mode 100644 index 0000000..430efa2 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/res/layout/main.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:orientation="vertical" >
+
+ <Button android:id="@+id/btnShowLocation"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="Show Location"
+ android:layout_centerVertical="true"
+ android:layout_centerHorizontal="true"/>
+
+</RelativeLayout>
\ No newline at end of file diff --git a/misc/client/gps-demo/AndroidGPSTracking/res/values/strings.xml b/misc/client/gps-demo/AndroidGPSTracking/res/values/strings.xml new file mode 100644 index 0000000..6c854c3 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/res/values/strings.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+ <string name="hello">Hello World, AndroidGPSTrackingActivity!</string>
+ <string name="app_name">AndroidGPSTracking</string>
+
+</resources>
\ No newline at end of file diff --git a/misc/client/gps-demo/AndroidGPSTracking/src/com/example/gpstracking/AndroidGPSTrackingActivity.java b/misc/client/gps-demo/AndroidGPSTracking/src/com/example/gpstracking/AndroidGPSTrackingActivity.java new file mode 100644 index 0000000..cdc1413 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/src/com/example/gpstracking/AndroidGPSTrackingActivity.java @@ -0,0 +1,50 @@ +package com.example.gpstracking; + +import android.app.Activity; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.Toast; + +public class AndroidGPSTrackingActivity extends Activity { + + Button btnShowLocation; + + // GPSTracker class + GPSTracker gps; + + @Override + public void onCreate(Bundle savedInstanceState) { + + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + + btnShowLocation = (Button) findViewById(R.id.btnShowLocation); + + // show location button click event + btnShowLocation.setOnClickListener(new View.OnClickListener() { + + @Override + public void onClick(View arg0) { + // create class object + gps = new GPSTracker(AndroidGPSTrackingActivity.this); + + // check if GPS enabled + if(gps.canGetLocation()){ + + double latitude = gps.getLatitude(); + double longitude = gps.getLongitude(); + + Toast.makeText(getApplicationContext(), "Your Location is - \nLat: " + latitude + "\nLong: " + longitude, Toast.LENGTH_LONG).show(); + }else{ + // can't get location + // GPS or Network is not enabled + // Ask user to enable GPS/network in settings + gps.showSettingsAlert(); + } + + } + }); + } + +}
\ No newline at end of file diff --git a/misc/client/gps-demo/AndroidGPSTracking/src/com/example/gpstracking/GPSTracker.java b/misc/client/gps-demo/AndroidGPSTracking/src/com/example/gpstracking/GPSTracker.java new file mode 100644 index 0000000..f1e77ad --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/src/com/example/gpstracking/GPSTracker.java @@ -0,0 +1,200 @@ +package com.example.gpstracking;
+
+import android.app.AlertDialog;
+import android.app.Service;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.location.Location;
+import android.location.LocationListener;
+import android.location.LocationManager;
+import android.os.Bundle;
+import android.os.IBinder;
+import android.provider.Settings;
+import android.util.Log;
+
+public class GPSTracker extends Service implements LocationListener {
+
+ private final Context mContext;
+
+ // flag for GPS status
+ boolean isGPSEnabled = false;
+
+ // flag for network status
+ boolean isNetworkEnabled = false;
+
+ // flag for GPS status
+ boolean canGetLocation = false;
+
+ Location location; // location
+ double latitude; // latitude
+ double longitude; // longitude
+
+ // The minimum distance to change Updates in meters
+ private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters
+
+ // The minimum time between updates in milliseconds
+ private static final long MIN_TIME_BW_UPDATES = 10 * 60 * 1; // 1 minute
+
+ // Declaring a Location Manager
+ protected LocationManager locationManager;
+
+ public GPSTracker(Context context) {
+ this.mContext = context;
+ getLocation();
+ }
+
+ public Location getLocation() {
+ try {
+ locationManager = (LocationManager) mContext
+ .getSystemService(LOCATION_SERVICE);
+
+ // getting GPS status
+ isGPSEnabled = locationManager
+ .isProviderEnabled(LocationManager.GPS_PROVIDER);
+
+ // getting network status
+ isNetworkEnabled = locationManager
+ .isProviderEnabled(LocationManager.NETWORK_PROVIDER);
+
+ if (!isGPSEnabled && !isNetworkEnabled) {
+ // no network provider is enabled
+ } else {
+ this.canGetLocation = true;
+ if (isNetworkEnabled) {
+ locationManager.requestLocationUpdates(
+ LocationManager.NETWORK_PROVIDER,
+ MIN_TIME_BW_UPDATES,
+ MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
+ Log.d("Network", "Network");
+ if (locationManager != null) {
+ location = locationManager
+ .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
+ if (location != null) {
+ latitude = location.getLatitude();
+ longitude = location.getLongitude();
+ }
+ }
+ }
+ // if GPS Enabled get lat/long using GPS Services
+ if (isGPSEnabled) {
+ if (location == null) {
+ locationManager.requestLocationUpdates(
+ LocationManager.GPS_PROVIDER,
+ MIN_TIME_BW_UPDATES,
+ MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
+ Log.d("GPS Enabled", "GPS Enabled");
+ if (locationManager != null) {
+ location = locationManager
+ .getLastKnownLocation(LocationManager.GPS_PROVIDER);
+ if (location != null) {
+ latitude = location.getLatitude();
+ longitude = location.getLongitude();
+ }
+ }
+ }
+ }
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return location;
+ }
+
+ /**
+ * Stop using GPS listener
+ * Calling this function will stop using GPS in your app
+ */
+ public void stopUsingGPS(){
+ if(locationManager != null){
+ locationManager.removeUpdates(GPSTracker.this);
+ }
+ }
+
+ /**
+ * Function to get latitude
+ */
+ public double getLatitude(){
+ if(location != null){
+ latitude = location.getLatitude();
+ }
+
+ // return latitude
+ return latitude;
+ }
+
+ /**
+ * Function to get longitude
+ */
+ public double getLongitude(){
+ if(location != null){
+ longitude = location.getLongitude();
+ }
+
+ // return longitude
+ return longitude;
+ }
+
+ /**
+ * Function to check GPS/wifi enabled
+ * @return boolean
+ */
+ public boolean canGetLocation() {
+ return this.canGetLocation;
+ }
+
+ /**
+ * Function to show settings alert dialog
+ * On pressing Settings button will lauch Settings Options
+ */
+ public void showSettingsAlert(){
+ AlertDialog.Builder alertDialog = new AlertDialog.Builder(mContext);
+
+ // Setting Dialog Title
+ alertDialog.setTitle("GPS is settings");
+
+ // Setting Dialog Message
+ alertDialog.setMessage("GPS is not enabled. Do you want to go to settings menu?");
+
+ // On pressing Settings button
+ alertDialog.setPositiveButton("Settings", new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog,int which) {
+ Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
+ mContext.startActivity(intent);
+ }
+ });
+
+ // on pressing cancel button
+ alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.cancel();
+ }
+ });
+
+ // Showing Alert Message
+ alertDialog.show();
+ }
+
+ @Override
+ public void onLocationChanged(Location location) {
+ }
+
+ @Override
+ public void onProviderDisabled(String provider) {
+ }
+
+ @Override
+ public void onProviderEnabled(String provider) {
+ }
+
+ @Override
+ public void onStatusChanged(String provider, int status, Bundle extras) {
+ }
+
+ @Override
+ public IBinder onBind(Intent arg0) {
+ return null;
+ }
+}
diff --git a/misc/client/gps-demo/AndroidGPSTracking/src/com/example/gpstracking/Tracker.java b/misc/client/gps-demo/AndroidGPSTracking/src/com/example/gpstracking/Tracker.java new file mode 100644 index 0000000..2e08a91 --- /dev/null +++ b/misc/client/gps-demo/AndroidGPSTracking/src/com/example/gpstracking/Tracker.java @@ -0,0 +1,33 @@ +package com.example.gpstracking; + +import java.util.Timer; +import java.util.TimerTask; + +public class Tracker implements Runnable { + + private static final long TIME_DELTA = 1000 * 60 * 5; + + Controller controller; + + public Tracker(Controller newController) { + controller = newController; + } + + public void run() { + public Timer timer; + TimerTask task = new GPSTask(); + timer.schedule(new GPSTask(), 0, TIME_DELTA); + } + + class GPSTask extends TimerTask { + public void run() { + GPSTracker tracker; + tracker = new GPSTracker(Tracker.this); + + double latitude = tracker.getLatitude(); + double longitude = tracker.getLongitude(); + + controller.recieveLocation(latitude, longitude); + } + } +} |