mirror of
https://github.com/apache/cordova-android.git
synced 2025-02-26 20:33:07 +08:00
Delete deprecated classes: DirectoryManager, DroidGap, ExifHelper (4.0.x)
This commit is contained in:
parent
7dc09b4019
commit
200e9f1a8e
@ -1,162 +0,0 @@
|
|||||||
/*
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one
|
|
||||||
or more contributor license agreements. See the NOTICE file
|
|
||||||
distributed with this work for additional information
|
|
||||||
regarding copyright ownership. The ASF licenses this file
|
|
||||||
to you under the Apache License, Version 2.0 (the
|
|
||||||
"License"); you may not use this file except in compliance
|
|
||||||
with the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing,
|
|
||||||
software distributed under the License is distributed on an
|
|
||||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
||||||
KIND, either express or implied. See the License for the
|
|
||||||
specific language governing permissions and limitations
|
|
||||||
under the License.
|
|
||||||
*/
|
|
||||||
package org.apache.cordova;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.os.Environment;
|
|
||||||
import android.os.StatFs;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class provides file directory utilities.
|
|
||||||
* All file operations are performed on the SD card.
|
|
||||||
*
|
|
||||||
* It is used by the FileUtils class.
|
|
||||||
*/
|
|
||||||
@Deprecated // Deprecated in 3.1. To be removed in 4.0.
|
|
||||||
public class DirectoryManager {
|
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
|
||||||
private static final String LOG_TAG = "DirectoryManager";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determine if a file or directory exists.
|
|
||||||
* @param name The name of the file to check.
|
|
||||||
* @return T=exists, F=not found
|
|
||||||
*/
|
|
||||||
public static boolean testFileExists(String name) {
|
|
||||||
boolean status;
|
|
||||||
|
|
||||||
// If SD card exists
|
|
||||||
if ((testSaveLocationExists()) && (!name.equals(""))) {
|
|
||||||
File path = Environment.getExternalStorageDirectory();
|
|
||||||
File newPath = constructFilePaths(path.toString(), name);
|
|
||||||
status = newPath.exists();
|
|
||||||
}
|
|
||||||
// If no SD card
|
|
||||||
else {
|
|
||||||
status = false;
|
|
||||||
}
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the free disk space
|
|
||||||
*
|
|
||||||
* @return Size in KB or -1 if not available
|
|
||||||
*/
|
|
||||||
public static long getFreeDiskSpace(boolean checkInternal) {
|
|
||||||
String status = Environment.getExternalStorageState();
|
|
||||||
long freeSpace = 0;
|
|
||||||
|
|
||||||
// If SD card exists
|
|
||||||
if (status.equals(Environment.MEDIA_MOUNTED)) {
|
|
||||||
freeSpace = freeSpaceCalculation(Environment.getExternalStorageDirectory().getPath());
|
|
||||||
}
|
|
||||||
else if (checkInternal) {
|
|
||||||
freeSpace = freeSpaceCalculation("/");
|
|
||||||
}
|
|
||||||
// If no SD card and we haven't been asked to check the internal directory then return -1
|
|
||||||
else {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return freeSpace;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Given a path return the number of free KB
|
|
||||||
*
|
|
||||||
* @param path to the file system
|
|
||||||
* @return free space in KB
|
|
||||||
*/
|
|
||||||
private static long freeSpaceCalculation(String path) {
|
|
||||||
StatFs stat = new StatFs(path);
|
|
||||||
long blockSize = stat.getBlockSize();
|
|
||||||
long availableBlocks = stat.getAvailableBlocks();
|
|
||||||
return availableBlocks * blockSize / 1024;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determine if SD card exists.
|
|
||||||
*
|
|
||||||
* @return T=exists, F=not found
|
|
||||||
*/
|
|
||||||
public static boolean testSaveLocationExists() {
|
|
||||||
String sDCardStatus = Environment.getExternalStorageState();
|
|
||||||
boolean status;
|
|
||||||
|
|
||||||
// If SD card is mounted
|
|
||||||
if (sDCardStatus.equals(Environment.MEDIA_MOUNTED)) {
|
|
||||||
status = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If no SD card
|
|
||||||
else {
|
|
||||||
status = false;
|
|
||||||
}
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new file object from two file paths.
|
|
||||||
*
|
|
||||||
* @param file1 Base file path
|
|
||||||
* @param file2 Remaining file path
|
|
||||||
* @return File object
|
|
||||||
*/
|
|
||||||
private static File constructFilePaths (String file1, String file2) {
|
|
||||||
File newPath;
|
|
||||||
if (file2.startsWith(file1)) {
|
|
||||||
newPath = new File(file2);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
newPath = new File(file1 + "/" + file2);
|
|
||||||
}
|
|
||||||
return newPath;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determine if we can use the SD Card to store the temporary file. If not then use
|
|
||||||
* the internal cache directory.
|
|
||||||
*
|
|
||||||
* @return the absolute path of where to store the file
|
|
||||||
*/
|
|
||||||
public static String getTempDirectoryPath(Context ctx) {
|
|
||||||
File cache = null;
|
|
||||||
|
|
||||||
// SD Card Mounted
|
|
||||||
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
|
|
||||||
cache = new File(Environment.getExternalStorageDirectory().getAbsolutePath() +
|
|
||||||
"/Android/data/" + ctx.getPackageName() + "/cache/");
|
|
||||||
}
|
|
||||||
// Use internal storage
|
|
||||||
else {
|
|
||||||
cache = ctx.getCacheDir();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create the cache directory if it doesn't exist
|
|
||||||
if (!cache.exists()) {
|
|
||||||
cache.mkdirs();
|
|
||||||
}
|
|
||||||
|
|
||||||
return cache.getAbsolutePath();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,34 +0,0 @@
|
|||||||
/*
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one
|
|
||||||
or more contributor license agreements. See the NOTICE file
|
|
||||||
distributed with this work for additional information
|
|
||||||
regarding copyright ownership. The ASF licenses this file
|
|
||||||
to you under the Apache License, Version 2.0 (the
|
|
||||||
"License"); you may not use this file except in compliance
|
|
||||||
with the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing,
|
|
||||||
software distributed under the License is distributed on an
|
|
||||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
||||||
KIND, either express or implied. See the License for the
|
|
||||||
specific language governing permissions and limitations
|
|
||||||
under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.apache.cordova;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This used to be the class that should be extended by application
|
|
||||||
* developers, but everything has been moved to CordovaActivity. So
|
|
||||||
* you should extend CordovaActivity instead of DroidGap. This class
|
|
||||||
* will be removed at a future time.
|
|
||||||
*
|
|
||||||
* @see CordovaActivity
|
|
||||||
* @deprecated
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public class DroidGap extends CordovaActivity {
|
|
||||||
|
|
||||||
}
|
|
@ -1,186 +0,0 @@
|
|||||||
/*
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one
|
|
||||||
or more contributor license agreements. See the NOTICE file
|
|
||||||
distributed with this work for additional information
|
|
||||||
regarding copyright ownership. The ASF licenses this file
|
|
||||||
to you under the Apache License, Version 2.0 (the
|
|
||||||
"License"); you may not use this file except in compliance
|
|
||||||
with the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing,
|
|
||||||
software distributed under the License is distributed on an
|
|
||||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
||||||
KIND, either express or implied. See the License for the
|
|
||||||
specific language governing permissions and limitations
|
|
||||||
under the License.
|
|
||||||
*/
|
|
||||||
package org.apache.cordova;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
import android.media.ExifInterface;
|
|
||||||
|
|
||||||
@Deprecated // Deprecated in 3.1. To be removed in 4.0.
|
|
||||||
public class ExifHelper {
|
|
||||||
private String aperture = null;
|
|
||||||
private String datetime = null;
|
|
||||||
private String exposureTime = null;
|
|
||||||
private String flash = null;
|
|
||||||
private String focalLength = null;
|
|
||||||
private String gpsAltitude = null;
|
|
||||||
private String gpsAltitudeRef = null;
|
|
||||||
private String gpsDateStamp = null;
|
|
||||||
private String gpsLatitude = null;
|
|
||||||
private String gpsLatitudeRef = null;
|
|
||||||
private String gpsLongitude = null;
|
|
||||||
private String gpsLongitudeRef = null;
|
|
||||||
private String gpsProcessingMethod = null;
|
|
||||||
private String gpsTimestamp = null;
|
|
||||||
private String iso = null;
|
|
||||||
private String make = null;
|
|
||||||
private String model = null;
|
|
||||||
private String orientation = null;
|
|
||||||
private String whiteBalance = null;
|
|
||||||
|
|
||||||
private ExifInterface inFile = null;
|
|
||||||
private ExifInterface outFile = null;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The file before it is compressed
|
|
||||||
*
|
|
||||||
* @param filePath
|
|
||||||
* @throws IOException
|
|
||||||
*/
|
|
||||||
public void createInFile(String filePath) throws IOException {
|
|
||||||
this.inFile = new ExifInterface(filePath);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The file after it has been compressed
|
|
||||||
*
|
|
||||||
* @param filePath
|
|
||||||
* @throws IOException
|
|
||||||
*/
|
|
||||||
public void createOutFile(String filePath) throws IOException {
|
|
||||||
this.outFile = new ExifInterface(filePath);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Reads all the EXIF data from the input file.
|
|
||||||
*/
|
|
||||||
public void readExifData() {
|
|
||||||
this.aperture = inFile.getAttribute(ExifInterface.TAG_APERTURE);
|
|
||||||
this.datetime = inFile.getAttribute(ExifInterface.TAG_DATETIME);
|
|
||||||
this.exposureTime = inFile.getAttribute(ExifInterface.TAG_EXPOSURE_TIME);
|
|
||||||
this.flash = inFile.getAttribute(ExifInterface.TAG_FLASH);
|
|
||||||
this.focalLength = inFile.getAttribute(ExifInterface.TAG_FOCAL_LENGTH);
|
|
||||||
this.gpsAltitude = inFile.getAttribute(ExifInterface.TAG_GPS_ALTITUDE);
|
|
||||||
this.gpsAltitudeRef = inFile.getAttribute(ExifInterface.TAG_GPS_ALTITUDE_REF);
|
|
||||||
this.gpsDateStamp = inFile.getAttribute(ExifInterface.TAG_GPS_DATESTAMP);
|
|
||||||
this.gpsLatitude = inFile.getAttribute(ExifInterface.TAG_GPS_LATITUDE);
|
|
||||||
this.gpsLatitudeRef = inFile.getAttribute(ExifInterface.TAG_GPS_LATITUDE_REF);
|
|
||||||
this.gpsLongitude = inFile.getAttribute(ExifInterface.TAG_GPS_LONGITUDE);
|
|
||||||
this.gpsLongitudeRef = inFile.getAttribute(ExifInterface.TAG_GPS_LONGITUDE_REF);
|
|
||||||
this.gpsProcessingMethod = inFile.getAttribute(ExifInterface.TAG_GPS_PROCESSING_METHOD);
|
|
||||||
this.gpsTimestamp = inFile.getAttribute(ExifInterface.TAG_GPS_TIMESTAMP);
|
|
||||||
this.iso = inFile.getAttribute(ExifInterface.TAG_ISO);
|
|
||||||
this.make = inFile.getAttribute(ExifInterface.TAG_MAKE);
|
|
||||||
this.model = inFile.getAttribute(ExifInterface.TAG_MODEL);
|
|
||||||
this.orientation = inFile.getAttribute(ExifInterface.TAG_ORIENTATION);
|
|
||||||
this.whiteBalance = inFile.getAttribute(ExifInterface.TAG_WHITE_BALANCE);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Writes the previously stored EXIF data to the output file.
|
|
||||||
*
|
|
||||||
* @throws IOException
|
|
||||||
*/
|
|
||||||
public void writeExifData() throws IOException {
|
|
||||||
// Don't try to write to a null file
|
|
||||||
if (this.outFile == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.aperture != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_APERTURE, this.aperture);
|
|
||||||
}
|
|
||||||
if (this.datetime != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_DATETIME, this.datetime);
|
|
||||||
}
|
|
||||||
if (this.exposureTime != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_EXPOSURE_TIME, this.exposureTime);
|
|
||||||
}
|
|
||||||
if (this.flash != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_FLASH, this.flash);
|
|
||||||
}
|
|
||||||
if (this.focalLength != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_FOCAL_LENGTH, this.focalLength);
|
|
||||||
}
|
|
||||||
if (this.gpsAltitude != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_GPS_ALTITUDE, this.gpsAltitude);
|
|
||||||
}
|
|
||||||
if (this.gpsAltitudeRef != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_GPS_ALTITUDE_REF, this.gpsAltitudeRef);
|
|
||||||
}
|
|
||||||
if (this.gpsDateStamp != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_GPS_DATESTAMP, this.gpsDateStamp);
|
|
||||||
}
|
|
||||||
if (this.gpsLatitude != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_GPS_LATITUDE, this.gpsLatitude);
|
|
||||||
}
|
|
||||||
if (this.gpsLatitudeRef != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_GPS_LATITUDE_REF, this.gpsLatitudeRef);
|
|
||||||
}
|
|
||||||
if (this.gpsLongitude != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_GPS_LONGITUDE, this.gpsLongitude);
|
|
||||||
}
|
|
||||||
if (this.gpsLongitudeRef != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_GPS_LONGITUDE_REF, this.gpsLongitudeRef);
|
|
||||||
}
|
|
||||||
if (this.gpsProcessingMethod != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_GPS_PROCESSING_METHOD, this.gpsProcessingMethod);
|
|
||||||
}
|
|
||||||
if (this.gpsTimestamp != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_GPS_TIMESTAMP, this.gpsTimestamp);
|
|
||||||
}
|
|
||||||
if (this.iso != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_ISO, this.iso);
|
|
||||||
}
|
|
||||||
if (this.make != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_MAKE, this.make);
|
|
||||||
}
|
|
||||||
if (this.model != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_MODEL, this.model);
|
|
||||||
}
|
|
||||||
if (this.orientation != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_ORIENTATION, this.orientation);
|
|
||||||
}
|
|
||||||
if (this.whiteBalance != null) {
|
|
||||||
this.outFile.setAttribute(ExifInterface.TAG_WHITE_BALANCE, this.whiteBalance);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.outFile.saveAttributes();
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getOrientation() {
|
|
||||||
int o = Integer.parseInt(this.orientation);
|
|
||||||
|
|
||||||
if (o == ExifInterface.ORIENTATION_NORMAL) {
|
|
||||||
return 0;
|
|
||||||
} else if (o == ExifInterface.ORIENTATION_ROTATE_90) {
|
|
||||||
return 90;
|
|
||||||
} else if (o == ExifInterface.ORIENTATION_ROTATE_180) {
|
|
||||||
return 180;
|
|
||||||
} else if (o == ExifInterface.ORIENTATION_ROTATE_270) {
|
|
||||||
return 270;
|
|
||||||
} else {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void resetOrientation() {
|
|
||||||
this.orientation = "" + ExifInterface.ORIENTATION_NORMAL;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user