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;
import android.os.Messenger;
import android.text.TextUtils;
import org.chromium.chrome.browser.AppHooks;
import java.util.HashMap;
import java.util.Map;
......@@ -24,25 +22,32 @@ public class VerifiedHandler extends Handler {
private final String mCallerPackageToMatch;
private final Map<Messenger, Boolean> mClientTrustMap = new HashMap<Messenger, Boolean>();
private final Context mContext;
private final ExternalAuthUtils mExternalAuthUtils;
/**
* Basic constructor for verified handler.
* @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.
*/
public VerifiedHandler(Context context, int authRequirements) {
this(context, authRequirements, "");
public VerifiedHandler(
Context context, ExternalAuthUtils externalAuthUtils, int authRequirements) {
this(context, externalAuthUtils, authRequirements, "");
}
/**
* Constructor with package name requirement.
* @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 callerPackageToMatch The package name to match to.
*/
public VerifiedHandler(Context context, int authRequirements,
String callerPackageToMatch) {
public VerifiedHandler(Context context, ExternalAuthUtils externalAuthUtils,
int authRequirements, String callerPackageToMatch) {
mContext = context;
mExternalAuthUtils = externalAuthUtils;
mAuthRequirements = authRequirements;
mCallerPackageToMatch = callerPackageToMatch;
}
......@@ -59,10 +64,9 @@ public class VerifiedHandler extends Handler {
* set during construction.
*/
public boolean checkCallerIsValid() {
ExternalAuthUtils externalAuthUtils = AppHooks.get().getExternalAuthUtils();
return TextUtils.isEmpty(mCallerPackageToMatch)
? externalAuthUtils.isCallerValid(mContext, mAuthRequirements)
: externalAuthUtils.isCallerValidForPackage(
? mExternalAuthUtils.isCallerValid(mContext, mAuthRequirements)
: mExternalAuthUtils.isCallerValidForPackage(
mContext, mAuthRequirements, mCallerPackageToMatch);
}
}
......@@ -11,6 +11,7 @@ import android.os.IBinder;
import android.os.Message;
import android.os.Messenger;
import org.chromium.chrome.browser.AppHooks;
import org.chromium.chrome.browser.ChromeVersionInfo;
import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
import org.chromium.chrome.browser.externalauth.VerifiedHandler;
......@@ -25,8 +26,10 @@ public class ChromePrerenderService extends Service {
*/
static class IncomingHandler extends VerifiedHandler {
IncomingHandler(Context context) {
super(context, ChromeVersionInfo.isLocalBuild()
? 0 : ExternalAuthUtils.FLAG_SHOULD_BE_GOOGLE_SIGNED);
super(context, AppHooks.get().getExternalAuthUtils(),
ChromeVersionInfo.isLocalBuild()
? 0
: ExternalAuthUtils.FLAG_SHOULD_BE_GOOGLE_SIGNED);
}
@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