Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
P
platform_frameworks_base-old
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Farzin Kazemzadeh
platform_frameworks_base-old
Commits
025e1070
Commit
025e1070
authored
1 year ago
by
Treehugger Robot
Committed by
Android (Google) Code Review
1 year ago
Browse files
Options
Downloads
Plain Diff
Merge "Add memeber variable for default provider" into main
parents
e86dd6d1
50532847
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl2.java
+19
-19
19 additions, 19 deletions
.../com/android/server/webkit/WebViewUpdateServiceImpl2.java
with
19 additions
and
19 deletions
services/core/java/com/android/server/webkit/WebViewUpdateServiceImpl2.java
+
19
−
19
View file @
025e1070
...
...
@@ -85,6 +85,7 @@ class WebViewUpdateServiceImpl2 implements WebViewUpdateServiceInterface {
private
final
SystemInterface
mSystemInterface
;
private
final
Context
mContext
;
private
final
WebViewProviderInfo
mDefaultProvider
;
private
long
mMinimumVersionCode
=
-
1
;
...
...
@@ -105,6 +106,16 @@ class WebViewUpdateServiceImpl2 implements WebViewUpdateServiceInterface {
WebViewUpdateServiceImpl2
(
Context
context
,
SystemInterface
systemInterface
)
{
mContext
=
context
;
mSystemInterface
=
systemInterface
;
WebViewProviderInfo
[]
webviewProviders
=
getWebViewPackages
();
for
(
WebViewProviderInfo
provider
:
webviewProviders
)
{
if
(
provider
.
availableByDefault
)
{
mDefaultProvider
=
provider
;
break
;
}
}
// This should be unreachable because the config parser enforces that there is at least one
// availableByDefault provider.
throw
new
AndroidRuntimeException
(
"No available by default WebView Provider."
);
}
@Override
...
...
@@ -163,11 +174,10 @@ class WebViewUpdateServiceImpl2 implements WebViewUpdateServiceInterface {
if
(
mCurrentWebViewPackage
==
null
)
{
return
true
;
}
WebViewProviderInfo
defaultProvider
=
getDefaultWebViewPackage
();
if
(
mCurrentWebViewPackage
.
packageName
.
equals
(
defaultProvider
.
packageName
))
{
if
(
mCurrentWebViewPackage
.
packageName
.
equals
(
mDefaultProvider
.
packageName
))
{
List
<
UserPackage
>
userPackages
=
mSystemInterface
.
getPackageInfoForProviderAllUsers
(
mContext
,
d
efaultProvider
);
mContext
,
mD
efaultProvider
);
return
!
isInstalledAndEnabledForAllUsers
(
userPackages
);
}
else
{
return
false
;
...
...
@@ -200,13 +210,12 @@ class WebViewUpdateServiceImpl2 implements WebViewUpdateServiceInterface {
// default package for all users in case it was disabled, even if we already did the
// one-time migration before. If this actually changes the state, we will see the
// PackageManager broadcast shortly and try again.
WebViewProviderInfo
defaultProvider
=
getDefaultWebViewPackage
();
Slog
.
w
(
TAG
,
"No provider available for all users, trying to enable "
+
d
efaultProvider
.
packageName
);
+
mD
efaultProvider
.
packageName
);
mSystemInterface
.
enablePackageForAllUsers
(
mContext
,
d
efaultProvider
.
packageName
,
true
);
mContext
,
mD
efaultProvider
.
packageName
,
true
);
}
}
catch
(
Throwable
t
)
{
...
...
@@ -398,15 +407,7 @@ class WebViewUpdateServiceImpl2 implements WebViewUpdateServiceInterface {
*/
@Override
public
WebViewProviderInfo
getDefaultWebViewPackage
()
{
WebViewProviderInfo
[]
webviewProviders
=
getWebViewPackages
();
for
(
WebViewProviderInfo
provider
:
webviewProviders
)
{
if
(
provider
.
availableByDefault
)
{
return
provider
;
}
}
// This should be unreachable because the config parser enforces that there is at least one
// availableByDefault provider.
throw
new
AndroidRuntimeException
(
"No available by default WebView Provider."
);
return
mDefaultProvider
;
}
private
static
class
ProviderAndPackageInfo
{
...
...
@@ -467,14 +468,13 @@ class WebViewUpdateServiceImpl2 implements WebViewUpdateServiceInterface {
// User did not choose, or the choice failed; return the default provider even if it is not
// installed or enabled for all users.
WebViewProviderInfo
defaultProvider
=
getDefaultWebViewPackage
();
try
{
PackageInfo
packageInfo
=
mSystemInterface
.
getPackageInfoForProvider
(
d
efaultProvider
);
if
(
validityResult
(
d
efaultProvider
,
packageInfo
)
==
VALIDITY_OK
)
{
PackageInfo
packageInfo
=
mSystemInterface
.
getPackageInfoForProvider
(
mD
efaultProvider
);
if
(
validityResult
(
mD
efaultProvider
,
packageInfo
)
==
VALIDITY_OK
)
{
return
packageInfo
;
}
}
catch
(
NameNotFoundException
e
)
{
Slog
.
w
(
TAG
,
"Default WebView package ("
+
d
efaultProvider
.
packageName
+
") not found"
);
Slog
.
w
(
TAG
,
"Default WebView package ("
+
mD
efaultProvider
.
packageName
+
") not found"
);
}
// This should never happen during normal operation (only with modified system images).
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment