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

Commit 70527677 authored by Jason Chiu's avatar Jason Chiu
Browse files

Remove Flashlight from search results while the hardware is unavailable

Test: manual
Fix: 222599976
Change-Id: I353b872f9e56f5e00026e95933125c345636bbd2
parent ab22c723
Loading
Loading
Loading
Loading
+16 −2
Original line number Diff line number Diff line
@@ -21,12 +21,13 @@ import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.provider.Settings;
import android.util.Log;

import com.android.settings.R;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.search.Indexable;
import com.android.settingslib.search.SearchIndexableRaw;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.search.SearchIndexableRaw;

import java.util.ArrayList;
import java.util.List;
@@ -39,6 +40,9 @@ public class FlashlightHandleActivity extends Activity implements Indexable {

    public static final String EXTRA_FALLBACK_TO_HOMEPAGE = "fallback_to_homepage";

    private static final String TAG = "FlashlightActivity";
    private static final String DATA_KEY = "flashlight";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
@@ -69,10 +73,20 @@ public class FlashlightHandleActivity extends Activity implements Indexable {
                    data.intentTargetPackage = context.getPackageName();
                    data.intentTargetClass = FlashlightHandleActivity.class.getName();
                    data.intentAction = Intent.ACTION_MAIN;
                    data.key = "flashlight";
                    data.key = DATA_KEY;
                    result.add(data);

                    return result;
                }

                @Override
                public List<String> getNonIndexableKeys(Context context) {
                    List<String> keys = super.getNonIndexableKeys(context);
                    if (!FlashlightSlice.isFlashlightAvailable(context)) {
                        Log.i(TAG, "Flashlight is unavailable");
                        keys.add(DATA_KEY);
                    }
                    return keys;
                }
            };
}
+0 −2
Original line number Diff line number Diff line
@@ -39,7 +39,6 @@ import androidx.slice.builders.ListBuilder;
import androidx.slice.builders.ListBuilder.RowBuilder;
import androidx.slice.builders.SliceAction;

import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.slices.CustomSliceRegistry;
@@ -138,7 +137,6 @@ public class FlashlightSlice implements CustomSliceable {
        return null;
    }

    @VisibleForTesting
    static boolean isFlashlightAvailable(Context context) {
        int defaultAvailability = 0;
        try {