diff --git a/.external b/.external
index aecc78825ee..7c301a59843 100644
--- a/.external
+++ b/.external
@@ -1,2 +1,2 @@
-xamarin/monodroid:main@dbc9c67e7bd45744e5174dd7e94e5b642418bef9
+xamarin/monodroid:main@057b17fe491f51823eb814f0163bb92686e24991
mono/mono:2020-02@6dd9def57ce969ca04a0ecd9ef72c0a8f069112d
diff --git a/.github/fabricbot.json b/.github/fabricbot.json
deleted file mode 100644
index 92ca89b1772..00000000000
--- a/.github/fabricbot.json
+++ /dev/null
@@ -1,764 +0,0 @@
-{
- "version": "1.0",
- "tasks": [
- {
- "taskType": "trigger",
- "capabilityId": "IssueResponder",
- "subCapability": "IssuesOnlyResponder",
- "version": "1.0",
- "config": {
- "conditions": {
- "operator": "and",
- "operands": [
- {
- "name": "labelAdded",
- "parameters": {
- "label": "need-info"
- }
- }
- ]
- },
- "eventType": "issue",
- "eventNames": [
- "issues",
- "project_card"
- ],
- "taskName": "Add comment when 'need-info' is applied to issue",
- "actions": [
- {
- "name": "addReply",
- "parameters": {
- "comment": "Hi @${issueAuthor}. We have added the \"need-info\" label to this issue, which indicates that we have an open question for you before we can take further action. This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time."
- }
- }
- ]
- }
- },
- {
- "taskType": "scheduled",
- "capabilityId": "ScheduledSearch",
- "subCapability": "ScheduledSearch",
- "version": "1.1",
- "config": {
- "frequency": [
- {
- "weekDay": 1,
- "hours": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23
- ],
- "timezoneOffset": -5
- },
- {
- "weekDay": 2,
- "hours": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23
- ],
- "timezoneOffset": -5
- },
- {
- "weekDay": 3,
- "hours": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23
- ],
- "timezoneOffset": -5
- },
- {
- "weekDay": 4,
- "hours": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23
- ],
- "timezoneOffset": -5
- },
- {
- "weekDay": 5,
- "hours": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 14,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23
- ],
- "timezoneOffset": -5
- }
- ],
- "searchTerms": [
- {
- "name": "isIssue",
- "parameters": {}
- },
- {
- "name": "isOpen",
- "parameters": {}
- },
- {
- "name": "hasLabel",
- "parameters": {
- "label": "need-info"
- }
- },
- {
- "name": "noActivitySince",
- "parameters": {
- "days": 7
- }
- }
- ],
- "taskName": "[Idle Issue Management] Close stale 'need-info' issues",
- "actions": [
- {
- "name": "addReply",
- "parameters": {
- "comment": "Hi @${issueAuthor}. Due to inactivity, we will be closing this issue. Please feel free to re-open this issue if the issue persists. For enhanced visibility, if over 7 days have passed, please open a new issue and link this issue there. Thank you."
- }
- },
- {
- "name": "closeIssue",
- "parameters": {}
- }
- ]
- }
- },
- {
- "taskType": "trigger",
- "capabilityId": "IssueResponder",
- "subCapability": "IssueCommentResponder",
- "version": "1.0",
- "config": {
- "conditions": {
- "operator": "and",
- "operands": [
- {
- "name": "isAction",
- "parameters": {
- "action": "created"
- }
- },
- {
- "name": "isOpen",
- "parameters": {}
- },
- {
- "name": "hasLabel",
- "parameters": {
- "label": "need-info"
- }
- },
- {
- "operator": "not",
- "operands": [
- {
- "name": "activitySenderHasPermissions",
- "parameters": {
- "permissions": "admin"
- }
- }
- ]
- },
- {
- "operator": "not",
- "operands": [
- {
- "name": "activitySenderHasPermissions",
- "parameters": {
- "permissions": "write"
- }
- }
- ]
- }
- ]
- },
- "eventType": "issue",
- "eventNames": [
- "issue_comment"
- ],
- "taskName": "[Idle Issue Management] Replace 'need-info' with 'need-attention' label when the customer comments on an issue",
- "actions": [
- {
- "name": "removeLabel",
- "parameters": {
- "label": "need-info"
- }
- },
- {
- "name": "addLabel",
- "parameters": {
- "label": "need-attention"
- }
- }
- ]
- }
- },
- {
- "taskType": "trigger",
- "capabilityId": "IssueResponder",
- "subCapability": "IssueCommentResponder",
- "version": "1.0",
- "config": {
- "conditions": {
- "operator": "and",
- "operands": [
- {
- "operator": "not",
- "operands": [
- {
- "name": "isOpen",
- "parameters": {}
- }
- ]
- },
- {
- "name": "isAction",
- "parameters": {
- "action": "created"
- }
- },
- {
- "operator": "not",
- "operands": [
- {
- "name": "noActivitySince",
- "parameters": {
- "days": 7
- }
- }
- ]
- },
- {
- "operator": "not",
- "operands": [
- {
- "name": "isCloseAndComment",
- "parameters": {}
- }
- ]
- },
- {
- "name": "isActivitySender",
- "parameters": {
- "user": {
- "type": "author"
- }
- }
- },
- {
- "name": "activitySenderHasPermissions",
- "parameters": {
- "permissions": "none"
- }
- },
- {
- "name": "hasLabel",
- "parameters": {
- "label": "need-info"
- }
- }
- ]
- },
- "eventType": "issue",
- "eventNames": [
- "issue_comment"
- ],
- "taskName": "[Idle Issue Management] For issues closed due to inactivity, re-open an issue if issue author posts a reply within 7 days.",
- "actions": [
- {
- "name": "reopenIssue",
- "parameters": {}
- },
- {
- "name": "removeLabel",
- "parameters": {
- "label": "need-info"
- }
- },
- {
- "name": "addLabel",
- "parameters": {
- "label": "need-attention"
- }
- }
- ]
- }
- },
- {
- "taskType": "trigger",
- "capabilityId": "IssueResponder",
- "subCapability": "IssueCommentResponder",
- "version": "1.0",
- "config": {
- "conditions": {
- "operator": "and",
- "operands": [
- {
- "name": "isAction",
- "parameters": {
- "action": "created"
- }
- },
- {
- "operator": "not",
- "operands": [
- {
- "name": "isOpen",
- "parameters": {}
- }
- ]
- },
- {
- "name": "activitySenderHasPermissions",
- "parameters": {
- "permissions": "none"
- }
- },
- {
- "name": "noActivitySince",
- "parameters": {
- "days": 7
- }
- },
- {
- "operator": "not",
- "operands": [
- {
- "name": "isCloseAndComment",
- "parameters": {}
- }
- ]
- }
- ]
- },
- "eventType": "issue",
- "eventNames": [
- "issue_comment"
- ],
- "taskName": "[Closed Issue Management] For issues closed with no activity over 7 days, ask non-contributor to consider opening a new issue instead.",
- "actions": [
- {
- "name": "addReply",
- "parameters": {
- "comment": "Hello lovely human, thank you for your comment on this issue. Because this issue has been closed for a period of time, please strongly consider opening a new issue linking to this issue instead to ensure better visibility of your comment. Thank you!"
- }
- }
- ]
- }
- },
- {
- "taskType": "scheduled",
- "capabilityId": "ScheduledSearch",
- "subCapability": "ScheduledSearch",
- "version": "1.1",
- "config": {
- "frequency": [
- {
- "weekDay": 0,
- "hours": [
- 10,
- 22
- ],
- "timezoneOffset": -5
- },
- {
- "weekDay": 1,
- "hours": [
- 10,
- 22
- ],
- "timezoneOffset": -5
- },
- {
- "weekDay": 2,
- "hours": [
- 10,
- 22
- ],
- "timezoneOffset": -5
- },
- {
- "weekDay": 3,
- "hours": [
- 10,
- 22
- ],
- "timezoneOffset": -5
- },
- {
- "weekDay": 4,
- "hours": [
- 10,
- 22
- ],
- "timezoneOffset": -5
- },
- {
- "weekDay": 5,
- "hours": [
- 10,
- 22
- ],
- "timezoneOffset": -5
- },
- {
- "weekDay": 6,
- "hours": [
- 10,
- 22
- ],
- "timezoneOffset": -5
- }
- ],
- "searchTerms": [
- {
- "name": "isClosed",
- "parameters": {}
- },
- {
- "name": "noActivitySince",
- "parameters": {
- "days": 30
- }
- },
- {
- "name": "isUnlocked",
- "parameters": {}
- },
- {
- "name": "isIssue",
- "parameters": {}
- }
- ],
- "taskName": "[Closed Issue Management] Lock issues closed without activity for over 30 days",
- "actions": [
- {
- "name": "lockIssue",
- "parameters": {
- "reason": "resolved"
- }
- }
- ]
- }
- },
- {
- "taskType": "trigger",
- "capabilityId": "IssueResponder",
- "subCapability": "IssuesOnlyResponder",
- "version": "1.0",
- "config": {
- "conditions": {
- "operator": "and",
- "operands": [
- {
- "name": "isAction",
- "parameters": {
- "action": "opened"
- }
- }
- ]
- },
- "eventType": "issue",
- "eventNames": [
- "issues",
- "project_card"
- ],
- "actions": [
- {
- "name": "addLabel",
- "parameters": {
- "label": "needs-triage"
- }
- }
- ],
- "taskName": "[New Issues] Apply 'needs-triage' to new issues"
- }
- },
- {
- "taskType": "trigger",
- "capabilityId": "IssueResponder",
- "subCapability": "IssuesOnlyResponder",
- "version": "1.0",
- "config": {
- "conditions": {
- "operator": "and",
- "operands": [
- {
- "name": "labelAdded",
- "parameters": {
- "label": "possibly-stale"
- }
- }
- ]
- },
- "eventType": "issue",
- "eventNames": [
- "issues",
- "project_card"
- ],
- "taskName": "Manual Issue Cleanup",
- "actions": [
- {
- "name": "addReply",
- "parameters": {
- "comment": "We suspect this issue is stale and no longer relevant. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will undo this process."
- }
- }
- ]
- }
- },
- {
- "taskType": "trigger",
- "capabilityId": "IssueResponder",
- "subCapability": "IssueCommentResponder",
- "version": "1.0",
- "config": {
- "conditions": {
- "operator": "and",
- "operands": [
- {
- "name": "hasLabel",
- "parameters": {
- "label": "possibly-stale"
- }
- }
- ]
- },
- "eventType": "issue",
- "eventNames": [
- "issue_comment"
- ],
- "taskName": "Remove `possibly-stale` label when an issue is commented on",
- "actions": [
- {
- "name": "removeLabel",
- "parameters": {
- "label": "possibly-stale"
- }
- },
- {
- "name": "addLabel",
- "parameters": {
- "label": "need-attention"
- }
- }
- ]
- }
- },
- {
- "taskType": "scheduled",
- "capabilityId": "ScheduledSearch",
- "subCapability": "ScheduledSearch",
- "version": "1.1",
- "config": {
- "frequency": [
- {
- "weekDay": 0,
- "hours": [
- 0,
- 6,
- 12,
- 18
- ]
- },
- {
- "weekDay": 1,
- "hours": [
- 0,
- 6,
- 12,
- 18
- ]
- },
- {
- "weekDay": 2,
- "hours": [
- 0,
- 6,
- 12,
- 18
- ]
- },
- {
- "weekDay": 3,
- "hours": [
- 0,
- 6,
- 12,
- 18
- ]
- },
- {
- "weekDay": 4,
- "hours": [
- 0,
- 6,
- 12,
- 18
- ]
- },
- {
- "weekDay": 5,
- "hours": [
- 0,
- 6,
- 12,
- 18
- ]
- },
- {
- "weekDay": 6,
- "hours": [
- 0,
- 6,
- 12,
- 18
- ]
- }
- ],
- "searchTerms": [
- {
- "name": "isIssue",
- "parameters": {}
- },
- {
- "name": "isOpen",
- "parameters": {}
- },
- {
- "name": "hasLabel",
- "parameters": {
- "label": "possibly-stale"
- }
- },
- {
- "name": "noActivitySince",
- "parameters": {
- "days": 14
- }
- }
- ],
- "taskName": "Close 'possibly-stale' issues with no recent activity",
- "actions": [
- {
- "name": "addReply",
- "parameters": {
- "comment": "This issue will now be closed since it had been marked `possibly-stale` but received no further activity in the past 14 days. It is still possible to reopen or comment on the issue, but please note that the issue will be locked if it remains inactive for another 30 days."
- }
- },
- {
- "name": "closeIssue",
- "parameters": {}
- }
- ]
- }
- }
- ],
- "userGroups": []
-}
\ No newline at end of file
diff --git a/.github/policies/resourceManagement.yml b/.github/policies/resourceManagement.yml
new file mode 100644
index 00000000000..358ce894cbf
--- /dev/null
+++ b/.github/policies/resourceManagement.yml
@@ -0,0 +1,109 @@
+id:
+name: GitOps.PullRequestIssueManagement
+description: GitOps.PullRequestIssueManagement primitive
+owner:
+resource: repository
+disabled: false
+where:
+configuration:
+ resourceManagementConfiguration:
+ scheduledSearches:
+ - description:
+ frequencies:
+ - weekday:
+ day: Monday
+ time: 0:0
+ - weekday:
+ day: Tuesday
+ time: 0:0
+ - weekday:
+ day: Wednesday
+ time: 0:0
+ - weekday:
+ day: Thursday
+ time: 0:0
+ - weekday:
+ day: Friday
+ time: 0:0
+ filters:
+ - isIssue
+ - isOpen
+ - hasLabel:
+ label: need-info
+ - noActivitySince:
+ days: 7
+ actions:
+ - addReply:
+ reply: Hi @${issueAuthor}. Due to inactivity, we will be closing this issue. Please feel free to re-open this issue if the issue persists. For enhanced visibility, if over 7 days have passed, please open a new issue and link this issue there. Thank you.
+ - closeIssue
+ - description:
+ frequencies:
+ - hourly:
+ hour: 6
+ filters:
+ - isIssue
+ - isOpen
+ - hasLabel:
+ label: possibly-stale
+ - noActivitySince:
+ days: 14
+ actions:
+ - addReply:
+ reply: This issue will now be closed since it had been marked `possibly-stale` but received no further activity in the past 14 days. It is still possible to reopen or comment on the issue, but please note that the issue will be locked if it remains inactive for another 30 days.
+ - closeIssue
+ eventResponderTasks:
+ - if:
+ - payloadType: Issues
+ - labelAdded:
+ label: need-info
+ then:
+ - addReply:
+ reply: Hi @${issueAuthor}. We have added the "need-info" label to this issue, which indicates that we have an open question for you before we can take further action. This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.
+ description:
+ - if:
+ - payloadType: Issue_Comment
+ - isAction:
+ action: Created
+ - isOpen
+ - hasLabel:
+ label: need-info
+ - not:
+ activitySenderHasPermission:
+ permission: Admin
+ - not:
+ activitySenderHasPermission:
+ permission: Write
+ then:
+ - removeLabel:
+ label: need-info
+ - addLabel:
+ label: need-attention
+ description:
+ - if:
+ - payloadType: Issues
+ - isAction:
+ action: Opened
+ then:
+ - addLabel:
+ label: needs-triage
+ description:
+ - if:
+ - payloadType: Issues
+ - labelAdded:
+ label: possibly-stale
+ then:
+ - addReply:
+ reply: We suspect this issue is stale and no longer relevant. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will undo this process.
+ description:
+ - if:
+ - payloadType: Issue_Comment
+ - hasLabel:
+ label: possibly-stale
+ then:
+ - removeLabel:
+ label: possibly-stale
+ - addLabel:
+ label: need-attention
+ description:
+onFailure:
+onSuccess:
diff --git a/Configuration.Override.props.in b/Configuration.Override.props.in
index db15e60dbf1..722b508470d 100644
--- a/Configuration.Override.props.in
+++ b/Configuration.Override.props.in
@@ -6,11 +6,11 @@
kept consistent with each other, lest Bad Things Happen™
-->
- 33
+ 34
- v13.0
+ v14.0
- 33
+ 34
21
- 33
+ 34
$(AndroidLatestStableApiLevel)
- v13.0
+ v14.0
34
- UpsideDownCake
- v13.0.99
+ $(AndroidLatestStableApiLevel)
+ v14.0
- 33
+ 34
$(AndroidLatestStableApiLevel)
$(AndroidLatestStablePlatformId)
@@ -148,7 +148,8 @@
34.0.1
False
- 1.8.1
+ 1.15.1
+ $(NUGET_PACKAGES)
$(userprofile)\.nuget\packages
$(HOME)/.nuget/packages
$([System.IO.Path]::PathSeparator)
@@ -179,12 +180,13 @@
$(AndroidSdkFullPath)\platform-tools\
- adb
+ adb
+ adb.exe
$(AndroidToolchainDirectory)
- avdmanager
+ avdmanager
+ avdmanager.bat
$(AndroidSdkFullPath)\tools
$(AndroidToolPath)\bin
- android
7.0
8512546_latest
$(AndroidSdkFullPath)\cmdline-tools\$(CommandLineToolsFolder)\bin
@@ -192,7 +194,8 @@
9364964
32.1.9
$(AndroidSdkFullPath)\emulator
- emulator
+ emulator
+ emulator.exe
$(AndroidNdkDirectory)\ndk-build
$(AndroidNdkDirectory)\ndk-build.cmd
$(MicrosoftAndroidSdkOutDir)bundletool.jar
diff --git a/Directory.Build.props b/Directory.Build.props
index aebf6102cc3..e5e3b2e4cd2 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -35,7 +35,7 @@
* Bump first digit of the patch version for feature releases (and reset the first two digits to 0)
-->
34.0.0
- preview.6
+ rc.2
diff --git a/Documentation/building/unix/dependencies.md b/Documentation/building/unix/dependencies.md
index f2a16e09953..652135f8d8f 100644
--- a/Documentation/building/unix/dependencies.md
+++ b/Documentation/building/unix/dependencies.md
@@ -135,8 +135,7 @@ and to enable it again, issue the following command:
## macOS Dependencies
-The [`android-toolchain.projitems`](../../../build-tools/android-toolchain/android-toolchain.projitems), and
-[`monodroid.projitems`](../../../src/monodroid/monodroid.projitems) project files, among
+The [`android-toolchain.projitems`](../../../build-tools/android-toolchain/android-toolchain.projitems), among
others, use the `@(RequiredProgram)` build action to check for the existence
of a program within `$PATH` during the build. If a required program doesn't
exist, then the build will fail and a suggested `brew install` command line
diff --git a/Documentation/building/windows/instructions.md b/Documentation/building/windows/instructions.md
index 3e20038677a..eb34a08c4ca 100644
--- a/Documentation/building/windows/instructions.md
+++ b/Documentation/building/windows/instructions.md
@@ -20,7 +20,8 @@ MSBuild version 15 or later is required.
5. In a [Developer Command Prompt][developer-prompt], prepare the project:
- dotnet msbuild Xamarin.Android.sln -t:Prepare
+ dotnet msbuild Xamarin.Android.sln -t:Prepare -nodeReuse:false
+ dotnet msbuild external\Java.Interop\Java.Interop.sln -t:Prepare -nodeReuse:false
This will ensure that the build dependencies are installed, perform
`git submodule update`, download NuGet dependencies, and other
@@ -28,13 +29,9 @@ MSBuild version 15 or later is required.
6. Build the project:
- dotnet-local.cmd build Xamarin.Android.sln -m:1
+ dotnet-local.cmd build Xamarin.Android.sln -nodeReuse:false
- 7. In order to use the in-tree Xamarin.Android, build xabuild:
-
- msbuild tools/xabuild/xabuild.csproj /restore
-
- 8. (For Microsoft team members only - Optional) In a [Developer Command
+ 7. (For Microsoft team members only - Optional) In a [Developer Command
Prompt][developer-prompt], build external proprietary git
dependencies:
diff --git a/Documentation/guides/building-apps/build-items.md b/Documentation/guides/building-apps/build-items.md
index 305d34ca957..6da648100fe 100644
--- a/Documentation/guides/building-apps/build-items.md
+++ b/Documentation/guides/building-apps/build-items.md
@@ -352,7 +352,7 @@ In a Xamarin.Android binding project, the **JavaDocJar** build action
is used on `.jar` files that contain *Javadoc HTML*. The Javadoc HTML
is parsed in order to extract parameter names.
-Only certain "Javadoc HTML dialects" are supported, including:
+Only certain "Javadoc HTML variations" are supported, including:
* JDK 1.7 `javadoc` output.
* JDK 1.8 `javadoc` output.
diff --git a/Documentation/guides/building-apps/build-properties.md b/Documentation/guides/building-apps/build-properties.md
index 7743863813b..afe06d94074 100644
--- a/Documentation/guides/building-apps/build-properties.md
+++ b/Documentation/guides/building-apps/build-properties.md
@@ -1303,6 +1303,20 @@ This is only used when building `system` applications.
Support for this property was added in Xamarin.Android 11.3.
+## AndroidStripILAfterAOT
+
+A bool property that specifies whether or not the *method bodies* of AOT compiled methods will be removed.
+
+The default value is `false`, and the method bodies of AOT compiled methods will *not* be removed.
+
+When set to `true`, [`$(AndroidEnableProfiledAot)`](#androidenableprofiledaot) is set to `false` by default.
+This means that in Release configuration builds -- in which
+[`$(RunAOTCompilation)`](#runaotcompilation) is `true` by default -- AOT is enabled for *everything*.
+This can result in increased app sizes. This behavior can be overridden by explicitly setting
+`$(AndroidEnableProfiledAot)` to `true` within your project file.
+
+Support for this property was added in .NET 8.
+
## AndroidSupportedAbis
A string property that contains a
diff --git a/Documentation/release-notes/bundletool-1.8.1.md b/Documentation/release-notes/bundletool-1.8.1.md
deleted file mode 100644
index b295ef52f6a..00000000000
--- a/Documentation/release-notes/bundletool-1.8.1.md
+++ /dev/null
@@ -1,8 +0,0 @@
-### bundletool version update to 1.8.1
-
-The version of the [`bundletool`][bundletool] executable included in
-Xamarin.Android has been updated from 1.4.0 to [1.8.1][bundletool-1.8.1],
-bringing in several improvements and bug fixes.
-
-[bundletool]: https://developer.android.com/studio/command-line/bundletool
-[bundletool-1.8.1]: https://github.com/google/bundletool/releases/tag/1.8.1
\ No newline at end of file
diff --git a/Documentation/workflow/commit-messages.md b/Documentation/workflow/commit-messages.md
index a689caaa509..0ecbba9f56e 100644
--- a/Documentation/workflow/commit-messages.md
+++ b/Documentation/workflow/commit-messages.md
@@ -33,8 +33,8 @@ message is where to put that information.
# English
-Commit message should be properly spelled in some English dialect; it doesn't
-need to be American English vs. British English, but for whichever dialect
+Commit message should be properly spelled in some English regional language; it doesn't
+need to be American English vs. British English, but for whichever regional language
*is* used, words should be spelled correctly. Proper grammar should be used.
Present tense should be used for work done within the current commit.
diff --git a/Makefile b/Makefile
index e04b80c64fa..064b86f7005 100644
--- a/Makefile
+++ b/Makefile
@@ -24,7 +24,6 @@ _PREPARE_ARGS =
all:
$(call DOTNET_BINLOG,all) $(MSBUILD_FLAGS) $(SOLUTION)
$(call DOTNET_BINLOG,setup-workload) -t:ConfigureLocalWorkload build-tools/create-packs/Microsoft.Android.Sdk.proj
- $(call MSBUILD_BINLOG,all,$(_SLN_BUILD)) /restore $(MSBUILD_FLAGS) tools/xabuild/xabuild.csproj
-include bin/Build$(CONFIGURATION)/rules.mk
@@ -95,7 +94,6 @@ MSBUILD_FLAGS += /p:AndroidApiLevel=$(API_LEVEL) /p:AndroidFrameworkVersion=$(wo
endif
all-tests::
- $(call MSBUILD_BINLOG,build-xabuild) /restore tools/xabuild/xabuild.csproj /p:Configuration=$(CONFIGURATION) $(_MSBUILD_ARGS)
MSBUILD="$(MSBUILD)" $(call MSBUILD_BINLOG,all-tests,tools/scripts/xabuild) /restore $(MSBUILD_FLAGS) Xamarin.Android-Tests.sln
pack-dotnet::
diff --git a/NuGet.config b/NuGet.config
index 5e5f9f5e6a7..1ed561d2bd3 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -11,9 +11,9 @@
-
-
-
+
+
+
diff --git a/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/CheckApiCompatibility.cs b/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/CheckApiCompatibility.cs
index e02c42229b1..94330abc2ae 100644
--- a/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/CheckApiCompatibility.cs
+++ b/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/CheckApiCompatibility.cs
@@ -31,7 +31,7 @@ public sealed class CheckApiCompatibility : Task
{ "v12.0", "v11.0" },
{ "v12.1", "v12.0" },
{ "v13.0", "v12.1" },
- { "v13.0.99", "v13.0" },
+ { "v14.0", "v13.0" },
};
static readonly string assemblyToValidate = "Mono.Android.dll";
diff --git a/build-tools/api-merge/merge-configuration.xml b/build-tools/api-merge/merge-configuration.xml
index 411be8f9d78..5de478d68db 100644
--- a/build-tools/api-merge/merge-configuration.xml
+++ b/build-tools/api-merge/merge-configuration.xml
@@ -22,24 +22,9 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/build-tools/api-xml-adjuster/Makefile b/build-tools/api-xml-adjuster/Makefile
index b1a51adc39f..70e00c93001 100644
--- a/build-tools/api-xml-adjuster/Makefile
+++ b/build-tools/api-xml-adjuster/Makefile
@@ -17,7 +17,7 @@ API_XML_TOOL = $(BUILDBIN)/api-xml-adjuster.exe
RUNTIME = mono --debug
RUN_CLASS_PARSE = $(RUNTIME) $(CLASS_PARSE)
RUN_API_XML_TOOL = $(RUNTIME) $(API_XML_TOOL)
-API_LEVELS = 33 UpsideDownCake
+API_LEVELS = 33 34
XML_OUTPUT_DIR = .
diff --git a/build-tools/automation/azure-pipelines-apidocs.yaml b/build-tools/automation/azure-pipelines-apidocs.yaml
index 72b1e9b3ab4..22642c3a19c 100644
--- a/build-tools/automation/azure-pipelines-apidocs.yaml
+++ b/build-tools/automation/azure-pipelines-apidocs.yaml
@@ -59,7 +59,7 @@ stages:
- checkout: self
submodules: recursive
- - script: echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/android-toolchain/jdk-11"
+ - script: echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/android-toolchain/jdk-17"
displayName: set JI_JAVA_HOME
# Set MSBuild property overrides if parameters are set
diff --git a/build-tools/automation/azure-pipelines-nightly.yaml b/build-tools/automation/azure-pipelines-nightly.yaml
index 029a3992395..a67b701fbb3 100644
--- a/build-tools/automation/azure-pipelines-nightly.yaml
+++ b/build-tools/automation/azure-pipelines-nightly.yaml
@@ -153,6 +153,7 @@ stages:
parameters:
emulatorMSBuildArgs: -p:TestAvdExtraBootArgs=-writable-system
jobName: SystemApplicationTests
+ jobTimeout: 120
testSteps:
- template: run-nunit-tests.yaml
parameters:
@@ -170,155 +171,49 @@ stages:
- group: Xamarin-Secrets
- group: xamops-azdev-secrets
jobs:
- - template: yaml-templates/run-emulator-tests.yaml
- parameters:
- jobName: TimeZoneInfoTests1
- emulatorMSBuildArgs: -p:TestAvdShowWindow=true
- testSteps:
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckTimeZoneInfoIsCorrectNode1 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckTimeZoneInfoIsCorrectNode1"
- testResultsFile: TestResult-CheckTimeZoneInfoIsCorrectNode1-$(XA.Build.Configuration).xml
- timeoutInMinutes: 75
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckTimeZoneInfoIsCorrectNode2 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckTimeZoneInfoIsCorrectNode2"
- testResultsFile: TestResult-CheckTimeZoneInfoIsCorrectNode2-$(XA.Build.Configuration).xml
- timeoutInMinutes: 75
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckTimeZoneInfoIsCorrectNode3 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckTimeZoneInfoIsCorrectNode3"
- testResultsFile: TestResult-CheckTimeZoneInfoIsCorrectNode3-$(XA.Build.Configuration).xml
- timeoutInMinutes: 75
- retryCountOnTaskFailure: 2
+ - job: mac_timezoneinfo_tests
+ displayName: TimeZoneInfoTests Emulator Tests
+ strategy:
+ parallel: 3
+ pool:
+ name: VSEng-VSMac-Xamarin-Shared
+ demands:
+ - macOS.Name -equals Ventura
+ - macOS.Architecture -equals x64
+ timeoutInMinutes: 120
+ workspace:
+ clean: all
+ steps:
+ - template: agent-cleanser/v1.yml@yaml-templates
- - template: yaml-templates/run-emulator-tests.yaml
- parameters:
- jobName: TimeZoneInfoTests2
- emulatorMSBuildArgs: -p:TestAvdShowWindow=true
- testSteps:
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckTimeZoneInfoIsCorrectNode4 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckTimeZoneInfoIsCorrectNode4"
- testResultsFile: TestResult-CheckTimeZoneInfoIsCorrectNode4-$(XA.Build.Configuration).xml
- timeoutInMinutes: 75
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckTimeZoneInfoIsCorrectNode5 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckTimeZoneInfoIsCorrectNode5"
- testResultsFile: TestResult-CheckTimeZoneInfoIsCorrectNode5-$(XA.Build.Configuration).xml
- timeoutInMinutes: 75
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckTimeZoneInfoIsCorrectNode6 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckTimeZoneInfoIsCorrectNode6"
- testResultsFile: TestResult-CheckTimeZoneInfoIsCorrectNode6-$(XA.Build.Configuration).xml
- timeoutInMinutes: 75
- retryCountOnTaskFailure: 2
+ - template: yaml-templates/setup-test-environment.yaml
+ parameters:
+ installTestSlicer: true
+ installLegacyDotNet: false
+ restoreNUnitConsole: false
+ updateMono: false
+ xaprepareScenario: EmulatorTestDependencies
- - template: yaml-templates/run-emulator-tests.yaml
- parameters:
- jobName: TimeZoneInfoTests3
- emulatorMSBuildArgs: -p:TestAvdShowWindow=true
- testSteps:
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckTimeZoneInfoIsCorrectNode7 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckTimeZoneInfoIsCorrectNode7"
- testResultsFile: TestResult-CheckTimeZoneInfoIsCorrectNode7-$(XA.Build.Configuration).xml
- timeoutInMinutes: 75
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckTimeZoneInfoIsCorrectNode8 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckTimeZoneInfoIsCorrectNode8"
- testResultsFile: TestResult-CheckTimeZoneInfoIsCorrectNode8-$(XA.Build.Configuration).xml
- timeoutInMinutes: 75
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckTimeZoneInfoIsCorrectNode9 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckTimeZoneInfoIsCorrectNode9"
- testResultsFile: TestResult-CheckTimeZoneInfoIsCorrectNode9-$(XA.Build.Configuration).xml
- timeoutInMinutes: 75
- retryCountOnTaskFailure: 2
+ - task: DownloadPipelineArtifact@2
+ inputs:
+ artifactName: $(TestAssembliesArtifactName)
+ downloadPath: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)
- - template: yaml-templates/run-emulator-tests.yaml
- parameters:
- jobName: TimeZoneInfoTests4
- emulatorMSBuildArgs: -p:TestAvdShowWindow=true
- testSteps:
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckTimeZoneInfoIsCorrectNode10 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckTimeZoneInfoIsCorrectNode10"
- testResultsFile: TestResult-CheckTimeZoneInfoIsCorrectNode10-$(XA.Build.Configuration).xml
- timeoutInMinutes: 75
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckTimeZoneInfoIsCorrectNode11 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckTimeZoneInfoIsCorrectNode11"
- testResultsFile: TestResult-CheckTimeZoneInfoIsCorrectNode11-$(XA.Build.Configuration).xml
- timeoutInMinutes: 75
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckTimeZoneInfoIsCorrectNode12 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckTimeZoneInfoIsCorrectNode12"
- testResultsFile: TestResult-CheckTimeZoneInfoIsCorrectNode12-$(XA.Build.Configuration).xml
- timeoutInMinutes: 75
- retryCountOnTaskFailure: 2
+ - template: yaml-templates/start-stop-emulator.yaml
+ parameters:
+ emulatorMSBuildArgs: -p:TestAvdShowWindow=true
- - template: yaml-templates/run-emulator-tests.yaml
- parameters:
- jobName: TimeZoneInfoTests5
- emulatorMSBuildArgs: -p:TestAvdShowWindow=true
- testSteps:
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckTimeZoneInfoIsCorrectNode13 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckTimeZoneInfoIsCorrectNode13"
- testResultsFile: TestResult-CheckTimeZoneInfoIsCorrectNode13-$(XA.Build.Configuration).xml
- timeoutInMinutes: 75
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckTimeZoneInfoIsCorrectNode14 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckTimeZoneInfoIsCorrectNode14"
- testResultsFile: TestResult-CheckTimeZoneInfoIsCorrectNode14-$(XA.Build.Configuration).xml
- timeoutInMinutes: 75
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckTimeZoneInfoIsCorrectNode15 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckTimeZoneInfoIsCorrectNode15"
- testResultsFile: TestResult-CheckTimeZoneInfoIsCorrectNode15-$(XA.Build.Configuration).xml
- timeoutInMinutes: 75
- retryCountOnTaskFailure: 2
+ - template: yaml-templates/run-sliced-nunit-tests.yaml
+ parameters:
+ testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
+ testFilter: method == CheckTimeZoneInfoIsCorrectWithSlicer
+ testRunTitle: CheckTimeZoneInfoIsCorrectNode On Device - macOS
+
+ - template: yaml-templates/upload-results.yaml
+ parameters:
+ artifactName: Test Results - TimeZoneInfoTests With Emulator - macOS-$(System.JobPositionInPhase)
+
+ - template: yaml-templates/fail-on-issue.yaml
# Localization test jobs
@@ -329,137 +224,46 @@ stages:
- group: Xamarin-Secrets
- group: xamops-azdev-secrets
jobs:
- - template: yaml-templates/run-emulator-tests.yaml
- parameters:
- jobName: LocalizationTests1
- emulatorMSBuildArgs: -p:TestAvdShowWindow=true
- testSteps:
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckLocalizationIsCorrectNode1 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckLocalizationIsCorrectNode1"
- testResultsFile: TestResult-CheckLocalizationIsCorrectNode1-$(XA.Build.Configuration).xml
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckLocalizationIsCorrectNode2 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckLocalizationIsCorrectNode2"
- testResultsFile: TestResult-CheckLocalizationIsCorrectNode2-$(XA.Build.Configuration).xml
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckLocalizationIsCorrectNode3 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckLocalizationIsCorrectNode3"
- testResultsFile: TestResult-CheckLocalizationIsCorrectNode3-$(XA.Build.Configuration).xml
- retryCountOnTaskFailure: 2
+ - job: mac_localization_tests
+ displayName: Localization Emulator Tests
+ strategy:
+ parallel: 6
+ pool:
+ name: VSEng-VSMac-Xamarin-Shared
+ demands:
+ - macOS.Name -equals Ventura
+ - macOS.Architecture -equals x64
+ timeoutInMinutes: 150
+ workspace:
+ clean: all
+ steps:
+ - template: agent-cleanser/v1.yml@yaml-templates
- - template: yaml-templates/run-emulator-tests.yaml
- parameters:
- jobName: LocalizationTests2
- emulatorMSBuildArgs: -p:TestAvdShowWindow=true
- testSteps:
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckLocalizationIsCorrectNode4 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckLocalizationIsCorrectNode4"
- testResultsFile: TestResult-CheckLocalizationIsCorrectNode4-$(XA.Build.Configuration).xml
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckLocalizationIsCorrectNode5 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckLocalizationIsCorrectNode5"
- testResultsFile: TestResult-CheckLocalizationIsCorrectNode5-$(XA.Build.Configuration).xml
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckLocalizationIsCorrectNode6 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckLocalizationIsCorrectNode6"
- testResultsFile: TestResult-CheckLocalizationIsCorrectNode6-$(XA.Build.Configuration).xml
- retryCountOnTaskFailure: 2
+ - template: yaml-templates/setup-test-environment.yaml
+ parameters:
+ installTestSlicer: true
+ installLegacyDotNet: false
+ restoreNUnitConsole: false
+ updateMono: false
+ xaprepareScenario: EmulatorTestDependencies
- - template: yaml-templates/run-emulator-tests.yaml
- parameters:
- jobName: LocalizationTests3
- emulatorMSBuildArgs: -p:TestAvdShowWindow=true
- testSteps:
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckLocalizationIsCorrectNode7 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckLocalizationIsCorrectNode7"
- testResultsFile: TestResult-CheckLocalizationIsCorrectNode7-$(XA.Build.Configuration).xml
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckLocalizationIsCorrectNode8 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckLocalizationIsCorrectNode8"
- testResultsFile: TestResult-CheckLocalizationIsCorrectNode8-$(XA.Build.Configuration).xml
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckLocalizationIsCorrectNode9 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckLocalizationIsCorrectNode9"
- testResultsFile: TestResult-CheckLocalizationIsCorrectNode9-$(XA.Build.Configuration).xml
- retryCountOnTaskFailure: 2
+ - task: DownloadPipelineArtifact@2
+ inputs:
+ artifactName: $(TestAssembliesArtifactName)
+ downloadPath: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)
- - template: yaml-templates/run-emulator-tests.yaml
- parameters:
- jobName: LocalizationTests4
- emulatorMSBuildArgs: -p:TestAvdShowWindow=true
- testSteps:
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckLocalizationIsCorrectNode10 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckLocalizationIsCorrectNode10"
- testResultsFile: TestResult-CheckLocalizationIsCorrectNode10-$(XA.Build.Configuration).xml
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckLocalizationIsCorrectNode11 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckLocalizationIsCorrectNode11"
- testResultsFile: TestResult-CheckLocalizationIsCorrectNode11-$(XA.Build.Configuration).xml
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckLocalizationIsCorrectNode12 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckLocalizationIsCorrectNode12"
- testResultsFile: TestResult-CheckLocalizationIsCorrectNode12-$(XA.Build.Configuration).xml
- retryCountOnTaskFailure: 2
+ - template: yaml-templates/start-stop-emulator.yaml
+ parameters:
+ emulatorMSBuildArgs: -p:TestAvdShowWindow=true
- - template: yaml-templates/run-emulator-tests.yaml
- parameters:
- jobName: LocalizationTests5
- emulatorMSBuildArgs: -p:TestAvdShowWindow=true
- testSteps:
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckLocalizationIsCorrectNode13 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckLocalizationIsCorrectNode13"
- testResultsFile: TestResult-CheckLocalizationIsCorrectNode13-$(XA.Build.Configuration).xml
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckLocalizationIsCorrectNode14 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckLocalizationIsCorrectNode14"
- testResultsFile: TestResult-CheckLocalizationIsCorrectNode14-$(XA.Build.Configuration).xml
- retryCountOnTaskFailure: 2
- - template: run-nunit-tests.yaml
- parameters:
- testRunTitle: CheckLocalizationIsCorrectNode15 On Device - macOS
- testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- dotNetTestExtraArgs: --filter "Name=CheckLocalizationIsCorrectNode15"
- testResultsFile: TestResult-CheckLocalizationIsCorrectNode15-$(XA.Build.Configuration).xml
- retryCountOnTaskFailure: 2
+ - template: yaml-templates/run-sliced-nunit-tests.yaml
+ parameters:
+ testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
+ testFilter: method == CheckLocalizationIsCorrectWithSlicer
+ testRunTitle: CheckLocalizationIsCorrect On Device - macOS
+
+ - template: yaml-templates/upload-results.yaml
+ parameters:
+ artifactName: Test Results - Localization With Emulator - macOS-$(System.JobPositionInPhase)
+
+ - template: yaml-templates/fail-on-issue.yaml
diff --git a/build-tools/automation/azure-pipelines-release-trigger.yaml b/build-tools/automation/azure-pipelines-release-trigger.yaml
index d612a931238..8e197d55709 100644
--- a/build-tools/automation/azure-pipelines-release-trigger.yaml
+++ b/build-tools/automation/azure-pipelines-release-trigger.yaml
@@ -12,6 +12,10 @@ resources:
trigger:
stages:
- post_build
+ branches:
+ exclude:
+ - main
+ - release/*
jobs:
- job: release_trigger
diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml
index 0ca96a500ec..504a82311af 100644
--- a/build-tools/automation/azure-pipelines.yaml
+++ b/build-tools/automation/azure-pipelines.yaml
@@ -30,6 +30,11 @@ resources:
name: xamarin/release-scripts
ref: refs/heads/sign-and-notarized
endpoint: xamarin
+ - repository: maui
+ type: github
+ name: dotnet/maui
+ ref: refs/heads/net8.0
+ endpoint: xamarin
parameters:
- name: provisionatorChannel
@@ -107,7 +112,7 @@ stages:
restoreNUnitConsole: false
updateMono: false
xaprepareScenario: EmulatorTestDependencies
-
+
- task: DownloadPipelineArtifact@2
inputs:
artifactName: $(TestAssembliesArtifactName)
@@ -135,7 +140,7 @@ stages:
arguments: -t:PrepareJavaInterop -c $(XA.Build.Configuration) --no-restore
displayName: prepare java.interop $(XA.Build.Configuration)
continueOnError: false
-
+
- template: yaml-templates/start-stop-emulator.yaml
- template: yaml-templates/apk-instrumentation.yaml
@@ -196,7 +201,7 @@ stages:
extraBuildArgs: -p:TestsFlavor=AotLlvm -p:EnableLLVM=true -p:AndroidEnableProfiledAot=false
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
artifactFolder: $(DotNetTargetFramework)-AotLlvm
-
+
- template: yaml-templates/apk-instrumentation.yaml
parameters:
configuration: $(XA.Build.Configuration)
@@ -215,13 +220,19 @@ stages:
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Xamarin.Android.JcwGen_Tests-Signed.apk
artifactFolder: $(DotNetTargetFramework)-FastDev_Assemblies_Dexes
extraBuildArgs: /p:AndroidFastDeploymentType=Assemblies:Dexes
-
+
- template: yaml-templates/run-nunit-tests.yaml
parameters:
testRunTitle: Xamarin.Android.Tools.Aidl-Tests - macOS
testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/$(DotNetStableTargetFramework)/Xamarin.Android.Tools.Aidl-Tests.dll
testResultsFile: TestResult-Aidl-Tests-macOS-$(XA.Build.Configuration).xml
+ - task: ShellScript@2
+ displayName: Test dotnet-local.sh
+ inputs:
+ scriptPath: dotnet-local.sh
+ args: build samples/HelloWorld/HelloWorld/HelloWorld.DotNet.csproj
+
- ${{ if ne(parameters.macTestAgentsUseCleanImages, true) }}:
- template: yaml-templates/start-stop-emulator.yaml
parameters:
@@ -268,22 +279,160 @@ stages:
parameters:
testRunTitle: Xamarin.Android.Build.Tests - Linux .NET 6 Smoke Tests
testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/$(DotNetStableTargetFramework)/Xamarin.Android.Build.Tests.dll
- dotNetTestExtraArgs: --filter "TestCategory = SmokeTests $(DotNetNUnitCategories)"
+ dotNetTestExtraArgs: --filter "TestCategory = SmokeTests"
testResultsFile: TestResult-NETSmokeMSBuildTests-Linux-$(XA.Build.Configuration).xml
+ - task: ShellScript@2
+ displayName: Test dotnet-local.sh
+ inputs:
+ scriptPath: dotnet-local.sh
+ args: build samples/HelloWorld/HelloWorld/HelloWorld.DotNet.csproj
+
- template: yaml-templates/upload-results.yaml
parameters:
configuration: $(XA.Build.Configuration)
artifactName: Test Results - MSBuild Smoke - Linux
- template: yaml-templates/fail-on-issue.yaml
-
+
- template: yaml-templates/stage-msbuild-tests.yaml
-
+
- template: yaml-templates/stage-msbuild-emulator-tests.yaml
parameters:
usesCleanImages: ${{ parameters.macTestAgentsUseCleanImages }}
+- stage: maui_tests
+ displayName: MAUI Tests
+ dependsOn: mac_build
+ condition: and(eq(dependencies.mac_build.result, 'Succeeded'), eq(variables['System.PullRequest.TargetBranch'], 'main'))
+ jobs:
+ # Check - "Xamarin.Android (MAUI Tests MAUI Integration)"
+ - job: maui_tests_integration
+ displayName: MAUI Integration
+ pool: $(1ESWindowsPool)
+ timeoutInMinutes: 180
+ workspace:
+ clean: all
+ variables:
+ BuildVersion: $(Build.BuildId)
+ steps:
+ - checkout: maui
+ clean: true
+ submodules: recursive
+ path: s/maui
+ persistCredentials: true
+
+ - template: yaml-templates/setup-test-environment.yaml
+ parameters:
+ xaSourcePath: $(Build.SourcesDirectory)/xamarin-android
+ provisionClassic: false
+ provisionatorChannel: ${{ parameters.provisionatorChannel }}
+ installLegacyDotNet: false
+ restoreNUnitConsole: false
+ updateMono: false
+ androidSdkPlatforms: 23,24,25,26,27,28,29,30,31,32,$(DefaultTestSdkPlatforms)
+
+ - task: NuGetAuthenticate@0
+ displayName: authenticate with azure artifacts
+ inputs:
+ forceReinstallCredentialProvider: true
+
+ - script: |
+ echo ##vso[task.setvariable variable=JI_JAVA_HOME]%JAVA_HOME_11_X64%
+ echo ##vso[task.setvariable variable=JAVA_HOME]%JAVA_HOME_11_X64%
+ displayName: set JI_JAVA_HOME, JAVA_HOME
+
+ - task: DownloadPipelineArtifact@2
+ inputs:
+ artifactName: $(NuGetArtifactName)
+ downloadPath: $(Build.StagingDirectory)/android-packs
+
+ - pwsh: |
+ $searchPath = Join-Path $(Build.StagingDirectory) android-packs
+ $wlmanPack = Get-ChildItem $searchPath -Filter *Android*Manifest*.nupkg | Select-Object -First 1
+ $dest = Join-Path $searchPath "tmp-wlman" "$($wlmanPack.BaseName)"
+ Expand-Archive -LiteralPath $wlmanPack -DestinationPath $dest
+ $wlmanJsonPath = Join-Path $dest "data" "WorkloadManifest.json"
+ $json = Get-Content $wlmanJsonPath | ConvertFrom-Json -AsHashtable
+ Write-Host "Setting variable ANDROID_PACK_VERSION = $($json["version"])"
+ Write-Host "##vso[task.setvariable variable=ANDROID_PACK_VERSION;]$($json["version"])"
+ displayName: Set ANDROID_PACK_VERSION
+
+ - pwsh: >-
+ $(Build.SourcesDirectory)/maui/eng/scripts/update-version-props.ps1
+ -xmlFileName "$(Build.SourcesDirectory)/maui/eng/Versions.props"
+ -androidVersion $(ANDROID_PACK_VERSION)
+ displayName: Update MAUI's Android dependency
+
+ - task: DotNetCoreCLI@2
+ displayName: Update Android SDK band in Workloads.csproj
+ inputs:
+ projects: $(Build.SourcesDirectory)/xamarin-android/Xamarin.Android.sln
+ arguments: -t:UpdateMauiWorkloadsProj -c $(XA.Build.Configuration) --no-restore -v:n -bl:$(Build.StagingDirectory)/logs/update-maui-workloadsproj.binlog
+
+ - pwsh: ./build.ps1 --target=dotnet --configuration="$(XA.Build.Configuration)" --nugetsource="$(Build.StagingDirectory)\android-packs" --verbosity=diagnostic
+ displayName: Install .NET
+ retryCountOnTaskFailure: 3
+ workingDirectory: $(Build.SourcesDirectory)/maui
+
+ - pwsh: ./build.ps1 --target=dotnet-pack --configuration="$(XA.Build.Configuration)" --nugetsource="$(Build.StagingDirectory)\android-packs" --verbosity=diagnostic
+ displayName: Pack .NET Maui
+ workingDirectory: $(Build.SourcesDirectory)/maui
+
+ - task: DotNetCoreCLI@2
+ displayName: Install MAUI workload packs
+ retryCountOnTaskFailure: 3
+ inputs:
+ projects: $(Build.SourcesDirectory)/xamarin-android/Xamarin.Android.sln
+ arguments: -t:InstallMaui -p:MauiUseLocalPacks=true -p:MauiWorkloadToInstall=maui -c $(XA.Build.Configuration) --no-restore -v:n -bl:$(Build.StagingDirectory)/logs/install-maui.binlog
+
+ - template: yaml-templates/run-dotnet-preview.yaml
+ parameters:
+ command: new
+ arguments: maui -o $(Build.StagingDirectory)/MauiTestProj
+ xaSourcePath: $(Build.SourcesDirectory)/xamarin-android
+ displayName: Create MAUI template
+ continueOnError: false
+
+ - template: yaml-templates/run-dotnet-preview.yaml
+ parameters:
+ project: $(Build.StagingDirectory)/MauiTestProj/MauiTestProj.csproj
+ arguments: >-
+ -f $(DotNetTargetFramework)-android -c Debug
+ --configfile $(Build.SourcesDirectory)/maui/NuGet.config
+ -bl:$(Build.StagingDirectory)/logs/MauiTestProj-Debug.binlog
+ xaSourcePath: $(Build.SourcesDirectory)/xamarin-android
+ displayName: Build MAUI template - Debug
+
+ - template: yaml-templates/run-dotnet-preview.yaml
+ parameters:
+ project: $(Build.StagingDirectory)/MauiTestProj/MauiTestProj.csproj
+ arguments: >-
+ -f $(DotNetTargetFramework)-android -c Release
+ --configfile $(Build.SourcesDirectory)/maui/NuGet.config
+ -bl:$(Build.StagingDirectory)/logs/MauiTestProj-Release.binlog
+ xaSourcePath: $(Build.SourcesDirectory)/xamarin-android
+ displayName: Build MAUI template - Release
+
+ - task: CopyFiles@2
+ displayName: copy build logs
+ condition: always()
+ inputs:
+ Contents: |
+ $(Build.SourcesDirectory)/maui/artifacts/logs/**
+ TargetFolder: $(Build.StagingDirectory)/logs
+ flattenFolders: true
+
+ - template: yaml-templates/publish-artifact.yaml
+ parameters:
+ displayName: upload build and test results
+ artifactName: Test Results - MAUI Integration
+ targetPath: $(Build.StagingDirectory)/logs
+ condition: or(ne(variables['Agent.JobStatus'], 'Succeeded'), eq(variables['XA.PublishAllLogs'], 'true'))
+
+ - template: yaml-templates/fail-on-issue.yaml
+
+
- stage: dotnet_prepare_release
displayName: Prepare .NET Release
dependsOn:
@@ -333,7 +482,9 @@ stages:
- task: MicroBuildCodesignVerify@3
displayName: verify signed msi content
inputs:
- TargetFolders: $(Build.StagingDirectory)\bin\manifests
+ TargetFolders: |
+ $(Build.ArtifactStagingDirectory)\bin\manifests
+ $(Build.ArtifactStagingDirectory)\bin\manifests-multitarget
ExcludeSNVerify: true
ApprovalListPathForCerts: $(Build.StagingDirectory)\sign-verify\SignVerifyIgnore.txt
@@ -452,12 +603,73 @@ stages:
- dotnet_prepare_release
condition: and(eq(variables['MicroBuildSignType'], 'Real'), eq(dependencies.dotnet_prepare_release.result, 'Succeeded'))
jobs:
- - template: compliance/sbom/job.v1.yml@yaml-templates
- parameters:
- artifactNames: [ nuget-signed, nuget-linux-signed, vs-msi-nugets, vsdrop-signed ]
- packageName: xamarin-android
- packageFilter: '*.nupkg;*.msi'
- GitHub.Token: $(GitHub.Token)
+ - job: sbom
+ displayName: Generate SBOM
+ timeoutInMinutes: 60
+ pool:
+ name: AzurePipelines-EO
+ demands:
+ - ImageOverride -equals AzurePipelinesWindows2022compliant
+ variables:
+ Packaging.EnableSBOMSigning: true
+ workspace:
+ clean: all
+ steps:
+ - checkout: self
+ submodules: recursive
+
+ - task: DownloadPipelineArtifact@2
+ inputs:
+ artifactName: nuget-signed
+ downloadPath: $(Build.StagingDirectory)\packages
+ patterns: '*.nupkg'
+
+ - task: DownloadPipelineArtifact@2
+ inputs:
+ artifactName: nuget-linux-signed
+ downloadPath: $(Build.StagingDirectory)\packages
+ patterns: '*.nupkg'
+
+ - task: DownloadPipelineArtifact@2
+ inputs:
+ artifactName: $(WindowsToolchainPdbArtifactName)
+ downloadPath: $(Build.StagingDirectory)\packages
+
+ - task: DownloadPipelineArtifact@2
+ inputs:
+ artifactName: vs-msi-nugets
+ downloadPath: $(Build.StagingDirectory)\packages
+ patterns: '*.nupkg'
+
+ - task: DownloadPipelineArtifact@2
+ inputs:
+ artifactName: vsdrop-signed
+ downloadPath: $(Build.StagingDirectory)\packages
+ patterns: '*.msi'
+
+ - task: DownloadPipelineArtifact@2
+ inputs:
+ artifactName: vsdrop-multitarget-signed
+ downloadPath: $(Build.StagingDirectory)\packages
+ patterns: '*.msi'
+
+ - task: DownloadPipelineArtifact@2
+ inputs:
+ artifactName: sbom-components-macos
+ downloadPath: $(Build.StagingDirectory)\sbom\components-macos
+
+ - task: DownloadPipelineArtifact@2
+ inputs:
+ artifactName: sbom-components-linux
+ downloadPath: $(Build.StagingDirectory)\sbom\components-linux
+
+ - template: compliance/sbom/scan.v1.yml@yaml-templates
+ parameters:
+ dropDirectory: $(Build.StagingDirectory)\packages
+ componentsDirectory: $(Build.StagingDirectory)\sbom
+ manifestDirectory: $(Build.StagingDirectory)\sbom
+ packageName: .NET Android
+ packageVersionRegex: '(?i)^Microsoft.*\.(?\d+\.\d+\.\d+(-.*)?\.\d+).nupkg$'
# Check - "Xamarin.Android (Compliance)"
- template: security/full/v0.yml@yaml-templates
diff --git a/build-tools/automation/guardian/PoliCheck.Exclusions.xml b/build-tools/automation/guardian/PoliCheck.Exclusions.xml
index e124c813528..61d3f1c1139 100644
--- a/build-tools/automation/guardian/PoliCheck.Exclusions.xml
+++ b/build-tools/automation/guardian/PoliCheck.Exclusions.xml
@@ -1,9 +1,9 @@
+
LICENSE-DATA|NREFACTORY|LOCALIZE
- src\Mono.Android\Profiles
-
+ src\Mono.Android\Profiles|src\Mono.Android\PublicAPI
diff --git a/build-tools/automation/yaml-templates/build-linux.yaml b/build-tools/automation/yaml-templates/build-linux.yaml
index 9e684725b90..12ea459a70e 100644
--- a/build-tools/automation/yaml-templates/build-linux.yaml
+++ b/build-tools/automation/yaml-templates/build-linux.yaml
@@ -85,6 +85,29 @@ stages:
artifactName: ${{ parameters.nugetArtifactName }}
targetPath: $(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/nuget-linux
+ - powershell: |
+ [IO.Directory]::CreateDirectory("$(Build.StagingDirectory)/empty")
+ [IO.Directory]::CreateDirectory("$(Build.StagingDirectory)/sbom-components")
+ displayName: create SBOM directories
+ condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real'))
+
+ - task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0
+ displayName: generate components SBOM
+ condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real'))
+ inputs:
+ BuildDropPath: $(Build.StagingDirectory)/empty
+ BuildComponentPath: $(System.DefaultWorkingDirectory)/xamarin-android
+ ManifestDirPath: $(Build.StagingDirectory)/sbom-components
+ PackageName: .NET Android
+ Verbosity: Verbose
+
+ - task: PublishBuildArtifacts@1
+ displayName: publish components SBOM
+ condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real'))
+ inputs:
+ artifactName: sbom-components-linux
+ pathToPublish: $(Build.StagingDirectory)/sbom-components
+
- template: upload-results.yaml
parameters:
xaSourcePath: $(System.DefaultWorkingDirectory)/xamarin-android
diff --git a/build-tools/automation/yaml-templates/build-macos.yaml b/build-tools/automation/yaml-templates/build-macos.yaml
index 363f840c229..919fa4d419e 100644
--- a/build-tools/automation/yaml-templates/build-macos.yaml
+++ b/build-tools/automation/yaml-templates/build-macos.yaml
@@ -60,6 +60,29 @@ stages:
parameters:
condition: and(succeededOrFailed(), eq(variables['MicroBuildSignType'], 'Real'))
+ - powershell: |
+ [IO.Directory]::CreateDirectory("$(Build.StagingDirectory)/empty")
+ [IO.Directory]::CreateDirectory("$(Build.StagingDirectory)/sbom-components")
+ displayName: create SBOM directories
+ condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real'))
+
+ - task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0
+ displayName: generate components SBOM
+ condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real'))
+ inputs:
+ BuildDropPath: $(Build.StagingDirectory)/empty
+ BuildComponentPath: $(System.DefaultWorkingDirectory)/xamarin-android
+ ManifestDirPath: $(Build.StagingDirectory)/sbom-components
+ PackageName: .NET Android
+ Verbosity: Verbose
+
+ - task: PublishBuildArtifacts@1
+ displayName: publish components SBOM
+ condition: and(succeeded(), eq(variables['MicroBuildSignType'], 'Real'))
+ inputs:
+ artifactName: sbom-components-macos
+ pathToPublish: $(Build.StagingDirectory)/sbom-components
+
- script: >
mkdir -p $(System.DefaultWorkingDirectory)/xamarin-android/bin/Build$(XA.Build.Configuration)/windows-toolchain-pdb &&
cd $(System.DefaultWorkingDirectory)/xamarin-android/bin/$(XA.Build.Configuration)/lib/packs/Microsoft.Android.Sdk.Darwin/*/tools/binutils/windows-toolchain-pdb &&
diff --git a/build-tools/automation/yaml-templates/build-windows.yaml b/build-tools/automation/yaml-templates/build-windows.yaml
index b94bb97c15b..133c87ba616 100644
--- a/build-tools/automation/yaml-templates/build-windows.yaml
+++ b/build-tools/automation/yaml-templates/build-windows.yaml
@@ -86,14 +86,23 @@ stages:
displayName: Build Solution
continueOnError: false
- - template: install-apkdiff.yaml
+ - template: install-global-tool.yaml
+ parameters:
+ toolName: apkdiff
+ version: $(ApkDiffToolVersion)
- template: run-nunit-tests.yaml
parameters:
testRunTitle: Smoke MSBuild Tests - Windows Dotnet Build
testAssembly: $(System.DefaultWorkingDirectory)\bin\Test$(XA.Build.Configuration)\$(DotNetStableTargetFramework)\Xamarin.Android.Build.Tests.dll
testResultsFile: TestResult-SmokeMSBuildTests-WinDotnetBuild-$(XA.Build.Configuration).xml
- dotNetTestExtraArgs: --filter "TestCategory = SmokeTests $(DotNetNUnitCategories)"
+ dotNetTestExtraArgs: --filter "TestCategory = SmokeTests"
+
+ - task: BatchScript@1
+ displayName: Test dotnet-local.cmd
+ inputs:
+ filename: dotnet-local.cmd
+ arguments: build samples\HelloWorld\HelloWorld\HelloWorld.DotNet.csproj
- template: upload-results.yaml
parameters:
diff --git a/build-tools/automation/yaml-templates/commercial-build.yaml b/build-tools/automation/yaml-templates/commercial-build.yaml
index d1a6a3e4977..a08ff123743 100644
--- a/build-tools/automation/yaml-templates/commercial-build.yaml
+++ b/build-tools/automation/yaml-templates/commercial-build.yaml
@@ -7,7 +7,7 @@ parameters:
testAssembliesArtifactName: $(TestAssembliesArtifactName)
steps:
-- script: echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/android-toolchain/jdk-11"
+- script: echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/android-toolchain/jdk-17"
displayName: set JI_JAVA_HOME
- template: use-dot-net.yaml
@@ -32,9 +32,18 @@ steps:
workingDirectory: ${{ parameters.xaSourcePath }}
displayName: make prepare-update-mono
-# Clone and prepare monodroid with submodules, but disregard the unused xamarin-android submodule.
+# Clone 'monodroid' without submodules
- checkout: monodroid
clean: true
+ path: s/xamarin-android/external/monodroid
+
+# Tell git to ignore the 'xamarin-android' submodule, which is large and unneeded
+- script: git config submodule."external/xamarin-android".update none
+ workingDirectory: xamarin-android/external/monodroid
+ displayName: Ignore XA submodule
+
+# Clone 'monodroid' with the rest of the submodules
+- checkout: monodroid
submodules: recursive
path: s/xamarin-android/external/monodroid
persistCredentials: true
diff --git a/build-tools/automation/yaml-templates/install-apkdiff.yaml b/build-tools/automation/yaml-templates/install-apkdiff.yaml
deleted file mode 100644
index 79f79b62678..00000000000
--- a/build-tools/automation/yaml-templates/install-apkdiff.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-parameters:
- version: '0.0.15'
- condition: succeeded()
- continueOnError: true
-
-steps:
-- powershell: dotnet tool uninstall apkdiff -g
- displayName: uninstall apkdiff
- ignoreLASTEXITCODE: true
- condition: ${{ parameters.condition }}
-
-- script: dotnet tool update apkdiff --version ${{ parameters.version }} --add-source https://api.nuget.org/v3/index.json -g
- displayName: install apkdiff ${{ parameters.version }}
- condition: ${{ parameters.condition }}
- continueOnError: ${{ parameters.continueOnError }}
diff --git a/build-tools/automation/yaml-templates/install-dotnet-test-slicer.yaml b/build-tools/automation/yaml-templates/install-dotnet-test-slicer.yaml
deleted file mode 100644
index 219d01d8ec7..00000000000
--- a/build-tools/automation/yaml-templates/install-dotnet-test-slicer.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-parameters:
- version: '0.1.0-alpha5'
- condition: succeeded()
- continueOnError: true
-
-steps:
-- powershell: dotnet tool uninstall dotnet-test-slicer -g
- displayName: uninstall dotnet-test-slicer
- ignoreLASTEXITCODE: true
- condition: ${{ parameters.condition }}
-
-- script: dotnet tool update dotnet-test-slicer --version ${{ parameters.version }} --add-source https://api.nuget.org/v3/index.json -g
- displayName: install dotnet-test-slicer ${{ parameters.version }}
- condition: ${{ parameters.condition }}
- continueOnError: ${{ parameters.continueOnError }}
diff --git a/build-tools/automation/yaml-templates/install-global-tool.yaml b/build-tools/automation/yaml-templates/install-global-tool.yaml
new file mode 100644
index 00000000000..69ac8c28583
--- /dev/null
+++ b/build-tools/automation/yaml-templates/install-global-tool.yaml
@@ -0,0 +1,23 @@
+parameters:
+ toolName: ''
+ version: ''
+ condition: succeeded()
+ continueOnError: true
+
+steps:
+- powershell: dotnet tool uninstall ${{ parameters.toolName }} -g
+ displayName: uninstall ${{ parameters.toolName }}
+ ignoreLASTEXITCODE: true
+ condition: ${{ parameters.condition }}
+
+- task: DotNetCoreCLI@2
+ displayName: install ${{ parameters.toolName }} ${{ parameters.version }}
+ condition: ${{ parameters.condition }}
+ continueOnError: ${{ parameters.continueOnError }}
+ inputs:
+ command: custom
+ custom: tool
+ arguments: >-
+ update ${{ parameters.toolName }} -g
+ --version ${{ parameters.version }}
+ --add-source "https://api.nuget.org/v3/index.json"
diff --git a/build-tools/automation/yaml-templates/run-dotnet-preview.yaml b/build-tools/automation/yaml-templates/run-dotnet-preview.yaml
index f0b62b4eb1d..951a82e3f12 100644
--- a/build-tools/automation/yaml-templates/run-dotnet-preview.yaml
+++ b/build-tools/automation/yaml-templates/run-dotnet-preview.yaml
@@ -13,9 +13,13 @@ parameters:
steps:
- powershell: |
if ([Environment]::OSVersion.Platform -eq "Unix") {
- $dotnetPath = "${{ parameters.xaSourcePath }}/bin/${{ parameters.configuration }}/dotnet/dotnet"
+ $DOTNET_ROOT = "${{ parameters.xaSourcePath }}/bin/${{ parameters.configuration }}/dotnet"
+ $env:PATH = "${DOTNET_ROOT}:$env:PATH"
+ $dotnetPath = "${DOTNET_ROOT}/dotnet"
} else {
- $dotnetPath = "${{ parameters.xaSourcePath }}\bin\${{ parameters.configuration }}\dotnet\dotnet.exe"
+ $DOTNET_ROOT = "${{ parameters.xaSourcePath }}\bin\${{ parameters.configuration }}\dotnet"
+ $env:PATH = "${DOTNET_ROOT};$env:PATH"
+ $dotnetPath = "${DOTNET_ROOT}\dotnet.exe"
}
& $dotnetPath ${{ parameters.command }} ${{ parameters.project }} ${{ parameters.arguments }}
if ([System.Convert]::ToBoolean("${{ parameters.useExitCodeForErrors }}") -and $LASTEXITCODE -ne 0) {
diff --git a/build-tools/automation/yaml-templates/run-emulator-tests.yaml b/build-tools/automation/yaml-templates/run-emulator-tests.yaml
index 81b115b8c06..cd43adf44bf 100644
--- a/build-tools/automation/yaml-templates/run-emulator-tests.yaml
+++ b/build-tools/automation/yaml-templates/run-emulator-tests.yaml
@@ -10,11 +10,16 @@ jobs:
- job: mac_${{ parameters.jobName }}_tests
displayName: ${{ parameters.jobName }} Emulator Tests
pool:
- vmImage: $(HostedMacImage)
+ name: VSEng-VSMac-Xamarin-Shared
+ demands:
+ - macOS.Name -equals Ventura
+ - macOS.Architecture -equals x64
timeoutInMinutes: ${{ parameters.jobTimeout }}
workspace:
clean: all
steps:
+ - template: agent-cleanser/v1.yml@yaml-templates
+
- template: setup-test-environment.yaml
parameters:
installLegacyDotNet: false
diff --git a/build-tools/automation/yaml-templates/run-msbuild-tests.yaml b/build-tools/automation/yaml-templates/run-msbuild-tests.yaml
index 9d391d2de82..6d5193a5f87 100644
--- a/build-tools/automation/yaml-templates/run-msbuild-tests.yaml
+++ b/build-tools/automation/yaml-templates/run-msbuild-tests.yaml
@@ -1,9 +1,9 @@
parameters:
- testOS: # 'macOS' or 'Windows'
- jobName: # Name of the job
- jobDisplayName: # Display name of the job
- agentCount: # Number of build agents to run in parallel
- testFilter: # Filter used to select tests (NUnit test selection language, not dotnet test filter language)
+ testOS: '' # 'macOS' or 'Windows'
+ jobName: '' # Name of the job
+ jobDisplayName: '' # Display name of the job
+ agentCount: 1 # Number of build agents to run in parallel
+ testFilter: '' # Filter used to select tests (NUnit test selection language, not dotnet test filter language)
xaSourcePath: $(System.DefaultWorkingDirectory)
repositoryAlias: 'self'
commit: ''
@@ -33,6 +33,7 @@ jobs:
parameters:
installTestSlicer: true
installLegacyDotNet: false
+ installLegacyXamarinAndroid: true
restoreNUnitConsole: false
updateMono: false
xaSourcePath: ${{ parameters.xaSourcePath }}
@@ -47,7 +48,7 @@ jobs:
- template: run-sliced-nunit-tests.yaml
parameters:
testAssembly: ${{ parameters.xaSourcePath }}/bin/Test$(XA.Build.Configuration)/$(DotNetStableTargetFramework)/Xamarin.Android.Build.Tests.dll
- testFilter: ${{ parameters.testFilter }} $(ExcludedNUnitCategories)
+ testFilter: ${{ parameters.testFilter }}
testRunTitle: Xamarin.Android.Build.Tests - ${{ parameters.testOS }}
retryFailedTests: false
xaSourcePath: ${{ parameters.xaSourcePath }}
diff --git a/build-tools/automation/yaml-templates/run-sliced-nunit-tests.yaml b/build-tools/automation/yaml-templates/run-sliced-nunit-tests.yaml
index 6e9f8cc1d64..5e44373d5dd 100644
--- a/build-tools/automation/yaml-templates/run-sliced-nunit-tests.yaml
+++ b/build-tools/automation/yaml-templates/run-sliced-nunit-tests.yaml
@@ -1,20 +1,30 @@
parameters:
- testAssembly: # NUnit test assembly to run
- testFilter: # Filter used to select tests (NUnit test selection language, not dotnet test filter language)
- testRunTitle: # Title of the test run
+ testAssembly: '' # NUnit test assembly to run
+ testFilter: '' # Filter used to select tests (NUnit test selection language, not dotnet test filter language)
+ testRunTitle: '' # Title of the test run
xaSourcePath: $(System.DefaultWorkingDirectory)
retryFailedTests: true # Retry failed tests once
steps:
-- pwsh: |
- dotnet-test-slicer `
- slice `
- --test-assembly="${{ parameters.testAssembly }}" `
- --test-filter="${{ parameters.testFilter }}" `
- --slice-number=$(System.JobPositionInPhase) `
- --total-slices=$(System.TotalJobsInPhase) `
+- ${{if parameters.testFilter}}:
+ - pwsh: >-
+ dotnet-test-slicer slice
+ --test-assembly="${{ parameters.testAssembly }}"
+ --test-filter="${{ parameters.testFilter }}"
+ --slice-number=$(System.JobPositionInPhase)
+ --total-slices=$(System.TotalJobsInPhase)
--outfile="${{ parameters.testAssembly }}.runsettings"
- displayName: Slice unit tests
+ displayName: Slice unit tests with filter
+ failOnStderr: true
+- ${{ else }}:
+ - pwsh: >-
+ dotnet-test-slicer slice
+ --test-assembly="${{ parameters.testAssembly }}"
+ --slice-number=$(System.JobPositionInPhase)
+ --total-slices=$(System.TotalJobsInPhase)
+ --outfile="${{ parameters.testAssembly }}.runsettings"
+ displayName: Slice unit tests
+ failOnStderr: true
- ${{ if eq(parameters.retryFailedTests, 'false') }}:
# If we aren't using auto-retry logic, then this is just a simple template call
diff --git a/build-tools/automation/yaml-templates/setup-test-environment.yaml b/build-tools/automation/yaml-templates/setup-test-environment.yaml
index 3d50467c960..6b98286ab37 100644
--- a/build-tools/automation/yaml-templates/setup-test-environment.yaml
+++ b/build-tools/automation/yaml-templates/setup-test-environment.yaml
@@ -7,6 +7,7 @@ parameters:
installTestSlicer: false
installApkDiff: true
installLegacyDotNet: true
+ installLegacyXamarinAndroid: false
restoreNUnitConsole: true
updateMono: true
androidSdkPlatforms: $(DefaultTestSdkPlatforms)
@@ -66,6 +67,15 @@ steps:
condition: and(succeeded(), eq(variables['agent.os'], 'Darwin'))
xaSourcePath: ${{ parameters.xaSourcePath }}
+- ${{ if eq(parameters.installLegacyXamarinAndroid, true) }}:
+ - template: install-global-tool.yaml
+ parameters:
+ toolName: boots
+ version: $(BootsToolVersion)
+ continueOnError: false
+ - powershell: boots --stable Xamarin.Android
+ displayName: install Xamarin.Android stable
+
- template: run-xaprepare.yaml
parameters:
arguments: --s=${{ parameters.xaprepareScenario }} --android-sdk-platforms="${{ parameters.androidSdkPlatforms }}"
@@ -106,7 +116,13 @@ steps:
arguments: -t:ExtractWorkloadPacks -c ${{ parameters.configuration }} -v:n -bl:${{ parameters.xaSourcePath }}/bin/Test${{ parameters.configuration }}/extract-workloads.binlog
- ${{ if eq(parameters.installApkDiff, true) }}:
- - template: install-apkdiff.yaml
+ - template: install-global-tool.yaml
+ parameters:
+ toolName: apkdiff
+ version: $(ApkDiffToolVersion)
- ${{ if eq(parameters.installTestSlicer, true) }}:
- - template: install-dotnet-test-slicer.yaml
+ - template: install-global-tool.yaml
+ parameters:
+ toolName: dotnet-test-slicer
+ version: $(TestSlicerToolVersion)
diff --git a/build-tools/automation/yaml-templates/stage-msbuild-emulator-tests.yaml b/build-tools/automation/yaml-templates/stage-msbuild-emulator-tests.yaml
index f8ad18cddce..88657721c3f 100644
--- a/build-tools/automation/yaml-templates/stage-msbuild-emulator-tests.yaml
+++ b/build-tools/automation/yaml-templates/stage-msbuild-emulator-tests.yaml
@@ -36,9 +36,9 @@ stages:
installTestSlicer: true
installApkDiff: false
installLegacyDotNet: false
+ installLegacyXamarinAndroid: true
restoreNUnitConsole: false
- updateMono: false
- androidSdkPlatforms: $(androidSdkPlatforms)
+ updateMono: true
xaSourcePath: ${{ parameters.xaSourcePath }}
repositoryAlias: ${{ parameters.repositoryAlias }}
commit: ${{ parameters.commit }}
@@ -57,7 +57,7 @@ stages:
- template: run-sliced-nunit-tests.yaml
parameters:
testAssembly: ${{ parameters.xaSourcePath }}/bin/Test$(XA.Build.Configuration)/MSBuildDeviceIntegration/$(DotNetStableTargetFramework)/MSBuildDeviceIntegration.dll
- testFilter: cat != TimeZoneInfo & cat != Localization $(ExcludedNUnitCategories)
+ testFilter: $(ExcludedNightlyNUnitCategories)
testRunTitle: MSBuildDeviceIntegration On Device - macOS
- ${{ if ne(parameters.usesCleanImages, true) }}:
@@ -99,7 +99,6 @@ stages:
installLegacyDotNet: false
restoreNUnitConsole: false
updateMono: false
- androidSdkPlatforms: $(androidSdkPlatforms)
xaSourcePath: ${{ parameters.xaSourcePath }}
repositoryAlias: ${{ parameters.repositoryAlias }}
commit: ${{ parameters.commit }}
diff --git a/build-tools/automation/yaml-templates/stage-msbuild-tests.yaml b/build-tools/automation/yaml-templates/stage-msbuild-tests.yaml
index 6c9eaf929d7..9b4745c543c 100644
--- a/build-tools/automation/yaml-templates/stage-msbuild-tests.yaml
+++ b/build-tools/automation/yaml-templates/stage-msbuild-tests.yaml
@@ -21,8 +21,7 @@ stages:
testOS: macOS
jobName: mac_msbuild_tests
jobDisplayName: macOS > Tests > MSBuild
- agentCount: 10
- testFilter: cat != Dummy # This is because $(ExcludedNUnitCategories) gets appended which starts with '&'
+ agentCount: 8
xaSourcePath: ${{ parameters.xaSourcePath }}
repositoryAlias: ${{ parameters.repositoryAlias }}
commit: ${{ parameters.commit }}
@@ -34,7 +33,6 @@ stages:
jobName: win_msbuild_tests
jobDisplayName: Windows > Tests > MSBuild
agentCount: 6
- testFilter: cat != Dummy # This is because $(ExcludedNUnitCategories) gets appended which starts with '&'
xaSourcePath: ${{ parameters.xaSourcePath }}
repositoryAlias: ${{ parameters.repositoryAlias }}
commit: ${{ parameters.commit }}
diff --git a/build-tools/automation/yaml-templates/upload-results.yaml b/build-tools/automation/yaml-templates/upload-results.yaml
index fbdddeaaf1b..ed782a58d4d 100644
--- a/build-tools/automation/yaml-templates/upload-results.yaml
+++ b/build-tools/automation/yaml-templates/upload-results.yaml
@@ -3,7 +3,7 @@ parameters:
configuration: $(XA.Build.Configuration)
artifactName: results
includeBuildResults: false
- condition: ne(variables['Agent.JobStatus'], 'Succeeded')
+ condition: or(ne(variables['Agent.JobStatus'], 'Succeeded'), eq(variables['XA.PublishAllLogs'], 'true'))
steps:
- template: run-xaprepare.yaml
diff --git a/build-tools/automation/yaml-templates/variables.yaml b/build-tools/automation/yaml-templates/variables.yaml
index b062fd9c134..e416520230a 100644
--- a/build-tools/automation/yaml-templates/variables.yaml
+++ b/build-tools/automation/yaml-templates/variables.yaml
@@ -13,6 +13,12 @@ variables:
value: test-assemblies
- name: WindowsToolchainPdbArtifactName
value: windows-toolchain-pdb
+- name: ApkDiffToolVersion
+ value: 0.0.15
+- name: TestSlicerToolVersion
+ value: 0.1.0-alpha5
+- name: BootsToolVersion
+ value: 1.1.0.36
- name: NUnitConsoleVersion
value: 3.16.3
- name: NUnit.NumberOfTestWorkers
@@ -24,7 +30,7 @@ variables:
- name: GitHub.Token
value: $(github--pat--vs-mobiletools-engineering-service2)
- name: HostedMacImage
- value: macOS-12
+ value: macOS-13
- name: HostedWinImage
value: windows-2022
- name: 1ESWindowsPool
@@ -40,14 +46,9 @@ variables:
# Workaround: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1585820
- name: _WriteTelemetryProperties
value: false
-# Workaround: https://github.com/dotnet/linker/issues/3012
-- name: DOTNET_gcServer
- value: 0
- name: IsRelOrTargetingRel
value: $[or(startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'), startsWith(variables['System.PullRequest.TargetBranch'], 'release/'))]
-- name: DotNetNUnitCategories
- value: '& TestCategory != DotNetIgnore & TestCategory != HybridAOT & TestCategory != MkBundle & TestCategory != MonoSymbolicate & TestCategory != StaticProject & TestCategory != SystemApplication'
- name: DefaultTestSdkPlatforms # Comma-separated SDK Platform(s) to install on test agents (no spaces)
- value: 33,UpsideDownCake
-- name: ExcludedNUnitCategories
- value: '& cat != DotNetIgnore & cat != HybridAOT & cat != MkBundle & cat != MonoSymbolicate & cat != StaticProject & cat != SystemApplication'
+ value: 33,34
+- name: ExcludedNightlyNUnitCategories
+ value: 'cat != SystemApplication & cat != TimeZoneInfo & cat != Localization'
diff --git a/build-tools/create-android-api/create-android-api.csproj b/build-tools/create-android-api/create-android-api.csproj
index dce4739f4e0..8d603d86b7a 100644
--- a/build-tools/create-android-api/create-android-api.csproj
+++ b/build-tools/create-android-api/create-android-api.csproj
@@ -38,7 +38,7 @@
<_MergedXmlFiles
- Condition=" %(ApiFileDefinition.Level) >= 19 "
+ Condition=" %(ApiFileDefinition.Level) >= 34 "
Include="@(ApiFileDefinition)" />
diff --git a/build-tools/create-packs/vs-workload.in.props b/build-tools/create-packs/vs-workload.in.props
index ddb735bf0c7..0402cf82645 100644
--- a/build-tools/create-packs/vs-workload.in.props
+++ b/build-tools/create-packs/vs-workload.in.props
@@ -3,6 +3,7 @@
Microsoft.NET.Sdk.Android.Workload.@VSMAN_VERSION@
@WORKLOAD_VERSION@
+ true
diff --git a/build-tools/gradle/gradle/wrapper/gradle-wrapper.properties b/build-tools/gradle/gradle/wrapper/gradle-wrapper.properties
index 6b3851a8ad2..fae08049a6f 100644
--- a/build-tools/gradle/gradle/wrapper/gradle-wrapper.properties
+++ b/build-tools/gradle/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/build-tools/installers/unix-binutils.projitems b/build-tools/installers/unix-binutils.projitems
index 7844af74665..695f1d18be2 100644
--- a/build-tools/installers/unix-binutils.projitems
+++ b/build-tools/installers/unix-binutils.projitems
@@ -1,7 +1,7 @@
- <_LlvmLibExtension Condition=" '$(HostOS)' == 'Linux' ">so.15
+ <_LlvmLibExtension Condition=" '$(HostOS)' == 'Linux' ">so.16
<_LlvmLibExtension Condition=" '$(HostOS)' == 'Darwin' ">dylib
@@ -65,6 +65,7 @@
<_BinUtilsFilesUnixSign Include="$(MicrosoftAndroidSdkOutDir)$(HostOS)\binutils\lib\libLLVMInstCombine.$(_LlvmLibExtension)" />
<_BinUtilsFilesUnixSign Include="$(MicrosoftAndroidSdkOutDir)$(HostOS)\binutils\lib\libLLVMInstrumentation.$(_LlvmLibExtension)" />
<_BinUtilsFilesUnixSign Include="$(MicrosoftAndroidSdkOutDir)$(HostOS)\binutils\lib\libLLVMipo.$(_LlvmLibExtension)" />
+ <_BinUtilsFilesUnixSign Include="$(MicrosoftAndroidSdkOutDir)$(HostOS)\binutils\lib\libLLVMIRPrinter.$(_LlvmLibExtension)" />
<_BinUtilsFilesUnixSign Include="$(MicrosoftAndroidSdkOutDir)$(HostOS)\binutils\lib\libLLVMIRReader.$(_LlvmLibExtension)" />
<_BinUtilsFilesUnixSign Include="$(MicrosoftAndroidSdkOutDir)$(HostOS)\binutils\lib\libLLVMLibDriver.$(_LlvmLibExtension)" />
<_BinUtilsFilesUnixSign Include="$(MicrosoftAndroidSdkOutDir)$(HostOS)\binutils\lib\libLLVMLinker.$(_LlvmLibExtension)" />
@@ -86,6 +87,7 @@
<_BinUtilsFilesUnixSign Include="$(MicrosoftAndroidSdkOutDir)$(HostOS)\binutils\lib\libLLVMSymbolize.$(_LlvmLibExtension)" />
<_BinUtilsFilesUnixSign Include="$(MicrosoftAndroidSdkOutDir)$(HostOS)\binutils\lib\libLLVMTableGenGlobalISel.$(_LlvmLibExtension)" />
<_BinUtilsFilesUnixSign Include="$(MicrosoftAndroidSdkOutDir)$(HostOS)\binutils\lib\libLLVMTableGen.$(_LlvmLibExtension)" />
+ <_BinUtilsFilesUnixSign Include="$(MicrosoftAndroidSdkOutDir)$(HostOS)\binutils\lib\libLLVMTargetParser.$(_LlvmLibExtension)" />
<_BinUtilsFilesUnixSign Include="$(MicrosoftAndroidSdkOutDir)$(HostOS)\binutils\lib\libLLVMTarget.$(_LlvmLibExtension)" />
<_BinUtilsFilesUnixSign Include="$(MicrosoftAndroidSdkOutDir)$(HostOS)\binutils\lib\libLLVMTextAPI.$(_LlvmLibExtension)" />
<_BinUtilsFilesUnixSign Include="$(MicrosoftAndroidSdkOutDir)$(HostOS)\binutils\lib\libLLVMTransformUtils.$(_LlvmLibExtension)" />
diff --git a/build-tools/manifest-attribute-codegen/manifest-definition.xml b/build-tools/manifest-attribute-codegen/manifest-definition.xml
index 98b4a6d69d2..527b74f748e 100644
--- a/build-tools/manifest-attribute-codegen/manifest-definition.xml
+++ b/build-tools/manifest-attribute-codegen/manifest-definition.xml
@@ -345,6 +345,7 @@
+
intent-filter
diff --git a/build-tools/scripts/BuildEverything.mk b/build-tools/scripts/BuildEverything.mk
index 776e6f90b96..1798b26ea42 100644
--- a/build-tools/scripts/BuildEverything.mk
+++ b/build-tools/scripts/BuildEverything.mk
@@ -29,4 +29,3 @@ leeroy: leeroy-all framework-assemblies
leeroy-all:
$(call DOTNET_BINLOG,leeroy-all) $(SOLUTION) $(_MSBUILD_ARGS)
$(call DOTNET_BINLOG,setup-workload) -t:ConfigureLocalWorkload build-tools/create-packs/Microsoft.Android.Sdk.proj
- $(call MSBUILD_BINLOG,leeroy-all,$(_SLN_BUILD)) /restore tools/xabuild/xabuild.csproj /p:Configuration=$(CONFIGURATION) $(_MSBUILD_ARGS)
diff --git a/build-tools/scripts/DotNet.targets b/build-tools/scripts/DotNet.targets
index e11b2042001..4bc38412304 100644
--- a/build-tools/scripts/DotNet.targets
+++ b/build-tools/scripts/DotNet.targets
@@ -2,25 +2,33 @@
<_Root>$(MSBuildThisFileDirectory)..\..\
<_BinlogPathPrefix>$(_Root)bin/Build$(Configuration)/msbuild-$([System.DateTime]::Now.ToString("yyyyMMddTHHmmss"))
+ false
+ $(_Root)..\maui
+ $(MauiSourcePath)\artifacts
+ maui-android
+
+
+
+
+
+
+
+
+
-
+
<_TempDirectory>$(DotNetPreviewPath)..\.xa-workload-temp-$([System.IO.Path]::GetRandomFileName())
$(DotNetSdkManifestsFolder)
+
+
+
+ <_WLManifestPack Include="$(MauiPackagePath)\Microsoft.NET.Sdk.Maui.Manifest-$(MauiVersionBand.Substring (0,3))*.nupkg" />
+
+
- <_WLManifest Include="$(_TempDirectory)\microsoft.net.sdk.maui.manifest-$(MauiVersionBand)\$(MauiVersion)\data\WorkloadManifest.*" />
+ <_WLManifest Condition=" '$(MauiUseLocalPacks)' != 'true' " Include="$(_TempDirectory)\microsoft.net.sdk.maui.manifest-$(MauiVersionBand)\$(MauiVersion)\data\WorkloadManifest.*" />
+ <_WLManifest Condition=" '$(MauiUseLocalPacks)' == 'true' " Include="$(_TempDirectory)\data\*" />
+
+
+
+ <_NuGetSources Condition=" '$(MauiUseLocalPacks)' == 'true' " Include="$(MauiPackagePath.TrimEnd('\'))" />
<_NuGetSources Include="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json" />
<_NuGetSources Include="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json" />
<_InstallArguments Include="--skip-manifest-update" />
+ <_InstallArguments Include="--skip-sign-check" />
<_InstallArguments Include="--verbosity diag" />
<_InstallArguments Include="--source "%(_NuGetSources.Identity)"" />
<_InstallArguments Include="--temp-dir "$(_TempDirectory)"" />
diff --git a/build-tools/scripts/Packaging.mk b/build-tools/scripts/Packaging.mk
index b90286490eb..30f2c5afeee 100644
--- a/build-tools/scripts/Packaging.mk
+++ b/build-tools/scripts/Packaging.mk
@@ -10,7 +10,7 @@ create-installers: create-nupkgs
create-nupkgs:
@echo Disk usage before create-nupkgs
-df -h
- $(call SYSTEM_DOTNET_BINLOG,create-all-packs) -t:CreateAllPacks $(topdir)/build-tools/create-packs/Microsoft.Android.Sdk.proj
+ $(call DOTNET_BINLOG,create-all-packs) -t:CreateAllPacks $(topdir)/build-tools/create-packs/Microsoft.Android.Sdk.proj
create-pkg:
$(call SYSTEM_DOTNET_BINLOG,create-pkg) /t:CreatePkg \
diff --git a/build-tools/scripts/PrepareWindows.targets b/build-tools/scripts/PrepareWindows.targets
index cadc50f52d0..4b69d9d8b5a 100644
--- a/build-tools/scripts/PrepareWindows.targets
+++ b/build-tools/scripts/PrepareWindows.targets
@@ -24,5 +24,6 @@
/>
+
diff --git a/build-tools/scripts/UpdateApkSizeReference.ps1 b/build-tools/scripts/UpdateApkSizeReference.ps1
index 7f357ef1e51..525c40f759b 100644
--- a/build-tools/scripts/UpdateApkSizeReference.ps1
+++ b/build-tools/scripts/UpdateApkSizeReference.ps1
@@ -5,8 +5,6 @@ if (-not (Test-Path bin/Release)) {
exit 1
}
-Write-Output "Building xabuild"
-msbuild /p:Configuration=Release /restore .\tools\xabuild\xabuild.csproj
Write-Output "Building legacy BuildReleaseArm64 tests"
msbuild /p:Configuration=Release Xamarin.Android.sln /t:RunNunitTests /p:TEST="Xamarin.Android.Build.Tests.BuildTest2.BuildReleaseArm64"
Write-Output "Building DotNet BuildReleaseArm64 tests"
diff --git a/build-tools/scripts/build-monodroid b/build-tools/scripts/build-monodroid
deleted file mode 100755
index 726f646af09..00000000000
--- a/build-tools/scripts/build-monodroid
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/bin/bash -e
-MY_NAME="$(basename $0)"
-MY_DIR="$(dirname $0)"
-HOST="$(uname | tr A-Z a-z)"
-
-function die()
-{
- echo $*
- exit 1
-}
-
-function usage()
-{
- local retcode="$1"
-
- if [ -z "$retcode" ]; then
- retcode=0
- fi
-
- cat < [ ...]
-
-where OPTIONS is one or more of:
-
- -o|--output=DIR set output directory instead of the default monodroid 'obj' one
- -r|--rebuild rebuild from scratch (this involves removing the output directory,
- after prompting for confirmation)
- -f|--force skip directory deletion prompt on rebuilds
- -h|--help show this help screen
-
-Each is a name of the monodroid runtime configuration to build. Format:
-
- {ARCH}-[CHECKER-]{CONFIGURATION}
-
-where strings in upper case (e.g. 'ARCH') are placeholders as defined below
-(alternative forms for each value are specified in parentheses).
-All values are case-insensitive:
-
- ARCH is one of: armeabi-v7a (arm32, armv7), arm64-v8a (arm64, armv8), x86, x86_64 (x64), host, win32, win64, android-arm, android-arm64, android-x86, android-x64
- CHECKER is one of: asan, ubsan
- CONFIGURATION is one of: release, debug
-
-Examples:
-
- ${MY_NAME} arm64-release
- ${MY_NAME} android-x86-release host-debug
- ${MY_NAME} x64-ubsan-release x86-net6-asan-debug
-
-EOF
-
- exit $retcode
-}
-
-function unalias_target()
-{
- local source="$(echo $1 | tr A-Z a-z)"
-
- echo $source | sed -e 's/arm32\|armv7/armeabi-v7a/g' \
- -e 's/arm64\|armv8/arm64-v8a/g' \
- -e 's/x64/x86_64/g' \
- -e "s/host/host-${HOST}/g" \
- -e 's/win32/host-mxe-win32/g' \
- -e 's/win64/host-mxe-win64/g'
-}
-
-function assert_function_exists()
-{
- local func_name="$1"
- local target="$2"
-
- if [ "$(builtin type -type ${func_name})" != "function" ]; then
- die "Target ${target} is unknown"
- fi
-}
-
-# Called by the generated script
-function cleanup_build_dir()
-{
- if [ "${__REBUILD}" != "yes" -o -z "${__BUILD_DIR}" ]; then
- return
- fi
-
- if [ ! -d "${__BUILD_DIR}" ]; then
- return
- fi
-
- local remove="no"
- if [ "${__FORCE}" != "yes" ]; then
- echo Build directory exists: ${__BUILD_DIR}
- read -p "Are you sure you want to delete it? [y/N] " YESNO
- if [ "${YESNO}" == "y" -o "${YESNO}" == "Y" ]; then
- remove="yes"
- fi
- else
- remove="yes"
- fi
-
- if [ "${remove}" = "yes" ]; then
- rm -rf "${__BUILD_DIR}"
- fi
-}
-
-source ${MY_DIR}/../../bin/configuration.mk
-source ${MY_DIR}/../../bin/Build${CONFIGURATION}/cmake-config.sh
-
-TEMP=$(getopt -o hb:rfvj: --longoptions help,build-dir,rebuild,force,verbose,jobs -n "${MY_NAME}" -- "$@")
-
-if [ $? != 0 ] ; then
- die "Terminating..." >&2
-fi
-eval set -- "$TEMP"
-
-BUILD_DIR=""
-REBUILD="no"
-FORCE="no"
-VERBOSE=""
-JOBS=""
-
-while true; do
- case "$1" in
- -h|--help) usage ;;
- -b|--build_dir) BUILD_DIR="$2" ; shift 2 ;;
- -r|--rebuild) REBUILD="yes" ; shift ;;
- -f|--force) FORCE="yes" ; shift ;;
- -v|--verbose) VERBOSE="-v" ; shift ;;
- -j|--jobs) JOBS="-j $2" ; shift 2 ;;
- --) shift ; break ;;
- esac
-done
-
-if [ $# -eq 0 ]; then
- usage 1
-fi
-
-for t in "$@"; do
- TARGET=$(unalias_target "${t}")
- FUNC_BASE_NAME="$(echo ${TARGET} | tr '-' '_')"
- CONFIGURE_FUNC_NAME="_configure_${FUNC_BASE_NAME}"
- BUILD_FUNC_NAME="_build_${FUNC_BASE_NAME}"
-
- assert_function_exists "${CONFIGURE_FUNC_NAME}" "${t}"
- assert_function_exists "${BUILD_FUNC_NAME}" "${t}"
-
- ${CONFIGURE_FUNC_NAME} "${BUILD_DIR}" "${REBUILD}" "${FORCE}"
- ${BUILD_FUNC_NAME} "${BUILD_DIR}" ${VERBOSE} ${JOBS}
-done
diff --git a/build-tools/scripts/msbuild.mk b/build-tools/scripts/msbuild.mk
index 3416f3b7c30..361c68f2071 100644
--- a/build-tools/scripts/msbuild.mk
+++ b/build-tools/scripts/msbuild.mk
@@ -23,7 +23,8 @@
# $(MSBUILD_FLAGS): Additional MSBuild flags; contains $(CONFIGURATION), $(V), $(MSBUILD_ARGS).
MSBUILD = msbuild
-DOTNET_TOOL = $(topdir)/bin/$(CONFIGURATION)/dotnet/dotnet
+DOTNET_ROOT = $(topdir)/bin/$(CONFIGURATION)/dotnet/
+DOTNET_TOOL = $(DOTNET_ROOT)dotnet
DOTNET_VERB = build
MSBUILD_FLAGS = /p:Configuration=$(CONFIGURATION) $(MSBUILD_ARGS)
@@ -51,7 +52,7 @@ endef
# $(call DOTNET_BINLOG,name,build=$(DOTNET_VERB),dotnet=$(DOTNET_TOOL))
define DOTNET_BINLOG
- $(if $(3),$(3),$(DOTNET_TOOL)) $(if $(2),$(2),$(DOTNET_VERB)) -c $(CONFIGURATION) -v:n $(MSBUILD_ARGS) \
+ $(if $(3),,PATH="$(DOTNET_ROOT):$(PATH)") $(if $(3),$(3),$(DOTNET_TOOL)) $(if $(2),$(2),$(DOTNET_VERB)) -c $(CONFIGURATION) -v:n $(MSBUILD_ARGS) \
-bl:"$(dir $(realpath $(firstword $(MAKEFILE_LIST))))/bin/Build$(CONFIGURATION)/msbuild-`date +%Y%m%dT%H%M%S`-$(1).binlog"
endef
diff --git a/build-tools/xaprepare/xaprepare/Application/GeneratedMonodroidCmakeFiles.cs b/build-tools/xaprepare/xaprepare/Application/GeneratedMonodroidCmakeFiles.cs
deleted file mode 100644
index 746f3f50d89..00000000000
--- a/build-tools/xaprepare/xaprepare/Application/GeneratedMonodroidCmakeFiles.cs
+++ /dev/null
@@ -1,543 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Text;
-
-namespace Xamarin.Android.Prepare
-{
- partial class GeneratedMonodroidCmakeFiles : GeneratedFile
- {
- string outputPath;
-
- public GeneratedMonodroidCmakeFiles (string outputPath)
- : base (MakeOutputPath (outputPath))
- {
- this.outputPath = outputPath;
- }
-
- static string MakeOutputPath (string outputPath)
- {
- return Path.Combine (outputPath, $"{{{Configurables.Paths.CmakeMSBuildPropsName},{Configurables.Paths.CmakeShellScriptsPropsName},{Configurables.Paths.CmakeMonodroidTargets}}}");
- }
-
- public override void Generate (Context context)
- {
- using (StreamWriter sw = Utilities.OpenStreamWriter (Path.Combine (outputPath, Configurables.Paths.CmakeMSBuildPropsName))) {
- GenerateMSBuildProps (context, sw);
- sw.Flush ();
- }
-
- using (StreamWriter sw = Utilities.OpenStreamWriter (Path.Combine (outputPath, Configurables.Paths.CmakeMonodroidTargets))) {
- GenerateMonodroidTargets (context, sw);
- sw.Flush ();
- }
-
- using (StreamWriter sw = Utilities.OpenStreamWriter (Path.Combine (outputPath, Configurables.Paths.CmakeShellScriptsPropsName))) {
- GenerateShellConfig (context, sw);
- sw.Flush ();
- }
- }
-
- static readonly string[] JitAbis = new [] {
- AbiNames.TargetJit.AndroidArmV7a,
- AbiNames.TargetJit.AndroidArmV8a,
- AbiNames.TargetJit.AndroidX86,
- AbiNames.TargetJit.AndroidX86_64,
- };
-
- static readonly string[] HostAbis = new [] {
- Context.Instance.OS.Type,
- AbiNames.HostJit.Win32,
- AbiNames.HostJit.Win64,
- };
-
- void GenerateShellConfig (Context context, StreamWriter sw)
- {
- var commonReplacements = new Dictionary (StringComparer.Ordinal) {
- { "@BUILD_TYPE@", "${__BUILD_TYPE}" },
- { "@CONFIGURATION@", "${__CONFIGURATION}" },
- { "@XA_BUILD_CONFIGURATION@", "${XA_BUILD_CONFIGURATION}" },
- { "@XA_LIB_TOP_DIR@", Configurables.Paths.InstallMSBuildDir.Replace (Path.DirectorySeparatorChar, '/') },
- { "@JdkIncludePath@", "${JDK_INCLUDE_PATH}" },
- { "@MonoSourceFullPath@", "${MONO_SOURCE_PATH}" },
- { "@NinjaPath@", "${NINJA}" },
- { "@OUTPUT_DIRECTORY@", "${__OUTPUT_DIR}" },
- { "@SOURCE_DIRECTORY@", "${MONODROID_SOURCE_DIR}" },
- };
-
- var androidRuntimeReplacements = new Dictionary (StringComparer.Ordinal) {
- { "@CmakeAndroidFlags@", "" },
- { "@NATIVE_API_LEVEL@", "${__NATIVE_API_LEVEL}" },
- { "@ABI@", "${__NATIVE_ABI}" },
- { "@AndroidNdkDirectory@", "${NDK_DIRECTORY}" },
- { "@AndroidToolchainPath@", GetRelativeToolchainDefinitionPath () },
- };
-
- var hostRuntimeReplacements = new Dictionary (StringComparer.Ordinal) {
- { "@CmakeHostFlags@", "" },
- { "@MingwDependenciesRootDirectory@", CmakeBuilds.MingwDependenciesRootDirectory },
- { "@MxeToolchainBasePath@", "${MXE_TOOLCHAIN_BASE_PATH}" },
- { "@BITNESS@", "" },
- };
-
- AddReplacements (commonReplacements, androidRuntimeReplacements);
- AddReplacements (commonReplacements, hostRuntimeReplacements);
-
- string monodroidObjDir = Path.Combine (Configurables.Paths.MonodroidSourceDir, "obj", context.Configuration);
- string jdkInfoPropsPath = Path.Combine (Configurables.Paths.ExternalJavaInteropDir, "bin", $"Build{context.Configuration}", "JdkInfo.props");
-
- sw.WriteLine ("# This is a bash(1) script");
- sw.WriteLine ();
- sw.WriteLine ($"CMAKE=\"{context.Properties.GetRequiredValue(KnownProperties.CMakePath)}\"");
- sw.WriteLine ($"JDK_INCLUDE_PATH=\"$(grep JdkIncludePath {jdkInfoPropsPath} | cut -d '\"' -f 2 | tr '\\n' ' ')\"");
- sw.WriteLine ($"MONO_SOURCE_PATH=\"{Configurables.Paths.MonoSourceFullPath}\"");
- sw.WriteLine ($"MONODROID_OBJ_DIR=\"{monodroidObjDir}\"");
- sw.WriteLine ($"MONODROID_SOURCE_DIR=\"{Configurables.Paths.MonodroidSourceDir}\"");
- sw.WriteLine ($"MXE_TOOLCHAIN_BASE_PATH=\"{CmakeBuilds.MxeToolchainBasePath}\"");
- sw.WriteLine ($"NDK_DIRECTORY=\"{Configurables.Paths.AndroidNdkDirectory}\"");
- sw.WriteLine ($"NINJA=\"{context.Properties.GetRequiredValue(KnownProperties.NinjaPath)}\"");
- sw.WriteLine ($"XA_BUILD_CONFIGURATION={context.Configuration}");
- sw.WriteLine ($"XA_INSTALL_DIR=\"{Configurables.Paths.InstallMSBuildDir}/lib\"");
- sw.WriteLine ();
-
- string indent = "\t";
- sw.WriteLine ("function __xa_build()");
- sw.WriteLine ("{");
-
- WriteVariableValidationCode ("__BUILD_DIR");
-
- sw.WriteLine ($"{indent}\"${{NINJA}}\" -C \"${{__BUILD_DIR}}\" \"$@\"");
- sw.WriteLine ("}");
- sw.WriteLine ();
-
- sw.WriteLine ("function __xa_configure_android_runtime()");
- sw.WriteLine ("{");
-
- WriteVariableValidationCode ("__BUILD_DIR");
- WriteVariableValidationCode ("__CONFIGURATION");
- WriteVariableValidationCode ("__BUILD_TYPE");
- WriteVariableValidationCode ("__NATIVE_API_LEVEL");
- WriteVariableValidationCode ("__NATIVE_ABI");
- WriteVariableValidationCode ("__OUTPUT_DIR");
-
- sw.WriteLine ($"{indent}cleanup_build_dir");
- sw.WriteLine ();
-
- indent = "\t\t";
- var flags = new StringBuilder ();
- AppendFlags (flags, CmakeBuilds.CommonFlags, indent);
- AppendFlags (flags, CmakeBuilds.MonodroidCommonDefines, indent);
- AppendFlags (flags, CmakeBuilds.AndroidFlags, indent);
- AppendFlags (flags, CmakeBuilds.ConfigureAndroidRuntimeCommandsCommonFlags, indent);
- indent = "\t";
-
- WriteCmakeCall (flags, androidRuntimeReplacements);
-
- sw.WriteLine ("}");
- sw.WriteLine ();
-
- sw.WriteLine ("function __xa_configure_host_runtime()");
- sw.WriteLine ("{");
- sw.WriteLine ($"{indent}local is_mxe=$1");
- sw.WriteLine ();
-
- WriteVariableValidationCode ("__BUILD_DIR");
- WriteVariableValidationCode ("__CONFIGURATION");
- WriteVariableValidationCode ("__BUILD_TYPE");
- WriteVariableValidationCode ("__OUTPUT_DIR");
-
- sw.WriteLine ($"{indent}cleanup_build_dir");
- sw.WriteLine ();
-
- sw.WriteLine ($"{indent}shift");
- sw.WriteLine ();
- sw.WriteLine ($"{indent}if [ \"${{is_mxe}}\" = \"yes\" ]; then");
- indent = "\t\t";
-
- // Windows cross builds
- flags.Clear ();
- indent = "\t\t\t";
- AppendFlags (flags, CmakeBuilds.CommonFlags, indent);
- AppendFlags (flags, CmakeBuilds.MonodroidCommonDefines, indent);
- AppendFlags (flags, CmakeBuilds.MonodroidMxeCommonFlags, indent);
- AppendFlags (flags, CmakeBuilds.ConfigureHostRuntimeCommandsCommonFlags, indent);
- indent = "\t\t";
- WriteCmakeCall (flags, hostRuntimeReplacements);
-
- // Host build
- sw.WriteLine ($"\telse");
- indent = "\t\t\t";
- flags.Clear ();
- AppendFlags (flags, CmakeBuilds.CommonFlags, indent);
- AppendFlags (flags, CmakeBuilds.MonodroidCommonDefines, indent);
- AppendFlags (flags, CmakeBuilds.ConfigureHostRuntimeCommandsCommonFlags, indent);
- indent = "\t\t";
- WriteCmakeCall (flags, hostRuntimeReplacements);
-
- indent = "\t";
- sw.WriteLine ($"{indent}fi");
-
- sw.WriteLine ("}");
- sw.WriteLine ();
-
- foreach (CmakeBuilds.RuntimeCommand rc in CmakeBuilds.AndroidRuntimeCommands) {
- WriteShellRuntimeCommand (sw, JitAbis, rc, androidRuntimeReplacements);
- }
-
- foreach (CmakeBuilds.RuntimeCommand rc in CmakeBuilds.HostRuntimeCommands) {
- WriteShellRuntimeCommand (sw, HostAbis, rc, hostRuntimeReplacements);
- }
-
- void WriteCmakeCall (StringBuilder args, Dictionary replacements)
- {
- sw.WriteLine ($"{indent}\"${{CMAKE}}\" \\");
- sw.WriteLine ($"{indent}\t-B \"${{__BUILD_DIR}}\" \\");
- sw.Write (ApplyReplacements (args, replacements).ToString ());
- sw.WriteLine (" \"$@\"");
- }
-
- void AppendFlags (StringBuilder sb, List flags, string indent)
- {
- if (sb.Length > 0) {
- sb.Append ($" \\\n{indent}");
- } else {
- sb.Append (indent);
- }
-
- sb.Append (String.Join ($" \\\n{indent}", flags));
- }
-
- void WriteVariableValidationCode (string varName)
- {
- sw.WriteLine ($"{indent}if [ -z \"${{{varName}}}\" ]; then");
- sw.WriteLine ($"{indent}\tdie \"Variable '{varName}' is empty\"");
- sw.WriteLine ($"{indent}fi");
- sw.WriteLine ();
- }
- }
-
- void WriteShellRuntimeCommand (StreamWriter sw, IEnumerable abis, CmakeBuilds.RuntimeCommand command, Dictionary replacements)
- {
- var funcName = new StringBuilder ();
- string indent = "\t";
-
- foreach (var a in abis) {
- string abi = a;
- uint minApiLevel = command.IsDotNet ? BuildAndroidPlatforms.NdkMinimumAPI : !command.IsHost ? BuildAndroidPlatforms.NdkMinimumAPIMap [abi] : 0;
- string outputDirName = command.IsDotNet ? AbiNames.AbiToRuntimeIdentifier (abi) : abi;
- string isMxe = "no";
- string mxeBitness = String.Empty;
- bool forMxe = false;
-
- if (command.IsHost) {
- if (String.Compare (abi, AbiNames.HostJit.Win32, StringComparison.OrdinalIgnoreCase) == 0) {
- mxeBitness = "32";
- } else if (String.Compare (abi, AbiNames.HostJit.Win64, StringComparison.OrdinalIgnoreCase) == 0) {
- mxeBitness = "64";
- }
-
- if (mxeBitness.Length > 0) {
- isMxe = "yes";
- forMxe = true;
- }
- }
-
- if (command.IsHost) {
- outputDirName = $"host-{outputDirName}";
- abi = $"host-{abi}";
- }
-
- funcName.Clear ();
- funcName.Append (abi.ToLowerInvariant ());
- funcName.Append ('_');
- funcName.Append (command.Suffix.ToLowerInvariant ());
- funcName.Replace ('-', '_');
-
- sw.WriteLine ();
- sw.WriteLine ($"function _configure_{funcName}()");
- sw.WriteLine ("{");
- sw.WriteLine ($"{indent}local build_directory=\"$1\"");
- sw.WriteLine ($"{indent}local rebuild=\"$2\"");
- sw.WriteLine ($"{indent}local force=\"$3\"");
- sw.WriteLine ();
- sw.WriteLine ($"{indent}if [ -z \"${{build_directory}}\" ]; then");
- sw.WriteLine ($"{indent}\tbuild_directory=\"${{MONODROID_OBJ_DIR}}\"");
- sw.WriteLine ($"{indent}fi");
- sw.WriteLine ($"{indent}__BUILD_DIR=\"${{build_directory}}/{outputDirName}-{command.Suffix}\"");
- sw.WriteLine ($"{indent}__OUTPUT_DIR=\"${{XA_INSTALL_DIR}}/{outputDirName}\"");
- sw.WriteLine ($"{indent}__CONFIGURATION={command.Configuration}");
- sw.WriteLine ($"{indent}__BUILD_TYPE={command.BuildType}");
- sw.WriteLine ($"{indent}__REBUILD=\"${{rebuild}}\"");
- sw.WriteLine ($"{indent}__FORCE=\"${{force}}\"");
- if (!command.IsHost) {
- sw.WriteLine ($"{indent}__NATIVE_ABI={abi}");
- sw.WriteLine ($"{indent}__NATIVE_API_LEVEL=${{{minApiLevel}}}");
- }
- sw.WriteLine ();
- if (!command.IsHost) {
- sw.Write ($"{indent}__xa_configure_android_runtime");
- } else {
- sw.Write ($"{indent}__xa_configure_host_runtime {isMxe}");
- }
-
- StringBuilder? flags = null;
- if (forMxe) {
- flags = new StringBuilder (String.Join (" ", CmakeBuilds.MonodroidMxeCommonFlagsBitness));
- replacements["@BITNESS@"] = mxeBitness;
- }
-
- if (command.ExtraOptions != null && command.ExtraOptions.Count > 0) {
- if (flags == null) {
- flags = new StringBuilder ();
- } else {
- flags.Append (" ");
- }
- flags.Append (String.Join (" ", command.ExtraOptions));
- }
-
- if (flags != null && flags.Length > 0) {
- sw.Write (" ");
- sw.Write (ApplyReplacements (flags, replacements));
- }
-
- sw.WriteLine ();
- sw.WriteLine ();
- sw.WriteLine ("}");
-
- indent = "\t";
- sw.WriteLine ();
- sw.WriteLine ($"function _build_{funcName}()");
- sw.WriteLine ("{");
- sw.WriteLine ($"{indent}local build_directory=\"$1\"");
- sw.WriteLine ();
- sw.WriteLine ($"{indent}shift");
- sw.WriteLine ($"{indent}if [ -z \"${{build_directory}}\" ]; then");
- sw.WriteLine ($"{indent}\tbuild_directory=\"${{MONODROID_OBJ_DIR}}\"");
- sw.WriteLine ($"{indent}fi");
- sw.WriteLine ($"{indent}__BUILD_DIR=\"${{build_directory}}/{abi}-{command.Suffix}\"");
- sw.WriteLine ();
- sw.WriteLine ($"{indent}__xa_build \"$@\"");
- sw.WriteLine ("}");
- };
- }
-
- void GenerateMonodroidTargets (Context context, StreamWriter sw)
- {
- string sourceDir = Utilities.GetRelativePath (Configurables.Paths.BuildBinDir, Configurables.Paths.MonodroidSourceDir);
-
- var commonReplacements = new Dictionary (StringComparer.Ordinal) {
- { "@BUILD_TYPE@", "" },
- { "@CONFIGURATION@", "" },
- { "@SOURCE_DIRECTORY@", $"$(MSBuildThisFileDirectory){sourceDir}" },
- };
-
- var androidRuntimeReplacements = new Dictionary (StringComparer.Ordinal) {
- { "@CmakeAndroidFlags@", "$(_CmakeAndroidFlags)" },
- { "@NATIVE_API_LEVEL@", "" },
- { "@ABI@", "%(AndroidSupportedTargetJitAbi.Identity)" },
- { "@RID@", "%(AndroidSupportedTargetJitAbi.AndroidRID)" },
- { "@OUTPUT_DIRECTORY@", "" },
- };
-
- var hostRuntimeReplacements = new Dictionary (StringComparer.Ordinal) {
- { "@CmakeHostFlags@", "%(_HostRuntime.CmakeFlags)" },
- { "@JdkIncludePath@", "@(JdkIncludePath->'%(Identity)', ' ')" },
- { "@OUTPUT_DIRECTORY@", "" },
- };
-
- AddReplacements (commonReplacements, androidRuntimeReplacements);
- AddReplacements (commonReplacements, hostRuntimeReplacements);
-
- WriteMSBuildProjectStart (sw);
- sw.WriteLine (" ");
-
- string indent = " ";
- foreach (CmakeBuilds.RuntimeCommand rc in CmakeBuilds.AndroidRuntimeCommands) {
- WriteMSBuildConfigureAndroidRuntimeCommands (sw, indent, rc, androidRuntimeReplacements);
- }
-
- foreach (CmakeBuilds.RuntimeCommand rc in CmakeBuilds.HostRuntimeCommands) {
- WriteMSBuildConfigureHostRuntimeCommands (sw, indent, rc, hostRuntimeReplacements);
- };
-
- sw.WriteLine (" ");
- WriteMSBuildProjectEnd (sw);
- }
-
- void WriteMSBuildConfigureRuntimeCommands (StreamWriter sw, string indent, string workingDirectory, string outputDirectory, string itemName, List commonFlags, CmakeBuilds.RuntimeCommand command, Dictionary replacements, bool needsApiLevel)
- {
- replacements["@CONFIGURATION@"] = EnsureRequired ("Configuration", command.Configuration);
- replacements["@BUILD_TYPE@"] = EnsureRequired ("BuildType", command.BuildType);
- replacements["@NATIVE_API_LEVEL@"] = needsApiLevel ? EnsureRequired ("MSBuildApiLevel", command.MSBuildApiLevel) : String.Empty;
- replacements["@OUTPUT_DIRECTORY@"] = outputDirectory;
-
- var flags = new StringBuilder ();
- flags.Append (String.Join (" ", commonFlags));
-
- if (command.ExtraOptions != null && command.ExtraOptions.Count > 0) {
- flags.Append (" ");
- flags.Append (String.Join (" ", command.ExtraOptions));
- }
-
- var conditionString = (workingDirectory.IndexOf ("-asan", StringComparison.OrdinalIgnoreCase) >= 0
- || workingDirectory.IndexOf ("-ubsan", StringComparison.OrdinalIgnoreCase) >= 0)
- ? " Condition=\"'$(EnableNativeAnalyzers)' == 'true'\" " : string.Empty;
-
- sw.WriteLine ($"{indent}");
- sw.WriteLine ($"{indent}");
- sw.WriteLine ($"{indent} <_ConfigureRuntimeCommands Include=\"{itemName}\">");
- sw.WriteLine ($"{indent} $(CmakePath)");
- WriteProperty (sw, $"{indent} ", "Arguments", flags, replacements);
- sw.WriteLine ($"{indent} {workingDirectory}");
- sw.WriteLine ($"{indent} ");
- sw.WriteLine ($"{indent}");
- sw.WriteLine ();
-
- string EnsureRequired (string name, string v)
- {
- if (v.Length > 0) {
- return v;
- }
-
- throw new InvalidOperationException ($"RuntimeCommand.{name} must not be an empty string");
- }
- }
-
- void WriteMSBuildConfigureAndroidRuntimeCommands (StreamWriter sw, string indent, CmakeBuilds.RuntimeCommand command, Dictionary replacements)
- {
- const string LegacyOutputDirectory = "%(AndroidSupportedTargetJitAbi.Identity)";
- const string OutputDirectory = "%(AndroidSupportedTargetJitAbi.AndroidRID)";
-
- WriteMSBuildConfigureRuntimeCommands (
- sw,
- indent,
- command.IsDotNet ? $"$(IntermediateOutputPath){OutputDirectory}-{command.Suffix}" : $"$(IntermediateOutputPath){LegacyOutputDirectory}-{command.Suffix}",
- command.IsDotNet ? $"$(OutputPath){OutputDirectory}" : $"$(OutputPath){LegacyOutputDirectory}",
- "@(AndroidSupportedTargetJitAbi)",
- CmakeBuilds.ConfigureAndroidRuntimeCommandsCommonFlags,
- command,
- replacements,
- true
- );
- }
-
- void WriteMSBuildConfigureHostRuntimeCommands (StreamWriter sw, string indent, CmakeBuilds.RuntimeCommand command, Dictionary replacements)
- {
- WriteMSBuildConfigureRuntimeCommands (
- sw,
- indent,
- $"$(IntermediateOutputPath)%(_HostRuntime.OutputDirectory)-{command.Suffix}",
- "$(OutputPath)/%(_HostRuntime.OutputDirectory)",
- "@(_HostRuntime)",
- CmakeBuilds.ConfigureHostRuntimeCommandsCommonFlags,
- command,
- replacements,
- false
- );
- }
-
- void GenerateMSBuildProps (Context context, StreamWriter sw)
- {
- var MSBuildReplacements = new Dictionary (StringComparer.Ordinal) {
- { "@NinjaPath@", "$(NinjaPath)" },
- { "@XA_BUILD_CONFIGURATION@", "$(Configuration)" },
- { "@XA_LIB_TOP_DIR@", "$(MicrosoftAndroidSdkOutDir)" },
- { "@AndroidNdkDirectory@", "$(AndroidNdkDirectory)" },
- { "@MonoSourceFullPath@", "$(MonoSourceFullPath)" },
- { "@AndroidToolchainPath@", GetRelativeToolchainDefinitionPath () },
- };
-
- var MSBuildMingwReplacements = new Dictionary (StringComparer.Ordinal) {
- { "@MingwDependenciesRootDirectory@", CmakeBuilds.MingwDependenciesRootDirectory },
- { "@MxeToolchainBasePath@", CmakeBuilds.MxeToolchainBasePath },
- { "@BITNESS@", "" },
- };
-
- WriteMSBuildProjectStart (sw);
-
- var sharedByAll = new StringBuilder ("--debug-output ");
- sharedByAll.Append (String.Join (" ", CmakeBuilds.CommonFlags));
- sharedByAll.Append (" ");
- sharedByAll.Append (String.Join (" ", CmakeBuilds.MonodroidCommonDefines));
-
- var flags = new StringBuilder ();
- flags.Append (sharedByAll);
- flags.Append (" ");
- flags.Append (String.Join (" ", CmakeBuilds.AndroidFlags));
-
- string propertyIndent = " ";
- sw.WriteLine (" ");
- WriteProperty (sw, propertyIndent, "_CmakeAndroidFlags", flags, MSBuildReplacements);
- WriteProperty (sw, propertyIndent, "_CmakeCommonHostFlags", sharedByAll, MSBuildReplacements);
- sw.WriteLine (" ");
-
- if (CmakeBuilds.MxeToolchainBasePath.Length > 0 && CmakeBuilds.MingwDependenciesRootDirectory.Length > 0) {
- AddReplacements (MSBuildReplacements, MSBuildMingwReplacements);
-
- sw.WriteLine ();
- sw.WriteLine (" ");
-
- flags.Clear ();
- flags.Append (sharedByAll);
- flags.Append (" ");
- flags.Append (String.Join (" ", CmakeBuilds.MonodroidMxeCommonFlags));
- flags.Append (" ");
- flags.Append (String.Join (" ", CmakeBuilds.MonodroidMxeCommonFlagsBitness));
-
- MSBuildMingwReplacements["@BITNESS@"] = "32";
- WriteProperty (sw, propertyIndent, "_CmakeMxeCommonFlags32", flags, MSBuildMingwReplacements);
-
- MSBuildMingwReplacements["@BITNESS@"] = "64";
- WriteProperty (sw, propertyIndent, "_CmakeMxeCommonFlags64", flags, MSBuildMingwReplacements);
-
- sw.WriteLine (" ");
- }
-
- WriteMSBuildProjectEnd (sw);
- }
-
- StringBuilder ApplyReplacements (StringBuilder value, Dictionary replacements)
- {
- var text = new StringBuilder ();
- text.Append (value);
-
- foreach (var kvp in replacements) {
- string placeholder = kvp.Key;
- string replacement = kvp.Value;
-
- text.Replace (placeholder, replacement);
- }
-
- return text;
- }
-
- void WriteProperty (StreamWriter sw, string indent, string name, StringBuilder value, Dictionary replacements)
- {
- var text = ApplyReplacements (value, replacements);
- sw.WriteLine ($"{indent}<{name}>{text}{name}>");
- }
-
- void WriteMSBuildProjectStart (StreamWriter sw)
- {
- sw.WriteLine ("");
- sw.WriteLine ("");
- }
-
- void WriteMSBuildProjectEnd (StreamWriter sw)
- {
- sw.WriteLine ("");
- }
-
- string GetRelativeToolchainDefinitionPath ()
- {
- return Path.DirectorySeparatorChar + Path.Combine ("build", "cmake", "android.toolchain.cmake");
- }
-
- void AddReplacements (Dictionary source, Dictionary target)
- {
- foreach (var kvp in source) {
- target.Add (kvp.Key, kvp.Value);
- }
- }
- }
-}
diff --git a/build-tools/xaprepare/xaprepare/Application/Utilities.cs b/build-tools/xaprepare/xaprepare/Application/Utilities.cs
index 3f1bdfbe1e0..eb2a9393525 100644
--- a/build-tools/xaprepare/xaprepare/Application/Utilities.cs
+++ b/build-tools/xaprepare/xaprepare/Application/Utilities.cs
@@ -488,10 +488,7 @@ public static HttpClient CreateHttpClient ()
try {
using (HttpClient httpClient = CreateHttpClient ()) {
httpClient.Timeout = WebRequestTimeout;
- var req = new HttpRequestMessage (HttpMethod.Head, url);
- req.Headers.ConnectionClose = true;
-
- HttpResponseMessage resp = await httpClient.SendAsync (req, HttpCompletionOption.ResponseHeadersRead).ConfigureAwait (true);
+ HttpResponseMessage resp = await httpClient.GetAsync (url, HttpCompletionOption.ResponseHeadersRead).ConfigureAwait (true);
if (!resp.IsSuccessStatusCode || !resp.Content.Headers.ContentLength.HasValue)
return (false, 0, resp.StatusCode);
diff --git a/build-tools/xaprepare/xaprepare/ConfigAndData/BuildAndroidPlatforms.cs b/build-tools/xaprepare/xaprepare/ConfigAndData/BuildAndroidPlatforms.cs
index fd32ad81a3d..b721305778b 100644
--- a/build-tools/xaprepare/xaprepare/ConfigAndData/BuildAndroidPlatforms.cs
+++ b/build-tools/xaprepare/xaprepare/ConfigAndData/BuildAndroidPlatforms.cs
@@ -44,7 +44,7 @@ class BuildAndroidPlatforms
new AndroidPlatform (apiName: "S", apiLevel: 31, platformID: "31", include: "v12.0"),
new AndroidPlatform (apiName: "Sv2", apiLevel: 32, platformID: "32", include: "v12.1"),
new AndroidPlatform (apiName: "Tiramisu", apiLevel: 33, platformID: "33", include: "v13.0", framework: "v13.0"),
- new AndroidPlatform (apiName: "UpsideDownCake", apiLevel: 34, platformID: "UpsideDownCake", include: "v13.0.99",framework: "v13.0.99", stable: false),
+ new AndroidPlatform (apiName: "UpsideDownCake", apiLevel: 34, platformID: "34", include: "v14.0", framework: "v14.0"),
};
public static readonly Dictionary NdkMinimumAPIMap = new Dictionary {
diff --git a/build-tools/xaprepare/xaprepare/ConfigAndData/CmakeBuilds.Unix.cs b/build-tools/xaprepare/xaprepare/ConfigAndData/CmakeBuilds.Unix.cs
deleted file mode 100644
index e0205f9fe51..00000000000
--- a/build-tools/xaprepare/xaprepare/ConfigAndData/CmakeBuilds.Unix.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System.IO;
-
-namespace Xamarin.Android.Prepare
-{
- static partial class CmakeBuilds
- {
- static CmakeBuilds ()
- {
- MxeToolchainBasePath = Path.Combine (Configurables.Paths.BuildBinDir, "mingw");
- MingwDependenciesRootDirectory = Path.Combine (Configurables.Paths.BuildBinDir, "mingw-deps");
- }
- }
-}
diff --git a/build-tools/xaprepare/xaprepare/ConfigAndData/CmakeBuilds.cs b/build-tools/xaprepare/xaprepare/ConfigAndData/CmakeBuilds.cs
deleted file mode 100644
index 6763232c0e8..00000000000
--- a/build-tools/xaprepare/xaprepare/ConfigAndData/CmakeBuilds.cs
+++ /dev/null
@@ -1,232 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-namespace Xamarin.Android.Prepare
-{
- //
- // Templates for various cmake builds (sqlite and monodroid currently).
- // Generator code is in ../Application/GeneratedMonodroidCmakeFiles.cs
- //
- // This is all a bit convoluted, but the single set of CMake defines below needs to serve the purpose of building
- // several different flavors our our runtime (52 in total, right now) and is used to generate both MSBuild and Unix
- // bash code.
- //
- static partial class CmakeBuilds
- {
- public sealed class RuntimeCommand
- {
- public string Configuration = String.Empty;
- public string BuildType = String.Empty;
- public string Suffix = String.Empty;
- public string MSBuildApiLevel = String.Empty;
- public List? ExtraOptions = null;
- public bool IsDotNet = false;
- public bool IsHost = false;
- };
-
- const string msbuildApiLevelLegacy = "%(AndroidSupportedTargetJitAbi.ApiLevel)";
- const string msbuildApiLevel = "%(AndroidSupportedTargetJitAbi.ApiLevelNET)";
-
- // These two are configured in CmakeBuilds.Unix.cs, Windows doesn't use them
- public static readonly string MxeToolchainBasePath = String.Empty;
- public static readonly string MingwDependenciesRootDirectory = String.Empty;
-
- public static readonly List CommonFlags = new List {
- "-GNinja",
- "-DCMAKE_MAKE_PROGRAM=\"@NinjaPath@\"",
- "-DXA_BUILD_CONFIGURATION=@XA_BUILD_CONFIGURATION@",
- "-DXA_LIB_TOP_DIR=@XA_LIB_TOP_DIR@",
- };
-
- public static readonly List AndroidFlags = new List {
- "-DANDROID_STL=\"none\"",
- "-DANDROID_CPP_FEATURES=\"no-rtti no-exceptions\"",
- "-DANDROID_TOOLCHAIN=clang",
- "-DCMAKE_TOOLCHAIN_FILE=\"@AndroidNdkDirectory@@AndroidToolchainPath@\"",
- "-DANDROID_NDK=@AndroidNdkDirectory@"
- };
-
- public static readonly List MonodroidCommonDefines = new List {
- "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON",
- "-DMONO_PATH=\"@MonoSourceFullPath@\"",
- };
-
- public static readonly List MonodroidMxeCommonFlags = new List {
- "-DMINGW_DEPENDENCIES_ROOT_DIR=\"@MingwDependenciesRootDirectory@\"",
- };
-
- public static readonly List MonodroidMxeCommonFlagsBitness = new List {
- "-DCMAKE_TOOLCHAIN_FILE=\"@MxeToolchainBasePath@-@BITNESS@.cmake\"",
- "-DMINGW_TARGET_@BITNESS@=1",
- };
-
- public static readonly List ConfigureHostRuntimeCommandsCommonFlags = new List {
- "@CmakeHostFlags@",
- "-DCONFIGURATION=@CONFIGURATION@",
- "-DCMAKE_BUILD_TYPE=@BUILD_TYPE@",
- "-DJDK_INCLUDE=\"@JdkIncludePath@\"",
- "-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY=\"@OUTPUT_DIRECTORY@\"",
- "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=\"@OUTPUT_DIRECTORY@\"",
- "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=\"@OUTPUT_DIRECTORY@\"",
- "\"@SOURCE_DIRECTORY@\"",
- };
-
- public static readonly List ConfigureAndroidRuntimeCommandsCommonFlags = new List {
- "@CmakeAndroidFlags@",
- "-DCONFIGURATION=@CONFIGURATION@",
- "-DCMAKE_BUILD_TYPE=@BUILD_TYPE@",
- "-DANDROID_NATIVE_API_LEVEL=@NATIVE_API_LEVEL@",
- "-DANDROID_PLATFORM=android-@NATIVE_API_LEVEL@",
- "-DANDROID_ABI=@ABI@",
- "-DANDROID_RID=@RID@",
- "-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY=\"@OUTPUT_DIRECTORY@\"",
- "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=\"@OUTPUT_DIRECTORY@\"",
- "\"@SOURCE_DIRECTORY@\"",
- };
-
- public static readonly List AsanExtraOptions = new List {
- "-DENABLE_CLANG_ASAN=ON",
- "-DANDROID_STL=\"c++_static\"",
- };
-
- public static readonly List UbsanExtraOptions = new List {
- "-DENABLE_CLANG_UBSAN=ON",
- "-DANDROID_STL=\"c++_static\"",
- "-DANDROID_CPP_FEATURES=\"rtti exceptions\"",
- };
-
- const string enableNet = "-DENABLE_NET=ON";
- public static readonly List NetExtraOptions = new List {
- enableNet,
- };
-
- public static readonly List NetAsanExtraOptions = new List (AsanExtraOptions) {
- enableNet,
- };
-
- public static readonly List NetUbsanExtraOptions = new List (UbsanExtraOptions) {
- enableNet,
- };
-
- public static readonly List AndroidRuntimeCommands = new List {
- // Debug builds
- new RuntimeCommand {
- Suffix = "Debug",
- Configuration = "Release",
- BuildType = "Debug",
- MSBuildApiLevel = msbuildApiLevelLegacy,
- },
-
- new RuntimeCommand {
- Suffix = "asan-Debug",
- Configuration = "Release",
- BuildType = "Debug",
- MSBuildApiLevel = msbuildApiLevelLegacy,
- ExtraOptions = AsanExtraOptions,
- },
-
- new RuntimeCommand {
- Suffix = "ubsan-Debug",
- Configuration = "Release",
- BuildType = "Debug",
- MSBuildApiLevel = msbuildApiLevelLegacy,
- ExtraOptions = UbsanExtraOptions,
- },
-
- new RuntimeCommand {
- Suffix = "Debug",
- Configuration = "Release",
- BuildType = "Debug",
- MSBuildApiLevel = msbuildApiLevel,
- ExtraOptions = NetExtraOptions,
- IsDotNet = true,
- },
-
- new RuntimeCommand {
- Suffix = "asan-Debug",
- Configuration = "Release",
- BuildType = "Debug",
- MSBuildApiLevel = msbuildApiLevel,
- ExtraOptions = NetAsanExtraOptions,
- IsDotNet = true,
- },
-
- new RuntimeCommand {
- Suffix = "ubsan-Debug",
- Configuration = "Release",
- BuildType = "Debug",
- MSBuildApiLevel = msbuildApiLevel,
- ExtraOptions = NetUbsanExtraOptions,
- IsDotNet = true,
- },
-
- // Release builds
-
- new RuntimeCommand {
- Suffix = "Release",
- Configuration = "Debug",
- BuildType = "Release",
- MSBuildApiLevel = msbuildApiLevelLegacy,
- },
-
- new RuntimeCommand {
- Suffix = "asan-Release",
- Configuration = "Debug",
- BuildType = "Release",
- MSBuildApiLevel = msbuildApiLevelLegacy,
- ExtraOptions = AsanExtraOptions,
- },
-
- new RuntimeCommand {
- Suffix = "ubsan-Release",
- Configuration = "Debug",
- BuildType = "Release",
- MSBuildApiLevel = msbuildApiLevelLegacy,
- ExtraOptions = UbsanExtraOptions,
- },
-
- new RuntimeCommand {
- Suffix = "Release",
- Configuration = "Debug",
- BuildType = "Release",
- MSBuildApiLevel = msbuildApiLevel,
- ExtraOptions = NetExtraOptions,
- IsDotNet = true,
- },
-
- new RuntimeCommand {
- Suffix = "asan-Release",
- Configuration = "Debug",
- BuildType = "Release",
- MSBuildApiLevel = msbuildApiLevel,
- ExtraOptions = NetAsanExtraOptions,
- IsDotNet = true,
- },
-
- new RuntimeCommand {
- Suffix = "ubsan-Release",
- Configuration = "Debug",
- BuildType = "Release",
- MSBuildApiLevel = msbuildApiLevel,
- ExtraOptions = NetUbsanExtraOptions,
- IsDotNet = true,
- },
- };
-
- public static readonly List HostRuntimeCommands = new List {
- new RuntimeCommand {
- Suffix = "Debug",
- Configuration = "Release",
- BuildType = "Debug",
- IsHost = true,
- },
-
- new RuntimeCommand {
- Suffix = "Release",
- Configuration = "Debug",
- BuildType = "Release",
- IsHost = true,
- },
- };
- }
-}
diff --git a/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs b/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs
index c26df75a5e1..1ec043c7765 100644
--- a/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs
+++ b/build-tools/xaprepare/xaprepare/ConfigAndData/Configurables.cs
@@ -15,11 +15,11 @@ namespace Xamarin.Android.Prepare
//
partial class Configurables
{
- const string BinutilsVersion = "L_15.0.7-5.0.3";
+ const string BinutilsVersion = "L_16.0.6-6.0.0";
- const string MicrosoftOpenJDK11Version = "11.0.16";
- const string MicrosoftOpenJDK11Release = "8.1";
- const string MicrosoftOpenJDK11RootDirName = "jdk-11.0.16+8";
+ const string MicrosoftOpenJDK17Version = "17.0.8";
+ const string MicrosoftOpenJDK17Release = "17.0.8.7";
+ const string MicrosoftOpenJDK17RootDirName = "jdk-17.0.8+7";
const string AdoptOpenJDKRelease = "8.0"; // build_number.0
static readonly string AdoptOpenJDKUrlVersion = $"8u{AdoptOpenJDKUpdate}{AdoptOpenJDKBuild}";
@@ -35,10 +35,10 @@ public static partial class Urls
// https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u345-b01/OpenJDK8U-jdk_x64_windows_hotspot_8u345b01.zip
public static readonly Uri AdoptOpenJDK8 = new Uri ($"https://github.com/adoptium/temurin8-binaries/releases/download/{AdoptOpenJDKTag}/OpenJDK8U-jdk_{AdoptOpenJDKOperatingSystem}_hotspot_{AdoptOpenJDKUrlVersion}.{AdoptOpenJDKArchiveExtension}");
- // https://aka.ms/download-jdk/microsoft-jdk-11.0.16-linux-x64.tar.gz
- // https://aka.ms/download-jdk/microsoft-jdk-11.0.16-macOS-x64.tar.gz
- // https://aka.ms/download-jdk/microsoft-jdk-11.0.16-windows-x64.zip
- public static readonly Uri MicrosoftOpenJDK11 = new Uri ($"https://aka.ms/download-jdk/microsoft-jdk-{MicrosoftOpenJDK11Version}-{MicrosoftOpenJDKOperatingSystem}.{MicrosoftOpenJDKFileExtension}");
+ // https://aka.ms/download-jdk/microsoft-jdk-17.0.8-linux-x64.tar.gz
+ // https://aka.ms/download-jdk/microsoft-jdk-17.0.8-macOS-x64.tar.gz
+ // https://aka.ms/download-jdk/microsoft-jdk-17.0.8-windows-x64.zip
+ public static readonly Uri MicrosoftOpenJDK17 = new Uri ($"https://aka.ms/download-jdk/microsoft-jdk-{MicrosoftOpenJDK17Version}-{MicrosoftOpenJDKOperatingSystem}.{MicrosoftOpenJDKFileExtension}");
///
/// Base URL for all Android SDK and NDK downloads. Used in
@@ -57,11 +57,11 @@ public static partial class Defaults
public static readonly string BinutilsVersion = Configurables.BinutilsVersion;
public static readonly char[] PropertyListSeparator = new [] { ':' };
- public static readonly string JdkFolder = "jdk-11";
+ public static readonly string JdkFolder = "jdk-17";
- public static readonly Version MicrosoftOpenJDK11Version = new Version (Configurables.MicrosoftOpenJDK11Version);
- public static readonly Version MicrosoftOpenJDK11Release = new Version (Configurables.MicrosoftOpenJDK11Release);
- public static readonly string MicrosoftOpenJDK11RootDirName = Configurables.MicrosoftOpenJDK11RootDirName;
+ public static readonly Version MicrosoftOpenJDK17Version = new Version (Configurables.MicrosoftOpenJDK17Version);
+ public static readonly Version MicrosoftOpenJDK17Release = new Version (Configurables.MicrosoftOpenJDK17Release);
+ public static readonly string MicrosoftOpenJDK17RootDirName = Configurables.MicrosoftOpenJDK17RootDirName;
public static readonly Version AdoptOpenJDK8Version = new Version (Configurables.AdoptOpenJDKVersion);
public static readonly Version AdoptOpenJDK8Release = new Version (Configurables.AdoptOpenJDKRelease);
@@ -307,8 +307,8 @@ public static partial class Paths
public static string OpenJDK8InstallDir => GetCachedPath (ref openJDK8InstallDir, () => Path.Combine (ctx.Properties.GetRequiredValue (KnownProperties.AndroidToolchainDirectory), "jdk-1.8"));
public static string OpenJDK8CacheDir => GetCachedPath (ref openJDK8CacheDir, () => ctx.Properties.GetRequiredValue (KnownProperties.AndroidToolchainCacheDirectory));
- public static string OpenJDK11InstallDir => GetCachedPath (ref openJDK11InstallDir, () => Path.Combine (ctx.Properties.GetRequiredValue (KnownProperties.AndroidToolchainDirectory), "jdk-11"));
- public static string OpenJDK11CacheDir => GetCachedPath (ref openJDK11CacheDir, () => ctx.Properties.GetRequiredValue (KnownProperties.AndroidToolchainCacheDirectory));
+ public static string OpenJDK17InstallDir => GetCachedPath (ref openJDK17InstallDir, () => Path.Combine (ctx.Properties.GetRequiredValue (KnownProperties.AndroidToolchainDirectory), "jdk-17"));
+ public static string OpenJDK17CacheDir => GetCachedPath (ref openJDK17CacheDir, () => ctx.Properties.GetRequiredValue (KnownProperties.AndroidToolchainCacheDirectory));
// bundle
public static string BCLTestsArchiveName = "bcl-tests.zip";
@@ -347,12 +347,6 @@ public static partial class Paths
public static string DotNetPreviewTool => Path.Combine (DotNetPreviewPath, "dotnet");
- // CMake
- public static string CmakeMSBuildPropsName = "cmake-config.props";
- public static string CmakeShellScriptsPropsName = "cmake-config.sh";
- public static string CmakeMonodroidTargets = "cmake-monodroid.targets";
- public static string MonodroidSourceDir => GetCachedPath (ref monodroidSourceDir, () => Path.Combine (BuildPaths.XamarinAndroidSourceRoot, "src", "monodroid"));
-
// Other
public static string AndroidNdkDirectory => ctx.Properties.GetRequiredValue (KnownProperties.AndroidNdkDirectory);
public static string AndroidToolchainRootDirectory => GetCachedPath (ref androidToolchainRootDirectory, () => Path.Combine (AndroidNdkDirectory, "toolchains", "llvm", "prebuilt", NdkToolchainOSTag));
@@ -454,8 +448,8 @@ static string GetCachedPath (ref string? variable, Func creator)
static string? monoSdksTpnExternalPath;
static string? monoSDKSIncludeDestDir;
static string? monoLlvmTpnPath;
- static string? openJDK8InstallDir, openJDK11InstallDir;
- static string? openJDK8CacheDir, openJDK11CacheDir;
+ static string? openJDK8InstallDir, openJDK17InstallDir;
+ static string? openJDK8CacheDir, openJDK17CacheDir;
static string? oldOpenJDKInstallDir;
static string? configurationPropsGeneratedPath;
static string? windowsBinutilsInstallDir;
@@ -464,7 +458,6 @@ static string GetCachedPath (ref string? variable, Func creator)
static string? netcoreAppRuntimeAndroidARM64;
static string? netcoreAppRuntimeAndroidX86;
static string? netcoreAppRuntimeAndroidX86_64;
- static string? monodroidSourceDir;
}
}
}
diff --git a/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/AndroidToolchain.cs b/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/AndroidToolchain.cs
index a4b1f11e31c..4062ba8681e 100644
--- a/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/AndroidToolchain.cs
+++ b/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/AndroidToolchain.cs
@@ -73,7 +73,7 @@ public AndroidToolchain ()
new AndroidPlatformComponent ("platform-31_r01", apiLevel: "31", pkgRevision: "1"),
new AndroidPlatformComponent ("platform-32_r01", apiLevel: "32", pkgRevision: "1"),
new AndroidPlatformComponent ("platform-33_r02", apiLevel: "33", pkgRevision: "2"),
- new AndroidPlatformComponent ("platform-UpsideDownCake_r04", apiLevel: "UpsideDownCake", pkgRevision: "4"),
+ new AndroidPlatformComponent ("platform-34-ext7_r01", apiLevel: "34", pkgRevision: "1"),
new AndroidToolchainComponent ("sources-33_r01",
destDir: Path.Combine ("sources", "android-33"),
diff --git a/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/Linux.Debian.cs b/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/Linux.Debian.cs
index 4c613d73118..a20b2b3504e 100644
--- a/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/Linux.Debian.cs
+++ b/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/Linux.Debian.cs
@@ -16,6 +16,14 @@ class LinuxDebian : LinuxDebianCommon
new DebianLinuxProgram ("openjdk-8-jdk"),
};
+ static readonly List packagesPreTrixie = new List {
+ new DebianLinuxProgram ("libncurses5-dev"),
+ };
+
+ static readonly List packagesTrixieAndLater = new List {
+ new DebianLinuxProgram ("libncurses-dev"),
+ };
+
// zulu-8 does NOT exist as official Debian package! We need it for our bots, but we have to figure out what to
// do with Debian 10+ in general, as it does not contain OpenJDK 8 anymore and we require it to work.
static readonly List packages10AndNewerBuildBots = new List {
@@ -25,6 +33,8 @@ class LinuxDebian : LinuxDebianCommon
static readonly Dictionary DebianUnstableVersionMap = new Dictionary (StringComparer.OrdinalIgnoreCase) {
{ "bookworm", "12" },
{ "bookworm/sid", "12" },
+ { "trixie", "13" },
+ { "trixie/sid", "13" },
};
protected Version DebianRelease { get; private set; } = new Version (0, 0);
@@ -43,8 +53,26 @@ protected override void InitializeDependencies ()
if (DebianRelease.Major >= 10 || (IsTesting && String.Compare ("buster", CodeName, StringComparison.OrdinalIgnoreCase) == 0)) {
if (Context.IsRunningOnHostedAzureAgent)
Dependencies.AddRange (packages10AndNewerBuildBots);
- } else
+ if (DebianRelease.Major >= 13) {
+ Dependencies.AddRange (packagesTrixieAndLater);
+ } else {
+ Dependencies.AddRange (packagesPreTrixie);
+ }
+ } else {
Dependencies.AddRange (packagesPre10);
+ Dependencies.AddRange (packagesPreTrixie);
+ }
+ }
+
+ static bool IsDebian13OrNewer (string? version)
+ {
+ if (String.IsNullOrEmpty (version)) {
+ return false;
+ }
+
+ return
+ version.IndexOf ("trixie", StringComparison.OrdinalIgnoreCase) >= 0 ||
+ version.IndexOf ("sid", StringComparison.OrdinalIgnoreCase) >= 0;
}
static bool IsDebian10OrNewer (string? version)
@@ -56,6 +84,7 @@ static bool IsDebian10OrNewer (string? version)
return
version!.IndexOf ("bullseye", StringComparison.OrdinalIgnoreCase) >= 0 ||
version.IndexOf ("bookworm", StringComparison.OrdinalIgnoreCase) >= 0 ||
+ version.IndexOf ("trixie", StringComparison.OrdinalIgnoreCase) >= 0 ||
version.IndexOf ("sid", StringComparison.OrdinalIgnoreCase) >= 0;
}
@@ -75,7 +104,8 @@ static bool IsBookwormSidOrNewer (string? debian_version)
return false;
}
- return debian_version!.IndexOf ("bookworm", StringComparison.OrdinalIgnoreCase) >= 0;
+ return debian_version!.IndexOf ("bookworm", StringComparison.OrdinalIgnoreCase) >= 0 ||
+ debian_version!.IndexOf ("trixie", StringComparison.OrdinalIgnoreCase) >= 0;
}
protected override bool EnsureVersionInformation (Context context)
diff --git a/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/Linux.DebianCommon.cs b/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/Linux.DebianCommon.cs
index 71a4e2d2f8f..a37e9ff3217 100644
--- a/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/Linux.DebianCommon.cs
+++ b/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/Linux.DebianCommon.cs
@@ -19,7 +19,6 @@ abstract class LinuxDebianCommon : Linux
new DebianLinuxProgram ("g++-mingw-w64"),
new DebianLinuxProgram ("gcc-mingw-w64"),
new DebianLinuxProgram ("git"),
- new DebianLinuxProgram ("libncurses5-dev"),
new DebianLinuxProgram ("libtool"),
new DebianLinuxProgram ("libz-mingw-w64-dev"),
new DebianLinuxProgram ("linux-libc-dev"),
diff --git a/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs b/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs
index c3dc48e6cb2..6d30d2b75e3 100644
--- a/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs
+++ b/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs
@@ -58,7 +58,6 @@ protected override async Task Execute (Context context)
Get_MonoGitHash_props (context),
Get_Configuration_Generated_Props (context),
Get_Cmake_XA_Build_Configuration (context),
- new GeneratedMonodroidCmakeFiles (Configurables.Paths.BuildBinDir),
};
} else {
return new List {
@@ -66,7 +65,6 @@ protected override async Task Execute (Context context)
Get_Configuration_OperatingSystem_props (context),
Get_Configuration_Generated_Props (context),
Get_Cmake_XA_Build_Configuration (context),
- new GeneratedMonodroidCmakeFiles (Configurables.Paths.BuildBinDir),
Get_Ndk_projitems (context),
Get_XABuildConfig_cs (context),
Get_mingw_32_cmake (context),
diff --git a/build-tools/xaprepare/xaprepare/Steps/Step_InstallAdoptOpenJDK.cs b/build-tools/xaprepare/xaprepare/Steps/Step_InstallAdoptOpenJDK.cs
index 5832a629ccc..5ffb59a67c9 100644
--- a/build-tools/xaprepare/xaprepare/Steps/Step_InstallAdoptOpenJDK.cs
+++ b/build-tools/xaprepare/xaprepare/Steps/Step_InstallAdoptOpenJDK.cs
@@ -295,11 +295,11 @@ public Step_InstallMicrosoftOpenJDK11 ()
}
protected override string ProductName => _ProductName;
- protected override string JdkInstallDir => Configurables.Paths.OpenJDK11InstallDir;
- protected override Version JdkVersion => Configurables.Defaults.MicrosoftOpenJDK11Version;
- protected override Version JdkRelease => Configurables.Defaults.MicrosoftOpenJDK11Release;
- protected override Uri JdkUrl => Configurables.Urls.MicrosoftOpenJDK11;
- protected override string JdkCacheDir => Configurables.Paths.OpenJDK11CacheDir;
- protected override string RootDirName => Configurables.Defaults.MicrosoftOpenJDK11RootDirName;
+ protected override string JdkInstallDir => Configurables.Paths.OpenJDK17InstallDir;
+ protected override Version JdkVersion => Configurables.Defaults.MicrosoftOpenJDK17Version;
+ protected override Version JdkRelease => Configurables.Defaults.MicrosoftOpenJDK17Release;
+ protected override Uri JdkUrl => Configurables.Urls.MicrosoftOpenJDK17;
+ protected override string JdkCacheDir => Configurables.Paths.OpenJDK17CacheDir;
+ protected override string RootDirName => Configurables.Defaults.MicrosoftOpenJDK17RootDirName;
}
}
diff --git a/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs b/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs
index 705b2b11da9..8884a090c3a 100644
--- a/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs
+++ b/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs
@@ -22,7 +22,7 @@ protected override async Task Execute (Context context)
dotnetPath = dotnetPath.TrimEnd (new char [] { Path.DirectorySeparatorChar });
if (!await InstallDotNetAsync (context, dotnetPath, BuildToolVersion)) {
- Log.ErrorLine ($"Installation of dotnet SDK {BuildToolVersion} failed.");
+ Log.ErrorLine ($"Installation of dotnet SDK '{BuildToolVersion}' failed.");
return false;
}
@@ -47,7 +47,7 @@ protected override async Task Execute (Context context)
ProcessRunner.QuoteArgument ($"-bl:{logPath}"),
};
if (!Utilities.RunCommand (Configurables.Paths.DotNetPreviewTool, restoreArgs)) {
- Log.ErrorLine ($"dotnet restore {packageDownloadProj} failed.");
+ Log.ErrorLine ($"Failed to restore runtime packs using '{packageDownloadProj}'.");
return false;
}
@@ -74,44 +74,38 @@ async Task DownloadDotNetInstallScript (Context context, string dotnetScri
string tempDotnetScriptPath = dotnetScriptPath + "-tmp";
Utilities.DeleteFile (tempDotnetScriptPath);
- Log.StatusLine ("Downloading dotnet-install...");
+ Log.StatusLine ("Downloading dotnet-install script...");
(bool success, ulong size, HttpStatusCode status) = await Utilities.GetDownloadSizeWithStatus (dotnetScriptUrl);
if (!success) {
- string message;
if (status == HttpStatusCode.NotFound) {
- message = "dotnet-install URL not found";
+ Log.WarningLine ($"dotnet-install URL '{dotnetScriptUrl}' not found.");
} else {
- message = $"Failed to obtain dotnet-install size. HTTP status code: {status} ({(int)status})";
+ Log.WarningLine ($"Failed to obtain dotnet-install script size from URL '{dotnetScriptUrl}'. HTTP status code: {status} ({(int) status})");
}
- return ReportAndCheckCached (message, quietOnError: true);
+ if (File.Exists (dotnetScriptPath)) {
+ Log.WarningLine ($"Using cached installation script found in '{dotnetScriptPath}'");
+ return true;
+ }
}
DownloadStatus downloadStatus = Utilities.SetupDownloadStatus (context, size, context.InteractiveSession);
Log.StatusLine ($" {context.Characters.Link} {dotnetScriptUrl}", ConsoleColor.White);
await Download (context, dotnetScriptUrl, tempDotnetScriptPath, "dotnet-install", Path.GetFileName (dotnetScriptUrl.LocalPath), downloadStatus);
- if (!File.Exists (tempDotnetScriptPath)) {
- return ReportAndCheckCached ($"Download of dotnet-install from {dotnetScriptUrl} failed");
+ if (File.Exists (tempDotnetScriptPath)) {
+ Utilities.CopyFile (tempDotnetScriptPath, dotnetScriptPath);
+ Utilities.DeleteFile (tempDotnetScriptPath);
+ return true;
}
- Utilities.CopyFile (tempDotnetScriptPath, dotnetScriptPath);
- Utilities.DeleteFile (tempDotnetScriptPath);
- return true;
-
- bool ReportAndCheckCached (string message, bool quietOnError = false)
- {
- if (File.Exists (dotnetScriptPath)) {
- Log.WarningLine (message);
- Log.WarningLine ($"Using cached installation script found in {dotnetScriptPath}");
- return true;
- }
-
- if (!quietOnError) {
- Log.ErrorLine (message);
- Log.ErrorLine ($"Cached installation script not found in {dotnetScriptPath}");
- }
+ if (File.Exists (dotnetScriptPath)) {
+ Log.WarningLine ($"Download of dotnet-install from '{dotnetScriptUrl}' failed");
+ Log.WarningLine ($"Using cached installation script found in '{dotnetScriptPath}'");
+ return true;
+ } else {
+ Log.ErrorLine ($"Download of dotnet-install from '{dotnetScriptUrl}' failed");
return false;
}
}
diff --git a/build.cmd b/build.cmd
index 3acc5fdf3f6..876d41149c8 100644
--- a/build.cmd
+++ b/build.cmd
@@ -8,26 +8,24 @@ IF ERRORLEVEL 1 CALL:FAILED_CASE
IF ERRORLEVEL 1 CALL :DEFAULT_CASE
:Prepare_CASE
- dotnet build Xamarin.Android.sln -t:Prepare -nr:false
+ dotnet msbuild Xamarin.Android.sln -t:Prepare -nodeReuse:false
GOTO END_CASE
:PrepareExternal_CASE
- dotnet build Xamarin.Android.sln -t:PrepareExternal -nr:false
+ dotnet build Xamarin.Android.sln -t:PrepareExternal -nodeReuse:false
GOTO END_CASE
:Build_CASE
- dotnet-local.cmd build Xamarin.Android.sln -nr:false
- dotnet-local.cmd build tools/xabuild/xabuild.csproj -nr:false
+ dotnet-local.cmd build Xamarin.Android.sln -nodeReuse:false
GOTO END_CASE
:Pack_CASE
- dotnet-local.cmd build Xamarin.Android.sln -t:PackDotNet -nr:false
+ dotnet-local.cmd build Xamarin.Android.sln -t:PackDotNet -nodeReuse:false
GOTO END_CASE
:DEFAULT_CASE
- dotnet build Xamarin.Android.sln -t:Prepare -nr:false
- dotnet-local.cmd build Xamarin.Android.sln -nr:false
- dotnet-local.cmd build tools/xabuild/xabuild.csproj -nr:false
- dotnet-local.cmd build Xamarin.Android.sln -t:PackDotNet -nr:false
+ dotnet msbuild Xamarin.Android.sln -t:Prepare -nodeReuse:false
+ dotnet-local.cmd build Xamarin.Android.sln -nodeReuse:false
+ dotnet-local.cmd build Xamarin.Android.sln -t:PackDotNet -nodeReuse:false
GOTO END_CASE
:FAILED_CASE
echo "Failed to find an instance of Visual Studio. Please check it is correctly installed."
GOTO END_CASE
:END_CASE
- GOTO :EOF
\ No newline at end of file
+ GOTO :EOF
diff --git a/dotnet-local.cmd b/dotnet-local.cmd
index 9238226fba6..5fad9a27b88 100644
--- a/dotnet-local.cmd
+++ b/dotnet-local.cmd
@@ -1,13 +1,22 @@
@echo off
+SETLOCAL
+
SET ROOT=%~dp0
+
IF EXIST "%ROOT%\bin\Release\dotnet\dotnet.exe" (
- SET DOTNETSDK_WORKLOAD_MANIFEST_ROOTS=%ROOT%\bin\Release\lib\sdk-manifests
- SET DOTNETSDK_WORKLOAD_PACK_ROOTS=%ROOT%\bin\Release\lib
- call "%ROOT%\bin\Release\dotnet\dotnet.exe" %*
+ SET XA_CONFIG=Release
) ELSE IF EXIST "%ROOT%\bin\Debug\dotnet\dotnet.exe" (
- SET DOTNETSDK_WORKLOAD_MANIFEST_ROOTS=%ROOT%\bin\Debug\lib\sdk-manifests
- SET DOTNETSDK_WORKLOAD_PACK_ROOTS=%ROOT%\bin\Debug\lib
- call "%ROOT%\bin\Debug\dotnet\dotnet.exe" %*
+ SET XA_CONFIG=Debug
) ELSE (
echo "You need to run 'msbuild Xamarin.Android.sln /t:Prepare' first."
-)
\ No newline at end of file
+ goto :exit
+)
+
+SET XA_DOTNET_ROOT=%ROOT%\bin\%XA_CONFIG%\dotnet
+SET PATH=%XA_DOTNET_ROOT%;%PATH%
+SET DOTNETSDK_WORKLOAD_MANIFEST_ROOTS=%ROOT%\bin\%XA_CONFIG%\lib\sdk-manifests
+SET DOTNETSDK_WORKLOAD_PACK_ROOTS=%ROOT%\bin\%XA_CONFIG%\lib
+
+call "%XA_DOTNET_ROOT%\dotnet.exe" %*
+
+:exit
diff --git a/dotnet-local.sh b/dotnet-local.sh
index 39738ff4355..f61c7cbf154 100755
--- a/dotnet-local.sh
+++ b/dotnet-local.sh
@@ -1,10 +1,15 @@
#!/bin/bash
ROOT="$(dirname "${BASH_SOURCE}")"
FULLROOT="$(cd "${ROOT}"; pwd)"
-if [[ -x "${ROOT}/bin/Release/dotnet/dotnet" ]]; then
- DOTNETSDK_WORKLOAD_MANIFEST_ROOTS=${FULLROOT}/bin/Release/lib/sdk-manifests DOTNETSDK_WORKLOAD_PACK_ROOTS=${FULLROOT}/bin/Release/lib exec ${ROOT}/bin/Release/dotnet/dotnet "$@"
-elif [[ -x "${ROOT}/bin/Debug/dotnet/dotnet" ]]; then
- DOTNETSDK_WORKLOAD_MANIFEST_ROOTS=${FULLROOT}/bin/Debug/lib/sdk-manifests DOTNETSDK_WORKLOAD_PACK_ROOTS=${FULLROOT}/bin/Debug/lib exec ${ROOT}/bin/Debug/dotnet/dotnet "$@"
-else
- echo "You need to run 'make prepare' first."
-fi
\ No newline at end of file
+for config in Release Debug ; do
+ if [[ ! -x "${ROOT}/bin/${config}/dotnet/dotnet" ]] ; then
+ continue
+ fi
+ XA_DOTNET_ROOT="${FULLROOT}/bin/${config}/dotnet"
+ export PATH="${XA_DOTNET_ROOT}:${PATH}"
+ export DOTNETSDK_WORKLOAD_MANIFEST_ROOTS="${FULLROOT}/bin/${config}/lib/sdk-manifests"
+ export DOTNETSDK_WORKLOAD_PACK_ROOTS="${FULLROOT}/bin/${config}/lib"
+ exec "${ROOT}/bin/${config}/dotnet/dotnet" "$@"
+done
+
+echo "You need to run 'make prepare' first."
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index a689aa9ac2e..71cb80b0e40 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,24 +1,24 @@
-
+
https://github.com/dotnet/installer
- 18dc2cf11a2daaaa1633afd0c4225e188ce6c239
+ 2809943e7ac105b7f2de45e1fd047537f897016c
-
+
https://github.com/dotnet/runtime
- 15583461b96ff1d17947abe5806750bf69c10db3
+ 40d2134aa50389d70fd845a7a6c06f46383e602e
-
+
https://github.com/dotnet/runtime
- 15583461b96ff1d17947abe5806750bf69c10db3
+ 40d2134aa50389d70fd845a7a6c06f46383e602e
-
+
https://github.com/dotnet/emsdk
- fb9e15863c4a8b4fa209096f29406cc6dbb8ef32
+ 66dbaefff04250dc72849f0172e0c53bcfb3ab38
-
+
https://github.com/dotnet/cecil
- f283c6229347f2dc3a25b04f6611014d8871d0b0
+ fa5acbd2ccba88c9d46ce0dd8f5310f9d3c5c46d
diff --git a/eng/Versions.props b/eng/Versions.props
index 893fcb9d88b..f462e774757 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -1,15 +1,15 @@
- 8.0.100-preview.6.23305.2
- 8.0.0-preview.6.23302.2
- 8.0.0-preview.6.23302.2
+ 8.0.100-rc.2.23431.5
+ 8.0.0-rc.2.23430.5
+ 8.0.0-rc.2.23430.5
7.0.0-beta.22103.1
7.0.0-beta.22103.1
- 8.0.0-preview.6.23277.2
+ 8.0.0-rc.1.23415.5
$(MicrosoftNETWorkloadEmscriptenCurrentManifest80100TransportVersion)
7.0.100-rc.1.22410.7
- 0.11.4-alpha.23265.2
+ 0.11.4-alpha.23428.2
$(MicrosoftNETCoreAppRefPackageVersion)
diff --git a/external/Java.Interop b/external/Java.Interop
index 738de61c6a2..5bb0d24b97c 160000
--- a/external/Java.Interop
+++ b/external/Java.Interop
@@ -1 +1 @@
-Subproject commit 738de61c6a271a8c04e3500fbac80c7f95036d92
+Subproject commit 5bb0d24b97c54648ba13fa8ad3abf9c2405baa79
diff --git a/external/Java.Interop.override.props b/external/Java.Interop.override.props
index 8cbac6945cf..5242a70af3f 100644
--- a/external/Java.Interop.override.props
+++ b/external/Java.Interop.override.props
@@ -2,6 +2,7 @@
$(MSBuildThisFileDirectory)xamarin-android-tools
+ True
diff --git a/external/robin-map b/external/robin-map
index 784245b4978..d37a41003bf 160000
--- a/external/robin-map
+++ b/external/robin-map
@@ -1 +1 @@
-Subproject commit 784245b49780f218996573c521c88aaae4960913
+Subproject commit d37a41003bfbc7e12e34601f93c18ca2ff6d7c07
diff --git a/external/xamarin-android-tools b/external/xamarin-android-tools
index 44885bc86ca..52f0866c7dd 160000
--- a/external/xamarin-android-tools
+++ b/external/xamarin-android-tools
@@ -1 +1 @@
-Subproject commit 44885bc86cae86fa206a254e01fdc80b787cee99
+Subproject commit 52f0866c7dd3abfb830d1d0642c9468091b864d4
diff --git a/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.cs.resx b/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.cs.resx
index 517bf5cde55..9d84065876d 100644
--- a/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.cs.resx
+++ b/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.cs.resx
@@ -123,7 +123,7 @@
{0} - The name of the assembly
- Could not find Android Resource '{0}'. Please update @(AndroidResource) to add the missing resource.
+ Nepovedlo se najít prostředek Androidu {0}. Pokud chcete přidat chybějící prostředek, aktualizujte prosím @(AndroidResource).
{0} - An Android Resource Identifier.
diff --git a/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.de.resx b/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.de.resx
index 891796bb676..9d1dc2027ad 100644
--- a/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.de.resx
+++ b/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.de.resx
@@ -123,7 +123,7 @@
{0} - The name of the assembly
- Could not find Android Resource '{0}'. Please update @(AndroidResource) to add the missing resource.
+ Die Android-Ressource "{0}" wurde nicht gefunden. Aktualisieren Sie @(AndroidResource), um die fehlende Ressource hinzuzufügen.
{0} - An Android Resource Identifier.
diff --git a/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.fr.resx b/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.fr.resx
index 04c59fda303..9120e36a9e4 100644
--- a/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.fr.resx
+++ b/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.fr.resx
@@ -123,7 +123,7 @@
{0} - The name of the assembly
- Could not find Android Resource '{0}'. Please update @(AndroidResource) to add the missing resource.
+ Ressource Android '{0}' introuvable. Mettez à jour @(AndroidResource) pour ajouter la ressource manquante.
{0} - An Android Resource Identifier.
diff --git a/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.it.resx b/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.it.resx
index b16e38ceaaa..eae24633e73 100644
--- a/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.it.resx
+++ b/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.it.resx
@@ -123,7 +123,7 @@
{0} - The name of the assembly
- Could not find Android Resource '{0}'. Please update @(AndroidResource) to add the missing resource.
+ Non è stato possibile trovare la risorsa Android '{0}'. Aggiorna @(AndroidResource) per aggiungere la risorsa mancante.
{0} - An Android Resource Identifier.
diff --git a/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.ko.resx b/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.ko.resx
index 05e33800cbe..dcc7c113e7b 100644
--- a/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.ko.resx
+++ b/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.ko.resx
@@ -123,7 +123,7 @@
{0} - The name of the assembly
- Could not find Android Resource '{0}'. Please update @(AndroidResource) to add the missing resource.
+ Android 리소스 '{0}'을(를) 찾을 수 없습니다. @(AndroidResource)를 업데이트하여 누락된 리소스를 추가하세요.
{0} - An Android Resource Identifier.
diff --git a/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.pl.resx b/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.pl.resx
index cff72d8c2ef..1a01e0f2921 100644
--- a/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.pl.resx
+++ b/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.pl.resx
@@ -123,7 +123,7 @@
{0} - The name of the assembly
- Could not find Android Resource '{0}'. Please update @(AndroidResource) to add the missing resource.
+ Nie można odnaleźć zasobu systemu Android „{0}”. Zaktualizuj element @(AndroidResource), aby dodać brakujący zasób.
{0} - An Android Resource Identifier.
diff --git a/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.zh-Hant.resx b/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.zh-Hant.resx
index 9e34bd66aeb..58721fe8e95 100644
--- a/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.zh-Hant.resx
+++ b/src/Microsoft.Android.Sdk.ILLink/Properties/Resources.zh-Hant.resx
@@ -123,7 +123,7 @@
{0} - The name of the assembly
- Could not find Android Resource '{0}'. Please update @(AndroidResource) to add the missing resource.
+ 找不到 Android 資源'{0}'。請更新 @(AndroidResource) 以新增缺少的資源。
{0} - An Android Resource Identifier.
diff --git a/src/Mono.Android/Android.App/Dialog.cs b/src/Mono.Android/Android.App/Dialog.cs
index 94c40398b18..14f32f00bc1 100644
--- a/src/Mono.Android/Android.App/Dialog.cs
+++ b/src/Mono.Android/Android.App/Dialog.cs
@@ -1,5 +1,4 @@
using System;
-using System.Diagnostics.CodeAnalysis;
using Android.Runtime;
namespace Android.App {
@@ -9,8 +8,7 @@ public partial class Dialog {
protected Dialog (Android.Content.Context context, bool cancelable, EventHandler cancelHandler)
: this (context, cancelable, new Android.Content.IDialogInterfaceOnCancelListenerImplementor () { Handler = cancelHandler }) {}
- [return: MaybeNull]
- public T FindViewById (int id)
+ public T? FindViewById (int id)
where T : Android.Views.View
{
return this.FindViewById (id).JavaCast ();
diff --git a/src/Mono.Android/Android.App/FragmentManager.cs b/src/Mono.Android/Android.App/FragmentManager.cs
index 8b67deecaa7..5d32da4a247 100644
--- a/src/Mono.Android/Android.App/FragmentManager.cs
+++ b/src/Mono.Android/Android.App/FragmentManager.cs
@@ -1,22 +1,18 @@
-using System.Diagnostics.CodeAnalysis;
using Android.OS;
using Android.Runtime;
#if ANDROID_11
namespace Android.App {
public partial class FragmentManager {
- [return: MaybeNull]
- public T FindFragmentById (int id) where T : Fragment
+ public T? FindFragmentById (int id) where T : Fragment
{
return FindFragmentById (id).JavaCast ();
}
- [return: MaybeNull]
- public T FindFragmentByTag (string tag) where T : Fragment
+ public T? FindFragmentByTag (string tag) where T : Fragment
{
return FindFragmentByTag (tag).JavaCast ();
}
- [return: MaybeNull]
- public T GetFragment (Bundle bundle, string key) where T : Fragment
+ public T? GetFragment (Bundle bundle, string key) where T : Fragment
{
return GetFragment (bundle, key).JavaCast ();
}
diff --git a/src/Mono.Android/Android.App/IntentFilterAttribute.cs b/src/Mono.Android/Android.App/IntentFilterAttribute.cs
index 08a849665c3..ea9847520d9 100644
--- a/src/Mono.Android/Android.App/IntentFilterAttribute.cs
+++ b/src/Mono.Android/Android.App/IntentFilterAttribute.cs
@@ -42,6 +42,14 @@ public IntentFilterAttribute (string[] actions)
#endif
#if ANDROID_25
public string? RoundIcon {get; set;}
+#endif
+#if ANDROID_26
+ public string? DataPathAdvancedPattern {get; set;}
+ public string[]? DataPathAdvancedPatterns {get; set;}
+#endif
+#if ANDROID_31
+ public string? DataPathSuffix {get; set;}
+ public string[]? DataPathSuffixes {get; set;}
#endif
}
}
diff --git a/src/Mono.Android/Android.Content.PM/PackageManager.cs b/src/Mono.Android/Android.Content.PM/PackageManager.cs
new file mode 100644
index 00000000000..385f98cf7e9
--- /dev/null
+++ b/src/Mono.Android/Android.Content.PM/PackageManager.cs
@@ -0,0 +1,88 @@
+namespace Android.Content.PM;
+
+#if ANDROID_34
+public abstract partial class PackageManager
+{
+ public sealed partial class PackageInfoFlags
+ {
+ // Create overloads that accept PackageInfoFlagsLong
+ [global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android33.0")]
+ public static Android.Content.PM.PackageManager.PackageInfoFlags Of (PackageInfoFlagsLong value)
+ => Of ((long) value);
+
+ [global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android33.0")]
+ public PackageInfoFlagsLong ValueAsFlags
+ => (PackageInfoFlagsLong) Value;
+ }
+}
+
+// Manually created "long" version of "PackageInfoFlags" enum, created from documentation:
+// https://developer.android.com/reference/android/content/pm/PackageManager.PackageInfoFlags#of(long)
+[System.Flags]
+public enum PackageInfoFlagsLong : long
+{
+ None = 0,
+
+ GetActivities = PackageInfoFlags.Activities,
+
+ GetReceivers = PackageInfoFlags.Receivers,
+
+ GetServices = PackageInfoFlags.Services,
+
+ GetProviders = PackageInfoFlags.Providers,
+
+ GetInstrumentation = PackageInfoFlags.Instrumentation,
+
+ [global::System.Runtime.Versioning.ObsoletedOSPlatformAttribute ("android31.0", "The platform does not support getting IntentFilters for the package.")]
+ GetIntentFilters = PackageInfoFlags.IntentFilters,
+
+ [global::System.Runtime.Versioning.ObsoletedOSPlatformAttribute ("android28.0", "Use GetSigningCertificates instead.")]
+ GetSignatures = PackageInfoFlags.Signatures,
+
+ GetMetaData = PackageInfoFlags.MetaData,
+
+ GetGids = PackageInfoFlags.Gids,
+
+ [global::System.Runtime.Versioning.ObsoletedOSPlatformAttribute ("android24.0", "Replaced with MatchDisabledComponents.")]
+ GetDisabledComponents = PackageInfoFlags.DisabledComponents,
+
+ [global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android24.0")]
+ MatchDisabledComponents = PackageInfoFlags.MatchDisabledComponents,
+
+ GetSharedLibraryFiles = PackageInfoFlags.SharedLibraryFiles,
+
+ GetUriPermissionPatterns = PackageInfoFlags.UriPermissionPatterns,
+
+ GetPermissions = PackageInfoFlags.Permissions,
+
+ [global::System.Runtime.Versioning.ObsoletedOSPlatformAttribute ("android24.0", "Replaced with MatchUninstalledPackages.")]
+ GetUninstalledPackages = PackageInfoFlags.UninstalledPackages,
+
+ [global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android24.0")]
+ MatchUninstalledPackages = PackageInfoFlags.MatchUninstalledPackages,
+
+ GetConfigurations = PackageInfoFlags.Configurations,
+
+ [global::System.Runtime.Versioning.ObsoletedOSPlatformAttribute ("android24.0", "Replaced with MatchDisabledUntilUsedComponents.")]
+ GetDisabledUntilUsedComponents = PackageInfoFlags.DisabledUntilUsedComponents,
+
+ [global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android24.0")]
+ MatchDisabledUntilUsedComponents = PackageInfoFlags.MatchDisabledUntilUsedComponents,
+
+ [global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android24.0")]
+ MatchSystemOnly = PackageInfoFlags.MatchSystemOnly,
+
+ [global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android28.0")]
+ GetSigningCertificates = PackageInfoFlags.SigningCertificates,
+
+ [global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android29.0")]
+ MatchApex = 1073741824,
+
+ [global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android31.0")]
+ [global::System.Runtime.Versioning.ObsoletedOSPlatformAttribute ("android34.0", "Use GetAttributionsLong to avoid unintended sign extension.")]
+ GetAttributions = PackageInfoFlags.Attributions,
+
+ [global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android34.0")]
+ GetAttributionsLong = 2147483648,
+}
+#endif // ANDROID_34
diff --git a/src/Mono.Android/Android.Content/ContentValues.cs b/src/Mono.Android/Android.Content/ContentValues.cs
index 35446366ed3..3aef2dd5f11 100644
--- a/src/Mono.Android/Android.Content/ContentValues.cs
+++ b/src/Mono.Android/Android.Content/ContentValues.cs
@@ -119,6 +119,7 @@ public short GetAsShort (string key)
static IntPtr id_put_Ljava_lang_String_Ljava_lang_Boolean_;
[Register ("put", "(Ljava/lang/String;Ljava/lang/Boolean;)V", "")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessage ("Interoperability", "CA1422:Validate platform compatibility", Justification = "Suggested replacement uses instance sharing")]
public void Put (string key, bool value)
{
if (id_put_Ljava_lang_String_Ljava_lang_Boolean_ == IntPtr.Zero)
@@ -134,6 +135,7 @@ public void Put (string key, bool value)
static IntPtr id_put_Ljava_lang_String_Ljava_lang_Byte_;
[Register ("put", "(Ljava/lang/String;Ljava/lang/Byte;)V", "")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessage ("Interoperability", "CA1422:Validate platform compatibility", Justification = "Suggested replacement uses instance sharing")]
public void Put (string key, sbyte value)
{
if (id_put_Ljava_lang_String_Ljava_lang_Byte_ == IntPtr.Zero)
@@ -149,6 +151,7 @@ public void Put (string key, sbyte value)
static IntPtr id_put_Ljava_lang_String_Ljava_lang_Short_;
[Register ("put", "(Ljava/lang/String;Ljava/lang/Short;)V", "")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessage ("Interoperability", "CA1422:Validate platform compatibility", Justification = "Suggested replacement uses instance sharing")]
public void Put (string key, short value)
{
if (id_put_Ljava_lang_String_Ljava_lang_Short_ == IntPtr.Zero)
@@ -164,6 +167,7 @@ public void Put (string key, short value)
static IntPtr id_put_Ljava_lang_String_Ljava_lang_Integer_;
[Register ("put", "(Ljava/lang/String;Ljava/lang/Integer;)V", "")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessage ("Interoperability", "CA1422:Validate platform compatibility", Justification = "Suggested replacement uses instance sharing")]
public void Put (string key, int value)
{
if (id_put_Ljava_lang_String_Ljava_lang_Integer_ == IntPtr.Zero)
@@ -179,6 +183,7 @@ public void Put (string key, int value)
static IntPtr id_put_Ljava_lang_String_Ljava_lang_Long_;
[Register ("put", "(Ljava/lang/String;Ljava/lang/Long;)V", "")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessage ("Interoperability", "CA1422:Validate platform compatibility", Justification = "Suggested replacement uses instance sharing")]
public void Put (string key, long value)
{
if (id_put_Ljava_lang_String_Ljava_lang_Long_ == IntPtr.Zero)
@@ -194,6 +199,7 @@ public void Put (string key, long value)
static IntPtr id_put_Ljava_lang_String_Ljava_lang_Float_;
[Register ("put", "(Ljava/lang/String;Ljava/lang/Float;)V", "")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessage ("Interoperability", "CA1422:Validate platform compatibility", Justification = "Suggested replacement uses instance sharing")]
public void Put (string key, float value)
{
if (id_put_Ljava_lang_String_Ljava_lang_Float_ == IntPtr.Zero)
@@ -209,6 +215,7 @@ public void Put (string key, float value)
static IntPtr id_put_Ljava_lang_String_Ljava_lang_Double_;
[Register ("put", "(Ljava/lang/String;Ljava/lang/Double;)V", "")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessage ("Interoperability", "CA1422:Validate platform compatibility", Justification = "Suggested replacement uses instance sharing")]
public void Put (string key, double value)
{
if (id_put_Ljava_lang_String_Ljava_lang_Double_ == IntPtr.Zero)
diff --git a/src/Mono.Android/Android.Content/Context.cs b/src/Mono.Android/Android.Content/Context.cs
index d397c171207..d874e31fee8 100644
--- a/src/Mono.Android/Android.Content/Context.cs
+++ b/src/Mono.Android/Android.Content/Context.cs
@@ -1,4 +1,5 @@
using System;
+using Android.OS;
using Android.Runtime;
namespace Android.Content {
@@ -16,5 +17,16 @@ public void StartActivity (Type type)
[Obsolete ("This constant will be removed in the future version. Use Android.Content.ReceiverFlags enum directly instead of this field.")]
public const int ReceiverVisibleToInstantApps = 1;
#endif
+
+#if ANDROID_34
+ // Add correctly enumified overloads
+ [global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android26.0")]
+ public Intent? RegisterReceiver (BroadcastReceiver? receiver, IntentFilter? filter, ReceiverFlags flags)
+ => RegisterReceiver (receiver, filter, (ActivityFlags)flags);
+
+ [global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android26.0")]
+ public Intent? RegisterReceiver (BroadcastReceiver? receiver, IntentFilter? filter, string? broadcastPermission, Handler? scheduler, ReceiverFlags flags)
+ => RegisterReceiver (receiver, filter, broadcastPermission, scheduler, (ActivityFlags)flags);
+#endif
}
}
diff --git a/src/Mono.Android/Android.Graphics/Color.cs b/src/Mono.Android/Android.Graphics/Color.cs
index 6b866cb4735..bf57968663c 100644
--- a/src/Mono.Android/Android.Graphics/Color.cs
+++ b/src/Mono.Android/Android.Graphics/Color.cs
@@ -416,7 +416,7 @@ public override void DestroyGenericArgumentState (Color value, ref JniValueMarsh
public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize, Type targetType)
{
- var c = typeof (Color).GetConstructor (new[]{typeof (int)});
+ var c = typeof (Color).GetConstructor (new[]{typeof (int)})!;
var v = Expression.Variable (typeof (Color), sourceValue.Name + "_val");
context.LocalVariables.Add (v);
context.CreationStatements.Add (Expression.Assign (v, Expression.New (c, sourceValue)));
diff --git a/src/Mono.Android/Android.Media/AudioTrack.cs b/src/Mono.Android/Android.Media/AudioTrack.cs
index af05676eb57..01c4a564ed6 100644
--- a/src/Mono.Android/Android.Media/AudioTrack.cs
+++ b/src/Mono.Android/Android.Media/AudioTrack.cs
@@ -4,12 +4,14 @@ namespace Android.Media
{
public partial class AudioTrack
{
+ [global::System.Runtime.Versioning.ObsoletedOSPlatform ("android26.0")]
[Obsolete ("ChannelConfiguration is obsolete. Please use another overload with ChannelOut instead")]
public AudioTrack ([global::Android.Runtime.GeneratedEnum] Android.Media.Stream streamType, int sampleRateInHz, [global::Android.Runtime.GeneratedEnum] Android.Media.ChannelConfiguration channelConfig, [global::Android.Runtime.GeneratedEnum] Android.Media.Encoding audioFormat, int bufferSizeInBytes, [global::Android.Runtime.GeneratedEnum] Android.Media.AudioTrackMode mode)
: this (streamType, sampleRateInHz, (ChannelOut) (int) channelConfig, audioFormat, bufferSizeInBytes, mode)
{
}
#if ANDROID_9
+ [global::System.Runtime.Versioning.ObsoletedOSPlatform ("android26.0")]
[Obsolete ("ChannelConfiguration is obsolete. Please use another overload with ChannelOut instead")]
public AudioTrack ([global::Android.Runtime.GeneratedEnum] Android.Media.Stream streamType, int sampleRateInHz, [global::Android.Runtime.GeneratedEnum] Android.Media.ChannelConfiguration channelConfig, [global::Android.Runtime.GeneratedEnum] Android.Media.Encoding audioFormat, int bufferSizeInBytes, [global::Android.Runtime.GeneratedEnum] Android.Media.AudioTrackMode mode, int sessionId)
: this (streamType, sampleRateInHz, (ChannelOut) (int) channelConfig, audioFormat, bufferSizeInBytes, mode, sessionId)
diff --git a/src/Mono.Android/Android.OS/AsyncTask.cs b/src/Mono.Android/Android.OS/AsyncTask.cs
index 772e2e69908..ad5db1b113b 100644
--- a/src/Mono.Android/Android.OS/AsyncTask.cs
+++ b/src/Mono.Android/Android.OS/AsyncTask.cs
@@ -7,6 +7,7 @@
namespace Android.OS {
+ [global::System.Runtime.Versioning.ObsoletedOSPlatform ("android30.0")]
[Register ("android/os/AsyncTask", DoNotGenerateAcw=true)]
public abstract class AsyncTask : AsyncTask {
@@ -88,9 +89,8 @@ public AsyncTask ()
}
static IntPtr id_get;
- [return: MaybeNull]
[Register ("get", "()Ljava/lang/Object;", "")]
- public TResult GetResult ()
+ public TResult? GetResult ()
{
if (id_get == IntPtr.Zero)
id_get = JNIEnv.GetMethodID (class_ref, "get", "()Ljava/lang/Object;");
diff --git a/src/Mono.Android/Android.OS/Handler.cs b/src/Mono.Android/Android.OS/Handler.cs
index cd56ddc7ecb..f438614eb43 100644
--- a/src/Mono.Android/Android.OS/Handler.cs
+++ b/src/Mono.Android/Android.OS/Handler.cs
@@ -5,6 +5,7 @@ namespace Android.OS {
public partial class Handler {
+ [global::System.Runtime.Versioning.ObsoletedOSPlatform ("android30.0")]
public Handler (Action handler)
: this (new ActionHandlerCallback (handler))
{
diff --git a/src/Mono.Android/Android.OS/Vibrator.cs b/src/Mono.Android/Android.OS/Vibrator.cs
index 1b63bf38288..a8fd78f45c2 100644
--- a/src/Mono.Android/Android.OS/Vibrator.cs
+++ b/src/Mono.Android/Android.OS/Vibrator.cs
@@ -6,6 +6,7 @@ namespace Android.OS {
public partial class Vibrator {
+ [global::System.Runtime.Versioning.ObsoletedOSPlatform ("android31.0", "Use VibratorManager to retrieve the default system vibrator.")]
public static Vibrator? FromContext (Context context)
{
return context.GetSystemService (Context.VibratorService!) as Vibrator;
diff --git a/src/Mono.Android/Android.Runtime/AndroidEnvironment.cs b/src/Mono.Android/Android.Runtime/AndroidEnvironment.cs
index c8dcb831e21..f81a0b5c0bc 100644
--- a/src/Mono.Android/Android.Runtime/AndroidEnvironment.cs
+++ b/src/Mono.Android/Android.Runtime/AndroidEnvironment.cs
@@ -237,6 +237,7 @@ static void NotifyTimeZoneChanged ()
//
// Rationale
// No longer called by the indicated caller, however we keep it for backward compatibility.
+ [global::System.Runtime.Versioning.ObsoletedOSPlatform ("android31.0")]
static void GetDisplayDPI (out float x_dpi, out float y_dpi)
{
var wm = Application.Context.GetSystemService (Context.WindowService).JavaCast ();
diff --git a/src/Mono.Android/Android.Runtime/AndroidRuntime.cs b/src/Mono.Android/Android.Runtime/AndroidRuntime.cs
index da27a3b04f2..9e67d00721c 100644
--- a/src/Mono.Android/Android.Runtime/AndroidRuntime.cs
+++ b/src/Mono.Android/Android.Runtime/AndroidRuntime.cs
@@ -79,7 +79,7 @@ public override void RaisePendingException (Exception pendingException)
{
var je = pendingException as JavaProxyThrowable;
if (je == null) {
- je = new JavaProxyThrowable (pendingException);
+ je = JavaProxyThrowable.Create (pendingException);
}
var r = new JniObjectReference (je.Handle);
JniEnvironment.Exceptions.Throw (r);
@@ -391,6 +391,7 @@ protected override IEnumerable GetSimpleReferences (Type type)
// See ExportAttribute.cs
[UnconditionalSuppressMessage ("Trimming", "IL2026", Justification = "Mono.Android.Export.dll is preserved when [Export] is used via [DynamicDependency].")]
+ [UnconditionalSuppressMessage ("Trimming", "IL2075", Justification = "Mono.Android.Export.dll is preserved when [Export] is used via [DynamicDependency].")]
static Delegate CreateDynamicCallback (MethodInfo method)
{
if (dynamic_callback_gen == null) {
@@ -479,10 +480,20 @@ static bool CallRegisterMethodByIndex (JniNativeMethodRegistrationArguments argu
}
}
- public override void RegisterNativeMembers (JniType nativeClass, Type type, string? methods) =>
+ public override void RegisterNativeMembers (
+ JniType nativeClass,
+ [DynamicallyAccessedMembers (DynamicallyAccessedMemberTypes.PublicMethods | DynamicallyAccessedMemberTypes.NonPublicMethods)]
+ Type type,
+ string? methods) =>
RegisterNativeMembers (nativeClass, type, methods.AsSpan ());
- public void RegisterNativeMembers (JniType nativeClass, Type type, ReadOnlySpan methods)
+ [UnconditionalSuppressMessage ("Trimming", "IL2057", Justification = "Type.GetType() can never statically know the string value parsed from parameter 'methods'.")]
+ [UnconditionalSuppressMessage ("Trimming", "IL2067", Justification = "Delegate.CreateDelegate() can never statically know the string value parsed from parameter 'methods'.")]
+ [UnconditionalSuppressMessage ("Trimming", "IL2072", Justification = "Delegate.CreateDelegate() can never statically know the string value parsed from parameter 'methods'.")]
+ public void RegisterNativeMembers (
+ JniType nativeClass,
+ [DynamicallyAccessedMembers (DynamicallyAccessedMemberTypes.PublicMethods | DynamicallyAccessedMemberTypes.NonPublicMethods)] Type type,
+ ReadOnlySpan methods)
{
try {
if (methods.IsEmpty) {
diff --git a/src/Mono.Android/Android.Runtime/JNIEnv.cs b/src/Mono.Android/Android.Runtime/JNIEnv.cs
index 1b4c2430344..3250cbb67ae 100644
--- a/src/Mono.Android/Android.Runtime/JNIEnv.cs
+++ b/src/Mono.Android/Android.Runtime/JNIEnv.cs
@@ -747,7 +747,7 @@ public static void CopyArray (IntPtr src, string[] dest)
static TValue GetConverter(Dictionary dict, Type? elementType, IntPtr array)
{
- TValue converter;
+ TValue? converter;
if (elementType != null) {
if (elementType.IsEnum)
@@ -835,7 +835,9 @@ static unsafe void _GetDoubleArrayRegion (IntPtr array, int start, int length, d
JniEnvironment.Arrays.GetDoubleArrayRegion (new JniObjectReference (array), start, length, p);
}
+#pragma warning disable RS0027 // API with optional parameter(s) should have the most parameters amongst its public overloads
public static void CopyArray (IntPtr src, Array dest, Type? elementType = null)
+#pragma warning restore RS0027 // API with optional parameter(s) should have the most parameters amongst its public overloads
{
if (dest == null)
throw new ArgumentNullException ("dest");
diff --git a/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs b/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs
index 738b2e07bc1..ddbc3ef2e0b 100644
--- a/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs
+++ b/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs
@@ -9,7 +9,11 @@ public static partial class JNINativeWrapper
static bool _unhandled_exception (Exception e)
{
if (Debugger.IsAttached || !JNIEnvInit.PropagateExceptions) {
+#if NETCOREAPP
AndroidRuntimeInternal.mono_unhandled_exception?.Invoke (e);
+#else
+ JNIEnvInit.mono_unhandled_exception?.Invoke (e);
+#endif
return false;
}
return true;
@@ -158,6 +162,17 @@ internal static void Wrap_JniMarshal_PPII_V (this _JniMarshal_PPII_V callback, I
}
}
+ internal static IntPtr Wrap_JniMarshal_PPII_L (this _JniMarshal_PPII_L callback, IntPtr jnienv, IntPtr klazz, int p0, int p1)
+ {
+ AndroidRuntimeInternal.WaitForBridgeProcessing ();
+ try {
+ return callback (jnienv, klazz, p0, p1);
+ } catch (Exception e) when (_unhandled_exception (e)) {
+ AndroidEnvironment.UnhandledException (e);
+ return default;
+ }
+ }
+
internal static void Wrap_JniMarshal_PPLI_V (this _JniMarshal_PPLI_V callback, IntPtr jnienv, IntPtr klazz, IntPtr p0, int p1)
{
AndroidRuntimeInternal.WaitForBridgeProcessing ();
@@ -473,6 +488,8 @@ private static Delegate CreateBuiltInDelegate (Delegate dlg, Type delegateType)
return new _JniMarshal_PPJ_Z (Unsafe.As<_JniMarshal_PPJ_Z> (dlg).Wrap_JniMarshal_PPJ_Z);
case nameof (_JniMarshal_PPII_V):
return new _JniMarshal_PPII_V (Unsafe.As<_JniMarshal_PPII_V> (dlg).Wrap_JniMarshal_PPII_V);
+ case nameof (_JniMarshal_PPII_L):
+ return new _JniMarshal_PPII_L (Unsafe.As<_JniMarshal_PPII_L> (dlg).Wrap_JniMarshal_PPII_L);
case nameof (_JniMarshal_PPLI_V):
return new _JniMarshal_PPLI_V (Unsafe.As<_JniMarshal_PPLI_V> (dlg).Wrap_JniMarshal_PPLI_V);
case nameof (_JniMarshal_PPLZ_V):
diff --git a/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.tt b/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.tt
index b3bb339b6e7..431d826c739 100644
--- a/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.tt
+++ b/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.tt
@@ -82,6 +82,12 @@ var delegateTypes = new [] {
Return = "void",
Invoke = "jnienv, klazz, p0, p1",
},
+ new {
+ Type = "_JniMarshal_PPII_L",
+ Signature = "IntPtr jnienv, IntPtr klazz, int p0, int p1",
+ Return = "IntPtr",
+ Invoke = "jnienv, klazz, p0, p1",
+ },
new {
Type = "_JniMarshal_PPLI_V",
Signature = "IntPtr jnienv, IntPtr klazz, IntPtr p0, int p1",
@@ -271,7 +277,7 @@ foreach (var info in delegateTypes) {
<#= info.Return != "void" ? "return " : "" #>callback (<#= info.Invoke #>);
} catch (Exception e) when (_unhandled_exception (e)) {
AndroidEnvironment.UnhandledException (e);
- <#= info.Return != "void" ? "return default;" : "" #>
+<#= info.Return != "void" ? "\t\t\t\treturn default;" : "" #>
}
}
diff --git a/src/Mono.Android/Android.Runtime/JavaCollection.cs b/src/Mono.Android/Android.Runtime/JavaCollection.cs
index de61c1c2dd7..70660bc24a3 100644
--- a/src/Mono.Android/Android.Runtime/JavaCollection.cs
+++ b/src/Mono.Android/Android.Runtime/JavaCollection.cs
@@ -386,8 +386,7 @@ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator ()
return GetEnumerator ()!;
}
- [return: MaybeNull]
- public IEnumerator GetEnumerator ()
+ public IEnumerator GetEnumerator ()
{
return System.Linq.Extensions.ToEnumerator_Dispose (Iterator());
}
diff --git a/src/Mono.Android/Android.Runtime/JavaDictionary.cs b/src/Mono.Android/Android.Runtime/JavaDictionary.cs
index 773bd217530..80656dfc58c 100644
--- a/src/Mono.Android/Android.Runtime/JavaDictionary.cs
+++ b/src/Mono.Android/Android.Runtime/JavaDictionary.cs
@@ -444,8 +444,7 @@ public JavaDictionary (IDictionary items) : this ()
//
// https://developer.android.com/reference/java/util/Map#get(java.lang.Object)
//
- [return: MaybeNull]
- internal V Get (K key)
+ internal V? Get (K key)
{
if (id_get == IntPtr.Zero)
id_get = JNIEnv.GetMethodID (map_class, "get", "(Ljava/lang/Object;)Ljava/lang/Object;");
diff --git a/src/Mono.Android/Android.Runtime/JavaList.cs b/src/Mono.Android/Android.Runtime/JavaList.cs
index 6fb441fdba1..980b01f386e 100644
--- a/src/Mono.Android/Android.Runtime/JavaList.cs
+++ b/src/Mono.Android/Android.Runtime/JavaList.cs
@@ -727,8 +727,7 @@ public JavaList (IEnumerable items) : this ()
//
// https://developer.android.com/reference/java/util/List.html?hl=en#get(int)
//
- [return: MaybeNull]
- internal unsafe T InternalGet (int location)
+ internal unsafe T? InternalGet (int location)
{
const string id = "get.(I)Ljava/lang/Object;";
JniObjectReference obj;
@@ -880,8 +879,7 @@ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator ()
return GetEnumerator ()!;
}
- [return: MaybeNull]
- public IEnumerator GetEnumerator ()
+ public IEnumerator GetEnumerator ()
{
return System.Linq.Extensions.ToEnumerator_Dispose (Iterator ());
}
diff --git a/src/Mono.Android/Android.Runtime/JavaObject.cs b/src/Mono.Android/Android.Runtime/JavaObject.cs
index 7f74c8a52f7..bb9084dfc60 100644
--- a/src/Mono.Android/Android.Runtime/JavaObject.cs
+++ b/src/Mono.Android/Android.Runtime/JavaObject.cs
@@ -5,6 +5,7 @@ namespace Android.Runtime {
[Register ("mono/android/runtime/JavaObject")]
internal sealed class JavaObject : Java.Lang.Object {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage ("Interoperability", "CA1422:Validate platform compatibility", Justification = "Suggested replacement uses instance sharing")]
public static IntPtr GetHandle (object obj)
{
if (obj == null)
diff --git a/src/Mono.Android/Android.Runtime/JavaProxyThrowable.cs b/src/Mono.Android/Android.Runtime/JavaProxyThrowable.cs
index 89f4d01844e..7e350980638 100644
--- a/src/Mono.Android/Android.Runtime/JavaProxyThrowable.cs
+++ b/src/Mono.Android/Android.Runtime/JavaProxyThrowable.cs
@@ -1,23 +1,83 @@
using System;
+using System.Diagnostics;
+using System.Reflection;
+
+using StackTraceElement = Java.Lang.StackTraceElement;
namespace Android.Runtime {
- class JavaProxyThrowable : Java.Lang.Error {
+ sealed class JavaProxyThrowable : Java.Lang.Error {
public readonly Exception InnerException;
- public JavaProxyThrowable (Exception innerException)
- : base (GetDetailMessage (innerException))
+ JavaProxyThrowable (string message, Exception innerException)
+ : base (message)
{
InnerException = innerException;
}
- static string GetDetailMessage (Exception innerException)
+ public static JavaProxyThrowable Create (Exception innerException)
+ {
+ if (innerException == null) {
+ throw new ArgumentNullException (nameof (innerException));
+ }
+
+ // We prepend managed exception type to message since Java will see `JavaProxyThrowable` instead.
+ var proxy = new JavaProxyThrowable ($"[{innerException.GetType ()}]: {innerException.Message}", innerException);
+
+ try {
+ proxy.TranslateStackTrace ();
+ } catch (Exception ex) {
+ // We shouldn't throw here, just try to do the best we can do
+ Console.WriteLine ($"JavaProxyThrowable: translation threw an exception: {ex}");
+ proxy = new JavaProxyThrowable (innerException.ToString (), innerException);
+ }
+
+ return proxy;
+ }
+
+ void TranslateStackTrace ()
{
- if (innerException == null)
- throw new ArgumentNullException ("innerException");
+ var trace = new StackTrace (InnerException, fNeedFileInfo: true);
+ if (trace.FrameCount <= 0) {
+ return;
+ }
+
+ StackTraceElement[]? javaTrace = null;
+ try {
+ javaTrace = GetStackTrace ();
+ } catch (Exception ex) {
+ // Report...
+ Console.WriteLine ($"JavaProxyThrowable: obtaining Java stack trace threw an exception: {ex}");
+ // ..but ignore
+ }
+
+
+ StackFrame[] frames = trace.GetFrames ();
+ int nElements = frames.Length + (javaTrace?.Length ?? 0);
+ StackTraceElement[] elements = new StackTraceElement[nElements];
+
+ for (int i = 0; i < frames.Length; i++) {
+ StackFrame managedFrame = frames[i];
+ MethodBase? managedMethod = managedFrame.GetMethod ();
+
+ var throwableFrame = new StackTraceElement (
+ declaringClass: managedMethod?.DeclaringType?.FullName,
+ methodName: managedMethod?.Name,
+ fileName: managedFrame?.GetFileName (),
+ lineNumber: managedFrame?.GetFileLineNumber () ?? -1
+ );
+
+ elements[i] = throwableFrame;
+ }
+
+ if (javaTrace != null) {
+ for (int i = frames.Length; i < nElements; i++) {
+ elements[i] = javaTrace[i - frames.Length];
+ }
+ }
- return innerException.ToString ();
+ SetStackTrace (elements);
}
}
}
diff --git a/src/Mono.Android/Android.Runtime/JavaSet.cs b/src/Mono.Android/Android.Runtime/JavaSet.cs
index 381877c44a0..c141e1058a4 100644
--- a/src/Mono.Android/Android.Runtime/JavaSet.cs
+++ b/src/Mono.Android/Android.Runtime/JavaSet.cs
@@ -390,7 +390,6 @@ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator ()
return GetEnumerator ()!;
}
- [return: MaybeNull]
public IEnumerator GetEnumerator ()
{
return System.Linq.Extensions.ToEnumerator_Dispose (Iterator ());
diff --git a/src/Mono.Android/Android.Runtime/XmlPullParserReader.cs b/src/Mono.Android/Android.Runtime/XmlPullParserReader.cs
index 72d18b90a08..5bda50595b2 100644
--- a/src/Mono.Android/Android.Runtime/XmlPullParserReader.cs
+++ b/src/Mono.Android/Android.Runtime/XmlPullParserReader.cs
@@ -72,7 +72,7 @@ public QName (XmlPullParserReader r, string name)
}
public string LocalName;
- public string Namespace;
+ public string? Namespace;
}
public XmlPullParserReader (IJavaObject source)
@@ -140,7 +140,7 @@ public override bool EOF {
throw new ArgumentOutOfRangeException ();
}
- public override string? GetAttribute (string localName, string namespaceName)
+ public override string? GetAttribute (string localName, string? namespaceName)
{
return namespaceName == xmlns_uri ? source.GetNamespace (localName) : source.GetAttributeValue (namespaceName, localName);
}
@@ -179,7 +179,7 @@ public override string? LocalName {
}
}
- public override string LookupNamespace (string prefix)
+ public override string? LookupNamespace (string prefix)
{
return nsmgr.LookupNamespace (prefix);
}
@@ -192,7 +192,7 @@ public override void MoveToAttribute (int i)
attr_value = false;
}
- public override bool MoveToAttribute (string localName, string namespaceName)
+ public override bool MoveToAttribute (string localName, string? namespaceName)
{
if (namespaceName == xmlns_uri) {
for (int i = 0; i < ns_count; i++)
@@ -251,7 +251,7 @@ public override string? Name {
get { return String.IsNullOrEmpty (Prefix) ? LocalName : Prefix + ':' + LocalName; }
}
- public override XmlNameTable NameTable {
+ public override XmlNameTable? NameTable {
get { return nsmgr.NameTable; }
}
@@ -297,9 +297,14 @@ public override XmlNodeType NodeType {
}
}
- public override string Prefix {
+ public override string? Prefix {
// getPrefix(), getAttributePrefix(), getNamespacePrefix() are not supported!!!
- get { return nsmgr.LookupPrefix (NamespaceURI); }
+ get {
+ if (NamespaceURI is null)
+ return null;
+
+ return nsmgr.LookupPrefix (NamespaceURI);
+ }
}
public override bool Read ()
@@ -331,14 +336,14 @@ public override bool Read ()
if (wasEmptyElement || NodeType == XmlNodeType.EndElement)
nsmgr.PopScope ();
if (NodeType == XmlNodeType.Element) {
- if (NamespaceURI != String.Empty && nsmgr.LookupPrefix (NamespaceURI) != String.Empty)
+ if (!string.IsNullOrEmpty (NamespaceURI) && nsmgr.LookupPrefix (NamespaceURI) != String.Empty)
nsmgr.AddNamespace (String.Empty, NamespaceURI);
else if (NamespaceURI == String.Empty && nsmgr.DefaultNamespace != String.Empty)
nsmgr.AddNamespace (String.Empty, String.Empty);
for (int i = 0; i < source.AttributeCount; i++) {
string? ns = source.GetAttributeNamespace (i);
- if (ns != String.Empty && nsmgr.LookupPrefix (ns) == null)
- nsmgr.AddNamespace ("p" + i, source.GetAttributeNamespace (i));
+ if (!string.IsNullOrEmpty (ns) && nsmgr.LookupPrefix (ns) == null)
+ nsmgr.AddNamespace ("p" + i, ns);
}
nsmgr.PushScope ();
}
diff --git a/src/Mono.Android/Android.Runtime/XmlReaderPullParser.cs b/src/Mono.Android/Android.Runtime/XmlReaderPullParser.cs
index ad19ae407da..4fcf755ce3f 100644
--- a/src/Mono.Android/Android.Runtime/XmlReaderPullParser.cs
+++ b/src/Mono.Android/Android.Runtime/XmlReaderPullParser.cs
@@ -111,11 +111,11 @@ public int GetIdAttributeResourceValue (int defaultValue)
return GetAttributeResourceValue (null, "id", defaultValue);
}
- public string ClassAttribute {
+ public string? ClassAttribute {
get { return GetAttributeValue (null, "class"); }
}
- public string IdAttribute {
+ public string? IdAttribute {
get { return GetAttributeValue (null, "id"); }
}
@@ -181,8 +181,11 @@ public string GetAttributeValue (int index)
return r.GetAttribute (index);
}
- public string GetAttributeValue (string? namespaceURI, string? name)
+ public string? GetAttributeValue (string? namespaceURI, string? name)
{
+ if (name is null)
+ return null;
+
return r.GetAttribute (name, namespaceURI);
}
@@ -196,7 +199,7 @@ public bool GetFeature (string? name)
return false;
}
- public string GetNamespace (string? prefix)
+ public string? GetNamespace (string prefix)
{
return r.LookupNamespace (prefix);
}
diff --git a/src/Mono.Android/Android.Telecom/InCallService.cs b/src/Mono.Android/Android.Telecom/InCallService.cs
index caf036c557e..fc64824c773 100644
--- a/src/Mono.Android/Android.Telecom/InCallService.cs
+++ b/src/Mono.Android/Android.Telecom/InCallService.cs
@@ -7,6 +7,7 @@ public abstract partial class InCallService : Android.App.Service
{
#if ANDROID_23
[Obsolete ("Incorrect enum parameter, use the overload that takes a CallAudioRoute parameter instead.")]
+ [global::System.Runtime.Versioning.ObsoletedOSPlatform ("android34.0")]
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android23.0")]
public void SetAudioRoute ([global::Android.Runtime.GeneratedEnum] Android.Telecom.VideoQuality route)
{
diff --git a/src/Mono.Android/Android.Telephony/CellInfo.cs b/src/Mono.Android/Android.Telephony/CellInfo.cs
index 66526a38dbb..eefa4c5c868 100644
--- a/src/Mono.Android/Android.Telephony/CellInfo.cs
+++ b/src/Mono.Android/Android.Telephony/CellInfo.cs
@@ -9,8 +9,9 @@ namespace Android.Telephony {
public partial class CellInfo {
- static Delegate cb_getCellIdentity;
+ static Delegate? cb_getCellIdentity;
#pragma warning disable 0169
+ [global::System.Runtime.Versioning.SupportedOSPlatform ("android28.0")]
static Delegate GetGetCellIdentityHandler ()
{
if (cb_getCellIdentity == null)
@@ -18,13 +19,15 @@ static Delegate GetGetCellIdentityHandler ()
return cb_getCellIdentity;
}
+ [global::System.Runtime.Versioning.SupportedOSPlatform ("android28.0")]
static IntPtr n_GetCellIdentity (IntPtr jnienv, IntPtr native__this)
{
- Android.Telephony.CellInfo __this = global::Java.Lang.Object.GetObject (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
+ var __this = global::Java.Lang.Object.GetObject (jnienv, native__this, JniHandleOwnership.DoNotTransfer)!;
return JNIEnv.ToLocalJniHandle (__this.CellIdentity);
}
#pragma warning restore 0169
+ [global::System.Runtime.Versioning.SupportedOSPlatform ("android28.0")]
public unsafe virtual Android.Telephony.CellIdentity CellIdentity {
// Metadata.xml XPath method reference: path="/api/package[@name='android.telephony']/class[@name='CellInfo']/method[@name='getCellIdentity' and count(parameter)=0]"
[Register ("getCellIdentity", "()Landroid/telephony/CellIdentity;", "GetGetCellIdentityHandler", ApiSince = 30)]
@@ -32,7 +35,7 @@ public unsafe virtual Android.Telephony.CellIdentity CellIdentity {
const string __id = "getCellIdentity.()Landroid/telephony/CellIdentity;";
try {
var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, null);
- return global::Java.Lang.Object.GetObject (__rm.Handle, JniHandleOwnership.TransferLocalRef);
+ return global::Java.Lang.Object.GetObject (__rm.Handle, JniHandleOwnership.TransferLocalRef)!;
}
catch (Java.Lang.NoSuchMethodError) {
throw new Java.Lang.AbstractMethodError (__id);
@@ -40,7 +43,7 @@ public unsafe virtual Android.Telephony.CellIdentity CellIdentity {
}
}
- static Delegate cb_getCellSignalStrength;
+ static Delegate? cb_getCellSignalStrength;
#pragma warning disable 0169
static Delegate GetGetCellSignalStrengthHandler ()
{
@@ -51,7 +54,7 @@ static Delegate GetGetCellSignalStrengthHandler ()
static IntPtr n_GetCellSignalStrength (IntPtr jnienv, IntPtr native__this)
{
- Android.Telephony.CellInfo __this = global::Java.Lang.Object.GetObject (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
+ var __this = global::Java.Lang.Object.GetObject (jnienv, native__this, JniHandleOwnership.DoNotTransfer)!;
return JNIEnv.ToLocalJniHandle (__this.CellSignalStrength);
}
#pragma warning restore 0169
@@ -63,7 +66,7 @@ public unsafe virtual Android.Telephony.CellSignalStrength CellSignalStrength {
const string __id = "getCellSignalStrength.()Landroid/telephony/CellSignalStrength;";
try {
var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod (__id, this, null);
- return global::Java.Lang.Object.GetObject (__rm.Handle, JniHandleOwnership.TransferLocalRef);
+ return global::Java.Lang.Object.GetObject (__rm.Handle, JniHandleOwnership.TransferLocalRef)!;
}
catch (Java.Lang.NoSuchMethodError) {
throw new Java.Lang.AbstractMethodError (__id);
diff --git a/src/Mono.Android/Android.Views/View.cs b/src/Mono.Android/Android.Views/View.cs
index 41ed43e6982..ef5fe5739ee 100644
--- a/src/Mono.Android/Android.Views/View.cs
+++ b/src/Mono.Android/Android.Views/View.cs
@@ -22,8 +22,7 @@ public bool PerformAccessibilityAction (GlobalAction action, Bundle arguments)
}
#endif
- [return: MaybeNull]
- public T FindViewById (int id)
+ public T? FindViewById (int id)
where T : Android.Views.View
{
return this.FindViewById (id).JavaCast ();
@@ -78,6 +77,7 @@ public void UnscheduleDrawable (Android.Graphics.Drawables.Drawable who, Action
#if ANDROID_11
[Obsolete ("Please Use DispatchSystemUiVisibilityChanged(SystemUiFlags)")]
+ [global::System.Runtime.Versioning.ObsoletedOSPlatform ("android30.0")]
public void DispatchSystemUiVisibilityChanged (int visibility)
{
DispatchSystemUiVisibilityChanged ((SystemUiFlags) visibility);
diff --git a/src/Mono.Android/Android.Views/Window.cs b/src/Mono.Android/Android.Views/Window.cs
index a28ea6c1a07..6164a970d6a 100644
--- a/src/Mono.Android/Android.Views/Window.cs
+++ b/src/Mono.Android/Android.Views/Window.cs
@@ -6,8 +6,7 @@ namespace Android.Views {
partial class Window {
- [return: MaybeNull]
- public T FindViewById (int id)
+ public T? FindViewById (int id)
where T : Android.Views.View
{
return this.FindViewById (id).JavaCast ();
diff --git a/src/Mono.Android/Android.Widget/ArrayAdapter.cs b/src/Mono.Android/Android.Widget/ArrayAdapter.cs
index f27e9caf885..cf35e67fc07 100644
--- a/src/Mono.Android/Android.Widget/ArrayAdapter.cs
+++ b/src/Mono.Android/Android.Widget/ArrayAdapter.cs
@@ -185,9 +185,8 @@ public void Add (T @object)
}
static IntPtr id_getItem_I;
- [return: MaybeNull]
[Register ("getItem", "(I)Ljava/lang/Object;", "GetGetItem_IHandler")]
- public T GetItem (int position)
+ public T? GetItem (int position)
{
if (id_getItem_I == IntPtr.Zero)
id_getItem_I = JNIEnv.GetMethodID (class_ref, "getItem", "(I)Ljava/lang/Object;");
diff --git a/src/Mono.Android/Android/IncludeAndroidResourcesFromAttribute.cs b/src/Mono.Android/Android/IncludeAndroidResourcesFromAttribute.cs
index f074a6207c8..0b4affefb7b 100644
--- a/src/Mono.Android/Android/IncludeAndroidResourcesFromAttribute.cs
+++ b/src/Mono.Android/Android/IncludeAndroidResourcesFromAttribute.cs
@@ -6,7 +6,9 @@ namespace Android {
[Obsolete ("This attribute is no longer supported.", error: true)]
public class IncludeAndroidResourcesFromAttribute : ReferenceFilesAttribute
{
+#pragma warning disable RS0022 // Constructor make noninheritable base class inheritable
public IncludeAndroidResourcesFromAttribute (string path)
+#pragma warning restore RS0022 // Constructor make noninheritable base class inheritable
{
ResourceDirectory = path;
}
diff --git a/src/Mono.Android/Java.Interop/JavaConvert.cs b/src/Mono.Android/Java.Interop/JavaConvert.cs
index 6f132b95bf3..c98bc8cd2f2 100644
--- a/src/Mono.Android/Java.Interop/JavaConvert.cs
+++ b/src/Mono.Android/Java.Interop/JavaConvert.cs
@@ -92,15 +92,13 @@ static Func GetJniHandleConverterForType ([D
typeof (Func), m);
}
- [return: MaybeNull]
- public static T FromJniHandle(IntPtr handle, JniHandleOwnership transfer)
+ public static T? FromJniHandle(IntPtr handle, JniHandleOwnership transfer)
{
bool set;
return FromJniHandle(handle, transfer, out set);
}
- [return: MaybeNull]
- public static T FromJniHandle(IntPtr handle, JniHandleOwnership transfer, out bool set)
+ public static T? FromJniHandle(IntPtr handle, JniHandleOwnership transfer, out bool set)
{
if (handle == IntPtr.Zero) {
set = false;
@@ -109,7 +107,7 @@ public static T FromJniHandle(IntPtr handle, JniHandleOwnership transfer, out
var interned = (IJavaObject?) Java.Lang.Object.PeekObject (handle);
if (interned != null) {
- T r = FromJavaObject(interned, out set);
+ T? r = FromJavaObject(interned, out set);
if (set) {
JNIEnv.DeleteRef (handle, transfer);
return r;
@@ -119,12 +117,12 @@ public static T FromJniHandle(IntPtr handle, JniHandleOwnership transfer, out
set = true;
if (typeof (IJavaObject).IsAssignableFrom (typeof (T)))
- return (T) Java.Lang.Object._GetObject (handle, transfer);
+ return (T?) Java.Lang.Object._GetObject (handle, transfer);
var converter = GetJniHandleConverter (typeof (T)) ??
GetJniHandleConverter (GetTypeMapping (handle));
if (converter != null)
- return (T) converter (handle, transfer);
+ return (T?) converter (handle, transfer);
var v = Java.Lang.Object.GetObject (handle, transfer);
if (v is T)
@@ -132,7 +130,7 @@ public static T FromJniHandle(IntPtr handle, JniHandleOwnership transfer, out
// hail mary pass; perhaps there's a MCW which participates in normal
// .NET type conversion?
- return (T) Convert.ChangeType (v, typeof (T), CultureInfo.InvariantCulture);
+ return (T?) Convert.ChangeType (v, typeof (T), CultureInfo.InvariantCulture);
}
public static object? FromJniHandle (IntPtr handle, JniHandleOwnership transfer, Type? targetType = null)
@@ -208,15 +206,13 @@ public static T FromJniHandle(IntPtr handle, JniHandleOwnership transfer, out
return null;
}
- [return: MaybeNull]
- public static T FromJavaObject(IJavaObject? value)
+ public static T? FromJavaObject(IJavaObject? value)
{
bool set;
return FromJavaObject(value, out set);
}
- [return: MaybeNull]
- public static T FromJavaObject(IJavaObject? value, out bool set)
+ public static T? FromJavaObject(IJavaObject? value, out bool set)
{
if (value == null) {
set = false;
@@ -244,7 +240,7 @@ public static T FromJavaObject(IJavaObject? value, out bool set)
set = true;
var converter = GetJniHandleConverter (typeof (T));
if (converter != null)
- return (T) converter (lrefValue, JniHandleOwnership.TransferLocalRef);
+ return (T?) converter (lrefValue, JniHandleOwnership.TransferLocalRef);
JNIEnv.DeleteLocalRef (lrefValue);
return (T) Convert.ChangeType (value, typeof (T), CultureInfo.InvariantCulture);
}
@@ -278,6 +274,7 @@ public static T FromJavaObject(IJavaObject? value, out bool set)
return Convert.ChangeType (value, targetType, CultureInfo.InvariantCulture);
}
+ [System.Diagnostics.CodeAnalysis.SuppressMessage ("Interoperability", "CA1422:Validate platform compatibility", Justification = "Suggested replacement uses instance sharing")]
static Dictionary> JavaObjectConverters = new Dictionary>() {
{ typeof (bool), value => new Java.Lang.Boolean ((bool) value) },
{ typeof (byte), value => new Java.Lang.Byte ((sbyte) (byte) value) },
@@ -310,6 +307,7 @@ public static T FromJavaObject(IJavaObject? value, out bool set)
return new Android.Runtime.JavaObject (value);
}
+ [System.Diagnostics.CodeAnalysis.SuppressMessage ("Interoperability", "CA1422:Validate platform compatibility", Justification = "Suggested replacement uses instance sharing")]
static Dictionary> LocalJniHandleConverters = new Dictionary> {
{ typeof (bool), value => {
using (var v = new Java.Lang.Boolean ((bool) value))
diff --git a/src/Mono.Android/Java.Interop/JavaLibraryReferenceAttribute.cs b/src/Mono.Android/Java.Interop/JavaLibraryReferenceAttribute.cs
index aa00db33043..164a7decc53 100644
--- a/src/Mono.Android/Java.Interop/JavaLibraryReferenceAttribute.cs
+++ b/src/Mono.Android/Java.Interop/JavaLibraryReferenceAttribute.cs
@@ -6,7 +6,9 @@ namespace Java.Interop {
[Obsolete ("This attribute is no longer supported.", error: true)]
public class JavaLibraryReferenceAttribute : Android.ReferenceFilesAttribute
{
+#pragma warning disable RS0022 // Constructor make noninheritable base class inheritable
public JavaLibraryReferenceAttribute (string filename)
+#pragma warning restore RS0022 // Constructor make noninheritable base class inheritable
{
LibraryFileName = filename;
}
diff --git a/src/Mono.Android/Java.Interop/JavaObjectExtensions.cs b/src/Mono.Android/Java.Interop/JavaObjectExtensions.cs
index 0110165e1be..27564bb602b 100644
--- a/src/Mono.Android/Java.Interop/JavaObjectExtensions.cs
+++ b/src/Mono.Android/Java.Interop/JavaObjectExtensions.cs
@@ -52,8 +52,7 @@ public static JavaDictionary ToInteroperableCollection (this IDictiona
return _JavaCast (instance);
}
- [return: MaybeNull]
- internal static TResult _JavaCast (this IJavaObject? instance)
+ internal static TResult? _JavaCast (this IJavaObject? instance)
{
if (instance == null)
return default (TResult);
@@ -69,7 +68,7 @@ internal static TResult _JavaCast (this IJavaObject? instance)
return (TResult) CastClass (instance, resultType);
}
else if (resultType.IsInterface) {
- return (TResult) Java.Lang.Object.GetObject (instance.Handle, JniHandleOwnership.DoNotTransfer, resultType);
+ return (TResult?) Java.Lang.Object.GetObject (instance.Handle, JniHandleOwnership.DoNotTransfer, resultType);
}
else
throw new NotSupportedException (FormattableString.Invariant ($"Unable to convert type '{instance.GetType ().FullName}' to '{resultType.FullName}'."));
@@ -122,6 +121,7 @@ static IJavaObject CastClass (IJavaObject instance, Type resultType)
// typeof(Foo) -> FooInvoker
// typeof(Foo<>) -> FooInvoker`1
[UnconditionalSuppressMessage ("Trimming", "IL2026", Justification = "*Invoker types are preserved by the MarkJavaObjects linker step.")]
+ [UnconditionalSuppressMessage ("Trimming", "IL2055", Justification = "*Invoker types are preserved by the MarkJavaObjects linker step.")]
internal static Type? GetInvokerType (Type type)
{
const string suffix = "Invoker";
diff --git a/src/Mono.Android/Java.Interop/JavaTypeParametersAttribute.cs b/src/Mono.Android/Java.Interop/JavaTypeParametersAttribute.cs
index e50ed483738..b7f8c38f2c8 100644
--- a/src/Mono.Android/Java.Interop/JavaTypeParametersAttribute.cs
+++ b/src/Mono.Android/Java.Interop/JavaTypeParametersAttribute.cs
@@ -3,7 +3,10 @@
#if NET
using System.Runtime.CompilerServices;
+// PublicApiAnalyzers doesn't like TypeForwards
+#pragma warning disable RS0016 // Symbol is not part of the declared API
[assembly: TypeForwardedTo (typeof (Java.Interop.JavaTypeParametersAttribute))]
+#pragma warning restore RS0016 // Symbol is not part of the declared API
#else // !NET
diff --git a/src/Mono.Android/Java.Interop/TypeManager.cs b/src/Mono.Android/Java.Interop/TypeManager.cs
index 6d4556bf7a4..637a1789e4e 100644
--- a/src/Mono.Android/Java.Interop/TypeManager.cs
+++ b/src/Mono.Android/Java.Interop/TypeManager.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.Reflection;
using System.Linq;
using System.Runtime.CompilerServices;
@@ -116,6 +117,7 @@ internal static bool ActivationEnabled {
}
#endif // !JAVA_INTEROP
+ [UnconditionalSuppressMessage ("Trimming", "IL2057", Justification = "Type.GetType() can never statically know the string value from parameter 'signature'.")]
static Type[] GetParameterTypes (string? signature)
{
if (String.IsNullOrEmpty (signature))
@@ -127,6 +129,7 @@ static Type[] GetParameterTypes (string? signature)
return result;
}
+ [UnconditionalSuppressMessage ("Trimming", "IL2057", Justification = "Type.GetType() can never statically know the string value from parameter 'typename_ptr'.")]
static void n_Activate (IntPtr jnienv, IntPtr jclass, IntPtr typename_ptr, IntPtr signature_ptr, IntPtr jobject, IntPtr parameters_ptr)
{
var o = Java.Lang.Object.PeekObject (jobject);
@@ -163,10 +166,11 @@ static void n_Activate (IntPtr jnienv, IntPtr jclass, IntPtr typename_ptr, IntPt
Activate (jobject, cinfo, parms);
}
+ [UnconditionalSuppressMessage ("Trimming", "IL2072", Justification = "RuntimeHelpers.GetUninitializedObject() does not statically know the return value from ConstructorInfo.DeclaringType.")]
internal static void Activate (IntPtr jobject, ConstructorInfo cinfo, object? []? parms)
{
try {
- var newobj = RuntimeHelpers.GetUninitializedObject (cinfo.DeclaringType);
+ var newobj = RuntimeHelpers.GetUninitializedObject (cinfo.DeclaringType!);
if (newobj is Java.Lang.Object o) {
o.handle = jobject;
} else if (newobj is Java.Lang.Throwable throwable) {
@@ -177,7 +181,7 @@ internal static void Activate (IntPtr jobject, ConstructorInfo cinfo, object? []
cinfo.Invoke (newobj, parms);
} catch (Exception e) {
var m = FormattableString.Invariant (
- $"Could not activate JNI Handle 0x{jobject:x} (key_handle 0x{JNIEnv.IdentityHash (jobject):x}) of Java type '{JNIEnv.GetClassNameFromInstance (jobject)}' as managed type '{cinfo.DeclaringType.FullName}'.");
+ $"Could not activate JNI Handle 0x{jobject:x} (key_handle 0x{JNIEnv.IdentityHash (jobject):x}) of Java type '{JNIEnv.GetClassNameFromInstance (jobject)}' as managed type '{cinfo?.DeclaringType?.FullName}'.");
Logger.Log (LogLevel.Warn, "monodroid", m);
Logger.Log (LogLevel.Warn, "monodroid", CreateJavaLocationException ().ToString ());
@@ -238,7 +242,7 @@ static Exception CreateJavaLocationException ()
Type? type = null;
int ls = class_name.LastIndexOf ('/');
var package = ls >= 0 ? class_name.Substring (0, ls) : "";
- if (packageLookup.TryGetValue (package, out var mappers)) {
+ if (packageLookup!.TryGetValue (package, out var mappers)) {
foreach (Converter c in mappers) {
type = c (class_name);
if (type == null)
@@ -257,6 +261,8 @@ internal static IJavaPeerable CreateInstance (IntPtr handle, JniHandleOwnership
return CreateInstance (handle, transfer, null);
}
+ [UnconditionalSuppressMessage ("Trimming", "IL2067", Justification = "TypeManager.CreateProxy() does not statically know the value of the 'type' local variable.")]
+ [UnconditionalSuppressMessage ("Trimming", "IL2072", Justification = "TypeManager.CreateProxy() does not statically know the value of the 'type' local variable.")]
internal static IJavaPeerable CreateInstance (IntPtr handle, JniHandleOwnership transfer, Type? targetType)
{
Type? type = null;
@@ -318,7 +324,11 @@ internal static IJavaPeerable CreateInstance (IntPtr handle, JniHandleOwnership
static readonly Type[] XAConstructorSignature = new Type [] { typeof (IntPtr), typeof (JniHandleOwnership) };
static readonly Type[] JIConstructorSignature = new Type [] { typeof (JniObjectReference).MakeByRefType (), typeof (JniObjectReferenceOptions) };
- internal static object CreateProxy (Type type, IntPtr handle, JniHandleOwnership transfer)
+ internal static object CreateProxy (
+ [DynamicallyAccessedMembers (DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)]
+ Type type,
+ IntPtr handle,
+ JniHandleOwnership transfer)
{
// Skip Activator.CreateInstance() as that requires public constructors,
// and we want to hide some constructors for sanity reasons.
@@ -360,6 +370,7 @@ public static void RegisterType (string java_class, Type t)
static Dictionary>>? packageLookup;
+ [MemberNotNull (nameof (packageLookup))]
static void LazyInitPackageLookup ()
{
if (packageLookup == null)
diff --git a/src/Mono.Android/Java.Lang/Object.cs b/src/Mono.Android/Java.Lang/Object.cs
index 01dde260fc5..9af00b5fcd2 100644
--- a/src/Mono.Android/Java.Lang/Object.cs
+++ b/src/Mono.Android/Java.Lang/Object.cs
@@ -263,10 +263,9 @@ protected void SetHandle (IntPtr value, JniHandleOwnership transfer)
return peeked;
}
- [return: MaybeNull]
- internal static T PeekObject (IntPtr handle)
+ internal static T? PeekObject (IntPtr handle)
{
- return (T)PeekObject (handle, typeof (T));
+ return (T?)PeekObject (handle, typeof (T));
}
public static T? GetObject (IntPtr jnienv, IntPtr handle, JniHandleOwnership transfer)
@@ -282,13 +281,12 @@ protected void SetHandle (IntPtr value, JniHandleOwnership transfer)
return _GetObject(handle, transfer);
}
- [return: MaybeNull]
- internal static T _GetObject (IntPtr handle, JniHandleOwnership transfer)
+ internal static T? _GetObject (IntPtr handle, JniHandleOwnership transfer)
{
if (handle == IntPtr.Zero)
return default (T);
- return (T) GetObject (handle, transfer, typeof (T));
+ return (T?) GetObject (handle, transfer, typeof (T));
}
internal static IJavaPeerable? GetObject (IntPtr handle, JniHandleOwnership transfer, Type? type = null)
@@ -306,8 +304,7 @@ internal static T _GetObject (IntPtr handle, JniHandleOwnership transfer)
}
[EditorBrowsable (EditorBrowsableState.Never)]
- [return: MaybeNull]
- public T[] ToArray()
+ public T[]? ToArray()
{
return JNIEnv.GetArray(Handle);
}
@@ -319,6 +316,7 @@ public T[] ToArray()
return new Java.Lang.Object (JNIEnv.NewArray (value), JniHandleOwnership.TransferLocalRef);
}
+ [System.Diagnostics.CodeAnalysis.SuppressMessage ("Interoperability", "CA1422:Validate platform compatibility", Justification = "Suggested replacement uses instance sharing")]
public static implicit operator Java.Lang.Object (bool value)
{
return new Java.Lang.Boolean (value);
@@ -330,11 +328,13 @@ public static implicit operator Java.Lang.Object (byte value)
throw new InvalidOperationException ("Should not be reached");
}
+ [System.Diagnostics.CodeAnalysis.SuppressMessage ("Interoperability", "CA1422:Validate platform compatibility", Justification = "Suggested replacement uses instance sharing")]
public static implicit operator Java.Lang.Object (sbyte value)
{
return new Java.Lang.Byte (value);
}
+ [System.Diagnostics.CodeAnalysis.SuppressMessage ("Interoperability", "CA1422:Validate platform compatibility", Justification = "Suggested replacement uses instance sharing")]
public static implicit operator Java.Lang.Object (char value)
{
return new Java.Lang.Character (value);
@@ -346,6 +346,7 @@ public static implicit operator Java.Lang.Object (uint value)
throw new InvalidOperationException ("Should not be reached");
}
+ [System.Diagnostics.CodeAnalysis.SuppressMessage ("Interoperability", "CA1422:Validate platform compatibility", Justification = "Suggested replacement uses instance sharing")]
public static implicit operator Java.Lang.Object (int value)
{
return new Java.Lang.Integer (value);
@@ -357,16 +358,19 @@ public static implicit operator Java.Lang.Object (ulong value)
throw new InvalidOperationException ("Should not be reached");
}
+ [System.Diagnostics.CodeAnalysis.SuppressMessage ("Interoperability", "CA1422:Validate platform compatibility", Justification = "Suggested replacement uses instance sharing")]
public static implicit operator Java.Lang.Object (long value)
{
return new Java.Lang.Long (value);
}
+ [System.Diagnostics.CodeAnalysis.SuppressMessage ("Interoperability", "CA1422:Validate platform compatibility", Justification = "Suggested replacement uses instance sharing")]
public static implicit operator Java.Lang.Object (float value)
{
return new Java.Lang.Float (value);
}
+ [System.Diagnostics.CodeAnalysis.SuppressMessage ("Interoperability", "CA1422:Validate platform compatibility", Justification = "Suggested replacement uses instance sharing")]
public static implicit operator Java.Lang.Object (double value)
{
return new Java.Lang.Double (value);
diff --git a/src/Mono.Android/Java.Lang/Throwable.cs b/src/Mono.Android/Java.Lang/Throwable.cs
index 5dc63ef7952..ae668e24c27 100644
--- a/src/Mono.Android/Java.Lang/Throwable.cs
+++ b/src/Mono.Android/Java.Lang/Throwable.cs
@@ -253,7 +253,7 @@ public static Throwable FromException (System.Exception e)
if (e is Throwable)
return (Throwable) e;
- return new Android.Runtime.JavaProxyThrowable (e);
+ return Android.Runtime.JavaProxyThrowable.Create (e);
}
public static System.Exception ToException (Throwable e)
diff --git a/src/Mono.Android/Java.Time.Chrono/AbstractChronology.cs b/src/Mono.Android/Java.Time.Chrono/AbstractChronology.cs
new file mode 100644
index 00000000000..368920e6270
--- /dev/null
+++ b/src/Mono.Android/Java.Time.Chrono/AbstractChronology.cs
@@ -0,0 +1,14 @@
+#if ANDROID_26
+using System;
+using Android.Runtime;
+using Java.Time.Chrono;
+
+namespace Java.Time.Chrono
+{
+ public abstract partial class AbstractChronology
+ {
+ public int CompareTo (Java.Lang.Object obj) => CompareTo (obj.JavaCast ());
+ }
+}
+#endif
+
diff --git a/src/Mono.Android/Java.Time/LocalDate.cs b/src/Mono.Android/Java.Time/LocalDate.cs
new file mode 100644
index 00000000000..b4e07d51b93
--- /dev/null
+++ b/src/Mono.Android/Java.Time/LocalDate.cs
@@ -0,0 +1,14 @@
+#if ANDROID_26
+using System;
+using Android.Runtime;
+using Java.Time.Chrono;
+
+namespace Java.Time
+{
+ public sealed partial class LocalDate
+ {
+ public int CompareTo (Java.Lang.Object obj) => CompareTo (obj.JavaCast ());
+ }
+}
+#endif
+
diff --git a/src/Mono.Android/Java.Time/LocalDateTime.cs b/src/Mono.Android/Java.Time/LocalDateTime.cs
new file mode 100644
index 00000000000..ed0431f8a01
--- /dev/null
+++ b/src/Mono.Android/Java.Time/LocalDateTime.cs
@@ -0,0 +1,14 @@
+#if ANDROID_26
+using System;
+using Android.Runtime;
+using Java.Time.Chrono;
+
+namespace Java.Time
+{
+ public sealed partial class LocalDateTime
+ {
+ public int CompareTo (Java.Lang.Object obj) => CompareTo (obj.JavaCast ());
+ }
+}
+#endif
+
diff --git a/src/Mono.Android/Java.Time/ZonedDateTime.cs b/src/Mono.Android/Java.Time/ZonedDateTime.cs
new file mode 100644
index 00000000000..ca4837db435
--- /dev/null
+++ b/src/Mono.Android/Java.Time/ZonedDateTime.cs
@@ -0,0 +1,14 @@
+#if ANDROID_26
+using System;
+using Android.Runtime;
+using Java.Time.Chrono;
+
+namespace Java.Time
+{
+ public sealed partial class ZonedDateTime
+ {
+ public int CompareTo (Java.Lang.Object obj) => (this as IChronoZonedDateTime).CompareTo (obj.JavaCast ());
+ }
+}
+#endif
+
diff --git a/src/Mono.Android/Mono.Android.csproj b/src/Mono.Android/Mono.Android.csproj
index e21eeca86d4..d1e4a1ff731 100644
--- a/src/Mono.Android/Mono.Android.csproj
+++ b/src/Mono.Android/Mono.Android.csproj
@@ -9,7 +9,8 @@
Android
true
..\..\product.snk
- 0618;0809;0108;0114;0465;8609;8610;8614;8617;8613;8764;8765;8766;8767
+ 0618;0809;0108;0114;0465;8609;8610;8614;8617;8613;8764;8765;8766;8767;RS0041
+ $(WarningsAsErrors);CS2002
true
$(DefineConstants);JAVA_INTEROP
$(BaseIntermediateOutputPath)$(Configuration)\$(TargetFramework)\android-$(AndroidPlatformId)\
@@ -27,6 +28,12 @@
$(DefineConstants);ANDROID_UNSTABLE
$(_MonoAndroidNETDefaultOutDir)
+
+
+ false
+
+
+ $(WarningsAsErrors);RS0016,RS0017
@@ -35,10 +42,11 @@
$(NoWarn);CS1572;CS1573;CS1574;CS1584;CS1587;CS1591;CS1658;
-
- $(NoWarn);CA1422;CA1416
-
-
+
+
+
+
+
$([System.IO.Path]::GetFullPath ('$(OutputPath)$(AssemblyName).dll'))
@@ -70,6 +78,7 @@
Crc64.Table.cs
+
@@ -79,6 +88,10 @@
+
+
+
+
@@ -338,6 +351,13 @@
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
diff --git a/src/Mono.Android/Profiles/api-UpsideDownCake.params.txt b/src/Mono.Android/Profiles/api-34.params.txt
similarity index 97%
rename from src/Mono.Android/Profiles/api-UpsideDownCake.params.txt
rename to src/Mono.Android/Profiles/api-34.params.txt
index 67ccc5e90a7..74416f72dff 100644
--- a/src/Mono.Android/Profiles/api-UpsideDownCake.params.txt
+++ b/src/Mono.Android/Profiles/api-34.params.txt
@@ -5,8 +5,8 @@ package android
package android.accessibilityservice
;---------------------------------------
class AccessibilityButtonController
- registerAccessibilityButtonCallback(android.accessibilityservice.AccessibilityButtonController.AccessibilityButtonCallback callback)
registerAccessibilityButtonCallback(android.accessibilityservice.AccessibilityButtonController.AccessibilityButtonCallback callback, android.os.Handler handler)
+ registerAccessibilityButtonCallback(android.accessibilityservice.AccessibilityButtonController.AccessibilityButtonCallback callback)
unregisterAccessibilityButtonCallback(android.accessibilityservice.AccessibilityButtonController.AccessibilityButtonCallback callback)
class AccessibilityButtonController.AccessibilityButtonCallback
onAvailabilityChanged(android.accessibilityservice.AccessibilityButtonController controller, boolean available)
@@ -48,8 +48,8 @@ package android.accessibilityservice
onCancelled(android.accessibilityservice.GestureDescription gestureDescription)
onCompleted(android.accessibilityservice.GestureDescription gestureDescription)
class AccessibilityService.MagnificationController
- addListener(android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener listener)
addListener(android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener listener, android.os.Handler handler)
+ addListener(android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener listener)
removeListener(android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener listener)
reset(boolean animate)
resetCurrentMagnification(boolean animate)
@@ -60,8 +60,8 @@ package android.accessibilityservice
onMagnificationChanged(android.accessibilityservice.AccessibilityService.MagnificationController controller, android.graphics.Region region, android.accessibilityservice.MagnificationConfig config)
onMagnificationChanged(android.accessibilityservice.AccessibilityService.MagnificationController controller, android.graphics.Region region, float scale, float centerX, float centerY)
class AccessibilityService.SoftKeyboardController
- addOnShowModeChangedListener(android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener listener)
addOnShowModeChangedListener(android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener listener, android.os.Handler handler)
+ addOnShowModeChangedListener(android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener listener)
removeOnShowModeChangedListener(android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener listener)
setInputMethodEnabled(java.lang.String imeId, boolean enabled)
setShowMode(int showMode)
@@ -96,8 +96,8 @@ package android.accessibilityservice
setDisplayId(int displayId)
class GestureDescription.StrokeDescription
continueStroke(android.graphics.Path path, long startTime, long duration, boolean willContinue)
- #ctor(android.graphics.Path path, long startTime, long duration)
#ctor(android.graphics.Path path, long startTime, long duration, boolean willContinue)
+ #ctor(android.graphics.Path path, long startTime, long duration)
class InputMethod
#ctor(android.accessibilityservice.AccessibilityService service)
onStartInput(android.view.inputmethod.EditorInfo attribute, boolean restarting)
@@ -115,6 +115,7 @@ package android.accessibilityservice
class MagnificationConfig
writeToParcel(android.os.Parcel parcel, int flags)
class MagnificationConfig.Builder
+ setActivated(boolean activated)
setCenterX(float centerX)
setCenterY(float centerY)
setMode(int mode)
@@ -161,10 +162,10 @@ package android.accounts
writeToParcel(android.os.Parcel dest, int flags)
class AccountManager
addAccount(java.lang.String accountType, java.lang.String authTokenType, java.lang.String[] requiredFeatures, android.os.Bundle addAccountOptions, android.app.Activity activity, android.accounts.AccountManagerCallback callback, android.os.Handler handler)
- addAccountExplicitly(android.accounts.Account account, java.lang.String password, android.os.Bundle userdata)
addAccountExplicitly(android.accounts.Account account, java.lang.String password, android.os.Bundle extras, java.util.Map visibility)
- addOnAccountsUpdatedListener(android.accounts.OnAccountsUpdateListener listener, android.os.Handler handler, boolean updateImmediately)
+ addAccountExplicitly(android.accounts.Account account, java.lang.String password, android.os.Bundle userdata)
addOnAccountsUpdatedListener(android.accounts.OnAccountsUpdateListener listener, android.os.Handler handler, boolean updateImmediately, java.lang.String[] accountTypes)
+ addOnAccountsUpdatedListener(android.accounts.OnAccountsUpdateListener listener, android.os.Handler handler, boolean updateImmediately)
blockingGetAuthToken(android.accounts.Account account, java.lang.String authTokenType, boolean notifyAuthFailure)
clearPassword(android.accounts.Account account)
confirmCredentials(android.accounts.Account account, android.os.Bundle options, android.app.Activity activity, android.accounts.AccountManagerCallback callback, android.os.Handler handler)
@@ -209,28 +210,28 @@ package android.accounts
cancel(boolean mayInterruptIfRunning)
getResult(long timeout, java.util.concurrent.TimeUnit unit)
class AccountsException
- #ctor(java.lang.String message)
#ctor(java.lang.String message, java.lang.Throwable cause)
+ #ctor(java.lang.String message)
#ctor(java.lang.Throwable cause)
class AuthenticatorDescription
- #ctor(java.lang.String type, java.lang.String packageName, int labelId, int iconId, int smallIconId, int prefId)
#ctor(java.lang.String type, java.lang.String packageName, int labelId, int iconId, int smallIconId, int prefId, boolean customTokens)
+ #ctor(java.lang.String type, java.lang.String packageName, int labelId, int iconId, int smallIconId, int prefId)
equals(java.lang.Object o)
newKey(java.lang.String type)
writeToParcel(android.os.Parcel dest, int flags)
class AuthenticatorException
- #ctor(java.lang.String message)
#ctor(java.lang.String message, java.lang.Throwable cause)
+ #ctor(java.lang.String message)
#ctor(java.lang.Throwable cause)
class NetworkErrorException
- #ctor(java.lang.String message)
#ctor(java.lang.String message, java.lang.Throwable cause)
+ #ctor(java.lang.String message)
#ctor(java.lang.Throwable cause)
interface OnAccountsUpdateListener
onAccountsUpdated(android.accounts.Account[] accounts)
class OperationCanceledException
- #ctor(java.lang.String message)
#ctor(java.lang.String message, java.lang.Throwable cause)
+ #ctor(java.lang.String message)
#ctor(java.lang.Throwable cause)
package android.adservices
@@ -242,12 +243,11 @@ package android.adservices.adid
#ctor(java.lang.String adId, boolean limitAdTrackingEnabled)
equals(java.lang.Object o)
class AdIdManager
+ get(android.content.Context context)
getAdId(java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
package android.adservices.adselection
;---------------------------------------
- class AddAdSelectionFromOutcomesOverrideRequest
- #ctor(android.adservices.adselection.AdSelectionFromOutcomesConfig adSelectionFromOutcomesConfig, java.lang.String selectionLogicJs, android.adservices.common.AdSelectionSignals selectionSignals)
class AddAdSelectionOverrideRequest
#ctor(android.adservices.adselection.AdSelectionConfig adSelectionConfig, java.lang.String decisionLogicJs, android.adservices.common.AdSelectionSignals trustedScoringSignals)
class AdSelectionConfig
@@ -261,36 +261,23 @@ package android.adservices.adselection
setSeller(android.adservices.common.AdTechIdentifier seller)
setSellerSignals(android.adservices.common.AdSelectionSignals sellerSignals)
setTrustedScoringSignalsUri(android.net.Uri trustedScoringSignalsUri)
- class AdSelectionFromOutcomesConfig
- equals(java.lang.Object o)
- writeToParcel(android.os.Parcel dest, int flags)
- class AdSelectionFromOutcomesConfig.Builder
- setAdSelectionIds(java.util.List adSelectionIds)
- setSelectionLogicUri(android.net.Uri selectionLogicUri)
- setSelectionSignals(android.adservices.common.AdSelectionSignals selectionSignals)
- setSeller(android.adservices.common.AdTechIdentifier seller)
class AdSelectionManager
+ get(android.content.Context context)
reportImpression(android.adservices.adselection.ReportImpressionRequest request, java.util.concurrent.Executor executor, android.os.OutcomeReceiver receiver)
selectAds(android.adservices.adselection.AdSelectionConfig adSelectionConfig, java.util.concurrent.Executor executor, android.os.OutcomeReceiver receiver)
- selectAds(android.adservices.adselection.AdSelectionFromOutcomesConfig adSelectionFromOutcomesConfig, java.util.concurrent.Executor executor, android.os.OutcomeReceiver receiver)
class AdSelectionOutcome
equals(java.lang.Object o)
class AdSelectionOutcome.Builder
setAdSelectionId(long adSelectionId)
setRenderUri(android.net.Uri renderUri)
- class RemoveAdSelectionFromOutcomesOverrideRequest
- #ctor(android.adservices.adselection.AdSelectionFromOutcomesConfig config)
class RemoveAdSelectionOverrideRequest
#ctor(android.adservices.adselection.AdSelectionConfig adSelectionConfig)
class ReportImpressionRequest
#ctor(long adSelectionId, android.adservices.adselection.AdSelectionConfig adSelectionConfig)
class TestAdSelectionManager
overrideAdSelectionConfigRemoteInfo(android.adservices.adselection.AddAdSelectionOverrideRequest request, java.util.concurrent.Executor executor, android.os.OutcomeReceiver receiver)
- overrideAdSelectionFromOutcomesConfigRemoteInfo(android.adservices.adselection.AddAdSelectionFromOutcomesOverrideRequest request, java.util.concurrent.Executor executor, android.os.OutcomeReceiver receiver)
removeAdSelectionConfigRemoteInfoOverride(android.adservices.adselection.RemoveAdSelectionOverrideRequest request, java.util.concurrent.Executor executor, android.os.OutcomeReceiver receiver)
- removeAdSelectionFromOutcomesConfigRemoteInfoOverride(android.adservices.adselection.RemoveAdSelectionFromOutcomesOverrideRequest request, java.util.concurrent.Executor executor, android.os.OutcomeReceiver receiver)
resetAllAdSelectionConfigRemoteOverrides(java.util.concurrent.Executor executor, android.os.OutcomeReceiver receiver)
- resetAllAdSelectionFromOutcomesConfigRemoteOverrides(java.util.concurrent.Executor executor, android.os.OutcomeReceiver receiver)
package android.adservices.appsetid
;---------------------------------------
@@ -298,6 +285,7 @@ package android.adservices.appsetid
#ctor(java.lang.String appSetId, int appSetIdScope)
equals(java.lang.Object o)
class AppSetIdManager
+ get(android.content.Context context)
getAppSetId(java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
package android.adservices.common
@@ -340,6 +328,7 @@ package android.adservices.customaudience
setTrustedBiddingData(android.adservices.customaudience.TrustedBiddingData trustedBiddingData)
setUserBiddingSignals(android.adservices.common.AdSelectionSignals userBiddingSignals)
class CustomAudienceManager
+ get(android.content.Context context)
joinCustomAudience(android.adservices.customaudience.JoinCustomAudienceRequest joinCustomAudienceRequest, java.util.concurrent.Executor executor, android.os.OutcomeReceiver receiver)
leaveCustomAudience(android.adservices.customaudience.LeaveCustomAudienceRequest leaveCustomAudienceRequest, java.util.concurrent.Executor executor, android.os.OutcomeReceiver receiver)
class JoinCustomAudienceRequest
@@ -370,8 +359,8 @@ package android.adservices.customaudience
package android.adservices.exceptions
;---------------------------------------
class AdServicesException
- #ctor(java.lang.String message)
#ctor(java.lang.String message, java.lang.Throwable e)
+ #ctor(java.lang.String message)
package android.adservices.measurement
;---------------------------------------
@@ -384,6 +373,7 @@ package android.adservices.measurement
setStart(java.time.Instant start)
class MeasurementManager
deleteRegistrations(android.adservices.measurement.DeletionRequest deletionRequest, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
+ get(android.content.Context context)
getMeasurementApiStatus(java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
registerSource(android.net.Uri attributionSource, android.view.InputEvent inputEvent, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
registerTrigger(android.net.Uri trigger, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
@@ -429,6 +419,7 @@ package android.adservices.topics
equals(java.lang.Object object)
#ctor(long mTaxonomyVersion, long mModelVersion, int mTopicId)
class TopicsManager
+ get(android.content.Context context)
getTopics(android.adservices.topics.GetTopicsRequest getTopicsRequest, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
package android.animation
@@ -444,11 +435,11 @@ package android.animation
setTarget(java.lang.Object target)
interface Animator.AnimatorListener
onAnimationCancel(android.animation.Animator animation)
- onAnimationEnd(android.animation.Animator animation)
onAnimationEnd(android.animation.Animator animation, boolean isReverse)
+ onAnimationEnd(android.animation.Animator animation)
onAnimationRepeat(android.animation.Animator animation)
- onAnimationStart(android.animation.Animator animation)
onAnimationStart(android.animation.Animator animation, boolean isReverse)
+ onAnimationStart(android.animation.Animator animation)
interface Animator.AnimatorPauseListener
onAnimationPause(android.animation.Animator animation)
onAnimationResume(android.animation.Animator animation)
@@ -494,12 +485,12 @@ package android.animation
class IntEvaluator
evaluate(float fraction, java.lang.Integer startValue, java.lang.Integer endValue)
class Keyframe
- ofFloat(float fraction)
ofFloat(float fraction, float value)
- ofInt(float fraction)
+ ofFloat(float fraction)
ofInt(float fraction, int value)
- ofObject(float fraction)
+ ofInt(float fraction)
ofObject(float fraction, java.lang.Object value)
+ ofObject(float fraction)
setFraction(float fraction)
setInterpolator(android.animation.TimeInterpolator interpolator)
setValue(java.lang.Object value)
@@ -513,8 +504,8 @@ package android.animation
getInterpolator(int transitionType)
getStagger(int transitionType)
getStartDelay(int transitionType)
- hideChild(android.view.ViewGroup parent, android.view.View child)
hideChild(android.view.ViewGroup parent, android.view.View child, int newVisibility)
+ hideChild(android.view.ViewGroup parent, android.view.View child)
isTransitionTypeEnabled(int transitionType)
removeChild(android.view.ViewGroup parent, android.view.View child)
removeTransitionListener(android.animation.LayoutTransition.TransitionListener listener)
@@ -525,8 +516,8 @@ package android.animation
setInterpolator(int transitionType, android.animation.TimeInterpolator interpolator)
setStagger(int transitionType, long duration)
setStartDelay(int transitionType, long delay)
- showChild(android.view.ViewGroup parent, android.view.View child)
showChild(android.view.ViewGroup parent, android.view.View child, int oldVisibility)
+ showChild(android.view.ViewGroup parent, android.view.View child)
interface LayoutTransition.TransitionListener
endTransition(android.animation.LayoutTransition transition, android.view.ViewGroup container, android.view.View view, int transitionType)
startTransition(android.animation.LayoutTransition transition, android.view.ViewGroup container, android.view.View view, int transitionType)
@@ -645,22 +636,22 @@ package android.app
;---------------------------------------
class ActionBar
addOnMenuVisibilityListener(android.app.ActionBar.OnMenuVisibilityListener listener)
- addTab(android.app.ActionBar.Tab tab)
addTab(android.app.ActionBar.Tab tab, boolean setSelected)
- addTab(android.app.ActionBar.Tab tab, int position)
addTab(android.app.ActionBar.Tab tab, int position, boolean setSelected)
+ addTab(android.app.ActionBar.Tab tab, int position)
+ addTab(android.app.ActionBar.Tab tab)
getTabAt(int index)
removeOnMenuVisibilityListener(android.app.ActionBar.OnMenuVisibilityListener listener)
removeTab(android.app.ActionBar.Tab tab)
removeTabAt(int position)
selectTab(android.app.ActionBar.Tab tab)
setBackgroundDrawable(android.graphics.drawable.Drawable d)
- setCustomView(android.view.View view)
setCustomView(android.view.View view, android.app.ActionBar.LayoutParams layoutParams)
+ setCustomView(android.view.View view)
setCustomView(int resId)
setDisplayHomeAsUpEnabled(boolean showHomeAsUp)
- setDisplayOptions(int options)
setDisplayOptions(int options, int mask)
+ setDisplayOptions(int options)
setDisplayShowCustomEnabled(boolean showCustom)
setDisplayShowHomeEnabled(boolean showHome)
setDisplayShowTitleEnabled(boolean showTitle)
@@ -690,9 +681,9 @@ package android.app
#ctor(android.app.ActionBar.LayoutParams source)
#ctor(android.content.Context c, android.util.AttributeSet attrs)
#ctor(android.view.ViewGroup.LayoutParams source)
- #ctor(int gravity)
- #ctor(int width, int height)
#ctor(int width, int height, int gravity)
+ #ctor(int width, int height)
+ #ctor(int gravity)
interface ActionBar.OnMenuVisibilityListener
onMenuVisibilityChanged(boolean isVisible)
interface ActionBar.OnNavigationListener
@@ -715,6 +706,7 @@ package android.app
class Activity
addContentView(android.view.View view, android.view.ViewGroup.LayoutParams params)
attachBaseContext(android.content.Context newBase)
+ clearOverrideActivityTransition(int overrideType)
createPendingResult(int requestCode, android.content.Intent data, int flags)
dismissDialog(int id)
dispatchGenericMotionEvent(android.view.MotionEvent ev)
@@ -745,11 +737,11 @@ package android.app
onConfigurationChanged(android.content.res.Configuration newConfig)
onContextItemSelected(android.view.MenuItem item)
onContextMenuClosed(android.view.Menu menu)
- onCreate(android.os.Bundle savedInstanceState)
onCreate(android.os.Bundle savedInstanceState, android.os.PersistableBundle persistentState)
+ onCreate(android.os.Bundle savedInstanceState)
onCreateContextMenu(android.view.ContextMenu menu, android.view.View v, android.view.ContextMenu.ContextMenuInfo menuInfo)
- onCreateDialog(int id)
onCreateDialog(int id, android.os.Bundle args)
+ onCreateDialog(int id)
onCreateNavigateUpTaskStack(android.app.TaskStackBuilder builder)
onCreateOptionsMenu(android.view.Menu menu)
onCreatePanelMenu(int featureId, android.view.Menu menu)
@@ -766,21 +758,21 @@ package android.app
onKeyUp(int keyCode, android.view.KeyEvent event)
onMenuItemSelected(int featureId, android.view.MenuItem item)
onMenuOpened(int featureId, android.view.Menu menu)
- onMultiWindowModeChanged(boolean isInMultiWindowMode)
onMultiWindowModeChanged(boolean isInMultiWindowMode, android.content.res.Configuration newConfig)
+ onMultiWindowModeChanged(boolean isInMultiWindowMode)
onNavigateUpFromChild(android.app.Activity child)
onNewIntent(android.content.Intent intent)
onOptionsItemSelected(android.view.MenuItem item)
onOptionsMenuClosed(android.view.Menu menu)
onPanelClosed(int featureId, android.view.Menu menu)
onPerformDirectAction(java.lang.String actionId, android.os.Bundle arguments, android.os.CancellationSignal cancellationSignal, java.util.function.Consumer resultListener)
- onPictureInPictureModeChanged(boolean isInPictureInPictureMode)
onPictureInPictureModeChanged(boolean isInPictureInPictureMode, android.content.res.Configuration newConfig)
+ onPictureInPictureModeChanged(boolean isInPictureInPictureMode)
onPictureInPictureUiStateChanged(android.app.PictureInPictureUiState pipState)
- onPostCreate(android.os.Bundle savedInstanceState)
onPostCreate(android.os.Bundle savedInstanceState, android.os.PersistableBundle persistentState)
- onPrepareDialog(int id, android.app.Dialog dialog)
+ onPostCreate(android.os.Bundle savedInstanceState)
onPrepareDialog(int id, android.app.Dialog dialog, android.os.Bundle args)
+ onPrepareDialog(int id, android.app.Dialog dialog)
onPrepareNavigateUpTaskStack(android.app.TaskStackBuilder builder)
onPrepareOptionsMenu(android.view.Menu menu)
onPreparePanel(int featureId, android.view.View view, android.view.Menu menu)
@@ -788,10 +780,10 @@ package android.app
onProvideAssistData(android.os.Bundle data)
onProvideKeyboardShortcuts(java.util.List data, android.view.Menu menu, int deviceId)
onRequestPermissionsResult(int requestCode, java.lang.String[] permissions, int[] grantResults)
- onRestoreInstanceState(android.os.Bundle savedInstanceState)
onRestoreInstanceState(android.os.Bundle savedInstanceState, android.os.PersistableBundle persistentState)
- onSaveInstanceState(android.os.Bundle outState)
+ onRestoreInstanceState(android.os.Bundle savedInstanceState)
onSaveInstanceState(android.os.Bundle outState, android.os.PersistableBundle outPersistentState)
+ onSaveInstanceState(android.os.Bundle outState)
onSearchRequested(android.view.SearchEvent searchEvent)
onTitleChanged(java.lang.CharSequence title, int color)
onTopResumedActivityChanged(boolean isTopResumedActivity)
@@ -800,14 +792,17 @@ package android.app
onTrimMemory(int level)
onWindowAttributesChanged(android.view.WindowManager.LayoutParams params)
onWindowFocusChanged(boolean hasFocus)
- onWindowStartingActionMode(android.view.ActionMode.Callback callback)
onWindowStartingActionMode(android.view.ActionMode.Callback callback, int type)
+ onWindowStartingActionMode(android.view.ActionMode.Callback callback)
openContextMenu(android.view.View view)
- overridePendingTransition(int enterAnim, int exitAnim)
+ overrideActivityTransition(int overrideType, int enterAnim, int exitAnim, int backgroundColor)
+ overrideActivityTransition(int overrideType, int enterAnim, int exitAnim)
overridePendingTransition(int enterAnim, int exitAnim, int backgroundColor)
+ overridePendingTransition(int enterAnim, int exitAnim)
registerActivityLifecycleCallbacks(android.app.Application.ActivityLifecycleCallbacks callback)
registerComponentCallbacks(android.content.ComponentCallbacks callback)
registerForContextMenu(android.view.View view)
+ registerScreenCaptureCallback(java.util.concurrent.Executor executor, android.app.Activity.ScreenCaptureCallback callback)
removeDialog(int id)
requestDragAndDropPermissions(android.view.DragEvent event)
requestFullscreenMode(int request, android.os.OutcomeReceiver approvalCallback)
@@ -818,8 +813,8 @@ package android.app
runOnUiThread(java.lang.Runnable action)
setActionBar(android.widget.Toolbar toolbar)
setContentTransitionManager(android.transition.TransitionManager tm)
- setContentView(android.view.View view)
setContentView(android.view.View view, android.view.ViewGroup.LayoutParams params)
+ setContentView(android.view.View view)
setContentView(int layoutResID)
setDefaultKeyMode(int mode)
setEnterSharedElementCallback(android.app.SharedElementCallback callback)
@@ -841,8 +836,8 @@ package android.app
setProgressBarVisibility(boolean visible)
setRecentsScreenshotEnabled(boolean enabled)
setRequestedOrientation(int requestedOrientation)
- setResult(int resultCode)
setResult(int resultCode, android.content.Intent data)
+ setResult(int resultCode)
setSecondaryProgress(int secondaryProgress)
setShouldDockBigOverlays(boolean shouldDockBigOverlays)
setShowWhenLocked(boolean showWhenLocked)
@@ -859,32 +854,32 @@ package android.app
shouldShowRequestPermissionRationale(java.lang.String permission)
shouldUpRecreateTask(android.content.Intent targetIntent)
showAssist(android.os.Bundle args)
- showDialog(int id)
showDialog(int id, android.os.Bundle args)
- startActionMode(android.view.ActionMode.Callback callback)
+ showDialog(int id)
startActionMode(android.view.ActionMode.Callback callback, int type)
- startActivities(android.content.Intent[] intents)
+ startActionMode(android.view.ActionMode.Callback callback)
startActivities(android.content.Intent[] intents, android.os.Bundle options)
- startActivity(android.content.Intent intent)
+ startActivities(android.content.Intent[] intents)
startActivity(android.content.Intent intent, android.os.Bundle options)
- startActivityForResult(android.content.Intent intent, int requestCode)
+ startActivity(android.content.Intent intent)
startActivityForResult(android.content.Intent intent, int requestCode, android.os.Bundle options)
- startActivityFromChild(android.app.Activity child, android.content.Intent intent, int requestCode)
+ startActivityForResult(android.content.Intent intent, int requestCode)
startActivityFromChild(android.app.Activity child, android.content.Intent intent, int requestCode, android.os.Bundle options)
- startActivityFromFragment(android.app.Fragment fragment, android.content.Intent intent, int requestCode)
+ startActivityFromChild(android.app.Activity child, android.content.Intent intent, int requestCode)
startActivityFromFragment(android.app.Fragment fragment, android.content.Intent intent, int requestCode, android.os.Bundle options)
- startActivityIfNeeded(android.content.Intent intent, int requestCode)
+ startActivityFromFragment(android.app.Fragment fragment, android.content.Intent intent, int requestCode)
startActivityIfNeeded(android.content.Intent intent, int requestCode, android.os.Bundle options)
- startIntentSender(android.content.IntentSender intent, android.content.Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
+ startActivityIfNeeded(android.content.Intent intent, int requestCode)
startIntentSender(android.content.IntentSender intent, android.content.Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, android.os.Bundle options)
- startIntentSenderForResult(android.content.IntentSender intent, int requestCode, android.content.Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
+ startIntentSender(android.content.IntentSender intent, android.content.Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
startIntentSenderForResult(android.content.IntentSender intent, int requestCode, android.content.Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, android.os.Bundle options)
- startIntentSenderFromChild(android.app.Activity child, android.content.IntentSender intent, int requestCode, android.content.Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
+ startIntentSenderForResult(android.content.IntentSender intent, int requestCode, android.content.Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
startIntentSenderFromChild(android.app.Activity child, android.content.IntentSender intent, int requestCode, android.content.Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, android.os.Bundle options)
+ startIntentSenderFromChild(android.app.Activity child, android.content.IntentSender intent, int requestCode, android.content.Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
startLocalVoiceInteraction(android.os.Bundle privateOptions)
startManagingCursor(android.database.Cursor c)
- startNextMatchingActivity(android.content.Intent intent)
startNextMatchingActivity(android.content.Intent intent, android.os.Bundle options)
+ startNextMatchingActivity(android.content.Intent intent)
startSearch(java.lang.String initialQuery, boolean selectInitialQuery, android.os.Bundle appSearchData, boolean globalSearch)
stopManagingCursor(android.database.Cursor c)
takeKeyEvents(boolean get)
@@ -892,6 +887,7 @@ package android.app
unregisterActivityLifecycleCallbacks(android.app.Application.ActivityLifecycleCallbacks callback)
unregisterComponentCallbacks(android.content.ComponentCallbacks callback)
unregisterForContextMenu(android.view.View view)
+ unregisterScreenCaptureCallback(android.app.Activity.ScreenCaptureCallback callback)
class ActivityGroup
#ctor(boolean singleActivityMode)
onCreate(android.os.Bundle savedInstanceState)
@@ -910,8 +906,8 @@ package android.app
getRunningTasks(int maxNum)
isActivityStartAllowedOnDisplay(android.content.Context context, int displayId, android.content.Intent intent)
killBackgroundProcesses(java.lang.String packageName)
- moveTaskToFront(int taskId, int flags)
moveTaskToFront(int taskId, int flags, android.os.Bundle options)
+ moveTaskToFront(int taskId, int flags)
restartPackage(java.lang.String packageName)
setProcessStateSummary(byte[] state)
setVrThread(int tid)
@@ -940,11 +936,11 @@ package android.app
writeToParcel(android.os.Parcel dest, int flags)
class ActivityManager.TaskDescription
#ctor(android.app.ActivityManager.TaskDescription td)
- #ctor(java.lang.String label)
- #ctor(java.lang.String label, android.graphics.Bitmap icon)
#ctor(java.lang.String label, android.graphics.Bitmap icon, int colorPrimary)
- #ctor(java.lang.String label, int iconRes)
+ #ctor(java.lang.String label, android.graphics.Bitmap icon)
#ctor(java.lang.String label, int iconRes, int colorPrimary)
+ #ctor(java.lang.String label, int iconRes)
+ #ctor(java.lang.String label)
equals(java.lang.Object obj)
readFromParcel(android.os.Parcel source)
writeToParcel(android.os.Parcel dest, int flags)
@@ -957,8 +953,8 @@ package android.app
setStatusBarColor(int color)
class ActivityOptions
makeClipRevealAnimation(android.view.View source, int startX, int startY, int width, int height)
- makeCustomAnimation(android.content.Context context, int enterResId, int exitResId)
makeCustomAnimation(android.content.Context context, int enterResId, int exitResId, int backgroundColor)
+ makeCustomAnimation(android.content.Context context, int enterResId, int exitResId)
makeLaunchIntoPip(android.app.PictureInPictureParams pictureInPictureParams)
makeScaleUpAnimation(android.view.View source, int startX, int startY, int width, int height)
makeSceneTransitionAnimation(android.app.Activity activity, android.util.Pair... sharedElements)
@@ -970,6 +966,8 @@ package android.app
setLaunchDisplayId(int launchDisplayId)
setLockTaskEnabled(boolean lockTaskMode)
setPendingIntentBackgroundActivityLaunchAllowed(boolean allowed)
+ setPendingIntentBackgroundActivityStartMode(int state)
+ setPendingIntentCreatorBackgroundActivityStartMode(int mode)
setShareIdentityEnabled(boolean shareIdentity)
setSplashScreenStyle(int style)
update(android.app.ActivityOptions otherOptions)
@@ -994,9 +992,9 @@ package android.app
#ctor(long triggerTime, android.app.PendingIntent showIntent)
writeToParcel(android.os.Parcel dest, int flags)
class AlertDialog
- #ctor(android.content.Context context)
#ctor(android.content.Context context, boolean cancelable, android.content.DialogInterface.OnCancelListener cancelListener)
#ctor(android.content.Context context, int themeResId)
+ #ctor(android.content.Context context)
getButton(int whichButton)
onCreate(android.os.Bundle savedInstanceState)
onKeyDown(int keyCode, android.view.KeyEvent event)
@@ -1016,11 +1014,11 @@ package android.app
setInverseBackgroundForced(boolean forceInverseBackground)
setMessage(java.lang.CharSequence message)
setTitle(java.lang.CharSequence title)
- setView(android.view.View view)
setView(android.view.View view, int viewSpacingLeft, int viewSpacingTop, int viewSpacingRight, int viewSpacingBottom)
+ setView(android.view.View view)
class AlertDialog.Builder
- #ctor(android.content.Context context)
#ctor(android.content.Context context, int themeResId)
+ #ctor(android.content.Context context)
setAdapter(android.widget.ListAdapter adapter, android.content.DialogInterface.OnClickListener listener)
setCancelable(boolean cancelable)
setCursor(android.database.Cursor cursor, android.content.DialogInterface.OnClickListener listener, java.lang.String labelColumn)
@@ -1125,25 +1123,25 @@ package android.app
checkOp(java.lang.String op, int uid, java.lang.String packageName)
checkOpNoThrow(java.lang.String op, int uid, java.lang.String packageName)
checkPackage(int uid, java.lang.String packageName)
- finishOp(java.lang.String op, int uid, java.lang.String packageName)
finishOp(java.lang.String op, int uid, java.lang.String packageName, java.lang.String attributionTag)
+ finishOp(java.lang.String op, int uid, java.lang.String packageName)
finishProxyOp(java.lang.String op, int proxiedUid, java.lang.String proxiedPackageName, java.lang.String proxiedAttributionTag)
isOpActive(java.lang.String op, int uid, java.lang.String packageName)
- noteOp(java.lang.String op, int uid, java.lang.String packageName)
noteOp(java.lang.String op, int uid, java.lang.String packageName, java.lang.String attributionTag, java.lang.String message)
- noteOpNoThrow(java.lang.String op, int uid, java.lang.String packageName)
+ noteOp(java.lang.String op, int uid, java.lang.String packageName)
noteOpNoThrow(java.lang.String op, int uid, java.lang.String packageName, java.lang.String attributionTag, java.lang.String message)
- noteProxyOp(java.lang.String op, java.lang.String proxiedPackageName)
+ noteOpNoThrow(java.lang.String op, int uid, java.lang.String packageName)
noteProxyOp(java.lang.String op, java.lang.String proxiedPackageName, int proxiedUid, java.lang.String proxiedAttributionTag, java.lang.String message)
- noteProxyOpNoThrow(java.lang.String op, java.lang.String proxiedPackageName)
- noteProxyOpNoThrow(java.lang.String op, java.lang.String proxiedPackageName, int proxiedUid)
+ noteProxyOp(java.lang.String op, java.lang.String proxiedPackageName)
noteProxyOpNoThrow(java.lang.String op, java.lang.String proxiedPackageName, int proxiedUid, java.lang.String proxiedAttributionTag, java.lang.String message)
+ noteProxyOpNoThrow(java.lang.String op, java.lang.String proxiedPackageName, int proxiedUid)
+ noteProxyOpNoThrow(java.lang.String op, java.lang.String proxiedPackageName)
permissionToOp(java.lang.String permission)
setOnOpNotedCallback(java.util.concurrent.Executor asyncExecutor, android.app.AppOpsManager.OnOpNotedCallback callback)
- startOp(java.lang.String op, int uid, java.lang.String packageName)
startOp(java.lang.String op, int uid, java.lang.String packageName, java.lang.String attributionTag, java.lang.String message)
- startOpNoThrow(java.lang.String op, int uid, java.lang.String packageName)
+ startOp(java.lang.String op, int uid, java.lang.String packageName)
startOpNoThrow(java.lang.String op, int uid, java.lang.String packageName, java.lang.String attributionTag, java.lang.String message)
+ startOpNoThrow(java.lang.String op, int uid, java.lang.String packageName)
startProxyOp(java.lang.String op, int proxiedUid, java.lang.String proxiedPackageName, java.lang.String proxiedAttributionTag, java.lang.String message)
startProxyOpNoThrow(java.lang.String op, int proxiedUid, java.lang.String proxiedPackageName, java.lang.String proxiedAttributionTag, java.lang.String message)
startWatchingActive(java.lang.String[] ops, java.util.concurrent.Executor executor, android.app.AppOpsManager.OnOpActiveChangedListener callback)
@@ -1184,11 +1182,17 @@ package android.app
class BackgroundServiceStartNotAllowedException
#ctor(java.lang.String message)
writeToParcel(android.os.Parcel dest, int flags)
+ class BroadcastOptions
+ fromBundle(android.os.Bundle options)
+ setDeferralPolicy(int deferralPolicy)
+ setDeliveryGroupMatchingKey(java.lang.String namespace, java.lang.String key)
+ setDeliveryGroupPolicy(int policy)
+ setShareIdentityEnabled(boolean shareIdentityEnabled)
class DatePickerDialog
- #ctor(android.content.Context context)
#ctor(android.content.Context context, android.app.DatePickerDialog.OnDateSetListener listener, int year, int month, int dayOfMonth)
- #ctor(android.content.Context context, int themeResId)
#ctor(android.content.Context context, int themeResId, android.app.DatePickerDialog.OnDateSetListener listener, int year, int monthOfYear, int dayOfMonth)
+ #ctor(android.content.Context context, int themeResId)
+ #ctor(android.content.Context context)
onClick(android.content.DialogInterface dialog, int which)
onDateChanged(android.widget.DatePicker view, int year, int month, int dayOfMonth)
onRestoreInstanceState(android.os.Bundle savedInstanceState)
@@ -1198,9 +1202,9 @@ package android.app
onDateSet(android.widget.DatePicker view, int year, int month, int dayOfMonth)
class Dialog
addContentView(android.view.View view, android.view.ViewGroup.LayoutParams params)
- #ctor(android.content.Context context)
#ctor(android.content.Context context, boolean cancelable, android.content.DialogInterface.OnCancelListener cancelListener)
#ctor(android.content.Context context, int themeResId)
+ #ctor(android.content.Context context)
dispatchGenericMotionEvent(android.view.MotionEvent ev)
dispatchKeyEvent(android.view.KeyEvent event)
dispatchKeyShortcutEvent(android.view.KeyEvent event)
@@ -1236,8 +1240,8 @@ package android.app
onTrackballEvent(android.view.MotionEvent event)
onWindowAttributesChanged(android.view.WindowManager.LayoutParams params)
onWindowFocusChanged(boolean hasFocus)
- onWindowStartingActionMode(android.view.ActionMode.Callback callback)
onWindowStartingActionMode(android.view.ActionMode.Callback callback, int type)
+ onWindowStartingActionMode(android.view.ActionMode.Callback callback)
openContextMenu(android.view.View view)
registerForContextMenu(android.view.View view)
requestWindowFeature(int featureId)
@@ -1245,8 +1249,8 @@ package android.app
setCancelable(boolean flag)
setCanceledOnTouchOutside(boolean cancel)
setCancelMessage(android.os.Message msg)
- setContentView(android.view.View view)
setContentView(android.view.View view, android.view.ViewGroup.LayoutParams params)
+ setContentView(android.view.View view)
setContentView(int layoutResID)
setDismissMessage(android.os.Message msg)
setFeatureDrawable(int featureId, android.graphics.drawable.Drawable drawable)
@@ -1286,8 +1290,8 @@ package android.app
setExtras(android.os.Bundle extras)
setLocusId(android.content.LocusId locusId)
class DownloadManager
- addCompletedDownload(java.lang.String title, java.lang.String description, boolean isMediaScannerScannable, java.lang.String mimeType, java.lang.String path, long length, boolean showNotification)
addCompletedDownload(java.lang.String title, java.lang.String description, boolean isMediaScannerScannable, java.lang.String mimeType, java.lang.String path, long length, boolean showNotification, android.net.Uri uri, android.net.Uri referer)
+ addCompletedDownload(java.lang.String title, java.lang.String description, boolean isMediaScannerScannable, java.lang.String mimeType, java.lang.String path, long length, boolean showNotification)
enqueue(android.app.DownloadManager.Request request)
getMaxBytesOverMobile(android.content.Context context)
getMimeTypeForDownloadedFile(long id)
@@ -1333,11 +1337,11 @@ package android.app
class Fragment
dump(java.lang.String prefix, java.io.FileDescriptor fd, java.io.PrintWriter writer, java.lang.String[] args)
equals(java.lang.Object o)
- getString(int resId)
getString(int resId, java.lang.Object... formatArgs)
+ getString(int resId)
getText(int resId)
- instantiate(android.content.Context context, java.lang.String fname)
instantiate(android.content.Context context, java.lang.String fname, android.os.Bundle args)
+ instantiate(android.content.Context context, java.lang.String fname)
onActivityCreated(android.os.Bundle savedInstanceState)
onActivityResult(int requestCode, int resultCode, android.content.Intent data)
onAttach(android.app.Activity activity)
@@ -1355,12 +1359,12 @@ package android.app
onInflate(android.app.Activity activity, android.util.AttributeSet attrs, android.os.Bundle savedInstanceState)
onInflate(android.content.Context context, android.util.AttributeSet attrs, android.os.Bundle savedInstanceState)
onInflate(android.util.AttributeSet attrs, android.os.Bundle savedInstanceState)
- onMultiWindowModeChanged(boolean isInMultiWindowMode)
onMultiWindowModeChanged(boolean isInMultiWindowMode, android.content.res.Configuration newConfig)
+ onMultiWindowModeChanged(boolean isInMultiWindowMode)
onOptionsItemSelected(android.view.MenuItem item)
onOptionsMenuClosed(android.view.Menu menu)
- onPictureInPictureModeChanged(boolean isInPictureInPictureMode)
onPictureInPictureModeChanged(boolean isInPictureInPictureMode, android.content.res.Configuration newConfig)
+ onPictureInPictureModeChanged(boolean isInPictureInPictureMode)
onPrepareOptionsMenu(android.view.Menu menu)
onRequestPermissionsResult(int requestCode, java.lang.String[] permissions, int[] grantResults)
onSaveInstanceState(android.os.Bundle outState)
@@ -1387,10 +1391,10 @@ package android.app
setTargetFragment(android.app.Fragment fragment, int requestCode)
setUserVisibleHint(boolean isVisibleToUser)
shouldShowRequestPermissionRationale(java.lang.String permission)
- startActivity(android.content.Intent intent)
startActivity(android.content.Intent intent, android.os.Bundle options)
- startActivityForResult(android.content.Intent intent, int requestCode)
+ startActivity(android.content.Intent intent)
startActivityForResult(android.content.Intent intent, int requestCode, android.os.Bundle options)
+ startActivityForResult(android.content.Intent intent, int requestCode)
startIntentSenderForResult(android.content.IntentSender intent, int requestCode, android.content.Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, android.os.Bundle options)
unregisterForContextMenu(android.view.View view)
class Fragment.InstantiationException
@@ -1398,9 +1402,9 @@ package android.app
class Fragment.SavedState
writeToParcel(android.os.Parcel dest, int flags)
class FragmentBreadCrumbs
- #ctor(android.content.Context context)
- #ctor(android.content.Context context, android.util.AttributeSet attrs)
#ctor(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr)
+ #ctor(android.content.Context context, android.util.AttributeSet attrs)
+ #ctor(android.content.Context context)
onLayout(boolean changed, int l, int t, int r, int b)
onMeasure(int widthMeasureSpec, int heightMeasureSpec)
setActivity(android.app.Activity a)
@@ -1418,12 +1422,12 @@ package android.app
dispatchConfigurationChanged(android.content.res.Configuration newConfig)
dispatchContextItemSelected(android.view.MenuItem item)
dispatchCreateOptionsMenu(android.view.Menu menu, android.view.MenuInflater inflater)
- dispatchMultiWindowModeChanged(boolean isInMultiWindowMode)
dispatchMultiWindowModeChanged(boolean isInMultiWindowMode, android.content.res.Configuration newConfig)
+ dispatchMultiWindowModeChanged(boolean isInMultiWindowMode)
dispatchOptionsItemSelected(android.view.MenuItem item)
dispatchOptionsMenuClosed(android.view.Menu menu)
- dispatchPictureInPictureModeChanged(boolean isInPictureInPictureMode)
dispatchPictureInPictureModeChanged(boolean isInPictureInPictureMode, android.content.res.Configuration newConfig)
+ dispatchPictureInPictureModeChanged(boolean isInPictureInPictureMode)
dispatchPrepareOptionsMenu(android.view.Menu menu)
dispatchTrimMemory(int level)
doLoaderStop(boolean retain)
@@ -1476,23 +1480,23 @@ package android.app
onFragmentViewDestroyed(android.app.FragmentManager fm, android.app.Fragment f)
class FragmentTransaction
add(android.app.Fragment fragment, java.lang.String tag)
- add(int containerViewId, android.app.Fragment fragment)
add(int containerViewId, android.app.Fragment fragment, java.lang.String tag)
+ add(int containerViewId, android.app.Fragment fragment)
addSharedElement(android.view.View sharedElement, java.lang.String name)
addToBackStack(java.lang.String name)
attach(android.app.Fragment fragment)
detach(android.app.Fragment fragment)
hide(android.app.Fragment fragment)
remove(android.app.Fragment fragment)
- replace(int containerViewId, android.app.Fragment fragment)
replace(int containerViewId, android.app.Fragment fragment, java.lang.String tag)
+ replace(int containerViewId, android.app.Fragment fragment)
runOnCommit(java.lang.Runnable runnable)
setBreadCrumbShortTitle(int res)
setBreadCrumbShortTitle(java.lang.CharSequence text)
setBreadCrumbTitle(int res)
setBreadCrumbTitle(java.lang.CharSequence text)
- setCustomAnimations(int enter, int exit)
setCustomAnimations(int enter, int exit, int popEnter, int popExit)
+ setCustomAnimations(int enter, int exit)
setPrimaryNavigationFragment(android.app.Fragment fragment)
setReorderingAllowed(boolean reorderingAllowed)
setTransition(int transit)
@@ -1501,8 +1505,8 @@ package android.app
class GameManager
setGameState(android.app.GameState gameState)
class GameState
- #ctor(boolean isLoading, int mode)
#ctor(boolean isLoading, int mode, int label, int quality)
+ #ctor(boolean isLoading, int mode)
writeToParcel(android.os.Parcel parcel, int flags)
class GrammaticalInflectionManager
setRequestedApplicationGrammaticalGender(int grammaticalGender)
@@ -1512,20 +1516,20 @@ package android.app
addMonitor(android.content.IntentFilter filter, android.app.Instrumentation.ActivityResult result, boolean block)
addMonitor(java.lang.String cls, android.app.Instrumentation.ActivityResult result, boolean block)
addResults(android.os.Bundle results)
- callActivityOnCreate(android.app.Activity activity, android.os.Bundle icicle)
callActivityOnCreate(android.app.Activity activity, android.os.Bundle icicle, android.os.PersistableBundle persistentState)
+ callActivityOnCreate(android.app.Activity activity, android.os.Bundle icicle)
callActivityOnDestroy(android.app.Activity activity)
callActivityOnNewIntent(android.app.Activity activity, android.content.Intent intent)
callActivityOnPause(android.app.Activity activity)
callActivityOnPictureInPictureRequested(android.app.Activity activity)
- callActivityOnPostCreate(android.app.Activity activity, android.os.Bundle savedInstanceState)
callActivityOnPostCreate(android.app.Activity activity, android.os.Bundle savedInstanceState, android.os.PersistableBundle persistentState)
+ callActivityOnPostCreate(android.app.Activity activity, android.os.Bundle savedInstanceState)
callActivityOnRestart(android.app.Activity activity)
- callActivityOnRestoreInstanceState(android.app.Activity activity, android.os.Bundle savedInstanceState)
callActivityOnRestoreInstanceState(android.app.Activity activity, android.os.Bundle savedInstanceState, android.os.PersistableBundle persistentState)
+ callActivityOnRestoreInstanceState(android.app.Activity activity, android.os.Bundle savedInstanceState)
callActivityOnResume(android.app.Activity activity)
- callActivityOnSaveInstanceState(android.app.Activity activity, android.os.Bundle outState)
callActivityOnSaveInstanceState(android.app.Activity activity, android.os.Bundle outState, android.os.PersistableBundle outPersistentState)
+ callActivityOnSaveInstanceState(android.app.Activity activity, android.os.Bundle outState)
callActivityOnStart(android.app.Activity activity)
callActivityOnStop(android.app.Activity activity)
callActivityOnUserLeaving(android.app.Activity activity)
@@ -1551,8 +1555,8 @@ package android.app
sendStringSync(java.lang.String text)
sendTrackballEventSync(android.view.MotionEvent event)
setInTouchMode(boolean inTouch)
- startActivitySync(android.content.Intent intent)
startActivitySync(android.content.Intent intent, android.os.Bundle options)
+ startActivitySync(android.content.Intent intent)
waitForIdle(java.lang.Runnable recipient)
waitForMonitor(android.app.Instrumentation.ActivityMonitor monitor)
waitForMonitorWithTimeout(android.app.Instrumentation.ActivityMonitor monitor, long timeOut)
@@ -1642,10 +1646,10 @@ package android.app
setExtendedSettingsClickListener(android.view.View.OnClickListener listener)
setRouteTypes(int types)
class MediaRouteButton
- #ctor(android.content.Context context)
- #ctor(android.content.Context context, android.util.AttributeSet attrs)
- #ctor(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr)
#ctor(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr, int defStyleRes)
+ #ctor(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr)
+ #ctor(android.content.Context context, android.util.AttributeSet attrs)
+ #ctor(android.content.Context context)
onCreateDrawableState(int extraSpace)
onDraw(android.graphics.Canvas canvas)
onMeasure(int widthMeasureSpec, int heightMeasureSpec)
@@ -1733,8 +1737,8 @@ package android.app
addPerson(android.app.Person person)
addPerson(java.lang.String uri)
extend(android.app.Notification.Extender extender)
- #ctor(android.content.Context context)
#ctor(android.content.Context context, java.lang.String channelId)
+ #ctor(android.content.Context context)
recoverBuilder(android.content.Context context, android.app.Notification n)
setActions(android.app.Notification.Action... actions)
setAllowSystemGeneratedContextualActions(boolean allowed)
@@ -1779,16 +1783,16 @@ package android.app
setShortcutId(java.lang.String shortcutId)
setShowWhen(boolean show)
setSmallIcon(android.graphics.drawable.Icon icon)
- setSmallIcon(int icon)
setSmallIcon(int icon, int level)
+ setSmallIcon(int icon)
setSortKey(java.lang.String sortKey)
- setSound(android.net.Uri sound)
setSound(android.net.Uri sound, android.media.AudioAttributes audioAttributes)
setSound(android.net.Uri sound, int streamType)
+ setSound(android.net.Uri sound)
setStyle(android.app.Notification.Style style)
setSubText(java.lang.CharSequence text)
- setTicker(java.lang.CharSequence tickerText)
setTicker(java.lang.CharSequence tickerText, android.widget.RemoteViews views)
+ setTicker(java.lang.CharSequence tickerText)
setTimeoutAfter(long durationMs)
setUsesChronometer(boolean b)
setVibrate(long[] pattern)
@@ -1825,6 +1829,7 @@ package android.app
class Notification.MediaStyle
#ctor(android.app.Notification.Builder builder)
setMediaSession(android.media.session.MediaSession.Token token)
+ setRemotePlaybackInfo(java.lang.CharSequence deviceName, int iconResource, android.app.PendingIntent chipIntent)
setShowActionsInCompactView(int... actions)
class Notification.MessagingStyle
addHistoricMessage(android.app.Notification.MessagingStyle.Message message)
@@ -1907,8 +1912,8 @@ package android.app
deleteNotificationChannel(java.lang.String channelId)
deleteNotificationChannelGroup(java.lang.String groupId)
getAutomaticZenRule(java.lang.String id)
- getNotificationChannel(java.lang.String channelId)
getNotificationChannel(java.lang.String channelId, java.lang.String conversationId)
+ getNotificationChannel(java.lang.String channelId)
getNotificationChannelGroup(java.lang.String channelGroupId)
isNotificationListenerAccessGranted(android.content.ComponentName listener)
matchesCallFilter(android.net.Uri uri)
@@ -1923,29 +1928,30 @@ package android.app
updateAutomaticZenRule(java.lang.String id, android.app.AutomaticZenRule automaticZenRule)
class NotificationManager.Policy
equals(java.lang.Object o)
- #ctor(int priorityCategories, int priorityCallSenders, int priorityMessageSenders)
- #ctor(int priorityCategories, int priorityCallSenders, int priorityMessageSenders, int suppressedVisualEffects)
#ctor(int priorityCategories, int priorityCallSenders, int priorityMessageSenders, int suppressedVisualEffects, int priorityConversationSenders)
+ #ctor(int priorityCategories, int priorityCallSenders, int priorityMessageSenders, int suppressedVisualEffects)
+ #ctor(int priorityCategories, int priorityCallSenders, int priorityMessageSenders)
priorityCategoriesToString(int priorityCategories)
prioritySendersToString(int prioritySenders)
suppressedEffectsToString(int effects)
writeToParcel(android.os.Parcel dest, int flags)
class PendingIntent
equals(java.lang.Object otherObj)
- getActivities(android.content.Context context, int requestCode, android.content.Intent[] intents, int flags)
getActivities(android.content.Context context, int requestCode, android.content.Intent[] intents, int flags, android.os.Bundle options)
- getActivity(android.content.Context context, int requestCode, android.content.Intent intent, int flags)
+ getActivities(android.content.Context context, int requestCode, android.content.Intent[] intents, int flags)
getActivity(android.content.Context context, int requestCode, android.content.Intent intent, int flags, android.os.Bundle options)
+ getActivity(android.content.Context context, int requestCode, android.content.Intent intent, int flags)
getBroadcast(android.content.Context context, int requestCode, android.content.Intent intent, int flags)
getForegroundService(android.content.Context context, int requestCode, android.content.Intent intent, int flags)
getService(android.content.Context context, int requestCode, android.content.Intent intent, int flags)
readPendingIntentOrNullFromParcel(android.os.Parcel in)
- send(android.content.Context context, int code, android.content.Intent intent)
- send(android.content.Context context, int code, android.content.Intent intent, android.app.PendingIntent.OnFinished onFinished, android.os.Handler handler)
- send(android.content.Context context, int code, android.content.Intent intent, android.app.PendingIntent.OnFinished onFinished, android.os.Handler handler, java.lang.String requiredPermission)
send(android.content.Context context, int code, android.content.Intent intent, android.app.PendingIntent.OnFinished onFinished, android.os.Handler handler, java.lang.String requiredPermission, android.os.Bundle options)
- send(int code)
+ send(android.content.Context context, int code, android.content.Intent intent, android.app.PendingIntent.OnFinished onFinished, android.os.Handler handler, java.lang.String requiredPermission)
+ send(android.content.Context context, int code, android.content.Intent intent, android.app.PendingIntent.OnFinished onFinished, android.os.Handler handler)
+ send(android.content.Context context, int code, android.content.Intent intent)
+ send(android.os.Bundle options)
send(int code, android.app.PendingIntent.OnFinished onFinished, android.os.Handler handler)
+ send(int code)
writePendingIntentOrNullToParcel(android.app.PendingIntent sender, android.os.Parcel out)
writeToParcel(android.os.Parcel out, int flags)
class PendingIntent.CanceledException
@@ -1981,14 +1987,14 @@ package android.app
equals(java.lang.Object o)
writeToParcel(android.os.Parcel out, int flags)
class Presentation
- #ctor(android.content.Context outerContext, android.view.Display display)
#ctor(android.content.Context outerContext, android.view.Display display, int theme)
+ #ctor(android.content.Context outerContext, android.view.Display display)
class ProgressDialog
incrementProgressBy(int diff)
incrementSecondaryProgressBy(int diff)
onCreate(android.os.Bundle savedInstanceState)
- #ctor(android.content.Context context)
#ctor(android.content.Context context, int theme)
+ #ctor(android.content.Context context)
setIndeterminate(boolean indeterminate)
setIndeterminateDrawable(android.graphics.drawable.Drawable d)
setMax(int max)
@@ -1999,10 +2005,10 @@ package android.app
setProgressPercentFormat(java.text.NumberFormat format)
setProgressStyle(int style)
setSecondaryProgress(int secondaryProgress)
- show(android.content.Context context, java.lang.CharSequence title, java.lang.CharSequence message)
- show(android.content.Context context, java.lang.CharSequence title, java.lang.CharSequence message, boolean indeterminate)
- show(android.content.Context context, java.lang.CharSequence title, java.lang.CharSequence message, boolean indeterminate, boolean cancelable)
show(android.content.Context context, java.lang.CharSequence title, java.lang.CharSequence message, boolean indeterminate, boolean cancelable, android.content.DialogInterface.OnCancelListener cancelListener)
+ show(android.content.Context context, java.lang.CharSequence title, java.lang.CharSequence message, boolean indeterminate, boolean cancelable)
+ show(android.content.Context context, java.lang.CharSequence title, java.lang.CharSequence message, boolean indeterminate)
+ show(android.content.Context context, java.lang.CharSequence title, java.lang.CharSequence message)
class RecoverableSecurityException
#ctor(java.lang.Throwable cause, java.lang.CharSequence userMessage, android.app.RemoteAction userAction)
writeToParcel(android.os.Parcel dest, int flags)
@@ -2051,8 +2057,8 @@ package android.app
onTimeout(int startId)
onTrimMemory(int level)
onUnbind(android.content.Intent intent)
- startForeground(int id, android.app.Notification notification)
startForeground(int id, android.app.Notification notification, int foregroundServiceType)
+ startForeground(int id, android.app.Notification notification)
stopForeground(boolean removeNotification)
stopForeground(int notificationBehavior)
stopSelf(int startId)
@@ -2065,7 +2071,11 @@ package android.app
onSharedElementEnd(java.util.List sharedElementNames, java.util.List sharedElements, java.util.List sharedElementSnapshots)
onSharedElementsArrived(java.util.List sharedElementNames, java.util.List sharedElements, android.app.SharedElementCallback.OnSharedElementsReadyListener listener)
onSharedElementStart(java.util.List sharedElementNames, java.util.List sharedElements, java.util.List sharedElementSnapshots)
+ class StartForegroundCalledOnStoppedServiceException
+ #ctor(java.lang.String message)
+ writeToParcel(android.os.Parcel dest, int flags)
class StatusBarManager
+ canLaunchCaptureContentActivityForNote(android.app.Activity activity)
requestAddTileService(android.content.ComponentName tileServiceComponentName, java.lang.CharSequence tileLabel, android.graphics.drawable.Icon icon, java.util.concurrent.Executor resultExecutor, java.util.function.Consumer resultCallback)
class SyncNotedAppOp
equals(java.lang.Object o)
@@ -2086,8 +2096,8 @@ package android.app
addParentStack(java.lang.Class> sourceActivityClass)
create(android.content.Context context)
editIntentAt(int index)
- getPendingIntent(int requestCode, int flags)
getPendingIntent(int requestCode, int flags, android.os.Bundle options)
+ getPendingIntent(int requestCode, int flags)
startActivities(android.os.Bundle options)
class TimePickerDialog
onClick(android.content.DialogInterface dialog, int which)
@@ -2104,6 +2114,7 @@ package android.app
executeAndWaitForEvent(java.lang.Runnable command, android.app.UiAutomation.AccessibilityEventFilter filter, long timeoutMillis)
executeShellCommand(java.lang.String command)
executeShellCommandRw(java.lang.String command)
+ executeShellCommandRwe(java.lang.String command)
findFocus(int focus)
getWindowContentFrameStats(int windowId)
grantRuntimePermission(java.lang.String packageName, java.lang.String permission)
@@ -2124,17 +2135,21 @@ package android.app
interface UiAutomation.OnAccessibilityEventListener
onAccessibilityEvent(android.view.accessibility.AccessibilityEvent event)
class UiModeManager
+ addContrastChangeListener(java.util.concurrent.Executor executor, android.app.UiModeManager.ContrastChangeListener listener)
disableCarMode(int flags)
enableCarMode(int flags)
+ removeContrastChangeListener(android.app.UiModeManager.ContrastChangeListener listener)
setApplicationNightMode(int mode)
setCustomNightModeEnd(java.time.LocalTime time)
setCustomNightModeStart(java.time.LocalTime time)
setNightMode(int mode)
+ interface UiModeManager.ContrastChangeListener
+ onContrastChanged(float contrast)
class VoiceInteractor
getActiveRequest(java.lang.String name)
registerOnDestroyedCallback(java.util.concurrent.Executor executor, java.lang.Runnable callback)
- submitRequest(android.app.VoiceInteractor.Request request)
submitRequest(android.app.VoiceInteractor.Request request, java.lang.String name)
+ submitRequest(android.app.VoiceInteractor.Request request)
supportsCommands(java.lang.String[] commands)
unregisterOnDestroyedCallback(java.lang.Runnable callback)
class VoiceInteractor.AbortVoiceRequest
@@ -2169,8 +2184,8 @@ package android.app
equals(java.lang.Object o)
fromBitmap(android.graphics.Bitmap bitmap)
fromDrawable(android.graphics.drawable.Drawable drawable)
- #ctor(android.graphics.Color primaryColor, android.graphics.Color secondaryColor, android.graphics.Color tertiaryColor)
#ctor(android.graphics.Color primaryColor, android.graphics.Color secondaryColor, android.graphics.Color tertiaryColor, int colorHints)
+ #ctor(android.graphics.Color primaryColor, android.graphics.Color secondaryColor, android.graphics.Color tertiaryColor)
#ctor(android.os.Parcel parcel)
writeToParcel(android.os.Parcel dest, int flags)
class WallpaperInfo
@@ -2188,9 +2203,9 @@ package android.app
addOnColorsChangedListener(android.app.WallpaperManager.OnColorsChangedListener listener, android.os.Handler handler)
clear(int which)
clearWallpaperOffsets(android.os.IBinder windowToken)
- getBuiltInDrawable(int which)
- getBuiltInDrawable(int outWidth, int outHeight, boolean scaleToFit, float horizontalAlignment, float verticalAlignment)
getBuiltInDrawable(int outWidth, int outHeight, boolean scaleToFit, float horizontalAlignment, float verticalAlignment, int which)
+ getBuiltInDrawable(int outWidth, int outHeight, boolean scaleToFit, float horizontalAlignment, float verticalAlignment)
+ getBuiltInDrawable(int which)
getCropAndSetWallpaperIntent(android.net.Uri imageUri)
getDrawable(int which)
getFastDrawable(int which)
@@ -2204,15 +2219,15 @@ package android.app
peekFastDrawable(int which)
removeOnColorsChangedListener(android.app.WallpaperManager.OnColorsChangedListener callback)
sendWallpaperCommand(android.os.IBinder windowToken, java.lang.String action, int x, int y, int z, android.os.Bundle extras)
- setBitmap(android.graphics.Bitmap bitmap)
- setBitmap(android.graphics.Bitmap fullImage, android.graphics.Rect visibleCropHint, boolean allowBackup)
setBitmap(android.graphics.Bitmap fullImage, android.graphics.Rect visibleCropHint, boolean allowBackup, int which)
+ setBitmap(android.graphics.Bitmap fullImage, android.graphics.Rect visibleCropHint, boolean allowBackup)
+ setBitmap(android.graphics.Bitmap bitmap)
setDisplayPadding(android.graphics.Rect padding)
- setResource(int resid)
setResource(int resid, int which)
- setStream(java.io.InputStream bitmapData)
- setStream(java.io.InputStream bitmapData, android.graphics.Rect visibleCropHint, boolean allowBackup)
+ setResource(int resid)
setStream(java.io.InputStream bitmapData, android.graphics.Rect visibleCropHint, boolean allowBackup, int which)
+ setStream(java.io.InputStream bitmapData, android.graphics.Rect visibleCropHint, boolean allowBackup)
+ setStream(java.io.InputStream bitmapData)
setWallpaperOffsets(android.os.IBinder windowToken, float xOffset, float yOffset)
setWallpaperOffsetSteps(float xStep, float yStep)
suggestDesiredDimensions(int minimumWidth, int minimumHeight)
@@ -2254,14 +2269,14 @@ package android.app.admin
onLockTaskModeExiting(android.content.Context context, android.content.Intent intent)
onNetworkLogsAvailable(android.content.Context context, android.content.Intent intent, long batchToken, int networkLogsCount)
onOperationSafetyStateChanged(android.content.Context context, int reason, boolean isSafe)
- onPasswordChanged(android.content.Context context, android.content.Intent intent)
onPasswordChanged(android.content.Context context, android.content.Intent intent, android.os.UserHandle user)
- onPasswordExpiring(android.content.Context context, android.content.Intent intent)
+ onPasswordChanged(android.content.Context context, android.content.Intent intent)
onPasswordExpiring(android.content.Context context, android.content.Intent intent, android.os.UserHandle user)
- onPasswordFailed(android.content.Context context, android.content.Intent intent)
+ onPasswordExpiring(android.content.Context context, android.content.Intent intent)
onPasswordFailed(android.content.Context context, android.content.Intent intent, android.os.UserHandle user)
- onPasswordSucceeded(android.content.Context context, android.content.Intent intent)
+ onPasswordFailed(android.content.Context context, android.content.Intent intent)
onPasswordSucceeded(android.content.Context context, android.content.Intent intent, android.os.UserHandle user)
+ onPasswordSucceeded(android.content.Context context, android.content.Intent intent)
onProfileProvisioningComplete(android.content.Context context, android.content.Intent intent)
onReadyForUserInitialization(android.content.Context context, android.content.Intent intent)
onReceive(android.content.Context context, android.content.Intent intent)
@@ -2276,12 +2291,16 @@ package android.app.admin
onUserSwitched(android.content.Context context, android.content.Intent intent, android.os.UserHandle switchedUser)
class DeviceAdminService
onBind(android.content.Intent intent)
+ class DevicePolicyIdentifiers
+ getIdentifierForUserRestriction(java.lang.String restriction)
class DevicePolicyManager
addCrossProfileIntentFilter(android.content.ComponentName admin, android.content.IntentFilter filter, int flags)
addCrossProfileWidgetProvider(android.content.ComponentName admin, java.lang.String packageName)
addOverrideApn(android.content.ComponentName admin, android.telephony.data.ApnSetting apnSetting)
addPersistentPreferredActivity(android.content.ComponentName admin, android.content.IntentFilter filter, android.content.ComponentName activity)
addUserRestriction(android.content.ComponentName admin, java.lang.String key)
+ addUserRestrictionGlobally(java.lang.String key)
+ bindDeviceAdminServiceAsUser(android.content.ComponentName admin, android.content.Intent serviceIntent, android.content.ServiceConnection conn, android.content.Context.BindServiceFlags flags, android.os.UserHandle targetUser)
bindDeviceAdminServiceAsUser(android.content.ComponentName admin, android.content.Intent serviceIntent, android.content.ServiceConnection conn, int flags, android.os.UserHandle targetUser)
clearApplicationUserData(android.content.ComponentName admin, java.lang.String packageName, java.util.concurrent.Executor executor, android.app.admin.DevicePolicyManager.OnClearApplicationUserDataListener listener)
clearCrossProfileIntentFilters(android.content.ComponentName admin)
@@ -2412,8 +2431,8 @@ package android.app.admin
revokeKeyPairFromWifiAuth(java.lang.String alias)
setAccountManagementDisabled(android.content.ComponentName admin, java.lang.String accountType, boolean disabled)
setAffiliationIds(android.content.ComponentName admin, java.util.Set ids)
- setAlwaysOnVpnPackage(android.content.ComponentName admin, java.lang.String vpnPackage, boolean lockdownEnabled)
setAlwaysOnVpnPackage(android.content.ComponentName admin, java.lang.String vpnPackage, boolean lockdownEnabled, java.util.Set lockdownAllowlist)
+ setAlwaysOnVpnPackage(android.content.ComponentName admin, java.lang.String vpnPackage, boolean lockdownEnabled)
setApplicationHidden(android.content.ComponentName admin, java.lang.String packageName, boolean hidden)
setApplicationRestrictions(android.content.ComponentName admin, java.lang.String packageName, android.os.Bundle settings)
setApplicationRestrictionsManagingPackage(android.content.ComponentName admin, java.lang.String packageName)
@@ -2426,10 +2445,12 @@ package android.app.admin
setCertInstallerPackage(android.content.ComponentName admin, java.lang.String installerPackage)
setCommonCriteriaModeEnabled(android.content.ComponentName admin, boolean enabled)
setConfiguredNetworksLockdownState(android.content.ComponentName admin, boolean lockdown)
+ setCredentialManagerPolicy(android.app.admin.PackagePolicy policy)
setCrossProfileCalendarPackages(android.content.ComponentName admin, java.util.Set packageNames)
setCrossProfileCallerIdDisabled(android.content.ComponentName admin, boolean disabled)
setCrossProfileContactsSearchDisabled(android.content.ComponentName admin, boolean disabled)
setCrossProfilePackages(android.content.ComponentName admin, java.util.Set packageNames)
+ setDefaultDialerApplication(java.lang.String packageName)
setDefaultSmsApplication(android.content.ComponentName admin, java.lang.String packageName)
setDelegatedScopes(android.content.ComponentName admin, java.lang.String delegatePackage, java.util.List scopes)
setDeviceOwnerLockScreenInfo(android.content.ComponentName admin, java.lang.CharSequence info)
@@ -2514,8 +2535,8 @@ package android.app.admin
uninstallAllUserCaCerts(android.content.ComponentName admin)
uninstallCaCert(android.content.ComponentName admin, byte[] certBuffer)
updateOverrideApn(android.content.ComponentName admin, int apnId, android.telephony.data.ApnSetting apnSetting)
- wipeData(int flags)
wipeData(int flags, java.lang.CharSequence reason)
+ wipeData(int flags)
wipeDevice(int flags)
class DevicePolicyManager.InstallSystemUpdateCallback
onInstallUpdateError(int errorCode, java.lang.String errorMessage)
@@ -2528,8 +2549,8 @@ package android.app.admin
getDrawableAsIcon(java.lang.String drawableId, java.lang.String drawableStyle, java.lang.String drawableSource, android.graphics.drawable.Icon defaultIcon)
getDrawableForDensity(java.lang.String drawableId, java.lang.String drawableStyle, int density, java.util.function.Supplier defaultDrawableLoader)
getDrawableForDensity(java.lang.String drawableId, java.lang.String drawableStyle, java.lang.String drawableSource, int density, java.util.function.Supplier defaultDrawableLoader)
- getString(java.lang.String stringId, java.util.function.Supplier defaultStringLoader)
getString(java.lang.String stringId, java.util.function.Supplier defaultStringLoader, java.lang.Object... formatArgs)
+ getString(java.lang.String stringId, java.util.function.Supplier defaultStringLoader)
class DnsEvent
writeToParcel(android.os.Parcel out, int flags)
class FactoryResetProtectionPolicy
@@ -2547,15 +2568,15 @@ package android.app.admin
writeToParcel(android.os.Parcel out, int flags)
class PackagePolicy
equals(java.lang.Object thatObject)
- #ctor(int policyType)
#ctor(int policyType, java.util.Set packageNames)
+ #ctor(int policyType)
writeToParcel(android.os.Parcel dest, int flags)
- class PolicyUpdateReason
- #ctor(int reasonCode)
- class PolicyUpdatesReceiver
- onPolicyChanged(android.content.Context context, java.lang.String policyKey, android.os.Bundle additionalPolicyParams, android.app.admin.TargetUser targetUser, android.app.admin.PolicyUpdateReason reason)
- onPolicySetResult(android.content.Context context, java.lang.String policyKey, android.os.Bundle additionalPolicyParams, android.app.admin.TargetUser targetUser, int result, android.app.admin.PolicyUpdateReason reason)
+ class PolicyUpdateReceiver
+ onPolicyChanged(android.content.Context context, java.lang.String policyIdentifier, android.os.Bundle additionalPolicyParams, android.app.admin.TargetUser targetUser, android.app.admin.PolicyUpdateResult policyUpdateResult)
+ onPolicySetResult(android.content.Context context, java.lang.String policyIdentifier, android.os.Bundle additionalPolicyParams, android.app.admin.TargetUser targetUser, android.app.admin.PolicyUpdateResult policyUpdateResult)
onReceive(android.content.Context context, android.content.Intent intent)
+ class PolicyUpdateResult
+ #ctor(int resultCode)
class PreferentialNetworkServiceConfig
equals(java.lang.Object o)
writeToParcel(android.os.Parcel dest, int flags)
@@ -2565,6 +2586,7 @@ package android.app.admin
setFallbackToDefaultConnectionAllowed(boolean allowFallbackToDefaultConnection)
setIncludedUids(int[] uids)
setNetworkId(int preferenceId)
+ setShouldBlockNonMatchingNetworks(boolean blockNonMatchingNetworks)
class SecurityLog.SecurityEvent
equals(java.lang.Object o)
writeToParcel(android.os.Parcel dest, int flags)
@@ -2710,8 +2732,8 @@ package android.app.appsearch
#ctor(java.lang.String path)
#ctor(java.util.List pathList)
class PropertyPath.PathSegment
- create(java.lang.String propertyName)
create(java.lang.String propertyName, int propertyIndex)
+ create(java.lang.String propertyName)
equals(java.lang.Object o)
class PutDocumentsRequest.Builder
addGenericDocuments(android.app.appsearch.GenericDocument... documents)
@@ -2752,7 +2774,9 @@ package android.app.appsearch
addProjection(java.lang.String schema, java.util.Collection propertyPaths)
addProjectionPaths(java.lang.String schema, java.util.Collection propertyPaths)
setJoinSpec(android.app.appsearch.JoinSpec joinSpec)
+ setListFilterQueryLanguageEnabled(boolean enabled)
setMaxSnippetSize(int maxSnippetSize)
+ setNumericSearchEnabled(boolean enabled)
setOrder(int order)
setPropertyWeightPaths(java.lang.String schemaType, java.util.Map propertyPathWeights)
setPropertyWeights(java.lang.String schemaType, java.util.Map propertyPathWeights)
@@ -2763,6 +2787,7 @@ package android.app.appsearch
setSnippetCount(int snippetCount)
setSnippetCountPerProperty(int snippetCountPerProperty)
setTermMatch(int termMatchType)
+ setVerbatimSearchEnabled(boolean enabled)
class SearchSuggestionResult
equals(java.lang.Object other)
class SearchSuggestionResult.Builder
@@ -2806,9 +2831,9 @@ package android.app.appsearch
package android.app.appsearch.exceptions
;---------------------------------------
class AppSearchException
- #ctor(int resultCode)
- #ctor(int resultCode, java.lang.String message)
#ctor(int resultCode, java.lang.String message, java.lang.Throwable cause)
+ #ctor(int resultCode, java.lang.String message)
+ #ctor(int resultCode)
package android.app.appsearch.observer
;---------------------------------------
@@ -2862,8 +2887,8 @@ package android.app.backup
class BackupDataInput
readEntityData(byte[] data, int offset, int size)
class BackupDataInputStream
- read(byte[] b)
read(byte[] b, int offset, int size)
+ read(byte[] b)
class BackupDataOutput
writeEntityData(byte[] data, int size)
writeEntityHeader(java.lang.String key, int dataSize)
@@ -2899,10 +2924,10 @@ package android.app.blob
writeToParcel(android.os.Parcel dest, int flags)
class BlobStoreManager
abandonSession(long sessionId)
- acquireLease(android.app.blob.BlobHandle blobHandle, int descriptionResId)
acquireLease(android.app.blob.BlobHandle blobHandle, int descriptionResId, long leaseExpiryTimeMillis)
- acquireLease(android.app.blob.BlobHandle blobHandle, java.lang.CharSequence description)
+ acquireLease(android.app.blob.BlobHandle blobHandle, int descriptionResId)
acquireLease(android.app.blob.BlobHandle blobHandle, java.lang.CharSequence description, long leaseExpiryTimeMillis)
+ acquireLease(android.app.blob.BlobHandle blobHandle, java.lang.CharSequence description)
createSession(android.app.blob.BlobHandle blobHandle)
openBlob(android.app.blob.BlobHandle blobHandle)
openSession(long sessionId)
@@ -2923,7 +2948,6 @@ package android.app.job
#ctor(int jobId, android.content.ComponentName jobService)
setBackoffCriteria(long initialBackoffMillis, int backoffPolicy)
setClipData(android.content.ClipData clip, int grantFlags)
- setDataTransfer(boolean dataTransfer)
setEstimatedNetworkBytes(long downloadBytes, long uploadBytes)
setExpedited(boolean expedited)
setExtras(android.os.PersistableBundle extras)
@@ -2931,8 +2955,8 @@ package android.app.job
setMinimumLatency(long minLatencyMillis)
setMinimumNetworkChunkBytes(long chunkSizeBytes)
setOverrideDeadline(long maxExecutionDelayMillis)
- setPeriodic(long intervalMillis)
setPeriodic(long intervalMillis, long flexMillis)
+ setPeriodic(long intervalMillis)
setPersisted(boolean isPersisted)
setPrefetch(boolean prefetch)
setPriority(int priority)
@@ -2956,12 +2980,14 @@ package android.app.job
class JobScheduler
cancel(int jobId)
enqueue(android.app.job.JobInfo job, android.app.job.JobWorkItem work)
+ forNamespace(java.lang.String namespace)
getPendingJob(int jobId)
getPendingJobReason(int jobId)
schedule(android.app.job.JobInfo job)
class JobService
jobFinished(android.app.job.JobParameters params, boolean wantsReschedule)
onBind(android.content.Intent intent)
+ onNetworkChanged(android.app.job.JobParameters params)
onStartJob(android.app.job.JobParameters params)
onStopJob(android.app.job.JobParameters params)
setNotification(android.app.job.JobParameters params, int notificationId, android.app.Notification notification, int jobEndNotificationPolicy)
@@ -2972,15 +2998,16 @@ package android.app.job
class JobServiceEngine
jobFinished(android.app.job.JobParameters params, boolean needsReschedule)
#ctor(android.app.Service service)
+ onNetworkChanged(android.app.job.JobParameters params)
onStartJob(android.app.job.JobParameters params)
onStopJob(android.app.job.JobParameters params)
setNotification(android.app.job.JobParameters params, int notificationId, android.app.Notification notification, int jobEndNotificationPolicy)
updateEstimatedNetworkBytes(android.app.job.JobParameters params, android.app.job.JobWorkItem item, long downloadBytes, long uploadBytes)
updateTransferredNetworkBytes(android.app.job.JobParameters params, android.app.job.JobWorkItem item, long downloadBytes, long uploadBytes)
class JobWorkItem
- #ctor(android.content.Intent intent)
- #ctor(android.content.Intent intent, long downloadBytes, long uploadBytes)
#ctor(android.content.Intent intent, long downloadBytes, long uploadBytes, long minimumChunkBytes)
+ #ctor(android.content.Intent intent, long downloadBytes, long uploadBytes)
+ #ctor(android.content.Intent intent)
writeToParcel(android.os.Parcel out, int flags)
class JobWorkItem.Builder
setEstimatedNetworkBytes(long downloadBytes, long uploadBytes)
@@ -3019,9 +3046,9 @@ package android.app.sdksandbox
#ctor(java.lang.Throwable cause, android.os.Bundle extraInfo)
writeToParcel(android.os.Parcel destination, int flags)
class RequestSurfacePackageException
- #ctor(int requestSurfacePackageErrorCode, java.lang.String message)
- #ctor(int requestSurfacePackageErrorCode, java.lang.String message, java.lang.Throwable cause)
#ctor(int requestSurfacePackageErrorCode, java.lang.String message, java.lang.Throwable cause, android.os.Bundle extraInfo)
+ #ctor(int requestSurfacePackageErrorCode, java.lang.String message, java.lang.Throwable cause)
+ #ctor(int requestSurfacePackageErrorCode, java.lang.String message)
class SandboxedSdk
#ctor(android.os.IBinder sdkInterface)
writeToParcel(android.os.Parcel dest, int flags)
@@ -3036,10 +3063,16 @@ package android.app.sdksandbox
removeSdkSandboxProcessDeathCallback(android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback callback)
removeSyncedSharedPreferencesKeys(java.util.Set keys)
requestSurfacePackage(java.lang.String sdkName, android.os.Bundle params, java.util.concurrent.Executor callbackExecutor, android.os.OutcomeReceiver receiver)
+ startSdkSandboxActivity(android.app.Activity fromActivity, android.os.IBinder sdkActivityToken)
unloadSdk(java.lang.String sdkName)
package android.app.sdksandbox.sdkprovider
;---------------------------------------
+ interface SdkSandboxActivityHandler
+ onActivityCreated(android.app.Activity activity)
+ class SdkSandboxController
+ registerSdkSandboxActivityHandler(android.app.sdksandbox.sdkprovider.SdkSandboxActivityHandler sdkSandboxActivityHandler)
+ unregisterSdkSandboxActivityHandler(android.app.sdksandbox.sdkprovider.SdkSandboxActivityHandler sdkSandboxActivityHandler)
package android.app.slice
;---------------------------------------
@@ -3089,8 +3122,8 @@ package android.app.slice
onSlicePinned(android.net.Uri sliceUri)
onSliceUnpinned(android.net.Uri sliceUri)
query(android.net.Uri uri, java.lang.String[] projection, android.os.Bundle queryArgs, android.os.CancellationSignal cancellationSignal)
- query(android.net.Uri uri, java.lang.String[] projection, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String sortOrder)
query(android.net.Uri uri, java.lang.String[] projection, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String sortOrder, android.os.CancellationSignal cancellationSignal)
+ query(android.net.Uri uri, java.lang.String[] projection, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String sortOrder)
#ctor(java.lang.String... autoGrantPermissions)
update(android.net.Uri uri, android.content.ContentValues values, java.lang.String selection, java.lang.String[] selectionArgs)
class SliceSpec
@@ -3120,8 +3153,8 @@ package android.app.usage
querySummary(int networkType, java.lang.String subscriberId, long startTime, long endTime)
querySummaryForDevice(int networkType, java.lang.String subscriberId, long startTime, long endTime)
querySummaryForUser(int networkType, java.lang.String subscriberId, long startTime, long endTime)
- registerUsageCallback(int networkType, java.lang.String subscriberId, long thresholdBytes, android.app.usage.NetworkStatsManager.UsageCallback callback)
registerUsageCallback(int networkType, java.lang.String subscriberId, long thresholdBytes, android.app.usage.NetworkStatsManager.UsageCallback callback, android.os.Handler handler)
+ registerUsageCallback(int networkType, java.lang.String subscriberId, long thresholdBytes, android.app.usage.NetworkStatsManager.UsageCallback callback)
unregisterUsageCallback(android.app.usage.NetworkStatsManager.UsageCallback callback)
class NetworkStatsManager.UsageCallback
onThresholdReached(int networkType, java.lang.String subscriberId)
@@ -3161,8 +3194,9 @@ package android.appwidget
onProviderChanged(int appWidgetId, android.appwidget.AppWidgetProviderInfo appWidget)
startAppWidgetConfigureActivityForResult(android.app.Activity activity, int appWidgetId, int intentFlags, int requestCode, android.os.Bundle options)
class AppWidgetHostView
- #ctor(android.content.Context context)
#ctor(android.content.Context context, int animationIn, int animationOut)
+ #ctor(android.content.Context context)
+ dispatchDraw(android.graphics.Canvas canvas)
dispatchRestoreInstanceState(android.util.SparseArray container)
dispatchSaveInstanceState(android.util.SparseArray container)
generateLayoutParams(android.util.AttributeSet attrs)
@@ -3178,8 +3212,8 @@ package android.appwidget
updateAppWidgetSize(android.os.Bundle newOptions, int minWidth, int minHeight, int maxWidth, int maxHeight)
updateAppWidgetSize(android.os.Bundle newOptions, java.util.List sizes)
class AppWidgetManager
- bindAppWidgetIdIfAllowed(int appWidgetId, android.content.ComponentName provider)
bindAppWidgetIdIfAllowed(int appWidgetId, android.content.ComponentName provider, android.os.Bundle options)
+ bindAppWidgetIdIfAllowed(int appWidgetId, android.content.ComponentName provider)
bindAppWidgetIdIfAllowed(int appWidgetId, android.os.UserHandle user, android.content.ComponentName provider, android.os.Bundle options)
getAppWidgetIds(android.content.ComponentName provider)
getAppWidgetInfo(int appWidgetId)
@@ -3216,14 +3250,12 @@ package android.appwidget
package android.bluetooth
;---------------------------------------
class BluetoothA2dp
- getCodecStatus(android.bluetooth.BluetoothDevice device)
getConnectionState(android.bluetooth.BluetoothDevice device)
getDevicesMatchingConnectionStates(int[] states)
isA2dpPlaying(android.bluetooth.BluetoothDevice device)
- setCodecConfigPreference(android.bluetooth.BluetoothDevice device, android.bluetooth.BluetoothCodecConfig codecConfig)
class BluetoothAdapter
checkBluetoothAddress(java.lang.String address)
- closeProfileProxy(int profile, android.bluetooth.BluetoothProfile proxy)
+ closeProfileProxy(int unusedProfile, android.bluetooth.BluetoothProfile proxy)
getProfileConnectionState(int profile)
getProfileProxy(android.content.Context context, android.bluetooth.BluetoothProfile.ServiceListener listener, int profile)
getRemoteDevice(byte[] address)
@@ -3267,10 +3299,10 @@ package android.bluetooth
getConnectionState(android.bluetooth.BluetoothDevice device)
getDevicesMatchingConnectionStates(int[] states)
class BluetoothDevice
- connectGatt(android.content.Context context, boolean autoConnect, android.bluetooth.BluetoothGattCallback callback)
- connectGatt(android.content.Context context, boolean autoConnect, android.bluetooth.BluetoothGattCallback callback, int transport)
- connectGatt(android.content.Context context, boolean autoConnect, android.bluetooth.BluetoothGattCallback callback, int transport, int phy)
connectGatt(android.content.Context context, boolean autoConnect, android.bluetooth.BluetoothGattCallback callback, int transport, int phy, android.os.Handler handler)
+ connectGatt(android.content.Context context, boolean autoConnect, android.bluetooth.BluetoothGattCallback callback, int transport, int phy)
+ connectGatt(android.content.Context context, boolean autoConnect, android.bluetooth.BluetoothGattCallback callback, int transport)
+ connectGatt(android.content.Context context, boolean autoConnect, android.bluetooth.BluetoothGattCallback callback)
createInsecureL2capChannel(int psm)
createInsecureRfcommSocketToServiceRecord(java.util.UUID uuid)
createL2capChannel(int psm)
@@ -3291,19 +3323,19 @@ package android.bluetooth
requestMtu(int mtu)
setCharacteristicNotification(android.bluetooth.BluetoothGattCharacteristic characteristic, boolean enable)
setPreferredPhy(int txPhy, int rxPhy, int phyOptions)
- writeCharacteristic(android.bluetooth.BluetoothGattCharacteristic characteristic)
writeCharacteristic(android.bluetooth.BluetoothGattCharacteristic characteristic, byte[] value, int writeType)
- writeDescriptor(android.bluetooth.BluetoothGattDescriptor descriptor)
+ writeCharacteristic(android.bluetooth.BluetoothGattCharacteristic characteristic)
writeDescriptor(android.bluetooth.BluetoothGattDescriptor descriptor, byte[] value)
+ writeDescriptor(android.bluetooth.BluetoothGattDescriptor descriptor)
class BluetoothGattCallback
- onCharacteristicChanged(android.bluetooth.BluetoothGatt gatt, android.bluetooth.BluetoothGattCharacteristic characteristic)
onCharacteristicChanged(android.bluetooth.BluetoothGatt gatt, android.bluetooth.BluetoothGattCharacteristic characteristic, byte[] value)
+ onCharacteristicChanged(android.bluetooth.BluetoothGatt gatt, android.bluetooth.BluetoothGattCharacteristic characteristic)
onCharacteristicRead(android.bluetooth.BluetoothGatt gatt, android.bluetooth.BluetoothGattCharacteristic characteristic, byte[] value, int status)
onCharacteristicRead(android.bluetooth.BluetoothGatt gatt, android.bluetooth.BluetoothGattCharacteristic characteristic, int status)
onCharacteristicWrite(android.bluetooth.BluetoothGatt gatt, android.bluetooth.BluetoothGattCharacteristic characteristic, int status)
onConnectionStateChange(android.bluetooth.BluetoothGatt gatt, int status, int newState)
- onDescriptorRead(android.bluetooth.BluetoothGatt gatt, android.bluetooth.BluetoothGattDescriptor descriptor, int status)
onDescriptorRead(android.bluetooth.BluetoothGatt gatt, android.bluetooth.BluetoothGattDescriptor descriptor, int status, byte[] value)
+ onDescriptorRead(android.bluetooth.BluetoothGatt gatt, android.bluetooth.BluetoothGattDescriptor descriptor, int status)
onDescriptorWrite(android.bluetooth.BluetoothGatt gatt, android.bluetooth.BluetoothGattDescriptor descriptor, int status)
onMtuChanged(android.bluetooth.BluetoothGatt gatt, int mtu, int status)
onPhyRead(android.bluetooth.BluetoothGatt gatt, int txPhy, int rxPhy, int status)
@@ -3320,8 +3352,8 @@ package android.bluetooth
getIntValue(int formatType, int offset)
getStringValue(int offset)
setValue(byte[] value)
- setValue(int value, int formatType, int offset)
setValue(int mantissa, int exponent, int formatType, int offset)
+ setValue(int value, int formatType, int offset)
setValue(java.lang.String value)
setWriteType(int writeType)
writeToParcel(android.os.Parcel out, int flags)
@@ -3336,8 +3368,8 @@ package android.bluetooth
getConnectionState(android.bluetooth.BluetoothDevice device)
getDevicesMatchingConnectionStates(int[] states)
getService(java.util.UUID uuid)
- notifyCharacteristicChanged(android.bluetooth.BluetoothDevice device, android.bluetooth.BluetoothGattCharacteristic characteristic, boolean confirm)
notifyCharacteristicChanged(android.bluetooth.BluetoothDevice device, android.bluetooth.BluetoothGattCharacteristic characteristic, boolean confirm, byte[] value)
+ notifyCharacteristicChanged(android.bluetooth.BluetoothDevice device, android.bluetooth.BluetoothGattCharacteristic characteristic, boolean confirm)
readPhy(android.bluetooth.BluetoothDevice device)
removeService(android.bluetooth.BluetoothGattService service)
sendResponse(android.bluetooth.BluetoothDevice device, int requestId, int status, int offset, byte[] value)
@@ -3446,6 +3478,9 @@ package android.bluetooth
onServiceDisconnected(int profile)
class BluetoothServerSocket
accept(int timeout)
+ class BluetoothSocketException
+ #ctor(int code, java.lang.String msg)
+ #ctor(int code)
package android.bluetooth.le
;---------------------------------------
@@ -3468,6 +3503,7 @@ package android.bluetooth.le
class AdvertiseSettings.Builder
setAdvertiseMode(int advertiseMode)
setConnectable(boolean connectable)
+ setDiscoverable(boolean discoverable)
setTimeout(int timeoutMillis)
setTxPowerLevel(int txPowerLevel)
class AdvertisingSet
@@ -3493,6 +3529,7 @@ package android.bluetooth.le
class AdvertisingSetParameters.Builder
setAnonymous(boolean isAnonymous)
setConnectable(boolean connectable)
+ setDiscoverable(boolean discoverable)
setIncludeTxPower(boolean includeTxPower)
setInterval(int interval)
setLegacyMode(boolean isLegacy)
@@ -3503,10 +3540,10 @@ package android.bluetooth.le
class BluetoothLeAdvertiser
startAdvertising(android.bluetooth.le.AdvertiseSettings settings, android.bluetooth.le.AdvertiseData advertiseData, android.bluetooth.le.AdvertiseCallback callback)
startAdvertising(android.bluetooth.le.AdvertiseSettings settings, android.bluetooth.le.AdvertiseData advertiseData, android.bluetooth.le.AdvertiseData scanResponse, android.bluetooth.le.AdvertiseCallback callback)
- startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters parameters, android.bluetooth.le.AdvertiseData advertiseData, android.bluetooth.le.AdvertiseData scanResponse, android.bluetooth.le.PeriodicAdvertisingParameters periodicParameters, android.bluetooth.le.AdvertiseData periodicData, android.bluetooth.le.AdvertisingSetCallback callback)
startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters parameters, android.bluetooth.le.AdvertiseData advertiseData, android.bluetooth.le.AdvertiseData scanResponse, android.bluetooth.le.PeriodicAdvertisingParameters periodicParameters, android.bluetooth.le.AdvertiseData periodicData, android.bluetooth.le.AdvertisingSetCallback callback, android.os.Handler handler)
- startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters parameters, android.bluetooth.le.AdvertiseData advertiseData, android.bluetooth.le.AdvertiseData scanResponse, android.bluetooth.le.PeriodicAdvertisingParameters periodicParameters, android.bluetooth.le.AdvertiseData periodicData, int duration, int maxExtendedAdvertisingEvents, android.bluetooth.le.AdvertisingSetCallback callback)
+ startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters parameters, android.bluetooth.le.AdvertiseData advertiseData, android.bluetooth.le.AdvertiseData scanResponse, android.bluetooth.le.PeriodicAdvertisingParameters periodicParameters, android.bluetooth.le.AdvertiseData periodicData, android.bluetooth.le.AdvertisingSetCallback callback)
startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters parameters, android.bluetooth.le.AdvertiseData advertiseData, android.bluetooth.le.AdvertiseData scanResponse, android.bluetooth.le.PeriodicAdvertisingParameters periodicParameters, android.bluetooth.le.AdvertiseData periodicData, int duration, int maxExtendedAdvertisingEvents, android.bluetooth.le.AdvertisingSetCallback callback, android.os.Handler handler)
+ startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters parameters, android.bluetooth.le.AdvertiseData advertiseData, android.bluetooth.le.AdvertiseData scanResponse, android.bluetooth.le.PeriodicAdvertisingParameters periodicParameters, android.bluetooth.le.AdvertiseData periodicData, int duration, int maxExtendedAdvertisingEvents, android.bluetooth.le.AdvertisingSetCallback callback)
stopAdvertising(android.bluetooth.le.AdvertiseCallback callback)
stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback callback)
class BluetoothLeScanner
@@ -3534,14 +3571,14 @@ package android.bluetooth.le
setAdvertisingDataTypeWithData(int advertisingDataType, byte[] advertisingData, byte[] advertisingDataMask)
setDeviceAddress(java.lang.String deviceAddress)
setDeviceName(java.lang.String deviceName)
- setManufacturerData(int manufacturerId, byte[] manufacturerData)
setManufacturerData(int manufacturerId, byte[] manufacturerData, byte[] manufacturerDataMask)
- setServiceData(android.os.ParcelUuid serviceDataUuid, byte[] serviceData)
+ setManufacturerData(int manufacturerId, byte[] manufacturerData)
setServiceData(android.os.ParcelUuid serviceDataUuid, byte[] serviceData, byte[] serviceDataMask)
- setServiceSolicitationUuid(android.os.ParcelUuid serviceSolicitationUuid)
+ setServiceData(android.os.ParcelUuid serviceDataUuid, byte[] serviceData)
setServiceSolicitationUuid(android.os.ParcelUuid serviceSolicitationUuid, android.os.ParcelUuid solicitationUuidMask)
- setServiceUuid(android.os.ParcelUuid serviceUuid)
+ setServiceSolicitationUuid(android.os.ParcelUuid serviceSolicitationUuid)
setServiceUuid(android.os.ParcelUuid serviceUuid, android.os.ParcelUuid uuidMask)
+ setServiceUuid(android.os.ParcelUuid serviceUuid)
class ScanRecord
getManufacturerSpecificData(int manufacturerId)
getServiceData(android.os.ParcelUuid serviceDataUuid)
@@ -3605,25 +3642,28 @@ package android.companion
setRenameFromName(java.lang.String prefix, java.lang.String suffix, int nameFrom, int nameLength)
setScanFilter(android.bluetooth.le.ScanFilter scanFilter)
class CompanionDeviceManager
- addOnAssociationsChangedListener(java.util.concurrent.Executor executor, android.companion.CompanionDeviceManager.OnAssociationsChangedListener listener)
associate(android.companion.AssociationRequest request, android.companion.CompanionDeviceManager.Callback callback, android.os.Handler handler)
associate(android.companion.AssociationRequest request, java.util.concurrent.Executor executor, android.companion.CompanionDeviceManager.Callback callback)
+ attachSystemDataTransport(int associationId, java.io.InputStream in, java.io.OutputStream out)
buildPermissionTransferUserConsentIntent(int associationId)
+ detachSystemDataTransport(int associationId)
+ disableSystemDataSyncForTypes(int associationId, int flags)
disassociate(int associationId)
disassociate(java.lang.String deviceMacAddress)
+ enableSystemDataSyncForTypes(int associationId, int flags)
hasNotificationAccess(android.content.ComponentName component)
- removeOnAssociationsChangedListener(android.companion.CompanionDeviceManager.OnAssociationsChangedListener listener)
requestNotificationAccess(android.content.ComponentName component)
startObservingDevicePresence(java.lang.String deviceAddress)
+ startSystemDataTransfer(int associationId, java.util.concurrent.Executor executor, android.os.OutcomeReceiver result)
stopObservingDevicePresence(java.lang.String deviceAddress)
class CompanionDeviceManager.Callback
onAssociationCreated(android.companion.AssociationInfo associationInfo)
onAssociationPending(android.content.IntentSender intentSender)
onDeviceFound(android.content.IntentSender intentSender)
onFailure(java.lang.CharSequence error)
- interface CompanionDeviceManager.OnAssociationsChangedListener
- onAssociationsChanged(java.util.List associations)
class CompanionDeviceService
+ attachSystemDataTransport(int associationId, java.io.InputStream in, java.io.OutputStream out)
+ detachSystemDataTransport(int associationId)
onBind(android.content.Intent intent)
onDeviceAppeared(android.companion.AssociationInfo associationInfo)
onDeviceAppeared(java.lang.String address)
@@ -3646,8 +3686,8 @@ package android.companion.virtual
package android.content
;---------------------------------------
class AbstractThreadedSyncAdapter
- #ctor(android.content.Context context, boolean autoInitialize)
#ctor(android.content.Context context, boolean autoInitialize, boolean allowParallelSyncs)
+ #ctor(android.content.Context context, boolean autoInitialize)
onPerformSync(android.accounts.Account account, android.os.Bundle extras, java.lang.String authority, android.content.ContentProviderClient provider, android.content.SyncResult syncResult)
onSecurityException(android.accounts.Account account, android.os.Bundle extras, java.lang.String authority, android.content.SyncResult syncResult)
onSyncCanceled(java.lang.Thread thread)
@@ -3684,6 +3724,7 @@ package android.content
setAttributionTag(java.lang.String value)
setNext(android.content.AttributionSource value)
setPackageName(java.lang.String value)
+ setPid(int value)
class BroadcastReceiver
getResultExtras(boolean makeMap)
onReceive(android.content.Context context, android.content.Intent intent)
@@ -3721,10 +3762,10 @@ package android.content
class ClipData.Item
#ctor(android.content.Intent intent)
#ctor(android.net.Uri uri)
- #ctor(java.lang.CharSequence text)
#ctor(java.lang.CharSequence text, android.content.Intent intent, android.net.Uri uri)
- #ctor(java.lang.CharSequence text, java.lang.String htmlText)
#ctor(java.lang.CharSequence text, java.lang.String htmlText, android.content.Intent intent, android.net.Uri uri)
+ #ctor(java.lang.CharSequence text, java.lang.String htmlText)
+ #ctor(java.lang.CharSequence text)
coerceToHtmlText(android.content.Context context)
coerceToStyledText(android.content.Context context)
coerceToText(android.content.Context context)
@@ -3768,21 +3809,22 @@ package android.content
dump(java.io.FileDescriptor fd, java.io.PrintWriter writer, java.lang.String[] args)
getStreamTypes(android.net.Uri uri, java.lang.String mimeTypeFilter)
getType(android.net.Uri uri)
- insert(android.net.Uri uri, android.content.ContentValues values)
+ getTypeAnonymous(android.net.Uri uri)
insert(android.net.Uri uri, android.content.ContentValues values, android.os.Bundle extras)
+ insert(android.net.Uri uri, android.content.ContentValues values)
onConfigurationChanged(android.content.res.Configuration newConfig)
onTrimMemory(int level)
- openAssetFile(android.net.Uri uri, java.lang.String mode)
openAssetFile(android.net.Uri uri, java.lang.String mode, android.os.CancellationSignal signal)
- openFile(android.net.Uri uri, java.lang.String mode)
+ openAssetFile(android.net.Uri uri, java.lang.String mode)
openFile(android.net.Uri uri, java.lang.String mode, android.os.CancellationSignal signal)
+ openFile(android.net.Uri uri, java.lang.String mode)
openFileHelper(android.net.Uri uri, java.lang.String mode)
openPipeHelper(android.net.Uri uri, java.lang.String mimeType, android.os.Bundle opts, T args, android.content.ContentProvider.PipeDataWriter func)
- openTypedAssetFile(android.net.Uri uri, java.lang.String mimeTypeFilter, android.os.Bundle opts)
openTypedAssetFile(android.net.Uri uri, java.lang.String mimeTypeFilter, android.os.Bundle opts, android.os.CancellationSignal signal)
+ openTypedAssetFile(android.net.Uri uri, java.lang.String mimeTypeFilter, android.os.Bundle opts)
query(android.net.Uri uri, java.lang.String[] projection, android.os.Bundle queryArgs, android.os.CancellationSignal cancellationSignal)
- query(android.net.Uri uri, java.lang.String[] projection, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String sortOrder)
query(android.net.Uri uri, java.lang.String[] projection, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String sortOrder, android.os.CancellationSignal cancellationSignal)
+ query(android.net.Uri uri, java.lang.String[] projection, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String sortOrder)
refresh(android.net.Uri uri, android.os.Bundle extras, android.os.CancellationSignal cancellationSignal)
restoreCallingIdentity(android.content.ContentProvider.CallingIdentity identity)
setPathPermissions(android.content.pm.PathPermission[] permissions)
@@ -3804,18 +3846,18 @@ package android.content
delete(android.net.Uri url, java.lang.String selection, java.lang.String[] selectionArgs)
getStreamTypes(android.net.Uri url, java.lang.String mimeTypeFilter)
getType(android.net.Uri url)
- insert(android.net.Uri url, android.content.ContentValues initialValues)
insert(android.net.Uri url, android.content.ContentValues initialValues, android.os.Bundle extras)
- openAssetFile(android.net.Uri url, java.lang.String mode)
+ insert(android.net.Uri url, android.content.ContentValues initialValues)
openAssetFile(android.net.Uri url, java.lang.String mode, android.os.CancellationSignal signal)
- openFile(android.net.Uri url, java.lang.String mode)
+ openAssetFile(android.net.Uri url, java.lang.String mode)
openFile(android.net.Uri url, java.lang.String mode, android.os.CancellationSignal signal)
+ openFile(android.net.Uri url, java.lang.String mode)
openTypedAssetFile(android.net.Uri uri, java.lang.String mimeTypeFilter, android.os.Bundle opts, android.os.CancellationSignal signal)
- openTypedAssetFileDescriptor(android.net.Uri uri, java.lang.String mimeType, android.os.Bundle opts)
openTypedAssetFileDescriptor(android.net.Uri uri, java.lang.String mimeType, android.os.Bundle opts, android.os.CancellationSignal signal)
+ openTypedAssetFileDescriptor(android.net.Uri uri, java.lang.String mimeType, android.os.Bundle opts)
query(android.net.Uri uri, java.lang.String[] projection, android.os.Bundle queryArgs, android.os.CancellationSignal cancellationSignal)
- query(android.net.Uri url, java.lang.String[] projection, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String sortOrder)
query(android.net.Uri uri, java.lang.String[] projection, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String sortOrder, android.os.CancellationSignal cancellationSignal)
+ query(android.net.Uri url, java.lang.String[] projection, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String sortOrder)
refresh(android.net.Uri url, android.os.Bundle extras, android.os.CancellationSignal cancellationSignal)
uncanonicalize(android.net.Uri url)
update(android.net.Uri url, android.content.ContentValues values, android.os.Bundle extras)
@@ -3835,15 +3877,15 @@ package android.content
withExceptionAllowed(boolean exceptionAllowed)
withExpectedCount(int count)
withExtra(java.lang.String key, java.lang.Object value)
- withExtraBackReference(java.lang.String key, int fromIndex)
withExtraBackReference(java.lang.String key, int fromIndex, java.lang.String fromKey)
+ withExtraBackReference(java.lang.String key, int fromIndex)
withExtras(android.os.Bundle extras)
withSelection(java.lang.String selection, java.lang.String[] selectionArgs)
- withSelectionBackReference(int index, int fromIndex)
withSelectionBackReference(int index, int fromIndex, java.lang.String fromKey)
+ withSelectionBackReference(int index, int fromIndex)
withValue(java.lang.String key, java.lang.Object value)
- withValueBackReference(java.lang.String key, int fromIndex)
withValueBackReference(java.lang.String key, int fromIndex, java.lang.String fromKey)
+ withValueBackReference(java.lang.String key, int fromIndex)
withValueBackReferences(android.content.ContentValues backReferences)
withValues(android.content.ContentValues values)
withYieldAllowed(boolean yieldAllowed)
@@ -3882,30 +3924,30 @@ package android.content
getSyncAutomatically(android.accounts.Account account, java.lang.String authority)
getType(android.net.Uri url)
getTypeInfo(java.lang.String mimeType)
- insert(android.net.Uri url, android.content.ContentValues values)
insert(android.net.Uri url, android.content.ContentValues values, android.os.Bundle extras)
+ insert(android.net.Uri url, android.content.ContentValues values)
isSyncActive(android.accounts.Account account, java.lang.String authority)
isSyncPending(android.accounts.Account account, java.lang.String authority)
loadThumbnail(android.net.Uri uri, android.util.Size size, android.os.CancellationSignal signal)
- notifyChange(android.net.Uri uri, android.database.ContentObserver observer)
notifyChange(android.net.Uri uri, android.database.ContentObserver observer, boolean syncToNetwork)
notifyChange(android.net.Uri uri, android.database.ContentObserver observer, int flags)
+ notifyChange(android.net.Uri uri, android.database.ContentObserver observer)
notifyChange(java.util.Collection uris, android.database.ContentObserver observer, int flags)
openAssetFile(android.net.Uri uri, java.lang.String mode, android.os.CancellationSignal signal)
- openAssetFileDescriptor(android.net.Uri uri, java.lang.String mode)
openAssetFileDescriptor(android.net.Uri uri, java.lang.String mode, android.os.CancellationSignal cancellationSignal)
+ openAssetFileDescriptor(android.net.Uri uri, java.lang.String mode)
openFile(android.net.Uri uri, java.lang.String mode, android.os.CancellationSignal signal)
- openFileDescriptor(android.net.Uri uri, java.lang.String mode)
openFileDescriptor(android.net.Uri uri, java.lang.String mode, android.os.CancellationSignal cancellationSignal)
+ openFileDescriptor(android.net.Uri uri, java.lang.String mode)
openInputStream(android.net.Uri uri)
- openOutputStream(android.net.Uri uri)
openOutputStream(android.net.Uri uri, java.lang.String mode)
+ openOutputStream(android.net.Uri uri)
openTypedAssetFile(android.net.Uri uri, java.lang.String mimeTypeFilter, android.os.Bundle opts, android.os.CancellationSignal signal)
- openTypedAssetFileDescriptor(android.net.Uri uri, java.lang.String mimeType, android.os.Bundle opts)
openTypedAssetFileDescriptor(android.net.Uri uri, java.lang.String mimeType, android.os.Bundle opts, android.os.CancellationSignal cancellationSignal)
+ openTypedAssetFileDescriptor(android.net.Uri uri, java.lang.String mimeType, android.os.Bundle opts)
query(android.net.Uri uri, java.lang.String[] projection, android.os.Bundle queryArgs, android.os.CancellationSignal cancellationSignal)
- query(android.net.Uri uri, java.lang.String[] projection, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String sortOrder)
query(android.net.Uri uri, java.lang.String[] projection, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String sortOrder, android.os.CancellationSignal cancellationSignal)
+ query(android.net.Uri uri, java.lang.String[] projection, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String sortOrder)
refresh(android.net.Uri url, android.os.Bundle extras, android.os.CancellationSignal cancellationSignal)
registerContentObserver(android.net.Uri uri, boolean notifyForDescendants, android.database.ContentObserver observer)
releasePersistableUriPermission(android.net.Uri uri, int modeFlags)
@@ -3959,9 +4001,13 @@ package android.content
remove(java.lang.String key)
writeToParcel(android.os.Parcel parcel, int flags)
class Context
+ bindIsolatedService(android.content.Intent service, android.content.Context.BindServiceFlags flags, java.lang.String instanceName, java.util.concurrent.Executor executor, android.content.ServiceConnection conn)
bindIsolatedService(android.content.Intent service, int flags, java.lang.String instanceName, java.util.concurrent.Executor executor, android.content.ServiceConnection conn)
+ bindService(android.content.Intent service, android.content.Context.BindServiceFlags flags, java.util.concurrent.Executor executor, android.content.ServiceConnection conn)
+ bindService(android.content.Intent service, android.content.ServiceConnection conn, android.content.Context.BindServiceFlags flags)
bindService(android.content.Intent service, android.content.ServiceConnection conn, int flags)
bindService(android.content.Intent service, int flags, java.util.concurrent.Executor executor, android.content.ServiceConnection conn)
+ bindServiceAsUser(android.content.Intent service, android.content.ServiceConnection conn, android.content.Context.BindServiceFlags flags, android.os.UserHandle user)
bindServiceAsUser(android.content.Intent service, android.content.ServiceConnection conn, int flags, android.os.UserHandle user)
checkCallingOrSelfPermission(java.lang.String permission)
checkCallingOrSelfUriPermission(android.net.Uri uri, int modeFlags)
@@ -4002,8 +4048,8 @@ package android.content
getExternalFilesDirs(java.lang.String type)
getFileStreamPath(java.lang.String name)
getSharedPreferences(java.lang.String name, int mode)
- getString(int resId)
getString(int resId, java.lang.Object... formatArgs)
+ getString(int resId)
getSystemService(java.lang.Class serviceClass)
getSystemService(java.lang.String name)
getSystemServiceName(java.lang.Class> serviceClass)
@@ -4011,51 +4057,54 @@ package android.content
grantUriPermission(java.lang.String toPackage, android.net.Uri uri, int modeFlags)
moveDatabaseFrom(android.content.Context sourceContext, java.lang.String name)
moveSharedPreferencesFrom(android.content.Context sourceContext, java.lang.String name)
- obtainStyledAttributes(android.util.AttributeSet set, int[] attrs)
obtainStyledAttributes(android.util.AttributeSet set, int[] attrs, int defStyleAttr, int defStyleRes)
+ obtainStyledAttributes(android.util.AttributeSet set, int[] attrs)
obtainStyledAttributes(int resid, int[] attrs)
obtainStyledAttributes(int[] attrs)
openFileInput(java.lang.String name)
openFileOutput(java.lang.String name, int mode)
- openOrCreateDatabase(java.lang.String name, int mode, android.database.sqlite.SQLiteDatabase.CursorFactory factory)
openOrCreateDatabase(java.lang.String name, int mode, android.database.sqlite.SQLiteDatabase.CursorFactory factory, android.database.DatabaseErrorHandler errorHandler)
+ openOrCreateDatabase(java.lang.String name, int mode, android.database.sqlite.SQLiteDatabase.CursorFactory factory)
registerComponentCallbacks(android.content.ComponentCallbacks callback)
registerDeviceIdChangeListener(java.util.concurrent.Executor executor, java.util.function.IntConsumer listener)
- registerReceiver(android.content.BroadcastReceiver receiver, android.content.IntentFilter filter)
registerReceiver(android.content.BroadcastReceiver receiver, android.content.IntentFilter filter, int flags)
- registerReceiver(android.content.BroadcastReceiver receiver, android.content.IntentFilter filter, java.lang.String broadcastPermission, android.os.Handler scheduler)
registerReceiver(android.content.BroadcastReceiver receiver, android.content.IntentFilter filter, java.lang.String broadcastPermission, android.os.Handler scheduler, int flags)
+ registerReceiver(android.content.BroadcastReceiver receiver, android.content.IntentFilter filter, java.lang.String broadcastPermission, android.os.Handler scheduler)
+ registerReceiver(android.content.BroadcastReceiver receiver, android.content.IntentFilter filter)
removeStickyBroadcast(android.content.Intent intent)
removeStickyBroadcastAsUser(android.content.Intent intent, android.os.UserHandle user)
revokeSelfPermissionOnKill(java.lang.String permName)
revokeSelfPermissionsOnKill(java.util.Collection permissions)
revokeUriPermission(android.net.Uri uri, int modeFlags)
revokeUriPermission(java.lang.String toPackage, android.net.Uri uri, int modeFlags)
- sendBroadcast(android.content.Intent intent)
+ sendBroadcast(android.content.Intent intent, java.lang.String receiverPermission, android.os.Bundle options)
sendBroadcast(android.content.Intent intent, java.lang.String receiverPermission)
- sendBroadcastAsUser(android.content.Intent intent, android.os.UserHandle user)
+ sendBroadcast(android.content.Intent intent)
sendBroadcastAsUser(android.content.Intent intent, android.os.UserHandle user, java.lang.String receiverPermission)
+ sendBroadcastAsUser(android.content.Intent intent, android.os.UserHandle user)
sendBroadcastWithMultiplePermissions(android.content.Intent intent, java.lang.String[] receiverPermissions)
- sendOrderedBroadcast(android.content.Intent intent, java.lang.String receiverPermission)
sendOrderedBroadcast(android.content.Intent intent, java.lang.String receiverPermission, android.content.BroadcastReceiver resultReceiver, android.os.Handler scheduler, int initialCode, java.lang.String initialData, android.os.Bundle initialExtras)
+ sendOrderedBroadcast(android.content.Intent intent, java.lang.String receiverPermission, android.os.Bundle options, android.content.BroadcastReceiver resultReceiver, android.os.Handler scheduler, int initialCode, java.lang.String initialData, android.os.Bundle initialExtras)
+ sendOrderedBroadcast(android.content.Intent intent, java.lang.String receiverPermission, android.os.Bundle options)
sendOrderedBroadcast(android.content.Intent intent, java.lang.String receiverPermission, java.lang.String receiverAppOp, android.content.BroadcastReceiver resultReceiver, android.os.Handler scheduler, int initialCode, java.lang.String initialData, android.os.Bundle initialExtras)
+ sendOrderedBroadcast(android.content.Intent intent, java.lang.String receiverPermission)
sendOrderedBroadcastAsUser(android.content.Intent intent, android.os.UserHandle user, java.lang.String receiverPermission, android.content.BroadcastReceiver resultReceiver, android.os.Handler scheduler, int initialCode, java.lang.String initialData, android.os.Bundle initialExtras)
- sendStickyBroadcast(android.content.Intent intent)
sendStickyBroadcast(android.content.Intent intent, android.os.Bundle options)
+ sendStickyBroadcast(android.content.Intent intent)
sendStickyBroadcastAsUser(android.content.Intent intent, android.os.UserHandle user)
sendStickyOrderedBroadcast(android.content.Intent intent, android.content.BroadcastReceiver resultReceiver, android.os.Handler scheduler, int initialCode, java.lang.String initialData, android.os.Bundle initialExtras)
sendStickyOrderedBroadcastAsUser(android.content.Intent intent, android.os.UserHandle user, android.content.BroadcastReceiver resultReceiver, android.os.Handler scheduler, int initialCode, java.lang.String initialData, android.os.Bundle initialExtras)
setTheme(int resid)
setWallpaper(android.graphics.Bitmap bitmap)
setWallpaper(java.io.InputStream data)
- startActivities(android.content.Intent[] intents)
startActivities(android.content.Intent[] intents, android.os.Bundle options)
- startActivity(android.content.Intent intent)
+ startActivities(android.content.Intent[] intents)
startActivity(android.content.Intent intent, android.os.Bundle options)
+ startActivity(android.content.Intent intent)
startForegroundService(android.content.Intent service)
startInstrumentation(android.content.ComponentName className, java.lang.String profileFile, android.os.Bundle arguments)
- startIntentSender(android.content.IntentSender intent, android.content.Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
startIntentSender(android.content.IntentSender intent, android.content.Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, android.os.Bundle options)
+ startIntentSender(android.content.IntentSender intent, android.content.Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
startService(android.content.Intent service)
stopService(android.content.Intent service)
unbindService(android.content.ServiceConnection conn)
@@ -4063,6 +4112,8 @@ package android.content
unregisterDeviceIdChangeListener(java.util.function.IntConsumer listener)
unregisterReceiver(android.content.BroadcastReceiver receiver)
updateServiceGroup(android.content.ServiceConnection conn, int group, int importance)
+ class Context.BindServiceFlags
+ of(long value)
class ContextParams.Builder
#ctor(android.content.ContextParams params)
setAttributionTag(java.lang.String attributionTag)
@@ -4070,8 +4121,11 @@ package android.content
class ContextWrapper
attachBaseContext(android.content.Context base)
bindIsolatedService(android.content.Intent service, int flags, java.lang.String instanceName, java.util.concurrent.Executor executor, android.content.ServiceConnection conn)
+ bindService(android.content.Intent service, android.content.Context.BindServiceFlags flags, java.util.concurrent.Executor executor, android.content.ServiceConnection conn)
+ bindService(android.content.Intent service, android.content.ServiceConnection conn, android.content.Context.BindServiceFlags flags)
bindService(android.content.Intent service, android.content.ServiceConnection conn, int flags)
bindService(android.content.Intent service, int flags, java.util.concurrent.Executor executor, android.content.ServiceConnection conn)
+ bindServiceAsUser(android.content.Intent service, android.content.ServiceConnection conn, android.content.Context.BindServiceFlags flags, android.os.UserHandle user)
bindServiceAsUser(android.content.Intent service, android.content.ServiceConnection conn, int flags, android.os.UserHandle user)
checkCallingOrSelfPermission(java.lang.String permission)
checkCallingOrSelfUriPermission(android.net.Uri uri, int modeFlags)
@@ -4117,44 +4171,47 @@ package android.content
moveSharedPreferencesFrom(android.content.Context sourceContext, java.lang.String name)
openFileInput(java.lang.String name)
openFileOutput(java.lang.String name, int mode)
- openOrCreateDatabase(java.lang.String name, int mode, android.database.sqlite.SQLiteDatabase.CursorFactory factory)
openOrCreateDatabase(java.lang.String name, int mode, android.database.sqlite.SQLiteDatabase.CursorFactory factory, android.database.DatabaseErrorHandler errorHandler)
+ openOrCreateDatabase(java.lang.String name, int mode, android.database.sqlite.SQLiteDatabase.CursorFactory factory)
registerComponentCallbacks(android.content.ComponentCallbacks callback)
registerDeviceIdChangeListener(java.util.concurrent.Executor executor, java.util.function.IntConsumer listener)
- registerReceiver(android.content.BroadcastReceiver receiver, android.content.IntentFilter filter)
registerReceiver(android.content.BroadcastReceiver receiver, android.content.IntentFilter filter, int flags)
- registerReceiver(android.content.BroadcastReceiver receiver, android.content.IntentFilter filter, java.lang.String broadcastPermission, android.os.Handler scheduler)
registerReceiver(android.content.BroadcastReceiver receiver, android.content.IntentFilter filter, java.lang.String broadcastPermission, android.os.Handler scheduler, int flags)
+ registerReceiver(android.content.BroadcastReceiver receiver, android.content.IntentFilter filter, java.lang.String broadcastPermission, android.os.Handler scheduler)
+ registerReceiver(android.content.BroadcastReceiver receiver, android.content.IntentFilter filter)
removeStickyBroadcast(android.content.Intent intent)
removeStickyBroadcastAsUser(android.content.Intent intent, android.os.UserHandle user)
revokeSelfPermissionsOnKill(java.util.Collection permissions)
revokeUriPermission(android.net.Uri uri, int modeFlags)
revokeUriPermission(java.lang.String targetPackage, android.net.Uri uri, int modeFlags)
- sendBroadcast(android.content.Intent intent)
+ sendBroadcast(android.content.Intent intent, java.lang.String receiverPermission, android.os.Bundle options)
sendBroadcast(android.content.Intent intent, java.lang.String receiverPermission)
- sendBroadcastAsUser(android.content.Intent intent, android.os.UserHandle user)
+ sendBroadcast(android.content.Intent intent)
sendBroadcastAsUser(android.content.Intent intent, android.os.UserHandle user, java.lang.String receiverPermission)
+ sendBroadcastAsUser(android.content.Intent intent, android.os.UserHandle user)
sendOrderedBroadcast(android.content.Intent intent, int initialCode, java.lang.String receiverPermission, java.lang.String receiverAppOp, android.content.BroadcastReceiver resultReceiver, android.os.Handler scheduler, java.lang.String initialData, android.os.Bundle initialExtras, android.os.Bundle options)
- sendOrderedBroadcast(android.content.Intent intent, java.lang.String receiverPermission)
sendOrderedBroadcast(android.content.Intent intent, java.lang.String receiverPermission, android.content.BroadcastReceiver resultReceiver, android.os.Handler scheduler, int initialCode, java.lang.String initialData, android.os.Bundle initialExtras)
+ sendOrderedBroadcast(android.content.Intent intent, java.lang.String receiverPermission, android.os.Bundle options, android.content.BroadcastReceiver resultReceiver, android.os.Handler scheduler, int initialCode, java.lang.String initialData, android.os.Bundle initialExtras)
+ sendOrderedBroadcast(android.content.Intent intent, java.lang.String receiverPermission, android.os.Bundle options)
sendOrderedBroadcast(android.content.Intent intent, java.lang.String receiverPermission, java.lang.String receiverAppOp, android.content.BroadcastReceiver resultReceiver, android.os.Handler scheduler, int initialCode, java.lang.String initialData, android.os.Bundle initialExtras)
+ sendOrderedBroadcast(android.content.Intent intent, java.lang.String receiverPermission)
sendOrderedBroadcastAsUser(android.content.Intent intent, android.os.UserHandle user, java.lang.String receiverPermission, android.content.BroadcastReceiver resultReceiver, android.os.Handler scheduler, int initialCode, java.lang.String initialData, android.os.Bundle initialExtras)
- sendStickyBroadcast(android.content.Intent intent)
sendStickyBroadcast(android.content.Intent intent, android.os.Bundle options)
+ sendStickyBroadcast(android.content.Intent intent)
sendStickyBroadcastAsUser(android.content.Intent intent, android.os.UserHandle user)
sendStickyOrderedBroadcast(android.content.Intent intent, android.content.BroadcastReceiver resultReceiver, android.os.Handler scheduler, int initialCode, java.lang.String initialData, android.os.Bundle initialExtras)
sendStickyOrderedBroadcastAsUser(android.content.Intent intent, android.os.UserHandle user, android.content.BroadcastReceiver resultReceiver, android.os.Handler scheduler, int initialCode, java.lang.String initialData, android.os.Bundle initialExtras)
setTheme(int resid)
setWallpaper(android.graphics.Bitmap bitmap)
setWallpaper(java.io.InputStream data)
- startActivities(android.content.Intent[] intents)
startActivities(android.content.Intent[] intents, android.os.Bundle options)
- startActivity(android.content.Intent intent)
+ startActivities(android.content.Intent[] intents)
startActivity(android.content.Intent intent, android.os.Bundle options)
+ startActivity(android.content.Intent intent)
startForegroundService(android.content.Intent service)
startInstrumentation(android.content.ComponentName className, java.lang.String profileFile, android.os.Bundle arguments)
- startIntentSender(android.content.IntentSender intent, android.content.Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
startIntentSender(android.content.IntentSender intent, android.content.Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, android.os.Bundle options)
+ startIntentSender(android.content.IntentSender intent, android.content.Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags)
startService(android.content.Intent service)
stopService(android.content.Intent name)
unbindService(android.content.ServiceConnection conn)
@@ -4163,8 +4220,8 @@ package android.content
unregisterReceiver(android.content.BroadcastReceiver receiver)
updateServiceGroup(android.content.ServiceConnection conn, int group, int importance)
class CursorLoader
- #ctor(android.content.Context context)
#ctor(android.content.Context context, android.net.Uri uri, java.lang.String[] projection, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String sortOrder)
+ #ctor(android.content.Context context)
deliverResult(android.database.Cursor cursor)
dump(java.lang.String prefix, java.io.FileDescriptor fd, java.io.PrintWriter writer, java.lang.String[] args)
onCanceled(android.database.Cursor cursor)
@@ -4193,8 +4250,8 @@ package android.content
class Intent
addCategory(java.lang.String category)
addFlags(int flags)
- createChooser(android.content.Intent target, java.lang.CharSequence title)
createChooser(android.content.Intent target, java.lang.CharSequence title, android.content.IntentSender sender)
+ createChooser(android.content.Intent target, java.lang.CharSequence title)
fillIn(android.content.Intent other, int flags)
filterEquals(android.content.Intent other)
getBooleanArrayExtra(java.lang.String name)
@@ -4218,14 +4275,14 @@ package android.content
getIntExtra(java.lang.String name, int defaultValue)
getLongArrayExtra(java.lang.String name)
getLongExtra(java.lang.String name, long defaultValue)
- getParcelableArrayExtra(java.lang.String name)
getParcelableArrayExtra(java.lang.String name, java.lang.Class clazz)
- getParcelableArrayListExtra(java.lang.String name)
+ getParcelableArrayExtra(java.lang.String name)
getParcelableArrayListExtra(java.lang.String name, java.lang.Class extends T> clazz)
- getParcelableExtra(java.lang.String name)
+ getParcelableArrayListExtra(java.lang.String name)
getParcelableExtra(java.lang.String name, java.lang.Class clazz)
- getSerializableExtra(java.lang.String name)
+ getParcelableExtra(java.lang.String name)
getSerializableExtra(java.lang.String name, java.lang.Class clazz)
+ getSerializableExtra(java.lang.String name)
getShortArrayExtra(java.lang.String name)
getShortExtra(java.lang.String name, short defaultValue)
getStringArrayExtra(java.lang.String name)
@@ -4235,9 +4292,9 @@ package android.content
hasExtra(java.lang.String name)
#ctor(android.content.Context packageContext, java.lang.Class> cls)
#ctor(android.content.Intent o)
- #ctor(java.lang.String action)
- #ctor(java.lang.String action, android.net.Uri uri)
#ctor(java.lang.String action, android.net.Uri uri, android.content.Context packageContext, java.lang.Class> cls)
+ #ctor(java.lang.String action, android.net.Uri uri)
+ #ctor(java.lang.String action)
makeMainActivity(android.content.ComponentName mainActivity)
makeMainSelectorActivity(java.lang.String selectorAction, java.lang.String selectorCategory)
makeRestartActivityTask(android.content.ComponentName mainActivity)
@@ -4337,8 +4394,8 @@ package android.content
hasDataSchemeSpecificPart(java.lang.String data)
hasDataType(java.lang.String type)
#ctor(android.content.IntentFilter o)
- #ctor(java.lang.String action)
#ctor(java.lang.String action, java.lang.String dataType)
+ #ctor(java.lang.String action)
match(android.content.ContentResolver resolver, android.content.Intent intent, boolean resolve, java.lang.String logTag)
match(java.lang.String action, java.lang.String type, java.lang.String scheme, android.net.Uri data, java.util.Set categories, java.lang.String logTag)
matchAction(java.lang.String action)
@@ -4358,8 +4415,8 @@ package android.content
class IntentSender
equals(java.lang.Object otherObj)
readIntentSenderOrNullFromParcel(android.os.Parcel in)
- sendIntent(android.content.Context context, int code, android.content.Intent intent, android.content.IntentSender.OnFinished onFinished, android.os.Handler handler)
sendIntent(android.content.Context context, int code, android.content.Intent intent, android.content.IntentSender.OnFinished onFinished, android.os.Handler handler, java.lang.String requiredPermission)
+ sendIntent(android.content.Context context, int code, android.content.Intent intent, android.content.IntentSender.OnFinished onFinished, android.os.Handler handler)
writeIntentSenderOrNullToParcel(android.content.IntentSender sender, android.os.Parcel out)
writeToParcel(android.os.Parcel out, int flags)
interface IntentSender.OnFinished
@@ -4391,9 +4448,9 @@ package android.content
setBaseContext(android.content.Context base)
class OperationApplicationException
#ctor(int numSuccessfulYieldPoints)
- #ctor(java.lang.String message)
#ctor(java.lang.String message, int numSuccessfulYieldPoints)
#ctor(java.lang.String message, java.lang.Throwable cause)
+ #ctor(java.lang.String message)
#ctor(java.lang.Throwable cause)
class PeriodicSync
equals(java.lang.Object o)
@@ -4514,9 +4571,9 @@ package android.content.om
equals(java.lang.Object obj)
writeToParcel(android.os.Parcel dest, int flags)
class OverlayManager
+ commit(android.content.om.OverlayManagerTransaction transaction)
getOverlayInfosForTarget(java.lang.String targetPackageName)
class OverlayManagerTransaction
- #ctor(android.content.om.OverlayManager overlayManager)
registerFabricatedOverlay(android.content.om.FabricatedOverlay overlay)
unregisterFabricatedOverlay(android.content.om.OverlayIdentifier overlay)
writeToParcel(android.os.Parcel dest, int flags)
@@ -4571,10 +4628,10 @@ package android.content.pm
class CrossProfileApps
getProfileSwitchingIconDrawable(android.os.UserHandle userHandle)
getProfileSwitchingLabel(android.os.UserHandle userHandle)
- startActivity(android.content.Intent intent, android.os.UserHandle targetUser, android.app.Activity callingActivity)
startActivity(android.content.Intent intent, android.os.UserHandle targetUser, android.app.Activity callingActivity, android.os.Bundle options)
- startMainActivity(android.content.ComponentName component, android.os.UserHandle targetUser)
+ startActivity(android.content.Intent intent, android.os.UserHandle targetUser, android.app.Activity callingActivity)
startMainActivity(android.content.ComponentName component, android.os.UserHandle targetUser, android.app.Activity callingActivity, android.os.Bundle options)
+ startMainActivity(android.content.ComponentName component, android.os.UserHandle targetUser)
class FeatureGroupInfo
#ctor(android.content.pm.FeatureGroupInfo other)
writeToParcel(android.os.Parcel dest, int flags)
@@ -4612,8 +4669,8 @@ package android.content.pm
isActivityEnabled(android.content.ComponentName component, android.os.UserHandle user)
isPackageEnabled(java.lang.String packageName, android.os.UserHandle user)
pinShortcuts(java.lang.String packageName, java.util.List shortcutIds, android.os.UserHandle user)
- registerCallback(android.content.pm.LauncherApps.Callback callback)
registerCallback(android.content.pm.LauncherApps.Callback callback, android.os.Handler handler)
+ registerCallback(android.content.pm.LauncherApps.Callback callback)
registerPackageInstallerSessionCallback(java.util.concurrent.Executor executor, android.content.pm.PackageInstaller.SessionCallback callback)
resolveActivity(android.content.Intent intent, android.os.UserHandle user)
shouldHideFromSuggestions(java.lang.String packageName, android.os.UserHandle user)
@@ -4630,8 +4687,8 @@ package android.content.pm
onPackageLoadingProgressChanged(java.lang.String packageName, android.os.UserHandle user, float progress)
onPackageRemoved(java.lang.String packageName, android.os.UserHandle user)
onPackagesAvailable(java.lang.String[] packageNames, android.os.UserHandle user, boolean replacing)
- onPackagesSuspended(java.lang.String[] packageNames, android.os.UserHandle user)
onPackagesSuspended(java.lang.String[] packageNames, android.os.UserHandle user, android.os.Bundle launcherExtras)
+ onPackagesSuspended(java.lang.String[] packageNames, android.os.UserHandle user)
onPackagesUnavailable(java.lang.String[] packageNames, android.os.UserHandle user, boolean replacing)
onPackagesUnsuspended(java.lang.String[] packageNames, android.os.UserHandle user)
onShortcutsChanged(java.lang.String packageName, java.util.List shortcuts, android.os.UserHandle user)
@@ -4660,8 +4717,8 @@ package android.content.pm
getSessionInfo(int sessionId)
installExistingPackage(java.lang.String packageName, int installReason, android.content.IntentSender statusReceiver)
openSession(int sessionId)
- registerSessionCallback(android.content.pm.PackageInstaller.SessionCallback callback)
registerSessionCallback(android.content.pm.PackageInstaller.SessionCallback callback, android.os.Handler handler)
+ registerSessionCallback(android.content.pm.PackageInstaller.SessionCallback callback)
uninstall(android.content.pm.VersionedPackage versionedPackage, android.content.IntentSender statusReceiver)
uninstall(android.content.pm.VersionedPackage versionedPackage, int flags, android.content.IntentSender statusReceiver)
uninstall(java.lang.String packageName, android.content.IntentSender statusReceiver)
@@ -4710,6 +4767,7 @@ package android.content.pm
setAppLabel(java.lang.CharSequence appLabel)
setAppPackageName(java.lang.String appPackageName)
setAutoRevokePermissionsMode(boolean shouldAutoRevoke)
+ setDontKillApp(boolean dontKillApp)
setInstallerPackageName(java.lang.String installerPackageName)
setInstallLocation(int installLocation)
setInstallReason(int installReason)
@@ -4717,6 +4775,7 @@ package android.content.pm
setOriginatingUid(int originatingUid)
setOriginatingUri(android.net.Uri originatingUri)
setPackageSource(int packageSource)
+ setPermissionState(java.lang.String permissionName, int state)
setReferrerUri(android.net.Uri referrerUri)
setRequestUpdateOwnership(boolean enable)
setRequireUserAction(int requireUserAction)
@@ -4792,9 +4851,9 @@ package android.content.pm
getNameForUid(int uid)
getPackageArchiveInfo(java.lang.String archiveFilePath, android.content.pm.PackageManager.PackageInfoFlags flags)
getPackageArchiveInfo(java.lang.String archiveFilePath, int flags)
- getPackageGids(java.lang.String packageName)
getPackageGids(java.lang.String packageName, android.content.pm.PackageManager.PackageInfoFlags flags)
getPackageGids(java.lang.String packageName, int flags)
+ getPackageGids(java.lang.String packageName)
getPackageInfo(android.content.pm.VersionedPackage versionedPackage, android.content.pm.PackageManager.PackageInfoFlags flags)
getPackageInfo(android.content.pm.VersionedPackage versionedPackage, int flags)
getPackageInfo(java.lang.String packageName, android.content.pm.PackageManager.PackageInfoFlags flags)
@@ -4816,8 +4875,8 @@ package android.content.pm
getReceiverInfo(android.content.ComponentName component, android.content.pm.PackageManager.ComponentInfoFlags flags)
getReceiverInfo(android.content.ComponentName component, int flags)
getResourcesForActivity(android.content.ComponentName activityName)
- getResourcesForApplication(android.content.pm.ApplicationInfo app)
getResourcesForApplication(android.content.pm.ApplicationInfo app, android.content.res.Configuration configuration)
+ getResourcesForApplication(android.content.pm.ApplicationInfo app)
getResourcesForApplication(java.lang.String packageName)
getServiceInfo(android.content.ComponentName component, android.content.pm.PackageManager.ComponentInfoFlags flags)
getServiceInfo(android.content.ComponentName component, int flags)
@@ -4833,8 +4892,8 @@ package android.content.pm
getXml(java.lang.String packageName, int resid, android.content.pm.ApplicationInfo appInfo)
hasSigningCertificate(int uid, byte[] certificate, int type)
hasSigningCertificate(java.lang.String packageName, byte[] certificate, int type)
- hasSystemFeature(java.lang.String featureName)
hasSystemFeature(java.lang.String featureName, int version)
+ hasSystemFeature(java.lang.String featureName)
isAutoRevokeWhitelisted(java.lang.String packageName)
isDefaultApplicationIcon(android.graphics.drawable.Drawable drawable)
isInstantApp(java.lang.String packageName)
@@ -4960,8 +5019,8 @@ package android.content.pm
class ShortcutManager
addDynamicShortcuts(java.util.List shortcutInfoList)
createShortcutResultIntent(android.content.pm.ShortcutInfo shortcut)
- disableShortcuts(java.util.List shortcutIds)
disableShortcuts(java.util.List shortcutIds, java.lang.CharSequence disabledMessage)
+ disableShortcuts(java.util.List shortcutIds)
enableShortcuts(java.util.List shortcutIds)
getShortcuts(int matchFlags)
pushDynamicShortcut(android.content.pm.ShortcutInfo shortcut)
@@ -4980,8 +5039,6 @@ package android.content.pm
class SigningInfo
#ctor(android.content.pm.SigningInfo orig)
writeToParcel(android.os.Parcel dest, int parcelableFlags)
- class UserProperties
- writeToParcel(android.os.Parcel dest, int parcelableFlags)
class VersionedPackage
equals(java.lang.Object o)
#ctor(java.lang.String packageName, int versionCode)
@@ -4999,24 +5056,24 @@ package android.content.pm.verify.domain
package android.content.res
;---------------------------------------
class AssetFileDescriptor
- #ctor(android.os.ParcelFileDescriptor fd, long startOffset, long length)
#ctor(android.os.ParcelFileDescriptor fd, long startOffset, long length, android.os.Bundle extras)
+ #ctor(android.os.ParcelFileDescriptor fd, long startOffset, long length)
writeToParcel(android.os.Parcel out, int flags)
class AssetFileDescriptor.AutoCloseInputStream
#ctor(android.content.res.AssetFileDescriptor fd)
mark(int readlimit)
- read(byte[] buffer)
read(byte[] buffer, int offset, int count)
+ read(byte[] buffer)
skip(long count)
class AssetFileDescriptor.AutoCloseOutputStream
#ctor(android.content.res.AssetFileDescriptor fd)
- write(byte[] buffer)
write(byte[] buffer, int offset, int count)
+ write(byte[] buffer)
write(int oneByte)
class AssetManager
list(java.lang.String path)
- open(java.lang.String fileName)
open(java.lang.String fileName, int accessMode)
+ open(java.lang.String fileName)
openFd(java.lang.String fileName)
openNonAssetFd(int cookie, java.lang.String fileName)
openNonAssetFd(java.lang.String fileName)
@@ -5024,13 +5081,13 @@ package android.content.res
openXmlResourceParser(java.lang.String fileName)
class AssetManager.AssetInputStream
mark(int readlimit)
- read(byte[] b)
read(byte[] b, int off, int len)
+ read(byte[] b)
skip(long n)
class ColorStateList
#ctor(int[][] states, int[] colors)
- createFromXml(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser parser)
createFromXml(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser parser, android.content.res.Resources.Theme theme)
+ createFromXml(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser parser)
getColorForState(int[] stateSet, int defaultColor)
valueOf(int color)
withAlpha(int alpha)
@@ -5061,17 +5118,17 @@ package android.content.res
getAnimation(int id)
getAttributeSetSourceResId(android.util.AttributeSet set)
getBoolean(int id)
- getColor(int id)
getColor(int id, android.content.res.Resources.Theme theme)
- getColorStateList(int id)
+ getColor(int id)
getColorStateList(int id, android.content.res.Resources.Theme theme)
+ getColorStateList(int id)
getDimension(int id)
getDimensionPixelOffset(int id)
getDimensionPixelSize(int id)
- getDrawable(int id)
getDrawable(int id, android.content.res.Resources.Theme theme)
- getDrawableForDensity(int id, int density)
+ getDrawable(int id)
getDrawableForDensity(int id, int density, android.content.res.Resources.Theme theme)
+ getDrawableForDensity(int id, int density)
getFloat(int id)
getFont(int id)
getFraction(int id, int base, int pbase)
@@ -5080,18 +5137,18 @@ package android.content.res
getInteger(int id)
getLayout(int id)
getMovie(int id)
- getQuantityString(int id, int quantity)
getQuantityString(int id, int quantity, java.lang.Object... formatArgs)
+ getQuantityString(int id, int quantity)
getQuantityText(int id, int quantity)
getResourceEntryName(int resid)
getResourceName(int resid)
getResourcePackageName(int resid)
getResourceTypeName(int resid)
- getString(int id)
getString(int id, java.lang.Object... formatArgs)
+ getString(int id)
getStringArray(int id)
- getText(int id)
getText(int id, java.lang.CharSequence def)
+ getText(int id)
getTextArray(int id)
getValue(int id, android.util.TypedValue outValue, boolean resolveRefs)
getValue(java.lang.String name, android.util.TypedValue outValue, boolean resolveRefs)
@@ -5099,8 +5156,8 @@ package android.content.res
getXml(int id)
obtainAttributes(android.util.AttributeSet set, int[] attrs)
obtainTypedArray(int id)
- openRawResource(int id)
openRawResource(int id, android.util.TypedValue value)
+ openRawResource(int id)
openRawResourceFd(int id)
parseBundleExtra(java.lang.String tagName, android.util.AttributeSet attrs, android.os.Bundle outBundle)
parseBundleExtras(android.content.res.XmlResourceParser parser, android.os.Bundle outBundle)
@@ -5108,8 +5165,8 @@ package android.content.res
#ctor(android.content.res.AssetManager assets, android.util.DisplayMetrics metrics, android.content.res.Configuration config)
updateConfiguration(android.content.res.Configuration config, android.util.DisplayMetrics metrics)
class Resources.NotFoundException
- #ctor(java.lang.String name)
#ctor(java.lang.String name, java.lang.Exception cause)
+ #ctor(java.lang.String name)
class Resources.Theme
applyStyle(int resId, boolean force)
dump(int priority, java.lang.String tag, java.lang.String prefix)
@@ -5162,8 +5219,8 @@ package android.content.res.loader
setProviders(java.util.List resourcesProviders)
class ResourcesProvider
empty(android.content.res.loader.AssetsProvider assetsProvider)
- loadFromApk(android.os.ParcelFileDescriptor fileDescriptor)
loadFromApk(android.os.ParcelFileDescriptor fileDescriptor, android.content.res.loader.AssetsProvider assetsProvider)
+ loadFromApk(android.os.ParcelFileDescriptor fileDescriptor)
loadFromDirectory(java.lang.String path, android.content.res.loader.AssetsProvider assetsProvider)
loadFromSplit(android.content.Context context, java.lang.String splitName)
loadFromTable(android.os.ParcelFileDescriptor fileDescriptor, android.content.res.loader.AssetsProvider assetsProvider)
@@ -5172,48 +5229,77 @@ package android.content.res.loader
package android.credentials
;---------------------------------------
class ClearCredentialStateException
- #ctor(java.lang.String type)
- #ctor(java.lang.String type, java.lang.String message)
#ctor(java.lang.String type, java.lang.String message, java.lang.Throwable cause)
+ #ctor(java.lang.String type, java.lang.String message)
#ctor(java.lang.String type, java.lang.Throwable cause)
+ #ctor(java.lang.String type)
class ClearCredentialStateRequest
#ctor(android.os.Bundle data)
writeToParcel(android.os.Parcel dest, int flags)
class CreateCredentialException
- #ctor(java.lang.String type)
- #ctor(java.lang.String type, java.lang.String message)
#ctor(java.lang.String type, java.lang.String message, java.lang.Throwable cause)
+ #ctor(java.lang.String type, java.lang.String message)
#ctor(java.lang.String type, java.lang.Throwable cause)
+ #ctor(java.lang.String type)
class CreateCredentialRequest
- #ctor(java.lang.String type, android.os.Bundle credentialData, android.os.Bundle candidateQueryData, boolean isSystemProviderRequired)
writeToParcel(android.os.Parcel dest, int flags)
+ class CreateCredentialRequest.Builder
+ #ctor(java.lang.String type, android.os.Bundle credentialData, android.os.Bundle candidateQueryData)
+ setAlwaysSendAppInfoToProvider(boolean value)
+ setIsSystemProviderRequired(boolean value)
+ setOrigin(java.lang.String origin)
class CreateCredentialResponse
#ctor(android.os.Bundle data)
writeToParcel(android.os.Parcel dest, int flags)
class Credential
#ctor(java.lang.String type, android.os.Bundle data)
writeToParcel(android.os.Parcel dest, int flags)
+ class CredentialDescription
+ #ctor(java.lang.String type, java.util.Set supportedElementKeys, java.util.List credentialEntries)
+ equals(java.lang.Object obj)
+ writeToParcel(android.os.Parcel dest, int flags)
class CredentialManager
clearCredentialState(android.credentials.ClearCredentialStateRequest request, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
- createCredential(android.credentials.CreateCredentialRequest request, android.app.Activity activity, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
- getCredential(android.credentials.GetCredentialRequest request, android.app.Activity activity, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
+ createCredential(android.content.Context context, android.credentials.CreateCredentialRequest request, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
+ getCredential(android.content.Context context, android.credentials.GetCredentialRequest request, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
+ getCredential(android.content.Context context, android.credentials.PrepareGetCredentialResponse.PendingGetCredentialHandle pendingGetCredentialHandle, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
+ isEnabledCredentialProviderService(android.content.ComponentName componentName)
+ prepareGetCredential(android.credentials.GetCredentialRequest request, android.os.CancellationSignal cancellationSignal, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
+ registerCredentialDescription(android.credentials.RegisterCredentialDescriptionRequest request)
+ unregisterCredentialDescription(android.credentials.UnregisterCredentialDescriptionRequest request)
+ class CredentialOption
+ writeToParcel(android.os.Parcel dest, int flags)
+ class CredentialOption.Builder
+ addAllowedProvider(android.content.ComponentName allowedProvider)
+ #ctor(java.lang.String type, android.os.Bundle credentialRetrievalData, android.os.Bundle candidateQueryData)
+ setAllowedProviders(java.util.Set allowedProviders)
+ setIsSystemProviderRequired(boolean isSystemProviderRequired)
class GetCredentialException
- #ctor(java.lang.String type)
- #ctor(java.lang.String type, java.lang.String message)
#ctor(java.lang.String type, java.lang.String message, java.lang.Throwable cause)
+ #ctor(java.lang.String type, java.lang.String message)
#ctor(java.lang.String type, java.lang.Throwable cause)
- class GetCredentialOption
- #ctor(java.lang.String type, android.os.Bundle credentialRetrievalData, android.os.Bundle candidateQueryData, boolean isSystemProviderRequired)
- writeToParcel(android.os.Parcel dest, int flags)
+ #ctor(java.lang.String type)
class GetCredentialRequest
writeToParcel(android.os.Parcel dest, int flags)
class GetCredentialRequest.Builder
- addGetCredentialOption(android.credentials.GetCredentialOption getCredentialOption)
+ addCredentialOption(android.credentials.CredentialOption credentialOption)
#ctor(android.os.Bundle data)
- setGetCredentialOptions(java.util.List getCredentialOptions)
+ setAlwaysSendAppInfoToProvider(boolean value)
+ setCredentialOptions(java.util.List credentialOptions)
+ setOrigin(java.lang.String origin)
class GetCredentialResponse
#ctor(android.credentials.Credential credential)
writeToParcel(android.os.Parcel dest, int flags)
+ class PrepareGetCredentialResponse
+ hasCredentialResults(java.lang.String credentialType)
+ class RegisterCredentialDescriptionRequest
+ #ctor(android.credentials.CredentialDescription credentialDescription)
+ #ctor(java.util.Set credentialDescriptions)
+ writeToParcel(android.os.Parcel dest, int flags)
+ class UnregisterCredentialDescriptionRequest
+ #ctor(android.credentials.CredentialDescription credentialDescription)
+ #ctor(java.util.Set credentialDescriptions)
+ writeToParcel(android.os.Parcel dest, int flags)
package android.database
;---------------------------------------
@@ -5269,20 +5355,20 @@ package android.database
#ctor(char[] buf)
#ctor(int size)
class ContentObservable
- dispatchChange(boolean selfChange)
dispatchChange(boolean selfChange, android.net.Uri uri)
+ dispatchChange(boolean selfChange)
notifyChange(boolean selfChange)
registerObserver(android.database.ContentObserver observer)
class ContentObserver
#ctor(android.os.Handler handler)
- dispatchChange(boolean selfChange)
- dispatchChange(boolean selfChange, android.net.Uri uri)
dispatchChange(boolean selfChange, android.net.Uri uri, int flags)
+ dispatchChange(boolean selfChange, android.net.Uri uri)
dispatchChange(boolean selfChange, java.util.Collection uris, int flags)
- onChange(boolean selfChange)
- onChange(boolean selfChange, android.net.Uri uri)
+ dispatchChange(boolean selfChange)
onChange(boolean selfChange, android.net.Uri uri, int flags)
+ onChange(boolean selfChange, android.net.Uri uri)
onChange(boolean selfChange, java.util.Collection uris, int flags)
+ onChange(boolean selfChange)
interface CrossProcessCursor
fillWindow(int position, android.database.CursorWindow window)
onMove(int oldPosition, int newPosition)
@@ -5322,8 +5408,8 @@ package android.database
class CursorWindow
copyStringToBuffer(int row, int column, android.database.CharArrayBuffer buffer)
#ctor(boolean localWindow)
- #ctor(java.lang.String name)
#ctor(java.lang.String name, long windowSizeBytes)
+ #ctor(java.lang.String name)
getBlob(int row, int column)
getDouble(int row, int column)
getFloat(int row, int column)
@@ -5388,34 +5474,34 @@ package android.database
cursorDoubleToContentValuesIfPresent(android.database.Cursor cursor, android.content.ContentValues values, java.lang.String column)
cursorDoubleToCursorValues(android.database.Cursor cursor, java.lang.String field, android.content.ContentValues values)
cursorFloatToContentValuesIfPresent(android.database.Cursor cursor, android.content.ContentValues values, java.lang.String column)
- cursorIntToContentValues(android.database.Cursor cursor, java.lang.String field, android.content.ContentValues values)
cursorIntToContentValues(android.database.Cursor cursor, java.lang.String field, android.content.ContentValues values, java.lang.String key)
+ cursorIntToContentValues(android.database.Cursor cursor, java.lang.String field, android.content.ContentValues values)
cursorIntToContentValuesIfPresent(android.database.Cursor cursor, android.content.ContentValues values, java.lang.String column)
- cursorLongToContentValues(android.database.Cursor cursor, java.lang.String field, android.content.ContentValues values)
cursorLongToContentValues(android.database.Cursor cursor, java.lang.String field, android.content.ContentValues values, java.lang.String key)
+ cursorLongToContentValues(android.database.Cursor cursor, java.lang.String field, android.content.ContentValues values)
cursorLongToContentValuesIfPresent(android.database.Cursor cursor, android.content.ContentValues values, java.lang.String column)
cursorRowToContentValues(android.database.Cursor cursor, android.content.ContentValues values)
cursorShortToContentValuesIfPresent(android.database.Cursor cursor, android.content.ContentValues values, java.lang.String column)
- cursorStringToContentValues(android.database.Cursor cursor, java.lang.String field, android.content.ContentValues values)
cursorStringToContentValues(android.database.Cursor cursor, java.lang.String field, android.content.ContentValues values, java.lang.String key)
+ cursorStringToContentValues(android.database.Cursor cursor, java.lang.String field, android.content.ContentValues values)
cursorStringToContentValuesIfPresent(android.database.Cursor cursor, android.content.ContentValues values, java.lang.String column)
cursorStringToInsertHelper(android.database.Cursor cursor, java.lang.String field, android.database.DatabaseUtils.InsertHelper inserter, int index)
- dumpCurrentRow(android.database.Cursor cursor)
dumpCurrentRow(android.database.Cursor cursor, java.io.PrintStream stream)
dumpCurrentRow(android.database.Cursor cursor, java.lang.StringBuilder sb)
+ dumpCurrentRow(android.database.Cursor cursor)
dumpCurrentRowToString(android.database.Cursor cursor)
- dumpCursor(android.database.Cursor cursor)
dumpCursor(android.database.Cursor cursor, java.io.PrintStream stream)
dumpCursor(android.database.Cursor cursor, java.lang.StringBuilder sb)
+ dumpCursor(android.database.Cursor cursor)
dumpCursorToString(android.database.Cursor cursor)
getCollationKey(java.lang.String name)
getHexCollationKey(java.lang.String name)
getSqlStatementType(java.lang.String sql)
longForQuery(android.database.sqlite.SQLiteDatabase db, java.lang.String query, java.lang.String[] selectionArgs)
longForQuery(android.database.sqlite.SQLiteStatement prog, java.lang.String[] selectionArgs)
- queryNumEntries(android.database.sqlite.SQLiteDatabase db, java.lang.String table)
- queryNumEntries(android.database.sqlite.SQLiteDatabase db, java.lang.String table, java.lang.String selection)
queryNumEntries(android.database.sqlite.SQLiteDatabase db, java.lang.String table, java.lang.String selection, java.lang.String[] selectionArgs)
+ queryNumEntries(android.database.sqlite.SQLiteDatabase db, java.lang.String table, java.lang.String selection)
+ queryNumEntries(android.database.sqlite.SQLiteDatabase db, java.lang.String table)
readExceptionFromParcel(android.os.Parcel reply)
readExceptionWithFileNotFoundExceptionFromParcel(android.os.Parcel reply)
readExceptionWithOperationApplicationExceptionFromParcel(android.os.Parcel reply)
@@ -5450,8 +5536,8 @@ package android.database
getString(int column)
getType(int column)
isNull(int column)
- #ctor(java.lang.String[] columnNames)
#ctor(java.lang.String[] columnNames, int initialCapacity)
+ #ctor(java.lang.String[] columnNames)
class MatrixCursor.RowBuilder
add(java.lang.Object columnValue)
add(java.lang.String columnName, java.lang.Object value)
@@ -5475,8 +5561,8 @@ package android.database
registerObserver(T observer)
unregisterObserver(T observer)
class SQLException
- #ctor(java.lang.String error)
#ctor(java.lang.String error, java.lang.Throwable cause)
+ #ctor(java.lang.String error)
class StaleDataException
#ctor(java.lang.String description)
@@ -5515,31 +5601,31 @@ package android.database.sqlite
delete(java.lang.String table, java.lang.String whereClause, java.lang.String[] whereArgs)
deleteDatabase(java.io.File file)
execPerConnectionSQL(java.lang.String sql, java.lang.Object[] bindArgs)
- execSQL(java.lang.String sql)
execSQL(java.lang.String sql, java.lang.Object[] bindArgs)
+ execSQL(java.lang.String sql)
findEditTable(java.lang.String tables)
insert(java.lang.String table, java.lang.String nullColumnHack, android.content.ContentValues values)
insertOrThrow(java.lang.String table, java.lang.String nullColumnHack, android.content.ContentValues values)
insertWithOnConflict(java.lang.String table, java.lang.String nullColumnHack, android.content.ContentValues initialValues, int conflictAlgorithm)
- markTableSyncable(java.lang.String table, java.lang.String deletedTable)
markTableSyncable(java.lang.String table, java.lang.String foreignKey, java.lang.String updateTable)
+ markTableSyncable(java.lang.String table, java.lang.String deletedTable)
needUpgrade(int newVersion)
openDatabase(java.io.File path, android.database.sqlite.SQLiteDatabase.OpenParams openParams)
- openDatabase(java.lang.String path, android.database.sqlite.SQLiteDatabase.CursorFactory factory, int flags)
openDatabase(java.lang.String path, android.database.sqlite.SQLiteDatabase.CursorFactory factory, int flags, android.database.DatabaseErrorHandler errorHandler)
+ openDatabase(java.lang.String path, android.database.sqlite.SQLiteDatabase.CursorFactory factory, int flags)
openOrCreateDatabase(java.io.File file, android.database.sqlite.SQLiteDatabase.CursorFactory factory)
- openOrCreateDatabase(java.lang.String path, android.database.sqlite.SQLiteDatabase.CursorFactory factory)
openOrCreateDatabase(java.lang.String path, android.database.sqlite.SQLiteDatabase.CursorFactory factory, android.database.DatabaseErrorHandler errorHandler)
- query(boolean distinct, java.lang.String table, java.lang.String[] columns, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String groupBy, java.lang.String having, java.lang.String orderBy, java.lang.String limit)
+ openOrCreateDatabase(java.lang.String path, android.database.sqlite.SQLiteDatabase.CursorFactory factory)
query(boolean distinct, java.lang.String table, java.lang.String[] columns, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String groupBy, java.lang.String having, java.lang.String orderBy, java.lang.String limit, android.os.CancellationSignal cancellationSignal)
- query(java.lang.String table, java.lang.String[] columns, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String groupBy, java.lang.String having, java.lang.String orderBy)
+ query(boolean distinct, java.lang.String table, java.lang.String[] columns, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String groupBy, java.lang.String having, java.lang.String orderBy, java.lang.String limit)
query(java.lang.String table, java.lang.String[] columns, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String groupBy, java.lang.String having, java.lang.String orderBy, java.lang.String limit)
- queryWithFactory(android.database.sqlite.SQLiteDatabase.CursorFactory cursorFactory, boolean distinct, java.lang.String table, java.lang.String[] columns, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String groupBy, java.lang.String having, java.lang.String orderBy, java.lang.String limit)
+ query(java.lang.String table, java.lang.String[] columns, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String groupBy, java.lang.String having, java.lang.String orderBy)
queryWithFactory(android.database.sqlite.SQLiteDatabase.CursorFactory cursorFactory, boolean distinct, java.lang.String table, java.lang.String[] columns, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String groupBy, java.lang.String having, java.lang.String orderBy, java.lang.String limit, android.os.CancellationSignal cancellationSignal)
- rawQuery(java.lang.String sql, java.lang.String[] selectionArgs)
+ queryWithFactory(android.database.sqlite.SQLiteDatabase.CursorFactory cursorFactory, boolean distinct, java.lang.String table, java.lang.String[] columns, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String groupBy, java.lang.String having, java.lang.String orderBy, java.lang.String limit)
rawQuery(java.lang.String sql, java.lang.String[] selectionArgs, android.os.CancellationSignal cancellationSignal)
- rawQueryWithFactory(android.database.sqlite.SQLiteDatabase.CursorFactory cursorFactory, java.lang.String sql, java.lang.String[] selectionArgs, java.lang.String editTable)
+ rawQuery(java.lang.String sql, java.lang.String[] selectionArgs)
rawQueryWithFactory(android.database.sqlite.SQLiteDatabase.CursorFactory cursorFactory, java.lang.String sql, java.lang.String[] selectionArgs, java.lang.String editTable, android.os.CancellationSignal cancellationSignal)
+ rawQueryWithFactory(android.database.sqlite.SQLiteDatabase.CursorFactory cursorFactory, java.lang.String sql, java.lang.String[] selectionArgs, java.lang.String editTable)
replace(java.lang.String table, java.lang.String nullColumnHack, android.content.ContentValues initialValues)
replaceOrThrow(java.lang.String table, java.lang.String nullColumnHack, android.content.ContentValues initialValues)
setCustomAggregateFunction(java.lang.String functionName, java.util.function.BinaryOperator aggregateFunction)
@@ -5579,8 +5665,8 @@ package android.database.sqlite
class SQLiteDoneException
#ctor(java.lang.String error)
class SQLiteException
- #ctor(java.lang.String error)
#ctor(java.lang.String error, java.lang.Throwable cause)
+ #ctor(java.lang.String error)
class SQLiteFullException
#ctor(java.lang.String error)
class SQLiteMisuseException
@@ -5595,8 +5681,8 @@ package android.database.sqlite
setLookasideConfig(int slotSize, int slotCount)
setOpenParams(android.database.sqlite.SQLiteDatabase.OpenParams openParams)
setWriteAheadLoggingEnabled(boolean enabled)
- #ctor(android.content.Context context, java.lang.String name, android.database.sqlite.SQLiteDatabase.CursorFactory factory, int version)
#ctor(android.content.Context context, java.lang.String name, android.database.sqlite.SQLiteDatabase.CursorFactory factory, int version, android.database.DatabaseErrorHandler errorHandler)
+ #ctor(android.content.Context context, java.lang.String name, android.database.sqlite.SQLiteDatabase.CursorFactory factory, int version)
#ctor(android.content.Context context, java.lang.String name, int version, android.database.sqlite.SQLiteDatabase.OpenParams openParams)
class SQLiteOutOfMemoryException
#ctor(java.lang.String error)
@@ -5620,9 +5706,9 @@ package android.database.sqlite
buildUnionSubQuery(java.lang.String typeDiscriminatorColumn, java.lang.String[] unionColumns, java.util.Set columnsPresentInTable, int computedColumnsOffset, java.lang.String typeDiscriminatorValue, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String groupBy, java.lang.String having)
delete(android.database.sqlite.SQLiteDatabase db, java.lang.String selection, java.lang.String[] selectionArgs)
insert(android.database.sqlite.SQLiteDatabase db, android.content.ContentValues values)
- query(android.database.sqlite.SQLiteDatabase db, java.lang.String[] projectionIn, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String groupBy, java.lang.String having, java.lang.String sortOrder)
- query(android.database.sqlite.SQLiteDatabase db, java.lang.String[] projectionIn, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String groupBy, java.lang.String having, java.lang.String sortOrder, java.lang.String limit)
query(android.database.sqlite.SQLiteDatabase db, java.lang.String[] projectionIn, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String groupBy, java.lang.String having, java.lang.String sortOrder, java.lang.String limit, android.os.CancellationSignal cancellationSignal)
+ query(android.database.sqlite.SQLiteDatabase db, java.lang.String[] projectionIn, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String groupBy, java.lang.String having, java.lang.String sortOrder, java.lang.String limit)
+ query(android.database.sqlite.SQLiteDatabase db, java.lang.String[] projectionIn, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String groupBy, java.lang.String having, java.lang.String sortOrder)
setCursorFactory(android.database.sqlite.SQLiteDatabase.CursorFactory factory)
setDistinct(boolean distinct)
setProjectionGreylist(java.util.Collection projectionGreylist)
@@ -5651,11 +5737,11 @@ package android.drm
class DrmConvertedStatus
#ctor(int statusCode, byte[] convertedData, int offset)
class DrmErrorEvent
- #ctor(int uniqueId, int type, java.lang.String message)
#ctor(int uniqueId, int type, java.lang.String message, java.util.HashMap attributes)
- class DrmEvent
#ctor(int uniqueId, int type, java.lang.String message)
+ class DrmEvent
#ctor(int uniqueId, int type, java.lang.String message, java.util.HashMap attributes)
+ #ctor(int uniqueId, int type, java.lang.String message)
getAttribute(java.lang.String key)
class DrmInfo
#ctor(int infoType, byte[] data, java.lang.String mimeType)
@@ -5663,8 +5749,8 @@ package android.drm
get(java.lang.String key)
put(java.lang.String key, java.lang.Object value)
class DrmInfoEvent
- #ctor(int uniqueId, int type, java.lang.String message)
#ctor(int uniqueId, int type, java.lang.String message, java.util.HashMap attributes)
+ #ctor(int uniqueId, int type, java.lang.String message)
class DrmInfoRequest
#ctor(int infoType, java.lang.String mimeType)
get(java.lang.String key)
@@ -5676,10 +5762,10 @@ package android.drm
acquireRights(android.drm.DrmInfoRequest drmInfoRequest)
canHandle(android.net.Uri uri, java.lang.String mimeType)
canHandle(java.lang.String path, java.lang.String mimeType)
- checkRightsStatus(android.net.Uri uri)
checkRightsStatus(android.net.Uri uri, int action)
- checkRightsStatus(java.lang.String path)
+ checkRightsStatus(android.net.Uri uri)
checkRightsStatus(java.lang.String path, int action)
+ checkRightsStatus(java.lang.String path)
closeConvertSession(int convertId)
convertData(int convertId, byte[] inputData)
#ctor(android.content.Context context)
@@ -5708,9 +5794,9 @@ package android.drm
class DrmRights
#ctor(android.drm.ProcessedData data, java.lang.String mimeType)
#ctor(java.io.File rightsFile, java.lang.String mimeType)
- #ctor(java.lang.String rightsFilePath, java.lang.String mimeType)
- #ctor(java.lang.String rightsFilePath, java.lang.String mimeType, java.lang.String accountId)
#ctor(java.lang.String rightsFilePath, java.lang.String mimeType, java.lang.String accountId, java.lang.String subscriptionId)
+ #ctor(java.lang.String rightsFilePath, java.lang.String mimeType, java.lang.String accountId)
+ #ctor(java.lang.String rightsFilePath, java.lang.String mimeType)
class DrmSupportInfo
addFileSuffix(java.lang.String fileSuffix)
addMimeType(java.lang.String mimeType)
@@ -5725,10 +5811,10 @@ package android.gesture
;---------------------------------------
class Gesture
addStroke(android.gesture.GestureStroke stroke)
- toBitmap(int width, int height, int inset, int color)
toBitmap(int width, int height, int edge, int numSample, int color)
- toPath(android.graphics.Path path)
+ toBitmap(int width, int height, int inset, int color)
toPath(android.graphics.Path path, int width, int height, int edge, int numSample)
+ toPath(android.graphics.Path path)
toPath(int width, int height, int edge, int numSample)
writeToParcel(android.os.Parcel out, int flags)
class GestureLibraries
@@ -5752,10 +5838,10 @@ package android.gesture
clear(boolean animated)
dispatchTouchEvent(android.view.MotionEvent event)
draw(android.graphics.Canvas canvas)
- #ctor(android.content.Context context)
- #ctor(android.content.Context context, android.util.AttributeSet attrs)
- #ctor(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr)
#ctor(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr, int defStyleRes)
+ #ctor(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr)
+ #ctor(android.content.Context context, android.util.AttributeSet attrs)
+ #ctor(android.content.Context context)
getGesturePath(android.graphics.Path path)
removeOnGestureListener(android.gesture.GestureOverlayView.OnGestureListener listener)
removeOnGesturePerformedListener(android.gesture.GestureOverlayView.OnGesturePerformedListener listener)
@@ -5788,13 +5874,13 @@ package android.gesture
class GestureStore
addGesture(java.lang.String entryName, android.gesture.Gesture gesture)
getGestures(java.lang.String entryName)
- load(java.io.InputStream stream)
load(java.io.InputStream stream, boolean closeStream)
+ load(java.io.InputStream stream)
recognize(android.gesture.Gesture gesture)
removeEntry(java.lang.String entryName)
removeGesture(java.lang.String entryName, android.gesture.Gesture gesture)
- save(java.io.OutputStream stream)
save(java.io.OutputStream stream, boolean closeStream)
+ save(java.io.OutputStream stream)
setOrientationStyle(int style)
setSequenceType(int type)
class GestureStroke
@@ -5803,8 +5889,8 @@ package android.gesture
class GestureUtils
computeOrientedBoundingBox(float[] originalPoints)
computeOrientedBoundingBox(java.util.ArrayList originalPoints)
- spatialSampling(android.gesture.Gesture gesture, int bitmapSize)
spatialSampling(android.gesture.Gesture gesture, int bitmapSize, boolean keepAspectRatio)
+ spatialSampling(android.gesture.Gesture gesture, int bitmapSize)
temporalSampling(android.gesture.GestureStroke stroke, int numPoints)
package android.graphics
@@ -5814,19 +5900,19 @@ package android.graphics
copy(android.graphics.Bitmap.Config config, boolean isMutable)
copyPixelsFromBuffer(java.nio.Buffer src)
copyPixelsToBuffer(java.nio.Buffer dst)
- createBitmap(android.graphics.Bitmap src)
- createBitmap(android.graphics.Bitmap source, int x, int y, int width, int height)
createBitmap(android.graphics.Bitmap source, int x, int y, int width, int height, android.graphics.Matrix m, boolean filter)
- createBitmap(android.graphics.Picture source)
+ createBitmap(android.graphics.Bitmap source, int x, int y, int width, int height)
+ createBitmap(android.graphics.Bitmap src)
createBitmap(android.graphics.Picture source, int width, int height, android.graphics.Bitmap.Config config)
- createBitmap(android.util.DisplayMetrics display, int width, int height, android.graphics.Bitmap.Config config)
- createBitmap(android.util.DisplayMetrics display, int width, int height, android.graphics.Bitmap.Config config, boolean hasAlpha)
+ createBitmap(android.graphics.Picture source)
createBitmap(android.util.DisplayMetrics display, int width, int height, android.graphics.Bitmap.Config config, boolean hasAlpha, android.graphics.ColorSpace colorSpace)
+ createBitmap(android.util.DisplayMetrics display, int width, int height, android.graphics.Bitmap.Config config, boolean hasAlpha)
+ createBitmap(android.util.DisplayMetrics display, int width, int height, android.graphics.Bitmap.Config config)
createBitmap(android.util.DisplayMetrics display, int[] colors, int width, int height, android.graphics.Bitmap.Config config)
createBitmap(android.util.DisplayMetrics display, int[] colors, int offset, int stride, int width, int height, android.graphics.Bitmap.Config config)
- createBitmap(int width, int height, android.graphics.Bitmap.Config config)
- createBitmap(int width, int height, android.graphics.Bitmap.Config config, boolean hasAlpha)
createBitmap(int width, int height, android.graphics.Bitmap.Config config, boolean hasAlpha, android.graphics.ColorSpace colorSpace)
+ createBitmap(int width, int height, android.graphics.Bitmap.Config config, boolean hasAlpha)
+ createBitmap(int width, int height, android.graphics.Bitmap.Config config)
createBitmap(int[] colors, int width, int height, android.graphics.Bitmap.Config config)
createBitmap(int[] colors, int offset, int stride, int width, int height, android.graphics.Bitmap.Config config)
createScaledBitmap(android.graphics.Bitmap src, int dstWidth, int dstHeight, boolean filter)
@@ -5847,6 +5933,7 @@ package android.graphics
setColorSpace(android.graphics.ColorSpace colorSpace)
setConfig(android.graphics.Bitmap.Config config)
setDensity(int density)
+ setGainmap(android.graphics.Gainmap gainmap)
setHasAlpha(boolean hasAlpha)
setHasMipMap(boolean hasMipMap)
setHeight(int height)
@@ -5857,30 +5944,31 @@ package android.graphics
wrapHardwareBuffer(android.hardware.HardwareBuffer hardwareBuffer, android.graphics.ColorSpace colorSpace)
writeToParcel(android.os.Parcel p, int flags)
class BitmapFactory
- decodeByteArray(byte[] data, int offset, int length)
decodeByteArray(byte[] data, int offset, int length, android.graphics.BitmapFactory.Options opts)
- decodeFile(java.lang.String pathName)
+ decodeByteArray(byte[] data, int offset, int length)
decodeFile(java.lang.String pathName, android.graphics.BitmapFactory.Options opts)
- decodeFileDescriptor(java.io.FileDescriptor fd)
+ decodeFile(java.lang.String pathName)
decodeFileDescriptor(java.io.FileDescriptor fd, android.graphics.Rect outPadding, android.graphics.BitmapFactory.Options opts)
- decodeResource(android.content.res.Resources res, int id)
+ decodeFileDescriptor(java.io.FileDescriptor fd)
decodeResource(android.content.res.Resources res, int id, android.graphics.BitmapFactory.Options opts)
+ decodeResource(android.content.res.Resources res, int id)
decodeResourceStream(android.content.res.Resources res, android.util.TypedValue value, java.io.InputStream is, android.graphics.Rect pad, android.graphics.BitmapFactory.Options opts)
- decodeStream(java.io.InputStream is)
decodeStream(java.io.InputStream is, android.graphics.Rect outPadding, android.graphics.BitmapFactory.Options opts)
+ decodeStream(java.io.InputStream is)
class BitmapRegionDecoder
decodeRegion(android.graphics.Rect rect, android.graphics.BitmapFactory.Options options)
newInstance(android.os.ParcelFileDescriptor pfd)
- newInstance(byte[] data, int offset, int length)
newInstance(byte[] data, int offset, int length, boolean isShareable)
+ newInstance(byte[] data, int offset, int length)
newInstance(java.io.FileDescriptor fd, boolean isShareable)
- newInstance(java.io.InputStream is)
newInstance(java.io.InputStream is, boolean isShareable)
- newInstance(java.lang.String pathName)
+ newInstance(java.io.InputStream is)
newInstance(java.lang.String pathName, boolean isShareable)
+ newInstance(java.lang.String pathName)
class BitmapShader
#ctor(android.graphics.Bitmap bitmap, android.graphics.Shader.TileMode tileX, android.graphics.Shader.TileMode tileY)
setFilterMode(int mode)
+ setMaxAnisotropy(int maxAnisotropy)
class BlendModeColorFilter
#ctor(int color, android.graphics.BlendMode mode)
equals(java.lang.Object object)
@@ -5903,14 +5991,14 @@ package android.graphics
clipOutRect(android.graphics.RectF rect)
clipOutRect(float left, float top, float right, float bottom)
clipOutRect(int left, int top, int right, int bottom)
- clipPath(android.graphics.Path path)
clipPath(android.graphics.Path path, android.graphics.Region.Op op)
- clipRect(android.graphics.Rect rect)
+ clipPath(android.graphics.Path path)
clipRect(android.graphics.Rect rect, android.graphics.Region.Op op)
- clipRect(android.graphics.RectF rect)
+ clipRect(android.graphics.Rect rect)
clipRect(android.graphics.RectF rect, android.graphics.Region.Op op)
- clipRect(float left, float top, float right, float bottom)
+ clipRect(android.graphics.RectF rect)
clipRect(float left, float top, float right, float bottom, android.graphics.Region.Op op)
+ clipRect(float left, float top, float right, float bottom)
clipRect(int left, int top, int right, int bottom)
concat(android.graphics.Matrix matrix)
drawArc(android.graphics.RectF oval, float startAngle, float sweepAngle, boolean useCenter, android.graphics.Paint paint)
@@ -5924,11 +6012,11 @@ package android.graphics
drawBitmap(int[] colors, int offset, int stride, int x, int y, int width, int height, boolean hasAlpha, android.graphics.Paint paint)
drawBitmapMesh(android.graphics.Bitmap bitmap, int meshWidth, int meshHeight, float[] verts, int vertOffset, int[] colors, int colorOffset, android.graphics.Paint paint)
drawCircle(float cx, float cy, float radius, android.graphics.Paint paint)
- drawColor(int color)
drawColor(int color, android.graphics.BlendMode mode)
drawColor(int color, android.graphics.PorterDuff.Mode mode)
- drawColor(long color)
+ drawColor(int color)
drawColor(long color, android.graphics.BlendMode mode)
+ drawColor(long color)
drawDoubleRoundRect(android.graphics.RectF outer, float outerRx, float outerRy, android.graphics.RectF inner, float innerRx, float innerRy, android.graphics.Paint paint)
drawDoubleRoundRect(android.graphics.RectF outer, float[] outerRadii, android.graphics.RectF inner, float[] innerRadii, android.graphics.Paint paint)
drawGlyphs(int[] glyphIds, int glyphIdOffset, float[] positions, int positionOffset, int glyphCount, android.graphics.fonts.Font font, android.graphics.Paint paint)
@@ -5942,9 +6030,9 @@ package android.graphics
drawPatch(android.graphics.NinePatch patch, android.graphics.Rect dst, android.graphics.Paint paint)
drawPatch(android.graphics.NinePatch patch, android.graphics.RectF dst, android.graphics.Paint paint)
drawPath(android.graphics.Path path, android.graphics.Paint paint)
- drawPicture(android.graphics.Picture picture)
drawPicture(android.graphics.Picture picture, android.graphics.Rect dst)
drawPicture(android.graphics.Picture picture, android.graphics.RectF dst)
+ drawPicture(android.graphics.Picture picture)
drawPoint(float x, float y, android.graphics.Paint paint)
drawPoints(float[] pts, android.graphics.Paint paint)
drawPoints(float[] pts, int offset, int count, android.graphics.Paint paint)
@@ -5969,25 +6057,25 @@ package android.graphics
drawVertices(android.graphics.Canvas.VertexMode mode, int vertexCount, float[] verts, int vertOffset, float[] texs, int texOffset, int[] colors, int colorOffset, short[] indices, int indexOffset, int indexCount, android.graphics.Paint paint)
getClipBounds(android.graphics.Rect bounds)
getMatrix(android.graphics.Matrix ctm)
- quickReject(android.graphics.Path path)
quickReject(android.graphics.Path path, android.graphics.Canvas.EdgeType type)
- quickReject(android.graphics.RectF rect)
+ quickReject(android.graphics.Path path)
quickReject(android.graphics.RectF rect, android.graphics.Canvas.EdgeType type)
- quickReject(float left, float top, float right, float bottom)
+ quickReject(android.graphics.RectF rect)
quickReject(float left, float top, float right, float bottom, android.graphics.Canvas.EdgeType type)
+ quickReject(float left, float top, float right, float bottom)
restoreToCount(int saveCount)
- rotate(float degrees)
rotate(float degrees, float px, float py)
- saveLayer(android.graphics.RectF bounds, android.graphics.Paint paint)
+ rotate(float degrees)
saveLayer(android.graphics.RectF bounds, android.graphics.Paint paint, int saveFlags)
- saveLayer(float left, float top, float right, float bottom, android.graphics.Paint paint)
+ saveLayer(android.graphics.RectF bounds, android.graphics.Paint paint)
saveLayer(float left, float top, float right, float bottom, android.graphics.Paint paint, int saveFlags)
- saveLayerAlpha(android.graphics.RectF bounds, int alpha)
+ saveLayer(float left, float top, float right, float bottom, android.graphics.Paint paint)
saveLayerAlpha(android.graphics.RectF bounds, int alpha, int saveFlags)
- saveLayerAlpha(float left, float top, float right, float bottom, int alpha)
+ saveLayerAlpha(android.graphics.RectF bounds, int alpha)
saveLayerAlpha(float left, float top, float right, float bottom, int alpha, int saveFlags)
- scale(float sx, float sy)
+ saveLayerAlpha(float left, float top, float right, float bottom, int alpha)
scale(float sx, float sy, float px, float py)
+ scale(float sx, float sy)
setBitmap(android.graphics.Bitmap bitmap)
setDensity(int density)
setDrawFilter(android.graphics.DrawFilter filter)
@@ -6007,8 +6095,8 @@ package android.graphics
convert(float r, float g, float b, float a, android.graphics.ColorSpace source, android.graphics.ColorSpace destination)
convert(float r, float g, float b, float a, android.graphics.ColorSpace.Connector connector)
convert(int color, android.graphics.ColorSpace colorSpace)
- convert(long color, android.graphics.ColorSpace colorSpace)
convert(long color, android.graphics.ColorSpace.Connector connector)
+ convert(long color, android.graphics.ColorSpace colorSpace)
equals(java.lang.Object o)
getComponent(int component)
getComponents(float[] components)
@@ -6021,9 +6109,9 @@ package android.graphics
isWideGamut(long color)
luminance(int color)
luminance(long color)
- pack(float red, float green, float blue)
- pack(float red, float green, float blue, float alpha)
pack(float red, float green, float blue, float alpha, android.graphics.ColorSpace colorSpace)
+ pack(float red, float green, float blue, float alpha)
+ pack(float red, float green, float blue)
pack(int color)
parseColor(java.lang.String colorString)
red(int color)
@@ -6032,9 +6120,9 @@ package android.graphics
rgb(int red, int green, int blue)
RGBToHSV(int red, int green, int blue, float[] hsv)
toArgb(long color)
- valueOf(float r, float g, float b)
- valueOf(float r, float g, float b, float a)
valueOf(float r, float g, float b, float a, android.graphics.ColorSpace colorSpace)
+ valueOf(float r, float g, float b, float a)
+ valueOf(float r, float g, float b)
valueOf(float[] components, android.graphics.ColorSpace colorSpace)
valueOf(int color)
valueOf(long color)
@@ -6055,14 +6143,14 @@ package android.graphics
#ctor(float[] array)
getColorMatrix(android.graphics.ColorMatrix colorMatrix)
class ColorSpace
- adapt(android.graphics.ColorSpace colorSpace, float[] whitePoint)
adapt(android.graphics.ColorSpace colorSpace, float[] whitePoint, android.graphics.ColorSpace.Adaptation adaptation)
+ adapt(android.graphics.ColorSpace colorSpace, float[] whitePoint)
cctToXyz(int cct)
chromaticAdaptation(android.graphics.ColorSpace.Adaptation adaptation, float[] srcWhitePoint, float[] dstWhitePoint)
- connect(android.graphics.ColorSpace source)
- connect(android.graphics.ColorSpace source, android.graphics.ColorSpace destination)
connect(android.graphics.ColorSpace source, android.graphics.ColorSpace destination, android.graphics.ColorSpace.RenderIntent intent)
connect(android.graphics.ColorSpace source, android.graphics.ColorSpace.RenderIntent intent)
+ connect(android.graphics.ColorSpace source, android.graphics.ColorSpace destination)
+ connect(android.graphics.ColorSpace source)
equals(java.lang.Object o)
fromXyz(float x, float y, float z)
fromXyz(float[] v)
@@ -6097,8 +6185,8 @@ package android.graphics
toLinear(float[] v)
toXyz(float[] v)
class ColorSpace.Rgb.TransferParameters
- #ctor(double a, double b, double c, double d, double g)
#ctor(double a, double b, double c, double d, double e, double f, double g)
+ #ctor(double a, double b, double c, double d, double g)
equals(java.lang.Object o)
class ComposePathEffect
#ctor(android.graphics.PathEffect outerpe, android.graphics.PathEffect innerpe)
@@ -6114,6 +6202,17 @@ package android.graphics
#ctor(float segmentLength, float deviation)
class EmbossMaskFilter
#ctor(float[] direction, float ambient, float specular, float blurRadius)
+ class Gainmap
+ #ctor(android.graphics.Bitmap gainmapContents)
+ setDisplayRatioForFullHdr(float max)
+ setEpsilonHdr(float r, float g, float b)
+ setEpsilonSdr(float r, float g, float b)
+ setGainmapContents(android.graphics.Bitmap bitmap)
+ setGamma(float r, float g, float b)
+ setMinDisplayRatioForHdrTransition(float min)
+ setRatioMax(float r, float g, float b)
+ setRatioMin(float r, float g, float b)
+ writeToParcel(android.os.Parcel dest, int flags)
class HardwareBufferRenderer
#ctor(android.hardware.HardwareBuffer buffer)
setContentRoot(android.graphics.RenderNode content)
@@ -6139,15 +6238,15 @@ package android.graphics
createSource(android.content.ContentResolver cr, android.net.Uri uri)
createSource(android.content.res.AssetManager assets, java.lang.String fileName)
createSource(android.content.res.Resources res, int resId)
- createSource(byte[] data)
createSource(byte[] data, int offset, int length)
+ createSource(byte[] data)
createSource(java.io.File file)
createSource(java.nio.ByteBuffer buffer)
createSource(java.util.concurrent.Callable callable)
- decodeBitmap(android.graphics.ImageDecoder.Source src)
decodeBitmap(android.graphics.ImageDecoder.Source src, android.graphics.ImageDecoder.OnHeaderDecodedListener listener)
- decodeDrawable(android.graphics.ImageDecoder.Source src)
+ decodeBitmap(android.graphics.ImageDecoder.Source src)
decodeDrawable(android.graphics.ImageDecoder.Source src, android.graphics.ImageDecoder.OnHeaderDecodedListener listener)
+ decodeDrawable(android.graphics.ImageDecoder.Source src)
isMimeTypeSupported(java.lang.String mimeType)
setAllocator(int allocator)
setCrop(android.graphics.Rect subset)
@@ -6176,12 +6275,12 @@ package android.graphics
subtract(android.graphics.Insets a, android.graphics.Insets b)
writeToParcel(android.os.Parcel out, int flags)
class Interpolator
- #ctor(int valueCount)
#ctor(int valueCount, int frameCount)
- reset(int valueCount)
+ #ctor(int valueCount)
reset(int valueCount, int frameCount)
- setKeyFrame(int index, int msec, float[] values)
+ reset(int valueCount)
setKeyFrame(int index, int msec, float[] values, float[] blend)
+ setKeyFrame(int index, int msec, float[] values)
setRepeatMirror(float repeatCount, boolean mirror)
timeToValues(float[] values)
timeToValues(int msec, float[] values)
@@ -6197,66 +6296,66 @@ package android.graphics
equals(java.lang.Object obj)
getValues(float[] values)
invert(android.graphics.Matrix inverse)
- mapPoints(float[] pts)
mapPoints(float[] dst, float[] src)
mapPoints(float[] dst, int dstIndex, float[] src, int srcIndex, int pointCount)
+ mapPoints(float[] pts)
mapRadius(float radius)
- mapRect(android.graphics.RectF rect)
mapRect(android.graphics.RectF dst, android.graphics.RectF src)
- mapVectors(float[] vecs)
+ mapRect(android.graphics.RectF rect)
mapVectors(float[] dst, float[] src)
mapVectors(float[] dst, int dstIndex, float[] src, int srcIndex, int vectorCount)
+ mapVectors(float[] vecs)
#ctor(android.graphics.Matrix src)
postConcat(android.graphics.Matrix other)
- postRotate(float degrees)
postRotate(float degrees, float px, float py)
- postScale(float sx, float sy)
+ postRotate(float degrees)
postScale(float sx, float sy, float px, float py)
- postSkew(float kx, float ky)
+ postScale(float sx, float sy)
postSkew(float kx, float ky, float px, float py)
+ postSkew(float kx, float ky)
postTranslate(float dx, float dy)
preConcat(android.graphics.Matrix other)
- preRotate(float degrees)
preRotate(float degrees, float px, float py)
- preScale(float sx, float sy)
+ preRotate(float degrees)
preScale(float sx, float sy, float px, float py)
- preSkew(float kx, float ky)
+ preScale(float sx, float sy)
preSkew(float kx, float ky, float px, float py)
+ preSkew(float kx, float ky)
preTranslate(float dx, float dy)
set(android.graphics.Matrix src)
setConcat(android.graphics.Matrix a, android.graphics.Matrix b)
setPolyToPoly(float[] src, int srcIndex, float[] dst, int dstIndex, int pointCount)
setRectToRect(android.graphics.RectF src, android.graphics.RectF dst, android.graphics.Matrix.ScaleToFit stf)
- setRotate(float degrees)
setRotate(float degrees, float px, float py)
- setScale(float sx, float sy)
+ setRotate(float degrees)
setScale(float sx, float sy, float px, float py)
- setSinCos(float sinValue, float cosValue)
+ setScale(float sx, float sy)
setSinCos(float sinValue, float cosValue, float px, float py)
- setSkew(float kx, float ky)
+ setSinCos(float sinValue, float cosValue)
setSkew(float kx, float ky, float px, float py)
+ setSkew(float kx, float ky)
setTranslate(float dx, float dy)
setValues(float[] values)
class Mesh
- make(android.graphics.MeshSpecification meshSpec, int mode, java.nio.Buffer vertexBuffer, int vertexCount, android.graphics.Rect bounds)
- makeIndexed(android.graphics.MeshSpecification meshSpec, int mode, java.nio.Buffer vertexBuffer, int vertexCount, java.nio.ShortBuffer indexBuffer, android.graphics.Rect bounds)
+ #ctor(android.graphics.MeshSpecification meshSpec, int mode, java.nio.Buffer vertexBuffer, int vertexCount, android.graphics.RectF bounds)
+ #ctor(android.graphics.MeshSpecification meshSpec, int mode, java.nio.Buffer vertexBuffer, int vertexCount, java.nio.ShortBuffer indexBuffer, android.graphics.RectF bounds)
setColorUniform(java.lang.String uniformName, android.graphics.Color color)
setColorUniform(java.lang.String uniformName, int color)
setColorUniform(java.lang.String uniformName, long color)
- setFloatUniform(java.lang.String uniformName, float value)
- setFloatUniform(java.lang.String uniformName, float value1, float value2)
- setFloatUniform(java.lang.String uniformName, float value1, float value2, float value3)
setFloatUniform(java.lang.String uniformName, float value1, float value2, float value3, float value4)
+ setFloatUniform(java.lang.String uniformName, float value1, float value2, float value3)
+ setFloatUniform(java.lang.String uniformName, float value1, float value2)
+ setFloatUniform(java.lang.String uniformName, float value)
setFloatUniform(java.lang.String uniformName, float[] values)
- setIntUniform(java.lang.String uniformName, int value)
- setIntUniform(java.lang.String uniformName, int value1, int value2)
- setIntUniform(java.lang.String uniformName, int value1, int value2, int value3)
setIntUniform(java.lang.String uniformName, int value1, int value2, int value3, int value4)
+ setIntUniform(java.lang.String uniformName, int value1, int value2, int value3)
+ setIntUniform(java.lang.String uniformName, int value1, int value2)
+ setIntUniform(java.lang.String uniformName, int value)
setIntUniform(java.lang.String uniformName, int[] values)
class MeshSpecification
- make(java.util.List attributes, int vertexStride, java.util.List varyings, java.lang.String vertexShader, java.lang.String fragmentShader)
- make(java.util.List attributes, int vertexStride, java.util.List varyings, java.lang.String vertexShader, java.lang.String fragmentShader, android.graphics.ColorSpace colorSpace)
- make(java.util.List attributes, int vertexStride, java.util.List varyings, java.lang.String vertexShader, java.lang.String fragmentShader, android.graphics.ColorSpace colorSpace, int alphaType)
+ make(android.graphics.MeshSpecification.Attribute[] attributes, int vertexStride, android.graphics.MeshSpecification.Varying[] varyings, java.lang.String vertexShader, java.lang.String fragmentShader, android.graphics.ColorSpace colorSpace, int alphaType)
+ make(android.graphics.MeshSpecification.Attribute[] attributes, int vertexStride, android.graphics.MeshSpecification.Varying[] varyings, java.lang.String vertexShader, java.lang.String fragmentShader, android.graphics.ColorSpace colorSpace)
+ make(android.graphics.MeshSpecification.Attribute[] attributes, int vertexStride, android.graphics.MeshSpecification.Varying[] varyings, java.lang.String vertexShader, java.lang.String fragmentShader)
class MeshSpecification.Attribute
#ctor(int type, int offset, java.lang.String name)
class MeshSpecification.Varying
@@ -6265,17 +6364,17 @@ package android.graphics
decodeByteArray(byte[] data, int offset, int length)
decodeFile(java.lang.String pathName)
decodeStream(java.io.InputStream is)
- draw(android.graphics.Canvas canvas, float x, float y)
draw(android.graphics.Canvas canvas, float x, float y, android.graphics.Paint paint)
+ draw(android.graphics.Canvas canvas, float x, float y)
setTime(int relativeMilliseconds)
class NinePatch
- draw(android.graphics.Canvas canvas, android.graphics.Rect location)
draw(android.graphics.Canvas canvas, android.graphics.Rect location, android.graphics.Paint paint)
+ draw(android.graphics.Canvas canvas, android.graphics.Rect location)
draw(android.graphics.Canvas canvas, android.graphics.RectF location)
getTransparentRegion(android.graphics.Rect bounds)
isNinePatchChunk(byte[] chunk)
- #ctor(android.graphics.Bitmap bitmap, byte[] chunk)
#ctor(android.graphics.Bitmap bitmap, byte[] chunk, java.lang.String srcName)
+ #ctor(android.graphics.Bitmap bitmap, byte[] chunk)
setPaint(android.graphics.Paint p)
class Outline
getRect(android.graphics.Rect outRect)
@@ -6322,8 +6421,8 @@ package android.graphics
hasGlyph(java.lang.String string)
measureText(char[] text, int index, int count)
measureText(java.lang.CharSequence text, int start, int end)
- measureText(java.lang.String text)
measureText(java.lang.String text, int start, int end)
+ measureText(java.lang.String text)
#ctor(android.graphics.Paint paint)
#ctor(int flags)
set(android.graphics.Paint src)
@@ -6383,9 +6482,9 @@ package android.graphics
addCircle(float x, float y, float radius, android.graphics.Path.Direction dir)
addOval(android.graphics.RectF oval, android.graphics.Path.Direction dir)
addOval(float left, float top, float right, float bottom, android.graphics.Path.Direction dir)
- addPath(android.graphics.Path src)
addPath(android.graphics.Path src, android.graphics.Matrix matrix)
addPath(android.graphics.Path src, float dx, float dy)
+ addPath(android.graphics.Path src)
addRect(android.graphics.RectF rect, android.graphics.Path.Direction dir)
addRect(float left, float top, float right, float bottom, android.graphics.Path.Direction dir)
addRoundRect(android.graphics.RectF rect, float rx, float ry, android.graphics.Path.Direction dir)
@@ -6393,8 +6492,8 @@ package android.graphics
addRoundRect(float left, float top, float right, float bottom, float rx, float ry, android.graphics.Path.Direction dir)
addRoundRect(float left, float top, float right, float bottom, float[] radii, android.graphics.Path.Direction dir)
approximate(float acceptableError)
- arcTo(android.graphics.RectF oval, float startAngle, float sweepAngle)
arcTo(android.graphics.RectF oval, float startAngle, float sweepAngle, boolean forceMoveTo)
+ arcTo(android.graphics.RectF oval, float startAngle, float sweepAngle)
arcTo(float left, float top, float right, float bottom, float startAngle, float sweepAngle, boolean forceMoveTo)
computeBounds(android.graphics.RectF bounds, boolean exact)
conicTo(float x1, float y1, float x2, float y2, float weight)
@@ -6405,8 +6504,8 @@ package android.graphics
isRect(android.graphics.RectF rect)
lineTo(float x, float y)
moveTo(float x, float y)
- offset(float dx, float dy)
offset(float dx, float dy, android.graphics.Path dst)
+ offset(float dx, float dy)
op(android.graphics.Path path1, android.graphics.Path path2, android.graphics.Path.Op op)
op(android.graphics.Path path, android.graphics.Path.Op op)
#ctor(android.graphics.Path src)
@@ -6419,8 +6518,8 @@ package android.graphics
set(android.graphics.Path src)
setFillType(android.graphics.Path.FillType ft)
setLastPoint(float dx, float dy)
- transform(android.graphics.Matrix matrix)
transform(android.graphics.Matrix matrix, android.graphics.Path dst)
+ transform(android.graphics.Matrix matrix)
class PathDashPathEffect
#ctor(android.graphics.Path shape, float advance, float phase, android.graphics.PathDashPathEffect.Style style)
class PathIterator
@@ -6484,9 +6583,9 @@ package android.graphics
drawBitmap(int[] colors, int offset, int stride, int x, int y, int width, int height, boolean hasAlpha, android.graphics.Paint paint)
drawBitmapMesh(android.graphics.Bitmap bitmap, int meshWidth, int meshHeight, float[] verts, int vertOffset, int[] colors, int colorOffset, android.graphics.Paint paint)
drawCircle(float cx, float cy, float radius, android.graphics.Paint paint)
- drawColor(int color)
drawColor(int color, android.graphics.BlendMode mode)
drawColor(int color, android.graphics.PorterDuff.Mode mode)
+ drawColor(int color)
drawColor(long color, android.graphics.BlendMode mode)
drawDoubleRoundRect(android.graphics.RectF outer, float outerRx, float outerRy, android.graphics.RectF inner, float innerRx, float innerRy, android.graphics.Paint paint)
drawDoubleRoundRect(android.graphics.RectF outer, float[] outerRadii, android.graphics.RectF inner, float[] innerRadii, android.graphics.Paint paint)
@@ -6501,9 +6600,9 @@ package android.graphics
drawPatch(android.graphics.NinePatch patch, android.graphics.Rect dst, android.graphics.Paint paint)
drawPatch(android.graphics.NinePatch patch, android.graphics.RectF dst, android.graphics.Paint paint)
drawPath(android.graphics.Path path, android.graphics.Paint paint)
- drawPicture(android.graphics.Picture picture)
drawPicture(android.graphics.Picture picture, android.graphics.Rect dst)
drawPicture(android.graphics.Picture picture, android.graphics.RectF dst)
+ drawPicture(android.graphics.Picture picture)
drawPoint(float x, float y, android.graphics.Paint paint)
drawPoints(float[] pts, android.graphics.Paint paint)
drawPoints(float[] pts, int offset, int count, android.graphics.Paint paint)
@@ -6530,12 +6629,12 @@ package android.graphics
setDensity(int density)
class Rect
contains(android.graphics.Rect r)
- contains(int x, int y)
contains(int left, int top, int right, int bottom)
+ contains(int x, int y)
equals(java.lang.Object o)
inset(android.graphics.Insets insets)
- inset(int dx, int dy)
inset(int left, int top, int right, int bottom)
+ inset(int dx, int dy)
intersect(android.graphics.Rect r)
intersect(int left, int top, int right, int bottom)
intersects(android.graphics.Rect a, android.graphics.Rect b)
@@ -6550,13 +6649,13 @@ package android.graphics
setIntersect(android.graphics.Rect a, android.graphics.Rect b)
unflattenFromString(java.lang.String str)
union(android.graphics.Rect r)
- union(int x, int y)
union(int left, int top, int right, int bottom)
+ union(int x, int y)
writeToParcel(android.os.Parcel out, int flags)
class RectF
contains(android.graphics.RectF r)
- contains(float x, float y)
contains(float left, float top, float right, float bottom)
+ contains(float x, float y)
equals(java.lang.Object o)
inset(float dx, float dy)
intersect(android.graphics.RectF r)
@@ -6576,8 +6675,8 @@ package android.graphics
set(float left, float top, float right, float bottom)
setIntersect(android.graphics.RectF a, android.graphics.RectF b)
union(android.graphics.RectF r)
- union(float x, float y)
union(float left, float top, float right, float bottom)
+ union(float x, float y)
writeToParcel(android.os.Parcel out, int flags)
class Region
contains(int x, int y)
@@ -6601,24 +6700,24 @@ package android.graphics
set(android.graphics.Region region)
set(int left, int top, int right, int bottom)
setPath(android.graphics.Path path, android.graphics.Region clip)
- translate(int dx, int dy)
translate(int dx, int dy, android.graphics.Region dst)
+ translate(int dx, int dy)
union(android.graphics.Rect r)
writeToParcel(android.os.Parcel p, int flags)
class RegionIterator
next(android.graphics.Rect r)
#ctor(android.graphics.Region region)
class RenderEffect
- createBitmapEffect(android.graphics.Bitmap bitmap)
createBitmapEffect(android.graphics.Bitmap bitmap, android.graphics.Rect src, android.graphics.Rect dst)
+ createBitmapEffect(android.graphics.Bitmap bitmap)
createBlendModeEffect(android.graphics.RenderEffect dst, android.graphics.RenderEffect src, android.graphics.BlendMode blendMode)
createBlurEffect(float radiusX, float radiusY, android.graphics.RenderEffect inputEffect, android.graphics.Shader.TileMode edgeTreatment)
createBlurEffect(float radiusX, float radiusY, android.graphics.Shader.TileMode edgeTreatment)
createChainEffect(android.graphics.RenderEffect outer, android.graphics.RenderEffect inner)
- createColorFilterEffect(android.graphics.ColorFilter colorFilter)
createColorFilterEffect(android.graphics.ColorFilter colorFilter, android.graphics.RenderEffect renderEffect)
- createOffsetEffect(float offsetX, float offsetY)
+ createColorFilterEffect(android.graphics.ColorFilter colorFilter)
createOffsetEffect(float offsetX, float offsetY, android.graphics.RenderEffect input)
+ createOffsetEffect(float offsetX, float offsetY)
createRuntimeShaderEffect(android.graphics.RuntimeShader shader, java.lang.String uniformShaderName)
createShaderEffect(android.graphics.Shader shader)
class RenderNode
@@ -6660,17 +6759,17 @@ package android.graphics
setColorUniform(java.lang.String uniformName, android.graphics.Color color)
setColorUniform(java.lang.String uniformName, int color)
setColorUniform(java.lang.String uniformName, long color)
- setFloatUniform(java.lang.String uniformName, float value)
- setFloatUniform(java.lang.String uniformName, float value1, float value2)
- setFloatUniform(java.lang.String uniformName, float value1, float value2, float value3)
setFloatUniform(java.lang.String uniformName, float value1, float value2, float value3, float value4)
+ setFloatUniform(java.lang.String uniformName, float value1, float value2, float value3)
+ setFloatUniform(java.lang.String uniformName, float value1, float value2)
+ setFloatUniform(java.lang.String uniformName, float value)
setFloatUniform(java.lang.String uniformName, float[] values)
setInputBuffer(java.lang.String shaderName, android.graphics.BitmapShader shader)
setInputShader(java.lang.String shaderName, android.graphics.Shader shader)
- setIntUniform(java.lang.String uniformName, int value)
- setIntUniform(java.lang.String uniformName, int value1, int value2)
- setIntUniform(java.lang.String uniformName, int value1, int value2, int value3)
setIntUniform(java.lang.String uniformName, int value1, int value2, int value3, int value4)
+ setIntUniform(java.lang.String uniformName, int value1, int value2, int value3)
+ setIntUniform(java.lang.String uniformName, int value1, int value2)
+ setIntUniform(java.lang.String uniformName, int value)
setIntUniform(java.lang.String uniformName, int[] values)
class Shader
getLocalMatrix(android.graphics.Matrix localM)
@@ -6681,11 +6780,11 @@ package android.graphics
attachToGLContext(int texName)
getTransformMatrix(float[] mtx)
setDefaultBufferSize(int width, int height)
- setOnFrameAvailableListener(android.graphics.SurfaceTexture.OnFrameAvailableListener listener)
setOnFrameAvailableListener(android.graphics.SurfaceTexture.OnFrameAvailableListener listener, android.os.Handler handler)
+ setOnFrameAvailableListener(android.graphics.SurfaceTexture.OnFrameAvailableListener listener)
#ctor(boolean singleBufferMode)
- #ctor(int texName)
#ctor(int texName, boolean singleBufferMode)
+ #ctor(int texName)
interface SurfaceTexture.OnFrameAvailableListener
onFrameAvailable(android.graphics.SurfaceTexture surfaceTexture)
class SurfaceTexture.OutOfResourcesException
@@ -6696,8 +6795,8 @@ package android.graphics
#ctor(float cx, float cy, long color0, long color1)
#ctor(float cx, float cy, long[] colors, float[] positions)
class Typeface
- create(android.graphics.Typeface family, int style)
create(android.graphics.Typeface family, int weight, boolean italic)
+ create(android.graphics.Typeface family, int style)
create(java.lang.String familyName, int style)
createFromAsset(android.content.res.AssetManager mgr, java.lang.String path)
createFromFile(java.io.File file)
@@ -6722,13 +6821,15 @@ package android.graphics
#ctor(android.graphics.fonts.FontFamily family)
class YuvImage
compressToJpeg(android.graphics.Rect rectangle, int quality, java.io.OutputStream stream)
+ compressToJpegR(android.graphics.YuvImage sdr, int quality, java.io.OutputStream stream)
+ #ctor(byte[] yuv, int format, int width, int height, int[] strides, android.graphics.ColorSpace colorSpace)
#ctor(byte[] yuv, int format, int width, int height, int[] strides)
package android.graphics.drawable
;---------------------------------------
class AdaptiveIconDrawable
- #ctor(android.graphics.drawable.Drawable backgroundDrawable, android.graphics.drawable.Drawable foregroundDrawable)
#ctor(android.graphics.drawable.Drawable backgroundDrawable, android.graphics.drawable.Drawable foregroundDrawable, android.graphics.drawable.Drawable monochromeDrawable)
+ #ctor(android.graphics.drawable.Drawable backgroundDrawable, android.graphics.drawable.Drawable foregroundDrawable)
applyTheme(android.content.res.Resources.Theme t)
draw(android.graphics.Canvas canvas)
getHotspotBounds(android.graphics.Rect outRect)
@@ -6804,10 +6905,10 @@ package android.graphics.drawable
unscheduleSelf(java.lang.Runnable what)
class BitmapDrawable
applyTheme(android.content.res.Resources.Theme t)
- #ctor(android.content.res.Resources res)
#ctor(android.content.res.Resources res, android.graphics.Bitmap bitmap)
#ctor(android.content.res.Resources res, java.io.InputStream is)
#ctor(android.content.res.Resources res, java.lang.String filepath)
+ #ctor(android.content.res.Resources res)
#ctor(android.graphics.Bitmap bitmap)
#ctor(java.io.InputStream is)
#ctor(java.lang.String filepath)
@@ -6869,19 +6970,19 @@ package android.graphics.drawable
applyTheme(android.content.res.Resources.Theme t)
copyBounds(android.graphics.Rect bounds)
createFromPath(java.lang.String pathName)
- createFromResourceStream(android.content.res.Resources res, android.util.TypedValue value, java.io.InputStream is, java.lang.String srcName)
createFromResourceStream(android.content.res.Resources res, android.util.TypedValue value, java.io.InputStream is, java.lang.String srcName, android.graphics.BitmapFactory.Options opts)
+ createFromResourceStream(android.content.res.Resources res, android.util.TypedValue value, java.io.InputStream is, java.lang.String srcName)
createFromStream(java.io.InputStream is, java.lang.String srcName)
- createFromXml(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser parser)
createFromXml(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser parser, android.content.res.Resources.Theme theme)
- createFromXmlInner(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser parser, android.util.AttributeSet attrs)
+ createFromXml(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser parser)
createFromXmlInner(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser parser, android.util.AttributeSet attrs, android.content.res.Resources.Theme theme)
+ createFromXmlInner(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser parser, android.util.AttributeSet attrs)
draw(android.graphics.Canvas canvas)
getHotspotBounds(android.graphics.Rect outRect)
getOutline(android.graphics.Outline outline)
getPadding(android.graphics.Rect padding)
- inflate(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser parser, android.util.AttributeSet attrs)
inflate(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser parser, android.util.AttributeSet attrs, android.content.res.Resources.Theme theme)
+ inflate(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser parser, android.util.AttributeSet attrs)
onBoundsChange(android.graphics.Rect bounds)
onLayoutDirectionChanged(int layoutDirection)
onLevelChange(int level)
@@ -6914,8 +7015,8 @@ package android.graphics.drawable
scheduleDrawable(android.graphics.drawable.Drawable who, java.lang.Runnable what, long when)
unscheduleDrawable(android.graphics.drawable.Drawable who, java.lang.Runnable what)
class Drawable.ConstantState
- newDrawable(android.content.res.Resources res)
newDrawable(android.content.res.Resources res, android.content.res.Resources.Theme theme)
+ newDrawable(android.content.res.Resources res)
class DrawableContainer
applyTheme(android.content.res.Resources.Theme theme)
draw(android.graphics.Canvas canvas)
@@ -6987,8 +7088,8 @@ package android.graphics.drawable
setColor(android.content.res.ColorStateList colorStateList)
setColor(int argb)
setColorFilter(android.graphics.ColorFilter colorFilter)
- setColors(int[] colors)
setColors(int[] colors, float[] offsets)
+ setColors(int[] colors)
setCornerRadii(float[] radii)
setCornerRadius(float radius)
setDither(boolean dither)
@@ -7001,10 +7102,10 @@ package android.graphics.drawable
setPadding(int left, int top, int right, int bottom)
setShape(int shape)
setSize(int width, int height)
- setStroke(int width, android.content.res.ColorStateList colorStateList)
setStroke(int width, android.content.res.ColorStateList colorStateList, float dashWidth, float dashGap)
- setStroke(int width, int color)
+ setStroke(int width, android.content.res.ColorStateList colorStateList)
setStroke(int width, int color, float dashWidth, float dashGap)
+ setStroke(int width, int color)
setThickness(int thickness)
setThicknessRatio(float thicknessRatio)
setTintBlendMode(android.graphics.BlendMode blendMode)
@@ -7036,10 +7137,10 @@ package android.graphics.drawable
getOutline(android.graphics.Outline outline)
getPadding(android.graphics.Rect padding)
inflate(android.content.res.Resources r, org.xmlpull.v1.XmlPullParser parser, android.util.AttributeSet attrs, android.content.res.Resources.Theme theme)
- #ctor(android.graphics.drawable.Drawable drawable, float inset)
#ctor(android.graphics.drawable.Drawable drawable, float insetLeftFraction, float insetTopFraction, float insetRightFraction, float insetBottomFraction)
- #ctor(android.graphics.drawable.Drawable drawable, int inset)
+ #ctor(android.graphics.drawable.Drawable drawable, float inset)
#ctor(android.graphics.drawable.Drawable drawable, int insetLeft, int insetTop, int insetRight, int insetBottom)
+ #ctor(android.graphics.drawable.Drawable drawable, int inset)
onBoundsChange(android.graphics.Rect bounds)
class LayerDrawable
addLayer(android.graphics.drawable.Drawable dr)
@@ -7263,8 +7364,8 @@ package android.graphics.fonts
#ctor(android.content.res.AssetManager am, java.lang.String path)
#ctor(android.content.res.Resources res, int resId)
#ctor(android.graphics.fonts.Font font)
- #ctor(android.os.ParcelFileDescriptor fd)
#ctor(android.os.ParcelFileDescriptor fd, long offset, long size)
+ #ctor(android.os.ParcelFileDescriptor fd)
#ctor(java.io.File path)
#ctor(java.nio.ByteBuffer buffer)
setFontVariationSettings(android.graphics.fonts.FontVariationAxis[] axes)
@@ -7371,8 +7472,8 @@ package android.hardware
setPreviewTexture(android.graphics.SurfaceTexture surfaceTexture)
setZoomChangeListener(android.hardware.Camera.OnZoomChangeListener listener)
startSmoothZoom(int value)
- takePicture(android.hardware.Camera.ShutterCallback shutter, android.hardware.Camera.PictureCallback raw, android.hardware.Camera.PictureCallback jpeg)
takePicture(android.hardware.Camera.ShutterCallback shutter, android.hardware.Camera.PictureCallback raw, android.hardware.Camera.PictureCallback postview, android.hardware.Camera.PictureCallback jpeg)
+ takePicture(android.hardware.Camera.ShutterCallback shutter, android.hardware.Camera.PictureCallback raw, android.hardware.Camera.PictureCallback jpeg)
class Camera.Area
#ctor(android.graphics.Rect rect, int weight)
equals(java.lang.Object obj)
@@ -7470,8 +7571,8 @@ package android.hardware
flush(android.hardware.SensorEventListener listener)
getAltitude(float p0, float p)
getAngleChange(float[] angleChange, float[] R, float[] prevR)
- getDefaultSensor(int type)
getDefaultSensor(int type, boolean wakeUp)
+ getDefaultSensor(int type)
getDynamicSensorList(int type)
getInclination(float[] I)
getOrientation(float[] R, float[] values)
@@ -7479,27 +7580,27 @@ package android.hardware
getRotationMatrix(float[] R, float[] I, float[] gravity, float[] geomagnetic)
getRotationMatrixFromVector(float[] R, float[] rotationVector)
getSensorList(int type)
- registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback callback)
registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback callback, android.os.Handler handler)
- registerListener(android.hardware.SensorEventListener listener, android.hardware.Sensor sensor, int samplingPeriodUs)
+ registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback callback)
registerListener(android.hardware.SensorEventListener listener, android.hardware.Sensor sensor, int samplingPeriodUs, android.os.Handler handler)
- registerListener(android.hardware.SensorEventListener listener, android.hardware.Sensor sensor, int samplingPeriodUs, int maxReportLatencyUs)
registerListener(android.hardware.SensorEventListener listener, android.hardware.Sensor sensor, int samplingPeriodUs, int maxReportLatencyUs, android.os.Handler handler)
- registerListener(android.hardware.SensorListener listener, int sensors)
+ registerListener(android.hardware.SensorEventListener listener, android.hardware.Sensor sensor, int samplingPeriodUs, int maxReportLatencyUs)
+ registerListener(android.hardware.SensorEventListener listener, android.hardware.Sensor sensor, int samplingPeriodUs)
registerListener(android.hardware.SensorListener listener, int sensors, int rate)
+ registerListener(android.hardware.SensorListener listener, int sensors)
remapCoordinateSystem(float[] inR, int X, int Y, float[] outR)
requestTriggerSensor(android.hardware.TriggerEventListener listener, android.hardware.Sensor sensor)
unregisterDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback callback)
- unregisterListener(android.hardware.SensorEventListener listener)
unregisterListener(android.hardware.SensorEventListener listener, android.hardware.Sensor sensor)
- unregisterListener(android.hardware.SensorListener listener)
+ unregisterListener(android.hardware.SensorEventListener listener)
unregisterListener(android.hardware.SensorListener listener, int sensors)
+ unregisterListener(android.hardware.SensorListener listener)
class SensorManager.DynamicSensorCallback
onDynamicSensorConnected(android.hardware.Sensor sensor)
onDynamicSensorDisconnected(android.hardware.Sensor sensor)
class SensorPrivacyManager
- supportsSensorToggle(int sensor)
supportsSensorToggle(int toggleType, int sensor)
+ supportsSensorToggle(int sensor)
class SyncFence
await(java.time.Duration timeout)
writeToParcel(android.os.Parcel out, int flags)
@@ -7537,10 +7638,10 @@ package android.hardware.biometrics
package android.hardware.camera2
;---------------------------------------
class CameraAccessException
- #ctor(int problem)
- #ctor(int problem, java.lang.String message)
#ctor(int problem, java.lang.String message, java.lang.Throwable cause)
+ #ctor(int problem, java.lang.String message)
#ctor(int problem, java.lang.Throwable cause)
+ #ctor(int problem)
class CameraCaptureSession
capture(android.hardware.camera2.CaptureRequest request, android.hardware.camera2.CameraCaptureSession.CaptureCallback listener, android.os.Handler handler)
captureBurst(java.util.List requests, android.hardware.camera2.CameraCaptureSession.CaptureCallback listener, android.os.Handler handler)
@@ -7581,8 +7682,8 @@ package android.hardware.camera2
class CameraConstrainedHighSpeedCaptureSession
createHighSpeedRequestList(android.hardware.camera2.CaptureRequest request)
class CameraDevice
- createCaptureRequest(int templateType)
createCaptureRequest(int templateType, java.util.Set physicalCameraIdSet)
+ createCaptureRequest(int templateType)
createCaptureSession(android.hardware.camera2.params.SessionConfiguration config)
createCaptureSession(java.util.List outputs, android.hardware.camera2.CameraCaptureSession.StateCallback callback, android.os.Handler handler)
createCaptureSessionByOutputConfigurations(java.util.List outputConfigurations, android.hardware.camera2.CameraCaptureSession.StateCallback callback, android.os.Handler handler)
@@ -7775,9 +7876,9 @@ package android.hardware.camera2.params
setDynamicRangeProfile(long profile)
setMirrorMode(int mirrorMode)
setPhysicalCameraId(java.lang.String physicalCameraId)
+ setReadoutTimestampEnabled(boolean on)
setStreamUseCase(long streamUseCase)
setTimestampBase(int timestampBase)
- useReadoutTimestamp(boolean on)
writeToParcel(android.os.Parcel dest, int flags)
class RecommendedStreamConfigurationMap
getHighResolutionOutputSizes(int format)
@@ -7835,8 +7936,10 @@ package android.hardware.display
equals(java.lang.Object o)
writeToParcel(android.os.Parcel dest, int flags)
class DisplayManager
- createVirtualDisplay(java.lang.String name, int width, int height, int densityDpi, android.view.Surface surface, int flags)
+ createVirtualDisplay(android.hardware.display.VirtualDisplayConfig config, android.os.Handler handler, android.hardware.display.VirtualDisplay.Callback callback)
+ createVirtualDisplay(android.hardware.display.VirtualDisplayConfig config)
createVirtualDisplay(java.lang.String name, int width, int height, int densityDpi, android.view.Surface surface, int flags, android.hardware.display.VirtualDisplay.Callback callback, android.os.Handler handler)
+ createVirtualDisplay(java.lang.String name, int width, int height, int densityDpi, android.view.Surface surface, int flags)
getDisplay(int displayId)
getDisplays(java.lang.String category)
registerDisplayListener(android.hardware.display.DisplayManager.DisplayListener listener, android.os.Handler handler)
@@ -7845,9 +7948,24 @@ package android.hardware.display
onDisplayAdded(int displayId)
onDisplayChanged(int displayId)
onDisplayRemoved(int displayId)
+ class HdrConversionMode
+ equals(java.lang.Object o)
+ #ctor(int conversionMode, int preferredHdrOutputType)
+ #ctor(int conversionMode)
+ writeToParcel(android.os.Parcel dest, int flags)
class VirtualDisplay
resize(int width, int height, int densityDpi)
setSurface(android.view.Surface surface)
+ class VirtualDisplayConfig
+ equals(java.lang.Object o)
+ writeToParcel(android.os.Parcel dest, int flags)
+ class VirtualDisplayConfig.Builder
+ addDisplayCategory(java.lang.String displayCategory)
+ setDisplayCategories(java.util.Set displayCategories)
+ setFlags(int flags)
+ setRequestedRefreshRate(float requestedRefreshRate)
+ setSurface(android.view.Surface surface)
+ #ctor(java.lang.String name, int width, int height, int densityDpi)
package android.hardware.fingerprint
;---------------------------------------
@@ -7864,7 +7982,11 @@ package android.hardware.fingerprint
package android.hardware.input
;---------------------------------------
+ class HostUsiVersion
+ equals(java.lang.Object o)
+ writeToParcel(android.os.Parcel dest, int flags)
class InputManager
+ getHostUsiVersion(android.view.Display display)
getInputDevice(int id)
registerInputDeviceListener(android.hardware.input.InputManager.InputDeviceListener listener, android.os.Handler handler)
unregisterInputDeviceListener(android.hardware.input.InputManager.InputDeviceListener listener)
@@ -7908,11 +8030,11 @@ package android.hardware.usb
getInterface(int index)
writeToParcel(android.os.Parcel parcel, int flags)
class UsbDeviceConnection
- bulkTransfer(android.hardware.usb.UsbEndpoint endpoint, byte[] buffer, int length, int timeout)
bulkTransfer(android.hardware.usb.UsbEndpoint endpoint, byte[] buffer, int offset, int length, int timeout)
+ bulkTransfer(android.hardware.usb.UsbEndpoint endpoint, byte[] buffer, int length, int timeout)
claimInterface(android.hardware.usb.UsbInterface intf, boolean force)
- controlTransfer(int requestType, int request, int value, int index, byte[] buffer, int length, int timeout)
controlTransfer(int requestType, int request, int value, int index, byte[] buffer, int offset, int length, int timeout)
+ controlTransfer(int requestType, int request, int value, int index, byte[] buffer, int length, int timeout)
releaseInterface(android.hardware.usb.UsbInterface intf)
requestWait(long timeout)
setConfiguration(android.hardware.usb.UsbConfiguration configuration)
@@ -7931,115 +8053,138 @@ package android.hardware.usb
requestPermission(android.hardware.usb.UsbDevice device, android.app.PendingIntent pi)
class UsbRequest
initialize(android.hardware.usb.UsbDeviceConnection connection, android.hardware.usb.UsbEndpoint endpoint)
- queue(java.nio.ByteBuffer buffer)
queue(java.nio.ByteBuffer buffer, int length)
+ queue(java.nio.ByteBuffer buffer)
setClientData(java.lang.Object data)
-package android.healthconnect
+package android.health.connect
;---------------------------------------
class AggregateRecordsGroupedByDurationResponse
- get(android.healthconnect.datatypes.AggregationType aggregationType)
- getZoneOffset(android.healthconnect.datatypes.AggregationType aggregationType)
+ get(android.health.connect.datatypes.AggregationType aggregationType)
+ getZoneOffset(android.health.connect.datatypes.AggregationType aggregationType)
class AggregateRecordsGroupedByPeriodResponse
- get(android.healthconnect.datatypes.AggregationType aggregationType)
- getZoneOffset(android.healthconnect.datatypes.AggregationType aggregationType)
+ get(android.health.connect.datatypes.AggregationType aggregationType)
+ getZoneOffset(android.health.connect.datatypes.AggregationType aggregationType)
class AggregateRecordsRequest.Builder
- addAggregationType(android.healthconnect.datatypes.AggregationType aggregationType)
- addDataOriginsFilter(android.healthconnect.datatypes.DataOrigin dataOriginsFilter)
- #ctor(android.healthconnect.TimeRangeFilter timeRangeFilter)
+ addAggregationType(android.health.connect.datatypes.AggregationType aggregationType)
+ addDataOriginsFilter(android.health.connect.datatypes.DataOrigin dataOriginsFilter)
+ #ctor(android.health.connect.TimeRangeFilter timeRangeFilter)
class AggregateRecordsResponse
- get(android.healthconnect.datatypes.AggregationType aggregationType)
- getZoneOffset(android.healthconnect.datatypes.AggregationType aggregationType)
- class ChangeLogsRequest.Builder
- #ctor(java.lang.String token)
- setPageSize(int pageSize)
- class ChangeLogTokenRequest.Builder
- addDataOriginFilter(android.healthconnect.datatypes.DataOrigin dataOriginFilter)
- addRecordType(java.lang.Class extends android.healthconnect.datatypes.Record> recordType)
- class HealthConnectException
- #ctor(int errorCode)
- #ctor(int errorCode, java.lang.String message)
+ get(android.health.connect.datatypes.AggregationType aggregationType)
+ getDataOrigins(android.health.connect.datatypes.AggregationType aggregationType)
+ getZoneOffset(android.health.connect.datatypes.AggregationType aggregationType)
class HealthConnectManager
- aggregate(android.healthconnect.AggregateRecordsRequest request, java.util.concurrent.Executor executor, android.os.OutcomeReceiver,android.healthconnect.HealthConnectException> callback)
- aggregateGroupByDuration(android.healthconnect.AggregateRecordsRequest request, java.time.Duration duration, java.util.concurrent.Executor executor, android.os.OutcomeReceiver>,android.healthconnect.HealthConnectException> callback)
- aggregateGroupByPeriod(android.healthconnect.AggregateRecordsRequest request, java.time.Period period, java.util.concurrent.Executor executor, android.os.OutcomeReceiver>,android.healthconnect.HealthConnectException> callback)
- deleteRecords(java.lang.Class extends android.healthconnect.datatypes.Record> recordType, android.healthconnect.TimeRangeFilter timeRangeFilter, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
- deleteRecords(java.util.List recordIds, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
- getChangeLogs(android.healthconnect.ChangeLogsRequest changeLogsRequest, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
- getChangeLogToken(android.healthconnect.ChangeLogTokenRequest request, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
- insertRecords(java.util.List records, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
- readRecords(android.healthconnect.ReadRecordsRequestUsingFilters request, java.util.concurrent.Executor executor, android.os.OutcomeReceiver,android.healthconnect.HealthConnectException> callback)
- readRecords(android.healthconnect.ReadRecordsRequestUsingIds request, java.util.concurrent.Executor executor, android.os.OutcomeReceiver,android.healthconnect.HealthConnectException> callback)
- updateRecords(java.util.List records, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
- class InsertRecordsResponse
- #ctor(java.util.List records)
+ aggregate(android.health.connect.AggregateRecordsRequest request, java.util.concurrent.Executor executor, android.os.OutcomeReceiver,android.health.connect.HealthConnectException> callback)
+ aggregateGroupByDuration(android.health.connect.AggregateRecordsRequest request, java.time.Duration duration, java.util.concurrent.Executor executor, android.os.OutcomeReceiver>,android.health.connect.HealthConnectException> callback)
+ aggregateGroupByPeriod(android.health.connect.AggregateRecordsRequest request, java.time.Period period, java.util.concurrent.Executor executor, android.os.OutcomeReceiver>,android.health.connect.HealthConnectException> callback)
+ deleteRecords(java.lang.Class extends android.health.connect.datatypes.Record> recordType, android.health.connect.TimeRangeFilter timeRangeFilter, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
+ deleteRecords(java.util.List recordIds, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
+ getChangeLogs(android.health.connect.changelog.ChangeLogsRequest changeLogsRequest, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
+ getChangeLogToken(android.health.connect.changelog.ChangeLogTokenRequest request, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
+ insertRecords(java.util.List records, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
+ readRecords(android.health.connect.ReadRecordsRequest request, java.util.concurrent.Executor executor, android.os.OutcomeReceiver,android.health.connect.HealthConnectException> callback)
+ updateRecords(java.util.List records, java.util.concurrent.Executor executor, android.os.OutcomeReceiver callback)
+ class LocalTimeRangeFilter
+ equals(java.lang.Object o)
+ class LocalTimeRangeFilter.Builder
+ setEndTime(java.time.LocalDateTime localEndTime)
+ setStartTime(java.time.LocalDateTime localStartTime)
class ReadRecordsRequestUsingFilters.Builder
- addDataOrigins(android.healthconnect.datatypes.DataOrigin dataOrigin)
+ addDataOrigins(android.health.connect.datatypes.DataOrigin dataOrigin)
#ctor(java.lang.Class recordType)
- setTimeRangeFilter(android.healthconnect.TimeRangeFilter timeRangeFilter)
+ setAscending(boolean ascending)
+ setPageSize(int pageSize)
+ setPageToken(long pageToken)
+ setTimeRangeFilter(android.health.connect.TimeRangeFilter timeRangeFilter)
class ReadRecordsRequestUsingIds.Builder
addClientRecordId(java.lang.String clientRecordId)
addId(java.lang.String id)
#ctor(java.lang.Class recordType)
- class RecordIdFilter.Builder
- #ctor(java.lang.Class extends android.healthconnect.datatypes.Record> recordType)
- setClientRecordId(java.lang.String clientRecordId)
- setId(java.lang.String id)
- class TimeRangeFilter.Builder
- #ctor(java.time.Instant startTime, java.time.Instant endTime)
+ class RecordIdFilter
+ fromClientRecordId(java.lang.Class extends android.health.connect.datatypes.Record> recordType, java.lang.String clientRecordId)
+ fromId(java.lang.Class extends android.health.connect.datatypes.Record> recordType, java.lang.String id)
+ class TimeInstantRangeFilter
+ equals(java.lang.Object o)
+ class TimeInstantRangeFilter.Builder
+ setEndTime(java.time.Instant endTime)
+ setStartTime(java.time.Instant startTime)
+
+package android.health.connect.changelog
+;---------------------------------------
+ class ChangeLogsRequest
+ writeToParcel(android.os.Parcel dest, int flags)
+ class ChangeLogsRequest.Builder
+ #ctor(java.lang.String token)
+ setPageSize(int pageSize)
+ class ChangeLogsResponse
+ writeToParcel(android.os.Parcel dest, int flags)
+ class ChangeLogsResponse.DeletedLog
+ #ctor(java.lang.String deletedRecordId, long deletedTime)
+ class ChangeLogTokenRequest
+ writeToParcel(android.os.Parcel dest, int flags)
+ class ChangeLogTokenRequest.Builder
+ addDataOriginFilter(android.health.connect.datatypes.DataOrigin dataOriginFilter)
+ addRecordType(java.lang.Class extends android.health.connect.datatypes.Record> recordType)
+ class ChangeLogTokenResponse
+ writeToParcel(android.os.Parcel dest, int flags)
-package android.healthconnect.datatypes
+package android.health.connect.datatypes
;---------------------------------------
class ActiveCaloriesBurnedRecord
equals(java.lang.Object o)
class ActiveCaloriesBurnedRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, android.healthconnect.datatypes.units.Energy energy)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, android.health.connect.datatypes.units.Energy energy)
setEndZoneOffset(java.time.ZoneOffset endZoneOffset)
setStartZoneOffset(java.time.ZoneOffset startZoneOffset)
class BasalBodyTemperatureRecord
equals(java.lang.Object o)
class BasalBodyTemperatureRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant time, int measurementLocation, android.healthconnect.datatypes.units.Temperature temperature)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, int measurementLocation, android.health.connect.datatypes.units.Temperature temperature)
setZoneOffset(java.time.ZoneOffset zoneOffset)
class BasalMetabolicRateRecord
equals(java.lang.Object o)
class BasalMetabolicRateRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant time, android.healthconnect.datatypes.units.Power basalMetabolicRate)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, android.health.connect.datatypes.units.Power basalMetabolicRate)
setZoneOffset(java.time.ZoneOffset zoneOffset)
class BloodGlucoseRecord
equals(java.lang.Object o)
class BloodGlucoseRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant time, int specimenSource, android.healthconnect.datatypes.units.BloodGlucose level, int relationToMeal, int mealType)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, int specimenSource, android.health.connect.datatypes.units.BloodGlucose level, int relationToMeal, int mealType)
setZoneOffset(java.time.ZoneOffset zoneOffset)
class BloodPressureRecord
equals(java.lang.Object o)
class BloodPressureRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant time, int measurementLocation, android.healthconnect.datatypes.units.Pressure systolic, android.healthconnect.datatypes.units.Pressure diastolic, int bodyPosition)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, int measurementLocation, android.health.connect.datatypes.units.Pressure systolic, android.health.connect.datatypes.units.Pressure diastolic, int bodyPosition)
setZoneOffset(java.time.ZoneOffset zoneOffset)
class BodyFatRecord
equals(java.lang.Object o)
class BodyFatRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant time, android.healthconnect.datatypes.units.Percentage percentage)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, android.health.connect.datatypes.units.Percentage percentage)
setZoneOffset(java.time.ZoneOffset zoneOffset)
class BodyTemperatureRecord
equals(java.lang.Object o)
class BodyTemperatureRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant time, int measurementLocation, android.healthconnect.datatypes.units.Temperature temperature)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, int measurementLocation, android.health.connect.datatypes.units.Temperature temperature)
+ setZoneOffset(java.time.ZoneOffset zoneOffset)
+ class BodyWaterMassRecord
+ equals(java.lang.Object o)
+ class BodyWaterMassRecord.Builder
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, android.health.connect.datatypes.units.Mass bodyWaterMass)
setZoneOffset(java.time.ZoneOffset zoneOffset)
class BoneMassRecord
equals(java.lang.Object o)
class BoneMassRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant time, android.healthconnect.datatypes.units.Mass mass)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, android.health.connect.datatypes.units.Mass mass)
setZoneOffset(java.time.ZoneOffset zoneOffset)
class CervicalMucusRecord
equals(java.lang.Object o)
class CervicalMucusRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant time, int sensation, int appearance)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, int sensation, int appearance)
setZoneOffset(java.time.ZoneOffset zoneOffset)
class CyclingPedalingCadenceRecord
equals(java.lang.Object object)
class CyclingPedalingCadenceRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, java.util.List cyclingPedalingCadenceRecordSamples)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, java.util.List cyclingPedalingCadenceRecordSamples)
setEndZoneOffset(java.time.ZoneOffset endZoneOffset)
setStartZoneOffset(java.time.ZoneOffset startZoneOffset)
class CyclingPedalingCadenceRecord.CyclingPedalingCadenceRecordSample
@@ -8058,179 +8203,209 @@ package android.healthconnect.datatypes
class DistanceRecord
equals(java.lang.Object o)
class DistanceRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, android.healthconnect.datatypes.units.Length distance)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, android.health.connect.datatypes.units.Length distance)
setEndZoneOffset(java.time.ZoneOffset endZoneOffset)
setStartZoneOffset(java.time.ZoneOffset startZoneOffset)
class ElevationGainedRecord
equals(java.lang.Object o)
class ElevationGainedRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, android.healthconnect.datatypes.units.Length elevation)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, android.health.connect.datatypes.units.Length elevation)
setEndZoneOffset(java.time.ZoneOffset endZoneOffset)
setStartZoneOffset(java.time.ZoneOffset startZoneOffset)
+ class ExerciseLap
+ equals(java.lang.Object o)
+ class ExerciseLap.Builder
+ #ctor(java.time.Instant startTime, java.time.Instant endTime)
+ setLength(android.health.connect.datatypes.units.Length length)
class ExerciseRoute
equals(java.lang.Object o)
- #ctor(java.util.List routeLocations)
+ #ctor(java.util.List routeLocations)
+ writeToParcel(android.os.Parcel dest, int flags)
class ExerciseRoute.Location
equals(java.lang.Object o)
+ writeToParcel(android.os.Parcel dest, int flags)
class ExerciseRoute.Location.Builder
#ctor(java.time.Instant time, double latitude, double longitude)
- setAltitude(android.healthconnect.datatypes.units.Length altitude)
- setHorizontalAccuracy(android.healthconnect.datatypes.units.Length horizontalAccuracy)
- setVerticalAccuracy(android.healthconnect.datatypes.units.Length verticalAccuracy)
+ setAltitude(android.health.connect.datatypes.units.Length altitude)
+ setHorizontalAccuracy(android.health.connect.datatypes.units.Length horizontalAccuracy)
+ setVerticalAccuracy(android.health.connect.datatypes.units.Length verticalAccuracy)
+ class ExerciseSegment
+ equals(java.lang.Object o)
+ class ExerciseSegment.Builder
+ #ctor(java.time.Instant startTime, java.time.Instant endTime, int segmentType)
+ setRepetitionsCount(int repetitionsCount)
class ExerciseSessionRecord
equals(java.lang.Object o)
class ExerciseSessionRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, int exerciseType)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, int exerciseType)
setEndZoneOffset(java.time.ZoneOffset endZoneOffset)
+ setLaps(java.util.List laps)
setNotes(java.lang.CharSequence notes)
- setRoute(android.healthconnect.datatypes.ExerciseRoute route)
+ setRoute(android.health.connect.datatypes.ExerciseRoute route)
+ setSegments(java.util.List segments)
setStartZoneOffset(java.time.ZoneOffset startZoneOffset)
setTitle(java.lang.CharSequence title)
class FloorsClimbedRecord
equals(java.lang.Object o)
class FloorsClimbedRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, int floors)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, double floors)
setEndZoneOffset(java.time.ZoneOffset endZoneOffset)
setStartZoneOffset(java.time.ZoneOffset startZoneOffset)
class HeartRateRecord
equals(java.lang.Object object)
class HeartRateRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, java.util.List heartRateSamples)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, java.util.List heartRateSamples)
setEndZoneOffset(java.time.ZoneOffset endZoneOffset)
setStartZoneOffset(java.time.ZoneOffset startZoneOffset)
class HeartRateRecord.HeartRateSample
equals(java.lang.Object object)
#ctor(long beatsPerMinute, java.time.Instant time)
+ class HeartRateVariabilityRmssdRecord
+ equals(java.lang.Object o)
+ class HeartRateVariabilityRmssdRecord.Builder
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, double heartRateVariabilityMillis)
+ setZoneOffset(java.time.ZoneOffset zoneOffset)
class HeightRecord
equals(java.lang.Object o)
class HeightRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant time, android.healthconnect.datatypes.units.Length height)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, android.health.connect.datatypes.units.Length height)
setZoneOffset(java.time.ZoneOffset zoneOffset)
class HydrationRecord
equals(java.lang.Object o)
class HydrationRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, android.healthconnect.datatypes.units.Volume volume)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, android.health.connect.datatypes.units.Volume volume)
setEndZoneOffset(java.time.ZoneOffset endZoneOffset)
setStartZoneOffset(java.time.ZoneOffset startZoneOffset)
class InstantRecord
equals(java.lang.Object object)
+ class IntermenstrualBleedingRecord
+ equals(java.lang.Object o)
+ class IntermenstrualBleedingRecord.Builder
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time)
+ setZoneOffset(java.time.ZoneOffset zoneOffset)
class IntervalRecord
equals(java.lang.Object object)
class LeanBodyMassRecord
equals(java.lang.Object o)
class LeanBodyMassRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant time, android.healthconnect.datatypes.units.Mass mass)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, android.health.connect.datatypes.units.Mass mass)
setZoneOffset(java.time.ZoneOffset zoneOffset)
class MenstruationFlowRecord
equals(java.lang.Object o)
class MenstruationFlowRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant time, int flow)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, int flow)
setZoneOffset(java.time.ZoneOffset zoneOffset)
+ class MenstruationPeriodRecord
+ equals(java.lang.Object object)
+ class MenstruationPeriodRecord.Builder
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime)
+ setEndZoneOffset(java.time.ZoneOffset endZoneOffset)
+ setStartZoneOffset(java.time.ZoneOffset startZoneOffset)
class Metadata
equals(java.lang.Object object)
- setId(java.lang.String id)
class Metadata.Builder
setClientRecordId(java.lang.String clientRecordId)
setClientRecordVersion(long clientRecordVersion)
- setDataOrigin(android.healthconnect.datatypes.DataOrigin dataOrigin)
- setDevice(android.healthconnect.datatypes.Device device)
+ setDataOrigin(android.health.connect.datatypes.DataOrigin dataOrigin)
+ setDevice(android.health.connect.datatypes.Device device)
setId(java.lang.String id)
setLastModifiedTime(java.time.Instant lastModifiedTime)
+ setRecordingMethod(int recordingMethod)
class NutritionRecord
equals(java.lang.Object o)
class NutritionRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime)
- setBiotin(android.healthconnect.datatypes.units.Mass biotin)
- setCaffeine(android.healthconnect.datatypes.units.Mass caffeine)
- setCalcium(android.healthconnect.datatypes.units.Mass calcium)
- setChloride(android.healthconnect.datatypes.units.Mass chloride)
- setCholesterol(android.healthconnect.datatypes.units.Mass cholesterol)
- setChromium(android.healthconnect.datatypes.units.Mass chromium)
- setCopper(android.healthconnect.datatypes.units.Mass copper)
- setDietaryFiber(android.healthconnect.datatypes.units.Mass dietaryFiber)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime)
+ setBiotin(android.health.connect.datatypes.units.Mass biotin)
+ setCaffeine(android.health.connect.datatypes.units.Mass caffeine)
+ setCalcium(android.health.connect.datatypes.units.Mass calcium)
+ setChloride(android.health.connect.datatypes.units.Mass chloride)
+ setCholesterol(android.health.connect.datatypes.units.Mass cholesterol)
+ setChromium(android.health.connect.datatypes.units.Mass chromium)
+ setCopper(android.health.connect.datatypes.units.Mass copper)
+ setDietaryFiber(android.health.connect.datatypes.units.Mass dietaryFiber)
setEndZoneOffset(java.time.ZoneOffset endZoneOffset)
- setEnergy(android.healthconnect.datatypes.units.Energy energy)
- setEnergyFromFat(android.healthconnect.datatypes.units.Energy energyFromFat)
- setFolate(android.healthconnect.datatypes.units.Mass folate)
- setFolicAcid(android.healthconnect.datatypes.units.Mass folicAcid)
- setIodine(android.healthconnect.datatypes.units.Mass iodine)
- setIron(android.healthconnect.datatypes.units.Mass iron)
- setMagnesium(android.healthconnect.datatypes.units.Mass magnesium)
- setManganese(android.healthconnect.datatypes.units.Mass manganese)
+ setEnergy(android.health.connect.datatypes.units.Energy energy)
+ setEnergyFromFat(android.health.connect.datatypes.units.Energy energyFromFat)
+ setFolate(android.health.connect.datatypes.units.Mass folate)
+ setFolicAcid(android.health.connect.datatypes.units.Mass folicAcid)
+ setIodine(android.health.connect.datatypes.units.Mass iodine)
+ setIron(android.health.connect.datatypes.units.Mass iron)
+ setMagnesium(android.health.connect.datatypes.units.Mass magnesium)
+ setManganese(android.health.connect.datatypes.units.Mass manganese)
setMealName(java.lang.String mealName)
setMealType(int mealType)
- setMolybdenum(android.healthconnect.datatypes.units.Mass molybdenum)
- setMonounsaturatedFat(android.healthconnect.datatypes.units.Mass monounsaturatedFat)
- setNiacin(android.healthconnect.datatypes.units.Mass niacin)
- setPantothenicAcid(android.healthconnect.datatypes.units.Mass pantothenicAcid)
- setPhosphorus(android.healthconnect.datatypes.units.Mass phosphorus)
- setPolyunsaturatedFat(android.healthconnect.datatypes.units.Mass polyunsaturatedFat)
- setPotassium(android.healthconnect.datatypes.units.Mass potassium)
- setProtein(android.healthconnect.datatypes.units.Mass protein)
- setRiboflavin(android.healthconnect.datatypes.units.Mass riboflavin)
- setSaturatedFat(android.healthconnect.datatypes.units.Mass saturatedFat)
- setSelenium(android.healthconnect.datatypes.units.Mass selenium)
- setSodium(android.healthconnect.datatypes.units.Mass sodium)
+ setMolybdenum(android.health.connect.datatypes.units.Mass molybdenum)
+ setMonounsaturatedFat(android.health.connect.datatypes.units.Mass monounsaturatedFat)
+ setNiacin(android.health.connect.datatypes.units.Mass niacin)
+ setPantothenicAcid(android.health.connect.datatypes.units.Mass pantothenicAcid)
+ setPhosphorus(android.health.connect.datatypes.units.Mass phosphorus)
+ setPolyunsaturatedFat(android.health.connect.datatypes.units.Mass polyunsaturatedFat)
+ setPotassium(android.health.connect.datatypes.units.Mass potassium)
+ setProtein(android.health.connect.datatypes.units.Mass protein)
+ setRiboflavin(android.health.connect.datatypes.units.Mass riboflavin)
+ setSaturatedFat(android.health.connect.datatypes.units.Mass saturatedFat)
+ setSelenium(android.health.connect.datatypes.units.Mass selenium)
+ setSodium(android.health.connect.datatypes.units.Mass sodium)
setStartZoneOffset(java.time.ZoneOffset startZoneOffset)
- setSugar(android.healthconnect.datatypes.units.Mass sugar)
- setThiamin(android.healthconnect.datatypes.units.Mass thiamin)
- setTotalCarbohydrate(android.healthconnect.datatypes.units.Mass totalCarbohydrate)
- setTotalFat(android.healthconnect.datatypes.units.Mass totalFat)
- setTransFat(android.healthconnect.datatypes.units.Mass transFat)
- setUnsaturatedFat(android.healthconnect.datatypes.units.Mass unsaturatedFat)
- setVitaminA(android.healthconnect.datatypes.units.Mass vitaminA)
- setVitaminB12(android.healthconnect.datatypes.units.Mass vitaminB12)
- setVitaminB6(android.healthconnect.datatypes.units.Mass vitaminB6)
- setVitaminC(android.healthconnect.datatypes.units.Mass vitaminC)
- setVitaminD(android.healthconnect.datatypes.units.Mass vitaminD)
- setVitaminE(android.healthconnect.datatypes.units.Mass vitaminE)
- setVitaminK(android.healthconnect.datatypes.units.Mass vitaminK)
- setZinc(android.healthconnect.datatypes.units.Mass zinc)
+ setSugar(android.health.connect.datatypes.units.Mass sugar)
+ setThiamin(android.health.connect.datatypes.units.Mass thiamin)
+ setTotalCarbohydrate(android.health.connect.datatypes.units.Mass totalCarbohydrate)
+ setTotalFat(android.health.connect.datatypes.units.Mass totalFat)
+ setTransFat(android.health.connect.datatypes.units.Mass transFat)
+ setUnsaturatedFat(android.health.connect.datatypes.units.Mass unsaturatedFat)
+ setVitaminA(android.health.connect.datatypes.units.Mass vitaminA)
+ setVitaminB12(android.health.connect.datatypes.units.Mass vitaminB12)
+ setVitaminB6(android.health.connect.datatypes.units.Mass vitaminB6)
+ setVitaminC(android.health.connect.datatypes.units.Mass vitaminC)
+ setVitaminD(android.health.connect.datatypes.units.Mass vitaminD)
+ setVitaminE(android.health.connect.datatypes.units.Mass vitaminE)
+ setVitaminK(android.health.connect.datatypes.units.Mass vitaminK)
+ setZinc(android.health.connect.datatypes.units.Mass zinc)
class OvulationTestRecord
equals(java.lang.Object o)
class OvulationTestRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant time, int result)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, int result)
setZoneOffset(java.time.ZoneOffset zoneOffset)
class OxygenSaturationRecord
equals(java.lang.Object o)
class OxygenSaturationRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant time, android.healthconnect.datatypes.units.Percentage percentage)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, android.health.connect.datatypes.units.Percentage percentage)
setZoneOffset(java.time.ZoneOffset zoneOffset)
class PowerRecord
equals(java.lang.Object object)
class PowerRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, java.util.List powerRecordSamples)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, java.util.List powerRecordSamples)
setEndZoneOffset(java.time.ZoneOffset endZoneOffset)
setStartZoneOffset(java.time.ZoneOffset startZoneOffset)
class PowerRecord.PowerRecordSample
equals(java.lang.Object object)
- #ctor(android.healthconnect.datatypes.units.Power power, java.time.Instant time)
+ #ctor(android.health.connect.datatypes.units.Power power, java.time.Instant time)
class Record
equals(java.lang.Object object)
class RespiratoryRateRecord
equals(java.lang.Object o)
class RespiratoryRateRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant time, double rate)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, double rate)
setZoneOffset(java.time.ZoneOffset zoneOffset)
class RestingHeartRateRecord
equals(java.lang.Object o)
class RestingHeartRateRecord.Builder
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant time, long beatsPerMinute)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, long beatsPerMinute)
setZoneOffset(java.time.ZoneOffset zoneOffset)
class SexualActivityRecord
equals(java.lang.Object o)
class SexualActivityRecord.Builder
setZoneOffset(java.time.ZoneOffset zoneOffset)
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant time, int protectionUsed)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, int protectionUsed)
class SleepSessionRecord
equals(java.lang.Object o)
class SleepSessionRecord.Builder
- addStage(android.healthconnect.datatypes.SleepSessionRecord.Stage stage)
setEndZoneOffset(java.time.ZoneOffset endZoneOffset)
setNotes(java.lang.CharSequence notes)
+ setStages(java.util.List stages)
setStartZoneOffset(java.time.ZoneOffset startZoneOffset)
setTitle(java.lang.CharSequence title)
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, java.util.List stages)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime)
class SleepSessionRecord.Stage
equals(java.lang.Object o)
#ctor(java.time.Instant startTime, java.time.Instant endTime, int stageType)
@@ -8239,16 +8414,16 @@ package android.healthconnect.datatypes
class SpeedRecord.Builder
setEndZoneOffset(java.time.ZoneOffset endZoneOffset)
setStartZoneOffset(java.time.ZoneOffset startZoneOffset)
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, java.util.List speedRecordSamples)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, java.util.List speedRecordSamples)
class SpeedRecord.SpeedRecordSample
equals(java.lang.Object object)
- #ctor(android.healthconnect.datatypes.units.Velocity speed, java.time.Instant time)
+ #ctor(android.health.connect.datatypes.units.Velocity speed, java.time.Instant time)
class StepsCadenceRecord
equals(java.lang.Object object)
class StepsCadenceRecord.Builder
setEndZoneOffset(java.time.ZoneOffset endZoneOffset)
setStartZoneOffset(java.time.ZoneOffset startZoneOffset)
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, java.util.List stepsCadenceRecordSamples)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, java.util.List stepsCadenceRecordSamples)
class StepsCadenceRecord.StepsCadenceRecordSample
equals(java.lang.Object object)
#ctor(double rate, java.time.Instant time)
@@ -8257,87 +8432,87 @@ package android.healthconnect.datatypes
class StepsRecord.Builder
setEndZoneOffset(java.time.ZoneOffset endZoneOffset)
setStartZoneOffset(java.time.ZoneOffset startZoneOffset)
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, long count)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, long count)
class TotalCaloriesBurnedRecord
equals(java.lang.Object object)
class TotalCaloriesBurnedRecord.Builder
setEndZoneOffset(java.time.ZoneOffset endZoneOffset)
setStartZoneOffset(java.time.ZoneOffset startZoneOffset)
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, android.healthconnect.datatypes.units.Energy energy)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, android.health.connect.datatypes.units.Energy energy)
class Vo2MaxRecord
equals(java.lang.Object o)
class Vo2MaxRecord.Builder
setZoneOffset(java.time.ZoneOffset zoneOffset)
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant time, int measurementMethod, double vo2MillilitersPerMinuteKilogram)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, int measurementMethod, double vo2MillilitersPerMinuteKilogram)
class WeightRecord
equals(java.lang.Object o)
class WeightRecord.Builder
setZoneOffset(java.time.ZoneOffset zoneOffset)
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant time, android.healthconnect.datatypes.units.Mass weight)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant time, android.health.connect.datatypes.units.Mass weight)
class WheelchairPushesRecord
equals(java.lang.Object object)
class WheelchairPushesRecord.Builder
setEndZoneOffset(java.time.ZoneOffset endZoneOffset)
setStartZoneOffset(java.time.ZoneOffset startZoneOffset)
- #ctor(android.healthconnect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, long count)
+ #ctor(android.health.connect.datatypes.Metadata metadata, java.time.Instant startTime, java.time.Instant endTime, long count)
-package android.healthconnect.datatypes.units
+package android.health.connect.datatypes.units
;---------------------------------------
class BloodGlucose
- compareTo(android.healthconnect.datatypes.units.BloodGlucose other)
+ compareTo(android.health.connect.datatypes.units.BloodGlucose other)
equals(java.lang.Object object)
fromMillimolesPerLiter(double value)
class Energy
- compareTo(android.healthconnect.datatypes.units.Energy other)
+ compareTo(android.health.connect.datatypes.units.Energy other)
equals(java.lang.Object object)
- fromJoules(double value)
+ fromCalories(double value)
class Length
- compareTo(android.healthconnect.datatypes.units.Length other)
+ compareTo(android.health.connect.datatypes.units.Length other)
equals(java.lang.Object object)
fromMeters(double value)
class Mass
- compareTo(android.healthconnect.datatypes.units.Mass other)
+ compareTo(android.health.connect.datatypes.units.Mass other)
equals(java.lang.Object object)
- fromKilograms(double value)
+ fromGrams(double value)
class Percentage
- compareTo(android.healthconnect.datatypes.units.Percentage other)
+ compareTo(android.health.connect.datatypes.units.Percentage other)
equals(java.lang.Object object)
fromValue(double value)
class Power
- compareTo(android.healthconnect.datatypes.units.Power other)
+ compareTo(android.health.connect.datatypes.units.Power other)
equals(java.lang.Object object)
fromWatts(double value)
class Pressure
- compareTo(android.healthconnect.datatypes.units.Pressure other)
+ compareTo(android.health.connect.datatypes.units.Pressure other)
equals(java.lang.Object object)
fromMillimetersOfMercury(double value)
class Temperature
- compareTo(android.healthconnect.datatypes.units.Temperature other)
+ compareTo(android.health.connect.datatypes.units.Temperature other)
equals(java.lang.Object object)
fromCelsius(double value)
class Velocity
- compareTo(android.healthconnect.datatypes.units.Velocity other)
+ compareTo(android.health.connect.datatypes.units.Velocity other)
equals(java.lang.Object object)
fromMetersPerSecond(double value)
class Volume
- compareTo(android.healthconnect.datatypes.units.Volume other)
+ compareTo(android.health.connect.datatypes.units.Volume other)
equals(java.lang.Object object)
- fromMilliliters(double value)
+ fromLiters(double value)
package android.icu.lang
;---------------------------------------
class UCharacter
charCount(int cp)
- codePointAt(char[] text, int index)
codePointAt(char[] text, int index, int limit)
+ codePointAt(char[] text, int index)
codePointAt(java.lang.CharSequence seq, int index)
- codePointBefore(char[] text, int index)
codePointBefore(char[] text, int index, int limit)
+ codePointBefore(char[] text, int index)
codePointBefore(java.lang.CharSequence seq, int index)
codePointCount(char[] text, int start, int limit)
codePointCount(java.lang.CharSequence text, int start, int limit)
- digit(int ch)
digit(int ch, int radix)
+ digit(int ch)
foldCase(int ch, boolean defaultmapping)
foldCase(int ch, int options)
foldCase(java.lang.String str, boolean defaultmapping)
@@ -8348,8 +8523,8 @@ package android.icu.lang
getCharFromExtendedName(java.lang.String name)
getCharFromName(java.lang.String name)
getCharFromNameAlias(java.lang.String name)
- getCodePoint(char char16)
getCodePoint(char lead, char trail)
+ getCodePoint(char char16)
getCodePoint(int lead, int trail)
getCombiningClass(int ch)
getDirection(int ch)
@@ -8408,8 +8583,8 @@ package android.icu.lang
isWhitespace(int ch)
offsetByCodePoints(char[] text, int start, int count, int index, int codePointOffset)
offsetByCodePoints(java.lang.CharSequence text, int index, int codePointOffset)
- toChars(int cp)
toChars(int cp, char[] dst, int dstIndex)
+ toChars(int cp)
toCodePoint(char high, char low)
toCodePoint(int high, int low)
toLowerCase(android.icu.util.ULocale locale, java.lang.String str)
@@ -8417,12 +8592,12 @@ package android.icu.lang
toLowerCase(java.lang.String str)
toLowerCase(java.util.Locale locale, java.lang.String str)
toString(int ch)
- toTitleCase(android.icu.util.ULocale locale, java.lang.String str, android.icu.text.BreakIterator titleIter)
toTitleCase(android.icu.util.ULocale locale, java.lang.String str, android.icu.text.BreakIterator titleIter, int options)
+ toTitleCase(android.icu.util.ULocale locale, java.lang.String str, android.icu.text.BreakIterator titleIter)
toTitleCase(int ch)
toTitleCase(java.lang.String str, android.icu.text.BreakIterator breakiter)
- toTitleCase(java.util.Locale locale, java.lang.String str, android.icu.text.BreakIterator breakiter)
toTitleCase(java.util.Locale locale, java.lang.String str, android.icu.text.BreakIterator titleIter, int options)
+ toTitleCase(java.util.Locale locale, java.lang.String str, android.icu.text.BreakIterator breakiter)
toUpperCase(android.icu.util.ULocale locale, java.lang.String str)
toUpperCase(int ch)
toUpperCase(java.lang.String str)
@@ -8455,54 +8630,54 @@ package android.icu.math
;---------------------------------------
class BigDecimal
abs(android.icu.math.MathContext set)
- add(android.icu.math.BigDecimal rhs)
add(android.icu.math.BigDecimal rhs, android.icu.math.MathContext set)
- #ctor(char[] inchars)
+ add(android.icu.math.BigDecimal rhs)
#ctor(char[] inchars, int offset, int length)
+ #ctor(char[] inchars)
#ctor(double num)
#ctor(int num)
#ctor(java.lang.String string)
#ctor(java.math.BigDecimal bd)
- #ctor(java.math.BigInteger bi)
#ctor(java.math.BigInteger bi, int scale)
+ #ctor(java.math.BigInteger bi)
#ctor(long num)
- compareTo(android.icu.math.BigDecimal rhs)
compareTo(android.icu.math.BigDecimal rhs, android.icu.math.MathContext set)
- divide(android.icu.math.BigDecimal rhs)
+ compareTo(android.icu.math.BigDecimal rhs)
divide(android.icu.math.BigDecimal rhs, android.icu.math.MathContext set)
- divide(android.icu.math.BigDecimal rhs, int round)
divide(android.icu.math.BigDecimal rhs, int scale, int round)
- divideInteger(android.icu.math.BigDecimal rhs)
+ divide(android.icu.math.BigDecimal rhs, int round)
+ divide(android.icu.math.BigDecimal rhs)
divideInteger(android.icu.math.BigDecimal rhs, android.icu.math.MathContext set)
+ divideInteger(android.icu.math.BigDecimal rhs)
equals(java.lang.Object obj)
- format(int before, int after)
format(int before, int after, int explaces, int exdigits, int exformint, int exround)
- max(android.icu.math.BigDecimal rhs)
+ format(int before, int after)
max(android.icu.math.BigDecimal rhs, android.icu.math.MathContext set)
- min(android.icu.math.BigDecimal rhs)
+ max(android.icu.math.BigDecimal rhs)
min(android.icu.math.BigDecimal rhs, android.icu.math.MathContext set)
+ min(android.icu.math.BigDecimal rhs)
movePointLeft(int n)
movePointRight(int n)
- multiply(android.icu.math.BigDecimal rhs)
multiply(android.icu.math.BigDecimal rhs, android.icu.math.MathContext set)
+ multiply(android.icu.math.BigDecimal rhs)
negate(android.icu.math.MathContext set)
plus(android.icu.math.MathContext set)
- pow(android.icu.math.BigDecimal rhs)
pow(android.icu.math.BigDecimal rhs, android.icu.math.MathContext set)
- remainder(android.icu.math.BigDecimal rhs)
+ pow(android.icu.math.BigDecimal rhs)
remainder(android.icu.math.BigDecimal rhs, android.icu.math.MathContext set)
- setScale(int scale)
+ remainder(android.icu.math.BigDecimal rhs)
setScale(int scale, int round)
- subtract(android.icu.math.BigDecimal rhs)
+ setScale(int scale)
subtract(android.icu.math.BigDecimal rhs, android.icu.math.MathContext set)
+ subtract(android.icu.math.BigDecimal rhs)
valueOf(double dub)
- valueOf(long lint)
valueOf(long lint, int scale)
+ valueOf(long lint)
class MathContext
- #ctor(int setdigits)
- #ctor(int setdigits, int setform)
- #ctor(int setdigits, int setform, boolean setlostdigits)
#ctor(int setdigits, int setform, boolean setlostdigits, int setroundingmode)
+ #ctor(int setdigits, int setform, boolean setlostdigits)
+ #ctor(int setdigits, int setform)
+ #ctor(int setdigits)
package android.icu.number
;---------------------------------------
@@ -8669,17 +8844,17 @@ package android.icu.text
setText(java.lang.String newText)
setText(java.text.CharacterIterator newText)
class CaseMap.Fold
- apply(java.lang.CharSequence src)
apply(java.lang.CharSequence src, A dest, android.icu.text.Edits edits)
+ apply(java.lang.CharSequence src)
class CaseMap.Lower
- apply(java.util.Locale locale, java.lang.CharSequence src)
apply(java.util.Locale locale, java.lang.CharSequence src, A dest, android.icu.text.Edits edits)
+ apply(java.util.Locale locale, java.lang.CharSequence src)
class CaseMap.Title
- apply(java.util.Locale locale, android.icu.text.BreakIterator iter, java.lang.CharSequence src)
apply(java.util.Locale locale, android.icu.text.BreakIterator iter, java.lang.CharSequence src, A dest, android.icu.text.Edits edits)
+ apply(java.util.Locale locale, android.icu.text.BreakIterator iter, java.lang.CharSequence src)
class CaseMap.Upper
- apply(java.util.Locale locale, java.lang.CharSequence src)
apply(java.util.Locale locale, java.lang.CharSequence src, A dest, android.icu.text.Edits edits)
+ apply(java.util.Locale locale, java.lang.CharSequence src)
class CollationElementIterator
equals(java.lang.Object that)
getMaxExpansion(int ce)
@@ -8703,13 +8878,13 @@ package android.icu.text
equals(java.lang.Object obj)
equals(java.lang.String source, java.lang.String target)
getCollationKey(java.lang.String source)
- getDisplayName(android.icu.util.ULocale objectLocale)
getDisplayName(android.icu.util.ULocale objectLocale, android.icu.util.ULocale displayLocale)
- getDisplayName(java.util.Locale objectLocale)
+ getDisplayName(android.icu.util.ULocale objectLocale)
getDisplayName(java.util.Locale objectLocale, java.util.Locale displayLocale)
+ getDisplayName(java.util.Locale objectLocale)
getEquivalentReorderCodes(int reorderCode)
- getFunctionalEquivalent(java.lang.String keyword, android.icu.util.ULocale locID)
getFunctionalEquivalent(java.lang.String keyword, android.icu.util.ULocale locID, boolean[] isAvailable)
+ getFunctionalEquivalent(java.lang.String keyword, android.icu.util.ULocale locID)
getInstance(android.icu.util.ULocale locale)
getInstance(java.util.Locale locale)
getKeywordValues(java.lang.String keyword)
@@ -8743,44 +8918,44 @@ package android.icu.text
equals(java.lang.Object obj)
format(android.icu.util.Calendar cal, java.lang.StringBuffer toAppendTo, java.text.FieldPosition fieldPosition)
format(java.lang.Object obj, java.lang.StringBuffer toAppendTo, java.text.FieldPosition fieldPosition)
- format(java.util.Date date)
format(java.util.Date date, java.lang.StringBuffer toAppendTo, java.text.FieldPosition fieldPosition)
+ format(java.util.Date date)
getBooleanAttribute(android.icu.text.DateFormat.BooleanAttribute key)
getContext(android.icu.text.DisplayContext.Type type)
- getDateInstance(android.icu.util.Calendar cal, int dateStyle)
getDateInstance(android.icu.util.Calendar cal, int dateStyle, android.icu.util.ULocale locale)
getDateInstance(android.icu.util.Calendar cal, int dateStyle, java.util.Locale locale)
- getDateInstance(int style)
+ getDateInstance(android.icu.util.Calendar cal, int dateStyle)
getDateInstance(int style, android.icu.util.ULocale locale)
getDateInstance(int style, java.util.Locale aLocale)
- getDateTimeInstance(android.icu.util.Calendar cal, int dateStyle, int timeStyle)
+ getDateInstance(int style)
getDateTimeInstance(android.icu.util.Calendar cal, int dateStyle, int timeStyle, android.icu.util.ULocale locale)
getDateTimeInstance(android.icu.util.Calendar cal, int dateStyle, int timeStyle, java.util.Locale locale)
- getDateTimeInstance(int dateStyle, int timeStyle)
+ getDateTimeInstance(android.icu.util.Calendar cal, int dateStyle, int timeStyle)
getDateTimeInstance(int dateStyle, int timeStyle, android.icu.util.ULocale locale)
getDateTimeInstance(int dateStyle, int timeStyle, java.util.Locale aLocale)
- getInstance(android.icu.util.Calendar cal)
+ getDateTimeInstance(int dateStyle, int timeStyle)
getInstance(android.icu.util.Calendar cal, android.icu.util.ULocale locale)
getInstance(android.icu.util.Calendar cal, java.util.Locale locale)
+ getInstance(android.icu.util.Calendar cal)
getInstanceForSkeleton(android.icu.util.Calendar cal, java.lang.String skeleton, android.icu.util.ULocale locale)
getInstanceForSkeleton(android.icu.util.Calendar cal, java.lang.String skeleton, java.util.Locale locale)
- getInstanceForSkeleton(java.lang.String skeleton)
getInstanceForSkeleton(java.lang.String skeleton, android.icu.util.ULocale locale)
getInstanceForSkeleton(java.lang.String skeleton, java.util.Locale locale)
+ getInstanceForSkeleton(java.lang.String skeleton)
getPatternInstance(android.icu.util.Calendar cal, java.lang.String skeleton, android.icu.util.ULocale locale)
getPatternInstance(android.icu.util.Calendar cal, java.lang.String skeleton, java.util.Locale locale)
- getPatternInstance(java.lang.String skeleton)
getPatternInstance(java.lang.String skeleton, android.icu.util.ULocale locale)
getPatternInstance(java.lang.String skeleton, java.util.Locale locale)
- getTimeInstance(android.icu.util.Calendar cal, int timeStyle)
+ getPatternInstance(java.lang.String skeleton)
getTimeInstance(android.icu.util.Calendar cal, int timeStyle, android.icu.util.ULocale locale)
getTimeInstance(android.icu.util.Calendar cal, int timeStyle, java.util.Locale locale)
- getTimeInstance(int style)
+ getTimeInstance(android.icu.util.Calendar cal, int timeStyle)
getTimeInstance(int style, android.icu.util.ULocale locale)
getTimeInstance(int style, java.util.Locale aLocale)
- parse(java.lang.String text)
+ getTimeInstance(int style)
parse(java.lang.String text, android.icu.util.Calendar cal, java.text.ParsePosition pos)
parse(java.lang.String text, java.text.ParsePosition pos)
+ parse(java.lang.String text)
parseObject(java.lang.String source, java.text.ParsePosition pos)
setBooleanAttribute(android.icu.text.DateFormat.BooleanAttribute key, boolean value)
setCalendar(android.icu.util.Calendar newCalendar)
@@ -8814,14 +8989,14 @@ package android.icu.text
setEraNames(java.lang.String[] newEraNames)
setEras(java.lang.String[] newEras)
setLocalPatternChars(java.lang.String newLocalPatternChars)
- setMonths(java.lang.String[] newMonths)
setMonths(java.lang.String[] newMonths, int context, int width)
+ setMonths(java.lang.String[] newMonths)
setNarrowEras(java.lang.String[] newNarrowEras)
setQuarters(java.lang.String[] newQuarters, int context, int width)
setShortMonths(java.lang.String[] newShortMonths)
setShortWeekdays(java.lang.String[] newAbbrevWeekdays)
- setWeekdays(java.lang.String[] newWeekdays)
setWeekdays(java.lang.String[] newWeekdays, int context, int width)
+ setWeekdays(java.lang.String[] newWeekdays)
setYearNames(java.lang.String[] yearNames, int context, int width)
setZodiacNames(java.lang.String[] zodiacNames, int context, int width)
setZoneStrings(java.lang.String[][] newZoneStrings)
@@ -8832,12 +9007,12 @@ package android.icu.text
formatToValue(android.icu.util.Calendar fromCalendar, android.icu.util.Calendar toCalendar)
formatToValue(android.icu.util.DateInterval dtInterval)
getContext(android.icu.text.DisplayContext.Type type)
- getInstance(java.lang.String skeleton)
getInstance(java.lang.String skeleton, android.icu.text.DateIntervalInfo dtitvinf)
- getInstance(java.lang.String skeleton, android.icu.util.ULocale locale)
getInstance(java.lang.String skeleton, android.icu.util.ULocale locale, android.icu.text.DateIntervalInfo dtitvinf)
- getInstance(java.lang.String skeleton, java.util.Locale locale)
+ getInstance(java.lang.String skeleton, android.icu.util.ULocale locale)
getInstance(java.lang.String skeleton, java.util.Locale locale, android.icu.text.DateIntervalInfo dtitvinf)
+ getInstance(java.lang.String skeleton, java.util.Locale locale)
+ getInstance(java.lang.String skeleton)
parseObject(java.lang.String source, java.text.ParsePosition parse_pos)
setContext(android.icu.text.DisplayContext context)
setDateIntervalInfo(android.icu.text.DateIntervalInfo newItvPattern)
@@ -8863,15 +9038,15 @@ package android.icu.text
getAppendItemName(int field)
getBaseSkeleton(java.lang.String pattern)
getBaseSkeletons(java.util.Set result)
- getBestPattern(java.lang.String skeleton)
getBestPattern(java.lang.String skeleton, int options)
+ getBestPattern(java.lang.String skeleton)
getFieldDisplayName(int field, android.icu.text.DateTimePatternGenerator.DisplayWidth width)
getInstance(android.icu.util.ULocale uLocale)
getInstance(java.util.Locale locale)
getSkeleton(java.lang.String pattern)
getSkeletons(java.util.Map result)
- replaceFieldTypes(java.lang.String pattern, java.lang.String skeleton)
replaceFieldTypes(java.lang.String pattern, java.lang.String skeleton, int options)
+ replaceFieldTypes(java.lang.String pattern, java.lang.String skeleton)
setAppendItemFormat(int field, java.lang.String value)
setAppendItemName(int field, java.lang.String value)
setDateTimeFormat(java.lang.String dateTimeFormat)
@@ -8879,9 +9054,9 @@ package android.icu.text
class DecimalFormat
applyLocalizedPattern(java.lang.String localizedPattern)
applyPattern(java.lang.String pattern)
- #ctor(java.lang.String pattern)
- #ctor(java.lang.String pattern, android.icu.text.DecimalFormatSymbols symbols)
#ctor(java.lang.String pattern, android.icu.text.DecimalFormatSymbols symbols, android.icu.text.CurrencyPluralInfo infoInput, int style)
+ #ctor(java.lang.String pattern, android.icu.text.DecimalFormatSymbols symbols)
+ #ctor(java.lang.String pattern)
equals(java.lang.Object obj)
format(android.icu.math.BigDecimal number, java.lang.StringBuffer result, java.text.FieldPosition fieldPosition)
format(android.icu.util.CurrencyAmount currAmt, java.lang.StringBuffer result, java.text.FieldPosition fieldPosition)
@@ -8995,10 +9170,10 @@ package android.icu.text
format(java.util.Collection> items)
formatToValue(java.lang.Object... items)
formatToValue(java.util.Collection> items)
- getInstance(android.icu.util.ULocale locale)
getInstance(android.icu.util.ULocale locale, android.icu.text.ListFormatter.Type type, android.icu.text.ListFormatter.Width width)
- getInstance(java.util.Locale locale)
+ getInstance(android.icu.util.ULocale locale)
getInstance(java.util.Locale locale, android.icu.text.ListFormatter.Type type, android.icu.text.ListFormatter.Width width)
+ getInstance(java.util.Locale locale)
getPatternForNumItems(int count)
class ListFormatter.FormattedList
appendTo(A appendable)
@@ -9007,11 +9182,11 @@ package android.icu.text
subSequence(int start, int end)
class LocaleDisplayNames
getContext(android.icu.text.DisplayContext.Type type)
- getInstance(android.icu.util.ULocale locale)
getInstance(android.icu.util.ULocale locale, android.icu.text.DisplayContext... contexts)
getInstance(android.icu.util.ULocale locale, android.icu.text.LocaleDisplayNames.DialectHandling dialectHandling)
- getInstance(java.util.Locale locale)
+ getInstance(android.icu.util.ULocale locale)
getInstance(java.util.Locale locale, android.icu.text.DisplayContext... contexts)
+ getInstance(java.util.Locale locale)
getUiList(java.util.Set localeSet, boolean inSelf, java.util.Comparator collator)
getUiListCompareWholeItems(java.util.Set localeSet, java.util.Comparator comparator)
keyDisplayName(java.lang.String key)
@@ -9036,15 +9211,15 @@ package android.icu.text
formatMeasures(java.lang.StringBuilder appendTo, java.text.FieldPosition fpos, android.icu.util.Measure... measures)
getCurrencyFormat(android.icu.util.ULocale locale)
getCurrencyFormat(java.util.Locale locale)
- getInstance(android.icu.util.ULocale locale, android.icu.text.MeasureFormat.FormatWidth formatWidth)
getInstance(android.icu.util.ULocale locale, android.icu.text.MeasureFormat.FormatWidth formatWidth, android.icu.text.NumberFormat format)
- getInstance(java.util.Locale locale, android.icu.text.MeasureFormat.FormatWidth formatWidth)
+ getInstance(android.icu.util.ULocale locale, android.icu.text.MeasureFormat.FormatWidth formatWidth)
getInstance(java.util.Locale locale, android.icu.text.MeasureFormat.FormatWidth formatWidth, android.icu.text.NumberFormat format)
+ getInstance(java.util.Locale locale, android.icu.text.MeasureFormat.FormatWidth formatWidth)
getUnitDisplayName(android.icu.util.MeasureUnit unit)
parseObject(java.lang.String source, java.text.ParsePosition pos)
class MessageFormat
- applyPattern(java.lang.String pttrn)
applyPattern(java.lang.String pattern, android.icu.text.MessagePattern.ApostropheMode aposMode)
+ applyPattern(java.lang.String pttrn)
autoQuoteApostrophe(java.lang.String pattern)
equals(java.lang.Object obj)
format(java.lang.Object arguments, java.lang.StringBuffer result, java.text.FieldPosition pos)
@@ -9054,14 +9229,14 @@ package android.icu.text
format(java.util.Map arguments, java.lang.StringBuffer result, java.text.FieldPosition pos)
formatToCharacterIterator(java.lang.Object arguments)
getFormatByArgumentName(java.lang.String argumentName)
- #ctor(java.lang.String pattern)
#ctor(java.lang.String pattern, android.icu.util.ULocale locale)
#ctor(java.lang.String pattern, java.util.Locale locale)
- parse(java.lang.String source)
+ #ctor(java.lang.String pattern)
parse(java.lang.String source, java.text.ParsePosition pos)
+ parse(java.lang.String source)
parseObject(java.lang.String source, java.text.ParsePosition pos)
- parseToMap(java.lang.String source)
parseToMap(java.lang.String source, java.text.ParsePosition pos)
+ parseToMap(java.lang.String source)
setFormat(int formatElementIndex, java.text.Format newFormat)
setFormatByArgumentIndex(int argumentIndex, java.text.Format newFormat)
setFormatByArgumentName(java.lang.String argumentName, java.text.Format newFormat)
@@ -9109,35 +9284,35 @@ package android.icu.text
hasBoundaryBefore(int c)
isInert(int c)
isNormalized(java.lang.CharSequence s)
- normalize(java.lang.CharSequence src)
normalize(java.lang.CharSequence src, java.lang.Appendable dest)
normalize(java.lang.CharSequence src, java.lang.StringBuilder dest)
+ normalize(java.lang.CharSequence src)
normalizeSecondAndAppend(java.lang.StringBuilder first, java.lang.CharSequence second)
quickCheck(java.lang.CharSequence s)
spanQuickCheckYes(java.lang.CharSequence s)
class NumberFormat
equals(java.lang.Object obj)
- format(android.icu.math.BigDecimal number)
format(android.icu.math.BigDecimal number, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
- format(android.icu.util.CurrencyAmount currAmt)
+ format(android.icu.math.BigDecimal number)
format(android.icu.util.CurrencyAmount currAmt, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
- format(double number)
+ format(android.icu.util.CurrencyAmount currAmt)
format(double number, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
+ format(double number)
format(java.lang.Object number, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
- format(java.math.BigDecimal number)
format(java.math.BigDecimal number, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
- format(java.math.BigInteger number)
+ format(java.math.BigDecimal number)
format(java.math.BigInteger number, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
- format(long number)
+ format(java.math.BigInteger number)
format(long number, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
+ format(long number)
getContext(android.icu.text.DisplayContext.Type type)
getCurrencyInstance(android.icu.util.ULocale inLocale)
getCurrencyInstance(java.util.Locale inLocale)
- getInstance(android.icu.util.ULocale inLocale)
getInstance(android.icu.util.ULocale desiredLocale, int choice)
+ getInstance(android.icu.util.ULocale inLocale)
getInstance(int style)
- getInstance(java.util.Locale inLocale)
getInstance(java.util.Locale inLocale, int style)
+ getInstance(java.util.Locale inLocale)
getIntegerInstance(android.icu.util.ULocale inLocale)
getIntegerInstance(java.util.Locale inLocale)
getNumberInstance(android.icu.util.ULocale inLocale)
@@ -9147,8 +9322,8 @@ package android.icu.text
getPercentInstance(java.util.Locale inLocale)
getScientificInstance(android.icu.util.ULocale inLocale)
getScientificInstance(java.util.Locale inLocale)
- parse(java.lang.String text)
parse(java.lang.String text, java.text.ParsePosition parsePosition)
+ parse(java.lang.String text)
parseCurrency(java.lang.CharSequence text, java.text.ParsePosition pos)
parseObject(java.lang.String source, java.text.ParsePosition parsePosition)
setContext(android.icu.text.DisplayContext context)
@@ -9177,27 +9352,27 @@ package android.icu.text
format(java.lang.Object number, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
parse(java.lang.String text, java.text.ParsePosition parsePosition)
parseObject(java.lang.String source, java.text.ParsePosition pos)
- #ctor(android.icu.text.PluralRules rules)
#ctor(android.icu.text.PluralRules rules, java.lang.String pattern)
- #ctor(android.icu.util.ULocale ulocale)
- #ctor(android.icu.util.ULocale ulocale, android.icu.text.PluralRules rules)
+ #ctor(android.icu.text.PluralRules rules)
#ctor(android.icu.util.ULocale ulocale, android.icu.text.PluralRules rules, java.lang.String pattern)
- #ctor(android.icu.util.ULocale ulocale, android.icu.text.PluralRules.PluralType type)
#ctor(android.icu.util.ULocale ulocale, android.icu.text.PluralRules.PluralType type, java.lang.String pattern)
+ #ctor(android.icu.util.ULocale ulocale, android.icu.text.PluralRules.PluralType type)
+ #ctor(android.icu.util.ULocale ulocale, android.icu.text.PluralRules rules)
#ctor(android.icu.util.ULocale ulocale, java.lang.String pattern)
+ #ctor(android.icu.util.ULocale ulocale)
#ctor(java.lang.String pattern)
- #ctor(java.util.Locale locale)
- #ctor(java.util.Locale locale, android.icu.text.PluralRules rules)
#ctor(java.util.Locale locale, android.icu.text.PluralRules.PluralType type)
+ #ctor(java.util.Locale locale, android.icu.text.PluralRules rules)
+ #ctor(java.util.Locale locale)
setNumberFormat(android.icu.text.NumberFormat format)
class PluralRules
createRules(java.lang.String description)
equals(android.icu.text.PluralRules rhs)
equals(java.lang.Object rhs)
- forLocale(android.icu.util.ULocale locale)
forLocale(android.icu.util.ULocale locale, android.icu.text.PluralRules.PluralType type)
- forLocale(java.util.Locale locale)
+ forLocale(android.icu.util.ULocale locale)
forLocale(java.util.Locale locale, android.icu.text.PluralRules.PluralType type)
+ forLocale(java.util.Locale locale)
getAllKeywordValues(java.lang.String keyword)
getSamples(java.lang.String keyword)
getUniqueKeywordValue(java.lang.String keyword)
@@ -9215,11 +9390,11 @@ package android.icu.text
formatToValue(android.icu.text.RelativeDateTimeFormatter.Direction direction, android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit unit)
formatToValue(double quantity, android.icu.text.RelativeDateTimeFormatter.Direction direction, android.icu.text.RelativeDateTimeFormatter.RelativeUnit unit)
formatToValue(double offset, android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit unit)
- getInstance(android.icu.util.ULocale locale)
- getInstance(android.icu.util.ULocale locale, android.icu.text.NumberFormat nf)
getInstance(android.icu.util.ULocale locale, android.icu.text.NumberFormat nf, android.icu.text.RelativeDateTimeFormatter.Style style, android.icu.text.DisplayContext capitalizationContext)
- getInstance(java.util.Locale locale)
+ getInstance(android.icu.util.ULocale locale, android.icu.text.NumberFormat nf)
+ getInstance(android.icu.util.ULocale locale)
getInstance(java.util.Locale locale, android.icu.text.NumberFormat nf)
+ getInstance(java.util.Locale locale)
class RelativeDateTimeFormatter.FormattedRelativeDateTime
appendTo(A appendable)
charAt(int index)
@@ -9294,19 +9469,19 @@ package android.icu.text
setNumberFormat(android.icu.text.NumberFormat newNumberFormat)
setNumberFormat(java.lang.String fields, android.icu.text.NumberFormat overrideNF)
setTimeZoneFormat(android.icu.text.TimeZoneFormat tzfmt)
- #ctor(java.lang.String pattern)
#ctor(java.lang.String pattern, android.icu.text.DateFormatSymbols formatData)
#ctor(java.lang.String pattern, android.icu.util.ULocale loc)
#ctor(java.lang.String pattern, java.lang.String override, android.icu.util.ULocale loc)
#ctor(java.lang.String pattern, java.util.Locale loc)
+ #ctor(java.lang.String pattern)
subFormat(char ch, int count, int beginOffset, java.text.FieldPosition pos, android.icu.text.DateFormatSymbols fmtData, android.icu.util.Calendar cal)
subParse(java.lang.String text, int start, char ch, int count, boolean obeyCount, boolean allowNegative, boolean[] ambiguousYear, android.icu.util.Calendar cal)
zeroPaddingNumber(long value, int minDigits, int maxDigits)
class StringPrepParseException
equals(java.lang.Object other)
- #ctor(java.lang.String message, int error)
- #ctor(java.lang.String message, int error, java.lang.String rules, int pos)
#ctor(java.lang.String message, int error, java.lang.String rules, int pos, int lineNumber)
+ #ctor(java.lang.String message, int error, java.lang.String rules, int pos)
+ #ctor(java.lang.String message, int error)
class StringSearch
handleNext(int position)
handlePrevious(int position)
@@ -9316,8 +9491,8 @@ package android.icu.text
setPattern(java.lang.String pattern)
setTarget(java.text.CharacterIterator text)
#ctor(java.lang.String pattern, java.lang.String target)
- #ctor(java.lang.String pattern, java.text.CharacterIterator target, android.icu.text.RuleBasedCollator collator)
#ctor(java.lang.String pattern, java.text.CharacterIterator target, android.icu.text.RuleBasedCollator collator, android.icu.text.BreakIterator breakiter)
+ #ctor(java.lang.String pattern, java.text.CharacterIterator target, android.icu.text.RuleBasedCollator collator)
#ctor(java.lang.String pattern, java.text.CharacterIterator target, android.icu.util.ULocale locale)
#ctor(java.lang.String pattern, java.text.CharacterIterator target, java.util.Locale locale)
interface SymbolTable
@@ -9325,8 +9500,8 @@ package android.icu.text
lookupMatcher(int ch)
parseReference(java.lang.String text, java.text.ParsePosition pos, int limit)
class TimeZoneFormat
- format(android.icu.text.TimeZoneFormat.Style style, android.icu.util.TimeZone tz, long date)
format(android.icu.text.TimeZoneFormat.Style style, android.icu.util.TimeZone tz, long date, android.icu.util.Output timeType)
+ format(android.icu.text.TimeZoneFormat.Style style, android.icu.util.TimeZone tz, long date)
format(java.lang.Object obj, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
formatOffsetISO8601Basic(int offset, boolean useUtcIndicator, boolean isShort, boolean ignoreSeconds)
formatOffsetISO8601Extended(int offset, boolean useUtcIndicator, boolean isShort, boolean ignoreSeconds)
@@ -9338,8 +9513,8 @@ package android.icu.text
getInstance(java.util.Locale locale)
parse(android.icu.text.TimeZoneFormat.Style style, java.lang.String text, java.text.ParsePosition pos, android.icu.util.Output timeType)
parse(android.icu.text.TimeZoneFormat.Style style, java.lang.String text, java.text.ParsePosition pos, java.util.EnumSet options, android.icu.util.Output timeType)
- parse(java.lang.String text)
parse(java.lang.String text, java.text.ParsePosition pos)
+ parse(java.lang.String text)
parseObject(java.lang.String source, java.text.ParsePosition pos)
parseOffsetISO8601(java.lang.String text, java.text.ParsePosition pos)
parseOffsetLocalizedGMT(java.lang.String text, java.text.ParsePosition pos)
@@ -9368,35 +9543,35 @@ package android.icu.text
finishTransliteration(android.icu.text.Replaceable text, android.icu.text.Transliterator.Position index)
getAvailableTargets(java.lang.String source)
getAvailableVariants(java.lang.String source, java.lang.String target)
- getDisplayName(java.lang.String ID)
getDisplayName(java.lang.String id, android.icu.util.ULocale inLocale)
getDisplayName(java.lang.String id, java.util.Locale inLocale)
- getInstance(java.lang.String ID)
+ getDisplayName(java.lang.String ID)
getInstance(java.lang.String ID, int dir)
+ getInstance(java.lang.String ID)
setFilter(android.icu.text.UnicodeFilter filter)
toRules(boolean escapeUnprintable)
- transliterate(android.icu.text.Replaceable text)
- transliterate(android.icu.text.Replaceable text, android.icu.text.Transliterator.Position index)
transliterate(android.icu.text.Replaceable text, android.icu.text.Transliterator.Position index, int insertion)
transliterate(android.icu.text.Replaceable text, android.icu.text.Transliterator.Position index, java.lang.String insertion)
+ transliterate(android.icu.text.Replaceable text, android.icu.text.Transliterator.Position index)
transliterate(android.icu.text.Replaceable text, int start, int limit)
+ transliterate(android.icu.text.Replaceable text)
transliterate(java.lang.String text)
class Transliterator.Position
equals(java.lang.Object obj)
set(android.icu.text.Transliterator.Position pos)
#ctor(android.icu.text.Transliterator.Position pos)
- #ctor(int contextStart, int contextLimit, int start)
#ctor(int contextStart, int contextLimit, int start, int limit)
+ #ctor(int contextStart, int contextLimit, int start)
validate(int length)
class UCharacterIterator
getInstance(android.icu.text.Replaceable source)
- getInstance(char[] source)
getInstance(char[] source, int start, int limit)
+ getInstance(char[] source)
getInstance(java.lang.String source)
getInstance(java.lang.StringBuffer source)
getInstance(java.text.CharacterIterator source)
- getText(char[] fillIn)
getText(char[] fillIn, int offset)
+ getText(char[] fillIn)
moveCodePointIndex(int delta)
moveIndex(int delta)
setIndex(int index)
@@ -9409,10 +9584,10 @@ package android.icu.text
matchesIndexValue(int v)
toPattern(boolean escapeUnprintable)
class UnicodeSet
- _generatePattern(java.lang.StringBuffer result, boolean escapeUnprintable)
_generatePattern(java.lang.StringBuffer result, boolean escapeUnprintable, boolean includeStrings)
- add(int c)
+ _generatePattern(java.lang.StringBuffer result, boolean escapeUnprintable)
add(int start, int end)
+ add(int c)
add(java.lang.CharSequence s)
add(java.lang.Iterable> source)
addAll(android.icu.text.UnicodeSet c)
@@ -9423,23 +9598,23 @@ package android.icu.text
addAllTo(T target)
addMatchSetTo(android.icu.text.UnicodeSet toUnionTo)
applyIntPropertyValue(int prop, int value)
- applyPattern(java.lang.String pattern)
applyPattern(java.lang.String pattern, boolean ignoreWhitespace)
applyPattern(java.lang.String pattern, int options)
- applyPropertyAlias(java.lang.String propertyAlias, java.lang.String valueAlias)
+ applyPattern(java.lang.String pattern)
applyPropertyAlias(java.lang.String propertyAlias, java.lang.String valueAlias, android.icu.text.SymbolTable symbols)
+ applyPropertyAlias(java.lang.String propertyAlias, java.lang.String valueAlias)
charAt(int index)
closeOver(int attribute)
- compareTo(android.icu.text.UnicodeSet o)
compareTo(android.icu.text.UnicodeSet o, android.icu.text.UnicodeSet.ComparisonStyle style)
+ compareTo(android.icu.text.UnicodeSet o)
compareTo(java.lang.Iterable other)
- complement(int c)
complement(int start, int end)
+ complement(int c)
complement(java.lang.CharSequence s)
complementAll(android.icu.text.UnicodeSet c)
complementAll(java.lang.CharSequence s)
- contains(int c)
contains(int start, int end)
+ contains(int c)
contains(java.lang.CharSequence s)
containsAll(android.icu.text.UnicodeSet b)
containsAll(java.lang.Iterable collection)
@@ -9460,14 +9635,14 @@ package android.icu.text
indexOf(int c)
matches(android.icu.text.Replaceable text, int[] offset, int limit, boolean incremental)
matchesIndexValue(int v)
- remove(int c)
remove(int start, int end)
+ remove(int c)
remove(java.lang.CharSequence s)
removeAll(android.icu.text.UnicodeSet c)
removeAll(java.lang.CharSequence s)
removeAll(java.lang.Iterable collection)
- retain(int c)
retain(int start, int end)
+ retain(int c)
retain(java.lang.CharSequence cs)
retainAll(android.icu.text.UnicodeSet c)
retainAll(java.lang.CharSequence s)
@@ -9482,38 +9657,38 @@ package android.icu.text
#ctor(android.icu.text.UnicodeSet other)
#ctor(int start, int end)
#ctor(int... pairs)
- #ctor(java.lang.String pattern)
#ctor(java.lang.String pattern, boolean ignoreWhitespace)
#ctor(java.lang.String pattern, int options)
- #ctor(java.lang.String pattern, java.text.ParsePosition pos, android.icu.text.SymbolTable symbols)
#ctor(java.lang.String pattern, java.text.ParsePosition pos, android.icu.text.SymbolTable symbols, int options)
+ #ctor(java.lang.String pattern, java.text.ParsePosition pos, android.icu.text.SymbolTable symbols)
+ #ctor(java.lang.String pattern)
class UnicodeSetIterator
reset(android.icu.text.UnicodeSet uset)
#ctor(android.icu.text.UnicodeSet set)
class UnicodeSetSpanner
- countIn(java.lang.CharSequence sequence)
- countIn(java.lang.CharSequence sequence, android.icu.text.UnicodeSetSpanner.CountMethod countMethod)
countIn(java.lang.CharSequence sequence, android.icu.text.UnicodeSetSpanner.CountMethod countMethod, android.icu.text.UnicodeSet.SpanCondition spanCondition)
- deleteFrom(java.lang.CharSequence sequence)
+ countIn(java.lang.CharSequence sequence, android.icu.text.UnicodeSetSpanner.CountMethod countMethod)
+ countIn(java.lang.CharSequence sequence)
deleteFrom(java.lang.CharSequence sequence, android.icu.text.UnicodeSet.SpanCondition spanCondition)
+ deleteFrom(java.lang.CharSequence sequence)
equals(java.lang.Object other)
- replaceFrom(java.lang.CharSequence sequence, java.lang.CharSequence replacement)
- replaceFrom(java.lang.CharSequence sequence, java.lang.CharSequence replacement, android.icu.text.UnicodeSetSpanner.CountMethod countMethod)
replaceFrom(java.lang.CharSequence sequence, java.lang.CharSequence replacement, android.icu.text.UnicodeSetSpanner.CountMethod countMethod, android.icu.text.UnicodeSet.SpanCondition spanCondition)
- trim(java.lang.CharSequence sequence)
- trim(java.lang.CharSequence sequence, android.icu.text.UnicodeSetSpanner.TrimOption trimOption)
+ replaceFrom(java.lang.CharSequence sequence, java.lang.CharSequence replacement, android.icu.text.UnicodeSetSpanner.CountMethod countMethod)
+ replaceFrom(java.lang.CharSequence sequence, java.lang.CharSequence replacement)
trim(java.lang.CharSequence sequence, android.icu.text.UnicodeSetSpanner.TrimOption trimOption, android.icu.text.UnicodeSet.SpanCondition spanCondition)
+ trim(java.lang.CharSequence sequence, android.icu.text.UnicodeSetSpanner.TrimOption trimOption)
+ trim(java.lang.CharSequence sequence)
#ctor(android.icu.text.UnicodeSet source)
package android.icu.util
;---------------------------------------
class BuddhistCalendar
- #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.TimeZone zone, android.icu.util.ULocale locale)
#ctor(android.icu.util.TimeZone zone, java.util.Locale aLocale)
+ #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.ULocale locale)
- #ctor(int year, int month, int date)
#ctor(int year, int month, int date, int hour, int minute, int second)
+ #ctor(int year, int month, int date)
#ctor(java.util.Date date)
#ctor(java.util.Locale aLocale)
handleComputeFields(int julianDay)
@@ -9533,8 +9708,8 @@ package android.icu.util
equals(java.lang.Object obj)
fieldDifference(java.util.Date when, int field)
fieldName(int field)
- floorDivide(int numerator, int denominator)
floorDivide(int numerator, int denominator, int[] remainder)
+ floorDivide(int numerator, int denominator)
floorDivide(long numerator, int denominator, int[] remainder)
floorDivide(long numerator, long denominator)
get(int field)
@@ -9545,9 +9720,9 @@ package android.icu.util
getDisplayName(android.icu.util.ULocale loc)
getDisplayName(java.util.Locale loc)
getGreatestMinimum(int field)
- getInstance(android.icu.util.TimeZone zone)
getInstance(android.icu.util.TimeZone zone, android.icu.util.ULocale locale)
getInstance(android.icu.util.TimeZone zone, java.util.Locale aLocale)
+ getInstance(android.icu.util.TimeZone zone)
getInstance(android.icu.util.ULocale locale)
getInstance(java.util.Locale aLocale)
getKeywordValuesForLocale(java.lang.String key, android.icu.util.ULocale locale, boolean commonlyUsed)
@@ -9568,8 +9743,8 @@ package android.icu.util
handleGetLimit(int field, int limitType)
handleGetMonthLength(int extendedYear, int month)
handleGetYearLength(int eyear)
- internalGet(int field)
internalGet(int field, int defaultValue)
+ internalGet(int field)
internalSet(int field, int value)
isEquivalentTo(android.icu.util.Calendar other)
isGregorianLeapYear(int year)
@@ -9585,10 +9760,10 @@ package android.icu.util
resolveFields(int[][][] precedenceTable)
roll(int field, boolean up)
roll(int field, int amount)
- set(int field, int value)
- set(int year, int month, int date)
- set(int year, int month, int date, int hour, int minute)
set(int year, int month, int date, int hour, int minute, int second)
+ set(int year, int month, int date, int hour, int minute)
+ set(int year, int month, int date)
+ set(int field, int value)
setFirstDayOfWeek(int value)
setLenient(boolean lenient)
setMinimalDaysInFirstWeek(int value)
@@ -9598,23 +9773,23 @@ package android.icu.util
setTimeInMillis(long millis)
setTimeZone(android.icu.util.TimeZone value)
setWeekData(android.icu.util.Calendar.WeekData wdata)
- validateField(int field)
validateField(int field, int min, int max)
- weekNumber(int dayOfPeriod, int dayOfWeek)
+ validateField(int field)
weekNumber(int desiredDay, int dayOfPeriod, int dayOfWeek)
+ weekNumber(int dayOfPeriod, int dayOfWeek)
class Calendar.WeekData
#ctor(int fdow, int mdifw, int weekendOnset, int weekendOnsetMillis, int weekendCease, int weekendCeaseMillis)
equals(java.lang.Object other)
class ChineseCalendar
add(int field, int amount)
- #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.TimeZone zone, android.icu.util.ULocale locale)
#ctor(android.icu.util.TimeZone zone, java.util.Locale aLocale)
+ #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.ULocale locale)
- #ctor(int year, int month, int isLeapMonth, int date)
- #ctor(int era, int year, int month, int isLeapMonth, int date)
- #ctor(int year, int month, int isLeapMonth, int date, int hour, int minute, int second)
#ctor(int era, int year, int month, int isLeapMonth, int date, int hour, int minute, int second)
+ #ctor(int year, int month, int isLeapMonth, int date, int hour, int minute, int second)
+ #ctor(int era, int year, int month, int isLeapMonth, int date)
+ #ctor(int year, int month, int isLeapMonth, int date)
#ctor(java.util.Date date)
#ctor(java.util.Locale aLocale)
handleComputeFields(int julianDay)
@@ -9624,12 +9799,12 @@ package android.icu.util
handleGetMonthLength(int extendedYear, int month)
roll(int field, int amount)
class CopticCalendar
- #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.TimeZone zone, android.icu.util.ULocale locale)
#ctor(android.icu.util.TimeZone zone, java.util.Locale aLocale)
+ #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.ULocale locale)
- #ctor(int year, int month, int date)
#ctor(int year, int month, int date, int hour, int minute, int second)
+ #ctor(int year, int month, int date)
#ctor(java.util.Date date)
#ctor(java.util.Locale aLocale)
handleComputeFields(int julianDay)
@@ -9663,12 +9838,12 @@ package android.icu.util
#ctor(long from, long to)
equals(java.lang.Object a)
class EthiopicCalendar
- #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.TimeZone zone, android.icu.util.ULocale locale)
#ctor(android.icu.util.TimeZone zone, java.util.Locale aLocale)
+ #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.ULocale locale)
- #ctor(int year, int month, int date)
#ctor(int year, int month, int date, int hour, int minute, int second)
+ #ctor(int year, int month, int date)
#ctor(java.util.Date date)
#ctor(java.util.Locale aLocale)
handleComputeFields(int julianDay)
@@ -9678,13 +9853,13 @@ package android.icu.util
class GregorianCalendar
getActualMaximum(int field)
getActualMinimum(int field)
- #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.TimeZone zone, android.icu.util.ULocale locale)
#ctor(android.icu.util.TimeZone zone, java.util.Locale aLocale)
+ #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.ULocale locale)
- #ctor(int year, int month, int date)
- #ctor(int year, int month, int date, int hour, int minute)
#ctor(int year, int month, int date, int hour, int minute, int second)
+ #ctor(int year, int month, int date, int hour, int minute)
+ #ctor(int year, int month, int date)
#ctor(java.util.Locale aLocale)
handleComputeFields(int julianDay)
handleComputeJulianDay(int bestField)
@@ -9703,35 +9878,35 @@ package android.icu.util
handleGetLimit(int field, int limitType)
handleGetMonthLength(int extendedYear, int month)
handleGetYearLength(int eyear)
- #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.TimeZone zone, android.icu.util.ULocale locale)
#ctor(android.icu.util.TimeZone zone, java.util.Locale aLocale)
+ #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.ULocale locale)
- #ctor(int year, int month, int date)
#ctor(int year, int month, int date, int hour, int minute, int second)
+ #ctor(int year, int month, int date)
#ctor(java.util.Date date)
#ctor(java.util.Locale aLocale)
roll(int field, int amount)
validateField(int field)
class ICUUncheckedIOException
- #ctor(java.lang.String message)
#ctor(java.lang.String message, java.lang.Throwable cause)
+ #ctor(java.lang.String message)
#ctor(java.lang.Throwable cause)
class IllformedLocaleException
- #ctor(java.lang.String message)
#ctor(java.lang.String message, int errorIndex)
+ #ctor(java.lang.String message)
class IndianCalendar
handleComputeFields(int julianDay)
handleComputeMonthStart(int year, int month, boolean useMonth)
handleGetLimit(int field, int limitType)
handleGetMonthLength(int extendedYear, int month)
handleGetYearLength(int extendedYear)
- #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.TimeZone zone, android.icu.util.ULocale locale)
#ctor(android.icu.util.TimeZone zone, java.util.Locale aLocale)
+ #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.ULocale locale)
- #ctor(int year, int month, int date)
#ctor(int year, int month, int date, int hour, int minute, int second)
+ #ctor(int year, int month, int date)
#ctor(java.util.Date date)
#ctor(java.util.Locale aLocale)
class IslamicCalendar
@@ -9740,12 +9915,12 @@ package android.icu.util
handleGetLimit(int field, int limitType)
handleGetMonthLength(int extendedYear, int month)
handleGetYearLength(int extendedYear)
- #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.TimeZone zone, android.icu.util.ULocale locale)
#ctor(android.icu.util.TimeZone zone, java.util.Locale aLocale)
+ #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.ULocale locale)
- #ctor(int year, int month, int date)
#ctor(int year, int month, int date, int hour, int minute, int second)
+ #ctor(int year, int month, int date)
#ctor(java.util.Date date)
#ctor(java.util.Locale aLocale)
setCalculationType(android.icu.util.IslamicCalendar.CalculationType type)
@@ -9753,13 +9928,13 @@ package android.icu.util
getActualMaximum(int field)
handleComputeFields(int julianDay)
handleGetLimit(int field, int limitType)
- #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.TimeZone zone, android.icu.util.ULocale locale)
#ctor(android.icu.util.TimeZone zone, java.util.Locale aLocale)
+ #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.ULocale locale)
- #ctor(int year, int month, int date)
- #ctor(int era, int year, int month, int date)
#ctor(int year, int month, int date, int hour, int minute, int second)
+ #ctor(int era, int year, int month, int date)
+ #ctor(int year, int month, int date)
#ctor(java.util.Date date)
#ctor(java.util.Locale aLocale)
class LocaleData
@@ -9785,12 +9960,12 @@ package android.icu.util
class TaiwanCalendar
handleComputeFields(int julianDay)
handleGetLimit(int field, int limitType)
- #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.TimeZone zone, android.icu.util.ULocale locale)
#ctor(android.icu.util.TimeZone zone, java.util.Locale aLocale)
+ #ctor(android.icu.util.TimeZone zone)
#ctor(android.icu.util.ULocale locale)
- #ctor(int year, int month, int date)
#ctor(int year, int month, int date, int hour, int minute, int second)
+ #ctor(int year, int month, int date)
#ctor(java.util.Date date)
#ctor(java.util.Locale aLocale)
class TimeZone
@@ -9799,22 +9974,22 @@ package android.icu.util
getAvailableIDs(android.icu.util.TimeZone.SystemTimeZoneType zoneType, java.lang.String region, java.lang.Integer rawOffset)
getAvailableIDs(int rawOffset)
getAvailableIDs(java.lang.String country)
- getCanonicalID(java.lang.String id)
getCanonicalID(java.lang.String id, boolean[] isSystemID)
+ getCanonicalID(java.lang.String id)
getDisplayName(android.icu.util.ULocale locale)
- getDisplayName(boolean daylight, int style)
getDisplayName(boolean daylight, int style, android.icu.util.ULocale locale)
getDisplayName(boolean daylight, int style, java.util.Locale locale)
+ getDisplayName(boolean daylight, int style)
getDisplayName(java.util.Locale locale)
getEquivalentID(java.lang.String id, int index)
getFrozenTimeZone(java.lang.String ID)
getIDForWindowsID(java.lang.String winid, java.lang.String region)
getOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds)
- getOffset(long date)
getOffset(long date, boolean local, int[] offsets)
+ getOffset(long date)
getRegion(java.lang.String id)
- getTimeZone(java.lang.String ID)
getTimeZone(java.lang.String ID, int type)
+ getTimeZone(java.lang.String ID)
getWindowsID(java.lang.String id)
hasSameRules(android.icu.util.TimeZone other)
inDaylightTime(java.util.Date date)
@@ -9840,13 +10015,13 @@ package android.icu.util
getDisplayCountry(android.icu.util.ULocale displayLocale)
getDisplayCountry(java.lang.String localeID, android.icu.util.ULocale displayLocale)
getDisplayCountry(java.lang.String localeID, java.lang.String displayLocaleID)
- getDisplayKeyword(java.lang.String keyword)
getDisplayKeyword(java.lang.String keyword, android.icu.util.ULocale displayLocale)
getDisplayKeyword(java.lang.String keyword, java.lang.String displayLocaleID)
- getDisplayKeywordValue(java.lang.String keyword)
+ getDisplayKeyword(java.lang.String keyword)
getDisplayKeywordValue(java.lang.String keyword, android.icu.util.ULocale displayLocale)
getDisplayKeywordValue(java.lang.String localeID, java.lang.String keyword, android.icu.util.ULocale displayLocale)
getDisplayKeywordValue(java.lang.String localeID, java.lang.String keyword, java.lang.String displayLocaleID)
+ getDisplayKeywordValue(java.lang.String keyword)
getDisplayLanguage(android.icu.util.ULocale displayLocale)
getDisplayLanguage(java.lang.String localeID, android.icu.util.ULocale displayLocale)
getDisplayLanguage(java.lang.String localeID, java.lang.String displayLocaleID)
@@ -9870,23 +10045,23 @@ package android.icu.util
getISO3Country(java.lang.String localeID)
getISO3Language(java.lang.String localeID)
getKeywords(java.lang.String localeID)
- getKeywordValue(java.lang.String keywordName)
getKeywordValue(java.lang.String localeID, java.lang.String keywordName)
+ getKeywordValue(java.lang.String keywordName)
getLanguage(java.lang.String localeID)
getName(java.lang.String localeID)
getScript(java.lang.String localeID)
getUnicodeLocaleType(java.lang.String key)
getVariant(java.lang.String localeID)
minimizeSubtags(android.icu.util.ULocale loc)
- setKeywordValue(java.lang.String keyword, java.lang.String value)
setKeywordValue(java.lang.String localeID, java.lang.String keyword, java.lang.String value)
+ setKeywordValue(java.lang.String keyword, java.lang.String value)
toLegacyKey(java.lang.String keyword)
toLegacyType(java.lang.String keyword, java.lang.String value)
toUnicodeLocaleKey(java.lang.String keyword)
toUnicodeLocaleType(java.lang.String keyword, java.lang.String value)
- #ctor(java.lang.String localeID)
- #ctor(java.lang.String a, java.lang.String b)
#ctor(java.lang.String a, java.lang.String b, java.lang.String c)
+ #ctor(java.lang.String a, java.lang.String b)
+ #ctor(java.lang.String localeID)
class ULocale.Builder
addUnicodeLocaleAttribute(java.lang.String attribute)
removeUnicodeLocaleAttribute(java.lang.String attribute)
@@ -9913,10 +10088,10 @@ package android.icu.util
class VersionInfo
compareTo(android.icu.util.VersionInfo other)
equals(java.lang.Object other)
- getInstance(int major)
- getInstance(int major, int minor)
- getInstance(int major, int minor, int milli)
getInstance(int major, int minor, int milli, int micro)
+ getInstance(int major, int minor, int milli)
+ getInstance(int major, int minor)
+ getInstance(int major)
getInstance(java.lang.String version)
package android.inputmethodservice
@@ -9941,10 +10116,10 @@ package android.inputmethodservice
dispatchTrackballEvent(int seq, android.view.MotionEvent event, android.view.inputmethod.InputMethodSession.EventCallback callback)
setEnabled(boolean enabled)
class ExtractEditText
- #ctor(android.content.Context context)
- #ctor(android.content.Context context, android.util.AttributeSet attrs)
- #ctor(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr)
#ctor(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr, int defStyleRes)
+ #ctor(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr)
+ #ctor(android.content.Context context, android.util.AttributeSet attrs)
+ #ctor(android.content.Context context)
onSelectionChanged(int selStart, int selEnd)
onTextContextMenuItem(int id)
setExtractedText(android.view.inputmethod.ExtractedText text)
@@ -10000,8 +10175,8 @@ package android.inputmethodservice
setTheme(int theme)
showStatusIcon(int iconResId)
showWindow(boolean showInput)
- switchInputMethod(java.lang.String id)
switchInputMethod(java.lang.String id, android.view.inputmethod.InputMethodSubtype subtype)
+ switchInputMethod(java.lang.String id)
switchToNextInputMethod(boolean onlyCurrentIme)
class InputMethodService.InputMethodImpl
attachToken(android.os.IBinder token)
@@ -10024,10 +10199,10 @@ package android.inputmethodservice
createKeyFromXml(android.content.res.Resources res, android.inputmethodservice.Keyboard.Row parent, int x, int y, android.content.res.XmlResourceParser parser)
createRowFromXml(android.content.res.Resources res, android.content.res.XmlResourceParser parser)
getNearestKeys(int x, int y)
- #ctor(android.content.Context context, int xmlLayoutResId)
- #ctor(android.content.Context context, int xmlLayoutResId, int modeId)
#ctor(android.content.Context context, int xmlLayoutResId, int modeId, int width, int height)
+ #ctor(android.content.Context context, int xmlLayoutResId, int modeId)
#ctor(android.content.Context context, int layoutTemplateResId, java.lang.CharSequence characters, int columns, int horizontalPadding)
+ #ctor(android.content.Context context, int xmlLayoutResId)
setHorizontalGap(int gap)
setKeyHeight(int height)
setKeyWidth(int width)
@@ -10044,9 +10219,9 @@ package android.inputmethodservice
#ctor(android.inputmethodservice.Keyboard parent)
class KeyboardView
invalidateKey(int keyIndex)
- #ctor(android.content.Context context, android.util.AttributeSet attrs)
- #ctor(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr)
#ctor(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr, int defStyleRes)
+ #ctor(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr)
+ #ctor(android.content.Context context, android.util.AttributeSet attrs)
onClick(android.view.View v)
onDraw(android.graphics.Canvas canvas)
onHoverEvent(android.view.MotionEvent event)
@@ -10105,14 +10280,14 @@ package android.location
setVerticalAccuracy(int accuracy)
writeToParcel(android.os.Parcel parcel, int flags)
class Geocoder
- #ctor(android.content.Context context)
#ctor(android.content.Context context, java.util.Locale locale)
- getFromLocation(double latitude, double longitude, int maxResults)
+ #ctor(android.content.Context context)
getFromLocation(double latitude, double longitude, int maxResults, android.location.Geocoder.GeocodeListener listener)
- getFromLocationName(java.lang.String locationName, int maxResults)
+ getFromLocation(double latitude, double longitude, int maxResults)
getFromLocationName(java.lang.String locationName, int maxResults, android.location.Geocoder.GeocodeListener listener)
- getFromLocationName(java.lang.String locationName, int maxResults, double lowerLeftLatitude, double lowerLeftLongitude, double upperRightLatitude, double upperRightLongitude)
getFromLocationName(java.lang.String locationName, int maxResults, double lowerLeftLatitude, double lowerLeftLongitude, double upperRightLatitude, double upperRightLongitude, android.location.Geocoder.GeocodeListener listener)
+ getFromLocationName(java.lang.String locationName, int maxResults, double lowerLeftLatitude, double lowerLeftLongitude, double upperRightLatitude, double upperRightLongitude)
+ getFromLocationName(java.lang.String locationName, int maxResults)
interface Geocoder.GeocodeListener
onError(java.lang.String errorMessage)
onGeocode(java.util.List addresses)
@@ -10150,7 +10325,7 @@ package android.location
class GnssCapabilities.Builder
#ctor(android.location.GnssCapabilities capabilities)
setGnssSignalTypes(java.util.List gnssSignalTypes)
- setHasAccumulatedDeltaRange(boolean capable)
+ setHasAccumulatedDeltaRange(int capable)
setHasAntennaInfo(boolean capable)
setHasGeofencing(boolean capable)
setHasLowPowerMode(boolean capable)
@@ -10191,8 +10366,8 @@ package android.location
class GnssMeasurementsEvent.Builder
#ctor(android.location.GnssMeasurementsEvent event)
setClock(android.location.GnssClock clock)
- setFullTracking(boolean isFullTracking)
setGnssAutomaticGainControls(java.util.Collection agcs)
+ setIsFullTracking(boolean isFullTracking)
setMeasurements(java.util.Collection measurements)
class GnssMeasurementsEvent.Callback
onGnssMeasurementsReceived(android.location.GnssMeasurementsEvent eventArgs)
@@ -10272,12 +10447,12 @@ package android.location
class LocationManager
addGpsStatusListener(android.location.GpsStatus.Listener listener)
addNmeaListener(android.location.GpsStatus.NmeaListener listener)
- addNmeaListener(android.location.OnNmeaMessageListener listener)
addNmeaListener(android.location.OnNmeaMessageListener listener, android.os.Handler handler)
+ addNmeaListener(android.location.OnNmeaMessageListener listener)
addNmeaListener(java.util.concurrent.Executor executor, android.location.OnNmeaMessageListener listener)
addProximityAlert(double latitude, double longitude, float radius, long expiration, android.app.PendingIntent pendingIntent)
- addTestProvider(java.lang.String provider, android.location.provider.ProviderProperties properties)
addTestProvider(java.lang.String provider, android.location.provider.ProviderProperties properties, java.util.Set extraAttributionTags)
+ addTestProvider(java.lang.String provider, android.location.provider.ProviderProperties properties)
addTestProvider(java.lang.String provider, boolean requiresNetwork, boolean requiresSatellite, boolean requiresCell, boolean hasMonetaryCost, boolean supportsAltitude, boolean supportsSpeed, boolean supportsBearing, int powerUsage, int accuracy)
clearTestProviderEnabled(java.lang.String provider)
clearTestProviderLocation(java.lang.String provider)
@@ -10295,14 +10470,14 @@ package android.location
isProviderEnabled(java.lang.String provider)
registerAntennaInfoListener(java.util.concurrent.Executor executor, android.location.GnssAntennaInfo.Listener listener)
registerGnssMeasurementsCallback(android.location.GnssMeasurementRequest request, java.util.concurrent.Executor executor, android.location.GnssMeasurementsEvent.Callback callback)
- registerGnssMeasurementsCallback(android.location.GnssMeasurementsEvent.Callback callback)
registerGnssMeasurementsCallback(android.location.GnssMeasurementsEvent.Callback callback, android.os.Handler handler)
+ registerGnssMeasurementsCallback(android.location.GnssMeasurementsEvent.Callback callback)
registerGnssMeasurementsCallback(java.util.concurrent.Executor executor, android.location.GnssMeasurementsEvent.Callback callback)
- registerGnssNavigationMessageCallback(android.location.GnssNavigationMessage.Callback callback)
registerGnssNavigationMessageCallback(android.location.GnssNavigationMessage.Callback callback, android.os.Handler handler)
+ registerGnssNavigationMessageCallback(android.location.GnssNavigationMessage.Callback callback)
registerGnssNavigationMessageCallback(java.util.concurrent.Executor executor, android.location.GnssNavigationMessage.Callback callback)
- registerGnssStatusCallback(android.location.GnssStatus.Callback callback)
registerGnssStatusCallback(android.location.GnssStatus.Callback callback, android.os.Handler handler)
+ registerGnssStatusCallback(android.location.GnssStatus.Callback callback)
registerGnssStatusCallback(java.util.concurrent.Executor executor, android.location.GnssStatus.Callback callback)
removeGpsStatusListener(android.location.GpsStatus.Listener listener)
removeNmeaListener(android.location.GpsStatus.NmeaListener listener)
@@ -10316,8 +10491,8 @@ package android.location
requestLocationUpdates(java.lang.String provider, android.location.LocationRequest locationRequest, android.app.PendingIntent pendingIntent)
requestLocationUpdates(java.lang.String provider, android.location.LocationRequest locationRequest, java.util.concurrent.Executor executor, android.location.LocationListener listener)
requestLocationUpdates(java.lang.String provider, long minTimeMs, float minDistanceM, android.app.PendingIntent pendingIntent)
- requestLocationUpdates(java.lang.String provider, long minTimeMs, float minDistanceM, android.location.LocationListener listener)
requestLocationUpdates(java.lang.String provider, long minTimeMs, float minDistanceM, android.location.LocationListener listener, android.os.Looper looper)
+ requestLocationUpdates(java.lang.String provider, long minTimeMs, float minDistanceM, android.location.LocationListener listener)
requestLocationUpdates(java.lang.String provider, long minTimeMs, float minDistanceM, java.util.concurrent.Executor executor, android.location.LocationListener listener)
requestLocationUpdates(long minTimeMs, float minDistanceM, android.location.Criteria criteria, android.app.PendingIntent pendingIntent)
requestLocationUpdates(long minTimeMs, float minDistanceM, android.location.Criteria criteria, android.location.LocationListener listener, android.os.Looper looper)
@@ -10425,8 +10600,8 @@ package android.media
setAudioAttributes(android.media.AudioAttributes attributes)
setFocusGain(int focusGain)
setForceDucking(boolean forceDucking)
- setOnAudioFocusChangeListener(android.media.AudioManager.OnAudioFocusChangeListener listener)
setOnAudioFocusChangeListener(android.media.AudioManager.OnAudioFocusChangeListener listener, android.os.Handler handler)
+ setOnAudioFocusChangeListener(android.media.AudioManager.OnAudioFocusChangeListener listener)
setWillPauseWhenDucked(boolean pauseOnDuck)
class AudioFormat
equals(java.lang.Object o)
@@ -10446,6 +10621,7 @@ package android.media
adjustStreamVolume(int streamType, int direction, int flags)
adjustSuggestedStreamVolume(int direction, int suggestedStreamType, int flags)
adjustVolume(int direction, int flags)
+ adjustVolumeGroupVolume(int groupId, int direction, int flags)
clearPreferredMixerAttributes(android.media.AudioAttributes attributes, android.media.AudioDeviceInfo device)
dispatchMediaKeyEvent(android.view.KeyEvent keyEvent)
getAudioDevicesForAttributes(android.media.AudioAttributes attributes)
@@ -10464,11 +10640,13 @@ package android.media
getStreamVolumeDb(int streamType, int index, int deviceType)
getSupportedMixerAttributes(android.media.AudioDeviceInfo device)
getVibrateSetting(int vibrateType)
+ getVolumeGroupIdForAttributes(android.media.AudioAttributes attributes)
isOffloadedPlaybackSupported(android.media.AudioFormat format, android.media.AudioAttributes attributes)
isStreamMute(int streamType)
isSurroundFormatEnabled(int audioFormat)
- playSoundEffect(int effectType)
+ isVolumeGroupMuted(int groupId)
playSoundEffect(int effectType, float volume)
+ playSoundEffect(int effectType)
registerAudioDeviceCallback(android.media.AudioDeviceCallback callback, android.os.Handler handler)
registerAudioPlaybackCallback(android.media.AudioManager.AudioPlaybackCallback cb, android.os.Handler handler)
registerAudioRecordingCallback(android.media.AudioManager.AudioRecordingCallback cb, android.os.Handler handler)
@@ -10542,6 +10720,7 @@ package android.media
writeToParcel(android.os.Parcel dest, int flags)
class AudioPresentation
equals(java.lang.Object o)
+ writeToParcel(android.os.Parcel dest, int flags)
class AudioPresentation.Builder
#ctor(int presentationId)
setHasAudioDescription(boolean audioDescriptionAvailable)
@@ -10560,13 +10739,13 @@ package android.media
#ctor(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes)
getMinBufferSize(int sampleRateInHz, int channelConfig, int audioFormat)
getTimestamp(android.media.AudioTimestamp outTimestamp, int timebase)
- read(byte[] audioData, int offsetInBytes, int sizeInBytes)
read(byte[] audioData, int offsetInBytes, int sizeInBytes, int readMode)
+ read(byte[] audioData, int offsetInBytes, int sizeInBytes)
read(float[] audioData, int offsetInFloats, int sizeInFloats, int readMode)
- read(java.nio.ByteBuffer audioBuffer, int sizeInBytes)
read(java.nio.ByteBuffer audioBuffer, int sizeInBytes, int readMode)
- read(short[] audioData, int offsetInShorts, int sizeInShorts)
+ read(java.nio.ByteBuffer audioBuffer, int sizeInBytes)
read(short[] audioData, int offsetInShorts, int sizeInShorts, int readMode)
+ read(short[] audioData, int offsetInShorts, int sizeInShorts)
registerAudioRecordingCallback(java.util.concurrent.Executor executor, android.media.AudioManager.AudioRecordingCallback cb)
removeOnRoutingChangedListener(android.media.AudioRecord.OnRoutingChangedListener listener)
removeOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener listener)
@@ -10576,8 +10755,8 @@ package android.media
setPreferredDevice(android.media.AudioDeviceInfo deviceInfo)
setPreferredMicrophoneDirection(int direction)
setPreferredMicrophoneFieldDimension(float zoom)
- setRecordPositionUpdateListener(android.media.AudioRecord.OnRecordPositionUpdateListener listener)
setRecordPositionUpdateListener(android.media.AudioRecord.OnRecordPositionUpdateListener listener, android.os.Handler handler)
+ setRecordPositionUpdateListener(android.media.AudioRecord.OnRecordPositionUpdateListener listener)
startRecording(android.media.MediaSyncEvent syncEvent)
unregisterAudioRecordingCallback(android.media.AudioManager.AudioRecordingCallback cb)
class AudioRecord.Builder
@@ -10613,8 +10792,8 @@ package android.media
addOnRoutingChangedListener(android.media.AudioTrack.OnRoutingChangedListener listener, android.os.Handler handler)
attachAuxEffect(int effectId)
#ctor(android.media.AudioAttributes attributes, android.media.AudioFormat format, int bufferSizeInBytes, int mode, int sessionId)
- #ctor(int streamType, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes, int mode)
#ctor(int streamType, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes, int mode, int sessionId)
+ #ctor(int streamType, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes, int mode)
createVolumeShaper(android.media.VolumeShaper.Configuration configuration)
getMinBufferSize(int sampleRateInHz, int channelConfig, int audioFormat)
getNativeOutputSampleRate(int streamType)
@@ -10634,8 +10813,8 @@ package android.media
setOffloadDelayPadding(int delayInFrames, int paddingInFrames)
setPlaybackHeadPosition(int positionInFrames)
setPlaybackParams(android.media.PlaybackParams params)
- setPlaybackPositionUpdateListener(android.media.AudioTrack.OnPlaybackPositionUpdateListener listener)
setPlaybackPositionUpdateListener(android.media.AudioTrack.OnPlaybackPositionUpdateListener listener, android.os.Handler handler)
+ setPlaybackPositionUpdateListener(android.media.AudioTrack.OnPlaybackPositionUpdateListener listener)
setPlaybackRate(int sampleRateInHz)
setPositionNotificationPeriod(int periodInFrames)
setPreferredDevice(android.media.AudioDeviceInfo deviceInfo)
@@ -10645,13 +10824,13 @@ package android.media
setStereoVolume(float leftGain, float rightGain)
setVolume(float gain)
unregisterStreamEventCallback(android.media.AudioTrack.StreamEventCallback eventCallback)
- write(byte[] audioData, int offsetInBytes, int sizeInBytes)
write(byte[] audioData, int offsetInBytes, int sizeInBytes, int writeMode)
+ write(byte[] audioData, int offsetInBytes, int sizeInBytes)
write(float[] audioData, int offsetInFloats, int sizeInFloats, int writeMode)
- write(java.nio.ByteBuffer audioData, int sizeInBytes, int writeMode)
write(java.nio.ByteBuffer audioData, int sizeInBytes, int writeMode, long timestamp)
- write(short[] audioData, int offsetInShorts, int sizeInShorts)
+ write(java.nio.ByteBuffer audioData, int sizeInBytes, int writeMode)
write(short[] audioData, int offsetInShorts, int sizeInShorts, int writeMode)
+ write(short[] audioData, int offsetInShorts, int sizeInShorts)
class AudioTrack.Builder
setAudioAttributes(android.media.AudioAttributes attributes)
setAudioFormat(android.media.AudioFormat format)
@@ -10675,14 +10854,14 @@ package android.media
onPresentationEnded(android.media.AudioTrack track)
onTearDown(android.media.AudioTrack track)
class CamcorderProfile
- get(int quality)
get(int cameraId, int quality)
+ get(int quality)
getAll(java.lang.String cameraId, int quality)
- hasProfile(int quality)
hasProfile(int cameraId, int quality)
+ hasProfile(int quality)
class CameraProfile
- getJpegEncodingQualityParameter(int quality)
getJpegEncodingQualityParameter(int cameraId, int quality)
+ getJpegEncodingQualityParameter(int quality)
class DeniedByServerException
#ctor(java.lang.String detailMessage)
class DrmInitData
@@ -10694,8 +10873,8 @@ package android.media
class ExifInterface
#ctor(java.io.File file)
#ctor(java.io.FileDescriptor fileDescriptor)
- #ctor(java.io.InputStream inputStream)
#ctor(java.io.InputStream inputStream, int streamType)
+ #ctor(java.io.InputStream inputStream)
#ctor(java.lang.String filename)
getAltitude(double defaultValue)
getAttribute(java.lang.String tag)
@@ -10719,8 +10898,8 @@ package android.media
setFence(android.hardware.SyncFence fence)
setTimestamp(long timestamp)
class ImageReader
- newInstance(int width, int height, int format, int maxImages)
newInstance(int width, int height, int format, int maxImages, long usage)
+ newInstance(int width, int height, int format, int maxImages)
setOnImageAvailableListener(android.media.ImageReader.OnImageAvailableListener listener, android.os.Handler handler)
class ImageReader.Builder
#ctor(int width, int height)
@@ -10732,8 +10911,8 @@ package android.media
interface ImageReader.OnImageAvailableListener
onImageAvailable(android.media.ImageReader reader)
class ImageWriter
- newInstance(android.view.Surface surface, int maxImages)
newInstance(android.view.Surface surface, int maxImages, int format)
+ newInstance(android.view.Surface surface, int maxImages)
queueInputImage(android.media.Image image)
setOnImageReleasedListener(android.media.ImageWriter.OnImageReleasedListener listener, android.os.Handler handler)
class ImageWriter.Builder
@@ -10751,8 +10930,8 @@ package android.media
loadJetFile(java.lang.String path)
queueJetSegment(int segmentNum, int libNum, int repeatCount, int transpose, int muteFlags, byte userID)
queueJetSegmentMuteArray(int segmentNum, int libNum, int repeatCount, int transpose, boolean[] muteArray, byte userID)
- setEventListener(android.media.JetPlayer.OnJetEventListener listener)
setEventListener(android.media.JetPlayer.OnJetEventListener listener, android.os.Handler handler)
+ setEventListener(android.media.JetPlayer.OnJetEventListener listener)
setMuteArray(boolean[] muteArray, boolean sync)
setMuteFlag(int trackId, boolean muteFlag, boolean sync)
setMuteFlags(int muteFlags, boolean sync)
@@ -10767,12 +10946,12 @@ package android.media
play(int soundName)
class MediaCas
isSystemIdSupported(int CA_system_id)
- #ctor(android.content.Context context, int casSystemId, java.lang.String tvInputServiceSessionId, int priorityHint)
#ctor(android.content.Context context, int casSystemId, java.lang.String tvInputServiceSessionId, int priorityHint, android.os.Handler handler, android.media.MediaCas.EventListener listener)
+ #ctor(android.content.Context context, int casSystemId, java.lang.String tvInputServiceSessionId, int priorityHint)
#ctor(int casSystemId)
openSession(int sessionUsage, int scramblingMode)
- processEmm(byte[] data)
processEmm(byte[] data, int offset, int length)
+ processEmm(byte[] data)
provision(java.lang.String provisionString)
refreshEntitlements(int refreshType, byte[] refreshData)
sendEvent(int event, int arg, byte[] data)
@@ -10785,8 +10964,8 @@ package android.media
onSessionEvent(android.media.MediaCas mediaCas, android.media.MediaCas.Session session, int event, int arg, byte[] data)
class MediaCas.Session
equals(java.lang.Object obj)
- processEcm(byte[] data)
processEcm(byte[] data, int offset, int length)
+ processEcm(byte[] data)
sendSessionEvent(int event, int arg, byte[] data)
setPrivateData(byte[] data)
class MediaCodec
@@ -10811,8 +10990,8 @@ package android.media
releaseOutputBuffer(int index, boolean render)
releaseOutputBuffer(int index, long renderTimestampNs)
setAudioPresentation(android.media.AudioPresentation presentation)
- setCallback(android.media.MediaCodec.Callback cb)
setCallback(android.media.MediaCodec.Callback cb, android.os.Handler handler)
+ setCallback(android.media.MediaCodec.Callback cb)
setInputSurface(android.view.Surface surface)
setOnFirstTunnelFrameReadyListener(android.os.Handler handler, android.media.MediaCodec.OnFirstTunnelFrameReadyListener listener)
setOnFrameRenderedListener(android.media.MediaCodec.OnFrameRenderedListener listener, android.os.Handler handler)
@@ -10824,6 +11003,7 @@ package android.media
class MediaCodec.BufferInfo
set(int newOffset, int newSize, long newTimeUs, int newFlags)
class MediaCodec.Callback
+ onCryptoError(android.media.MediaCodec codec, android.media.MediaCodec.CryptoException e)
onError(android.media.MediaCodec codec, android.media.MediaCodec.CodecException e)
onInputBufferAvailable(android.media.MediaCodec codec, int index)
onOutputBufferAvailable(android.media.MediaCodec codec, int index, android.media.MediaCodec.BufferInfo info)
@@ -10935,9 +11115,9 @@ package android.media
getPropertyString(java.lang.String propertyName)
getSecureStop(byte[] ssid)
getSecurityLevel(byte[] sessionId)
- isCryptoSchemeSupported(java.util.UUID uuid)
- isCryptoSchemeSupported(java.util.UUID uuid, java.lang.String mimeType)
isCryptoSchemeSupported(java.util.UUID uuid, java.lang.String mimeType, int securityLevel)
+ isCryptoSchemeSupported(java.util.UUID uuid, java.lang.String mimeType)
+ isCryptoSchemeSupported(java.util.UUID uuid)
#ctor(java.util.UUID uuid)
openSession(int level)
provideKeyResponse(byte[] scope, byte[] response)
@@ -10947,11 +11127,11 @@ package android.media
removeKeys(byte[] sessionId)
removeOfflineLicense(byte[] keySetId)
removeSecureStop(byte[] ssid)
- requiresSecureDecoder(java.lang.String mime)
requiresSecureDecoder(java.lang.String mime, int level)
+ requiresSecureDecoder(java.lang.String mime)
restoreKeys(byte[] sessionId, byte[] keySetId)
- setOnEventListener(android.media.MediaDrm.OnEventListener listener)
setOnEventListener(android.media.MediaDrm.OnEventListener listener, android.os.Handler handler)
+ setOnEventListener(android.media.MediaDrm.OnEventListener listener)
setOnEventListener(java.util.concurrent.Executor executor, android.media.MediaDrm.OnEventListener listener)
setOnExpirationUpdateListener(android.media.MediaDrm.OnExpirationUpdateListener listener, android.os.Handler handler)
setOnExpirationUpdateListener(java.util.concurrent.Executor executor, android.media.MediaDrm.OnExpirationUpdateListener listener)
@@ -10993,10 +11173,10 @@ package android.media
setDataSource(android.content.Context context, android.net.Uri uri, java.util.Map headers)
setDataSource(android.content.res.AssetFileDescriptor afd)
setDataSource(android.media.MediaDataSource dataSource)
- setDataSource(java.io.FileDescriptor fd)
setDataSource(java.io.FileDescriptor fd, long offset, long length)
- setDataSource(java.lang.String path)
+ setDataSource(java.io.FileDescriptor fd)
setDataSource(java.lang.String path, java.util.Map headers)
+ setDataSource(java.lang.String path)
setLogSessionId(android.media.metrics.LogSessionId logSessionId)
setMediaCas(android.media.MediaCas mediaCas)
unselectTrack(int index)
@@ -11006,19 +11186,19 @@ package android.media
createAudioFormat(java.lang.String mime, int sampleRate, int channelCount)
createSubtitleFormat(java.lang.String mime, java.lang.String language)
createVideoFormat(java.lang.String mime, int width, int height)
- getByteBuffer(java.lang.String name)
getByteBuffer(java.lang.String name, java.nio.ByteBuffer defaultValue)
+ getByteBuffer(java.lang.String name)
getFeatureEnabled(java.lang.String feature)
- getFloat(java.lang.String name)
getFloat(java.lang.String name, float defaultValue)
- getInteger(java.lang.String name)
+ getFloat(java.lang.String name)
getInteger(java.lang.String name, int defaultValue)
- getLong(java.lang.String name)
+ getInteger(java.lang.String name)
getLong(java.lang.String name, long defaultValue)
- getNumber(java.lang.String name)
+ getLong(java.lang.String name)
getNumber(java.lang.String name, java.lang.Number defaultValue)
- getString(java.lang.String name)
+ getNumber(java.lang.String name)
getString(java.lang.String name, java.lang.String defaultValue)
+ getString(java.lang.String name)
getValueTypeForKey(java.lang.String name)
#ctor(android.media.MediaFormat other)
removeFeature(java.lang.String name)
@@ -11058,24 +11238,24 @@ package android.media
putString(int key, java.lang.String value)
class MediaMetadataRetriever
extractMetadata(int keyCode)
- getFrameAtIndex(int frameIndex)
getFrameAtIndex(int frameIndex, android.media.MediaMetadataRetriever.BitmapParams params)
- getFrameAtTime(long timeUs)
- getFrameAtTime(long timeUs, int option)
+ getFrameAtIndex(int frameIndex)
getFrameAtTime(long timeUs, int option, android.media.MediaMetadataRetriever.BitmapParams params)
- getFramesAtIndex(int frameIndex, int numFrames)
+ getFrameAtTime(long timeUs, int option)
+ getFrameAtTime(long timeUs)
getFramesAtIndex(int frameIndex, int numFrames, android.media.MediaMetadataRetriever.BitmapParams params)
- getImageAtIndex(int imageIndex)
+ getFramesAtIndex(int frameIndex, int numFrames)
getImageAtIndex(int imageIndex, android.media.MediaMetadataRetriever.BitmapParams params)
+ getImageAtIndex(int imageIndex)
getPrimaryImage(android.media.MediaMetadataRetriever.BitmapParams params)
- getScaledFrameAtTime(long timeUs, int option, int dstWidth, int dstHeight)
getScaledFrameAtTime(long timeUs, int option, int dstWidth, int dstHeight, android.media.MediaMetadataRetriever.BitmapParams params)
+ getScaledFrameAtTime(long timeUs, int option, int dstWidth, int dstHeight)
setDataSource(android.content.Context context, android.net.Uri uri)
setDataSource(android.media.MediaDataSource dataSource)
- setDataSource(java.io.FileDescriptor fd)
setDataSource(java.io.FileDescriptor fd, long offset, long length)
- setDataSource(java.lang.String path)
+ setDataSource(java.io.FileDescriptor fd)
setDataSource(java.lang.String uri, java.util.Map headers)
+ setDataSource(java.lang.String path)
class MediaMetadataRetriever.BitmapParams
setPreferredConfig(android.graphics.Bitmap.Config config)
class MediaMuxer
@@ -11115,11 +11295,11 @@ package android.media
addTimedTextSource(java.io.FileDescriptor fd, long offset, long length, java.lang.String mime)
addTimedTextSource(java.lang.String path, java.lang.String mimeType)
attachAuxEffect(int effectId)
- create(android.content.Context context, android.net.Uri uri)
- create(android.content.Context context, android.net.Uri uri, android.view.SurfaceHolder holder)
create(android.content.Context context, android.net.Uri uri, android.view.SurfaceHolder holder, android.media.AudioAttributes audioAttributes, int audioSessionId)
- create(android.content.Context context, int resid)
+ create(android.content.Context context, android.net.Uri uri, android.view.SurfaceHolder holder)
+ create(android.content.Context context, android.net.Uri uri)
create(android.content.Context context, int resid, android.media.AudioAttributes audioAttributes, int audioSessionId)
+ create(android.content.Context context, int resid)
createVolumeShaper(android.media.VolumeShaper.Configuration configuration)
deselectTrack(int index)
getDrmPropertyString(java.lang.String propertyName)
@@ -11137,13 +11317,13 @@ package android.media
setAudioSessionId(int sessionId)
setAudioStreamType(int streamtype)
setAuxEffectSendLevel(float level)
- setDataSource(android.content.Context context, android.net.Uri uri)
- setDataSource(android.content.Context context, android.net.Uri uri, java.util.Map headers)
setDataSource(android.content.Context context, android.net.Uri uri, java.util.Map headers, java.util.List cookies)
+ setDataSource(android.content.Context context, android.net.Uri uri, java.util.Map headers)
+ setDataSource(android.content.Context context, android.net.Uri uri)
setDataSource(android.content.res.AssetFileDescriptor afd)
setDataSource(android.media.MediaDataSource dataSource)
- setDataSource(java.io.FileDescriptor fd)
setDataSource(java.io.FileDescriptor fd, long offset, long length)
+ setDataSource(java.io.FileDescriptor fd)
setDataSource(java.lang.String path)
setDisplay(android.view.SurfaceHolder sh)
setDrmPropertyString(java.lang.String propertyName, java.lang.String value)
@@ -11152,18 +11332,18 @@ package android.media
setOnBufferingUpdateListener(android.media.MediaPlayer.OnBufferingUpdateListener listener)
setOnCompletionListener(android.media.MediaPlayer.OnCompletionListener listener)
setOnDrmConfigHelper(android.media.MediaPlayer.OnDrmConfigHelper listener)
- setOnDrmInfoListener(android.media.MediaPlayer.OnDrmInfoListener listener)
setOnDrmInfoListener(android.media.MediaPlayer.OnDrmInfoListener listener, android.os.Handler handler)
- setOnDrmPreparedListener(android.media.MediaPlayer.OnDrmPreparedListener listener)
+ setOnDrmInfoListener(android.media.MediaPlayer.OnDrmInfoListener listener)
setOnDrmPreparedListener(android.media.MediaPlayer.OnDrmPreparedListener listener, android.os.Handler handler)
+ setOnDrmPreparedListener(android.media.MediaPlayer.OnDrmPreparedListener listener)
setOnErrorListener(android.media.MediaPlayer.OnErrorListener listener)
setOnInfoListener(android.media.MediaPlayer.OnInfoListener listener)
- setOnMediaTimeDiscontinuityListener(android.media.MediaPlayer.OnMediaTimeDiscontinuityListener listener)
setOnMediaTimeDiscontinuityListener(android.media.MediaPlayer.OnMediaTimeDiscontinuityListener listener, android.os.Handler handler)
+ setOnMediaTimeDiscontinuityListener(android.media.MediaPlayer.OnMediaTimeDiscontinuityListener listener)
setOnPreparedListener(android.media.MediaPlayer.OnPreparedListener listener)
setOnSeekCompleteListener(android.media.MediaPlayer.OnSeekCompleteListener listener)
- setOnSubtitleDataListener(android.media.MediaPlayer.OnSubtitleDataListener listener)
setOnSubtitleDataListener(android.media.MediaPlayer.OnSubtitleDataListener listener, android.os.Handler handler)
+ setOnSubtitleDataListener(android.media.MediaPlayer.OnSubtitleDataListener listener)
setOnTimedMetaDataAvailableListener(android.media.MediaPlayer.OnTimedMetaDataAvailableListener listener)
setOnTimedTextListener(android.media.MediaPlayer.OnTimedTextListener listener)
setOnVideoSizeChangedListener(android.media.MediaPlayer.OnVideoSizeChangedListener listener)
@@ -11270,6 +11450,7 @@ package android.media
setDescription(java.lang.CharSequence description)
setExtras(android.os.Bundle extras)
setIconUri(android.net.Uri iconUri)
+ setType(int type)
setVisibilityRestricted(java.util.Set allowedPackages)
setVolume(int volume)
setVolumeHandling(int volumeHandling)
@@ -11291,8 +11472,8 @@ package android.media
onSetSessionVolume(long requestId, java.lang.String sessionId, int volume)
onTransferToRoute(long requestId, java.lang.String sessionId, java.lang.String routeId)
class MediaRouter
- addCallback(int types, android.media.MediaRouter.Callback cb)
addCallback(int types, android.media.MediaRouter.Callback cb, int flags)
+ addCallback(int types, android.media.MediaRouter.Callback cb)
addUserRoute(android.media.MediaRouter.UserRouteInfo info)
createRouteCategory(int nameResId, boolean isGroupable)
createRouteCategory(java.lang.CharSequence name, boolean isGroupable)
@@ -11317,8 +11498,8 @@ package android.media
getName(android.content.Context context)
getRoutes(java.util.List out)
class MediaRouter.RouteGroup
- addRoute(android.media.MediaRouter.RouteInfo route)
addRoute(android.media.MediaRouter.RouteInfo route, int insertAt)
+ addRoute(android.media.MediaRouter.RouteInfo route)
getRouteAt(int index)
removeRoute(android.media.MediaRouter.RouteInfo route)
removeRoute(int index)
@@ -11464,13 +11645,13 @@ package android.media
writeToParcel(android.os.Parcel dest, int flags)
class RemoteControlClient
editMetadata(boolean startEmpty)
- #ctor(android.app.PendingIntent mediaButtonIntent)
#ctor(android.app.PendingIntent mediaButtonIntent, android.os.Looper looper)
+ #ctor(android.app.PendingIntent mediaButtonIntent)
setMetadataUpdateListener(android.media.RemoteControlClient.OnMetadataUpdateListener l)
setOnGetPlaybackPositionListener(android.media.RemoteControlClient.OnGetPlaybackPositionListener l)
setPlaybackPositionUpdateListener(android.media.RemoteControlClient.OnPlaybackPositionUpdateListener l)
- setPlaybackState(int state)
setPlaybackState(int state, long timeInMs, float playbackSpeed)
+ setPlaybackState(int state)
setTransportControlFlags(int transportControlFlags)
class RemoteControlClient.MetadataEditor
putBitmap(int key, android.graphics.Bitmap bitmap)
@@ -11482,8 +11663,8 @@ package android.media
interface RemoteControlClient.OnPlaybackPositionUpdateListener
onPlaybackPositionUpdate(long newPositionMs)
class RemoteController
- #ctor(android.content.Context context, android.media.RemoteController.OnClientUpdateListener updateListener)
#ctor(android.content.Context context, android.media.RemoteController.OnClientUpdateListener updateListener, android.os.Looper looper)
+ #ctor(android.content.Context context, android.media.RemoteController.OnClientUpdateListener updateListener)
seekTo(long timeMs)
sendMediaKeyEvent(android.view.KeyEvent keyEvent)
setArtworkConfiguration(int width, int height)
@@ -11491,8 +11672,8 @@ package android.media
interface RemoteController.OnClientUpdateListener
onClientChange(boolean clearing)
onClientMetadataUpdate(android.media.RemoteController.MetadataEditor metadataEditor)
- onClientPlaybackStateUpdate(int state)
onClientPlaybackStateUpdate(int state, long stateChangeTimeMs, long currentPosMs, float speed)
+ onClientPlaybackStateUpdate(int state)
onClientTransportControlUpdate(int transportControlFlags)
class ResourceBusyException
#ctor(java.lang.String detailMessage)
@@ -11535,17 +11716,18 @@ package android.media
equals(java.lang.Object other)
writeToParcel(android.os.Parcel dest, int flags)
class RouteListingPreference.Builder
- setInAppOnlyItemRoutingReceiver(android.content.ComponentName inAppOnlyItemRoutingReceiver)
setItems(java.util.List items)
+ setLinkedItemComponentName(android.content.ComponentName linkedItemComponentName)
setUseSystemOrdering(boolean useSystemOrdering)
class RouteListingPreference.Item
equals(java.lang.Object other)
writeToParcel(android.os.Parcel dest, int flags)
class RouteListingPreference.Item.Builder
#ctor(java.lang.String routeId)
- setDisableReason(int disableReason)
+ setCustomSubtextMessage(java.lang.CharSequence customSubtextMessage)
setFlags(int flags)
- setSessionParticipantCount(int sessionParticipantCount)
+ setSelectionBehavior(int selectionBehavior)
+ setSubText(int subText)
class RoutingSessionInfo
equals(java.lang.Object obj)
writeToParcel(android.os.Parcel dest, int flags)
@@ -11632,13 +11814,13 @@ package android.media
createImageThumbnail(java.lang.String filePath, int kind)
createVideoThumbnail(java.io.File file, android.util.Size size, android.os.CancellationSignal signal)
createVideoThumbnail(java.lang.String filePath, int kind)
- extractThumbnail(android.graphics.Bitmap source, int width, int height)
extractThumbnail(android.graphics.Bitmap source, int width, int height, int options)
+ extractThumbnail(android.graphics.Bitmap source, int width, int height)
class TimedMetaData
#ctor(long timestampUs, byte[] metaData)
class ToneGenerator
- startTone(int toneType)
startTone(int toneType, int durationMs)
+ startTone(int toneType)
#ctor(int streamType, int volume)
class UnsupportedSchemeException
#ctor(java.lang.String detailMessage)
@@ -11648,8 +11830,8 @@ package android.media
onAdjustVolume(int direction)
onSetVolumeTo(int volume)
setCurrentVolume(int currentVolume)
- #ctor(int volumeControl, int maxVolume, int currentVolume)
#ctor(int volumeControl, int maxVolume, int currentVolume, java.lang.String volumeControlId)
+ #ctor(int volumeControl, int maxVolume, int currentVolume)
class VolumeShaper
apply(android.media.VolumeShaper.Operation operation)
replace(android.media.VolumeShaper.Configuration configuration, android.media.VolumeShaper.Operation operation, boolean join)
@@ -11694,8 +11876,8 @@ package android.media.audiofx
class BassBoost.Settings
#ctor(java.lang.String settings)
class DynamicsProcessing
- #ctor(int audioSession)
#ctor(int priority, int audioSession, android.media.audiofx.DynamicsProcessing.Config cfg)
+ #ctor(int audioSession)
getChannelByChannelIndex(int channelIndex)
getInputGainByChannelIndex(int channelIndex)
getLimiterByChannelIndex(int channelIndex)
@@ -11907,8 +12089,8 @@ package android.media.browse
#ctor(android.content.Context context, android.content.ComponentName serviceComponent, android.media.browse.MediaBrowser.ConnectionCallback callback, android.os.Bundle rootHints)
subscribe(java.lang.String parentId, android.media.browse.MediaBrowser.SubscriptionCallback callback)
subscribe(java.lang.String parentId, android.os.Bundle options, android.media.browse.MediaBrowser.SubscriptionCallback callback)
- unsubscribe(java.lang.String parentId)
unsubscribe(java.lang.String parentId, android.media.browse.MediaBrowser.SubscriptionCallback callback)
+ unsubscribe(java.lang.String parentId)
class MediaBrowser.ItemCallback
onError(java.lang.String mediaId)
onItemLoaded(android.media.browse.MediaBrowser.MediaItem item)
@@ -11916,10 +12098,10 @@ package android.media.browse
#ctor(android.media.MediaDescription description, int flags)
writeToParcel(android.os.Parcel out, int flags)
class MediaBrowser.SubscriptionCallback
- onChildrenLoaded(java.lang.String parentId, java.util.List children)
onChildrenLoaded(java.lang.String parentId, java.util.List children, android.os.Bundle options)
- onError(java.lang.String parentId)
+ onChildrenLoaded(java.lang.String parentId, java.util.List children)
onError(java.lang.String parentId, android.os.Bundle options)
+ onError(java.lang.String parentId)
package android.media.effect
;---------------------------------------
@@ -12057,8 +12239,8 @@ package android.media.midi
class MidiReceiver
#ctor(int maxMessageSize)
onSend(byte[] msg, int offset, int count, long timestamp)
- send(byte[] msg, int offset, int count)
send(byte[] msg, int offset, int count, long timestamp)
+ send(byte[] msg, int offset, int count)
class MidiSender
connect(android.media.midi.MidiReceiver receiver)
disconnect(android.media.midi.MidiReceiver receiver)
@@ -12075,7 +12257,6 @@ package android.media.projection
onCapturedContentResize(int width, int height)
onCapturedContentVisibilityChanged(boolean isVisible)
class MediaProjectionConfig
- createConfigForDisplay(int displayId)
equals(java.lang.Object o)
writeToParcel(android.os.Parcel dest, int flags)
class MediaProjectionManager
@@ -12088,8 +12269,8 @@ package android.media.session
adjustVolume(int direction, int flags)
dispatchMediaButtonEvent(android.view.KeyEvent keyEvent)
#ctor(android.content.Context context, android.media.session.MediaSession.Token token)
- registerCallback(android.media.session.MediaController.Callback callback)
registerCallback(android.media.session.MediaController.Callback callback, android.os.Handler handler)
+ registerCallback(android.media.session.MediaController.Callback callback)
sendCommand(java.lang.String command, android.os.Bundle args, android.os.ResultReceiver cb)
setVolumeTo(int value, int flags)
unregisterCallback(android.media.session.MediaController.Callback callback)
@@ -12117,12 +12298,12 @@ package android.media.session
setRating(android.media.Rating rating)
skipToQueueItem(long id)
class MediaSession
- #ctor(android.content.Context context, java.lang.String tag)
#ctor(android.content.Context context, java.lang.String tag, android.os.Bundle sessionInfo)
+ #ctor(android.content.Context context, java.lang.String tag)
sendSessionEvent(java.lang.String event, android.os.Bundle extras)
setActive(boolean active)
- setCallback(android.media.session.MediaSession.Callback callback)
setCallback(android.media.session.MediaSession.Callback callback, android.os.Handler handler)
+ setCallback(android.media.session.MediaSession.Callback callback)
setExtras(android.os.Bundle extras)
setFlags(int flags)
setMediaButtonBroadcastReceiver(android.content.ComponentName broadcastReceiver)
@@ -12157,11 +12338,11 @@ package android.media.session
equals(java.lang.Object obj)
writeToParcel(android.os.Parcel dest, int flags)
class MediaSessionManager
- addOnActiveSessionsChangedListener(android.media.session.MediaSessionManager.OnActiveSessionsChangedListener sessionListener, android.content.ComponentName notificationListener)
addOnActiveSessionsChangedListener(android.media.session.MediaSessionManager.OnActiveSessionsChangedListener sessionListener, android.content.ComponentName notificationListener, android.os.Handler handler)
+ addOnActiveSessionsChangedListener(android.media.session.MediaSessionManager.OnActiveSessionsChangedListener sessionListener, android.content.ComponentName notificationListener)
addOnMediaKeyEventSessionChangedListener(java.util.concurrent.Executor executor, android.media.session.MediaSessionManager.OnMediaKeyEventSessionChangedListener listener)
- addOnSession2TokensChangedListener(android.media.session.MediaSessionManager.OnSession2TokensChangedListener listener)
addOnSession2TokensChangedListener(android.media.session.MediaSessionManager.OnSession2TokensChangedListener listener, android.os.Handler handler)
+ addOnSession2TokensChangedListener(android.media.session.MediaSessionManager.OnSession2TokensChangedListener listener)
getActiveSessions(android.content.ComponentName notificationListener)
isTrustedForMediaControl(android.media.session.MediaSessionManager.RemoteUserInfo userInfo)
notifySession2Created(android.media.Session2Token token)
@@ -12188,8 +12369,8 @@ package android.media.session
setBufferedPosition(long bufferedPosition)
setErrorMessage(java.lang.CharSequence error)
setExtras(android.os.Bundle extras)
- setState(int state, long position, float playbackSpeed)
setState(int state, long position, float playbackSpeed, long updateTime)
+ setState(int state, long position, float playbackSpeed)
class PlaybackState.CustomAction
writeToParcel(android.os.Parcel dest, int flags)
class PlaybackState.CustomAction.Builder
@@ -12198,7 +12379,11 @@ package android.media.session
package android.media.tv
;---------------------------------------
+ class AdBuffer
+ #ctor(int id, java.lang.String mimeType, android.os.SharedMemory buffer, int offset, int length, long presentationTimeUs, int flags)
+ writeToParcel(android.os.Parcel dest, int flags)
class AdRequest
+ #ctor(int id, int requestType, android.net.Uri uri, long startTime, long stopTime, long echoInterval, android.os.Bundle metadata)
#ctor(int id, int requestType, android.os.ParcelFileDescriptor fileDescriptor, long startTime, long stopTime, long echoInterval, java.lang.String mediaFileType, android.os.Bundle metadata)
writeToParcel(android.os.Parcel dest, int flags)
class AdResponse
@@ -12249,7 +12434,13 @@ package android.media.tv
class TableResponse
#ctor(int requestId, int sequence, int responseResult, android.net.Uri tableUri, int version, int size)
writeToParcel(android.os.Parcel dest, int flags)
+ class TableResponse.Builder
+ setTableByteArray(byte[] bytes)
+ setTableSharedMemory(android.os.SharedMemory sharedMemory)
+ setTableUri(android.net.Uri uri)
+ #ctor(int requestId, int sequence, int responseResult, int version, int size)
class TimelineRequest
+ #ctor(int requestId, int option, int intervalMillis, java.lang.String selector)
#ctor(int requestId, int option, int intervalMillis)
writeToParcel(android.os.Parcel dest, int flags)
class TimelineResponse
@@ -12276,10 +12467,10 @@ package android.media.tv
buildPreviewProgramsUriForChannel(android.net.Uri channelUri)
buildPreviewProgramsUriForChannel(long channelId)
buildPreviewProgramUri(long previewProgramId)
- buildProgramsUriForChannel(android.net.Uri channelUri)
buildProgramsUriForChannel(android.net.Uri channelUri, long startTime, long endTime)
- buildProgramsUriForChannel(long channelId)
+ buildProgramsUriForChannel(android.net.Uri channelUri)
buildProgramsUriForChannel(long channelId, long startTime, long endTime)
+ buildProgramsUriForChannel(long channelId)
buildProgramUri(long programId)
buildRecordedProgramUri(long recordedProgramId)
buildWatchNextProgramUri(long watchNextProgramId)
@@ -12323,10 +12514,11 @@ package android.media.tv
onTvInputInfoUpdated(android.media.tv.TvInputInfo inputInfo)
class TvInputService
onBind(android.content.Intent intent)
- onCreateRecordingSession(java.lang.String inputId)
onCreateRecordingSession(java.lang.String inputId, java.lang.String sessionId)
- onCreateSession(java.lang.String inputId)
+ onCreateRecordingSession(java.lang.String inputId)
+ onCreateSession(java.lang.String inputId, java.lang.String sessionId, android.content.AttributionSource tvAppAttributionSource)
onCreateSession(java.lang.String inputId, java.lang.String sessionId)
+ onCreateSession(java.lang.String inputId)
class TvInputService.HardwareSession
onHardwareVideoUnavailable(int reason)
onSetSurface(android.view.Surface surface)
@@ -12338,24 +12530,32 @@ package android.media.tv
onAppPrivateCommand(java.lang.String action, android.os.Bundle data)
onPauseRecording(android.os.Bundle params)
onResumeRecording(android.os.Bundle params)
- onStartRecording(android.net.Uri programUri)
onStartRecording(android.net.Uri programUri, android.os.Bundle params)
- onTune(android.net.Uri channelUri)
+ onStartRecording(android.net.Uri programUri)
onTune(android.net.Uri channelUri, android.os.Bundle params)
+ onTune(android.net.Uri channelUri)
#ctor(android.content.Context context)
class TvInputService.Session
layoutSurface(int left, int top, int right, int bottom)
+ notifyAdBufferConsumed(android.media.tv.AdBuffer buffer)
notifyAdResponse(android.media.tv.AdResponse response)
notifyAitInfoUpdated(android.media.tv.AitInfo aitInfo)
+ notifyAudioPresentationChanged(java.util.List audioPresentations)
+ notifyAudioPresentationSelected(int presentationId, int programId)
+ notifyAvailableSpeeds(float[] speeds)
notifyBroadcastInfoResponse(android.media.tv.BroadcastInfoResponse response)
notifyChannelRetuned(android.net.Uri channelUri)
notifyContentBlocked(android.media.tv.TvContentRating rating)
+ notifyCueingMessageAvailability(boolean available)
notifySignalStrength(int strength)
+ notifyTimeShiftMode(int mode)
notifyTimeShiftStatusChanged(int status)
notifyTracksChanged(java.util.List tracks)
notifyTrackSelected(int type, java.lang.String trackId)
notifyTuned(android.net.Uri channelUri)
+ notifyTvMessage(int type, android.os.Bundle data)
notifyVideoUnavailable(int reason)
+ onAdBufferReady(android.media.tv.AdBuffer buffer)
onAppPrivateCommand(java.lang.String action, android.os.Bundle data)
onGenericMotionEvent(android.view.MotionEvent event)
onKeyDown(int keyCode, android.view.KeyEvent event)
@@ -12366,19 +12566,23 @@ package android.media.tv
onRemoveBroadcastInfo(int requestId)
onRequestAd(android.media.tv.AdRequest request)
onRequestBroadcastInfo(android.media.tv.BroadcastInfoRequest request)
+ onSelectAudioPresentation(int presentationId, int programId)
onSelectTrack(int type, java.lang.String trackId)
onSetCaptionEnabled(boolean enabled)
onSetInteractiveAppNotificationEnabled(boolean enabled)
onSetStreamVolume(float volume)
onSetSurface(android.view.Surface surface)
+ onSetTvMessageEnabled(int type, boolean enabled)
onSurfaceChanged(int format, int width, int height)
onTimeShiftPlay(android.net.Uri recordedProgramUri)
onTimeShiftSeekTo(long timeMs)
+ onTimeShiftSetMode(int mode)
onTimeShiftSetPlaybackParams(android.media.PlaybackParams params)
onTouchEvent(android.view.MotionEvent event)
onTrackballEvent(android.view.MotionEvent event)
- onTune(android.net.Uri channelUri)
onTune(android.net.Uri channelUri, android.os.Bundle params)
+ onTune(android.net.Uri channelUri)
+ onTvMessage(int type, android.os.Bundle data)
onUnblockContent(android.media.tv.TvContentRating unblockedRating)
setOverlayViewEnabled(boolean enable)
#ctor(android.content.Context context)
@@ -12386,10 +12590,11 @@ package android.media.tv
pauseRecording(android.os.Bundle params)
resumeRecording(android.os.Bundle params)
sendAppPrivateCommand(java.lang.String action, android.os.Bundle data)
- startRecording(android.net.Uri programUri)
+ setTvInteractiveAppView(android.media.tv.interactive.TvInteractiveAppView view, java.lang.String recordingId)
startRecording(android.net.Uri programUri, android.os.Bundle params)
- tune(java.lang.String inputId, android.net.Uri channelUri)
+ startRecording(android.net.Uri programUri)
tune(java.lang.String inputId, android.net.Uri channelUri, android.os.Bundle params)
+ tune(java.lang.String inputId, android.net.Uri channelUri)
#ctor(android.content.Context context, java.lang.String tag, android.media.tv.TvRecordingClient.RecordingCallback callback, android.os.Handler handler)
class TvRecordingClient.RecordingCallback
onConnectionFailed(java.lang.String inputId)
@@ -12397,6 +12602,11 @@ package android.media.tv
onError(int error)
onRecordingStopped(android.net.Uri recordedProgramUri)
onTuned(android.net.Uri channelUri)
+ class TvRecordingInfo
+ setDescription(java.lang.String description)
+ setName(java.lang.String name)
+ #ctor(java.lang.String recordingId, long startPadding, long endPadding, int repeatDays, java.lang.String name, java.lang.String description, long scheduledStartTime, long scheduledDuration, android.net.Uri channelUri, android.net.Uri programUri, java.util.List contentRatings, android.net.Uri recordingUri, long recordingStartTime, long recordingDuration)
+ writeToParcel(android.os.Parcel dest, int flags)
class TvTrackInfo
equals(java.lang.Object o)
writeToParcel(android.os.Parcel dest, int flags)
@@ -12433,6 +12643,8 @@ package android.media.tv
onMeasure(int widthMeasureSpec, int heightMeasureSpec)
onUnhandledInputEvent(android.view.InputEvent event)
onVisibilityChanged(android.view.View changedView, int visibility)
+ overrideTvAppAttributionSource(android.content.AttributionSource tvAppAttributionSource)
+ selectAudioPresentation(int presentationId, int programId)
selectTrack(int type, java.lang.String trackId)
sendAppPrivateCommand(java.lang.String action, android.os.Bundle data)
setCallback(android.media.tv.TvView.TvInputCallback callback)
@@ -12441,16 +12653,18 @@ package android.media.tv
setOnUnhandledInputEventListener(android.media.tv.TvView.OnUnhandledInputEventListener listener)
setStreamVolume(float volume)
setTimeShiftPositionCallback(android.media.tv.TvView.TimeShiftPositionCallback callback)
+ setTvMessageEnabled(int type, boolean enabled)
setZOrderMediaOverlay(boolean isMediaOverlay)
setZOrderOnTop(boolean onTop)
timeShiftPlay(java.lang.String inputId, android.net.Uri recordedProgramUri)
timeShiftSeekTo(long timeMs)
+ timeShiftSetMode(int mode)
timeShiftSetPlaybackParams(android.media.PlaybackParams params)
- tune(java.lang.String inputId, android.net.Uri channelUri)
tune(java.lang.String inputId, android.net.Uri channelUri, android.os.Bundle params)
- #ctor(android.content.Context context)
- #ctor(android.content.Context context, android.util.AttributeSet attrs)
+ tune(java.lang.String inputId, android.net.Uri channelUri)
#ctor(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr)
+ #ctor(android.content.Context context, android.util.AttributeSet attrs)
+ #ctor(android.content.Context context)
interface TvView.OnUnhandledInputEventListener
onUnhandledInputEvent(android.view.InputEvent event)
class TvView.TimeShiftPositionCallback
@@ -12458,16 +12672,22 @@ package android.media.tv
onTimeShiftStartPositionChanged(java.lang.String inputId, long timeMs)
class TvView.TvInputCallback
onAitInfoUpdated(java.lang.String inputId, android.media.tv.AitInfo aitInfo)
+ onAudioPresentationsChanged(java.lang.String inputId, java.util.List audioPresentations)
+ onAudioPresentationSelected(java.lang.String inputId, int presentationId, int programId)
+ onAvailableSpeeds(java.lang.String inputId, float[] speeds)
onChannelRetuned(java.lang.String inputId, android.net.Uri channelUri)
onConnectionFailed(java.lang.String inputId)
onContentAllowed(java.lang.String inputId)
onContentBlocked(java.lang.String inputId, android.media.tv.TvContentRating rating)
+ onCueingMessageAvailability(java.lang.String inputId, boolean available)
onDisconnected(java.lang.String inputId)
onSignalStrengthUpdated(java.lang.String inputId, int strength)
+ onTimeShiftMode(java.lang.String inputId, int mode)
onTimeShiftStatusChanged(java.lang.String inputId, int status)
onTracksChanged(java.lang.String inputId, java.util.List tracks)
onTrackSelected(java.lang.String inputId, int type, java.lang.String trackId)
onTuned(java.lang.String inputId, android.net.Uri channelUri)
+ onTvMessage(java.lang.String inputId, int type, android.os.Bundle data)
onVideoAvailable(java.lang.String inputId)
onVideoSizeChanged(java.lang.String inputId, int width, int height)
onVideoUnavailable(java.lang.String inputId, int reason)
@@ -12497,16 +12717,20 @@ package android.media.tv.interactive
onUnregisterAppLinkInfo(android.media.tv.interactive.AppLinkInfo appLinkInfo)
class TvInteractiveAppService.Session
layoutSurface(int left, int top, int right, int bottom)
+ notifyAdBufferReady(android.media.tv.AdBuffer buffer)
notifyBiInteractiveAppCreated(android.net.Uri biIAppUri, java.lang.String biIAppId)
notifySessionStateChanged(int state, int err)
notifyTeletextAppStateChanged(int state)
+ onAdBufferConsumed(android.media.tv.AdBuffer buffer)
onAdResponse(android.media.tv.AdResponse response)
+ onAvailableSpeeds(float[] speeds)
onBroadcastInfoResponse(android.media.tv.BroadcastInfoResponse response)
onContentBlocked(android.media.tv.TvContentRating rating)
onCreateBiInteractiveAppRequest(android.net.Uri biIAppUri, android.os.Bundle params)
onCurrentChannelLcn(int lcn)
onCurrentChannelUri(android.net.Uri channelUri)
onCurrentTvInputId(java.lang.String inputId)
+ onCurrentVideoBounds(android.graphics.Rect bounds)
onDestroyBiInteractiveAppRequest(java.lang.String biIAppId)
onError(java.lang.String errMsg, android.os.Bundle params)
onGenericMotionEvent(android.view.MotionEvent event)
@@ -12515,29 +12739,48 @@ package android.media.tv.interactive
onKeyMultiple(int keyCode, int count, android.view.KeyEvent event)
onKeyUp(int keyCode, android.view.KeyEvent event)
onMediaViewSizeChanged(int width, int height)
- onRecordingStarted(java.lang.String recordingId)
+ onRecordingConnectionFailed(java.lang.String recordingId, java.lang.String inputId)
+ onRecordingDisconnected(java.lang.String recordingId, java.lang.String inputId)
+ onRecordingError(java.lang.String recordingId, int err)
+ onRecordingScheduled(java.lang.String recordingId, java.lang.String requestId)
+ onRecordingStarted(java.lang.String recordingId, java.lang.String requestId)
onRecordingStopped(java.lang.String recordingId)
+ onRecordingTuned(java.lang.String recordingId, android.net.Uri channelUri)
onSetSurface(android.view.Surface surface)
onSetTeletextAppEnabled(boolean enable)
onSignalStrength(int strength)
onSigningResult(java.lang.String signingId, byte[] result)
onStreamVolume(float volume)
onSurfaceChanged(int format, int width, int height)
+ onTimeShiftCurrentPositionChanged(java.lang.String inputId, long timeMs)
+ onTimeShiftMode(int mode)
+ onTimeShiftPlaybackParams(android.media.PlaybackParams params)
+ onTimeShiftStartPositionChanged(java.lang.String inputId, long timeMs)
+ onTimeShiftStatusChanged(java.lang.String inputId, int status)
onTouchEvent(android.view.MotionEvent event)
onTrackballEvent(android.view.MotionEvent event)
onTrackInfoList(java.util.List tracks)
onTracksChanged(java.util.List tracks)
onTrackSelected(int type, java.lang.String trackId)
onTuned(android.net.Uri channelUri)
+ onTvMessage(int type, android.os.Bundle data)
+ onTvRecordingInfo(android.media.tv.TvRecordingInfo recordingInfo)
+ onTvRecordingInfoList(java.util.List recordingInfoList)
onVideoUnavailable(int reason)
removeBroadcastInfo(int requestId)
requestAd(android.media.tv.AdRequest request)
requestBroadcastInfo(android.media.tv.BroadcastInfoRequest request)
+ requestScheduleRecording(java.lang.String requestId, java.lang.String inputId, android.net.Uri channelUri, android.net.Uri programUri, android.os.Bundle params)
+ requestScheduleRecording(java.lang.String requestId, java.lang.String inputId, android.net.Uri channelUri, long startTime, long duration, int repeatDays, android.os.Bundle params)
requestSigning(java.lang.String signingId, java.lang.String algorithm, java.lang.String alias, byte[] data)
- requestStartRecording(android.net.Uri programUri)
+ requestStartRecording(java.lang.String requestId, android.net.Uri programUri)
requestStopRecording(java.lang.String recordingId)
+ requestTvRecordingInfo(java.lang.String recordingId)
+ requestTvRecordingInfoList(int type)
sendPlaybackCommandRequest(java.lang.String cmdType, android.os.Bundle parameters)
+ sendTimeShiftCommandRequest(java.lang.String cmdType, android.os.Bundle parameters)
setMediaViewEnabled(boolean enable)
+ setTvRecordingInfo(java.lang.String recordingId, android.media.tv.TvRecordingInfo recordingInfo)
setVideoBounds(android.graphics.Rect rect)
#ctor(android.content.Context context)
class TvInteractiveAppServiceInfo
@@ -12549,42 +12792,62 @@ package android.media.tv.interactive
dispatchKeyEvent(android.view.KeyEvent event)
dispatchUnhandledInputEvent(android.view.InputEvent event)
notifyError(java.lang.String errMsg, android.os.Bundle params)
- notifyRecordingStarted(java.lang.String recordingId)
+ notifyRecordingScheduled(java.lang.String recordingId, java.lang.String requestId)
+ notifyRecordingStarted(java.lang.String recordingId, java.lang.String requestId)
notifyRecordingStopped(java.lang.String recordingId)
+ notifyTimeShiftCurrentPositionChanged(java.lang.String inputId, long timeMs)
+ notifyTimeShiftPlaybackParams(android.media.PlaybackParams params)
+ notifyTimeShiftStartPositionChanged(java.lang.String inputId, long timeMs)
+ notifyTimeShiftStatusChanged(java.lang.String inputId, int status)
+ notifyTvMessage(int type, android.os.Bundle data)
onLayout(boolean changed, int left, int top, int right, int bottom)
onMeasure(int widthMeasureSpec, int heightMeasureSpec)
onUnhandledInputEvent(android.view.InputEvent event)
onVisibilityChanged(android.view.View changedView, int visibility)
prepareInteractiveApp(java.lang.String iAppServiceId, int type)
+ sendAvailableSpeeds(float[] speeds)
sendCurrentChannelLcn(int lcn)
sendCurrentChannelUri(android.net.Uri channelUri)
sendCurrentTvInputId(java.lang.String inputId)
+ sendCurrentVideoBounds(android.graphics.Rect bounds)
sendSigningResult(java.lang.String signingId, byte[] result)
sendStreamVolume(float volume)
+ sendTimeShiftMode(int mode)
sendTrackInfoList(java.util.List