From 68c6522131a914c6cc94737c3724621f3fd81c9d Mon Sep 17 00:00:00 2001 From: Victor Date: Thu, 15 Nov 2018 11:46:50 +0200 Subject: [PATCH] Initial --- build.xml | 83 ++ nbproject/build-impl.xml | 1368 ++++++++++++++++++++++++++ nbproject/genfiles.properties | 8 + nbproject/private/private.properties | 7 + nbproject/private/private.xml | 4 + nbproject/project.properties | 140 +++ nbproject/project.xml | 10 + src/1.mp3 | Bin 0 -> 33126 bytes src/Canv.java | 262 +++++ src/Main.java | 82 ++ src/icon.png | Bin 0 -> 346 bytes 11 files changed, 1964 insertions(+) create mode 100644 build.xml create mode 100644 nbproject/build-impl.xml create mode 100644 nbproject/genfiles.properties create mode 100644 nbproject/private/private.properties create mode 100644 nbproject/private/private.xml create mode 100644 nbproject/project.properties create mode 100644 nbproject/project.xml create mode 100644 src/1.mp3 create mode 100644 src/Canv.java create mode 100644 src/Main.java create mode 100644 src/icon.png diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..0a3d473 --- /dev/null +++ b/build.xml @@ -0,0 +1,83 @@ + + + + + + Builds, tests, and runs the project . + + + diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml new file mode 100644 index 0000000..ffff926 --- /dev/null +++ b/nbproject/build-impl.xml @@ -0,0 +1,1368 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Classpath to J2ME Ant extension library (libs.j2me_ant_ext.classpath property) is not set. For example: location of mobility/modules/org-netbeans-mobility-antext.jar file in the IDE installation directory. + Platform home (platform.home property) is not set. Value of this property should be ${platform.active.description} emulator home directory location. + Platform boot classpath (platform.bootclasspath property) is not set. Value of this property should be ${platform.active.description} emulator boot classpath containing all J2ME classes provided by emulator. + Must set src.dir + Must set build.dir + Must set dist.dir + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set preprocessed.dir + + + + + + + + + + + + + + + + + + Must set build.classes.dir + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + Must set obfuscated.classes.dir + + + + Must set obfuscated.classes.dir + Must set obfuscator.srcjar + Must set obfuscator.destjar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set preverify.classes.dir + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MicroEdition-Configuration: ${platform.configuration} + + MicroEdition-Configuration: ${platform.configuration} + + + + MicroEdition-Profile: ${platform.profile} + + MicroEdition-Profile: ${platform.profile} + + + + Must set dist.jad + + + + + + + + + + + + + + + + + + + + + + + + ${manifest.midlets}${evaluated.manifest.apipermissions}${evaluated.manifest.pushregistry}${manifest.others}${manifest.jad} + ${manifest.midlets}${evaluated.manifest.apipermissions}${evaluated.manifest.pushregistry}${manifest.others}${manifest.manifest} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Starting emulator with port number ${active.debug.port} + + + + + + + + + + + + Starting emulator with port number ${active.debug.port} + + + + + + + + + + + + + + + + + Must set dist.javadoc.dir + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${all.configurations} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Property deployment.${deployment.method}.scriptfile not set. The property should point to an Ant script providing ${deployment.method} deployment. + + + + + + + + Classpath to Ant Contrib library (libs.ant-contrib.classpath property) is not set. + + + + + + + + + Active project configuration: @{cfg} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Property build.root.dir is not set. By default its value should be \"build\". + Property dist.root.dir is not set. By default its value should be \"dist\". + + + + + diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties new file mode 100644 index 0000000..1518614 --- /dev/null +++ b/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +build.xml.data.CRC32=5cc831b7 +build.xml.script.CRC32=0bcbf57a +build.xml.stylesheet.CRC32=03eab09b +nbproject/build-impl.xml.data.CRC32=5cc831b7 +nbproject/build-impl.xml.script.CRC32=b2b47958 +nbproject/build-impl.xml.stylesheet.CRC32=a4fc63f1 diff --git a/nbproject/private/private.properties b/nbproject/private/private.properties new file mode 100644 index 0000000..d0bcbfe --- /dev/null +++ b/nbproject/private/private.properties @@ -0,0 +1,7 @@ +#Mon Jun 21 20:28:59 EEST 2010 +netbeans.user=C\:\\Users\\aNNiMON\\.netbeans\\6.9m1 +javadoc.preview=true +deployment.counter=33 +config.active= +deployment.number=0.0.32 +app-version.autoincrement=true diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml new file mode 100644 index 0000000..c1f155a --- /dev/null +++ b/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/nbproject/project.properties b/nbproject/project.properties new file mode 100644 index 0000000..233d410 --- /dev/null +++ b/nbproject/project.properties @@ -0,0 +1,140 @@ +abilities=MMAPI=1.1,SATSAJCRMI=1.0,SATSACRYPTO=1.0,JSR82=1.1,NOKIAUI=1.0,JSR226=1.0,MIDP=2.1,JSR229=1.1.0,SATSAAPDU=1.0,CLDC=1.1,JSR177=1.0,JSR179=1.0.1,J2MEWS=1.0,VSCL=2.1,WMA=2.0,JSR172=1.0,SEMC_EXT_JP8=1.0,ColorScreen,OBEX=1.0,NokiaUI=1.0,JSR238=1.0,JSR239=1.0,JSR211=1.0,JSR234=1.0,ScreenWidth=240,lib/semc_ext_jp8.jar=1.0,MascotV3=1.0,JSR75=1.0,JSR184=1.1,SATSAPKI=1.0,ScreenHeight=321,ScreenColorDepth=8,JSR180=1.0.1,J2MEXMLRPC=1.0, +all.configurations=\ +application.args= +application.description= +application.description.detail= +application.name= +application.vendor=Vendor +build.classes.dir=${build.dir}/compiled +build.classes.excludes=**/*.java,**/*.form,**/*.class,**/.nbintdb,**/*.mvd,**/*.wsclient,**/*.vmd +build.dir=build/${config.active} +build.root.dir=build +debug.level=debug +deployment.copy.target=deploy +deployment.instance=default +deployment.jarurl=${dist.jar} +deployment.method=NONE +deployment.override.jarurl=false +dist.dir=dist/${config.active} +dist.jad=aSignalization.jad +dist.jar=aSignalization.jar +dist.javadoc.dir=${dist.dir}/doc +dist.root.dir=dist +extra.classpath= +filter.exclude.tests=false +filter.excludes= +filter.more.excludes=**/overview.html,**/package.html +filter.use.standard=true +jar.compress=true +javac.debug=true +javac.deprecation=false +javac.encoding=windows-1251 +javac.optimize=false +javac.source=1.3 +javac.target=1.3 +javadoc.author=false +javadoc.encoding= +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +libs.classpath= +main.class= +main.class.class=applet +manifest.apipermissions= +manifest.file=manifest.mf +manifest.jad= +manifest.manifest= +manifest.midlets=MIDlet-1: aSignalization,/icon.png,Main\n +manifest.others=MIDlet-Vendor: aNNiMON\nMIDlet-Name: aSignalization\nMIDlet-Version: 1.2\n +manifest.pushregistry= +name=AntiTheft +no.dependencies=false +nokiaS80.application.icon= +nsicom.application.monitorhost= +nsicom.application.runremote= +nsicom.application.runverbose= +nsicom.remoteapp.location=\\My Documents\\NetBeans Applications +nsicom.remotevm.location=\\Windows\\creme\\bin\\CrEme.exe +obfuscated.classes.dir=${build.dir}/obfuscated +obfuscation.custom=-keep public class * extends javax.microedition.midlet.MIDlet \n-dontusemixedcaseclassnames +obfuscation.level=1 +obfuscator.destjar=${build.dir}/obfuscated.jar +obfuscator.srcjar=${build.dir}/before-obfuscation.jar +platform.active=Sony_Ericsson_SDK_2_5_0_4_for_the_Java_TM__ME_Platform_Emulator_ +platform.active.description=Sony Ericsson SDK 2.5.0.4 for the Java(TM) ME Platform(Emulator) +platform.apis=JSR234-1.0,SATSA-APDU-1.0,JSR211-1.0,JSR75-1.0,J2ME-WS-1.0,J2ME-XMLRPC-1.0,JSR82-1.1,SATSA-JCRMI-1.0,SATSA-CRYPTO-1.0,JSR239-1.0,JSR179-1.0.1,MascotV3-1.0,JSR184-1.1,JSR238-1.0,MMAPI-1.1,JSR256-1.1,NokiaUI-1.0,JSR229-1.1.0,SATSA-PKI-1.0,JSR180-1.0.1,JSR226-1.0,JSR177-1.0,SEMC_EXT_JP8-1.0,VSCL-2.0,VSCL-2.1,WMA-2.0 +platform.bootclasspath=${platform.home}/lib/mascotv3.jar:${platform.home}/lib/jsr226.jar:${platform.home}/lib/jsr256.jar:${platform.home}/lib/satsa-crypto.jar:${platform.home}/lib/jsr229.jar:${platform.home}/lib/jsr238.jar:${platform.home}/lib/j2me-xmlrpc.jar:${platform.home}/lib/jsr211.jar:${platform.home}/lib/vscl21.jar:${platform.home}/lib/satsa-jcrmi.jar:${platform.home}/lib/jsr082.jar:${platform.home}/lib/satsa-apdu.jar:${platform.home}/lib/jsr184.jar:${platform.home}/lib/nokiaext.jar:${platform.home}/lib/jsr239.jar:${platform.home}/lib/jsr75.jar:${platform.home}/lib/satsa-pki.jar:${platform.home}/lib/jsr179.jar:${platform.home}/lib/jsr180.jar:${platform.home}/lib/vscl.jar:${platform.home}/lib/mmapi.jar:${platform.home}/lib/j2me-ws.jar:${platform.home}/lib/wma20.jar:${platform.home}/lib/jsr234.jar:${platform.home}/lib/semc_ext_jp8.jar:${platform.home}/lib/cldcapi11.jar:${platform.home}/lib/midpapi20.jar +platform.configuration=CLDC-1.1 +platform.device=SonyEricsson_JP8_240x320_Emu +platform.fat.jar=true +platform.profile=MIDP-2.0 +platform.trigger=CLDC +platform.type=UEI-1.0.1 +preprocessed.dir=${build.dir}/preprocessed +preverify.classes.dir=${build.dir}/preverified +preverify.sources.dir=${build.dir}/preverifysrc +resources.dir=resources +ricoh.application.email= +ricoh.application.fax= +ricoh.application.icon= +ricoh.application.target-jar= +ricoh.application.telephone= +ricoh.application.uid=12092230 +ricoh.application.version= +ricoh.dalp.application-desc.auto-run=false +ricoh.dalp.application-desc.energy-save= +ricoh.dalp.application-desc.exec-auth= +ricoh.dalp.application-desc.visible=true +ricoh.dalp.argument= +ricoh.dalp.codebase= +ricoh.dalp.display-mode.color=true +ricoh.dalp.display-mode.is-4line-support=false +ricoh.dalp.display-mode.is-hvga-support=true +ricoh.dalp.display-mode.is-vga-support=false +ricoh.dalp.display-mode.is-wvga-support=false +ricoh.dalp.information.abbreviation= +ricoh.dalp.information.icon.basepath= +ricoh.dalp.information.icon.location= +ricoh.dalp.information.is-icon-used=true +ricoh.dalp.install.destination=hdd +ricoh.dalp.install.mode.auto=true +ricoh.dalp.install.work-dir=hdd +ricoh.dalp.is-managed=true +ricoh.dalp.resources.dsdk.version=2.0 +ricoh.dalp.resources.jar.basepath= +ricoh.dalp.resources.jar.version= +ricoh.dalp.version= +ricoh.icon.invert=false +ricoh.platform.target.version= +run.cmd.options= +run.jvmargs= +run.method=STANDARD +run.security.domain=trusted +run.use.security.domain=false +savaje.application.icon= +savaje.application.icon.focused= +savaje.application.icon.small= +savaje.application.uid=TBD +savaje.bundle.base= +savaje.bundle.debug=false +savaje.bundle.debug.port= +semc.application.caps= +semc.application.icon= +semc.application.icon.count= +semc.application.icon.splash= +semc.application.icon.splash.installonly=false +semc.application.uid=E3059127 +semc.certificate.path= +semc.private.key.password= +semc.private.key.path= +sign.alias= +sign.enabled=false +sign.keystore= +src.dir=src +use.emptyapis=true +use.preprocessor=true diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100644 index 0000000..ba1d46c --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,10 @@ + + + org.netbeans.modules.kjava.j2meproject + + + aSignalization + 1.6 + + + diff --git a/src/1.mp3 b/src/1.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..89e1c11b455b75520ba80e145c3e38cbb5f3fc74 GIT binary patch literal 33126 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
sZ#NE$3}Pt9fnIcMw(*8_0K+JEH{~*t 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%0A(23BxMJBFdS^ z;mNUuh^|?%ikN}}F)dycQ)mUOyp7T69c5Iu5M;mI-^`kFb7qB32A9nT`pb~x=H$WR z9(Ef5BUO-UBT&($THAglIFP*XVfqn>k4nj99To@3!0y+na}#YVUZ9JT?0Z6uCe>&B zVp5a9D4a~6av0pwV-j5_D9@F;$)9?%uhN-WzgajZmT5iLv#xY7xPMvmUQOubROsa!`2?xOzSQ(|xjaeg$s*R=S4VOOV3G5n=;DoV@HDBC`DY83JMBk*0FiY>A zygP4q{&!hcdt;u8HTeq;WaK8f?$X(2U?m<#=t#VHO=BzEUwlj)>3SV`p^sN5+bIN+ zT1PrQ{bcdq+mbE@cF|Ln=i6L0lDkEBaI+Z?HU1R_vUaGUd3rk_92vQPWpDlK>zQUYe%IrsMQMHbD%18znQBaP=~?UIgRdUr&&FzSnTKC@ z4eP@nu+`@i=vtPCwcWu3M{OMLkC1l@ERkkTc9x%?Ggx_e1bZnqGU6~`hfiDo#=B#| zaPTPA^KhB~=b88!3#ukZu0Dc=rH*VzInNMY*PF)?d%;t z9fUp(@1$eS{{=2Ox6Y%bu{H9kIs>BQ!!8{1)mIk1YIWBySdAj`P<^}CDG)@1!z$Vk zF(qe6W(@|HpLb?76q7;~%PS+=gc1y3bFVSKh6yD*pq-_=(z zvcHKB3M*1rz+<<(-WrYt3ItY)46x{+*{dYIKhcR9I;vklmCdFP0OZEQLwS*&C7R_Y z6AxEdN;u+Ko6SQ&QswoUmcY@F*dZ0^e=>$PWkCGN&q-a1+QyVHyHK0iq#ARwm>wb= zDfa9^dWKfU2bvp2tw@@bCNW?^`4Hrbsy;_!G=?EG{OQ~S7S-?12gvR1DC3rTEuQ+c zlZm!?%*OJsN4(V1^qMntoQhndEtQjnsSYIisKg)QYBdsHtn2oEp|C?}Lcfp8ZDYBH zY}MVI1*vMvT6%&Qoz-L6fRVgZYx)5J-2ut%kdS)Zb`3$$0DVKjdZ>7GA^acBusc+~ zYGmg>@%W7Te(xd4!ZKmQvhL>N)AGj5)r4~RUGoqy<)P3z%Gt)#e|Nt$IAN&kunVj99DX6=)qd98Ls<>?R#z-_t=^Sv`<%;Rq(cc( zKA|%^v`pp`jRZ6ZiU6<@N6Y}vRNFY zx3Z$#%y9ZlX77XXQU3sDdu3jlT1HO3zt(?g5u@c|uX)fcik#gn@P$H`pRl&=k z>N00RWR?}fkF>c=rld^CjL^mP#Zq{QveoWg!Uw1STM3A_4-Hgb}ianF!DgA^`jtivS0K P0RZf=|Jzsp5AXk9kKM=m literal 0 HcmV?d00001 diff --git a/src/Canv.java b/src/Canv.java new file mode 100644 index 0000000..dc1f5fb --- /dev/null +++ b/src/Canv.java @@ -0,0 +1,262 @@ + +import java.io.IOException; +import java.util.Calendar; +import javax.microedition.io.Connector; +import javax.microedition.lcdui.*; +import javax.microedition.media.*; +import javax.microedition.media.control.VolumeControl; +import javax.microedition.sensor.*; + +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +/** + * + * @author aNNiMON + */ +public class Canv extends Canvas implements Runnable, DataListener { + + private int w,h; + + // Глобальные Данные + private boolean run; + private int stx, sty, stz; + private int sensetivity, signalmode, time; + private long currentTime; + private boolean logmode; + + private Image I; + private Graphics G; + private Thread thr; + private Player player; + private VolumeControl vc; + private final Font medFont = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, Font.SIZE_MEDIUM); + + private int[] channels = new int[3]; + private String[] channelNames = new String[3]; + private SensorConnection sensor; + private String URL, temp; + + public Canv() { + setFullScreenMode(true); + logmode = run = false; + currentTime = time = signalmode = 0; + temp = getTime(1); + sensetivity = 300; + thr = new Thread(this); + w = getWidth(); + h = getHeight(); + I = Image.createImage(w, h); + G = I.getGraphics(); + getInfo(); + thr.start(); + } + + protected void paint(Graphics g) { + drawCanvas(G); + g.drawImage(I, 0, 0, 20); + } + + private void drawCanvas(Graphics g) { + g.setColor(0); + g.fillRect(0, 0, w, h); + g.setFont(medFont); + g.setColor(0x227A6F); + if(run) { + g.drawString(getTime(1), w/2, 5, 17); + if(currentTime>1 && ((System.currentTimeMillis()-currentTime)>time*1000)) bubu(); + repaint(); + }else{ + int fh = medFont.getHeight()+3; + g.drawString("Чувствительность", w/2, 5, 17); + g.drawString("4 - | "+String.valueOf(sensetivity)+" | 6 +", w/2, 5+fh, 17); + String md = logmode ? "Лог в файл" : "Сигнализация"; + g.drawString("2 - Режим: "+md, w/2, 8+fh*2, 17); + g.drawString("5 - Старт", w/2, 8+fh*3, 17); + if(!logmode) { + switch(signalmode) { + case 0: md = "Звук и вибро"; break; + case 1: md = "Звук"; break; + case 2: md = "Вибро"; break; + } + g.drawString("8 - "+md, w/2, 8+fh*4, 17); + g.drawString("Сработать через (сек)", w/2, 8+fh*5, 17); + g.drawString("7 - | "+time+" | 9 +", w/2, 4+fh*6, 17); + } + } + } + + public void keyPressed(int key) { + if(run) return; + int ga=getGameAction(key); + switch(ga) { + case LEFT: + if(sensetivity>100) sensetivity-=100; + break; + case RIGHT: + if(sensetivity<1000) sensetivity+=100; + break; + case UP: + logmode=!logmode; + break; + case DOWN: + if(!logmode) { + signalmode++; + if(signalmode>2) signalmode=0; + } + break; + case FIRE: + stx=channels[0]; sty=channels[1]; stz=channels[2]; + run=true; + if(logmode) Main.midlet.save(getTime(1)); + break; + default: + if(!logmode) { + if(key==KEY_NUM7) { + time--; + if(time<0) time = 0; + }else if(key==KEY_NUM9) { + time++; + if(time>500) time = 500; + } + } + } + repaint(); + } + + public void keyRepeated(int key) { + if(key==KEY_STAR/* && currentTime == 1*/) { + run = false; + currentTime = 0; + if (player != null) { + try { + player.stop(); + } catch (MediaException ex) { + ex.printStackTrace(); + } + player = null; + } + repaint(); + }/*else if(key==KEY_POUND) { + currentTime = 1; + repaint(); + }*/else keyPressed(key); + + } + + + public void setPositions(int x, int y, int z) { + if(run) { + int zx, zy, zz; + zx = Math.abs(stx-x); + zy = Math.abs(sty-y); + zz = Math.abs(stz-z); + if(zx>sensetivity || zy>sensetivity || zz>sensetivity) { + if(!logmode) { + currentTime = System.currentTimeMillis(); + //bubu(); + } + else { + String t=getTime(1); + if(!temp.equals(t)) { + Main.midlet.write(t+"\n"); + temp=t; + } + } + } + stx=x; sty=y; stz=z; + repaint(); + } + } + + private void bubu() { + if (player == null && signalmode!=2) { + try { + player = Manager.createPlayer(getClass().getResourceAsStream("/1.mp3"), "audio/mpeg"); + player.realize(); + player.prefetch(); + vc = (VolumeControl) player.getControl("VolumeControl"); + vc.setLevel(100); + player.setLoopCount(-1); + player.start(); + } catch (Exception ex) { + player = null; + } + } + + } + + public void run() { + while(true) { + if(currentTime>1 && ((System.currentTimeMillis()-currentTime)>time*1000)) { + if(run && signalmode!=1) Main.midlet.dsp.vibrate(100); + }else + try { + Thread.sleep(1000); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } + } + + public void dataReceived(SensorConnection sensor, Data[] data, boolean isDataLost) { + //Save the data + for (int i = 0; i < data.length; i++) { + if (data[i].getChannelInfo().getName().compareTo(channelNames[0]) == 0) { + channels[0] = data[i].getIntValues()[0]; + } else if (data[i].getChannelInfo().getName().compareTo(channelNames[1]) == 0) { + channels[1] = data[i].getIntValues()[0]; + } else if (data[i].getChannelInfo().getName().compareTo(channelNames[2]) == 0) { + channels[2] = data[i].getIntValues()[0]; + } + } + setPositions(channels[0], channels[1], channels[2]); + } + + private void getInfo() { + SensorInfo[] info = SensorManager.findSensors("acceleration", null); + for (int i = 0; i < info.length; i++) { + SensorInfo s = info[i]; + URL = s.getUrl(); + ChannelInfo[] ci = s.getChannelInfos(); + for (int r = 0; r < ci.length; r++) { + ChannelInfo c = ci[r]; + channelNames[r] = c.getName(); + } + } + try { + sensor = (SensorConnection) Connector.open(URL); + sensor.setDataListener(this, 1); + } catch (IOException ex) { + ex.printStackTrace(); + } + } + + public static String getTime(int mode) { + String dd, mm, yy, _h, m, s; + Calendar cal = Calendar.getInstance (); + dd = String.valueOf (cal.get (Calendar.DAY_OF_MONTH)); + if (dd.length () == 1) + dd = "0" + dd; + mm = String.valueOf (cal.get (Calendar.MONTH) + 1); + if (mm.length () == 1) + mm = "0" + mm; + yy = String.valueOf (cal.get (Calendar.YEAR)); + _h = String.valueOf (cal.get (Calendar.HOUR_OF_DAY)); + if (_h.length () == 1) + _h = "0" + _h; + m = String.valueOf (cal.get (Calendar.MINUTE)); + if (m.length () == 1) + m = "0" + m; + s = String.valueOf (cal.get (Calendar.SECOND)); + if (s.length () == 1) + s = "0" + s; + String time; + if(mode==1) time = _h+":"+m+":"+s; + else if(mode==2) time = (dd+"."+mm+"."+yy.substring(2)); + else time = (dd+"."+mm+"."+yy.substring(2)+" "+_h+":"+m+":"+s); + return time; + } +} \ No newline at end of file diff --git a/src/Main.java b/src/Main.java new file mode 100644 index 0000000..4e9f4dc --- /dev/null +++ b/src/Main.java @@ -0,0 +1,82 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +import java.io.*; +import javax.microedition.io.Connector; +import javax.microedition.io.file.FileConnection; +import javax.microedition.lcdui.Display; +import javax.microedition.midlet.*; + +/** + * @author aNNiMON + */ +public class Main extends MIDlet { + + public static Main midlet; + + private FileConnection fc; + private OutputStream os; + + public Display dsp; + public static byte log = 0; + + public Main() { + midlet = this; + dsp = Display.getDisplay(this); + } + + public void startApp() { + dsp.setCurrent(new Canv()); + } + + public void pauseApp() { + } + + public void destroyApp(boolean unco) { + if(fc!=null) { + try { + os.flush(); + os.close(); + fc.close(); + } catch (IOException ex) { + ex.printStackTrace(); + } + } + notifyDestroyed(); + } + + public void save(String path) { + try { + os = init(path); + write(os, "aSignalization Log File\nby aNNiMON\n"); + } catch (IOException ex) { + ex.printStackTrace(); + } + } + + public void write(String text) { + try { + write(os, text); + } catch (IOException ex) { + ex.printStackTrace(); + } + } + + public OutputStream init(String path) throws IOException { + fc = (FileConnection) Connector.open("file:///c:/other/aSignalization"+path.replace(':', '_')+".txt"); + if(fc.exists()) { + fc.delete(); + } + fc.create(); + log++; + return fc.openOutputStream(); + } + + public void write(OutputStream os, String text) throws IOException { + for(int j=0; jRU8WV~oH zou7m6gX4G(729_33BP;qKKHxd@2*hz9~T>a+b+Tz7_hK|8ARs_r?7&m;=1IM?4R3) zy@xN@fdvCIsD`pDWi<%q6Ss+EO-Y`isJRNvVFOWKmex*8j^K`d0#lxkw4)P%D)MpB#eTtn@lL_tJe_64~(D`3S$Y!ipwz9 zoC#`HQiiFzY}J%Fly<#4XmlrE6vu~7hv-4l