private void deleteLocation(LocationInfo info) { if (NavigineApp.Navigation == null) return; if (info != null) { try { (new File(info.archiveFile)).delete(); info.localVersion = -1; info.localModified = false; String locationDir = LocationLoader.getLocationDir(mContext, info.title); File dir = new File(locationDir); File[] files = dir.listFiles(); for (int i = 0; i < files.length; ++i) files[i].delete(); dir.delete(); String mapFile = NavigineApp.Settings.getString("map_file", ""); if (mapFile.equals(info.archiveFile)) { NavigineApp.Navigation.loadArchive(null); SharedPreferences.Editor editor = NavigineApp.Settings.edit(); editor.putString("map_file", ""); editor.commit(); } mAdapter.updateList(); } catch (Throwable e) { Log.e(TAG, Log.getStackTraceString(e)); } } }
private final void clearDataCache() { java.util.Iterator it = dataCache.values().iterator(); while (it.hasNext()) { File f = (File) it.next(); f.delete(); } }
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { String filePickerResult = ""; if (data != null && resultCode == RESULT_OK) { try { ContentResolver cr = getContentResolver(); Uri uri = data.getData(); Cursor cursor = GeckoApp.mAppContext .getContentResolver() .query(uri, new String[] {OpenableColumns.DISPLAY_NAME}, null, null, null); String name = null; if (cursor != null) { try { if (cursor.moveToNext()) { name = cursor.getString(0); } } finally { cursor.close(); } } String fileName = "tmp_"; String fileExt = null; int period; if (name == null || (period = name.lastIndexOf('.')) == -1) { String mimeType = cr.getType(uri); fileExt = "." + GeckoAppShell.getExtensionFromMimeType(mimeType); } else { fileExt = name.substring(period); fileName = name.substring(0, period); } File file = File.createTempFile(fileName, fileExt, sGREDir); FileOutputStream fos = new FileOutputStream(file); InputStream is = cr.openInputStream(uri); byte[] buf = new byte[4096]; int len = is.read(buf); while (len != -1) { fos.write(buf, 0, len); len = is.read(buf); } fos.close(); filePickerResult = file.getAbsolutePath(); } catch (Exception e) { Log.e(LOG_FILE_NAME, "showing file picker", e); } } try { mFilePickerResult.put(filePickerResult); } catch (InterruptedException e) { Log.i(LOG_FILE_NAME, "error returning file picker result", e); } }
private void saveData(TelemetryData data) { PrintWriter out; boolean newFile = false; if (saveCnt > 25000) { File logFile; int i; logFile = new File(telemetryDir + 99 + ".log"); logFile.delete(); newFile = true; for (i = 99; i > 0; i--) { logFile = new File(telemetryDir + (i - 1) + ".log"); logFile.renameTo(new File(telemetryDir + i + ".log")); } saveCnt = 0; } try { String text = ""; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.GERMAN); saveCnt++; out = new PrintWriter(new FileOutputStream(telemetryDir + "0.log", true)); if (newFile) { text = "Time\tLatitude\tLongitude\tSpeed\tAcceleration X\tAcceleration Y\tAcceleration Z\tCoG\tOrientation Y\tOrientation Z\n\n"; out.print(text); } text = dateFormat.format(new Date(System.currentTimeMillis())) + "\t"; if (posValid) text = text + lastLat + "\t" + lastLon + "\t" + m_lastSpeed + "\t"; else text = text + "-\t-\t-\t"; text = text + data.getAccelX() + "\t" + data.getAccelY() + "\t" + data.getAccelZ() + "\t" + data.CoG + "\t" + data.getOrientY() + "\t" + data.getOrientZ() + "\n\n"; out.print(text); out.close(); } catch (IOException ioe) { } }
public static void saveBitmapToFile(Bitmap bmp, String fileName, CompressFormat format) { try { File f = new File(fileName); f.createNewFile(); FileOutputStream fOut = null; fOut = new FileOutputStream(f); bmp.compress(format, 100, fOut); fOut.flush(); fOut.close(); } catch (Exception e) { } }
void removeFiles() throws IOException { BufferedReader reader = new BufferedReader(new FileReader(new File(sGREDir, "removed-files"))); try { for (String removedFileName = reader.readLine(); removedFileName != null; removedFileName = reader.readLine()) { File removedFile = new File(sGREDir, removedFileName); if (removedFile.exists()) removedFile.delete(); } } finally { reader.close(); } }
private boolean unpackFile(ZipFile zip, byte[] buf, ZipEntry fileEntry, String name) throws IOException, FileNotFoundException { if (fileEntry == null) fileEntry = zip.getEntry(name); if (fileEntry == null) throw new FileNotFoundException("Can't find " + name + " in " + zip.getName()); File outFile = new File(sGREDir, name); if (outFile.lastModified() == fileEntry.getTime() && outFile.length() == fileEntry.getSize()) return false; File dir = outFile.getParentFile(); if (!dir.exists()) dir.mkdirs(); InputStream fileStream; fileStream = zip.getInputStream(fileEntry); OutputStream outStream = new FileOutputStream(outFile); while (fileStream.available() > 0) { int read = fileStream.read(buf, 0, buf.length); outStream.write(buf, 0, read); } fileStream.close(); outStream.close(); outFile.setLastModified(fileEntry.getTime()); return true; }
protected void unpackComponents() throws IOException, FileNotFoundException { File applicationPackage = new File(getApplication().getPackageResourcePath()); File componentsDir = new File(sGREDir, "components"); if (componentsDir.lastModified() == applicationPackage.lastModified()) return; componentsDir.mkdir(); componentsDir.setLastModified(applicationPackage.lastModified()); GeckoAppShell.killAnyZombies(); ZipFile zip = new ZipFile(applicationPackage); byte[] buf = new byte[32768]; try { if (unpackFile(zip, buf, null, "removed-files")) removeFiles(); } catch (Exception ex) { // This file may not be there, so just log any errors and move on Log.w(LOG_FILE_NAME, "error removing files", ex); } // copy any .xpi file into an extensions/ directory Enumeration<? extends ZipEntry> zipEntries = zip.entries(); while (zipEntries.hasMoreElements()) { ZipEntry entry = zipEntries.nextElement(); if (entry.getName().startsWith("extensions/") && entry.getName().endsWith(".xpi")) { Log.i("GeckoAppJava", "installing extension : " + entry.getName()); unpackFile(zip, buf, entry, entry.getName()); } } }
private final synchronized File getDataCacheFile(byte[] data) { try { java.security.MessageDigest digest = java.security.MessageDigest.getInstance("MD5"); digest.update(data); String key = bytesToHex(digest.digest()); if (dataCache.containsKey(key)) return (File) dataCache.get(key); File f = new File(this.getCacheDir(), "bindata_" + key); f.delete(); FileOutputStream os = new FileOutputStream(f); os.write(data, 0, data.length); dataCache.put(key, f); return f; } catch (Throwable e) { } return null; }
private void checkAndLaunchUpdate() { Log.i(LOG_FILE_NAME, "Checking for an update"); int statusCode = 8; // UNEXPECTED_ERROR File baseUpdateDir = null; if (Build.VERSION.SDK_INT >= 8) baseUpdateDir = getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS); else baseUpdateDir = new File(Environment.getExternalStorageDirectory().getPath(), "download"); File updateDir = new File(new File(baseUpdateDir, "updates"), "0"); File updateFile = new File(updateDir, "update.apk"); File statusFile = new File(updateDir, "update.status"); if (!statusFile.exists() || !readUpdateStatus(statusFile).equals("pending")) return; if (!updateFile.exists()) return; Log.i(LOG_FILE_NAME, "Update is available!"); // Launch APK File updateFileToRun = new File(updateDir, getPackageName() + "-update.apk"); try { if (updateFile.renameTo(updateFileToRun)) { String amCmd = "/system/bin/am start -a android.intent.action.VIEW " + "-n com.android.packageinstaller/.PackageInstallerActivity -d file://" + updateFileToRun.getPath(); Log.i(LOG_FILE_NAME, amCmd); Runtime.getRuntime().exec(amCmd); statusCode = 0; // OK } else { Log.i(LOG_FILE_NAME, "Cannot rename the update file!"); statusCode = 7; // WRITE_ERROR } } catch (Exception e) { Log.i(LOG_FILE_NAME, "error launching installer to update", e); } // Update the status file String status = statusCode == 0 ? "succeeded\n" : "failed: " + statusCode + "\n"; OutputStream outStream; try { byte[] buf = status.getBytes("UTF-8"); outStream = new FileOutputStream(statusFile); outStream.write(buf, 0, buf.length); outStream.close(); } catch (Exception e) { Log.i(LOG_FILE_NAME, "error writing status file", e); } if (statusCode == 0) System.exit(0); }
@Override public boolean connect(AccountLoginListener loginListener) { Screenname name = new Screenname(this.getUserName()); AimConnectionProperties props = new AimConnectionProperties(name, this.getPassword()); try { File dir = Util.getInstance().activity.getDir("aimconfig", Context.MODE_PRIVATE); DAppSession sess = new DAppSession(new File(dir.getAbsolutePath(), ".dolca")); sess.setSavePrefsOnExit(true); aimSession = (DAimAppSession) sess.openAimSession(name); connection = aimSession.openConnection(props); connection.addStateListener(connStateListener); // connection.addOpenedServiceListener(new OpenedServiceListener() { // // public void openedServices(AimConnection conn, // Collection<? extends Service> services) { // // TODO Auto-generated method stub // // } // // public void closedServices(AimConnection conn, // Collection<? extends Service> services) { // // TODO Auto-generated method stub // // } // }) connection.connect(); this.loginListener = loginListener; } catch (Exception e) { String errorMessage = e.getLocalizedMessage(); loginListener.loginDidFailedWithError(errorMessage != null ? errorMessage : e.toString()); return false; } return true; }
@Override public void run() { // TODO: Implement this method super.run(); start = 0; end = 0; LoadPageImage imp; HashMap<String, Object> map = new HashMap<String, Object>(); try { start = html.indexOf("page-submission", 0); start = html.indexOf("small_url =", start); end = html.indexOf("var full_url", start); s = "http:" + html.substring(start + 13, end - 3); final String img = s; map.put("img", s); end = html.indexOf(">Download<", end); start = html.lastIndexOf("href=", end); s = "http:" + html.substring(start + 6, end - 1); map.put("download", s); int std = s.lastIndexOf("/"); String name = PageActivity.HOME_PATH + s.substring(std + 1, s.length()); File f = new File(name); if (f.exists()) { Bitmap b; b = BitmapFactory.decodeFile(f.getPath()); map.put("bitmap", b); } else { name = PageActivity.HOME_PATH + "s-" + s.substring(std + 1, s.length()); f = new File(name); if (f.exists()) { Bitmap b; b = BitmapFactory.decodeFile(f.getPath()); map.put("bitmap", b); } else { imp = new LoadPageImage(); imp.start(img, -1, now); } } end = html.indexOf("Main Gallery", end); start = html.lastIndexOf("href=", end); end = html.indexOf("class=", start); s = html.substring(start + 6, end - 2); map.put("gallery", s); start = html.indexOf("<tr>\n<td", end); start = html.indexOf("<b>", start); end = html.indexOf("</b>", start); s = html.substring(start + 3, end); map.put("title", s); start = html.indexOf("href=", start); end = html.indexOf("><img", start); s = "http://www.furaffinity.net" + html.substring(start + 6, end - 1); map.put("userlink", s); start = html.indexOf("alt=", end); end = html.indexOf("\" src", start); s = html.substring(start + 5, end); map.put("username", s); start = html.indexOf("src=", end); end = html.indexOf("></a>", start); s = "http:" + html.substring(start + 5, end - 1); imp = new LoadPageImage(); imp.start(s, -2, now); map.put("usericon", s); start = html.indexOf("<br/><br/>", end); end = html.indexOf("</td>\n</tr>", start); int st = start; int ed = start - 2; String t = ""; s = ""; while (html.indexOf("<br/>", st + 1) < end - 6) { st = html.indexOf("<br/>", ed); ed = html.indexOf("<br/>", st + 1); t = html.substring(st + 5, ed); if (t.indexOf("href=") != -1) { int i1; int i2; i1 = t.indexOf("alt=\"", 0); i2 = t.indexOf("\"/>", i1); try { t = " @ " + t.substring(i1 + 5, i2) + " "; } catch (Exception e) { t = ""; } } t = t.replace("</td>", ""); t = t.replace("<td>", ""); t = t.replace("</tr>", ""); t = t.replace("<tr>", ""); t = t.replace("</table>", ""); t = t.replace("<table>", ""); t = t.replace("<br>", ""); t = t.replace("</br>", ""); if (t.indexOf("bbcode") != -1) { t = ""; } s += t; } map.put("info", s); if (now == PageActivity.now) { Message msg = Message.obtain(); msg.arg2 = now; msg.obj = map; msg.what = 5; PageActivity.hander.sendMessage(msg); } } catch (Exception e) { File f = new File(PageActivity.HOME_PATH + "LOG/lastPage.html"); if (f.exists()) { f.renameTo(new File(PageActivity.HOME_PATH + "LOG/lastErrorPage.html")); } Message msg = Message.obtain(); msg.arg2 = now; msg.obj = map; msg.what = 998; PageActivity.hander.sendMessage(msg); } }
public void onCreate() { int flags, screenLightVal = 1; Sensor mSensor; List<Sensor> sensors; if (scanData == null) return; // no ScanData, not possible to run correctly... PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE); SP = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); try { screenLightVal = Integer.parseInt(SP.getString("screenLight", "2")); } catch (NumberFormatException nfe) { } if (screenLightVal == 1) flags = PowerManager.PARTIAL_WAKE_LOCK; else if (screenLightVal == 3) flags = PowerManager.FULL_WAKE_LOCK; else flags = PowerManager.SCREEN_DIM_WAKE_LOCK; wl = pm.newWakeLock(flags, "OpenWLANMap"); wl.acquire(); while (myWLocate == null) { try { myWLocate = new MyWLocate(this); break; } catch (IllegalArgumentException iae) { myWLocate = null; } try { Thread.sleep(100); } catch (InterruptedException ie) { } } try { scanData.setUploadThres(Integer.parseInt(SP.getString("autoUpload", "0"))); } catch (NumberFormatException nfe) { } try { scanData.setNoGPSExitInterval( Integer.parseInt(SP.getString("noGPSExitInterval", "0")) * 60 * 1000); } catch (NumberFormatException nfe) { } Intent intent = new Intent(this, OWMapAtAndroid.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); PendingIntent pendIntent = PendingIntent.getActivity(this, 0, intent, 0); notification = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.icon) .setContentTitle(getResources().getText(R.string.app_name)) .setContentText("") .setContentIntent(pendIntent) .build(); notification.flags |= Notification.FLAG_NO_CLEAR; notification.flags |= Notification.FLAG_ONGOING_EVENT; startForeground(1703, notification); getScanData().setService(this); getScanData().setmView(new HUDView(this)); getScanData().getmView().setValue(getScanData().incStoredValues()); WindowManager.LayoutParams params = new WindowManager.LayoutParams( WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, PixelFormat.TRANSLUCENT); params.gravity = Gravity.LEFT | Gravity.BOTTOM; params.setTitle("Load Average"); WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE); wm.addView(getScanData().getmView(), params); sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); sensorManager.registerListener( this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_GAME); sensorManager.registerListener( this, sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), SensorManager.SENSOR_DELAY_GAME); sensors = sensorManager.getSensorList(Sensor.TYPE_ACCELEROMETER); mSensor = sensors.get(0); getScanData().getTelemetryData().setAccelMax(mSensor.getMaximumRange()); telemetryDir = Environment.getExternalStorageDirectory().getPath() + "/telemetry/"; File dir = new File(telemetryDir); dir.mkdir(); connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); }
/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); adpt = new GalleryAdapter(this); pics = new Vector<Image>(); previews = (Gallery) findViewById(R.id.gallery1); Main = (ImageView) findViewById(R.id.PictureView); hist = (Histogram) findViewById(R.id.histogram); saturation = (SeekBar) findViewById(R.id.saturation); contrast = (SeekBar) findViewById(R.id.contrast); exposure = (SeekBar) findViewById(R.id.exposure); saveButton = (Button) findViewById(R.id.save); contrast.setProgress(50); exposure.setProgress(50); saturation.setProgress(100); handler = new UIHandler(Main, hist); tm = new ThreadManager(handler); save = new Save(); save.setContainer(Main); PinchyZoomy pz = new PinchyZoomy(); Main.setOnTouchListener(pz); Main.setDrawingCacheEnabled(true); Main.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH); File folder = new File("/sdcard"); for (int i = 0; i < folder.listFiles().length; i++) { String name = folder.listFiles()[i].getName(); if (folder.listFiles()[i].isFile()) { String extension = name.substring(name.length() - 3); if (extension.equals("NEF") || extension.equals("dng")) { Image temp = new Image(folder.listFiles()[i].getAbsolutePath()); pics.add(temp); } } } for (int i = 0; i < pics.size(); i++) { System.out.println("Pulling thumb for: " + pics.elementAt(i).path); adpt.addImage(pics.elementAt(i).getThumb()); } previews.setAdapter(adpt); previews.setSpacing(3); previews.setOnItemClickListener( new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Main.setImageBitmap(adpt.getItemAt(position)); Main.setAlpha(100); if (current != null) current.free(); current = pics.elementAt(position); handler.setImage(current); tm.pic = current; save.setImage(current); contrast.setProgress(50); exposure.setProgress(50); saturation.setProgress(100); LoadImageThread t = new LoadImageThread(current, handler); t.start(); } }); saturation.setOnSeekBarChangeListener( new OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) { if (current.colors != null) tm.setSaturation(saturation.getProgress()); } @Override public void onStartTrackingTouch(SeekBar arg0) {} @Override public void onStopTrackingTouch(SeekBar arg0) {} }); contrast.setOnSeekBarChangeListener( new OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { if (current.colors != null) tm.setContrast(contrast.getProgress()); } @Override public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } @Override public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } }); exposure.setOnSeekBarChangeListener( new OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { if (current.colors != null) tm.setExposure(exposure.getProgress()); } @Override public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } @Override public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } }); saveButton.setOnClickListener(save); }