Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d62853c9 authored by Timi Rautamäki's avatar Timi Rautamäki Committed by Evan Laird
Browse files

SystemUI: res array for statusbar blocked icons



Create an array in packages/SystemUI/res/values/config.xml for statusbar
blocked icons to make it easier to overlay wanted options instead of
having to change them in code.

Test: m, verify vibrate-icon is not visible in collapsed statusbar
      on keyguard or launcher.
Signed-off-by: default avatarTimi Rautamäki <timi.rautamaki@gmail.com>
Change-Id: I9a04a67a9c0914989d34c8c53ceee97788e7ba6c
Merged-In: I9a04a67a9c0914989d34c8c53ceee97788e7ba6c
parent 0fa758c3
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -664,4 +664,17 @@
    <!-- Flag to enable privacy dot views, it shall be true for normal case -->
    <bool name="config_enablePrivacyDot">true</bool>

    <!-- Icons that don't show in a collapsed non-keyguard statusbar -->
    <string-array name="config_collapsed_statusbar_icon_blocklist" translatable="false">
        <item>@*android:string/status_bar_volume</item>
        <item>@*android:string/status_bar_alarm_clock</item>
        <item>@*android:string/status_bar_call_strength</item>
    </string-array>

    <!-- Icons that don't show in a collapsed statusbar on keyguard -->
    <string-array name="config_keyguard_statusbar_icon_blocklist" translatable="false">
        <item>@*android:string/status_bar_volume</item>
        <item>@*android:string/status_bar_alarm_clock</item>
        <item>@*android:string/status_bar_call_strength</item>
    </string-array>
</resources>
+2 −5
Original line number Diff line number Diff line
@@ -54,7 +54,6 @@ import com.android.systemui.util.ViewController;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import javax.inject.Inject;
@@ -263,10 +262,8 @@ public class KeyguardStatusBarViewController extends ViewController<KeyguardStat
        );

        Resources r = getResources();
        mBlockedIcons = Collections.unmodifiableList(Arrays.asList(
                r.getString(com.android.internal.R.string.status_bar_volume),
                r.getString(com.android.internal.R.string.status_bar_alarm_clock),
                r.getString(com.android.internal.R.string.status_bar_call_strength)));
        mBlockedIcons = Arrays.asList(r.getStringArray(
                R.array.config_keyguard_statusbar_icon_blocklist));
        mNotificationsHeaderCollideDistance = r.getDimensionPixelSize(
                R.dimen.header_notifications_collide_distance);
    }
+17 −4
Original line number Diff line number Diff line
@@ -75,6 +75,7 @@ import com.android.systemui.util.settings.SecureSettings;
import org.jetbrains.annotations.NotNull;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.Executor;

@@ -220,11 +221,23 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
    void updateBlockedIcons() {
        mBlockedIcons.clear();

        if (mSecureSettings.getInt(Settings.Secure.STATUS_BAR_SHOW_VIBRATE_ICON, 0) == 0) {
            mBlockedIcons.add(getString(com.android.internal.R.string.status_bar_volume));
        // Reload the blocklist from res
        List<String> blockList = Arrays.asList(getResources().getStringArray(
                R.array.config_collapsed_statusbar_icon_blocklist));
        String vibrateIconSlot = getString(com.android.internal.R.string.status_bar_volume);
        boolean showVibrateIcon =
                mSecureSettings.getInt(Settings.Secure.STATUS_BAR_SHOW_VIBRATE_ICON, 0) == 0;

        // Filter out vibrate icon from the blocklist if the setting is on
        for (int i = 0; i < blockList.size(); i++) {
            if (blockList.get(i).equals(vibrateIconSlot)) {
                if (showVibrateIcon) {
                    mBlockedIcons.add(blockList.get(i));
                }
            } else {
                mBlockedIcons.add(blockList.get(i));
            }
        }
        mBlockedIcons.add(getString(com.android.internal.R.string.status_bar_alarm_clock));
        mBlockedIcons.add(getString(com.android.internal.R.string.status_bar_call_strength));

        mMainExecutor.execute(() -> mDarkIconManager.setBlockList(mBlockedIcons));
    }