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

Commit 3b226956 authored by Fabrice Di Meglio's avatar Fabrice Di Meglio
Browse files

Fix issue about at which time Bluetooth devices name are indexed

- remembered devices name were only indexed when BT was turned on/off
- allow the same when they are paired
- remove device name from the Index if it is un-paired

Change-Id: I1206a591b0132789c3b003e52c7ffac630e80758
parent e2b9e07e
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -35,6 +35,8 @@ import android.view.View.OnClickListener;
import android.widget.ImageView;

import com.android.settings.R;
import com.android.settings.search.Index;
import com.android.settings.search.SearchIndexableRaw;

import java.util.List;

@@ -209,6 +211,15 @@ public final class BluetoothDevicePreference extends Preference implements
        if (!mCachedDevice.startPairing()) {
            Utils.showError(getContext(), mCachedDevice.getName(),
                    R.string.bluetooth_pairing_error_message);
        } else {
            final Context context = getContext();

            SearchIndexableRaw data = new SearchIndexableRaw(context);
            data.title = mCachedDevice.getName();
            data.screenTitle = context.getResources().getString(R.string.bluetooth_settings);
            data.enabled = true;

            Index.getInstance(context).updateFromSearchIndexableData(data);
        }
    }

+10 −0
Original line number Diff line number Diff line
@@ -38,6 +38,8 @@ import android.widget.Button;
import android.text.Editable;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.search.Index;
import com.android.settings.search.SearchIndexableRaw;

import java.util.HashMap;

@@ -230,6 +232,14 @@ public final class DeviceProfilesSettings extends SettingsPreferenceFragment
        if (key.equals(KEY_UNPAIR)) {
            unpairDevice();
            finish();
            final Context context = preference.getContext();

            SearchIndexableRaw data = new SearchIndexableRaw(context);
            data.title = mCachedDevice.getName();
            data.screenTitle = context.getResources().getString(R.string.bluetooth_settings);
            data.enabled = false;

            Index.getInstance(context).updateFromSearchIndexableData(data);
            return true;
        }

+2 −1
Original line number Diff line number Diff line
@@ -239,8 +239,9 @@ public class Index {
        return result;
    }

    private boolean updateFromSearchIndexableData(SearchIndexableData data) {
    public boolean updateFromSearchIndexableData(SearchIndexableData data) {
        addIndexableData(data);
        mDataToProcess.forceUpdate = true;
        return updateInternal();
    }