@Override public void setup(OsmandApplication app) { super.setup(app); originalSettings = createSettings(app.getSettings().getSettingsAPI()); selectedTourPref = originalSettings.registerStringPreference(SELECTED_TOUR, null).makeGlobal(); accessCodePref = originalSettings.registerStringPreference(ACCESS_CODE, "").makeGlobal(); toursFolder = new File(originalSettings.getExternalStorageDirectory(), "osmand/tours"); }
@Override protected void onCreate(Bundle savedInstanceState) { getMyApplication().applyTheme(this); super.onCreate(savedInstanceState); if (Version.isSherpafy(getMyApplication())) { final Intent mapIntent = new Intent(this, TourViewActivity.class); getMyApplication().setAppCustomization(new SherpafyCustomization()); startActivity(mapIntent); finish(); return; } if (getIntent() != null) { Intent intent = getIntent(); if (intent.getExtras() != null && intent.getExtras().containsKey(APP_EXIT_KEY)) { getMyApplication().closeApplication(this); return; } } requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.menu); final OsmAndAppCustomization appCustomization = getMyApplication().getAppCustomization(); onCreateMainMenu(getWindow(), this); Window window = getWindow(); final Activity activity = this; View showMap = window.findViewById(R.id.MapButton); showMap.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { final Intent mapIndent = new Intent(activity, appCustomization.getMapActivity()); activity.startActivityForResult(mapIndent, 0); } }); View settingsButton = window.findViewById(R.id.SettingsButton); settingsButton.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { final Intent settings = new Intent(activity, appCustomization.getSettingsActivity()); activity.startActivity(settings); } }); View favouritesButton = window.findViewById(R.id.FavoritesButton); favouritesButton.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { final Intent favorites = new Intent(activity, appCustomization.getFavoritesActivity()); favorites.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); activity.startActivity(favorites); } }); final View closeButton = window.findViewById(R.id.CloseButton); closeButton.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { getMyApplication().closeApplication(activity); } }); View searchButton = window.findViewById(R.id.SearchButton); searchButton.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { final Intent search = new Intent(activity, appCustomization.getSearchActivity()); search.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); activity.startActivity(search); } }); appCustomization.customizeMainMenu(window, this); OsmandApplication app = getMyApplication(); // restore follow route mode if (app.getSettings().FOLLOW_THE_ROUTE.get() && !app.getRoutingHelper().isRouteCalculated()) { final Intent mapIndent = new Intent(this, appCustomization.getMapActivity()); startActivityForResult(mapIndent, 0); return; } startProgressDialog = new ProgressDialog(this); getMyApplication().checkApplicationIsBeingInitialized(this, startProgressDialog); boolean dialogShown = false; boolean firstTime = false; SharedPreferences pref = getPreferences(MODE_WORLD_WRITEABLE); boolean appVersionChanged = false; if (!pref.contains(FIRST_TIME_APP_RUN)) { firstTime = true; pref.edit().putBoolean(FIRST_TIME_APP_RUN, true).commit(); pref.edit().putString(VERSION_INSTALLED, Version.getFullVersion(app)).commit(); } else if (!Version.getFullVersion(app).equals(pref.getString(VERSION_INSTALLED, ""))) { pref.edit().putString(VERSION_INSTALLED, Version.getFullVersion(app)).commit(); appVersionChanged = true; } if (appCustomization.showFirstTimeRunAndTips(firstTime, appVersionChanged)) { if (firstTime) { applicationInstalledFirstTime(); dialogShown = true; } else { int i = pref.getInt(TIPS_SHOW, 0); if (i < 7) { pref.edit().putInt(TIPS_SHOW, ++i).commit(); } if (i == 1 || i == 5 || appVersionChanged) { if (TIPS_AND_TRICKS) { TipsAndTricksActivity tipsActivity = new TipsAndTricksActivity(this); Dialog dlg = tipsActivity.getDialogToShowTips(!appVersionChanged, false); dlg.show(); dialogShown = true; } else { if (appVersionChanged) { final Intent helpIntent = new Intent(activity, HelpActivity.class); helpIntent.putExtra(HelpActivity.TITLE, Version.getAppVersion(getMyApplication())); helpIntent.putExtra(HelpActivity.URL, "changes-1.8.html"); activity.startActivity(helpIntent); dialogShown = true; } } } } } if (!dialogShown && appCustomization.checkBasemapDownloadedOnStart()) { if (startProgressDialog.isShowing()) { startProgressDialog.setOnDismissListener( new DialogInterface.OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { checkVectorIndexesDownloaded(); } }); } else { checkVectorIndexesDownloaded(); } } if (appCustomization.checkExceptionsOnStart() && !dialogShown) { checkPreviousRunsForExceptions(firstTime); } }
@Override public void getDownloadTypes(List<DownloadActivityType> items) { super.getDownloadTypes(items); items.add(0, TourDownloadType.TOUR); }