From 69d560a21a352c4415295ac4d25fca7a365ae350 Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 5 Jun 2017 15:21:18 +0800 Subject: [PATCH] add android project --- android/SensorMonitor/.gitignore | 9 + android/SensorMonitor/.idea/gradle.xml | 18 ++ android/SensorMonitor/.idea/misc.xml | 33 ++++ android/SensorMonitor/.idea/modules.xml | 9 + .../SensorMonitor/.idea/runConfigurations.xml | 12 ++ android/SensorMonitor/app/.gitignore | 1 + android/SensorMonitor/app/build.gradle | 33 ++++ android/SensorMonitor/app/proguard-rules.pro | 25 +++ .../sensormonitor/ExampleInstrumentedTest.kt | 24 +++ .../app/src/main/AndroidManifest.xml | 21 +++ .../xyz/mtfos/sensormonitor/MainActivity.kt | 12 ++ .../app/src/main/res/layout/activity_main.xml | 18 ++ .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3358 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5084 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2386 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 3179 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4648 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7381 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7008 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 11545 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9442 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 16109 bytes .../app/src/main/res/values/colors.xml | 6 + .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 11 ++ .../mtfos/sensormonitor/ExampleUnitTest.kt | 17 ++ android/SensorMonitor/build.gradle | 28 +++ android/SensorMonitor/gradle.properties | 17 ++ .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 53636 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + android/SensorMonitor/gradlew | 160 ++++++++++++++++++ android/SensorMonitor/gradlew.bat | 90 ++++++++++ android/SensorMonitor/settings.gradle | 1 + server-api/route/api/account.js | 9 +- .../route/api/errorManager/language/zh.js | 3 +- 35 files changed, 563 insertions(+), 3 deletions(-) create mode 100644 android/SensorMonitor/.gitignore create mode 100644 android/SensorMonitor/.idea/gradle.xml create mode 100644 android/SensorMonitor/.idea/misc.xml create mode 100644 android/SensorMonitor/.idea/modules.xml create mode 100644 android/SensorMonitor/.idea/runConfigurations.xml create mode 100644 android/SensorMonitor/app/.gitignore create mode 100644 android/SensorMonitor/app/build.gradle create mode 100644 android/SensorMonitor/app/proguard-rules.pro create mode 100644 android/SensorMonitor/app/src/androidTest/java/xyz/mtfos/sensormonitor/ExampleInstrumentedTest.kt create mode 100644 android/SensorMonitor/app/src/main/AndroidManifest.xml create mode 100644 android/SensorMonitor/app/src/main/java/xyz/mtfos/sensormonitor/MainActivity.kt create mode 100644 android/SensorMonitor/app/src/main/res/layout/activity_main.xml create mode 100644 android/SensorMonitor/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/SensorMonitor/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 android/SensorMonitor/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/SensorMonitor/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 android/SensorMonitor/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/SensorMonitor/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 android/SensorMonitor/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/SensorMonitor/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 android/SensorMonitor/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/SensorMonitor/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 android/SensorMonitor/app/src/main/res/values/colors.xml create mode 100644 android/SensorMonitor/app/src/main/res/values/strings.xml create mode 100644 android/SensorMonitor/app/src/main/res/values/styles.xml create mode 100644 android/SensorMonitor/app/src/test/java/xyz/mtfos/sensormonitor/ExampleUnitTest.kt create mode 100644 android/SensorMonitor/build.gradle create mode 100644 android/SensorMonitor/gradle.properties create mode 100644 android/SensorMonitor/gradle/wrapper/gradle-wrapper.jar create mode 100644 android/SensorMonitor/gradle/wrapper/gradle-wrapper.properties create mode 100755 android/SensorMonitor/gradlew create mode 100644 android/SensorMonitor/gradlew.bat create mode 100644 android/SensorMonitor/settings.gradle diff --git a/android/SensorMonitor/.gitignore b/android/SensorMonitor/.gitignore new file mode 100644 index 0000000..39fb081 --- /dev/null +++ b/android/SensorMonitor/.gitignore @@ -0,0 +1,9 @@ +*.iml +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build +/captures +.externalNativeBuild diff --git a/android/SensorMonitor/.idea/gradle.xml b/android/SensorMonitor/.idea/gradle.xml new file mode 100644 index 0000000..7ac24c7 --- /dev/null +++ b/android/SensorMonitor/.idea/gradle.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/android/SensorMonitor/.idea/misc.xml b/android/SensorMonitor/.idea/misc.xml new file mode 100644 index 0000000..ba7052b --- /dev/null +++ b/android/SensorMonitor/.idea/misc.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/android/SensorMonitor/.idea/modules.xml b/android/SensorMonitor/.idea/modules.xml new file mode 100644 index 0000000..6e6ea40 --- /dev/null +++ b/android/SensorMonitor/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/android/SensorMonitor/.idea/runConfigurations.xml b/android/SensorMonitor/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/android/SensorMonitor/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/android/SensorMonitor/app/.gitignore b/android/SensorMonitor/app/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/android/SensorMonitor/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/android/SensorMonitor/app/build.gradle b/android/SensorMonitor/app/build.gradle new file mode 100644 index 0000000..90064f9 --- /dev/null +++ b/android/SensorMonitor/app/build.gradle @@ -0,0 +1,33 @@ +apply plugin: 'com.android.application' + +apply plugin: 'kotlin-android' + +android { + compileSdkVersion 25 + buildToolsVersion "25.0.3" + defaultConfig { + applicationId "xyz.mtfos.sensormonitor" + minSdkVersion 15 + targetSdkVersion 25 + versionCode 1 + versionName "1.0" + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { + exclude group: 'com.android.support', module: 'support-annotations' + }) + implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" + implementation 'com.android.support:appcompat-v7:25.3.1' + testImplementation 'junit:junit:4.12' + implementation 'com.android.support.constraint:constraint-layout:1.0.2' +} diff --git a/android/SensorMonitor/app/proguard-rules.pro b/android/SensorMonitor/app/proguard-rules.pro new file mode 100644 index 0000000..61fad41 --- /dev/null +++ b/android/SensorMonitor/app/proguard-rules.pro @@ -0,0 +1,25 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /Users/otakukaze/Library/Android/sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/android/SensorMonitor/app/src/androidTest/java/xyz/mtfos/sensormonitor/ExampleInstrumentedTest.kt b/android/SensorMonitor/app/src/androidTest/java/xyz/mtfos/sensormonitor/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..951014a --- /dev/null +++ b/android/SensorMonitor/app/src/androidTest/java/xyz/mtfos/sensormonitor/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package xyz.mtfos.sensormonitor + +import android.support.test.InstrumentationRegistry +import android.support.test.runner.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getTargetContext() + assertEquals("xyz.mtfos.sensormonitor", appContext.packageName) + } +} diff --git a/android/SensorMonitor/app/src/main/AndroidManifest.xml b/android/SensorMonitor/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..5cdd3cc --- /dev/null +++ b/android/SensorMonitor/app/src/main/AndroidManifest.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/SensorMonitor/app/src/main/java/xyz/mtfos/sensormonitor/MainActivity.kt b/android/SensorMonitor/app/src/main/java/xyz/mtfos/sensormonitor/MainActivity.kt new file mode 100644 index 0000000..a8629e9 --- /dev/null +++ b/android/SensorMonitor/app/src/main/java/xyz/mtfos/sensormonitor/MainActivity.kt @@ -0,0 +1,12 @@ +package xyz.mtfos.sensormonitor + +import android.support.v7.app.AppCompatActivity +import android.os.Bundle + +class MainActivity : AppCompatActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + } +} diff --git a/android/SensorMonitor/app/src/main/res/layout/activity_main.xml b/android/SensorMonitor/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..50c190b --- /dev/null +++ b/android/SensorMonitor/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,18 @@ + + + + + + diff --git a/android/SensorMonitor/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/SensorMonitor/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..550730310e5f66436525e196a5884166c4a3fb48 GIT binary patch literal 3358 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 literal 0 HcmV?d00001 diff --git a/android/SensorMonitor/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/android/SensorMonitor/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..8fab6a3a5b8342cacf009fd1a5481eb3c7faa5ac GIT binary patch literal 5084 zcmV<26C>=2P)Qt}k4kiR&ec%68r|Q{|HM-ZHI`4|Z)a#-nP?P;YfL;|HU{Ebb0<=@MmVG$By5yw4A@4$f zPW7|DUi~Y9`<-_I%bdjfA5Pg)s+Ak^UZZEJ4so5XTH_r*qW10UA$Ef)^@hO_wfbix z>kL~E=OSzMAmE9e^$^!s1>$R#p!-zLbdBn$Gt^U^RJYiDS=(Lqpk5T2{G4qyVI#{5 z3jGc0Oa6Kl2$1VkEi#?TNSIPzY8+Ql)I!(r-Yqfcnp~@F8DFI_PN_4n^87thT~s$( zV_{%LL73S6x|~IcT`90MFA4?U6~C<-MwaGrr06+9cp^*+K3rc4NC22AZ2`JZP6tMFdfMj6jru zWU-X5(~l69s;BTfK(BrYiTOn=Gzxr6u%HekNU)$=vl}W~JHw#9K{DBrwNs8IpK=XK zDpdV(q-kgsR?#f{rXKA?f=m`9mH|h^Mv}2pNfH_gD$5^*J#|_T$}+y(IfA%2)k>85 zbf8Z4ptxf@JQzQ=t!f6Dv2~Ai4T5Y~^bKiI#v>gXyamgV>6CLH+g{5A;D=u5x&(=2 z)F~mpTK9N|xSL>_k2Y0KCvuj5xEB%{tBncUYQP>|`Ct#s+ffIO$}D|%2mJS*28U(n zK9zG+hT5U_?3O`UAH(x&SSGf-Xy$L~Zh}clOBAC7x1t6e^=MbJAh9J8N%E518@_4l z$No0%#^(?+U8Xw)JE0-!mAj1~amUJvvj6RqwBmlTj<-b+`fr0c=-sshF}XP%WO?b^ zP_=IDCP*+pd5Pk0mZR0(O%NrL%4T#m@XJbmwSBI}PxbmWZT<5O0AVDV_`lX7L8s=)w5+tmt$cwWh_=)E&#|_=B1hF~W zEqQSc_-=Z8hV!n*2Q9f)xzk=U=!l?6)g>@(OBp=5b4#ZZG=JAt*6suc^;ya-=qAbC zwAZPCJ&!lD*joK~TF;?gp;Q_)n9MGhiATJe+&04>mdBk z-fi$SDrW1R0J=}*Y~JVVo{ydJ&+|XPHEj3558pvTQ?<=@t>i}CNYB_>14LwRiV$<) zaO4WoD)XsVXg!C{mY~el^tXYaW_S)2X=!O;Fd`aG9f!yo9e>}t9_sN))mpICh5))x z<*e@U?M_4MdiUGYrgjMlv{=W>WLIt;Oh*bOIUBX&5M$T1!V5D8V(_|PIda)GRSa|j zCZl_OckL%e4hedrxfyD{Itrl`MO+y>E*5|Sjw;QEG35m?w!Dy?>F)r&+P;fneUqw6 zVCTP2!cC)*?-V0^dFcW?R94U`R~w)Oub3M*M4=(ilkudy~TT*;O&F&L(ZX3p&E%KW%r^r(3$?u#_Ngy zcn=osZ8VQ(SWg%dN9CG%atL4icoyQfR-haTCXXdac4Mbb*&^5Ez=-5G|7t&2bH3Lt zyi!xw)=b?lLD-0YaW*`OG2oO1NmVC~KzNN7;ui zo$g=4atF_T4;w!H2xc}^Kvb8}w%j@-*pkfslIhe& zdM+e2`ArHn=5dI#pzgB5EUn7~*|H)eX+cvBe2O_qd)>(uw>yYA7qv(2+OwXv2|}H* zd}vN;xp^FF-C}Z2bhY+KXxcFmNG=XX^_OAQ!z_c@cth<%K8cT{yiCru@SmXc^S%dSx-g z9L!K@gz8Lk1blY(3_ObR3$i#RHxH&W=5fw^|QIogV#Vat~W z+zvt6pMT;|>FT3jKyY3@;n#a8Ok*x&rqnKwx!ceU2oT~&;KwS0FKDd7KrbB@be*Y~@FE55s zm}xKD(*&2V|LhV$RGyxr=cyj5&r$j7H-Ckd@9k!pJtN6kf;5Wr1EQjQTSqZrn8%?F zP4WaI$iYnB)DUky!Fo09`R0^UN?t@Ik6*k1zqCQ7JI# z(3}R2AS;sSH!ZssWPY}@Trg{@F)eRY9Y4~g399p6amKby^4ee%FD)<3LRv9--5*QRQ8FC}YqEt>Gw!-rt& zzdkp^-eX6gLAZWcz@b(gIRv}DJObN~9fpP@Us&TPhwWHq_laZp`(My-OpL=OG-8>3 zCr>~FlEDGnK7N#C+-pC2*McC08Hgldsl#Xes-4Ke0CVdxk3)SP+OXztZ7$l22$JQe zgKx^);Ir;^@L97GeAd3s5Sg(NB=5WdBi64%;F*3Wt>%#YCc}ixjqqUVdhp%w7Wi&V zhs;ShGBHp1_)E8fnVx64r%MbFP-oXhm3bXo|z2Oij^SAOae((GFbvhb5mGC zDa+4rNDxm_3#}#&dtu26;vht|q^IpKaopT`J`gc6NM4+M-r;K>5ka)XDOII0r8qJ; zLL##^frN-)q`YY&g^|G%GBG;^MyDs45#qO*u$Cud9gN9Ifk~#|H85 zylIoRBqj)z4?-e>utVo!#|DwiJOZ_hVa3olCk$CAP7FK^7B3 z-)Ie)rcv)<@2?vwjh64j|Nj1Ny3P={wF2U{ltU~-8O*FTz%(@Xh2Q7tI@+>b~eB)JkP2zz^qyxb)^tnPbfzjE8yk*yEu6T)R!A)H&j4mdeZx- z^H5&*HnzWT4E7ti@bP(U0bE!Lurn7kgH~Z$xSy^s0Dp3aOk1vz!s0|YTE-vI>P)U7 zxCe8QG<1kwET47TlWS56`5ui5L+%)N>J9wHZOJ! zc9_XgAZ8sF?quagt`LOr)1U5Zl|~u1IdsW_B+}7) zUf8|u+34EMEg*nie@J|i-r7Nm((cf9ZNbB5i2$=`d3=FIN?o&yGq!JOozu=%lFdlZQz zv35qo2vr)=KkOev9QlVHT3Wsz{w=yS4#fEK1 z1j$Mi#>X%Z!i4l%ze(fbNhe;n+dn)eOmL^&F$15Nvj|!_=NZfV*+*efoqBPh7r}au>EM zpFR@Nanll~ciLALb7Yt@Wb>gsw5-r+g1G5JF0*JE&gQ*WF5B&P@4e$mR`=jwkIo>+ z6qD``k)tC~YD8TQ6h>MS zrjC%&TT{iRmhhCd`#ok&d6r}#S$LVc%s)HftZC37`fn@}#Av@qrp+I|;-w0l5T0eL zdaY!!c^wf(FYDMpH=%&a$m1ZxAS)}*M&z_0LB{ARtx;B@BvM#CGMt`BF}d_hU3=E+ z)fXxrcsP=lD@L=nNro<9HTI5s++;F$-tCB};NBy=qK7PeYPI+3S9kcPuKSKnOerAa z@XIWyy2M1B8FU;Op*WMLM3G3ADpO&^=C$A9JZk%p1y8K*?d28CTa2U+wMlK040pkC zk0(w7`}+BjMGdEa??C~x-_W7qBjV#02fn;CWpv`o>PK?Z4?L{SJRYXbI1^ToeKD+9 z@e>36&dWR#l9O^gB0c#)bn=?&z!#RLc*oCNOm*)EsCLx|AcLkEWU4U|oHAL$=Mpx<;2?~S7}RF;26%Id(nSe;mR zXAa#RPgZbnFIrxpZ1z6s;6Z)+_8mfN!8~z3EVts|!(SWfhGp)PN(ZqFm@I|r_#Khr yIIxqVw4_2y4rC3!zP%afH(leFTe{!Lfct;Hj{_)*1_LDldu)=%0X#ZA-#>HhJA*xVgZhCheY*Gm?)}ep z&-s^oA9>{Av67GO?p3uz^{Zzvv^urD5N>h(VZ*`=udn~Mz)Cq5WRL7Yjkn{6Io-Am zim+?Fj!`ohUXN=z!0FPs(m~fAwv5IXAGdw4wAX9aN1WI6VaF&? z5Os~#4TMLfwuJ4+!lQm zB~iDvw8ulNU>e2UZmJs$rEtKuqhVrYDO}A!fXaKlDID71qi9kh|oYq`F0@17sYZB02u#q*JK@C}td=!n4q2t#KfAnc&Z zK0irq2{ruz$_;g;aELadE9cM#FXzw?{nKSa5A@+$vO(`Qk8gP8l{~qvvpVqjYrECD zkbP`LI`Gm<+Iu>X!wwWioiXGfULynng=~OnAV^YMLfv2@hvi&Vzn@S;at>|qaxRhY z;k#r)5A@+$vZ26l9arqyrOV*JkRbCLUsKoi2Vy8B|qat{5_KV2sDKp(Cp8%$Bxc<#%R14EfpXr(CZn?1B6jYAu}oO}9Ml-{}c z8J!)wK|5HV#6u7C;aakxj*HkZpCZOEnjdk-5HZY@h!TJ|Qk{%;E=Qz-qxt!Nzoa`; zQxrb?PoDZ+Bt2{F^HB*8o6_UpbF689f(HT{tKDtK1zz-Vz;1 z6o#g8x0(wlhTO&K5%~*X8GxBow2|N49y0a%=+y9ek;jX10R2u4pA&K*uRK{d&;xzA zmTahqIOjJLqlmfSVq!hdOJEc;fVIrlcc=f9(E;4Yb9g@e z{;qe9lbVOqB{^`f8Yt%LL7sqS%jNOON&5PB=3x}~@!V{+Gw|srR1~n$R$fXkq6X$O z3Ppu*O#MqK+_`X;)3UC|OHU1is1hU7Vn(64Q^+oaR&Znx!TaGrZ1QU|vfc_FQni8P zgt>e*kZ_=!U+24*hUq=v;syF(x=ZZK3?_M3Da?X9p0hP}JEUyD9PbcNH@28D>e@`14_E1rC17+`fl{Pjq_WwaZ zf25H#hZ<;8(;sP5Gvmy*P#9D0Kkha0Gn z4b`$y3N}>9hQm<3xtWT)T1eG#koz`~irX6NVXE}<*w2QmyN=LiXB%zi09A1v=!16B z_^q_rYl&;v0mIVw10i~rH`{Om3aa=u8@(2K(q*P{YYUZGk5HM7&t0vwm5nmFnRj;3 z7FQ>2;cJt>i*|%uWc1m{=;!5lz)sa6C++O#&3o8Ml@S-iE#&Uxr9^FCfU3E8E4w}M zYJT&zk$LV1GR^}mNX(WpR0bW1x51GWX<%-mA~sy-XicO9M^dEHg!n1*4Z!h|fA#=l$DKBBd0Z5(*2$dWed6rqwyy+31EMi5mPkEj=W%&f3|+IS`BHt(pY zl=E6L9!AeNU`cg=xfBOb#P{0)G3~Q)3Qn0~t_?j$S~4CR76TV#X~;2ce8K_iT@JwL z6bCSj&d-76`7&pWx@miq_X=E;TR7rIHrmKVTHE6jGc3|W0tN#V>@>%1;2GvjkjFJ= zO1Q^rA%7p#;*Vmm1VA`YVy z9}i|y=!xIHpr6wL>8HWtzy9SDx}f96a{S;>asevc9dV_nGp^@ImVo1#RRSg{jPoee zX|Taa8$@0N&~Ft#IJD08(RI%~my`UHv^vu-rthj-_I2wK0V%S4*0DpC_=*Njh8j+* z+^{``EAR7B0jH7FU&T?)=Qmi!92+$ad_i8`e_Sk&>k*)fE zo>H54p#Er{y=_eE?wHUzJH`vV=82k+YeKYTFoj(cI!|W`R}pkfl=v(&oU47Jn4d9% zbG9bnYMan8Zwflabpq`I)yx&RJI6)a-a4ji*mEpPlY{hGHQzs#k1?{d42ErMwpQ(2 zQ&qKdEn}St*IQEX<5@U7x7L)(p}j7Ro4tQR5A?0!bCzDe9k$#%`sq$+wcp{ZEXEK1 z&&U$CEb7NQ7fZ42g-2&#do;DZ5N>h(=PuZX$I3YV2PBMj*{uaJE&u=k07*qoM6N<$ Ef@vV1$N&HU literal 0 HcmV?d00001 diff --git a/android/SensorMonitor/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/android/SensorMonitor/app/src/main/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..1eecc0e7d5b0129aff2236d3c4ed2592543a8fe0 GIT binary patch literal 3179 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 R`1$|<002ovPDHLkV1k6j8%Y2F literal 0 HcmV?d00001 diff --git a/android/SensorMonitor/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/SensorMonitor/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..ec87dcebee2b6e52f988e50e087a7dbcfc4321a4 GIT binary patch literal 4648 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 literal 0 HcmV?d00001 diff --git a/android/SensorMonitor/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/android/SensorMonitor/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..05ca079ca743343d5b2d6037aa42047efa865269 GIT binary patch literal 7381 zcmV;`94h09P)U=_s%3yLVN{D^>21B6i0GbMd8lSw8CN$4GR zQBigkcUKXA1Oa82q@!!@zgqZ00w)|x>_}jww)BP98uB4g?!W9}yW$NJQ zio*E86$NYK_Ei^6-K9SgtuOl5;EJLz23HhbM|_X?k;nJ!v&zEDl!nsMHFPcIL3vT0 z=AzTR=eDMW-L)R(*fEQWkFM3ZkE_wl8&jiEjH}U}9$TaR4gq7UHL&pTE=btFgZ(cB z@tBsbF?`15^#PZ+W**(k+z_Zt_dfGNN6Ehe^Ygp=m#Pv1N>!zZs|X0tDox<8Ro0_L z*Nv~%)&*!4b@ZM=qiiq%|2d_hv~&&kUTKjhf3H%yH!8 zq_W6BP=H2xOH8;qS}A}zm>_gd;eIFpP?@M~R7Rn^*7~Qr<|QURT$|$>Sel!J)^?LD z{^9-ARB7feY>|E&1uzkV%0OjFz%ubI;wF`q%51GJcZJonP>+8FXjStAN|oo0u0~Op zu&=tFtWGMSw^0BPS^$-aHwaz`<$3?o+yz2CSe@E@YY;}N`0^>u?S~a9GZ1fdGmyZw zfVL$7-vUJL3HY*?QC$puLz^AYi8`$SZSFKI{1;-Y7gx9~3t)svYq(5xvR2nN;_r}ezJTjP^c~s zg3$#@!Cb7wu*zb|>8J0mfC)9FlG9UKx<+bxDhriKYI>?G)tOpCKw;)Vr^Smq{W{T+ zCRx$Z}YLaLbjlotX((a``Kn$uY)j6U(zb-(d09kH^Mu?7X?>K>1*k7$!D|EQz z7yrOp&u>fs)+gZm2LBQ{_{z5=-quzi^!9-zim5`VNdi#k^jj5x>Mle^{zcg!OWQc> zwnRokFYl9^M$-$I#j){kT>x%?#!Yj}a?`%>NL)40v5^r?Kyi~$?E*@aI?noy1C#p# z2-6jcI{y;v4|29uB3JE2ygA1D1B$cfi55>9?+aii0C7V7Vqq5eZQJmeV_E^sq?cgozw?XZ`BgVZ%A|GohER@Sgp_5Q^<;FGo? zg@vXq7J$Dnpdi&3GrrC;FHtny7oZ6Nh$H;oPnCMZYwfCFer(XOrM{o6Kh2i)OBMhJ zE7SK>KFf&7;sz-t@a2kg$)#pN{Q^uYddj>g(&_ z7UExD{TH79%R$5U*76l&#fihP1oLProd8Np*Vs>IEZ?fPkHYzz*P#x}M!5X#O*E37 zqVk!RaV|ffMRm89H*rOr&8$#=Jt6UxAmVaybH)bzrm1!@y4-cNdm%<&&_K=98fYew zCbMWh#qhbFP+&mPskfk^p}_#E6S1icCRbK~Fc9vPxL#hiB zbLN|qa<<3ZDQ=SIi3H#8mzO!mTHN0f0fIG3(4GAVe!6wbLWKPnKZ9{-N%lk#1PH|c zqsj|l45t4*ww}qm${6T>`i#B{Y)SzBK9iB)xBvZx1^M6o@-w8Jeh&gm6s;1#U&DLo`k8TB+#Z z@_bl&d_SapcnT`coq@l6c?nKm`wyJG{uO+New#r5(`U!=J3XdJMFPo%MB%m8$~6*Q z2$64ImS5`XAPesksa3IZ2b9QLEP!!zEC-*|H!G0S4o#1a`6ebQ)8s{+mMt5c&Y-g18nym7GqHSu%ZEy#NR zT^L@XWMwiDzyU5u%;7Lq`e`S3_pUbGkP!U@rfm)!TU~O)Q39}5P|URg8Q%)1vO}

HWg8C^o)QF79Mg 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 Hu0mjf20Ao4 literal 0 HcmV?d00001 diff --git a/android/SensorMonitor/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/SensorMonitor/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..6f67f21bac1024e18e1584913e5bcd5e1395456a GIT binary patch literal 7008 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 LNkvXXu0mjfne+ST literal 0 HcmV?d00001 diff --git a/android/SensorMonitor/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/SensorMonitor/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..0327e13fa7927a4a05b16efa6db900c7b5591043 GIT binary patch literal 9442 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

