Hide disabled routers from ui
This commit is contained in:
parent
1f10ea75de
commit
c585feb1fa
4 changed files with 12 additions and 15 deletions
|
@ -561,16 +561,6 @@ public abstract class OsmandPlugin {
|
|||
return lst;
|
||||
}
|
||||
|
||||
public static List<OsmandPlugin> getDisabledPlugins() {
|
||||
ArrayList<OsmandPlugin> lst = new ArrayList<OsmandPlugin>(allPlugins.size());
|
||||
for (OsmandPlugin p : allPlugins) {
|
||||
if (!p.isActive()) {
|
||||
lst.add(p);
|
||||
}
|
||||
}
|
||||
return lst;
|
||||
}
|
||||
|
||||
public static List<OsmandPlugin> getEnabledVisiblePlugins() {
|
||||
ArrayList<OsmandPlugin> lst = new ArrayList<OsmandPlugin>(allPlugins.size());
|
||||
for (OsmandPlugin p : allPlugins) {
|
||||
|
|
|
@ -177,7 +177,7 @@ public class SelectMapStyleBottomSheetDialogFragment extends MenuBottomSheetDial
|
|||
});
|
||||
|
||||
List<String> names = new ArrayList<>(getMyApplication().getRendererRegistry().getRendererNames());
|
||||
for (OsmandPlugin plugin : OsmandPlugin.getDisabledPlugins()) {
|
||||
for (OsmandPlugin plugin : OsmandPlugin.getNotEnabledPlugins()) {
|
||||
for (String name : plugin.getRendererNames()) {
|
||||
names.remove(name);
|
||||
}
|
||||
|
|
|
@ -145,7 +145,7 @@ public class MapStyleAction extends SwitchableAction<String> {
|
|||
final List<String> visibleNamesList = new ArrayList<>();
|
||||
final ArrayList<String> items = new ArrayList<>(app.getRendererRegistry().getRendererNames());
|
||||
|
||||
for (OsmandPlugin plugin : OsmandPlugin.getDisabledPlugins()) {
|
||||
for (OsmandPlugin plugin : OsmandPlugin.getNotEnabledPlugins()) {
|
||||
for (String name : plugin.getRendererNames()) {
|
||||
items.remove(name);
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ import androidx.preference.SwitchPreferenceCompat;
|
|||
|
||||
import net.osmand.plus.ApplicationMode;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.OsmandPlugin;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.profiles.ProfileDataObject;
|
||||
|
@ -221,17 +222,23 @@ public class NavigationFragment extends BaseSettingsFragment {
|
|||
false, null));
|
||||
}
|
||||
|
||||
List<String> disabledRouterNames = new ArrayList<>();
|
||||
for (OsmandPlugin plugin : OsmandPlugin.getNotEnabledPlugins()) {
|
||||
disabledRouterNames.addAll(plugin.getRouterNames());
|
||||
}
|
||||
|
||||
for (RoutingConfiguration.Builder builder : context.getAllRoutingConfigs()) {
|
||||
collectRoutingProfilesFromConfig(context, builder, profilesObjects);
|
||||
collectRoutingProfilesFromConfig(context, builder, profilesObjects, disabledRouterNames);
|
||||
}
|
||||
return profilesObjects;
|
||||
}
|
||||
|
||||
private static void collectRoutingProfilesFromConfig(OsmandApplication app, RoutingConfiguration.Builder builder, Map<String, RoutingProfileDataObject> profilesObjects) {
|
||||
private static void collectRoutingProfilesFromConfig(OsmandApplication app, RoutingConfiguration.Builder builder,
|
||||
Map<String, RoutingProfileDataObject> profilesObjects, List<String> disabledRouterNames) {
|
||||
for (Map.Entry<String, GeneralRouter> entry : builder.getAllRouters().entrySet()) {
|
||||
String routerKey = entry.getKey();
|
||||
GeneralRouter router = entry.getValue();
|
||||
if (!routerKey.equals("geocoding")) {
|
||||
if (!routerKey.equals("geocoding") && !disabledRouterNames.contains(routerKey)) {
|
||||
int iconRes = R.drawable.ic_action_gdirections_dark;
|
||||
String name = router.getProfileName();
|
||||
String description = app.getString(R.string.osmand_default_routing);
|
||||
|
|
Loading…
Reference in a new issue