diff --git a/app b/app
index 60c617f3..2e766025 160000
--- a/app
+++ b/app
@@ -1 +1 @@
-Subproject commit 60c617f334bbc7634096ddd0a741a7b9a8d9ed7c
+Subproject commit 2e7660250b9c0f7599055d7e1eb3965a78f3db0e
diff --git a/p4a/pythonforandroid/bootstraps/lbry/build/gradle/wrapper/gradle-wrapper.properties b/p4a/pythonforandroid/bootstraps/lbry/build/gradle/wrapper/gradle-wrapper.properties
index 8733ff37..4aaff96e 100644
--- a/p4a/pythonforandroid/bootstraps/lbry/build/gradle/wrapper/gradle-wrapper.properties
+++ b/p4a/pythonforandroid/bootstraps/lbry/build/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
diff --git a/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle b/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle
index 6302d65f..de156ff5 100644
--- a/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle
+++ b/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle
@@ -6,7 +6,7 @@ buildscript {
         maven { url "https://jitpack.io" }
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:3.0.0'
+        classpath 'com.android.tools.build:gradle:3.3.0'
         classpath 'com.google.gms:google-services:4.2.0'
     }
 }
@@ -87,7 +87,7 @@ ext {
     buildToolsVersion = '{{ build_tools_version }}'
     minSdkVersion = {{ args.min_sdk_version }}
     targetSdkVersion = {{ android_api }}
-    supportLibVersion = '27.1.1'
+    supportLibVersion = '28.0.0'
     googlePlayServicesVersion = '16.1.0'
     googlePlayServicesVisionVersion = '17.0.2'
 }
@@ -111,6 +111,7 @@ dependencies {
     compile project(':react-native-fast-image')
     compile project(':react-native-fs')
     compile project(':react-native-gesture-handler')
+    compile project(':react-native-reanimated')
     compile project(':react-native-video')
     compile project(':rn-fetch-blob')
     {%- for aar in aars %}
diff --git a/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle.arm b/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle.arm
index b999e82f..b031079d 100644
--- a/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle.arm
+++ b/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle.arm
@@ -6,7 +6,7 @@ buildscript {
         maven { url "https://jitpack.io" }
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:3.0.0'
+        classpath 'com.android.tools.build:gradle:3.3.0'
         classpath 'com.google.gms:google-services:4.2.0'
     }
 }
@@ -87,7 +87,7 @@ ext {
     buildToolsVersion = '{{ build_tools_version }}'
     minSdkVersion = {{ args.min_sdk_version }}
     targetSdkVersion = {{ android_api }}
-    supportLibVersion = '27.1.1'
+    supportLibVersion = '28.0.0'
     googlePlayServicesVersion = '16.1.0'
     googlePlayServicesVisionVersion = '17.0.2'
 }
@@ -111,6 +111,7 @@ dependencies {
     compile project(':react-native-fast-image')
     compile project(':react-native-fs')
     compile project(':react-native-gesture-handler')
+    compile project(':react-native-reanimated')
     compile project(':react-native-video')
     compile project(':rn-fetch-blob')
     {%- for aar in aars %}
diff --git a/p4a/pythonforandroid/bootstraps/lbry/build/templates/settings.gradle b/p4a/pythonforandroid/bootstraps/lbry/build/templates/settings.gradle
index 72c57ba1..d874c600 100644
--- a/p4a/pythonforandroid/bootstraps/lbry/build/templates/settings.gradle
+++ b/p4a/pythonforandroid/bootstraps/lbry/build/templates/settings.gradle
@@ -13,6 +13,8 @@ include ':react-native-fs'
 project(':react-native-fs').projectDir = new File(settingsDir, './react/node_modules/react-native-fs/android')
 include ':react-native-gesture-handler'
 project(':react-native-gesture-handler').projectDir = new File(rootProject.projectDir, './react/node_modules/react-native-gesture-handler/android')
+include ':react-native-reanimated'
+project(':react-native-reanimated').projectDir = new File(rootProject.projectDir, './react/node_modules/react-native-reanimated/android')
 include ':react-native-video'
 project(':react-native-video').projectDir = new File(rootProject.projectDir, './react/node_modules/react-native-video/android-exoplayer')
 include ':rn-fetch-blob'
diff --git a/release.sh b/release.sh
index 506bf746..3a849702 100755
--- a/release.sh
+++ b/release.sh
@@ -10,6 +10,6 @@ jarsigner -verbose -sigalg SHA1withRSA \
     -storepass $KEYSTORE_PASSWORD \
     bin/browser-$version-release-unsigned.apk lbry-android > /dev/null \
     && mv bin/browser-$version-release-unsigned.apk bin/browser-$version-release-signed.apk
-~/.buildozer/android/platform/android-sdk-23/build-tools/26.0.2/zipalign -v 4 \
+~/.buildozer/android/platform/android-sdk-23/build-tools/28.0.3/zipalign -v 4 \
     bin/browser-$version-release-signed.apk bin/browser-$version-release.apk > /dev/null \
     && rm bin/browser-$version-release-signed.apk
diff --git a/src/main/java/io/lbry/browser/MainActivity.java b/src/main/java/io/lbry/browser/MainActivity.java
index 4892e591..c65591a8 100644
--- a/src/main/java/io/lbry/browser/MainActivity.java
+++ b/src/main/java/io/lbry/browser/MainActivity.java
@@ -41,6 +41,7 @@ import com.reactnativedocumentpicker.ReactNativeDocumentPicker;
 import com.rnfs.RNFSPackage;
 import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView;
 import com.swmansion.gesturehandler.react.RNGestureHandlerPackage;
+import com.swmansion.reanimated.ReanimatedPackage;
 import com.RNFetchBlob.RNFetchBlobPackage;
 
 import io.lbry.browser.reactpackages.LbryReactPackage;
@@ -149,6 +150,7 @@ public class MainActivity extends Activity implements DefaultHardwareBackBtnHand
                 .addPackage(new FastImageViewPackage())
                 .addPackage(new ReactNativeDocumentPicker())
                 .addPackage(new ReactVideoPackage())
+                .addPackage(new ReanimatedPackage())
                 .addPackage(new RNCameraPackage())
                 .addPackage(new RNFetchBlobPackage())
                 .addPackage(new RNFSPackage())