diff --git a/app/src/main/java/org/traccar/client/TraccarActivity.java b/app/src/main/java/org/traccar/client/TraccarActivity.java
index 60d5ac4..73c6f8c 100644
--- a/app/src/main/java/org/traccar/client/TraccarActivity.java
+++ b/app/src/main/java/org/traccar/client/TraccarActivity.java
@@ -24,6 +24,7 @@ import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
+import android.preference.PreferenceScreen;
import android.telephony.TelephonyManager;
import android.view.Menu;
import android.view.MenuInflater;
@@ -69,14 +70,26 @@ public class TraccarActivity extends PreferenceActivity {
super.onPause();
}
+ private void setPreferencesEnabled(boolean enabled) {
+ PreferenceScreen preferenceScreen = getPreferenceScreen();
+ preferenceScreen.findPreference(KEY_ID).setEnabled(enabled);
+ preferenceScreen.findPreference(KEY_ADDRESS).setEnabled(enabled);
+ preferenceScreen.findPreference(KEY_PORT).setEnabled(enabled);
+ preferenceScreen.findPreference(KEY_INTERVAL).setEnabled(enabled);
+ preferenceScreen.findPreference(KEY_PROVIDER).setEnabled(enabled);
+ preferenceScreen.findPreference(KEY_EXTENDED).setEnabled(enabled);
+ }
+
OnSharedPreferenceChangeListener preferenceChangeListener = new OnSharedPreferenceChangeListener() {
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (key.equals(KEY_STATUS)) {
if (sharedPreferences.getBoolean(KEY_STATUS, false)) {
+ setPreferencesEnabled(false);
startService(new Intent(TraccarActivity.this, TraccarService.class));
} else {
stopService(new Intent(TraccarActivity.this, TraccarService.class));
+ setPreferencesEnabled(true);
}
} else if (key.equals(KEY_ID)) {
findPreference(KEY_ID).setSummary(sharedPreferences.getString(KEY_ID, null));
@@ -86,8 +99,7 @@ public class TraccarActivity extends PreferenceActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.main, menu);
+ getMenuInflater().inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
@@ -103,16 +115,6 @@ public class TraccarActivity extends PreferenceActivity {
return super.onOptionsItemSelected(item);
}
- private boolean isServiceRunning() {
- ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
- for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
- if (TraccarService.class.getName().equals(service.service.getClassName())) {
- return true;
- }
- }
- return false;
- }
-
private void initPreferences() {
PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
diff --git a/app/src/main/res/xml-v14/preferences.xml b/app/src/main/res/xml-v14/preferences.xml
index 7b0c27e..5d06058 100644
--- a/app/src/main/res/xml-v14/preferences.xml
+++ b/app/src/main/res/xml-v14/preferences.xml
@@ -1,6 +1,15 @@
+
+
@@ -39,13 +48,4 @@
android:summary="@string/settings_extended_summary"
android:title="@string/settings_extended_title" />
-
-
\ No newline at end of file
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index 386a04f..8f0513c 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -1,6 +1,13 @@
+
+
@@ -39,11 +46,4 @@
android:summary="@string/settings_extended_summary"
android:title="@string/settings_extended_title" />
-
-