diff --git a/app/build.gradle b/app/build.gradle
index abd1154..1815257 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -42,7 +42,7 @@
         exclude 'META-INF/NOTICE.txt'
     }
     lintOptions {
-      abortOnError false
+        abortOnError false
     }
 
     splits {
@@ -87,18 +87,18 @@
         def args = [getNdkBuildCmd(), '-C', file('src/main').absolutePath]
 
         if (System.env.NDK_BUILD_PARALLEL != null) {
-           args.add("-j" + System.env.NDK_BUILD_PARALLEL)
+            args.add("-j" + System.env.NDK_BUILD_PARALLEL)
         }
         else {
-           args.add("-j" + Runtime.runtime.availableProcessors())
+            args.add("-j" + Runtime.runtime.availableProcessors())
         }
 
         if (System.env.NDK_BUILD_ABI != null) {
-           args.add("APP_ABI=" + System.env.NDK_BUILD_ABI)
+            args.add("APP_ABI=" + System.env.NDK_BUILD_ABI)
         }
 
         if (System.env.NDK_DEBUG != null) {
-           args.add("V=1")
+            args.add("V=1")
         }
         commandLine args
     }
@@ -148,15 +148,20 @@
 
 dependencies {
     implementation fileTree(dir: 'libs', include: ['*.jar'])
-    implementation 'androidx.appcompat:appcompat:1.0.2'
+    implementation('com.google.android.material:material:1.1.0-alpha04') {
+        exclude group: 'com.google.guava', module: 'listenablefuture'
+    }
+    implementation('androidx.appcompat:appcompat:1.0.2') {
+        exclude group: 'com.google.guava', module: 'listenablefuture'
+    }
     implementation 'com.android.volley:volley:1.1.1'
 
     implementation('net.named-data.jndn-extra:jndn-management:1.2.0') {
-      exclude group: 'net.named-data', module: 'jndn'
+        exclude group: 'net.named-data', module: 'jndn'
     }
     implementation('net.named-data:jndn-android:0.20') {
-      exclude group: 'org.xerial'
-      exclude group: 'com.google.android'
+        exclude group: 'org.xerial'
+        exclude group: 'com.google.android'
     }
     implementation 'net.named-data.jndn-extra:jndn-xx-util:0.0.2'
     implementation 'joda-time:joda-time:2.10'
@@ -166,7 +171,7 @@
 properties.load(project.rootProject.file('local.properties').newDataInputStream())
 
 if (properties['keystore'] == null || properties['keystore.password'] == null ||
-    properties['keystore.key.alias'] == null || properties['keystore.key.password'] == null) {
+        properties['keystore.key.alias'] == null || properties['keystore.key.password'] == null) {
     println("Cannot sign .apk: specify keystore, keystore.password, keystore.key.alias, and keystore.key.password in local.properties.")
 }
 else {
