From 5e9a00f72f188e125e7da1cce8f85edb9b00d493 Mon Sep 17 00:00:00 2001 From: Zoey Chen Date: Thu, 14 Jul 2022 06:26:29 +0000 Subject: [PATCH] [Le Audio] Use the ThemeResolver instead of setTheme() to avoid the theme res may be updated in the future and we need to update it manually. Bug: 238841204 Test: manual Change-Id: I3801f23244f6f54b6147390edccf026da1f0f9c6 --- .../bluetooth/QrCodeScanModeBaseActivity.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/bluetooth/QrCodeScanModeBaseActivity.java b/src/com/android/settings/bluetooth/QrCodeScanModeBaseActivity.java index af8a6e9d97f..06f36194633 100644 --- a/src/com/android/settings/bluetooth/QrCodeScanModeBaseActivity.java +++ b/src/com/android/settings/bluetooth/QrCodeScanModeBaseActivity.java @@ -18,14 +18,20 @@ package com.android.settings.bluetooth; import android.content.Intent; import android.os.Bundle; +import android.os.SystemProperties; import androidx.fragment.app.FragmentManager; import com.android.settingslib.R; import com.android.settingslib.core.lifecycle.ObservableActivity; +import com.google.android.setupdesign.util.ThemeHelper; +import com.google.android.setupdesign.util.ThemeResolver; + public abstract class QrCodeScanModeBaseActivity extends ObservableActivity { + private static final String THEME_KEY = "setupwizard.theme"; + private static final String THEME_DEFAULT_VALUE = "SudThemeGlifV3_DayNight"; protected FragmentManager mFragmentManager; protected abstract void handleIntent(Intent intent); @@ -34,7 +40,18 @@ public abstract class QrCodeScanModeBaseActivity extends ObservableActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setTheme(R.style.SudThemeGlifV3_DayNight); + int defaultTheme = + ThemeHelper.isSetupWizardDayNightEnabled(this) + ? R.style.SudThemeGlifV3_DayNight + : R.style.SudThemeGlifV3_Light; + ThemeResolver themeResolver = + new ThemeResolver.Builder(ThemeResolver.getDefault()) + .setDefaultTheme(defaultTheme) + .setUseDayNight(true) + .build(); + setTheme(themeResolver.resolve( + SystemProperties.get(THEME_KEY, THEME_DEFAULT_VALUE), + /* suppressDayNight= */ !ThemeHelper.isSetupWizardDayNightEnabled(this))); setContentView(R.layout.qrcode_scan_mode_activity); mFragmentManager = getSupportFragmentManager();