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

Commit 1496b9c8 authored by Bruno Martins's avatar Bruno Martins
Browse files

StatusBarSettings: Hide NW traffic from search results if not available

Fixes https://gitlab.com/LineageOS/issues/android/issues/262

Change-Id: I7502f269e1ac9108cbd39b25a394b51cce5077fb
parent cf4225a0
Loading
Loading
Loading
Loading
+26 −6
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
 */
package org.lineageos.lineageparts.statusbar;

import android.content.Context;
import android.os.Bundle;
import android.provider.Settings;
import android.support.v7.preference.Preference;
@@ -24,6 +25,7 @@ import android.support.v7.preference.PreferenceScreen;
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.text.format.DateFormat;
import android.text.TextUtils;
import android.util.ArraySet;
import android.view.View;

import lineageos.preference.LineageSystemSettingListPreference;
@@ -31,9 +33,13 @@ import lineageos.providers.LineageSettings;

import org.lineageos.lineageparts.R;
import org.lineageos.lineageparts.SettingsPreferenceFragment;
import org.lineageos.lineageparts.search.BaseSearchIndexProvider;
import org.lineageos.lineageparts.search.Searchable;

import java.util.Set;

public class StatusBarSettings extends SettingsPreferenceFragment
        implements OnPreferenceChangeListener {
        implements OnPreferenceChangeListener, Searchable {

    private static final String CATEGORY_CLOCK = "status_bar_clock_key";

@@ -62,7 +68,7 @@ public class StatusBarSettings extends SettingsPreferenceFragment
    private PreferenceCategory mStatusBarClockCategory;
    private PreferenceScreen mNetworkTrafficPref;

    private boolean mHasNotch;
    private static boolean sHasNotch;

    @Override
    public void onCreate(Bundle savedInstanceState) {
@@ -71,10 +77,10 @@ public class StatusBarSettings extends SettingsPreferenceFragment

        mNetworkTrafficPref = (PreferenceScreen) findPreference(NETWORK_TRAFFIC_SETTINGS);

        mHasNotch = getResources().getBoolean(
        sHasNotch = getResources().getBoolean(
                org.lineageos.platform.internal.R.bool.config_haveNotch);

        if (mHasNotch) {
        if (sHasNotch) {
            getPreferenceScreen().removePreference(mNetworkTrafficPref);
        }

@@ -120,7 +126,7 @@ public class StatusBarSettings extends SettingsPreferenceFragment
            mStatusBarAmPm.setSummary(R.string.status_bar_am_pm_info);
        }

        final boolean disallowCenteredClock = mHasNotch || getNetworkTrafficStatus() != 0;
        final boolean disallowCenteredClock = sHasNotch || getNetworkTrafficStatus() != 0;

        // Adjust status bar preferences for RTL
        if (getResources().getConfiguration().getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) {
@@ -192,7 +198,7 @@ public class StatusBarSettings extends SettingsPreferenceFragment
    }

    private void updateNetworkTrafficStatus(int clockPosition) {
        if (mHasNotch) {
        if (sHasNotch) {
            // Unconditional no network traffic for you
            return;
        }
@@ -214,4 +220,18 @@ public class StatusBarSettings extends SettingsPreferenceFragment
        return LineageSettings.System.getInt(getActivity().getContentResolver(),
                STATUS_BAR_CLOCK_STYLE, 2);
    }

    public static final Searchable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
            new BaseSearchIndexProvider() {

        @Override
        public Set<String> getNonIndexableKeys(Context context) {
            final Set<String> result = new ArraySet<String>();

            if (sHasNotch) {
                result.add(NETWORK_TRAFFIC_SETTINGS);
            }
            return result;
        }
    };
}