Disable settings when running
Этот коммит содержится в:
@@ -24,6 +24,7 @@ import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.PreferenceActivity;
|
import android.preference.PreferenceActivity;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
|
import android.preference.PreferenceScreen;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
@@ -69,14 +70,26 @@ public class TraccarActivity extends PreferenceActivity {
|
|||||||
super.onPause();
|
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() {
|
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);
|
||||||
startService(new Intent(TraccarActivity.this, TraccarService.class));
|
startService(new Intent(TraccarActivity.this, TraccarService.class));
|
||||||
} else {
|
} else {
|
||||||
stopService(new Intent(TraccarActivity.this, TraccarService.class));
|
stopService(new Intent(TraccarActivity.this, TraccarService.class));
|
||||||
|
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));
|
||||||
@@ -86,8 +99,7 @@ public class TraccarActivity extends PreferenceActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
MenuInflater inflater = getMenuInflater();
|
getMenuInflater().inflate(R.menu.main, menu);
|
||||||
inflater.inflate(R.menu.main, menu);
|
|
||||||
return super.onCreateOptionsMenu(menu);
|
return super.onCreateOptionsMenu(menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,16 +115,6 @@ public class TraccarActivity extends PreferenceActivity {
|
|||||||
return super.onOptionsItemSelected(item);
|
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() {
|
private void initPreferences() {
|
||||||
PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
|
PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,15 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||||
|
|
||||||
|
<SwitchPreference
|
||||||
|
android:defaultValue="false"
|
||||||
|
android:key="status"
|
||||||
|
android:summaryOff="@string/settings_status_off_summary"
|
||||||
|
android:summaryOn="@string/settings_status_on_summary"
|
||||||
|
android:switchTextOff="@string/settings_status_off"
|
||||||
|
android:switchTextOn="@string/settings_status_on"
|
||||||
|
android:title="@string/settings_status_title" />
|
||||||
|
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:key="id"
|
android:key="id"
|
||||||
android:title="@string/settings_id_title" />
|
android:title="@string/settings_id_title" />
|
||||||
@@ -39,13 +48,4 @@
|
|||||||
android:summary="@string/settings_extended_summary"
|
android:summary="@string/settings_extended_summary"
|
||||||
android:title="@string/settings_extended_title" />
|
android:title="@string/settings_extended_title" />
|
||||||
|
|
||||||
<SwitchPreference
|
|
||||||
android:defaultValue="false"
|
|
||||||
android:key="status"
|
|
||||||
android:summaryOff="@string/settings_status_off_summary"
|
|
||||||
android:summaryOn="@string/settings_status_on_summary"
|
|
||||||
android:switchTextOff="@string/settings_status_off"
|
|
||||||
android:switchTextOn="@string/settings_status_on"
|
|
||||||
android:title="@string/settings_status_title" />
|
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
@@ -1,6 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||||
|
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:defaultValue="false"
|
||||||
|
android:key="status"
|
||||||
|
android:summaryOff="@string/settings_status_off_summary"
|
||||||
|
android:summaryOn="@string/settings_status_on_summary"
|
||||||
|
android:title="@string/settings_status_title" />
|
||||||
|
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:key="id"
|
android:key="id"
|
||||||
android:title="@string/settings_id_title" />
|
android:title="@string/settings_id_title" />
|
||||||
@@ -39,11 +46,4 @@
|
|||||||
android:summary="@string/settings_extended_summary"
|
android:summary="@string/settings_extended_summary"
|
||||||
android:title="@string/settings_extended_title" />
|
android:title="@string/settings_extended_title" />
|
||||||
|
|
||||||
<CheckBoxPreference
|
|
||||||
android:defaultValue="false"
|
|
||||||
android:key="status"
|
|
||||||
android:summaryOff="@string/settings_status_off_summary"
|
|
||||||
android:summaryOn="@string/settings_status_on_summary"
|
|
||||||
android:title="@string/settings_status_title" />
|
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user