Bugfix: prevent crash when creating a marker (no camera or gallery application present).

Fixes #1561.
This commit is contained in:
Dennis Guse
2023-05-13 13:27:28 +02:00
parent a571c4c93b
commit 29568d0e3f
3 changed files with 16 additions and 2 deletions
@@ -12,6 +12,8 @@ public class UintUtilsTest {
assertEquals(1, UintUtils.diff(2, 1, UintUtils.UINT16_MAX));
assertEquals(3, UintUtils.diff(5, 2, UintUtils.UINT16_MAX));
assertEquals(65534, UintUtils.diff(1, 2, UintUtils.UINT16_MAX));
// assertEquals(65535, UintUtils.diff(0, 1, UintUtils.UINT16_MAX));
assertEquals(65535, UintUtils.UINT16_MAX);
assertEquals(65530, UintUtils.diff(UintUtils.UINT16_MAX, 5, UintUtils.UINT16_MAX));
}
@@ -16,6 +16,7 @@
package de.dennisguse.opentracks.ui.markers;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
@@ -244,7 +245,12 @@ public class MarkerEditActivity extends AbstractActivity {
private void createMarkerWithPicture() {
Pair<Intent, Uri> intentAndPhotoUri = MarkerUtils.createTakePictureIntent(this, getTrackId());
cameraPhotoUri = intentAndPhotoUri.second;
takePictureFromCamera.launch(intentAndPhotoUri.first);
try {
takePictureFromCamera.launch(intentAndPhotoUri.first);
} catch (ActivityNotFoundException e) {
Toast.makeText(this, R.string.no_compatible_camera_installed, Toast.LENGTH_LONG).show();
}
}
private void createMarkerWithGalleryImage() {
@@ -256,6 +262,10 @@ public class MarkerEditActivity extends AbstractActivity {
intent = new Intent(Intent.ACTION_GET_CONTENT);
}
intent.setType("image/*");
takePictureFromGallery.launch(intent);
try {
takePictureFromGallery.launch(intent);
} catch (ActivityNotFoundException e) {
Toast.makeText(this, R.string.no_compatible_gallery_installed, Toast.LENGTH_LONG).show();
}
}
}
+2
View File
@@ -664,6 +664,8 @@ limitations under the License.
<string name="field_set_secondary">Secondary</string>
<string name="field_remove_from_layout">Remove</string>
<string name="no_compatible_file_manager_installed">No compatible file manager installed</string>
<string name="no_compatible_camera_installed">No compatible camera application installed</string>
<string name="no_compatible_gallery_installed">No compatible image gallery application installed</string>
<string name="error_crash_title">%1$s crashed</string>
<string name="share_crash_report">Share crash report</string>
<string name="report_bug">Report bug</string>