Status Update
Comments
[Deleted User] <[Deleted User]> #2
We're seeing a similar error in our code. Appears to be a combination of AGP 8.6.0 and Kotlin 2 needed to hit it.
private fun Intent.stripUnwantedFlags() {
// Explicitly remove the new task and clear task flags (Our browser activity is a single
// task activity and we never want to start a second task here).
flags = flags and Intent.FLAG_ACTIVITY_NEW_TASK.inv()
flags = flags and Intent.FLAG_ACTIVITY_CLEAR_TASK.inv()
// IntentReceiverActivity is started with the "excludeFromRecents" flag (set in manifest). We
// do not want to propagate this flag from the intent receiver activity to the browser.
flags = flags and Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS.inv()
}
All 3 lines then hit:
Must be one or more of: Intent.FLAG_GRANT_READ_URI_PERMISSION, Intent.FLAG_GRANT_WRITE_URI_PERMISSION, Intent.FLAG_FROM_BACKGROUND, Intent.FLAG_DEBUG_LOG_RESOLUTION, Intent.FLAG_EXCLUDE_STOPPED_PACKAGES, Intent.FLAG_INCLUDE_STOPPED_PACKAGES, Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION, Intent.FLAG_GRANT_PREFIX_URI_PERMISSION, Intent.FLAG_ACTIVITY_MATCH_EXTERNAL, Intent.FLAG_ACTIVITY_NO_HISTORY, Intent.FLAG_ACTIVITY_SINGLE_TOP, Intent.FLAG_ACTIVITY_NEW_TASK, Intent.FLAG_ACTIVITY_MULTIPLE_TASK, Intent.FLAG_ACTIVITY_CLEAR_TOP, Intent.FLAG_ACTIVITY_FORWARD_RESULT, Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP, Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS, Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT, Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED, Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY, Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, Intent.FLAG_ACTIVITY_NEW_DOCUMENT, Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, Intent.FLAG_ACTIVITY_NO_USER_ACTION, Intent.FLAG_ACTIVITY_REORDER_TO_FRONT, Intent.FLAG_ACTIVITY_NO_ANIMATION, Intent.FLAG_ACTIVITY_CLEAR_TASK, Intent.FLAG_ACTIVITY_TASK_ON_HOME, Intent.FLAG_ACTIVITY_RETAIN_IN_RECENTS, Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT, Intent.FLAG_ACTIVITY_REQUIRE_NON_BROWSER, Intent.FLAG_ACTIVITY_REQUIRE_DEFAULT, Intent.FLAG_RECEIVER_REGISTERED_ONLY, Intent.FLAG_RECEIVER_REPLACE_PENDING, Intent.FLAG_RECEIVER_FOREGROUND, Intent.FLAG_RECEIVER_NO_ABORT, Intent.FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS
[Deleted User] <[Deleted User]> #3
The initial report (
However,
hu...@google.com <hu...@google.com> #4
Thanks for fixing! What release should we be able to verify the fix in? And is there any chance of a backport for 8.6.1?
[Deleted User] <[Deleted User]> #7
Thanks for the update!
hu...@google.com <hu...@google.com> #8
Thank you for your patience while our engineering team worked to resolve this issue. A fix for this issue is now available in:
- Android Studio Ladybug Feature Drop | 2024.2.2 Canary 2
- Android Gradle Plugin 8.8.0-alpha02
We encourage you to try the latest update.
If you notice further issues or have questions, please file a new bug report.
Thank you for taking the time to submit feedback — we really appreciate it!
[Deleted User] <[Deleted User]> #9
The fixes for this issue are now also available in:
- Android Studio Ladybug | 2024.2.1 RC 1
- Android Gradle Plugin 8.7.0-rc01
We encourage you to try the latest update.
If you notice further issues or have questions, please file a new bug report.
ce...@gmail.com <ce...@gmail.com> #10
cm...@google.com <cm...@google.com> #11
Making this not brittle to changing of the test executor current working directory might be useful, but perhaps can wait.
hu...@google.com <hu...@google.com> #12
ce...@gmail.com <ce...@gmail.com> #13
hu...@google.com <hu...@google.com> #14
ce...@gmail.com <ce...@gmail.com> #15
hu...@google.com <hu...@google.com> #16
hu...@google.com <hu...@google.com> #17
- If I use the root project directory as base, Robolectric will fail.
- However, if I use the current project directory as base, then Robolectric 4.0+ already support relative paths.
I'm planning to change the AGP to use the current project directory as base now.
@César: Would that work for your use case? If not, could you clarify the issue on the Robolectric bug so we can figure out a way forward?
ce...@gmail.com <ce...@gmail.com> #18
hu...@google.com <hu...@google.com> #19
Starting with AGP 3.5.0-alpha05, the following Gradle property will be available to use:
android.testConfig.useRelativePath
It currently defaults to false. When set to true, the test config file will contain all paths relative to the current project directory. It should already work with Robolectric 4.0+.
Relevant commits:
-
-
Please try out this feature and let us know if you see any issues. I'm expecting to set this flag to true by default soon. Leaving this bug open to keep track of that.
[Deleted User] <[Deleted User]> #20
hu...@google.com <hu...@google.com> #21
me...@gmail.com <me...@gmail.com> #22
Is there a plan to make this available even in future versions of AGP 3.4 ?
hu...@google.com <hu...@google.com> #23
hu...@google.com <hu...@google.com> #24
Change:
ce...@gmail.com <ce...@gmail.com> #25
hu...@google.com <hu...@google.com> #26
[Deleted User] <[Deleted User]> #27
hu...@google.com <hu...@google.com> #28
[Deleted User] <[Deleted User]> #29
> Next, we are working on making unit tests cacheable when includeAndroidResources=true.
:)
Description
No description yet.