Этот коммит содержится в:
Anton Tananaev
2015-08-12 19:36:31 +12:00
родитель 5591bec9e9
Коммит 59037d5fb1
5 изменённых файлов: 42 добавлений и 46 удалений
+5 -5
Просмотреть файл
@@ -11,22 +11,22 @@
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher" android:allowBackup="true" android:theme="@style/TraccarTheme"> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher" android:allowBackup="true" android:theme="@style/TraccarTheme">
<activity android:name="TraccarActivity"> <activity android:name=".MainActivity">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
</activity> </activity>
<activity android:name="StatusActivity"> <activity android:name=".StatusActivity">
</activity> </activity>
<activity android:name="AboutActivity"> <activity android:name=".AboutActivity">
</activity> </activity>
<service android:name="TraccarService" /> <service android:name=".TraccarService" />
<receiver android:name="AutostartReceiver"> <receiver android:name=".AutostartReceiver">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter> </intent-filter>
+1 -1
Просмотреть файл
@@ -28,7 +28,7 @@ public class AutostartReceiver extends BroadcastReceiver {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
if (sharedPreferences.getBoolean(TraccarActivity.KEY_STATUS, false)) { if (sharedPreferences.getBoolean(MainActivity.KEY_STATUS, false)) {
context.startService(new Intent(context, TraccarService.class)); context.startService(new Intent(context, TraccarService.class));
} }
} }
@@ -28,7 +28,7 @@ import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
public class TraccarActivity extends PreferenceActivity { public class MainActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener {
public static final String LOG_TAG = "traccar"; public static final String LOG_TAG = "traccar";
@@ -45,23 +45,21 @@ 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 (getPreferenceScreen().getSharedPreferences().getBoolean(KEY_STATUS, false)) {
if (sharedPreferences.getBoolean(KEY_STATUS, false))
startService(new Intent(this, TraccarService.class)); startService(new Intent(this, TraccarService.class));
} }
}
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener( getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
preferenceChangeListener);
} }
@Override @Override
protected void onPause() { protected void onPause() {
getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(
preferenceChangeListener);
super.onPause(); super.onPause();
getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
} }
private void setPreferencesEnabled(boolean enabled) { private void setPreferencesEnabled(boolean enabled) {
@@ -74,22 +72,20 @@ public class TraccarActivity extends PreferenceActivity {
preferenceScreen.findPreference(KEY_EXTENDED).setEnabled(enabled); preferenceScreen.findPreference(KEY_EXTENDED).setEnabled(enabled);
} }
OnSharedPreferenceChangeListener preferenceChangeListener = new OnSharedPreferenceChangeListener() {
@Override @Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (key.equals(KEY_STATUS)) { if (key.equals(KEY_STATUS)) {
if (sharedPreferences.getBoolean(KEY_STATUS, false)) { if (sharedPreferences.getBoolean(KEY_STATUS, false)) {
setPreferencesEnabled(false); setPreferencesEnabled(false);
startService(new Intent(TraccarActivity.this, TraccarService.class)); startService(new Intent(this, TraccarService.class));
} else { } else {
stopService(new Intent(TraccarActivity.this, TraccarService.class)); stopService(new Intent(this, TraccarService.class));
setPreferencesEnabled(true); setPreferencesEnabled(true);
} }
} else if (key.equals(KEY_ID)) { } else if (key.equals(KEY_ID)) {
findPreference(KEY_ID).setSummary(sharedPreferences.getString(KEY_ID, null)); findPreference(KEY_ID).setSummary(sharedPreferences.getString(KEY_ID, null));
} }
} }
};
@Override @Override
public boolean onCreateOptionsMenu(Menu menu) { public boolean onCreateOptionsMenu(Menu menu) {
+1 -1
Просмотреть файл
@@ -43,7 +43,7 @@ public class StatusActivity extends ListActivity {
} }
public static void addMessage(String message) { public static void addMessage(String message) {
Log.i(TraccarActivity.LOG_TAG, message); Log.i(MainActivity.LOG_TAG, message);
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);
+18 -18
Просмотреть файл
@@ -62,12 +62,12 @@ public class TraccarService extends Service {
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
try { try {
id = sharedPreferences.getString(TraccarActivity.KEY_ID, null); id = sharedPreferences.getString(MainActivity.KEY_ID, null);
address = sharedPreferences.getString(TraccarActivity.KEY_ADDRESS, null); address = sharedPreferences.getString(MainActivity.KEY_ADDRESS, null);
provider = sharedPreferences.getString(TraccarActivity.KEY_PROVIDER, null); provider = sharedPreferences.getString(MainActivity.KEY_PROVIDER, null);
port = Integer.valueOf(sharedPreferences.getString(TraccarActivity.KEY_PORT, null)); port = Integer.valueOf(sharedPreferences.getString(MainActivity.KEY_PORT, null));
interval = Integer.valueOf(sharedPreferences.getString(TraccarActivity.KEY_INTERVAL, null)); interval = Integer.valueOf(sharedPreferences.getString(MainActivity.KEY_INTERVAL, null));
extended = sharedPreferences.getBoolean(TraccarActivity.KEY_EXTENDED, false); extended = sharedPreferences.getBoolean(MainActivity.KEY_EXTENDED, false);
} catch (Exception error) { } catch (Exception error) {
Log.w(LOG_TAG, error); Log.w(LOG_TAG, error);
} }
@@ -135,38 +135,38 @@ public class TraccarService extends Service {
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
StatusActivity.addMessage(getString(R.string.status_preference_update)); StatusActivity.addMessage(getString(R.string.status_preference_update));
try { try {
if (key.equals(TraccarActivity.KEY_ADDRESS)) { if (key.equals(MainActivity.KEY_ADDRESS)) {
address = sharedPreferences.getString(TraccarActivity.KEY_ADDRESS, null); address = sharedPreferences.getString(MainActivity.KEY_ADDRESS, null);
clientController.setNewServer(address, port); clientController.setNewServer(address, port);
} else if (key.equals(TraccarActivity.KEY_PORT)) { } else if (key.equals(MainActivity.KEY_PORT)) {
port = Integer.valueOf(sharedPreferences.getString(TraccarActivity.KEY_PORT, null)); port = Integer.valueOf(sharedPreferences.getString(MainActivity.KEY_PORT, null));
clientController.setNewServer(address, port); clientController.setNewServer(address, port);
} else if (key.equals(TraccarActivity.KEY_INTERVAL)) { } else if (key.equals(MainActivity.KEY_INTERVAL)) {
interval = Integer.valueOf(sharedPreferences.getString(TraccarActivity.KEY_INTERVAL, null)); interval = Integer.valueOf(sharedPreferences.getString(MainActivity.KEY_INTERVAL, null));
positionProvider.stopUpdates(); positionProvider.stopUpdates();
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_ID)) { } else if (key.equals(MainActivity.KEY_ID)) {
id = sharedPreferences.getString(TraccarActivity.KEY_ID, null); id = sharedPreferences.getString(MainActivity.KEY_ID, null);
clientController.setNewLogin(ProtocolFormatter.createLoginMessage(id)); clientController.setNewLogin(ProtocolFormatter.createLoginMessage(id));
} else if (key.equals(TraccarActivity.KEY_PROVIDER)) { } else if (key.equals(MainActivity.KEY_PROVIDER)) {
provider = sharedPreferences.getString(TraccarActivity.KEY_PROVIDER, null); provider = sharedPreferences.getString(MainActivity.KEY_PROVIDER, null);
positionProvider.stopUpdates(); positionProvider.stopUpdates();
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)) { } else if (key.equals(MainActivity.KEY_EXTENDED)) {
extended = sharedPreferences.getBoolean(TraccarActivity.KEY_EXTENDED, false); extended = sharedPreferences.getBoolean(MainActivity.KEY_EXTENDED, false);
} }
} catch (Exception error) { } catch (Exception error) {