Skip to content

Commit e2c37ff

Browse files
Merge pull request #72 from Omega-R/feature/hotfix
bug with crash api 21 was fixed
2 parents 1d545a4 + 21d9da3 commit e2c37ff

3 files changed

Lines changed: 23 additions & 5 deletions

File tree

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ allprojects {
1919
**Step 2.** Add the dependency
2020
```
2121
dependencies {
22-
compile 'com.github.Omega-R.OmegaIntentBuilder:core:1.0.4'
22+
compile 'com.github.Omega-R.OmegaIntentBuilder:core:1.0.5'
2323
// For extras
24-
compile 'com.github.Omega-R.OmegaIntentBuilder:annotations:1.0.4'
25-
annotationProcessor 'com.github.Omega-R.OmegaIntentBuilder:processor:1.0.4'
24+
compile 'com.github.Omega-R.OmegaIntentBuilder:annotations:1.0.5'
25+
annotationProcessor 'com.github.Omega-R.OmegaIntentBuilder:processor:1.0.5'
2626
}
2727
```
2828
# Usage

core/src/main/java/com/omega_r/libs/omegaintentbuilder/handlers/ContextIntentHandler.kt

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import android.content.Intent.EXTRA_TITLE
2121
import android.content.Intent.FLAG_GRANT_READ_URI_PERMISSION
2222
import android.content.Intent.FLAG_GRANT_WRITE_URI_PERMISSION
2323
import android.support.annotation.StringRes
24+
import android.util.AndroidRuntimeException
2425
import android.widget.Toast
2526

2627
/**
@@ -185,13 +186,24 @@ open class ContextIntentHandler(private val context: Context, private val create
185186
* @throws ActivityNotFoundException
186187
*/
187188
fun startActivity() {
189+
val intent = getIntent()
188190
try {
189-
context.startActivity(getIntent())
191+
startActivity(intent)
190192
} catch (exc: ActivityNotFoundException) {
191193
handleStartActivityException(exc)
192194
}
193195
}
194196

197+
@Throws(ActivityNotFoundException::class)
198+
private fun startActivity(intent: Intent) {
199+
try {
200+
context.startActivity(intent)
201+
} catch (exc: AndroidRuntimeException) {
202+
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
203+
context.startActivity(intent)
204+
}
205+
}
206+
195207
fun startActivityForResult(callback: ActivityResultCallback) {
196208
activityResultCallback = callback
197209
OmegaHandleResultActivity.start(context, this)

core/src/main/java/com/omega_r/libs/omegaintentbuilder/handlers/OmegaHandleResultActivity.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import android.content.Intent;
77
import android.os.Bundle;
88
import android.support.annotation.Nullable;
9+
import android.util.AndroidRuntimeException;
910
import android.util.Log;
1011
import android.util.SparseArray;
1112

@@ -23,7 +24,12 @@ public static int start(Context context, ContextIntentHandler handler) {
2324
Intent intent = new Intent(context, OmegaHandleResultActivity.class);
2425
int index = pushContextIntentHandler(handler);
2526
intent.putExtra(EXTRA_INDEX, index);
26-
context.startActivity(intent);
27+
try {
28+
context.startActivity(intent);
29+
} catch (AndroidRuntimeException exc) {
30+
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
31+
context.startActivity(intent);
32+
}
2733
return index;
2834
}
2935

0 commit comments

Comments
 (0)