/** Event raised when the form is created for the first time */ @Override public void onCreate(Bundle savedInstanceState) { Utilities.LogDebug("GpsMainActivity.onCreate"); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); String lang = prefs.getString("locale_override", ""); if (!lang.equalsIgnoreCase("")) { Locale locale = new Locale(lang); Locale.setDefault(locale); Configuration config = new Configuration(); config.locale = locale; getApplicationContext() .getResources() .updateConfiguration(config, getApplicationContext().getResources().getDisplayMetrics()); } super.onCreate(savedInstanceState); Utilities.LogInfo("GPSLogger started"); setContentView(R.layout.main); GetPreferences(); StartAndBindService(); }
/** Called when one of the menu items is selected. */ public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); Utilities.LogInfo("Option item selected - " + String.valueOf(item.getTitle())); switch (itemId) { case R.id.mnuSettings: Intent settingsActivity = new Intent(getApplicationContext(), GpsSettingsActivity.class); startActivity(settingsActivity); break; case R.id.mnuOSM: UploadToOpenStreetMap(); break; case R.id.mnuDropBox: UploadToDropBox(); break; case R.id.mnuAnnotate: Annotate(); break; case R.id.mnuShare: Share(); break; case R.id.mnuEmailnow: EmailNow(); break; case R.id.mnuExit: loggingService.StopLogging(); loggingService.stopSelf(); finish(); break; } return false; }
/** Handles the hardware back-button press */ public boolean onKeyDown(int keyCode, KeyEvent event) { Utilities.LogInfo("KeyDown - " + String.valueOf(keyCode)); if (keyCode == KeyEvent.KEYCODE_BACK && Session.isBoundToService()) { StopAndUnbindServiceIfRequired(); } return super.onKeyDown(keyCode, event); }
public static void SendFiles(Context applicationContext, IActionListener callback) { final String currentFileName = Session.getCurrentFileName(); File gpxFolder = new File(Environment.getExternalStorageDirectory(), "GPSLogger"); if (!gpxFolder.exists()) { callback.OnFailure(); return; } List<File> files = new ArrayList<File>( Arrays.asList( gpxFolder.listFiles( new FilenameFilter() { @Override public boolean accept(File file, String s) { return s.contains(currentFileName) && !s.contains("zip"); } }))); if (files.size() == 0) { callback.OnFailure(); return; } if (AppSettings.shouldSendZipFile()) { File zipFile = new File(gpxFolder.getPath(), currentFileName + ".zip"); ArrayList<String> filePaths = new ArrayList<String>(); for (File f : files) { filePaths.add(f.getAbsolutePath()); } Utilities.LogInfo("Zipping file"); ZipHelper zh = new ZipHelper(filePaths.toArray(new String[filePaths.size()]), zipFile.getAbsolutePath()); zh.Zip(); // files.clear(); files.add(zipFile); } List<IFileSender> senders = GetFileSenders(applicationContext, callback); for (IFileSender sender : senders) { sender.UploadFile(files); } }
/** * Sets the message in the top status label. * * @param message The status message */ private void SetStatus(String message) { Utilities.LogDebug("GpsMainActivity.SetStatus: " + message); TextView tvStatus = (TextView) findViewById(R.id.textStatus); tvStatus.setText(message); Utilities.LogInfo(message); }