From eb72f6870d3dbab6c346c8ca105ddcf6876d38e8 Mon Sep 17 00:00:00 2001 From: Pranav Vashi Date: Sat, 15 Nov 2025 05:31:26 +0530 Subject: [PATCH] SystemUI: TunerActivity: Remove icon toggles if not supported Signed-off-by: Pranav Vashi --- .../systemui/tuner/StatusBarTuner.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/tuner/StatusBarTuner.java b/packages/SystemUI/src/com/android/systemui/tuner/StatusBarTuner.java index 2eac7f9d99d6f..c3460ae1428f9 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/StatusBarTuner.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/StatusBarTuner.java @@ -15,9 +15,13 @@ */ package com.android.systemui.tuner; +import android.content.Context; import android.os.Bundle; +import android.telephony.TelephonyManager; import androidx.annotation.Nullable; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; @@ -32,6 +36,35 @@ public class StatusBarTuner extends SettingsBasePreferenceFragment { @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { addPreferencesFromResource(R.xml.status_bar_prefs); + if (!isVoiceCapable(requireContext())) { + removeMobilePreferences(); + } + } + + public static boolean isVoiceCapable(Context context) { + TelephonyManager telephony = + (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); + return telephony != null && telephony.isVoiceCapable(); + } + + private void removeMobilePreferences() { + String[] mobileKeys = new String[] { + "mobile", + "system:data_disabled_icon", + "call_strength", + "roaming", + "system:show_fourg_icon", + "status_bar_show_hd_calling", + "status_bar_show_vowifi" + }; + + PreferenceScreen screen = getPreferenceScreen(); + for (String key : mobileKeys) { + Preference pref = findPreference(key); + if (pref != null) { + screen.removePreference(pref); + } + } } @Override