Disable settings when running
Этот коммит содержится в:
@@ -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);
|
||||
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<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
|
||||
android:key="id"
|
||||
android:title="@string/settings_id_title" />
|
||||
@@ -39,13 +48,4 @@
|
||||
android:summary="@string/settings_extended_summary"
|
||||
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>
|
||||
@@ -1,6 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<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
|
||||
android:key="id"
|
||||
android:title="@string/settings_id_title" />
|
||||
@@ -39,11 +46,4 @@
|
||||
android:summary="@string/settings_extended_summary"
|
||||
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>
|
||||
|
||||
Ссылка в новой задаче
Block a user