Remove Flashlight from search results while the hardware is unavailable
Test: manual Fix: 222599976 Change-Id: I353b872f9e56f5e00026e95933125c345636bbd2
This commit is contained in:
@@ -21,12 +21,13 @@ import android.content.Context;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.search.BaseSearchIndexProvider;
|
import com.android.settings.search.BaseSearchIndexProvider;
|
||||||
import com.android.settingslib.search.Indexable;
|
import com.android.settingslib.search.Indexable;
|
||||||
import com.android.settingslib.search.SearchIndexableRaw;
|
|
||||||
import com.android.settingslib.search.SearchIndexable;
|
import com.android.settingslib.search.SearchIndexable;
|
||||||
|
import com.android.settingslib.search.SearchIndexableRaw;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
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";
|
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
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@@ -69,10 +73,20 @@ public class FlashlightHandleActivity extends Activity implements Indexable {
|
|||||||
data.intentTargetPackage = context.getPackageName();
|
data.intentTargetPackage = context.getPackageName();
|
||||||
data.intentTargetClass = FlashlightHandleActivity.class.getName();
|
data.intentTargetClass = FlashlightHandleActivity.class.getName();
|
||||||
data.intentAction = Intent.ACTION_MAIN;
|
data.intentAction = Intent.ACTION_MAIN;
|
||||||
data.key = "flashlight";
|
data.key = DATA_KEY;
|
||||||
result.add(data);
|
result.add(data);
|
||||||
|
|
||||||
return result;
|
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;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -39,7 +39,6 @@ import androidx.slice.builders.ListBuilder;
|
|||||||
import androidx.slice.builders.ListBuilder.RowBuilder;
|
import androidx.slice.builders.ListBuilder.RowBuilder;
|
||||||
import androidx.slice.builders.SliceAction;
|
import androidx.slice.builders.SliceAction;
|
||||||
|
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.slices.CustomSliceRegistry;
|
import com.android.settings.slices.CustomSliceRegistry;
|
||||||
@@ -138,7 +137,6 @@ public class FlashlightSlice implements CustomSliceable {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
|
||||||
static boolean isFlashlightAvailable(Context context) {
|
static boolean isFlashlightAvailable(Context context) {
|
||||||
int defaultAvailability = 0;
|
int defaultAvailability = 0;
|
||||||
try {
|
try {
|
||||||
|
Reference in New Issue
Block a user