summaryrefslogtreecommitdiff
authorTing Li <ting.li@amlogic.com>2014-11-13 03:29:06 (GMT)
committer Ting Li <ting.li@amlogic.com>2014-11-13 03:29:06 (GMT)
commit46f8cb22839f5daacbb569a13bc9278d2de32498 (patch)
tree2190ea224196c2dc856f2f276d13eaa026af8fb8
parenta4b69b732e73ae81a1d5e01a7fdc2bb01d2e782a (diff)
downloadOTAUpgrade2-46f8cb22839f5daacbb569a13bc9278d2de32498.zip
OTAUpgrade2-46f8cb22839f5daacbb569a13bc9278d2de32498.tar.gz
OTAUpgrade2-46f8cb22839f5daacbb569a13bc9278d2de32498.tar.bz2
pd#99625 add usb device backup&restore function
Change-Id: Ifec258c2e7c108695a88ef0855ad7a808b0bb7cf
Diffstat
-rwxr-xr-xsrc/com/amlapp/update/otaupgrade/BackupActivity.java21
-rwxr-xr-xsrc/com/amlapp/update/otaupgrade/LoaderReceiver.java24
-rwxr-xr-xsrc/com/amlapp/update/otaupgrade/PrefUtils.java18
3 files changed, 50 insertions, 13 deletions
diff --git a/src/com/amlapp/update/otaupgrade/BackupActivity.java b/src/com/amlapp/update/otaupgrade/BackupActivity.java
index 32638b9..1fa6fe9 100755
--- a/src/com/amlapp/update/otaupgrade/BackupActivity.java
+++ b/src/com/amlapp/update/otaupgrade/BackupActivity.java
@@ -19,6 +19,7 @@ import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
+import java.io.File;
import com.amlogic.update.Backup;
/**
@@ -30,13 +31,27 @@ import com.amlogic.update.Backup;
* @Version V1.0
*/
public class BackupActivity extends Activity{
- public static final String BACKUP_FILE = Environment
+ public static String BACKUP_FILE = Environment
.getExternalStorage2Directory().getAbsolutePath() + "/" + "BACKUP";
+ public static final String SdcardDir = Environment
+ .getExternalStorage2Directory().getAbsolutePath();
public static final int FUNCBACKUP = 1;
public static final int FUNCRESTORE = 2;
public static int func = 0;
+ private static void getBackUpFileName(){
+ File devDir = new File(PrefUtils.DEV_PATH);
+ File[] devs = devDir.listFiles();
+ for(File dev:devs){
+ if(dev.isDirectory()&&dev.canWrite()){
+ BACKUP_FILE = dev.getAbsolutePath();
+ BACKUP_FILE += "/BACKUP";
+ break;
+ }
+ }
+ }
@Override
protected void onCreate(Bundle icicle) {
+ getBackUpFileName();
super.onCreate(icicle);
boolean flag = false;
String act = getIntent().getAction();
@@ -92,7 +107,9 @@ public class BackupActivity extends Activity{
}
private boolean OnSDcardStatus() {
- return Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorage2State());
+ File file = new File(BACKUP_FILE);
+ return file.getParentFile().canWrite();
+ //return Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorage2State());
}
private void Backup() {
diff --git a/src/com/amlapp/update/otaupgrade/LoaderReceiver.java b/src/com/amlapp/update/otaupgrade/LoaderReceiver.java
index dee6ae4..5387602 100755
--- a/src/com/amlapp/update/otaupgrade/LoaderReceiver.java
+++ b/src/com/amlapp/update/otaupgrade/LoaderReceiver.java
@@ -31,12 +31,26 @@ public class LoaderReceiver extends BroadcastReceiver {
public static final String CHECKING_TASK_COMPLETED = "com.android.update.CHECKING_TASK_COMPLETED";
public static final String RESTOREDATA = "com.android.amlogic.restoredata";
public static final String BACKUPDATA = "com.android.amlogic.backupdata";
- public static final String BACKUP_FILE = Environment
+ public static String BACKUP_FILE = Environment
.getExternalStorage2Directory().getAbsolutePath() + "/" + "BACKUP";
private PrefUtils mPref;
private Context mContext;
+
+ private static void getBackUpFileName(){
+ File devDir = new File(PrefUtils.DEV_PATH);
+ File[] devs = devDir.listFiles();
+ for(File dev:devs){
+ if(dev.isDirectory()&&dev.canWrite()){
+ BACKUP_FILE = dev.getAbsolutePath();
+ BACKUP_FILE += "/BACKUP";
+ break;
+ }
+ }
+ }
+
@Override
public void onReceive(Context context, Intent intent) {
+ getBackUpFileName();
mContext = context;
mPref = new PrefUtils(mContext);
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)
@@ -81,9 +95,9 @@ public class LoaderReceiver extends BroadcastReceiver {
Thread.sleep(5000);
}catch (InterruptedException e){
}finally{
- boolean ismounted = Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorage2State());
- File flagFile = new File(Environment.getExternalStorage2Directory(),PrefUtils.FlagFile);
- if (ismounted) {
+ //boolean ismounted = Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorage2State());
+ File flagFile = new File(new File(BACKUP_FILE).getParentFile(),PrefUtils.FlagFile);
+ //if (ismounted) {
File bkfile = new File(BACKUP_FILE);
if (flagFile.exists()) {
try{
@@ -113,7 +127,7 @@ public class LoaderReceiver extends BroadcastReceiver {
mPref.setBoolean(PrefUtils.PREF_START_RESTORE, false);
bkfile.delete();
}
- }
+ // }
}
}
}.start();
diff --git a/src/com/amlapp/update/otaupgrade/PrefUtils.java b/src/com/amlapp/update/otaupgrade/PrefUtils.java
index 0f00a58..e76302c 100755
--- a/src/com/amlapp/update/otaupgrade/PrefUtils.java
+++ b/src/com/amlapp/update/otaupgrade/PrefUtils.java
@@ -39,7 +39,7 @@ public class PrefUtils {
private static final String PREFS_UPDATE_SCRIPT = "update_with_script";
private static final String PREFS_UPDATE_FILESIZE = "update_file_size";
private static final String PREFS_UPDATE_DESC ="update_desc";
-
+ public static final String DEV_PATH ="/storage/external_storage";
public static final String PREF_START_RESTORE = "retore_start";
public static final String PREF_AUTO_CHECK = "auto_check";
static final String FlagFile = ".wipe_record";
@@ -137,12 +137,18 @@ public class PrefUtils {
return ("true").equals(SystemProperties.get("ro.product.update.autocheck"));
}
void write2File() {
- String Mounted = Environment.getExternalStorage2State();
- if (!Mounted.equals(Environment.MEDIA_MOUNTED)) {
- return;
+ String flagParentPath=Environment
+ .getExternalStorage2Directory().getAbsolutePath()+"/";
+ File devDir = new File(DEV_PATH);
+ File[] devs = devDir.listFiles();
+ for(File dev:devs){
+ if(dev.isDirectory()&&dev.canWrite()){
+ flagParentPath = dev.getAbsolutePath();
+ flagParentPath += "/";
+ break;
+ }
}
- File flagFile = new File(Environment.getExternalStorage2Directory(),
- FlagFile);
+ File flagFile = new File(flagParentPath,FlagFile);
if (!flagFile.exists()) {
try {
flagFile.createNewFile();