mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-08 21:30:57 +00:00
# filter course area by preference settings
This commit is contained in:
1 parent
4eedab2338
commit
a4d4c84cf5
7 files changed
+53
-20
No files matched your search
@@ -2,35 +2,26 @@
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
|
||||
<PreferenceCategory android:title="@string/settings_category_general" >
|
||||
|
||||
<EditTextPreference
|
||||
android:key="courseAreasPref"
|
||||
␍ <EditTextPreference
|
||||
android:name="@string/settings_general_manageareas_header"
|
||||
android:defaultValue="@string/settings_general_manageareas_default"
|
||||
android:key="courseAreasPref"
|
||||
android:summary="@string/settings_general_manageareas_description"
|
||||
android:title="@string/settings_general_manageareas_header" />
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory android:title="@string/settings_category_race" >
|
||||
<!--
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="checkboxPrefGolf"
|
||||
android:summary="Check the box if the Golf flag should be automatically removed in a gate start race"
|
||||
android:title="Remove Golf Automatically" />
|
||||
-->
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="overrideDefaultStartProcedureType"
|
||||
android:defaultValue="false"
|
||||
android:key="overrideDefaultStartProcedureType"
|
||||
android:summary="Check the box if races should use the start procedure type defined below as a default"
|
||||
android:title="@string/override_default_start_procedure_type" />
|
||||
|
||||
|
||||
<ListPreference
|
||||
android:key="defaultStartProcedureType"
|
||||
android:title="@string/override_default_start_procedure_type"
|
||||
android:summary="Races will use selected start procedure type as a default. For this option to be active override checkbox has to be enabled."
|
||||
/>
|
||||
android:title="@string/override_default_start_procedure_type_select" />
|
||||
|
||||
<EditTextPreference
|
||||
android:defaultValue="30"
|
||||
@@ -48,7 +39,7 @@
|
||||
android:key="webserviceUrlPref"
|
||||
android:summary="@string/settings_advanced_service_description"
|
||||
android:title="@string/settings_advanced_service_header" />
|
||||
|
||||
|
||||
<EditTextPreference
|
||||
android:name="@string/settings_advanced_mail_header"
|
||||
android:defaultValue="@string/settings_advanced_mail_default"
|
||||
|
||||
@@ -188,6 +188,7 @@
|
||||
<string name="store_wind_entry">4. Store wind entry</string>
|
||||
<string name="store_wind">Store wind</string>
|
||||
<string name="override_default_start_procedure_type">Override default start procedure type</string>
|
||||
<string name="override_default_start_procedure_type_select">Default start procedure type when overriden</string>
|
||||
|
||||
<string name="compass_view_compass">Compass</string>
|
||||
<string name="compass_view_needle">Needle</string>
|
||||
|
||||
+10
@@ -1,5 +1,8 @@
|
||||
package com.sap.sailing.racecommittee.app;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.preference.PreferenceManager;
|
||||
@@ -11,6 +14,13 @@ public class AppPreferences {
|
||||
private final static String PREFERENCE_WIND_BEARING = "windBearingPref";
|
||||
private final static String PREFERENCE_WIND_SPEED = "windSpeedPref";
|
||||
private final static String PREFERENCE_MAIL_RECIPIENT = "mailRecipientPreference";
|
||||
private final static String PREFERENCE_MANAGED_COURSE_AREAS = "courseAreasPref";
|
||||
|
||||
public static List<String> getManagedCourseAreaNames(Context context) {
|
||||
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
String value = sp.getString(PREFERENCE_MANAGED_COURSE_AREAS, "");
|
||||
return Arrays.asList(value.split(","));
|
||||
}
|
||||
|
||||
public static double getWindBearing(Context context) {
|
||||
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package com.sap.sailing.racecommittee.app.ui.adapters;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.sap.sailing.domain.base.CourseArea;
|
||||
import com.sap.sailing.racecommittee.app.AppPreferences;
|
||||
|
||||
public class CourseAreaArrayAdapter extends NamedArrayAdapter<CourseArea> {
|
||||
|
||||
public CourseAreaArrayAdapter(Context context, List<CourseArea> namedList) {
|
||||
super(context, namedList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEnabled(int position) {
|
||||
CourseArea courseArea = getItem(position);
|
||||
return AppPreferences.getManagedCourseAreaNames(getContext()).contains(courseArea.getName());
|
||||
}
|
||||
|
||||
}
|
||||
+2
-2
@@ -18,8 +18,8 @@ import com.sap.sailing.racecommittee.app.R;
|
||||
*/
|
||||
public class NamedArrayAdapter<T extends Named> extends ArrayAdapter<T> {
|
||||
|
||||
public NamedArrayAdapter(Context context, int textViewResourceId, List<T> namedList) {
|
||||
super(context, textViewResourceId, namedList);
|
||||
public NamedArrayAdapter(Context context, List<T> namedList) {
|
||||
super(context, 0, namedList);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+9
@@ -1,14 +1,18 @@
|
||||
package com.sap.sailing.racecommittee.app.ui.fragments.lists;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.sap.sailing.domain.base.CourseArea;
|
||||
import com.sap.sailing.racecommittee.app.AppConstants;
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
import com.sap.sailing.racecommittee.app.data.ReadonlyDataManager;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.CourseAreaArrayAdapter;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.NamedArrayAdapter;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.lists.selection.CourseAreaSelectedListenerHost;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.lists.selection.EventSelectedListenerHost;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.lists.selection.ItemSelectedListener;
|
||||
@@ -28,6 +32,11 @@ public class CourseAreaListFragment extends NamedListFragment<CourseArea> {
|
||||
super.onResume();
|
||||
loadItems();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected NamedArrayAdapter<CourseArea> createAdapter(Context context, ArrayList<CourseArea> items) {
|
||||
return new CourseAreaArrayAdapter(context, items);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ItemSelectedListener<CourseArea> attachListener(Activity activity) {
|
||||
|
||||
+3
-3
@@ -45,8 +45,8 @@ public abstract class NamedListFragment<T extends Named> extends ListFragment im
|
||||
|
||||
protected abstract void loadItems(ReadonlyDataManager manager);
|
||||
|
||||
protected NamedArrayAdapter<T> createAdapter(Context context, int layoutId, ArrayList<T> items) {
|
||||
return new NamedArrayAdapter<T>(context, layoutId, items);
|
||||
protected NamedArrayAdapter<T> createAdapter(Context context, ArrayList<T> items) {
|
||||
return new NamedArrayAdapter<T>(context, items);
|
||||
}
|
||||
|
||||
protected void loadItems() {
|
||||
@@ -71,7 +71,7 @@ public abstract class NamedListFragment<T extends Named> extends ListFragment im
|
||||
addHeader();
|
||||
|
||||
namedList = new ArrayList<T>();
|
||||
listAdapter = createAdapter(getActivity(), android.R.layout.simple_list_item_single_choice, namedList);
|
||||
listAdapter = createAdapter(getActivity(), /*android.R.layout.simple_list_item_single_choice, */namedList);
|
||||
|
||||
this.getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
|
||||
this.setListAdapter(listAdapter);
|
||||
|
||||
Reference in new issue
Block a user