Commit 505a46b6 authored by Peter E Conn's avatar Peter E Conn Committed by Commit Bot

🍱 Remove dependency from VerifiedHandler. to AppHooks.

This should allow all of org.chromium.chrome.browser.externalauth to be
moved to a separate module.

Change-Id: I0545fc8e1561b5f3c417e196e07893417c55f8ec
Bug: 2400622
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2438253
Commit-Queue: Peter Conn <peconn@chromium.org>
Reviewed-by: default avatarTheresa  <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#811993}
parent fd1b8fe0
...@@ -10,8 +10,6 @@ import android.os.Message; ...@@ -10,8 +10,6 @@ import android.os.Message;
import android.os.Messenger; import android.os.Messenger;
import android.text.TextUtils; import android.text.TextUtils;
import org.chromium.chrome.browser.AppHooks;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
...@@ -24,25 +22,32 @@ public class VerifiedHandler extends Handler { ...@@ -24,25 +22,32 @@ public class VerifiedHandler extends Handler {
private final String mCallerPackageToMatch; private final String mCallerPackageToMatch;
private final Map<Messenger, Boolean> mClientTrustMap = new HashMap<Messenger, Boolean>(); private final Map<Messenger, Boolean> mClientTrustMap = new HashMap<Messenger, Boolean>();
private final Context mContext; private final Context mContext;
private final ExternalAuthUtils mExternalAuthUtils;
/** /**
* Basic constructor for verified handler. * Basic constructor for verified handler.
* @param context The context to use for accessing the package manager. * @param context The context to use for accessing the package manager.
* @param externalAuthUtils An {@link ExternalAuthUtils}, to check the package. Can be acquired
* from AppHooks.
* @param authRequirements The requirements for authenticating the caller application. * @param authRequirements The requirements for authenticating the caller application.
*/ */
public VerifiedHandler(Context context, int authRequirements) { public VerifiedHandler(
this(context, authRequirements, ""); Context context, ExternalAuthUtils externalAuthUtils, int authRequirements) {
this(context, externalAuthUtils, authRequirements, "");
} }
/** /**
* Constructor with package name requirement. * Constructor with package name requirement.
* @param context The context to use for accessing the package manager. * @param context The context to use for accessing the package manager.
* @param externalAuthUtils An {@link ExternalAuthUtils}, to check the package. Can be acquired
* from AppHooks.
* @param authRequirements The requirements for authenticating the caller application. * @param authRequirements The requirements for authenticating the caller application.
* @param callerPackageToMatch The package name to match to. * @param callerPackageToMatch The package name to match to.
*/ */
public VerifiedHandler(Context context, int authRequirements, public VerifiedHandler(Context context, ExternalAuthUtils externalAuthUtils,
String callerPackageToMatch) { int authRequirements, String callerPackageToMatch) {
mContext = context; mContext = context;
mExternalAuthUtils = externalAuthUtils;
mAuthRequirements = authRequirements; mAuthRequirements = authRequirements;
mCallerPackageToMatch = callerPackageToMatch; mCallerPackageToMatch = callerPackageToMatch;
} }
...@@ -59,10 +64,9 @@ public class VerifiedHandler extends Handler { ...@@ -59,10 +64,9 @@ public class VerifiedHandler extends Handler {
* set during construction. * set during construction.
*/ */
public boolean checkCallerIsValid() { public boolean checkCallerIsValid() {
ExternalAuthUtils externalAuthUtils = AppHooks.get().getExternalAuthUtils();
return TextUtils.isEmpty(mCallerPackageToMatch) return TextUtils.isEmpty(mCallerPackageToMatch)
? externalAuthUtils.isCallerValid(mContext, mAuthRequirements) ? mExternalAuthUtils.isCallerValid(mContext, mAuthRequirements)
: externalAuthUtils.isCallerValidForPackage( : mExternalAuthUtils.isCallerValidForPackage(
mContext, mAuthRequirements, mCallerPackageToMatch); mContext, mAuthRequirements, mCallerPackageToMatch);
} }
} }
...@@ -11,6 +11,7 @@ import android.os.IBinder; ...@@ -11,6 +11,7 @@ import android.os.IBinder;
import android.os.Message; import android.os.Message;
import android.os.Messenger; import android.os.Messenger;
import org.chromium.chrome.browser.AppHooks;
import org.chromium.chrome.browser.ChromeVersionInfo; import org.chromium.chrome.browser.ChromeVersionInfo;
import org.chromium.chrome.browser.externalauth.ExternalAuthUtils; import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
import org.chromium.chrome.browser.externalauth.VerifiedHandler; import org.chromium.chrome.browser.externalauth.VerifiedHandler;
...@@ -25,8 +26,10 @@ public class ChromePrerenderService extends Service { ...@@ -25,8 +26,10 @@ public class ChromePrerenderService extends Service {
*/ */
static class IncomingHandler extends VerifiedHandler { static class IncomingHandler extends VerifiedHandler {
IncomingHandler(Context context) { IncomingHandler(Context context) {
super(context, ChromeVersionInfo.isLocalBuild() super(context, AppHooks.get().getExternalAuthUtils(),
? 0 : ExternalAuthUtils.FLAG_SHOULD_BE_GOOGLE_SIGNED); ChromeVersionInfo.isLocalBuild()
? 0
: ExternalAuthUtils.FLAG_SHOULD_BE_GOOGLE_SIGNED);
} }
@Override @Override
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment