Compare commits

...

3 commits
master ... r1.5

Author SHA1 Message Date
Victor Shcherb
0eb598d815 Fix exceptions 2013-08-04 13:50:21 +02:00
Victor Shcherb
2ff8ff8230 Fix exceptions 2013-08-04 13:24:07 +02:00
Victor Shcherb
e8a67845f1 Replace debuggable 2013-08-04 01:32:44 +02:00
9 changed files with 73 additions and 59 deletions

View file

@ -43,12 +43,13 @@ public enum AmenityType {
this.defaultTag = defaultTag; this.defaultTag = defaultTag;
} }
public static AmenityType fromString(String s){ public static AmenityType fromString(String s) {
try { for (AmenityType t : values()) {
return AmenityType.valueOf(s.toUpperCase()); if (t.name().equalsIgnoreCase(s)) {
} catch (IllegalArgumentException e) { return t;
return AmenityType.OTHER; }
} }
return OTHER;
} }
public String getDefaultTag() { public String getDefaultTag() {

View file

@ -248,7 +248,7 @@ public class MapRenderingTypes {
rtype.value = null; rtype.value = null;
} }
if (poiParentCategory != null) { if (poiParentCategory != null) {
rtype.poiCategory = AmenityType.valueOf(poiParentCategory.toUpperCase()); rtype.poiCategory = AmenityType.fromString(poiParentCategory);
rtype.poiSpecified = true; rtype.poiSpecified = true;
} }
if (poiParentPrefix != null) { if (poiParentPrefix != null) {
@ -305,7 +305,7 @@ public class MapRenderingTypes {
String tag = parser.getAttributeValue("","poi_tag"); String tag = parser.getAttributeValue("","poi_tag");
if (tag != null) { if (tag != null) {
AmenityRuleType rtype = new AmenityRuleType(); AmenityRuleType rtype = new AmenityRuleType();
rtype.poiCategory = AmenityType.valueOf(poiParentCategory.toUpperCase()); rtype.poiCategory = AmenityType.fromString(poiParentCategory);
rtype.poiSpecified = true; rtype.poiSpecified = true;
rtype.relation = Boolean.parseBoolean(parser.getAttributeValue("", "relation")); rtype.relation = Boolean.parseBoolean(parser.getAttributeValue("", "relation"));
rtype.poiPrefix = poiParentPrefix; rtype.poiPrefix = poiParentPrefix;

View file

@ -96,6 +96,8 @@
</condition> </condition>
<then> <then>
<replaceregexp file="AndroidManifest.xml" match='android:versionCode="(.*)"' replace='android:versionCode="${build.version.code}"' byline="true" /> <replaceregexp file="AndroidManifest.xml" match='android:versionCode="(.*)"' replace='android:versionCode="${build.version.code}"' byline="true" />
<replaceregexp file="AndroidManifest.xml" match='android:debuggable="true"' replace='android:debuggable="false"' byline="true" />
</then> </then>
</if> </if>
<if> <if>

View file

@ -611,7 +611,7 @@
<string name="recording_is_recorded">صدا/تصویر در حال ضبط میباشد. برای متوقف کردن آن ویجت AV را بزنید.</string> <string name="recording_is_recorded">صدا/تصویر در حال ضبط میباشد. برای متوقف کردن آن ویجت AV را بزنید.</string>
<string name="recording_playing">صدایی از ضبط مورد نظر درحال پخش میباشد.\n%1$s</string> <string name="recording_playing">صدایی از ضبط مورد نظر درحال پخش میباشد.\n%1$s</string>
<string name="recording_delete_confirm">آیا میخواهید این مورد ضبط شده را پاک کنید؟</string> <string name="recording_delete_confirm">آیا میخواهید این مورد ضبط شده را پاک کنید؟</string>
<string name="recording_description">ضبط %1$s%2$ s از %3$s</string> <string name="recording_description">ضبط %1$s%2$s از %3$s</string>
<string name="osmand_srtm_short_description_80_chars">افزونه OsmAnd برای منحنی های همتراز آفلاین</string> <string name="osmand_srtm_short_description_80_chars">افزونه OsmAnd برای منحنی های همتراز آفلاین</string>
<string name="use_magnetic_sensor_descr">استفاده از حسگر مغناطیسی به جای سنسور جهت یابی برای استفاده در قطب نما</string> <string name="use_magnetic_sensor_descr">استفاده از حسگر مغناطیسی به جای سنسور جهت یابی برای استفاده در قطب نما</string>
<string name="show_poi_over_map">نشان دادن POI</string> <string name="show_poi_over_map">نشان دادن POI</string>

View file

@ -63,17 +63,21 @@ public class EditPOIFilterActivity extends OsmandListActivity {
public void onCreate(final Bundle icicle) { public void onCreate(final Bundle icicle) {
Bundle bundle = this.getIntent().getExtras(); Bundle bundle = this.getIntent().getExtras();
String filterId = bundle.getString(AMENITY_FILTER); String filterId = bundle.getString(AMENITY_FILTER);
helper = ((OsmandApplication)getApplication()).getPoiFilters(); helper = ((OsmandApplication) getApplication()).getPoiFilters();
filter = helper.getFilterById(filterId); filter = helper.getFilterById(filterId);
super.onCreate(icicle); super.onCreate(icicle);
setContentView(R.layout.editing_poi_filter); setContentView(R.layout.editing_poi_filter);
getSupportActionBar().setTitle(R.string.filterpoi_activity); getSupportActionBar().setTitle(R.string.filterpoi_activity);
getSupportActionBar().setIcon(R.drawable.tab_search_poi_icon); getSupportActionBar().setIcon(R.drawable.tab_search_poi_icon);
getSupportActionBar().setSubtitle(filter.getName()); if (filter != null) {
setListAdapter(new AmenityAdapter(AmenityType.getCategories())); getSupportActionBar().setSubtitle(filter.getName());
setListAdapter(new AmenityAdapter(AmenityType.getCategories()));
} else {
setListAdapter(new AmenityAdapter(new AmenityType[0]));
}
} }
@ -94,6 +98,9 @@ public class EditPOIFilterActivity extends OsmandListActivity {
@Override @Override
public boolean onCreateOptionsMenu(Menu menu) { public boolean onCreateOptionsMenu(Menu menu) {
if(filter == null) {
return super.onCreateOptionsMenu(menu);
}
createMenuItem(menu, SAVE_FILTER, R.string.edit_filter_save_as_menu_item, createMenuItem(menu, SAVE_FILTER, R.string.edit_filter_save_as_menu_item,
R.drawable.ic_action_gsave_light, R.drawable.ic_action_gsave_dark , R.drawable.ic_action_gsave_light, R.drawable.ic_action_gsave_dark ,
MenuItem.SHOW_AS_ACTION_IF_ROOM); MenuItem.SHOW_AS_ACTION_IF_ROOM);

View file

@ -425,7 +425,7 @@ public class SearchPOIActivity extends OsmandListActivity implements OsmAndCompa
if (location == null) { if (location == null) {
title = R.string.search_poi_location; title = R.string.search_poi_location;
enabled = false; enabled = false;
} else if (!isNameFinderFilter() && !isSearchByNameFilter()) { } else if (filter != null && !isNameFinderFilter() && !isSearchByNameFilter()) {
title = R.string.search_POI_level_btn; title = R.string.search_POI_level_btn;
enabled = (taskAlreadyFinished || currentSearchTask.getStatus() != Status.RUNNING) && filter.isSearchFurtherAvailable(); enabled = (taskAlreadyFinished || currentSearchTask.getStatus() != Status.RUNNING) && filter.isSearchFurtherAvailable();
} else if (filter != null) { } else if (filter != null) {

View file

@ -47,52 +47,52 @@ public class SettingsAudioVideoActivity extends SettingsBaseActivity {
ListPreference defAct = createListPreference(p.AV_DEFAULT_ACTION, entries, intValues, R.string.av_widget_action, ListPreference defAct = createListPreference(p.AV_DEFAULT_ACTION, entries, intValues, R.string.av_widget_action,
R.string.av_widget_action_descr); R.string.av_widget_action_descr);
grp.addPreference(defAct); grp.addPreference(defAct);
// camera type settings:
grp.addPreference(createCheckBoxPreference(p.AV_EXTERNAL_PHOTO_CAM, R.string.av_use_external_camera,
R.string.av_use_external_camera_descr));
// focus mode settings:
// show in menu only suppoted modes:
final Camera cam = openCamera(); final Camera cam = openCamera();
Parameters parameters = cam.getParameters(); if (cam != null) {
List<String> sfm = parameters.getSupportedFocusModes(); // camera type settings:
List<String> items = new ArrayList<String>(); grp.addPreference(createCheckBoxPreference(p.AV_EXTERNAL_PHOTO_CAM, R.string.av_use_external_camera,
List<Integer> itemsValues = new ArrayList<Integer>(); R.string.av_use_external_camera_descr));
// filtering known types for translate and set index: // focus mode settings:
for (int index = 0; index < sfm.size(); index++) { // show in menu only suppoted modes:
if (sfm.get(index).equals("auto")) {
items.add(getString(R.string.av_camera_focus_auto)); Parameters parameters = cam.getParameters();
itemsValues.add(AV_CAMERA_FOCUS_AUTO); List<String> sfm = parameters.getSupportedFocusModes();
} else if (sfm.get(index).equals("fixed")) { List<String> items = new ArrayList<String>();
items.add(getString(R.string.av_camera_focus_hiperfocal)); List<Integer> itemsValues = new ArrayList<Integer>();
itemsValues.add(AV_CAMERA_FOCUS_HIPERFOCAL); // filtering known types for translate and set index:
} else if (sfm.get(index).equals("edof")) { for (int index = 0; index < sfm.size(); index++) {
items.add(getString(R.string.av_camera_focus_edof)); if (sfm.get(index).equals("auto")) {
itemsValues.add(AV_CAMERA_FOCUS_EDOF); items.add(getString(R.string.av_camera_focus_auto));
} else if (sfm.get(index).equals("infinity")) { itemsValues.add(AV_CAMERA_FOCUS_AUTO);
items.add(getString(R.string.av_camera_focus_infinity)); } else if (sfm.get(index).equals("fixed")) {
itemsValues.add(AV_CAMERA_FOCUS_INFINITY); items.add(getString(R.string.av_camera_focus_hiperfocal));
} else if (sfm.get(index).equals("macro")) { itemsValues.add(AV_CAMERA_FOCUS_HIPERFOCAL);
items.add(getString(R.string.av_camera_focus_macro)); } else if (sfm.get(index).equals("edof")) {
itemsValues.add(AV_CAMERA_FOCUS_MACRO); items.add(getString(R.string.av_camera_focus_edof));
} else if (sfm.get(index).equals("continuous-picture")) { itemsValues.add(AV_CAMERA_FOCUS_EDOF);
items.add(getString(R.string.av_camera_focus_continuous)); } else if (sfm.get(index).equals("infinity")) {
itemsValues.add(AV_CAMERA_FOCUS_CONTINUOUS); items.add(getString(R.string.av_camera_focus_infinity));
itemsValues.add(AV_CAMERA_FOCUS_INFINITY);
} else if (sfm.get(index).equals("macro")) {
items.add(getString(R.string.av_camera_focus_macro));
itemsValues.add(AV_CAMERA_FOCUS_MACRO);
} else if (sfm.get(index).equals("continuous-picture")) {
items.add(getString(R.string.av_camera_focus_continuous));
itemsValues.add(AV_CAMERA_FOCUS_CONTINUOUS);
}
} }
entries = items.toArray(new String[items.size()]);
intValues = itemsValues.toArray(new Integer[itemsValues.size()]);
if (entries.length > 0) {
ListPreference camFocus = createListPreference(p.AV_CAMERA_FOCUS_TYPE, entries, intValues, R.string.av_camera_focus,
R.string.av_camera_focus_descr);
grp.addPreference(camFocus);
}
// play sound on success photo:
grp.addPreference(createCheckBoxPreference(p.AV_PHOTO_PLAY_SOUND, R.string.av_photo_play_sound,
R.string.av_photo_play_sound_descr));
cam.release();
} }
entries = items.toArray(entries);
intValues = itemsValues.toArray(intValues);
if (entries.length > 0) {
ListPreference camFocus = createListPreference(p.AV_CAMERA_FOCUS_TYPE, entries, intValues, R.string.av_camera_focus,
R.string.av_camera_focus_descr);
grp.addPreference(camFocus);
}
// play sound on success photo:
grp.addPreference(createCheckBoxPreference(p.AV_PHOTO_PLAY_SOUND, R.string.av_photo_play_sound,
R.string.av_photo_play_sound_descr));
cam.release();
// video settings: // video settings:
grp.addPreference(createCheckBoxPreference(p.AV_EXTERNAL_RECORDER, R.string.av_use_external_recorder, grp.addPreference(createCheckBoxPreference(p.AV_EXTERNAL_RECORDER, R.string.av_use_external_recorder,
R.string.av_use_external_recorder_descr)); R.string.av_use_external_recorder_descr));

View file

@ -259,7 +259,9 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc
} }
app.showShortToastMessage(resId); app.showShortToastMessage(resId);
updateSettings(); updateSettings();
mapView.refreshMap(); if(mapView != null) {
mapView.refreshMap();
}
} }
} }

View file

@ -443,6 +443,8 @@ public class ResourceManager {
context.getSettings().PREVIOUS_INSTALLED_VERSION.set(Version.getFullVersion(context)); context.getSettings().PREVIOUS_INSTALLED_VERSION.set(Version.getFullVersion(context));
context.getPoiFilters().updateFilters(false); context.getPoiFilters().updateFilters(false);
} catch (SQLiteException e) {
log.error(e.getMessage(), e);
} catch (IOException e) { } catch (IOException e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
} catch (XmlPullParserException e) { } catch (XmlPullParserException e) {