Skip to content

Commit 87a5735

Browse files
committed
Potential fix for IllegalStateException on Android
1 parent 37ca85f commit 87a5735

7 files changed

Lines changed: 9 additions & 9 deletions

File tree

.github/AAR Source (Android)/java/com/yasirkula/unity/NativeCamera.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public static void TakePicture( Context context, NativeCameraMediaReceiver media
4242
final Fragment request = new NativeCameraPictureFragment( mediaReceiver );
4343
request.setArguments( bundle );
4444

45-
( (Activity) context ).getFragmentManager().beginTransaction().add( 0, request ).commit();
45+
( (Activity) context ).getFragmentManager().beginTransaction().add( 0, request ).commitAllowingStateLoss();
4646
}
4747

4848
public static void RecordVideo( Context context, NativeCameraMediaReceiver mediaReceiver, int defaultCamera, int quality, int maxDuration, long maxSize )
@@ -60,7 +60,7 @@ public static void RecordVideo( Context context, NativeCameraMediaReceiver media
6060
final Fragment request = new NativeCameraVideoFragment( mediaReceiver );
6161
request.setArguments( bundle );
6262

63-
( (Activity) context ).getFragmentManager().beginTransaction().add( 0, request ).commit();
63+
( (Activity) context ).getFragmentManager().beginTransaction().add( 0, request ).commitAllowingStateLoss();
6464
}
6565

6666
// Credit: https://stackoverflow.com/a/35456817/2373034
@@ -121,7 +121,7 @@ public static void RequestPermission( Context context, final NativeCameraPermiss
121121
final Fragment request = new NativeCameraPermissionFragment( permissionReceiver );
122122
request.setArguments( bundle );
123123

124-
( (Activity) context ).getFragmentManager().beginTransaction().add( 0, request ).commit();
124+
( (Activity) context ).getFragmentManager().beginTransaction().add( 0, request ).commitAllowingStateLoss();
125125
}
126126

127127
public static String LoadImageAtPath( Context context, String path, final String temporaryFilePath, final int maxSize )

.github/AAR Source (Android)/java/com/yasirkula/unity/NativeCameraPermissionFragment.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public void onRequestPermissionsResult( int requestCode, String[] permissions, i
9090
{
9191
Log.e( "Unity", "Fragment data got reset while asking permissions!" );
9292

93-
getFragmentManager().beginTransaction().remove( this ).commit();
93+
getFragmentManager().beginTransaction().remove( this ).commitAllowingStateLoss();
9494
return;
9595
}
9696

@@ -118,7 +118,7 @@ public void onRequestPermissionsResult( int requestCode, String[] permissions, i
118118
}
119119

120120
permissionReceiver.OnPermissionResult( result );
121-
getFragmentManager().beginTransaction().remove( this ).commit();
121+
getFragmentManager().beginTransaction().remove( this ).commitAllowingStateLoss();
122122

123123
// Resolves a bug in Unity 2019 where the calling activity
124124
// doesn't resume automatically after the fragment finishes

.github/AAR Source (Android)/java/com/yasirkula/unity/NativeCameraPictureFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,6 @@ public void onActivityResult( int requestCode, int resultCode, Intent data )
210210
if( mediaReceiver != null )
211211
mediaReceiver.OnMediaReceived( result != null && result.length() > 1L ? result.getAbsolutePath() : "" );
212212

213-
getFragmentManager().beginTransaction().remove( this ).commit();
213+
getFragmentManager().beginTransaction().remove( this ).commitAllowingStateLoss();
214214
}
215215
}

.github/AAR Source (Android)/java/com/yasirkula/unity/NativeCameraVideoFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,6 @@ public void onActivityResult( int requestCode, int resultCode, Intent data )
250250
if( mediaReceiver != null )
251251
mediaReceiver.OnMediaReceived( result != null && result.length() > 1L ? result.getAbsolutePath() : "" );
252252

253-
getFragmentManager().beginTransaction().remove( this ).commit();
253+
getFragmentManager().beginTransaction().remove( this ).commitAllowingStateLoss();
254254
}
255255
}
51 Bytes
Binary file not shown.

Plugins/NativeCamera/README.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
= Native Camera for Android & iOS (v1.4.1) =
1+
= Native Camera for Android & iOS (v1.4.2) =
22

33
Documentation: https://github.com/yasirkula/UnityNativeCamera
44
FAQ: https://github.com/yasirkula/UnityNativeCamera#faq

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "com.yasirkula.nativecamera",
33
"displayName": "Native Camera",
4-
"version": "1.4.1",
4+
"version": "1.4.2",
55
"documentationUrl": "https://github.com/yasirkula/UnityNativeCamera",
66
"changelogUrl": "https://github.com/yasirkula/UnityNativeCamera/releases",
77
"licensesUrl": "https://github.com/yasirkula/UnityNativeCamera/blob/master/LICENSE.txt",

0 commit comments

Comments
 (0)