Update isDefaultMethod to not include static methods

Change-Id: I6ae90439ed49383f083fd5d7a76904be7ad271e3
diff --git a/src/main/java/com/android/tools/r8/graph/DexEncodedMethod.java b/src/main/java/com/android/tools/r8/graph/DexEncodedMethod.java
index 348ed36..90de8ca 100644
--- a/src/main/java/com/android/tools/r8/graph/DexEncodedMethod.java
+++ b/src/main/java/com/android/tools/r8/graph/DexEncodedMethod.java
@@ -273,7 +273,7 @@
 
   public boolean isDefaultMethod() {
     // Assumes holder is an interface
-    return !isAbstract() && !isPrivateMethod() && !isInstanceInitializer();
+    return !isStatic() && !isAbstract() && !isPrivateMethod() && !isInstanceInitializer();
   }
 
   /**
@@ -882,7 +882,7 @@
       List<Pair<DexType, DexMethod>> extraDispatchCases,
       AppView<?> appView) {
     // TODO(134732760): Deal with overrides for correct dispatch to implementations of Interfaces
-    assert isDefaultMethod();
+    assert isDefaultMethod() || isStatic();
     DexEncodedMethod.Builder builder = DexEncodedMethod.builder(this);
     builder.setMethod(newMethod);
     builder.accessFlags.setSynthetic();
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/InterfaceMethodRewriter.java b/src/main/java/com/android/tools/r8/ir/desugar/InterfaceMethodRewriter.java
index db8f582..1f049e5 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/InterfaceMethodRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/InterfaceMethodRewriter.java
@@ -139,6 +139,10 @@
     initializeEmulatedInterfaceVariables();
   }
 
+  private boolean isDefaultOrStatic(DexEncodedMethod method) {
+    return method.isDefaultMethod() || method.isStatic();
+  }
+
   private void initializeEmulatedInterfaceVariables() {
     Map<DexType, DexType> emulateLibraryInterface =
         options.desugaredLibraryConfiguration.getEmulateLibraryInterface();
@@ -148,7 +152,7 @@
       DexClass emulatedInterfaceClass = appView.definitionFor(interfaceType);
       if (emulatedInterfaceClass != null) {
         for (DexEncodedMethod encodedMethod :
-            emulatedInterfaceClass.methods(DexEncodedMethod::isDefaultMethod)) {
+            emulatedInterfaceClass.methods(this::isDefaultOrStatic)) {
           emulatedMethods.add(encodedMethod.method.name);
         }
       }
@@ -635,7 +639,7 @@
       DexProgramClass theInterface, Map<DexType, List<DexType>> emulatedInterfacesHierarchy) {
     List<DexEncodedMethod> emulationMethods = new ArrayList<>();
     for (DexEncodedMethod method : theInterface.methods()) {
-      if (method.isDefaultMethod()) {
+      if (isDefaultOrStatic(method)) {
         DexMethod libraryMethod =
             factory.createMethod(
                 emulatedInterfaces.get(theInterface.type), method.method.proto, method.method.name);