Make Quick setttings developer tiles searchable
Bug: 286365859 Test: manual verify Change-Id: I2b3578d4aa80d48a4dcc29cfaac2f25089f0d4e8
This commit is contained in:
@@ -36,6 +36,7 @@ import androidx.preference.SwitchPreference;
|
||||
import com.android.internal.statusbar.IStatusBarService;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class DevelopmentTilePreferenceController extends BasePreferenceController {
|
||||
@@ -59,13 +60,9 @@ public class DevelopmentTilePreferenceController extends BasePreferenceControlle
|
||||
public void displayPreference(PreferenceScreen screen) {
|
||||
super.displayPreference(screen);
|
||||
final Context context = screen.getContext();
|
||||
final Intent intent = new Intent(TileService.ACTION_QS_TILE)
|
||||
.setPackage(context.getPackageName());
|
||||
final List<ResolveInfo> resolveInfos = mPackageManager.queryIntentServices(intent,
|
||||
PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.GET_META_DATA);
|
||||
for (ResolveInfo info : resolveInfos) {
|
||||
ServiceInfo sInfo = info.serviceInfo;
|
||||
List<ServiceInfo> serviceInfos = getTileServiceList(context);
|
||||
|
||||
for (ServiceInfo sInfo : serviceInfos) {
|
||||
// Check if the tile requires a flag. If it does, hide tile if flag is off.
|
||||
if (sInfo.metaData != null) {
|
||||
String flag = sInfo.metaData.getString(
|
||||
@@ -95,6 +92,24 @@ public class DevelopmentTilePreferenceController extends BasePreferenceControlle
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Quick Settings services from PackageManager
|
||||
*/
|
||||
public static List<ServiceInfo> getTileServiceList(Context context) {
|
||||
Intent intent = new Intent(TileService.ACTION_QS_TILE)
|
||||
.setPackage(context.getPackageName());
|
||||
PackageManager packageManager = context.getPackageManager();
|
||||
List<ResolveInfo> resolveInfos = packageManager.queryIntentServices(intent,
|
||||
PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.GET_META_DATA);
|
||||
|
||||
List<ServiceInfo> servicesInfos = new ArrayList<>();
|
||||
for (ResolveInfo info : resolveInfos) {
|
||||
ServiceInfo sInfo = info.serviceInfo;
|
||||
servicesInfos.add(sInfo);
|
||||
}
|
||||
return servicesInfos;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
static class OnChangeHandler implements Preference.OnPreferenceChangeListener {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user