diff --git a/README.md b/README.md
index 3b45d5a2..6509dd08 100644
--- a/README.md
+++ b/README.md
@@ -45,7 +45,7 @@ A mod of the Twitch Android Mobile1 App adding B
# Build it yourself
-> This patch is meant to be applied to version **17.9.0** of the official twitch app
+> This patch is meant to be applied to version **18.0.0** of the official twitch app
> Make sure you use this version before you create an issue!
## Easy way: Docker
@@ -128,7 +128,7 @@ Made with ♥️ by [@FoseFx](https://github.com/FoseFx) and contributors. MIT L
[license-badge]: https://img.shields.io/github/license/bttv-android/bttv?style=flat-square
[license-file]: ./LICENSE
[bttv-version]: https://img.shields.io/github/v/release/bttv-android/bttv?style=flat-square
-[base-version]: https://img.shields.io/badge/build%20on-v17.9.0-blueviolet?style=flat-square
+[base-version]: https://img.shields.io/badge/build%20on-v18.0.0-blueviolet?style=flat-square
[downloads-latest]: https://img.shields.io/github/downloads/bttv-android/bttv/latest/total?color=yellow&style=flat-square
[downloads-total]: https://img.shields.io/github/downloads/bttv-android/bttv/total?color=yellowgreen&label=downloads%20total&style=flat-square
[latest-release]: https://github.com/bttv-android/bttv/releases/latest
diff --git a/patches/AndroidManifest.xml.patch b/patches/AndroidManifest.xml.patch
index 7d207a92..0cb4cc1a 100644
--- a/patches/AndroidManifest.xml.patch
+++ b/patches/AndroidManifest.xml.patch
@@ -65,10 +65,10 @@ diff --git a/AndroidManifest.xml b/AndroidManifest.xml
-@@ -353,5 +365,18 @@
-
+@@ -354,5 +366,18 @@
+
+
+ messageInputListener:Ltv/twitch/android/shared/chat/ChatViewPresenter$messageInputListener$1;
@@ -30,7 +30,7 @@ diff --git a/smali_classes6/tv/twitch/android/shared/chat/ChatViewPresenter.smal
return-void
.end method
-@@ -2153,6 +2157,13 @@
+@@ -2173,6 +2177,13 @@
:cond_0
return-void
.end method
diff --git a/patches/anonchat/tv.twitch.android.shared.chat.observables.ChatConnectionController.smali.patch b/patches/anonchat/tv.twitch.android.shared.chat.observables.ChatConnectionController.smali.patch
index 0bf6c2d3..9413a177 100644
--- a/patches/anonchat/tv.twitch.android.shared.chat.observables.ChatConnectionController.smali.patch
+++ b/patches/anonchat/tv.twitch.android.shared.chat.observables.ChatConnectionController.smali.patch
@@ -1,7 +1,7 @@
diff --git a/smali_classes6/tv/twitch/android/shared/chat/observables/ChatConnectionController.smali b/smali_classes6/tv/twitch/android/shared/chat/observables/ChatConnectionController.smali
--- a/smali_classes6/tv/twitch/android/shared/chat/observables/ChatConnectionController.smali
+++ b/smali_classes6/tv/twitch/android/shared/chat/observables/ChatConnectionController.smali
-@@ -267,7 +267,7 @@
+@@ -279,7 +279,7 @@
.field private viewer:Ltv/twitch/android/models/UserModel;
@@ -10,7 +10,7 @@ diff --git a/smali_classes6/tv/twitch/android/shared/chat/observables/ChatConnec
# direct methods
-@@ -1374,6 +1374,11 @@
+@@ -1438,6 +1438,11 @@
iget v1, p0, Ltv/twitch/android/shared/chat/observables/ChatConnectionController;->viewerId:I
@@ -22,7 +22,7 @@ diff --git a/smali_classes6/tv/twitch/android/shared/chat/observables/ChatConnec
iget-object v2, p0, Ltv/twitch/android/shared/chat/observables/ChatConnectionController;->screenName:Ljava/lang/String;
invoke-virtual {v0, v1, p1, v2}, Ltv/twitch/android/sdk/ChatController;->connect(IILjava/lang/String;)V
-@@ -1716,6 +1721,14 @@
+@@ -2104,6 +2109,14 @@
return-object v0
.end method
diff --git a/patches/bits/tv.twitch.android.shared.bits.BitsSpendingPresenter$maybeShowBuyBitsButton$1$2.smali.patch b/patches/bits/tv.twitch.android.shared.bits.BitsSpendingPresenter$maybeShowBuyBitsButton$1$2.smali.patch
index 864391c4..a06836f4 100644
--- a/patches/bits/tv.twitch.android.shared.bits.BitsSpendingPresenter$maybeShowBuyBitsButton$1$2.smali.patch
+++ b/patches/bits/tv.twitch.android.shared.bits.BitsSpendingPresenter$maybeShowBuyBitsButton$1$2.smali.patch
@@ -2,7 +2,7 @@ diff --git a/smali_classes6/tv/twitch/android/shared/bits/BitsSpendingPresenter$
--- a/smali_classes6/tv/twitch/android/shared/bits/BitsSpendingPresenter$maybeShowBuyBitsButton$1$2.smali
+++ b/smali_classes6/tv/twitch/android/shared/bits/BitsSpendingPresenter$maybeShowBuyBitsButton$1$2.smali
@@ -67,6 +67,12 @@
- .line 537
+ .line 516
iget-object v0, p0, Ltv/twitch/android/shared/bits/BitsSpendingPresenter$maybeShowBuyBitsButton$1$2;->this$0:Ltv/twitch/android/shared/bits/BitsSpendingPresenter;
+ # BTTV
diff --git a/patches/bits/tv.twitch.android.shared.bits.BitsSpendingPresenter.smali.patch b/patches/bits/tv.twitch.android.shared.bits.BitsSpendingPresenter.smali.patch
index 8473f14e..6a2431f6 100644
--- a/patches/bits/tv.twitch.android.shared.bits.BitsSpendingPresenter.smali.patch
+++ b/patches/bits/tv.twitch.android.shared.bits.BitsSpendingPresenter.smali.patch
@@ -10,7 +10,7 @@ diff --git a/smali_classes6/tv/twitch/android/shared/bits/BitsSpendingPresenter.
.field private final availabilityTracker:Ltv/twitch/android/shared/analytics/availability/AvailabilityTracker;
-@@ -1105,7 +1105,9 @@
+@@ -933,7 +933,9 @@
const/4 v1, 0x1
diff --git a/patches/emotes/tv.twitch.android.shared.chat.messagefactory.ChatMessageFactory.smali.patch b/patches/emotes/tv.twitch.android.shared.chat.messagefactory.ChatMessageFactory.smali.patch
index ac1aca3f..2ed3c602 100644
--- a/patches/emotes/tv.twitch.android.shared.chat.messagefactory.ChatMessageFactory.smali.patch
+++ b/patches/emotes/tv.twitch.android.shared.chat.messagefactory.ChatMessageFactory.smali.patch
@@ -1,7 +1,7 @@
diff --git a/smali_classes6/tv/twitch/android/shared/chat/messagefactory/ChatMessageFactory.smali b/smali_classes6/tv/twitch/android/shared/chat/messagefactory/ChatMessageFactory.smali
--- a/smali_classes6/tv/twitch/android/shared/chat/messagefactory/ChatMessageFactory.smali
+++ b/smali_classes6/tv/twitch/android/shared/chat/messagefactory/ChatMessageFactory.smali
-@@ -1338,6 +1338,19 @@
+@@ -1496,6 +1496,19 @@
invoke-static {v14, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
diff --git a/patches/emotes/tv.twitch.android.shared.chat.messagefactory.SubNoticeChatMessageFactory.smali.patch b/patches/emotes/tv.twitch.android.shared.chat.messagefactory.SubNoticeChatMessageFactory.smali.patch
index 5226aaac..e9a1541d 100644
--- a/patches/emotes/tv.twitch.android.shared.chat.messagefactory.SubNoticeChatMessageFactory.smali.patch
+++ b/patches/emotes/tv.twitch.android.shared.chat.messagefactory.SubNoticeChatMessageFactory.smali.patch
@@ -1,8 +1,8 @@
diff --git a/smali_classes6/tv/twitch/android/shared/chat/messagefactory/SubNoticeChatMessageFactory.smali b/smali_classes6/tv/twitch/android/shared/chat/messagefactory/SubNoticeChatMessageFactory.smali
--- a/smali_classes6/tv/twitch/android/shared/chat/messagefactory/SubNoticeChatMessageFactory.smali
+++ b/smali_classes6/tv/twitch/android/shared/chat/messagefactory/SubNoticeChatMessageFactory.smali
-@@ -318,6 +318,11 @@
- .line 62
+@@ -470,6 +470,11 @@
+ .line 65
iget-object v4, v1, Ltv/twitch/chat/ChatSubscriptionNotice;->userMessage:Ltv/twitch/chat/ChatMessageInfo;
+ # BTTV
diff --git a/patches/res.values.ids.xml.patch b/patches/res.values.ids.xml.patch
index 0c7cb3c5..7618842a 100644
--- a/patches/res.values.ids.xml.patch
+++ b/patches/res.values.ids.xml.patch
@@ -1,7 +1,7 @@
diff --git a/res/values/ids.xml b/res/values/ids.xml
--- a/res/values/ids.xml
+++ b/res/values/ids.xml
-@@ -4618,4 +4618,8 @@
+@@ -4606,4 +4606,8 @@
diff --git a/patches/res.values.public.xml.patch b/patches/res.values.public.xml.patch
index 0661bbd0..4f5d7ec9 100644
--- a/patches/res.values.public.xml.patch
+++ b/patches/res.values.public.xml.patch
@@ -1,103 +1,103 @@
diff --git a/res/values/public.xml b/res/values/public.xml
--- a/res/values/public.xml
+++ b/res/values/public.xml
-@@ -20041,4 +20041,98 @@
+@@ -20043,4 +20043,98 @@
+
+
+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
+
+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
+
\ No newline at end of file
diff --git a/patches/settings/tv.twitch.android.app.consumer.dagger.DaggerAppComponent$AppComponentImpl.smali.patch b/patches/settings/tv.twitch.android.app.consumer.dagger.DaggerAppComponent$AppComponentImpl.smali.patch
index 2ccc0599..30619c8f 100644
--- a/patches/settings/tv.twitch.android.app.consumer.dagger.DaggerAppComponent$AppComponentImpl.smali.patch
+++ b/patches/settings/tv.twitch.android.app.consumer.dagger.DaggerAppComponent$AppComponentImpl.smali.patch
@@ -1,17 +1,15 @@
diff --git a/smali_classes4/tv/twitch/android/app/consumer/dagger/DaggerAppComponent$AppComponentImpl.smali b/smali_classes4/tv/twitch/android/app/consumer/dagger/DaggerAppComponent$AppComponentImpl.smali
--- a/smali_classes4/tv/twitch/android/app/consumer/dagger/DaggerAppComponent$AppComponentImpl.smali
+++ b/smali_classes4/tv/twitch/android/app/consumer/dagger/DaggerAppComponent$AppComponentImpl.smali
-@@ -15582,6 +15582,13 @@
+@@ -15538,6 +15538,11 @@
- iput-object v4, v0, Ltv/twitch/android/app/consumer/dagger/DaggerAppComponent$AppComponentImpl;->pageViewTrackerProvider:Ljavax/inject/Provider;
+ iput-object v3, v0, Ltv/twitch/android/app/consumer/dagger/DaggerAppComponent$AppComponentImpl;->pageViewTrackerProvider:Ljavax/inject/Provider;
+ # BTTV
+ # Set PageViewTracker Provider
-+ # expects:
-+ # v4: javax.inject.Provider
-+ invoke-static {v4}, Lbttv/settings/SettingsFragmentBindingFactory;->setPageViewTrackerProvider(Ljavax/inject/Provider;)V
++ invoke-static {v3}, Lbttv/settings/SettingsFragmentBindingFactory;->setPageViewTrackerProvider(Ljavax/inject/Provider;)V
+ # /BTTV
+
- .line 60308
- iget-object v5, v0, Ltv/twitch/android/app/consumer/dagger/DaggerAppComponent$AppComponentImpl;->provideTwitchAccountManagerProvider:Ljavax/inject/Provider;
+ .line 60490
+ iget-object v4, v0, Ltv/twitch/android/app/consumer/dagger/DaggerAppComponent$AppComponentImpl;->provideTwitchAccountManagerProvider:Ljavax/inject/Provider;
diff --git a/patches/settings/tv.twitch.android.app.consumer.dagger.DaggerAppComponent$SettingsActivitySubcomponentImpl.smali.patch b/patches/settings/tv.twitch.android.app.consumer.dagger.DaggerAppComponent$SettingsActivitySubcomponentImpl.smali.patch
index d2fabed4..077f0199 100644
--- a/patches/settings/tv.twitch.android.app.consumer.dagger.DaggerAppComponent$SettingsActivitySubcomponentImpl.smali.patch
+++ b/patches/settings/tv.twitch.android.app.consumer.dagger.DaggerAppComponent$SettingsActivitySubcomponentImpl.smali.patch
@@ -1,31 +1,26 @@
diff --git a/smali_classes4/tv/twitch/android/app/consumer/dagger/DaggerAppComponent$SettingsActivitySubcomponentImpl.smali b/smali_classes4/tv/twitch/android/app/consumer/dagger/DaggerAppComponent$SettingsActivitySubcomponentImpl.smali
--- a/smali_classes4/tv/twitch/android/app/consumer/dagger/DaggerAppComponent$SettingsActivitySubcomponentImpl.smali
+++ b/smali_classes4/tv/twitch/android/app/consumer/dagger/DaggerAppComponent$SettingsActivitySubcomponentImpl.smali
-@@ -1017,9 +1017,23 @@
- .line 16421
+@@ -1017,9 +1017,18 @@
+ .line 16484
iput-object p2, p0, Ltv/twitch/android/app/consumer/dagger/DaggerAppComponent$SettingsActivitySubcomponentImpl;->settingsActivityModule:Ltv/twitch/android/settings/dagger/SettingsActivityModule;
+ # BTTV
+ # Set SettingsActivityModule
-+ # expects:
-+ # p2: tv.twitch.android.settings.dagger.SettingsActivityModule
+ invoke-static {p2}, Lbttv/settings/SettingsFragmentBindingFactory;->setSettingsActivityModule(Ltv/twitch/android/settings/dagger/SettingsActivityModule;)V
+ # /BTTV
+
- .line 16422
+ .line 16485
iput-object p3, p0, Ltv/twitch/android/app/consumer/dagger/DaggerAppComponent$SettingsActivitySubcomponentImpl;->activityModule:Ltv/twitch/android/app/core/dagger/modules/ActivityModule;
+ # BTTV
-+ # Set ActivityModule
-+ # expects:
-+ # p3: tv.twitch.android.app.core.dagger.modules.ActivityModule
+ invoke-static {p3}, Lbttv/settings/SettingsFragmentBindingFactory;->setActivityModule(Ltv/twitch/android/app/core/dagger/modules/ActivityModule;)V
+ # /BTTV
+
- .line 16423
+ .line 16486
invoke-direct {p0, p2, p3, p4}, Ltv/twitch/android/app/consumer/dagger/DaggerAppComponent$SettingsActivitySubcomponentImpl;->initialize(Ltv/twitch/android/settings/dagger/SettingsActivityModule;Ltv/twitch/android/app/core/dagger/modules/ActivityModule;Ltv/twitch/android/settings/SettingsActivity;)V
-@@ -1490,6 +1504,12 @@
+@@ -1490,6 +1499,12 @@
move-result-object p3
iput-object p3, p0, Ltv/twitch/android/app/consumer/dagger/DaggerAppComponent$SettingsActivitySubcomponentImpl;->provideFragmentActivityProvider:Ljavax/inject/Provider;
@@ -36,9 +31,9 @@ diff --git a/smali_classes4/tv/twitch/android/app/consumer/dagger/DaggerAppCompo
+ invoke-static {p3}, Lbttv/settings/SettingsFragmentBindingFactory;->setFragmentActivityProvider(Ljavax/inject/Provider;)V
+ # /BTTV
- .line 16861
+ .line 16924
invoke-static {}, Ltv/twitch/android/shared/billing/postalcodecapture/PostalCodeEventDispatcher_Factory;->create()Ltv/twitch/android/shared/billing/postalcodecapture/PostalCodeEventDispatcher_Factory;
-@@ -2198,6 +2218,19 @@
+@@ -2198,6 +2213,19 @@
move-result-object v0