Сравнить коммиты

...
39 Коммитов
Автор SHA1 Сообщение Дата
Anton Tananaev 4aac812c8a Version 3.2 release 2015-05-05 22:54:44 +12:00
Anton Tananaev 9a2388011e Update Traccar logo icon 2015-05-05 22:51:58 +12:00
Anton Tananaev cd2277c3fd Change location check logic 2015-05-05 22:42:52 +12:00
Anton Tananaev 88d4ff69b7 Add app project file back 2015-05-02 12:48:32 +12:00
Anton Tananaev 4e7082bed6 Ignore lint in release build 2015-05-02 12:42:14 +12:00
Anton Tananaev d5224546c5 Fix some lint warnings 2015-05-02 12:39:33 +12:00
Anton Tananaev 29a0cd03ae Update tools and themes 2015-05-02 12:29:21 +12:00
Anton Tananaev 56f4534485 Update project description 2015-03-03 18:14:56 +13:00
Anton Tananaev 82ce44b64d Handle missing provider (fix #127) 2015-02-06 10:01:13 +13:00
Anton Tananaev 4f94c51e11 Update project files 2015-02-06 09:59:10 +13:00
Anton Tananaev 63b7566296 Merge pull request #114 from Rengaraj/master
Spelling mistake is corrected
2014-11-07 17:58:45 +13:00
Rengaraj af48a89874 Spelling mistake is corrected.
"In" is changed to "It"
2014-11-07 09:39:07 +05:30
Anton Tananaev 2266bab317 Merge pull request #107 from Armagetron/master
Fix a crash on missing provider
2014-10-10 17:35:03 +13:00
Armagetron 01060cf454 Fix a crash on unavailability of a location provider 2014-10-08 12:54:55 +02:00
Anton Tananaev 1d6da0c9d9 Merge pull request #105 from Armagetron/translation-german
Updated german translation
2014-08-20 19:04:14 +12:00
Armagetron be4f842a79 Updated german translation 2014-08-20 07:54:18 +02:00
Anton Tananaev f611b1b597 Add debugging code 2014-07-01 22:51:42 +12:00
Anton Tananaev 30412eb7b8 Change theme to light 2014-06-21 15:59:24 +12:00
Anton Tananaev d2399a5fed Merge branch 'krieger-od-fix-startup' 2014-06-21 15:12:40 +12:00
Anton Tananaev 026c3e1534 Merge branch fix-startup 2014-06-21 15:12:04 +12:00
Anton Tananaev a1c7d75cc1 Version 2.12 release 2014-05-27 23:09:22 +12:00
Anton Tananaev 5e2f35fae0 Workaround for start service bug (fix #60) 2014-05-27 23:06:33 +12:00
Anton Tananaev 97ead868cd Update project files 2014-05-27 23:03:41 +12:00
Anton Tananaev 61d0098c69 Add signing key password 2014-05-15 23:12:49 +12:00
Anton Tananaev a32a50c1f7 Update project files 2014-05-15 23:09:54 +12:00
Anton Tananaev 5b187036d2 Fix Norwegian translation 2014-03-19 22:51:14 +13:00
Anton Tananaev 4e70977d95 Update application version 2014-03-19 20:48:09 +13:00
Anton Tananaev 66161cf9ac Add Norwegian translation 2014-03-19 20:46:32 +13:00
Anton Tananaev 579c00b860 Add Serbian translation 2014-03-19 20:45:57 +13:00
Anton Tananaev ea89c638b7 Revert connectivity changes 2014-02-05 19:11:09 +13:00
Anton Tananaev dd1b0be0c0 Update gradle config 2014-01-29 21:31:21 +13:00
Anton Tananaev cdea58caa4 Add connectivity change logging 2014-01-29 20:31:52 +13:00
Anton Tananaev fb3b7658a8 Fix API level compatibility 2014-01-29 20:31:13 +13:00
Anton Tananaev 39e126cc6d Update version number 2014-01-26 20:27:08 +13:00
Anton Tananaev 18dd857d6d Handle network connection status 2014-01-26 20:26:17 +13:00
Anton Tananaev 74fb9c19c1 Update Gradle project 2014-01-26 19:39:03 +13:00
Anton Tananaev 8bdc5e1a65 Add new message format (fix #63) 2014-01-11 16:57:35 +13:00
Anton Tananaev 42aa93342c Add Danish translation 2013-11-26 22:58:52 +13:00
Andrey Utkin 6d0db55b60 Launch Service on app start if preferences say so 2013-09-30 13:12:19 +03:00
50 изменённых файлов: 604 добавлений и 289 удалений
Generated
+1 -1
Просмотреть файл
@@ -1 +1 @@
traccar-client traccar-client-android
+1 -2
Просмотреть файл
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="CompilerConfiguration"> <component name="CompilerConfiguration">
<option name="DEFAULT_COMPILER" value="Javac" />
<resourceExtensions /> <resourceExtensions />
<wildcardResourcePatterns> <wildcardResourcePatterns>
<entry name="!?*.java" /> <entry name="!?*.java" />
@@ -12,6 +11,7 @@
<entry name="!?*.flex" /> <entry name="!?*.flex" />
<entry name="!?*.kt" /> <entry name="!?*.kt" />
<entry name="!?*.clj" /> <entry name="!?*.clj" />
<entry name="!?*.aj" />
</wildcardResourcePatterns> </wildcardResourcePatterns>
<annotationProcessing> <annotationProcessing>
<profile default="true" name="Default" enabled="false"> <profile default="true" name="Default" enabled="false">
@@ -20,4 +20,3 @@
</annotationProcessing> </annotationProcessing>
</component> </component>
</project> </project>
+1 -3
Просмотреть файл
@@ -1,5 +1,3 @@
<component name="CopyrightManager"> <component name="CopyrightManager">
<settings default=""> <settings default="" />
<module2copyright />
</settings>
</component> </component>
-5
Просмотреть файл
@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
</project>
+9 -2
Просмотреть файл
@@ -3,10 +3,17 @@
<component name="GradleSettings"> <component name="GradleSettings">
<option name="linkedExternalProjectsSettings"> <option name="linkedExternalProjectsSettings">
<GradleProjectSettings> <GradleProjectSettings>
<option name="distributionType" value="DEFAULT_WRAPPED" /> <option name="distributionType" value="LOCAL" />
<option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1" />
<option name="gradleJvm" value="1.7" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/traccar-client" />
</set>
</option>
</GradleProjectSettings> </GradleProjectSettings>
</option> </option>
</component> </component>
</project> </project>
+16 -17
Просмотреть файл
@@ -1,23 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="1.7" project-jdk-type="JavaSDK"> <component name="EntryPointsManager">
<entry_points version="2.0" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
<OptionsSetting value="true" id="Remove" />
<OptionsSetting value="true" id="Checkout" />
<OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" />
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="Android API 22 Platform" project-jdk-type="Android SDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
<component name="masterDetails"> <component name="ProjectType">
<states> <option name="id" value="Android" />
<state key="ProjectJDKs.UI">
<settings>
<last-edited>1.7</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
</states>
</component> </component>
</project> </project>
-1
Просмотреть файл
@@ -7,4 +7,3 @@
</modules> </modules>
</component> </component>
</project> </project>
-5
Просмотреть файл
@@ -1,5 +0,0 @@
<component name="DependencyValidationManager">
<state>
<option name="SKIP_IMPORT_STATEMENTS" value="false" />
</state>
</component>
Generated
+1 -3
Просмотреть файл
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="VcsDirectoryMappings"> <component name="VcsDirectoryMappings">
<mapping directory="" vcs="" /> <mapping directory="" vcs="Git" />
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component> </component>
</project> </project>
+27
Просмотреть файл
@@ -0,0 +1,27 @@
# [Traccar Client for Android](https://www.traccar.org/client)
## Contacts
Author - Anton Tananaev ([anton.tananaev@gmail.com](mailto:anton.tananaev@gmail.com))
Website - [https://www.traccar.org/client](https://www.traccar.org/client)
## Overview
Traccar Client is an Android GPS tracking application. It can work with Traccar open source server software.
## License
Apache License, Version 2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-27
Просмотреть файл
@@ -1,27 +0,0 @@
traccar-client
Web page - http://www.traccar.org
Author - Anton Tananaev (anton.tananaev@gmail.com)
SUMMARY:
Traccar Client is Android GPS tracking application. In can work with
Traccar open source server software.
LICENSE:
Apache License, Version 2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+15
Просмотреть файл
@@ -1 +1,16 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules. // Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.2'
}
}
allprojects {
repositories {
mavenCentral()
}
}
+18
Просмотреть файл
@@ -0,0 +1,18 @@
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Settings specified in this file will override any Gradle settings
# configured through the IDE.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
Двоичные данные
Двоичный файл не отображается.
+2 -2
Просмотреть файл
@@ -1,6 +1,6 @@
#Mon Oct 28 17:05:17 NZDT 2013 #Fri Feb 06 09:56:43 NZDT 2015
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.8-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
+72 -88
Просмотреть файл
@@ -9,17 +9,14 @@
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="512" width="64px"
height="512" height="64px"
id="svg4101" id="svg2985"
version="1.1" version="1.1"
inkscape:version="0.48.3.1 r9886" inkscape:version="0.48.4 r9939"
sodipodi:docname="icon.svg" sodipodi:docname="traccar.svg">
inkscape:export-filename="/home/user/Documents/traccar-client/res/drawable-xhdpi/ic_launcher.png"
inkscape:export-xdpi="16.875"
inkscape:export-ydpi="16.875">
<defs <defs
id="defs4103" /> id="defs2987" />
<sodipodi:namedview <sodipodi:namedview
id="base" id="base"
pagecolor="#ffffff" pagecolor="#ffffff"
@@ -27,109 +24,96 @@
borderopacity="1.0" borderopacity="1.0"
inkscape:pageopacity="0.0" inkscape:pageopacity="0.0"
inkscape:pageshadow="2" inkscape:pageshadow="2"
inkscape:zoom="1.4" inkscape:zoom="4"
inkscape:cx="402.73478" inkscape:cx="-11.637539"
inkscape:cy="279.68584" inkscape:cy="7.0291785"
inkscape:document-units="px"
inkscape:current-layer="layer1" inkscape:current-layer="layer1"
showgrid="false" showgrid="true"
fit-margin-top="0" inkscape:document-units="px"
fit-margin-left="0" inkscape:grid-bbox="true"
fit-margin-right="0" inkscape:snap-bbox="true"
fit-margin-bottom="0" inkscape:bbox-paths="true"
inkscape:window-width="1680" inkscape:bbox-nodes="true"
inkscape:window-height="1026" inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:object-paths="true"
inkscape:object-nodes="true"
inkscape:snap-intersection-paths="true"
inkscape:snap-smooth-nodes="true"
inkscape:snap-midpoints="true"
inkscape:snap-center="true"
inkscape:snap-object-midpoints="true"
inkscape:window-width="1920"
inkscape:window-height="1176"
inkscape:window-x="0" inkscape:window-x="0"
inkscape:window-y="24" inkscape:window-y="24"
inkscape:window-maximized="1" inkscape:window-maximized="1"
width="512px" /> inkscape:snap-global="false" />
<metadata <metadata
id="metadata4106"> id="metadata2990">
<rdf:RDF> <rdf:RDF>
<cc:Work <cc:Work
rdf:about=""> rdf:about="">
<dc:format>image/svg+xml</dc:format> <dc:format>image/svg+xml</dc:format>
<dc:type <dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title> <dc:title />
</cc:Work> </cc:Work>
</rdf:RDF> </rdf:RDF>
</metadata> </metadata>
<g <g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1" id="layer1"
transform="translate(-317.72197,34.03834)"> inkscape:label="Layer 1"
inkscape:groupmode="layer">
<g <g
id="g3057"> id="g2995">
<rect
ry="99.363052"
rx="99.36306"
y="-11.541533"
x="340.21878"
height="467.00638"
width="467.00635"
id="rect3055"
style="fill:#ffffff;stroke:#ffffff;stroke-width:0.99363058999999998" />
<g
transform="matrix(3.9153612,2.053283,-2.053283,3.9153612,92.187853,-3064.4694)"
id="g4068">
<g
id="g4046"
transform="matrix(0.83109018,-0.84335752,0.84335752,0.83109018,-425.72131,478.52845)">
<path <path
inkscape:connector-curvature="0" transform="matrix(11.849785,-6.8414759,4.1048857,7.1098702,-141.6761,-453.06363)"
id="path3194" d="m -4.633625,61.745384 a 2.0991254,3.4985423 0 1 1 -4.1982508,0 2.0991254,3.4985423 0 1 1 4.1982508,0 z"
d="m 443.65385,563.57293 c -1.05193,-0.0129 -2.10701,0.0598 -3.12744,0.18048 l 0.06,2.75094 c 0.99036,-0.12733 2.00989,-0.19417 3.0337,-0.18162 12.83055,0.15709 23.11001,11.57671 22.93914,25.53274 -0.002,0.17643 -0.001,0.35569 -0.007,0.53121 l 2.50057,-0.0319 c 0.004,-0.15699 0.004,-0.31113 0.006,-0.46872 0.18944,-15.473 -11.18011,-28.13898 -25.40528,-28.31315 z" sodipodi:ry="3.4985423"
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none" /> sodipodi:rx="2.0991254"
sodipodi:cy="61.745384"
sodipodi:cx="-6.7327504"
id="path3038"
style="fill:#ffffff"
sodipodi:type="arc" />
<path <path
sodipodi:nodetypes="cccscccccc" transform="matrix(0.98000485,-0.56580602,0.76260819,1.3208761,-13.500496,-10.292296)"
inkscape:connector-curvature="0" d="m 16.134891,38.929852 a 1.9927555,1.478496 0 1 1 -3.985511,0 1.9927555,1.478496 0 1 1 3.985511,0 z"
id="path3194-4" sodipodi:ry="1.478496"
d="m 442.89836,570.53348 c -0.79783,-0.01 -1.59802,0.0454 -2.37195,0.13688 l 0.0455,2.52833 c 0.75111,-0.0966 1.52436,-0.14725 2.30084,-0.13774 9.73108,0.11913 16.95911,8.33817 16.82952,18.92284 -0.002,0.1338 -10e-4,0.26976 -0.005,0.40289 l 2.46472,-0.0242 c 0.003,-0.11907 0.003,-0.23598 0.004,-0.35547 0.14368,-11.73519 -8.47933,-21.34145 -19.26811,-21.47354 z" sodipodi:rx="1.9927555"
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none" /> sodipodi:cy="38.929852"
sodipodi:cx="14.142136"
id="path2993"
style="fill:#000000"
sodipodi:type="arc" />
<path <path
sodipodi:nodetypes="cccccccccc" id="path3004"
inkscape:connector-curvature="0" d="m 36.965211,24.251054 -2.816072,3.57877 c 0.657208,0.517134 1.313001,1.146671 1.756681,1.915146 0.443679,0.768474 0.660975,1.651177 0.780224,2.478901 l 4.507342,-0.649405 C 41.001257,30.166972 40.565802,28.79619 39.81164,27.489944 39.057477,26.183697 38.088074,25.121191 36.965211,24.251054 z"
id="path3194-0" style="fill:#000000"
d="m 442.20847,576.88946 c -0.56577,-0.007 -1.13323,0.0322 -1.68206,0.0971 l 0.0323,2.42658 c 0.53265,-0.0685 1.081,-0.10442 1.63165,-0.0977 6.90079,0.46331 10.91426,5.09 11.13804,12.78552 -10e-4,0.0949 -7.7e-4,0.19129 -0.003,0.28572 l 2.54446,-0.0171 c 0.002,-0.0845 0.002,-0.16735 0.003,-0.25208 0.10189,-8.32201 -6.01312,-15.13429 -13.66399,-15.22797 z"
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none" />
</g>
<g
id="g4061"
transform="translate(4.3272904,0)">
<path
id="path4401"
d="m 428.82958,632.50381 c 1.51739,8.39514 3.18843,16.70366 3.25039,25.86381 13.43389,-7.07008 16.24573,-8.60045 29.67957,-15.67062 -4.84405,-3.37683 -9.59166,-7.39353 -13.56307,-11.22903 -6.14118,1.98174 -12.37667,2.63171 -19.36689,1.03584 z m 3.03559,3.5588 2.90054,0.34654 c 1.65734,7.68989 1.24429,15.11973 -0.19508,18.63703 -0.5999,-6.11993 -0.9108,-10.44519 -2.70546,-18.98357 z"
style="fill:#000000;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<path <path
id="path3423-9-5" id="path3014"
d="m 398.11826,602.8218 c 5.46403,15.3042 20.05405,26.26585 37.2409,26.32057 17.18753,0.0547 31.81943,-10.80285 37.38029,-26.07291 l -74.62119,-0.24766 z m 6.11343,4.37701 6.55964,0.18844 c 4.52018,8.23085 9.05564,11.77782 15.40988,16.82483 -9.13544,-2.75636 -16.94711,-7.80772 -21.96952,-17.01327 z" d="m 42.404828,17.041928 -2.816072,3.578769 c 1.591875,1.223919 3.062315,2.767181 4.128704,4.614221 1.066388,1.847038 1.667671,3.892108 1.931679,5.882671 l 4.507341,-0.649405 c -0.336471,-2.571017 -1.155959,-5.102841 -2.5332,-7.488294 -1.377241,-2.385452 -3.160122,-4.36106 -5.218452,-5.937962 z"
style="fill:#000000;fill-opacity:1;stroke:none" style="fill:#000000"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<g
transform="translate(2.1996971,2)"
id="g4055">
<rect
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect4051"
width="3.2829957"
height="8.0812206"
x="431.58765"
y="594.76306" />
<path <path
sodipodi:type="arc" sodipodi:end="4.712389"
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" sodipodi:start="1.5707963"
id="path4053" transform="matrix(3.9507144,-2.2809459,1.4097023,2.4416757,-59.699972,-127.24372)"
sodipodi:cx="433.22916" d="m -2.0227272,68.375862 a 1.9772727,3.1992946 0 1 1 0,-6.398589 l -1e-7,3.199294 z"
sodipodi:cy="594.00549" sodipodi:ry="3.1992946"
sodipodi:rx="3.4092648" sodipodi:rx="1.9772727"
sodipodi:ry="3.7880721" sodipodi:cy="65.176567"
d="m 436.63842,594.00549 c 0,2.0921 -1.52638,3.78808 -3.40926,3.78808 -1.88289,0 -3.40927,-1.69598 -3.40927,-3.78808 0,-2.09209 1.52638,-3.78807 3.40927,-3.78807 1.88288,0 3.40926,1.69598 3.40926,3.78807 z" /> sodipodi:cx="-2.0227273"
</g> id="path3036"
</g> style="fill:#000000"
</g> sodipodi:type="arc" />
<path
id="path3038-8"
d="M 17.638883,7.1258129 C 3.9012503,15.057239 -0.80560983,32.62348 7.1258152,46.361111 15.057241,60.098742 32.623482,64.805603 46.361115,56.874177 60.098748,48.942752 64.805608,31.37651 56.874183,17.63888 48.942758,3.9012493 31.376516,-0.80561226 17.638883,7.1258129 z m 1.689543,2.9263741 C 31.449867,3.0538711 46.949491,7.2069826 53.947808,19.328422 60.946126,31.449863 56.793012,46.949488 44.671573,53.947803 32.550132,60.94612 17.050507,56.793009 10.05219,44.671568 3.0538724,32.550127 7.2069849,17.050503 19.328426,10.052187 z"
style="fill:#000000"
inkscape:connector-curvature="0" />
</g> </g>
</g> </g>
</svg> </svg>

До

Ширина:  |  Высота:  |  Размер: 6.4 KiB

После

Ширина:  |  Высота:  |  Размер: 4.8 KiB

Двоичные данные
Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 25 KiB

После

Ширина:  |  Высота:  |  Размер: 32 KiB

+11 -3
Просмотреть файл
@@ -1,13 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4"> <module external.linked.project.id="traccar-client-android" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="java-gradle" name="Java-Gradle">
<configuration>
<option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
<option name="BUILDABLE" value="false" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" inherit-compiler-output="true"> <component name="NewModuleRootManager" inherit-compiler-output="true">
<output url="file://$MODULE_DIR$/build/classes/main" />
<output-test url="file://$MODULE_DIR$/build/classes/test" />
<exclude-output /> <exclude-output />
<content url="file://$MODULE_DIR$"> <content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.gradle" /> <excludeFolder url="file://$MODULE_DIR$/.gradle" />
<excludeFolder url="file://$MODULE_DIR$/build" />
</content> </content>
<orderEntry type="inheritedJdk" /> <orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
</component> </component>
</module> </module>
+27 -16
Просмотреть файл
@@ -1,24 +1,35 @@
buildscript { apply plugin: 'com.android.application'
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
android { android {
compileSdkVersion 17 compileSdkVersion 22
buildToolsVersion "17.0.0" buildToolsVersion "22.0.1"
defaultConfig { defaultConfig {
minSdkVersion 3 minSdkVersion 3
targetSdkVersion 18 targetSdkVersion 22
versionCode 22
versionName "3.2"
}
signingConfigs {
release {
storeFile file('/home/user/Documents/android.keystore')
keyAlias "tananaev"
storePassword ""
keyPassword ""
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
signingConfig signingConfigs.release
}
}
lintOptions {
checkReleaseBuilds false
} }
} }
+17
Просмотреть файл
@@ -0,0 +1,17 @@
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /home/user/android-studio/sdk/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 *;
#}
+8 -12
Просмотреть файл
@@ -1,19 +1,15 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.traccar.client" package="org.traccar.client">
android:versionCode="15"
android:versionName="2.8">
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="18" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher" android:allowBackup="true" android:theme="@style/TraccarTheme">
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher" android:allowBackup="true">
<activity android:name="TraccarActivity"> <activity android:name="TraccarActivity">
<intent-filter> <intent-filter>
+23
Просмотреть файл
@@ -18,8 +18,13 @@ package org.traccar.client;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.Queue; import java.util.Queue;
import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.os.Handler; import android.os.Handler;
import android.util.Log;
public class ClientController implements Connection.ConnectionHandler { public class ClientController implements Connection.ConnectionHandler {
@@ -45,13 +50,31 @@ public class ClientController implements Connection.ConnectionHandler {
this.loginMessage = loginMessage; this.loginMessage = loginMessage;
} }
private BroadcastReceiver connectivityListener = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
StatusActivity.addMessage(context.getString(R.string.status_connectivity_change));
/*if (intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false)) {
handler.removeCallbacksAndMessages(null);
} else {
reconnect();
}*/
}
};
public void start() { public void start() {
handler = new Handler(); handler = new Handler();
connection = new Connection(this); connection = new Connection(this);
connection.connect(address, port); connection.connect(address, port);
IntentFilter filter = new IntentFilter();
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
context.registerReceiver(connectivityListener, filter);
} }
public void stop() { public void stop() {
context.unregisterReceiver(connectivityListener);
connection.close(); connection.close();
handler.removeCallbacksAndMessages(null); handler.removeCallbacksAndMessages(null);
} }
+23 -6
Просмотреть файл
@@ -1,5 +1,5 @@
/* /*
* Copyright 2013 Anton Tananaev (anton.tananaev@gmail.com) * Copyright 2013 - 2015 Anton Tananaev (anton.tananaev@gmail.com)
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@@ -24,6 +24,7 @@ import android.location.LocationManager;
import android.location.LocationProvider; import android.location.LocationProvider;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.widget.Toast;
public class PositionProvider { public class PositionProvider {
@@ -35,22 +36,21 @@ public class PositionProvider {
public void onPositionUpdate(Location location); public void onPositionUpdate(Location location);
} }
private final Context context;
private final Handler handler; private final Handler handler;
private final LocationManager locationManager; private final LocationManager locationManager;
private final long period; private final long period;
private final PositionListener listener; private final PositionListener listener;
private final Context context;
private boolean useFine; private boolean useFine;
private boolean useCoarse; private boolean useCoarse;
public PositionProvider(Context context, String type, long period, PositionListener listener) { public PositionProvider(Context context, String type, long period, PositionListener listener) {
this.context = context; handler = new Handler(context.getMainLooper());
handler = new Handler(this.context.getMainLooper());
locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
this.period = period; this.period = period;
this.listener = listener; this.listener = listener;
this.context = context;
// Determine providers // Determine providers
if (type.equals(PROVIDER_MIXED)) { if (type.equals(PROVIDER_MIXED)) {
@@ -65,10 +65,18 @@ public class PositionProvider {
public void startUpdates() { public void startUpdates() {
if (useFine) { if (useFine) {
try {
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, period, 0, fineLocationListener); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, period, 0, fineLocationListener);
} catch (Exception e) {
StatusActivity.addMessage(context.getString(R.string.status_provider_missing));
}
} }
if (useCoarse) { if (useCoarse) {
try {
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, period, 0, coarseLocationListener); locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, period, 0, coarseLocationListener);
} catch (Exception e) {
StatusActivity.addMessage(context.getString(R.string.status_provider_missing));
}
} }
handler.postDelayed(updateTask, period); handler.postDelayed(updateTask, period);
} }
@@ -81,10 +89,19 @@ public class PositionProvider {
private final Runnable updateTask = new Runnable() { private final Runnable updateTask = new Runnable() {
private long lastTime;
private boolean tryProvider(String provider) { private boolean tryProvider(String provider) {
Location location = locationManager.getLastKnownLocation(provider); Location location = locationManager.getLastKnownLocation(provider);
if (location != null && new Date().getTime() - location.getTime() <= period + PERIOD_DELTA) { /*if (location != null) {
Toast.makeText(context, "phone: " + new Date() + "\ngps: " + new Date(location.getTime()), Toast.LENGTH_LONG).show();
} else {
Toast.makeText(context, "no location", Toast.LENGTH_LONG).show();
}*/
if (location != null && location.getTime() != lastTime) {
lastTime = location.getTime();
listener.onPositionUpdate(location); listener.onPositionUpdate(location);
return true; return true;
} else { } else {
+16 -3
Просмотреть файл
@@ -1,5 +1,5 @@
/* /*
* Copyright 2012 - 2013 Anton Tananaev (anton.tananaev@gmail.com) * Copyright 2012 - 2014 Anton Tananaev (anton.tananaev@gmail.com)
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@@ -49,12 +49,23 @@ public class Protocol {
/** /**
* Format location message * Format location message
*/ */
public static String createLocationMessage(Location l) { public static String createLocationMessage(boolean extended, Location l, double battery) {
StringBuilder s = new StringBuilder("$GPRMC,"); StringBuilder s = new StringBuilder(extended ? "$TRCCR," : "$GPRMC,");
Formatter f = new Formatter(s, Locale.ENGLISH); Formatter f = new Formatter(s, Locale.ENGLISH);
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"), Locale.ENGLISH); Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"), Locale.ENGLISH);
calendar.setTimeInMillis(l.getTime()); calendar.setTimeInMillis(l.getTime());
if (extended) {
f.format("%1$tY%1$tm%1$td%1$tH%1$tM%1$tS.%1$tL,A,", calendar);
f.format("%.6f,%.6f,", l.getLatitude(), l.getLongitude());
f.format("%.2f,%.2f,", l.getSpeed() * 1.943844, l.getBearing());
f.format("%.2f,", l.getAltitude());
f.format("%.0f,", battery);
} else {
f.format("%1$tH%1$tM%1$tS.%1$tL,A,", calendar); f.format("%1$tH%1$tM%1$tS.%1$tL,A,", calendar);
double lat = l.getLatitude(); double lat = l.getLatitude();
@@ -66,6 +77,8 @@ public class Protocol {
f.format("%.2f,%.2f,", speed, l.getBearing()); f.format("%.2f,%.2f,", speed, l.getBearing());
f.format("%1$td%1$tm%1$ty,,", calendar); f.format("%1$td%1$tm%1$ty,,", calendar);
}
byte checksum = 0; byte checksum = 0;
for (byte b : s.substring(1).getBytes()) { for (byte b : s.substring(1).getBytes()) {
checksum ^= b; checksum ^= b;
+6 -2
Просмотреть файл
@@ -19,7 +19,6 @@ import java.text.DateFormat;
import java.util.Date; import java.util.Date;
import java.util.HashSet; import java.util.HashSet;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List;
import java.util.Set; import java.util.Set;
import android.app.ListActivity; import android.app.ListActivity;
@@ -32,7 +31,9 @@ import android.widget.ArrayAdapter;
public class StatusActivity extends ListActivity { public class StatusActivity extends ListActivity {
private static final List<String> messages = new LinkedList<String>(); private static final int LIMIT = 20;
private static final LinkedList<String> messages = new LinkedList<String>();
private static final Set<ArrayAdapter<String>> adapters = new HashSet<ArrayAdapter<String>>(); private static final Set<ArrayAdapter<String>> adapters = new HashSet<ArrayAdapter<String>>();
private static void notifyAdapters() { private static void notifyAdapters() {
@@ -46,6 +47,9 @@ public class StatusActivity extends ListActivity {
DateFormat format = DateFormat.getTimeInstance(DateFormat.SHORT); DateFormat format = DateFormat.getTimeInstance(DateFormat.SHORT);
message = format.format(new Date()) + " - " + message; message = format.format(new Date()) + " - " + message;
messages.add(message); messages.add(message);
while (messages.size() > LIMIT) {
messages.removeFirst();
}
notifyAdapters(); notifyAdapters();
} }
+5 -3
Просмотреть файл
@@ -1,5 +1,5 @@
/* /*
* Copyright 2012 Anton Tananaev (anton.tananaev@gmail.com) * Copyright 2012 - 2014 Anton Tananaev (anton.tananaev@gmail.com)
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@@ -42,6 +42,7 @@ public class TraccarActivity extends PreferenceActivity {
public static final String KEY_PORT = "port"; public static final String KEY_PORT = "port";
public static final String KEY_INTERVAL = "interval"; public static final String KEY_INTERVAL = "interval";
public static final String KEY_PROVIDER = "provider"; public static final String KEY_PROVIDER = "provider";
public static final String KEY_EXTENDED = "extended";
public static final String KEY_STATUS = "status"; public static final String KEY_STATUS = "status";
@Override @Override
@@ -49,6 +50,9 @@ public class TraccarActivity extends PreferenceActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences); addPreferencesFromResource(R.xml.preferences);
initPreferences(); initPreferences();
SharedPreferences sharedPreferences = getPreferenceScreen().getSharedPreferences();
if (sharedPreferences.getBoolean(KEY_STATUS, false))
startService(new Intent(this, TraccarService.class));
} }
@Override @Override
@@ -121,8 +125,6 @@ public class TraccarActivity extends PreferenceActivity {
sharedPreferences.edit().putString(KEY_ID, id).commit(); sharedPreferences.edit().putString(KEY_ID, id).commit();
} }
findPreference(KEY_ID).setSummary(sharedPreferences.getString(KEY_ID, id)); findPreference(KEY_ID).setSummary(sharedPreferences.getString(KEY_ID, id));
sharedPreferences.edit().putBoolean(KEY_STATUS, isServiceRunning()).commit();
} }
} }
+24 -12
Просмотреть файл
@@ -1,5 +1,5 @@
/* /*
* Copyright 2012 - 2013 Anton Tananaev (anton.tananaev@gmail.com) * Copyright 2012 - 2014 Anton Tananaev (anton.tananaev@gmail.com)
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@@ -15,12 +15,16 @@
*/ */
package org.traccar.client; package org.traccar.client;
import android.annotation.TargetApi;
import android.app.Service; import android.app.Service;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.location.Location; import android.location.Location;
import android.os.BatteryManager;
import android.os.Build;
import android.os.IBinder; import android.os.IBinder;
import android.os.PowerManager; import android.os.PowerManager;
import android.os.PowerManager.WakeLock; import android.os.PowerManager.WakeLock;
@@ -39,6 +43,7 @@ public class TraccarService extends Service {
private int port; private int port;
private int interval; private int interval;
private String provider; private String provider;
private boolean extended;
private SharedPreferences sharedPreferences; private SharedPreferences sharedPreferences;
private ClientController clientController; private ClientController clientController;
@@ -53,10 +58,6 @@ public class TraccarService extends Service {
PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getClass().getName()); wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getClass().getName());
wakeLock.acquire(); wakeLock.acquire();
}
public void onStart(Intent intent, int startId) {
StatusActivity.addMessage(getString(R.string.status_service_start));
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
@@ -66,6 +67,7 @@ public class TraccarService extends Service {
provider = sharedPreferences.getString(TraccarActivity.KEY_PROVIDER, null); provider = sharedPreferences.getString(TraccarActivity.KEY_PROVIDER, null);
port = Integer.valueOf(sharedPreferences.getString(TraccarActivity.KEY_PORT, null)); port = Integer.valueOf(sharedPreferences.getString(TraccarActivity.KEY_PORT, null));
interval = Integer.valueOf(sharedPreferences.getString(TraccarActivity.KEY_INTERVAL, null)); interval = Integer.valueOf(sharedPreferences.getString(TraccarActivity.KEY_INTERVAL, null));
extended = sharedPreferences.getBoolean(TraccarActivity.KEY_EXTENDED, false);
} catch (Exception error) { } catch (Exception error) {
Log.w(LOG_TAG, error); Log.w(LOG_TAG, error);
} }
@@ -79,12 +81,6 @@ public class TraccarService extends Service {
sharedPreferences.registerOnSharedPreferenceChangeListener(preferenceChangeListener); sharedPreferences.registerOnSharedPreferenceChangeListener(preferenceChangeListener);
} }
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
onStart(intent, startId);
return START_STICKY;
}
@Override @Override
public IBinder onBind(Intent intent) { public IBinder onBind(Intent intent) {
return null; return null;
@@ -109,13 +105,25 @@ public class TraccarService extends Service {
wakeLock.release(); wakeLock.release();
} }
@TargetApi(Build.VERSION_CODES.ECLAIR)
public double getBatteryLevel() {
if (android.os.Build.VERSION.SDK_INT > Build.VERSION_CODES.ECLAIR) {
Intent batteryIntent = registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
int level = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
int scale = batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE, 1);
return (level * 100.0) / scale;
} else {
return 0;
}
}
private PositionProvider.PositionListener positionListener = new PositionProvider.PositionListener() { private PositionProvider.PositionListener positionListener = new PositionProvider.PositionListener() {
@Override @Override
public void onPositionUpdate(Location location) { public void onPositionUpdate(Location location) {
if (location != null) { if (location != null) {
StatusActivity.addMessage(getString(R.string.status_location_update)); StatusActivity.addMessage(getString(R.string.status_location_update));
clientController.setNewLocation(Protocol.createLocationMessage(location)); clientController.setNewLocation(Protocol.createLocationMessage(extended, location, getBatteryLevel()));
} }
} }
@@ -156,6 +164,10 @@ public class TraccarService extends Service {
positionProvider = new PositionProvider(TraccarService.this, provider, interval * 1000, positionListener); positionProvider = new PositionProvider(TraccarService.this, provider, interval * 1000, positionListener);
positionProvider.startUpdates(); positionProvider.startUpdates();
} else if (key.equals(TraccarActivity.KEY_EXTENDED)) {
extended = sharedPreferences.getBoolean(TraccarActivity.KEY_EXTENDED, false);
} }
} catch (Exception error) { } catch (Exception error) {
Log.w(LOG_TAG, error); Log.w(LOG_TAG, error);
Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 2.7 KiB

После

Ширина:  |  Высота:  |  Размер: 3.5 KiB

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 1.2 KiB

После

Ширина:  |  Высота:  |  Размер: 1.7 KiB

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 1.7 KiB

После

Ширина:  |  Высота:  |  Размер: 2.2 KiB

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 3.6 KiB

После

Ширина:  |  Высота:  |  Размер: 4.8 KiB

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 5.3 KiB

После

Ширина:  |  Высота:  |  Размер: 7.4 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 10 KiB

+3
Просмотреть файл
@@ -8,8 +8,10 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentLeft="true" android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
android:layout_marginLeft="@dimen/about_margin" android:layout_marginLeft="@dimen/about_margin"
android:layout_marginStart="@dimen/about_margin"
android:layout_marginTop="@dimen/about_margin" android:layout_marginTop="@dimen/about_margin"
android:src="@drawable/ic_launcher" android:src="@drawable/ic_launcher"
android:contentDescription="@string/app_logo" /> android:contentDescription="@string/app_logo" />
@@ -19,6 +21,7 @@
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:layout_margin="@dimen/about_margin" android:layout_margin="@dimen/about_margin"
android:layout_toRightOf="@+id/logo" android:layout_toRightOf="@+id/logo"
android:layout_toEndOf="@+id/logo"
android:orientation="vertical" > android:orientation="vertical" >
<TextView <TextView
+3 -1
Просмотреть файл
@@ -16,6 +16,8 @@
<string name="settings_status_on">Stop</string> <string name="settings_status_on">Stop</string>
<string name="settings_status_off_summary">Zastaveno</string> <string name="settings_status_off_summary">Zastaveno</string>
<string name="settings_status_on_summary">Spuštěno</string> <string name="settings_status_on_summary">Spuštěno</string>
<string name="settings_extended_title">Rozšířené formát</string>
<string name="settings_extended_summary">Použijte nový formát zprávy</string>
<string name="settings_provider_title">Poskytovatel zaměření</string> <string name="settings_provider_title">Poskytovatel zaměření</string>
<string name="settings_provider_summary">Zdroj zaměřovacích dat</string> <string name="settings_provider_summary">Zdroj zaměřovacích dat</string>
<string-array name="settings_provider_names"> <string-array name="settings_provider_names">
@@ -33,12 +35,12 @@
<string name="about_web">Pro více informací navštivte\nwww.traccar.org/client</string> <string name="about_web">Pro více informací navštivte\nwww.traccar.org/client</string>
<string name="status_service_create">Služba vytvořena</string> <string name="status_service_create">Služba vytvořena</string>
<string name="status_service_start">Služba spuštěna</string>
<string name="status_service_destroy">Služba zastavena</string> <string name="status_service_destroy">Služba zastavena</string>
<string name="status_connection_success">Spojení se zdařilo</string> <string name="status_connection_success">Spojení se zdařilo</string>
<string name="status_connection_fail">Spojení selhalo</string> <string name="status_connection_fail">Spojení selhalo</string>
<string name="status_send_fail">Odesílání selhalo</string> <string name="status_send_fail">Odesílání selhalo</string>
<string name="status_location_update">Aktualizace pozice</string> <string name="status_location_update">Aktualizace pozice</string>
<string name="status_preference_update">Aktualizace nastavení</string> <string name="status_preference_update">Aktualizace nastavení</string>
<string name="status_connectivity_change">Změna připojení</string>
</resources> </resources>
+46
Просмотреть файл
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Traccar klient</string>
<string name="app_logo">Traccar</string>
<string name="settings_id_title">Indentificere Enhed</string>
<string name="settings_address_title">Server adresse</string>
<string name="settings_address_summary">Domænenavn eller IP adresse</string>
<string name="settings_port_title">Server port</string>
<string name="settings_port_summary">Tracking server TCP port</string>
<string name="settings_interval_title">Tracking interval</string>
<string name="settings_interval_summary">Besked interval i sekunder</string>
<string name="settings_status_title">Service status</string>
<string name="settings_status_off">Start</string>
<string name="settings_status_on">Stop</string>
<string name="settings_status_off_summary">Service stoppet</string>
<string name="settings_status_on_summary">Service er aktiv</string>
<string name="settings_extended_title">Udvidet format</string>
<string name="settings_extended_summary">Brug ny besked format</string>
<string name="settings_provider_title">Udbyder</string>
<string name="settings_provider_summary">Udbyder lokaliseringsdata</string>
<string-array name="settings_provider_names">
<item>GPS udbyder</item>
<item>Netværks udbyder</item>
<item>Mixet udbyder</item>
</string-array>
<string name="menu_status">Status</string>
<string name="menu_about">Om</string>
<string name="menu_clear">Tilbage</string>
<string name="about_description">Real tid`s GPS tracker for Android enheder. Kompatibel med Traccar Server og andre tracking systemer.</string>
<string name="about_license">Denne application er en fri og open source, source koden er licenseret under Apache License Version 2.0 og tilgængelig på GitHub.</string>
<string name="about_web">For mere information besøg\nwww.traccar.org/client</string>
<string name="status_service_create">Service oprettet</string>
<string name="status_service_destroy">Service ødelagt</string>
<string name="status_connection_success">Forbindelse lykkedes</string>
<string name="status_connection_fail">Forbindelse fejlet</string>
<string name="status_send_fail">Send fejl</string>
<string name="status_location_update">Placering opdateret</string>
<string name="status_preference_update">Oplysninger opdateret</string>
<string name="status_connectivity_change">Connectivity forandring</string>
</resources>
+3 -1
Просмотреть файл
@@ -16,6 +16,8 @@
<string name="settings_status_on">Stop</string> <string name="settings_status_on">Stop</string>
<string name="settings_status_off_summary">Dienst inaktiv</string> <string name="settings_status_off_summary">Dienst inaktiv</string>
<string name="settings_status_on_summary">Dienst aktiv</string> <string name="settings_status_on_summary">Dienst aktiv</string>
<string name="settings_extended_title">Erweitertes Format</string>
<string name="settings_extended_summary">Verwenden Sie das neue Nachrichtenformat</string>
<string name="settings_provider_title">Datenherkunft</string> <string name="settings_provider_title">Datenherkunft</string>
<string name="settings_provider_summary">Quelle der Positionen</string> <string name="settings_provider_summary">Quelle der Positionen</string>
<string-array name="settings_provider_names"> <string-array name="settings_provider_names">
@@ -33,12 +35,12 @@
<string name="about_web">Für weitere Informationen besuche uns auf \nwww.traccar.org/client</string> <string name="about_web">Für weitere Informationen besuche uns auf \nwww.traccar.org/client</string>
<string name="status_service_create">Dienst installiert</string> <string name="status_service_create">Dienst installiert</string>
<string name="status_service_start">Dienst gestartet</string>
<string name="status_service_destroy">Dienst zerstört</string> <string name="status_service_destroy">Dienst zerstört</string>
<string name="status_connection_success">Verbindung erfolgreich</string> <string name="status_connection_success">Verbindung erfolgreich</string>
<string name="status_connection_fail">Verbindung fehlerhaft</string> <string name="status_connection_fail">Verbindung fehlerhaft</string>
<string name="status_send_fail">Übertragung fehlerhaft</string> <string name="status_send_fail">Übertragung fehlerhaft</string>
<string name="status_location_update">Positionsupdate</string> <string name="status_location_update">Positionsupdate</string>
<string name="status_preference_update">Prioritätsupdate</string> <string name="status_preference_update">Prioritätsupdate</string>
<string name="status_connectivity_change">Anschlusswechsel</string>
</resources> </resources>
+3 -1
Просмотреть файл
@@ -16,6 +16,8 @@
<string name="settings_status_on">Desactivado</string> <string name="settings_status_on">Desactivado</string>
<string name="settings_status_off_summary">Servicio parado</string> <string name="settings_status_off_summary">Servicio parado</string>
<string name="settings_status_on_summary">Servicio activado</string> <string name="settings_status_on_summary">Servicio activado</string>
<string name="settings_extended_title">Formato extendido</string>
<string name="settings_extended_summary">Utilice el nuevo formato de mensaje</string>
<string name="settings_provider_title">Proveedor de localización</string> <string name="settings_provider_title">Proveedor de localización</string>
<string name="settings_provider_summary">Fuente de los datos de localización</string> <string name="settings_provider_summary">Fuente de los datos de localización</string>
<string-array name="settings_provider_names"> <string-array name="settings_provider_names">
@@ -33,12 +35,12 @@
<string name="about_web">Para más información visite\nwww.traccar.org/client</string> <string name="about_web">Para más información visite\nwww.traccar.org/client</string>
<string name="status_service_create">Servicio creado</string> <string name="status_service_create">Servicio creado</string>
<string name="status_service_start">Service arrancado</string>
<string name="status_service_destroy">Servicio destruído</string> <string name="status_service_destroy">Servicio destruído</string>
<string name="status_connection_success">Conexión realizada</string> <string name="status_connection_success">Conexión realizada</string>
<string name="status_connection_fail">Fallo en la conexión</string> <string name="status_connection_fail">Fallo en la conexión</string>
<string name="status_send_fail">Erro en el envío</string> <string name="status_send_fail">Erro en el envío</string>
<string name="status_location_update">Posición actualizada</string> <string name="status_location_update">Posición actualizada</string>
<string name="status_preference_update">Preferencias actualizadas</string> <string name="status_preference_update">Preferencias actualizadas</string>
<string name="status_connectivity_change">Cambio conectividad</string>
</resources> </resources>
+3 -1
Просмотреть файл
@@ -16,6 +16,8 @@
<string name="settings_status_on">Arrêter</string> <string name="settings_status_on">Arrêter</string>
<string name="settings_status_off_summary">Arrêté</string> <string name="settings_status_off_summary">Arrêté</string>
<string name="settings_status_on_summary">En marche</string> <string name="settings_status_on_summary">En marche</string>
<string name="settings_extended_title">Format étendu</string>
<string name="settings_extended_summary">Utilisez un nouveau format de message</string>
<string name="settings_provider_title">Source de localisation</string> <string name="settings_provider_title">Source de localisation</string>
<string name="settings_provider_summary">Source utilisée par le système afin d\'obtenir la localisation de l\'appareil</string> <string name="settings_provider_summary">Source utilisée par le système afin d\'obtenir la localisation de l\'appareil</string>
<string-array name="settings_provider_names"> <string-array name="settings_provider_names">
@@ -33,12 +35,12 @@
<string name="about_web">Pour plus dinformation, visitez le site: \nwww.traccar.org/client</string> <string name="about_web">Pour plus dinformation, visitez le site: \nwww.traccar.org/client</string>
<string name="status_service_create">Service créé</string> <string name="status_service_create">Service créé</string>
<string name="status_service_start">Service démarré</string>
<string name="status_service_destroy">Service supprimé</string> <string name="status_service_destroy">Service supprimé</string>
<string name="status_connection_success">Connexion établie avec le serveur</string> <string name="status_connection_success">Connexion établie avec le serveur</string>
<string name="status_connection_fail">Echec de la connexion au serveur</string> <string name="status_connection_fail">Echec de la connexion au serveur</string>
<string name="status_send_fail">Lenvoi de localisation a échoué</string> <string name="status_send_fail">Lenvoi de localisation a échoué</string>
<string name="status_location_update">Localisation mise à jour</string> <string name="status_location_update">Localisation mise à jour</string>
<string name="status_preference_update">Mise à jour des préférences</string> <string name="status_preference_update">Mise à jour des préférences</string>
<string name="status_connectivity_change">Changement de connectivité</string>
</resources> </resources>
+46
Просмотреть файл
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Traccar Klient</string>
<string name="app_logo">Traccar</string>
<string name="settings_id_title">Enhetsidentifikasjon</string>
<string name="settings_address_title">Tjeneradresse</string>
<string name="settings_address_summary">Domenenavn eller IP-adresse</string>
<string name="settings_port_title">Tjenerport</string>
<string name="settings_port_summary">TCP-port til sporingstjener</string>
<string name="settings_interval_title">Frekvens</string>
<string name="settings_interval_summary">Beskjedintervall i sekunder</string>
<string name="settings_status_title">Tjeneste-status</string>
<string name="settings_status_off">Start</string>
<string name="settings_status_on">Stopp</string>
<string name="settings_status_off_summary">Tjenesten stoppet</string>
<string name="settings_status_on_summary">Tjenesten kjører</string>
<string name="settings_extended_title">Utvidet format</string>
<string name="settings_extended_summary">Bruk det nye utvidede formatet</string>
<string name="settings_provider_title">Lokaliseringsleverandør</string>
<string name="settings_provider_summary">Kilde for lokaliseringsdata</string>
<string-array name="settings_provider_names">
<item>GPS-lokalisering</item>
<item>Nettverkslokalisering</item>
<item>Blandet lokalisering</item>
</string-array>
<string name="menu_status">Status</string>
<string name="menu_about">Om</string>
<string name="menu_clear">Tøm</string>
<string name="about_description">Sanntids GPS-sporing for Android-enheter. Kompatible med Traccar Server og andre sporingssystemer.</string>
<string name="about_license">Dette programmet har fri og åpen kildekode; kildekoden er lisensiert under Apache License Version 2.0 og er tilgjengelig på GitHub.</string>
<string name="about_web">For mer informasjon besøk\nwww.traccar.org/client</string>
<string name="status_service_create">Tjeneste opprettet</string>
<string name="status_service_destroy">Tjeneste ødelagt</string>
<string name="status_connection_success">Tilkobling var vellykket</string>
<string name="status_connection_fail">Tilkobling mislyktes</string>
<string name="status_send_fail">Sending mislyktes</string>
<string name="status_location_update">Plassering oppdatert</string>
<string name="status_preference_update">Innstillinger oppdatert</string>
<string name="status_connectivity_change">Tilkobling forandret</string>
</resources>
+3 -1
Просмотреть файл
@@ -16,6 +16,8 @@
<string name="settings_status_on">Parar</string> <string name="settings_status_on">Parar</string>
<string name="settings_status_off_summary">Serviço Parado</string> <string name="settings_status_off_summary">Serviço Parado</string>
<string name="settings_status_on_summary">Serviço em execução</string> <string name="settings_status_on_summary">Serviço em execução</string>
<string name="settings_extended_title">Formato prolongado</string>
<string name="settings_extended_summary">Use o formato de mensagem nova</string>
<string name="settings_provider_title">Provedor de localização</string> <string name="settings_provider_title">Provedor de localização</string>
<string name="settings_provider_summary">Fonte dos dados de localização</string> <string name="settings_provider_summary">Fonte dos dados de localização</string>
<string-array name="settings_provider_names"> <string-array name="settings_provider_names">
@@ -33,12 +35,12 @@
<string name="about_web">Para mais informações visite\nwww.traccar.org/client</string> <string name="about_web">Para mais informações visite\nwww.traccar.org/client</string>
<string name="status_service_create">Serviço criado</string> <string name="status_service_create">Serviço criado</string>
<string name="status_service_start">Serviço iniciado</string>
<string name="status_service_destroy">Serviço destruído</string> <string name="status_service_destroy">Serviço destruído</string>
<string name="status_connection_success">Sucesso na conexão</string> <string name="status_connection_success">Sucesso na conexão</string>
<string name="status_connection_fail">Falha na conexão</string> <string name="status_connection_fail">Falha na conexão</string>
<string name="status_send_fail">Falha no envio</string> <string name="status_send_fail">Falha no envio</string>
<string name="status_location_update">Localização atualizada</string> <string name="status_location_update">Localização atualizada</string>
<string name="status_preference_update">Preferências atualizadas</string> <string name="status_preference_update">Preferências atualizadas</string>
<string name="status_connectivity_change">Mudança de conectividade</string>
</resources> </resources>
+3 -1
Просмотреть файл
@@ -16,6 +16,8 @@
<string name="settings_status_on">Стоп</string> <string name="settings_status_on">Стоп</string>
<string name="settings_status_off_summary">Сервис остановлен</string> <string name="settings_status_off_summary">Сервис остановлен</string>
<string name="settings_status_on_summary">Сервис запущен</string> <string name="settings_status_on_summary">Сервис запущен</string>
<string name="settings_extended_title">Расширенный формат</string>
<string name="settings_extended_summary">Использовать новый формат сообщений</string>
<string name="settings_provider_title">Провайдер местоположения</string> <string name="settings_provider_title">Провайдер местоположения</string>
<string name="settings_provider_summary">Источник данных о местоположении</string> <string name="settings_provider_summary">Источник данных о местоположении</string>
<string-array name="settings_provider_names"> <string-array name="settings_provider_names">
@@ -33,12 +35,12 @@
<string name="about_web">Для получения дополнительной информации посетите\nwww.traccar.org/client</string> <string name="about_web">Для получения дополнительной информации посетите\nwww.traccar.org/client</string>
<string name="status_service_create">Сервис создан</string> <string name="status_service_create">Сервис создан</string>
<string name="status_service_start">Сервис запущен</string>
<string name="status_service_destroy">Сервис удален</string> <string name="status_service_destroy">Сервис удален</string>
<string name="status_connection_success">Соедниение установлено</string> <string name="status_connection_success">Соедниение установлено</string>
<string name="status_connection_fail">Ошибка установки соединения</string> <string name="status_connection_fail">Ошибка установки соединения</string>
<string name="status_send_fail">Ошибка отправки</string> <string name="status_send_fail">Ошибка отправки</string>
<string name="status_location_update">Обновление местоположения</string> <string name="status_location_update">Обновление местоположения</string>
<string name="status_preference_update">Обновление настроек</string> <string name="status_preference_update">Обновление настроек</string>
<string name="status_connectivity_change">Изменение подключения</string>
</resources> </resources>
+46
Просмотреть файл
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Traccar klijent</string>
<string name="app_logo">Traccar</string>
<string name="settings_id_title">Identifikator uređaja</string>
<string name="settings_address_title">Adresa servera</string>
<string name="settings_address_summary">Domen ime ili IP adresa</string>
<string name="settings_port_title">Server port</string>
<string name="settings_port_summary">TCP port servera</string>
<string name="settings_interval_title">Učestalost</string>
<string name="settings_interval_summary">Interval podataka u sekundama</string>
<string name="settings_status_title">Status servisa</string>
<string name="settings_status_off">Start</string>
<string name="settings_status_on">Stop</string>
<string name="settings_status_off_summary">Servis zaustavljen</string>
<string name="settings_status_on_summary">Servis pokrenut</string>
<string name="settings_extended_title">Produžen format</string>
<string name="settings_extended_summary">Koristi novi format za poruke</string>
<string name="settings_provider_title">Provajder lokacije</string>
<string name="settings_provider_summary">Izvor lokacijskih podataka</string>
<string-array name="settings_provider_names">
<item>GPS provajder</item>
<item>Provajder Mreže</item>
<item>Oba zajedno provajdera</item>
</string-array>
<string name="menu_status">Status</string>
<string name="menu_about">O klijentu</string>
<string name="menu_clear">Očisti</string>
<string name="about_description">GPS tracker za Android telefone. GPS satelit kompatibilno.</string>
<string name="about_license">Ova aplikacija je besplatna i open source,izvorni kod je licenciran pod Apache License Version 2.0 i dostupan na GitHub</string>
<string name="about_web">"Za više informacija www.traccar.org/client "</string>
<string name="status_service_create">Servis kreiran</string>
<string name="status_service_destroy">Servis uništen</string>
<string name="status_connection_success">Konekcija uspešna</string>
<string name="status_connection_fail">Konekcija neuspešna</string>
<string name="status_send_fail">Slanje neuspešno</string>
<string name="status_location_update">Ažuriranje lokacije</string>
<string name="status_preference_update">Ažuriranje preferenci</string>
<string name="status_connectivity_change">Promenjena konekcija</string>
</resources>
+7
Просмотреть файл
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="TraccarTheme" parent="android:Theme.Holo.Light">
</style>
</resources>
+7
Просмотреть файл
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="TraccarTheme" parent="android:Theme.Material.Light">
</style>
</resources>
+4 -1
Просмотреть файл
@@ -16,6 +16,8 @@
<string name="settings_status_on">Stop</string> <string name="settings_status_on">Stop</string>
<string name="settings_status_off_summary">Service stopped</string> <string name="settings_status_off_summary">Service stopped</string>
<string name="settings_status_on_summary">Service running</string> <string name="settings_status_on_summary">Service running</string>
<string name="settings_extended_title">Extended format</string>
<string name="settings_extended_summary">Use new message format</string>
<string name="settings_provider_title">Location provider</string> <string name="settings_provider_title">Location provider</string>
<string name="settings_provider_summary">Source of location data</string> <string name="settings_provider_summary">Source of location data</string>
<string-array name="settings_provider_names"> <string-array name="settings_provider_names">
@@ -33,12 +35,13 @@
<string name="about_web">For more information visit\nwww.traccar.org/client</string> <string name="about_web">For more information visit\nwww.traccar.org/client</string>
<string name="status_service_create">Service created</string> <string name="status_service_create">Service created</string>
<string name="status_service_start">Service started</string>
<string name="status_service_destroy">Service destroyed</string> <string name="status_service_destroy">Service destroyed</string>
<string name="status_connection_success">Connection succeeded</string> <string name="status_connection_success">Connection succeeded</string>
<string name="status_connection_fail">Connection failed</string> <string name="status_connection_fail">Connection failed</string>
<string name="status_send_fail">Send failed</string> <string name="status_send_fail">Send failed</string>
<string name="status_location_update">Location update</string> <string name="status_location_update">Location update</string>
<string name="status_preference_update">Preference update</string> <string name="status_preference_update">Preference update</string>
<string name="status_connectivity_change">Connectivity change</string>
<string name="status_provider_missing">Missing location provider</string>
</resources> </resources>
+7
Просмотреть файл
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="TraccarTheme" parent="android:Theme.Light">
</style>
</resources>
+6
Просмотреть файл
@@ -33,6 +33,12 @@
android:summary="@string/settings_provider_summary" android:summary="@string/settings_provider_summary"
android:title="@string/settings_provider_title" /> android:title="@string/settings_provider_title" />
<CheckBoxPreference
android:defaultValue="false"
android:key="extended"
android:summary="@string/settings_extended_summary"
android:title="@string/settings_extended_title" />
<SwitchPreference <SwitchPreference
android:defaultValue="false" android:defaultValue="false"
android:key="status" android:key="status"
+6
Просмотреть файл
@@ -33,6 +33,12 @@
android:summary="@string/settings_provider_summary" android:summary="@string/settings_provider_summary"
android:title="@string/settings_provider_title" /> android:title="@string/settings_provider_title" />
<CheckBoxPreference
android:defaultValue="false"
android:key="extended"
android:summary="@string/settings_extended_summary"
android:title="@string/settings_extended_title" />
<CheckBoxPreference <CheckBoxPreference
android:defaultValue="false" android:defaultValue="false"
android:key="status" android:key="status"
+60 -44
Просмотреть файл
@@ -1,13 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" type="JAVA_MODULE" version="4"> <module external.linked.project.id=":traccar-client" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="traccar-client-android" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
<component name="FacetManager"> <component name="FacetManager">
<facet type="android-gradle" name="Android-Gradle">
<configuration>
<option name="GRADLE_PROJECT_PATH" value=":traccar-client" />
</configuration>
</facet>
<facet type="android" name="Android"> <facet type="android" name="Android">
<configuration> <configuration>
<option name="SELECTED_BUILD_VARIANT" value="Debug" /> <option name="SELECTED_BUILD_VARIANT" value="debug" />
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" /> <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebug" /> <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleTest" />
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" /> <option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugAndroidTest" />
<option name="COMPILE_JAVA_TEST_TASK_NAME" value="compileDebugAndroidTestSources" />
<option name="TEST_SOURCE_GEN_TASK_NAME" value="generateDebugAndroidTestSources" />
<option name="ALLOW_USER_CONFIGURATION" value="false" /> <option name="ALLOW_USER_CONFIGURATION" value="false" />
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" /> <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" /> <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
@@ -15,60 +23,68 @@
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" /> <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
</configuration> </configuration>
</facet> </facet>
<facet type="android-gradle" name="Android-Gradle">
<configuration>
<option name="GRADLE_PROJECT_PATH" value=":traccar-client" />
</configuration>
</facet>
</component> </component>
<component name="NewModuleRootManager" inherit-compiler-output="false"> <component name="NewModuleRootManager" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/build/classes/debug" /> <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/androidTest/debug" />
<exclude-output /> <exclude-output />
<content url="file://$MODULE_DIR$"> <content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/build/source/r/debug" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/aidl/debug" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/rs/debug" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/debug" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/res/rs/debug" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/source/r/test" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/build/generated/res/generated/debug" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/source/aidl/test" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/rs/test" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/test" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/res/rs/test" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/generated/androidTest/debug" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/resources" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/res" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/aidl" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/assets" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/java" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/jni" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/rs" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/res" isTestSource="true" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/resources" isTestSource="true" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
<excludeFolder url="file://$MODULE_DIR$/build/apk" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/assets" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/coverage-instrumented-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/bundles" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
<excludeFolder url="file://$MODULE_DIR$/build/classes" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" />
<excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex-cache" />
<excludeFolder url="file://$MODULE_DIR$/build/incremental" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/libs" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jacoco" />
<excludeFolder url="file://$MODULE_DIR$/build/manifests" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaResources" />
<excludeFolder url="file://$MODULE_DIR$/build/symbols" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/libs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/ndk" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/proguard" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" /> <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content> </content>
<orderEntry type="jdk" jdkName="Android 4.2.2 Platform" jdkType="Android SDK" /> <orderEntry type="jdk" jdkName="Android API 22 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
</component> </component>
</module> </module>