use of net.osmand.plus.backup.NetworkSettingsHelper in project Osmand by osmandapp.
the class AppInitializer method onCreateApplication.
public void onCreateApplication() {
// always update application mode to default
OsmandSettings osmandSettings = app.getSettings();
if (osmandSettings.FOLLOW_THE_ROUTE.get()) {
ApplicationMode savedMode = osmandSettings.readApplicationMode();
if (!osmandSettings.APPLICATION_MODE.get().getStringKey().equals(savedMode.getStringKey())) {
osmandSettings.setApplicationMode(savedMode);
}
} else {
osmandSettings.setApplicationMode(osmandSettings.DEFAULT_APPLICATION_MODE.get());
}
startTime = System.currentTimeMillis();
getLazyRoutingConfig();
app.applyTheme(app);
startupInit(app.reconnectToBRouter(), IBRouterService.class);
app.backupHelper = startupInit(new BackupHelper(app), BackupHelper.class);
app.inAppPurchaseHelper = startupInit(new InAppPurchaseHelperImpl(app), InAppPurchaseHelperImpl.class);
app.poiTypes = startupInit(MapPoiTypes.getDefaultNoInit(), MapPoiTypes.class);
app.transportRoutingHelper = startupInit(new TransportRoutingHelper(app), TransportRoutingHelper.class);
app.routingHelper = startupInit(new RoutingHelper(app), RoutingHelper.class);
app.routingOptionsHelper = startupInit(new RoutingOptionsHelper(app), RoutingOptionsHelper.class);
app.resourceManager = startupInit(new ResourceManager(app), ResourceManager.class);
app.daynightHelper = startupInit(new DayNightHelper(app), DayNightHelper.class);
app.locationProvider = startupInit(new OsmAndLocationProvider(app), OsmAndLocationProvider.class);
app.avoidSpecificRoads = startupInit(new AvoidSpecificRoads(app), AvoidSpecificRoads.class);
app.avoidRoadsHelper = startupInit(new AvoidRoadsHelper(app), AvoidRoadsHelper.class);
app.savingTrackHelper = startupInit(new SavingTrackHelper(app), SavingTrackHelper.class);
app.analyticsHelper = startupInit(new AnalyticsHelper(app), AnalyticsHelper.class);
app.notificationHelper = startupInit(new NotificationHelper(app), NotificationHelper.class);
app.liveMonitoringHelper = startupInit(new LiveMonitoringHelper(app), LiveMonitoringHelper.class);
app.selectedGpxHelper = startupInit(new GpxSelectionHelper(app, app.savingTrackHelper), GpxSelectionHelper.class);
app.gpxDbHelper = startupInit(new GpxDbHelper(app), GpxDbHelper.class);
app.favoritesHelper = startupInit(new FavouritesHelper(app), FavouritesHelper.class);
app.waypointHelper = startupInit(new WaypointHelper(app), WaypointHelper.class);
app.aidlApi = startupInit(new OsmandAidlApi(app), OsmandAidlApi.class);
app.regions = startupInit(new OsmandRegions(), OsmandRegions.class);
updateRegionVars();
app.poiFilters = startupInit(new PoiFiltersHelper(app), PoiFiltersHelper.class);
app.rendererRegistry = startupInit(new RendererRegistry(app), RendererRegistry.class);
app.geocodingLookupService = startupInit(new GeocodingLookupService(app), GeocodingLookupService.class);
app.targetPointsHelper = startupInit(new TargetPointsHelper(app), TargetPointsHelper.class);
app.mapMarkersDbHelper = startupInit(new MapMarkersDbHelper(app), MapMarkersDbHelper.class);
app.mapMarkersHelper = startupInit(new MapMarkersHelper(app), MapMarkersHelper.class);
app.searchUICore = startupInit(new QuickSearchHelper(app), QuickSearchHelper.class);
app.mapViewTrackingUtilities = startupInit(new MapViewTrackingUtilities(app), MapViewTrackingUtilities.class);
app.osmandMap = startupInit(new OsmandMap(app), OsmandMap.class);
// TODO TRAVEL_OBF_HELPER check ResourceManager and use TravelObfHelper
TravelHelper travelHelper = !TravelDbHelper.checkIfDbFileExists(app) ? new TravelObfHelper(app) : new TravelDbHelper(app);
app.travelHelper = startupInit(travelHelper, TravelHelper.class);
app.travelRendererHelper = startupInit(new TravelRendererHelper(app), TravelRendererHelper.class);
app.lockHelper = startupInit(new LockHelper(app), LockHelper.class);
app.fileSettingsHelper = startupInit(new FileSettingsHelper(app), FileSettingsHelper.class);
app.networkSettingsHelper = startupInit(new NetworkSettingsHelper(app), NetworkSettingsHelper.class);
app.quickActionRegistry = startupInit(new QuickActionRegistry(app.getSettings()), QuickActionRegistry.class);
app.osmOAuthHelper = startupInit(new OsmOAuthHelper(app), OsmOAuthHelper.class);
app.oprAuthHelper = startupInit(new OprAuthHelper(app), OprAuthHelper.class);
app.onlineRoutingHelper = startupInit(new OnlineRoutingHelper(app), OnlineRoutingHelper.class);
app.launcherShortcutsHelper = startupInit(new LauncherShortcutsHelper(app), LauncherShortcutsHelper.class);
app.gpsFilterHelper = startupInit(new GpsFilterHelper(app), GpsFilterHelper.class);
app.downloadTilesHelper = startupInit(new DownloadTilesHelper(app), DownloadTilesHelper.class);
initOpeningHoursParser();
}
use of net.osmand.plus.backup.NetworkSettingsHelper in project Osmand by osmandapp.
the class ActionButtonViewHolder method bindView.
public void bindView(@NonNull MapActivity mapActivity, @NonNull PrepareBackupResult backup, @Nullable BackupExportListener exportListener, boolean uploadItemsVisible, boolean nightMode) {
OsmandApplication app = (OsmandApplication) itemView.getContext().getApplicationContext();
BackupStatus status = BackupStatus.getBackupStatus(app, backup);
NetworkSettingsHelper settingsHelper = app.getNetworkSettingsHelper();
if (settingsHelper.isBackupExporting()) {
actionButton.setOnClickListener(v -> {
settingsHelper.cancelImport();
settingsHelper.cancelExport();
});
UiUtilities.setupDialogButton(nightMode, actionButton, DialogButtonType.SECONDARY_ACTIVE, R.string.shared_string_cancel);
} else if (status == BackupStatus.MAKE_BACKUP || status == BackupStatus.CONFLICTS) {
actionButton.setOnClickListener(v -> {
try {
BackupInfo info = backup.getBackupInfo();
List<SettingsItem> items = info.itemsToUpload;
if (!items.isEmpty() || !Algorithms.isEmpty(info.filteredFilesToDelete)) {
settingsHelper.exportSettings(BACKUP_ITEMS_KEY, items, info.itemsToDelete, exportListener);
}
} catch (IllegalStateException e) {
log.error(e.getMessage(), e);
}
});
UiUtilities.setupDialogButton(nightMode, actionButton, DialogButtonType.SECONDARY_ACTIVE, R.string.backup_now);
} else if (status == BackupStatus.NO_INTERNET_CONNECTION || status == BackupStatus.ERROR) {
actionButton.setOnClickListener(v -> app.getBackupHelper().prepareBackup());
UiUtilities.setupDialogButton(nightMode, actionButton, DialogButtonType.SECONDARY_ACTIVE, R.string.retry);
} else if (status == BackupStatus.SUBSCRIPTION_EXPIRED) {
actionButton.setOnClickListener(v -> {
if (Version.isInAppPurchaseSupported()) {
OsmAndProPlanFragment.showInstance(mapActivity);
} else {
PromoCodeBottomSheet.showInstance(mapActivity.getSupportFragmentManager());
}
});
UiUtilities.setupDialogButton(nightMode, actionButton, DialogButtonType.SECONDARY_ACTIVE, R.string.renew_subscription);
}
AndroidUiHelper.updateVisibility(divider, uploadItemsVisible);
}
use of net.osmand.plus.backup.NetworkSettingsHelper in project Osmand by osmandapp.
the class ConflictViewHolder method bindView.
public void bindView(@NonNull Pair<LocalFile, RemoteFile> pair, @Nullable BackupExportListener exportListener, @Nullable ImportListener importListener, boolean nightMode) {
OsmandApplication app = getApplication();
NetworkSettingsHelper settingsHelper = app.getNetworkSettingsHelper();
SettingsItem item = pair.first.item;
String fileName = BackupHelper.getItemFileName(item);
setupItemView(fileName, item, false);
updateButtonsState(settingsHelper, fileName);
localVersionButton.setOnClickListener(v -> {
try {
settingsHelper.exportSettings(fileName, exportListener, item);
} catch (IllegalStateException e) {
log.error(e.getMessage(), e);
}
updateButtonsState(settingsHelper, fileName);
});
serverButton.setOnClickListener(v -> {
try {
SettingsItem settingsItem = pair.second.item;
settingsItem.setShouldReplace(true);
settingsHelper.importSettings(fileName, Collections.singletonList(settingsItem), true, importListener);
} catch (IllegalStateException e) {
log.error(e.getMessage(), e);
}
updateButtonsState(settingsHelper, fileName);
});
AndroidUiHelper.updateVisibility(serverButton, true);
AndroidUiHelper.updateVisibility(localVersionButton, true);
UiUtilities.setupDialogButton(nightMode, localVersionButton, DialogButtonType.SECONDARY_ACTIVE, R.string.upload_local_version);
UiUtilities.setupDialogButton(nightMode, serverButton, DialogButtonType.SECONDARY_ACTIVE, R.string.download_server_version);
}
use of net.osmand.plus.backup.NetworkSettingsHelper in project Osmand by osmandapp.
the class BackupAndRestoreFragment method onCreateView.
@Nullable
@Override
public View onCreateView(@NonNull final LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
LayoutInflater themedInflater = UiUtilities.getInflater(getContext(), nightMode);
View view = themedInflater.inflate(R.layout.backup_and_restore, container, false);
AndroidUtils.addStatusBarPadding21v(view.getContext(), view);
setupTabs(view);
setupToolbar(view);
OsmandApplication app = requireMyApplication();
NetworkSettingsHelper settingsHelper = app.getNetworkSettingsHelper();
if (!settingsHelper.isBackupExporting()) {
app.getBackupHelper().prepareBackup();
}
return view;
}
use of net.osmand.plus.backup.NetworkSettingsHelper in project Osmand by osmandapp.
the class HeaderStatusViewHolder method bindView.
public void bindView(@NonNull BackupStatusAdapter adapter, @NonNull BackupStatus status, boolean nightMode) {
OsmandApplication app = (OsmandApplication) itemView.getContext().getApplicationContext();
NetworkSettingsHelper settingsHelper = app.getNetworkSettingsHelper();
ExportBackupTask exportTask = settingsHelper.getExportTask(BACKUP_ITEMS_KEY);
if (exportTask != null) {
title.setText(R.string.uploading);
icon.setImageDrawable(getContentIcon(R.drawable.ic_action_cloud_upload));
int progress = exportTask.getGeneralProgress();
int maxProgress = (int) exportTask.getMaxProgress();
int percentage = maxProgress != 0 ? BasicProgressAsyncTask.normalizeProgress(progress * 100 / maxProgress) : 0;
String uploading = app.getString(R.string.local_openstreetmap_uploading);
title.setText(app.getString(R.string.ltr_or_rtl_combine_via_space, uploading, percentage + "%"));
progressBar.setMax(maxProgress);
progressBar.setProgress(progress);
AndroidUiHelper.updateVisibility(description, false);
AndroidUiHelper.updateVisibility(progressBar, true);
} else {
description.setText(status.statusTitleRes);
icon.setImageDrawable(getContentIcon(status.statusIconRes));
String backupTime = MainSettingsFragment.getLastBackupTimeDescription(app);
if (Algorithms.isEmpty(backupTime)) {
title.setText(R.string.shared_string_never);
} else {
title.setText(backupTime);
}
AndroidUiHelper.updateVisibility(description, true);
AndroidUiHelper.updateVisibility(progressBar, false);
}
itemView.setOnClickListener(v -> {
adapter.toggleUploadItemsVisibility();
adjustIndicator(app, itemView, adapter.isUploadItemsVisible(), nightMode);
});
adjustIndicator(app, itemView, adapter.isUploadItemsVisible(), nightMode);
setupSelectableBackground(itemView.findViewById(R.id.header_container));
AndroidUiHelper.updateVisibility(itemView.findViewById(R.id.explicit_indicator), status != BackupStatus.BACKUP_COMPLETE);
}
Aggregations