From 79508e8ca0e35d7eaa8de5373b9ee38339bf0ef2 Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Thu, 6 Jul 2023 13:31:12 +0200 Subject: [PATCH] fix IllegalArgumentException caused by missing theming Exception java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.AppCompat (or a descendant). at com.google.android.material.internal.ThemeEnforcement.checkTheme (ThemeEnforcement.java:247) at com.google.android.material.internal.ThemeEnforcement.checkAppCompatTheme (ThemeEnforcement.java:212) at com.google.android.material.internal.ThemeEnforcement.checkCompatibleTheme (ThemeEnforcement.java:147) at com.google.android.material.internal.ThemeEnforcement.obtainTintedStyledAttributes (ThemeEnforcement.java:114) at com.google.android.material.textfield.TextInputLayout. (TextInputLayout.java:472) at com.google.android.material.textfield.TextInputLayout. (TextInputLayout.java:451) at com.google.android.material.textfield.TextInputLayout. (TextInputLayout.java:447) at com.nextcloud.talk.settings.SettingsActivity.askForPhoneNumber (SettingsActivity.kt:935) at com.nextcloud.talk.settings.SettingsActivity.access$askForPhoneNumber (SettingsActivity.kt:105) at com.nextcloud.talk.settings.SettingsActivity$checkForPhoneNumber$1.onNext (SettingsActivity.kt:915) at com.nextcloud.talk.settings.SettingsActivity$checkForPhoneNumber$1.onNext (SettingsActivity.kt:908) at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal (ObservableObserveOn.java:201) at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run (ObservableObserveOn.java:255) at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run (HandlerScheduler.java:124) at android.os.Handler.handleCallback (Handler.java:942) at android.os.Handler.dispatchMessage (Handler.java:99) at android.os.Looper.loopOnce (Looper.java:211) at android.os.Looper.loop (Looper.java:300) at android.app.ActivityThread.main (ActivityThread.java:8294) at java.lang.reflect.Method.invoke at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:580) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1028) Signed-off-by: Marcel Hibbe --- .../main/java/com/nextcloud/talk/settings/SettingsActivity.kt | 3 ++- app/src/main/res/values/styles.xml | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/nextcloud/talk/settings/SettingsActivity.kt b/app/src/main/java/com/nextcloud/talk/settings/SettingsActivity.kt index 2cda998f3..0342858c8 100644 --- a/app/src/main/java/com/nextcloud/talk/settings/SettingsActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/settings/SettingsActivity.kt @@ -54,6 +54,7 @@ import android.widget.EditText import android.widget.LinearLayout import android.widget.Toast import androidx.appcompat.app.AlertDialog +import androidx.appcompat.view.ContextThemeWrapper import androidx.core.content.ContextCompat import androidx.core.view.ViewCompat import androidx.work.OneTimeWorkRequest @@ -1012,7 +1013,7 @@ class SettingsActivity : BaseActivity() { val phoneNumberLayoutWrapper = LinearLayout(context) phoneNumberLayoutWrapper.orientation = LinearLayout.VERTICAL phoneNumberLayoutWrapper.setPadding(PHONE_NUMBER_SIDE_PADDING, 0, PHONE_NUMBER_SIDE_PADDING, 0) - val phoneNumberInputLayout = TextInputLayout(context) + val phoneNumberInputLayout = TextInputLayout(ContextThemeWrapper(this, R.style.TextInputLayoutTheme)) val phoneNumberField = EditText(context) phoneNumberInputLayout.setHelperTextColor( ColorStateList.valueOf(resources!!.getColor(R.color.nc_darkRed, null)) diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index a8ab679e7..04de235ee 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -233,6 +233,10 @@ @null + +