Make android.ModuleContext not include blueprint.ModuleContext

android.ModuleContext should replace the blueprint.ModuleContext
methods with ones that take android.Module parameters instead of
blueprint.Module parameters.  As a first step, don't include
blueprint.ModuleContext in android.ModuleContext and manually
specify the methods from blueprint.ModuleContext that we need.
Future patches will replace these methods with ones that take
android.* types.  Also do the same for TopDownMutatorContext.

Test: m checkbuild
Change-Id: If11c298eed98bc65712b4942d0283cafa058726c
diff --git a/android/module.go b/android/module.go
index 9afc8a7..5e134b6 100644
--- a/android/module.go
+++ b/android/module.go
@@ -72,8 +72,8 @@
 }
 
 type ModuleContext interface {
-	blueprint.ModuleContext
 	androidBaseContext
+	blueprint.BaseModuleContext
 
 	// Similar to Build, but takes Paths instead of []string,
 	// and performs more verification.
@@ -94,6 +94,34 @@
 	InstallInSanitizerDir() bool
 
 	RequiredModuleNames() []string
+
+	// android.ModuleContext methods
+	// These are duplicated instead of embedded so that can eventually be wrapped to take an
+	// android.Module instead of a blueprint.Module
+	OtherModuleName(m blueprint.Module) string
+	OtherModuleErrorf(m blueprint.Module, fmt string, args ...interface{})
+	OtherModuleDependencyTag(m blueprint.Module) blueprint.DependencyTag
+
+	GetDirectDepWithTag(name string, tag blueprint.DependencyTag) blueprint.Module
+	GetDirectDep(name string) (blueprint.Module, blueprint.DependencyTag)
+
+	ModuleSubDir() string
+
+	VisitDirectDeps(visit func(blueprint.Module))
+	VisitDirectDepsIf(pred func(blueprint.Module) bool, visit func(blueprint.Module))
+	VisitDepsDepthFirst(visit func(blueprint.Module))
+	VisitDepsDepthFirstIf(pred func(blueprint.Module) bool, visit func(blueprint.Module))
+	WalkDeps(visit func(blueprint.Module, blueprint.Module) bool)
+
+	Variable(pctx blueprint.PackageContext, name, value string)
+	Rule(pctx blueprint.PackageContext, name string, params blueprint.RuleParams, argNames ...string) blueprint.Rule
+	Build(pctx blueprint.PackageContext, params blueprint.BuildParams)
+
+	PrimaryModule() blueprint.Module
+	FinalModule() blueprint.Module
+	VisitAllModuleVariants(visit func(blueprint.Module))
+
+	GetMissingDependencies() []string
 }
 
 type Module interface {