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

..
22 Коммитов
Автор SHA1 Сообщение Дата
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
34 изменённых файлов: 400 добавлений и 117 удалений
Generated
+1 -1
Просмотреть файл
@@ -1 +1 @@
traccar-client traccar-client-android
+1 -3
Просмотреть файл
@@ -1,5 +1,3 @@
<component name="CopyrightManager"> <component name="CopyrightManager">
<settings default=""> <settings default="" />
<module2copyright />
</settings>
</component> </component>
+6
Просмотреть файл
@@ -5,6 +5,12 @@
<GradleProjectSettings> <GradleProjectSettings>
<option name="distributionType" value="DEFAULT_WRAPPED" /> <option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/traccar-client" />
</set>
</option>
</GradleProjectSettings> </GradleProjectSettings>
</option> </option>
</component> </component>
+4 -17
Просмотреть файл
@@ -1,23 +1,10 @@
<?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">
<output url="file://$PROJECT_DIR$/build/classes" /> <entry_points version="2.0" />
</component> </component>
<component name="masterDetails"> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="JDK" project-jdk-type="JavaSDK">
<states> <output url="file://$PROJECT_DIR$/build/classes" />
<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>
Generated
-1
Просмотреть файл
@@ -2,7 +2,6 @@
<project version="4"> <project version="4">
<component name="VcsDirectoryMappings"> <component name="VcsDirectoryMappings">
<mapping directory="" vcs="" /> <mapping directory="" vcs="" />
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component> </component>
</project> </project>
+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:0.9.+'
}
}
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 #Thu May 15 23:13:59 NZST 2014
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=http\://services.gradle.org/distributions/gradle-1.11-all.zip
+1 -1
Просмотреть файл
@@ -1,5 +1,5 @@
<?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.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="NewModuleRootManager" inherit-compiler-output="true"> <component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output /> <exclude-output />
<content url="file://$MODULE_DIR$"> <content url="file://$MODULE_DIR$">
+22 -15
Просмотреть файл
@@ -1,24 +1,31 @@
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
apply plugin: 'android' apply plugin: 'android'
repositories {
mavenCentral()
}
android { android {
compileSdkVersion 17 compileSdkVersion 19
buildToolsVersion "17.0.0" buildToolsVersion "19.0.3"
defaultConfig { defaultConfig {
minSdkVersion 3 minSdkVersion 3
targetSdkVersion 18 targetSdkVersion 19
versionCode 20
versionName "3.0"
}
signingConfigs {
release {
storeFile file('/home/user/Documents/android.keystore')
keyAlias "tananaev"
storePassword ""
keyPassword ""
}
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
signingConfig signingConfigs.release
}
} }
} }
+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);
} }
+2 -5
Просмотреть файл
@@ -1,5 +1,5 @@
/* /*
* Copyright 2013 Anton Tananaev (anton.tananaev@gmail.com) * Copyright 2013 - 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.
@@ -35,8 +35,6 @@ 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;
@@ -46,8 +44,7 @@ public class PositionProvider {
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;
+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);
+3
Просмотреть файл
@@ -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">
@@ -40,5 +42,6 @@
<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>
+47
Просмотреть файл
@@ -0,0 +1,47 @@
<?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_start">Service startet</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
Просмотреть файл
@@ -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">Erweiterte Format</string>
<string name="settings_extended_summary">Verwenden Sie 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">
@@ -40,5 +42,6 @@
<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
Просмотреть файл
@@ -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">
@@ -40,5 +42,6 @@
<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
Просмотреть файл
@@ -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">
@@ -40,5 +42,6 @@
<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>
+47
Просмотреть файл
@@ -0,0 +1,47 @@
<?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_start">Tjeneste startet</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
Просмотреть файл
@@ -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">
@@ -40,5 +42,6 @@
<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
Просмотреть файл
@@ -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">
@@ -40,5 +42,6 @@
<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>
+47
Просмотреть файл
@@ -0,0 +1,47 @@
<?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_start">Servis pokrenut</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>
+3
Просмотреть файл
@@ -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">
@@ -40,5 +42,6 @@
<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>
</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"
+32 -31
Просмотреть файл
@@ -1,12 +1,17 @@
<?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.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="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="compileDebugJava" />
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleTest" /> <option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugTest" />
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" /> <option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
<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" />
@@ -15,47 +20,42 @@
<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/classes/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/source/r/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/aidl/debug" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/build/source/aidl/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/rs/debug" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/debug" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/build/source/rs/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/res/rs/debug" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/build/res/rs/debug" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/source/r/test" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/build/source/r/test/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/aidl/test" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/build/source/aidl/test/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/rs/test" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/test/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/test" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/build/source/rs/test/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/res/rs/test" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/build/res/rs/test/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/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/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/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/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/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/assets" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" 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" />
<sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/resources" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/apk" /> <excludeFolder url="file://$MODULE_DIR$/build/apk" />
<excludeFolder url="file://$MODULE_DIR$/build/assets" /> <excludeFolder url="file://$MODULE_DIR$/build/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/bundles" /> <excludeFolder url="file://$MODULE_DIR$/build/bundles" />
@@ -64,10 +64,11 @@
<excludeFolder url="file://$MODULE_DIR$/build/incremental" /> <excludeFolder url="file://$MODULE_DIR$/build/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/libs" /> <excludeFolder url="file://$MODULE_DIR$/build/libs" />
<excludeFolder url="file://$MODULE_DIR$/build/manifests" /> <excludeFolder url="file://$MODULE_DIR$/build/manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/res" />
<excludeFolder url="file://$MODULE_DIR$/build/symbols" /> <excludeFolder url="file://$MODULE_DIR$/build/symbols" />
<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 19 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
</component> </component>
</module> </module>