Be^f zfRdLN6alsV)L|yGBJVmqC~k(FK*38<#T=R1Oynm+YqR(y^(|TCcEq~4fXG-qgMlKv$7!Xnz#e*&>wVzIO}hMS`O#lzNacDdh8uzBwQq)L48r0 z#r;|IK^ORlw)-mtt{e_h%++1fllfQYYX*-e2XS{_+TZum4WohfScXGv|qXPQ> zq_!gwR7q&9rSx!Gdb`QaW8t63d=jA-WFDewzvyJ!rQ>noWb^7vJ?X|RFaF@wE-pPh z3Ou!SY2GjRnE>_t#>7UwX?O0p7djz0q0mrC&~TU|Lf6K7!=RdNC&wh;MV0hdm~koB zJED?U+USq#(oJ(?s)W+D@sAzX6RE!qLr%+<5CJtn6u6er*^q$(oZWw3513^MC0VOC z%%|W7g}SuX9@}m<`iAZVEeRIKf9C(n<}4Nv-z@&ZBdOq3F42A&TEgMM!(0>Kb;2e* zcysxmT07|LuWpK<7JQR*4m@}gK+18(f{5W2B2eaK0Rz1E4BN24s4v-X@wBXp#a=Ir z=Ac0PdH%2!NhHkVRGNaqK8EkRDZv1GZVcURk2kSl3v*+o?Hx+ z;<$SmGdxv}-!BOpFc+o-?HTuj_LXP_b%qWxAKZK>tooDSI9;cgzB~njj@ulA}%Zb6a`i+tI?#xY!bH5Z1O9OpZ-cJmB z7_2Swq%g%e1Xa!Ytf|_iG9;#Jl`O5m<1qtkY|-dzrKd|x?Ddu@Vq%*J$9Zpkr#XfOim3a4mhe5>ie0?Ytz}E;@63Y;T_@H zDAvflL}A3~vIE8JLDNcc;r{-gEvi5g6eKbG2=v*={*?J=d$C~8$@=an^#ZE=y+B$Y zQO)K}<^3kYN{{*dSsEz+bcs{xK&JPosTF-n4@w|y!_FUj{r%cwrlu(M`=9-LB|13V zsir{BW_Hmj9IHfaHO7`4}hH-YSznD7c z>o(A^y|6V9G+80$%oOZa_ItmYGeT4oNIk3e?h=;4rMUf*C`qht_UEMPTcoV0`t2SR zm+w?SZz?2OVg6l(aBCUJJz%wKjBZ8$kk|QvCj;Y;3-kiB*Y^p-X|?@1(b%Sr$JHc5r&lJ0oH2d2 z-ba?=9porCR}Jdq1EhHibg}#&5Lc*q+T(YY8pLu_U-#h6z;lY<_+s`H>jyTrIqYYj`uOWA$}3+orj|4 zBcXp>v9Nv~uRTLB9Z1)@`S|W6V*Z^O#2>SQZg_7Td2n;=X;5w*T~nsQ;iR6f_|Ciy zc8h{@J|_i(RFc4>KgX^EV{oW->xr8IM_72{K99g+euwI;paV*q*D)QGU*cU}I7wN`T$ zb4Vz<03@wpx10LXJ8hf^rfNt|edkubmS?$uMNM`jv2G?}TFK`3 zO>2k+Jz9)mB4|^vFhP0oEfa-?XPj~`v36XVO z4LDV8uf_p*(ZC>-grBz7>PCjdSPd>#Ym)!uVByw+K|_axOMX@WwUHru6cm?{6aM~s ziRm)yVPa`PFG@k*tmhpcI>SV?4~|0S+M&Y@*eWmSIgw*Q*E=Q`{Wr}VndkBSA198* zbvc{%YaJ%Xsn%nIPh${Ks{vJpzO$CS569+P*^6HcelE+{8b=?us8WYCEZ@9s%{dW& zRE(-Py6RiAr?DmbVRwp$aD)diH|~$ z<&QobV|JQ|j#zY* zlS;eH>}lHxaQngGmI^;9nVSV91IGz_UCvtGh?U2fg+!d0yPa97U4-6zRIj_~d0Vz~ zI&Y;rb!9sDNkQx`yV9OiAA1~>_xl3VYGU})H!B=k@S-e#VcoAhPz^FByU|;i=)0uG zLb&yZUs>n^N2_z=KMGg9O0ON{kC(%qGQ=Mb87Z*2z`mpxXVyf#c6c%|1o6xy;0T$Kzg?Ee6y5{Tyj literal 0 HcmV?d00001 diff --git a/android/SensorMonitor/app/src/main/res/values/colors.xml b/android/SensorMonitor/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..3ab3e9c --- /dev/null +++ b/android/SensorMonitor/app/src/main/res/values/colors.xml @@ -0,0 +1,6 @@ + + + #3F51B5 + #303F9F + #FF4081 + diff --git a/android/SensorMonitor/app/src/main/res/values/strings.xml b/android/SensorMonitor/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..925740b --- /dev/null +++ b/android/SensorMonitor/app/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + SensorMonitor + diff --git a/android/SensorMonitor/app/src/main/res/values/styles.xml b/android/SensorMonitor/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..5885930 --- /dev/null +++ b/android/SensorMonitor/app/src/main/res/values/styles.xml @@ -0,0 +1,11 @@ + + + + + + diff --git a/android/SensorMonitor/app/src/test/java/xyz/mtfos/sensormonitor/ExampleUnitTest.kt b/android/SensorMonitor/app/src/test/java/xyz/mtfos/sensormonitor/ExampleUnitTest.kt new file mode 100644 index 0000000..cdc140a --- /dev/null +++ b/android/SensorMonitor/app/src/test/java/xyz/mtfos/sensormonitor/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package xyz.mtfos.sensormonitor + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} diff --git a/android/SensorMonitor/build.gradle b/android/SensorMonitor/build.gradle new file mode 100644 index 0000000..f21634f --- /dev/null +++ b/android/SensorMonitor/build.gradle @@ -0,0 +1,28 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + ext.kotlin_version = '1.1.2-4' + repositories { + maven { url 'https://maven.google.com' } + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:3.0.0-alpha3' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + maven { url 'https://maven.google.com' } + jcenter() + mavenCentral() + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/android/SensorMonitor/gradle.properties b/android/SensorMonitor/gradle.properties new file mode 100644 index 0000000..aac7c9b --- /dev/null +++ b/android/SensorMonitor/gradle.properties @@ -0,0 +1,17 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx1536m + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true diff --git a/android/SensorMonitor/gradle/wrapper/gradle-wrapper.jar b/android/SensorMonitor/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..13372aef5e24af05341d49695ee84e5f9b594659 GIT binary patch literal 53636 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ⅅ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 H-+%o-(+5aQ literal 0 HcmV?d00001 diff --git a/android/SensorMonitor/gradle/wrapper/gradle-wrapper.properties b/android/SensorMonitor/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..3d6088b --- /dev/null +++ b/android/SensorMonitor/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Mon Jun 05 15:19:23 CST 2017 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-milestone-1-all.zip diff --git a/android/SensorMonitor/gradlew b/android/SensorMonitor/gradlew new file mode 100755 index 0000000..9d82f78 --- /dev/null +++ b/android/SensorMonitor/gradlew @@ -0,0 +1,160 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/android/SensorMonitor/gradlew.bat b/android/SensorMonitor/gradlew.bat new file mode 100644 index 0000000..aec9973 --- /dev/null +++ b/android/SensorMonitor/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/android/SensorMonitor/settings.gradle b/android/SensorMonitor/settings.gradle new file mode 100644 index 0000000..e7b4def --- /dev/null +++ b/android/SensorMonitor/settings.gradle @@ -0,0 +1 @@ +include ':app' diff --git a/server-api/route/api/account.js b/server-api/route/api/account.js index b86d99a..2139d14 100644 --- a/server-api/route/api/account.js +++ b/server-api/route/api/account.js @@ -152,8 +152,13 @@ router } if (user.length == 0) throw 'CE0007'; - let ramdomToken = crypto.random(10); - let + let randomToken = crypto.random(10); + try { + await mem.setVal(randomToken, JSON.stringify(user[0]), 7200); + } catch (err) { + c.serr = err; + throw 'SE0005'; + } }) diff --git a/server-api/route/api/errorManager/language/zh.js b/server-api/route/api/errorManager/language/zh.js index d94df97..34d19a8 100644 --- a/server-api/route/api/errorManager/language/zh.js +++ b/server-api/route/api/errorManager/language/zh.js @@ -16,5 +16,6 @@ module.exports = { SE0000: '資料查詢失敗', SE0001: '資料新增失敗', SE0002: '資料更新失敗', - SE0003: '資料刪除失敗' + SE0003: '資料刪除失敗', + SE0005: '快取資料設定失敗', } \ No newline at end of file