diff --git a/src/com/android/settings/flashlight/FlashlightHandleActivity.java b/src/com/android/settings/flashlight/FlashlightHandleActivity.java index 589496540bc..0847d49d70e 100644 --- a/src/com/android/settings/flashlight/FlashlightHandleActivity.java +++ b/src/com/android/settings/flashlight/FlashlightHandleActivity.java @@ -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 getNonIndexableKeys(Context context) { + List keys = super.getNonIndexableKeys(context); + if (!FlashlightSlice.isFlashlightAvailable(context)) { + Log.i(TAG, "Flashlight is unavailable"); + keys.add(DATA_KEY); + } + return keys; + } }; } diff --git a/src/com/android/settings/flashlight/FlashlightSlice.java b/src/com/android/settings/flashlight/FlashlightSlice.java index eaf059aa673..5feaf4f7f42 100644 --- a/src/com/android/settings/flashlight/FlashlightSlice.java +++ b/src/com/android/settings/flashlight/FlashlightSlice.java @@ -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 {