author | Ting 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) |
commit | 46f8cb22839f5daacbb569a13bc9278d2de32498 (patch) | |
tree | 2190ea224196c2dc856f2f276d13eaa026af8fb8 | |
parent | a4b69b732e73ae81a1d5e01a7fdc2bb01d2e782a (diff) | |
download | OTAUpgrade2-46f8cb22839f5daacbb569a13bc9278d2de32498.zip OTAUpgrade2-46f8cb22839f5daacbb569a13bc9278d2de32498.tar.gz OTAUpgrade2-46f8cb22839f5daacbb569a13bc9278d2de32498.tar.bz2 |
pd#99625 add usb device backup&restore function
Change-Id: Ifec258c2e7c108695a88ef0855ad7a808b0bb7cf
-rwxr-xr-x | src/com/amlapp/update/otaupgrade/BackupActivity.java | 21 | ||||
-rwxr-xr-x | src/com/amlapp/update/otaupgrade/LoaderReceiver.java | 24 | ||||
-rwxr-xr-x | src/com/amlapp/update/otaupgrade/PrefUtils.java | 18 |
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();
|