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;
}
public static AmenityType fromString(String s){
try {
return AmenityType.valueOf(s.toUpperCase());
} catch (IllegalArgumentException e) {
return AmenityType.OTHER;
public static AmenityType fromString(String s) {
for (AmenityType t : values()) {
if (t.name().equalsIgnoreCase(s)) {
return t;
}
}
return OTHER;
}
public String getDefaultTag() {

View file

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

View file

@ -96,6 +96,8 @@
</condition>
<then>
<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>
</if>
<if>

View file

@ -611,7 +611,7 @@
<string name="recording_is_recorded">صدا/تصویر در حال ضبط میباشد. برای متوقف کردن آن ویجت AV را بزنید.</string>
<string name="recording_playing">صدایی از ضبط مورد نظر درحال پخش میباشد.\n%1$s</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="use_magnetic_sensor_descr">استفاده از حسگر مغناطیسی به جای سنسور جهت یابی برای استفاده در قطب نما</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) {
Bundle bundle = this.getIntent().getExtras();
String filterId = bundle.getString(AMENITY_FILTER);
helper = ((OsmandApplication)getApplication()).getPoiFilters();
helper = ((OsmandApplication) getApplication()).getPoiFilters();
filter = helper.getFilterById(filterId);
super.onCreate(icicle);
setContentView(R.layout.editing_poi_filter);
getSupportActionBar().setTitle(R.string.filterpoi_activity);
getSupportActionBar().setIcon(R.drawable.tab_search_poi_icon);
getSupportActionBar().setSubtitle(filter.getName());
setListAdapter(new AmenityAdapter(AmenityType.getCategories()));
if (filter != null) {
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
public boolean onCreateOptionsMenu(Menu menu) {
if(filter == null) {
return super.onCreateOptionsMenu(menu);
}
createMenuItem(menu, SAVE_FILTER, R.string.edit_filter_save_as_menu_item,
R.drawable.ic_action_gsave_light, R.drawable.ic_action_gsave_dark ,
MenuItem.SHOW_AS_ACTION_IF_ROOM);

View file

@ -425,7 +425,7 @@ public class SearchPOIActivity extends OsmandListActivity implements OsmAndCompa
if (location == null) {
title = R.string.search_poi_location;
enabled = false;
} else if (!isNameFinderFilter() && !isSearchByNameFilter()) {
} else if (filter != null && !isNameFinderFilter() && !isSearchByNameFilter()) {
title = R.string.search_POI_level_btn;
enabled = (taskAlreadyFinished || currentSearchTask.getStatus() != Status.RUNNING) && filter.isSearchFurtherAvailable();
} 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,
R.string.av_widget_action_descr);
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();
Parameters parameters = cam.getParameters();
List<String> sfm = parameters.getSupportedFocusModes();
List<String> items = new ArrayList<String>();
List<Integer> itemsValues = new ArrayList<Integer>();
// filtering known types for translate and set index:
for (int index = 0; index < sfm.size(); index++) {
if (sfm.get(index).equals("auto")) {
items.add(getString(R.string.av_camera_focus_auto));
itemsValues.add(AV_CAMERA_FOCUS_AUTO);
} else if (sfm.get(index).equals("fixed")) {
items.add(getString(R.string.av_camera_focus_hiperfocal));
itemsValues.add(AV_CAMERA_FOCUS_HIPERFOCAL);
} else if (sfm.get(index).equals("edof")) {
items.add(getString(R.string.av_camera_focus_edof));
itemsValues.add(AV_CAMERA_FOCUS_EDOF);
} else if (sfm.get(index).equals("infinity")) {
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);
if (cam != null) {
// 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:
Parameters parameters = cam.getParameters();
List<String> sfm = parameters.getSupportedFocusModes();
List<String> items = new ArrayList<String>();
List<Integer> itemsValues = new ArrayList<Integer>();
// filtering known types for translate and set index:
for (int index = 0; index < sfm.size(); index++) {
if (sfm.get(index).equals("auto")) {
items.add(getString(R.string.av_camera_focus_auto));
itemsValues.add(AV_CAMERA_FOCUS_AUTO);
} else if (sfm.get(index).equals("fixed")) {
items.add(getString(R.string.av_camera_focus_hiperfocal));
itemsValues.add(AV_CAMERA_FOCUS_HIPERFOCAL);
} else if (sfm.get(index).equals("edof")) {
items.add(getString(R.string.av_camera_focus_edof));
itemsValues.add(AV_CAMERA_FOCUS_EDOF);
} else if (sfm.get(index).equals("infinity")) {
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:
grp.addPreference(createCheckBoxPreference(p.AV_EXTERNAL_RECORDER, R.string.av_use_external_recorder,
R.string.av_use_external_recorder_descr));

View file

@ -259,7 +259,9 @@ public class MapViewTrackingUtilities implements OsmAndLocationListener, IMapLoc
}
app.showShortToastMessage(resId);
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.getPoiFilters().updateFilters(false);
} catch (SQLiteException e) {
log.error(e.getMessage(), e);
} catch (IOException e) {
log.error(e.getMessage(), e);
} catch (XmlPullParserException e) {