diff --git a/android/app/src/main/java/app/timesafari/MainActivity.java b/android/app/src/main/java/app/timesafari/MainActivity.java index 71a87a8d69..c40bb6923a 100644 --- a/android/app/src/main/java/app/timesafari/MainActivity.java +++ b/android/app/src/main/java/app/timesafari/MainActivity.java @@ -90,7 +90,16 @@ public class MainActivity extends BridgeActivity { // Handle single image share if (Intent.ACTION_SEND.equals(action) && type != null && type.startsWith("image/")) { - Uri imageUri = intent.getParcelableExtra(Intent.EXTRA_STREAM); + Uri imageUri; + // Use new API for API 33+ (Android 13+), fall back to deprecated API for older versions + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + imageUri = intent.getParcelableExtra(Intent.EXTRA_STREAM, Uri.class); + } else { + // Deprecated but still works on older versions + @SuppressWarnings("deprecation") + Uri uri = intent.getParcelableExtra(Intent.EXTRA_STREAM); + imageUri = uri; + } if (imageUri != null) { String fileName = intent.getStringExtra(Intent.EXTRA_TEXT); processSharedImage(imageUri, fileName); @@ -98,7 +107,16 @@ public class MainActivity extends BridgeActivity { } // Handle multiple images share (we'll just process the first one) else if (Intent.ACTION_SEND_MULTIPLE.equals(action) && type != null && type.startsWith("image/")) { - java.util.ArrayList imageUris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM); + java.util.ArrayList imageUris; + // Use new API for API 33+ (Android 13+), fall back to deprecated API for older versions + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + imageUris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM, Uri.class); + } else { + // Deprecated but still works on older versions + @SuppressWarnings("deprecation") + java.util.ArrayList uris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM); + imageUris = uris; + } if (imageUris != null && !imageUris.isEmpty()) { processSharedImage(imageUris.get(0), null); }