diff options
| author | francesco rigamonti <francesco@MacBook-Pro-di-francesco.local> | 2014-03-04 13:41:27 +0100 |
|---|---|---|
| committer | francesco rigamonti <francesco@MacBook-Pro-di-francesco.local> | 2014-03-04 13:41:27 +0100 |
| commit | 24437bdb02eef543321ae3a5598bbd88d1d46839 (patch) | |
| tree | ae4c15c578f122c2ab6025ec4c86ceee70eac022 | |
| parent | 9fb445c0b56f315413346391cda8fae1c04fa982 (diff) | |
Use CMDProcessor instead of RootTools. Also use AsyncTask to avoid UI freeze.
| -rw-r--r-- | AndroidManifest.xml | 4 | ||||
| -rw-r--r-- | src/com/dsht/kerneltweaker/fragments/BackupFragment.java | 62 |
2 files changed, 46 insertions, 20 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 596f775..099648b 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.dsht.kerneltweaker" - android:versionCode="18" - android:versionName="1.2.10.0" > + android:versionCode="19" + android:versionName="1.2.20.0" > <uses-sdk android:minSdkVersion="16" diff --git a/src/com/dsht/kerneltweaker/fragments/BackupFragment.java b/src/com/dsht/kerneltweaker/fragments/BackupFragment.java index 6049aaf..562d1bb 100644 --- a/src/com/dsht/kerneltweaker/fragments/BackupFragment.java +++ b/src/com/dsht/kerneltweaker/fragments/BackupFragment.java @@ -11,6 +11,7 @@ import com.dsht.kerneltweaker.MainActivity; import com.dsht.kerneltweaker.R; import com.dsht.kerneltweaker.SwipeDismissListViewTouchListener; import com.dsht.kerneltweaker.SwipeDismissListViewTouchListener.DismissCallbacks; +import com.dsht.kernetweaker.cmdprocessor.CMDProcessor; import com.dsht.settings.SettingsFragment; import com.stericson.RootTools.RootTools; import com.stericson.RootTools.exceptions.RootDeniedException; @@ -18,9 +19,11 @@ import com.stericson.RootTools.execution.CommandCapture; import android.app.AlertDialog; import android.app.Fragment; +import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; import android.graphics.Color; +import android.os.AsyncTask; import android.os.Bundle; import android.os.Environment; import android.view.Gravity; @@ -180,26 +183,15 @@ public class BackupFragment extends Fragment implements OnClickListener, OnItemC if(!value.contains(".img")){ value +=".img"; } - CommandCapture command = null; - if(boot) { - command = new CommandCapture(0,"dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of="+backupDir.getAbsolutePath()+"/"+value); + backup(boot, value); + /*if(boot) { + CMDProcessor.runSuCommand("dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of="+backupDir.getAbsolutePath()+"/"+value); }else { - command = new CommandCapture(0,"dd if=/dev/block/platform/msm_sdcc.1/by-name/recovery of="+backupDir.getAbsolutePath()+"/"+value); - } - try { - RootTools.getShell(true).add(command); - mAdapter.add(new File(backupDir.getAbsolutePath()+"/"+value)); - - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (TimeoutException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (RootDeniedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + CMDProcessor.runSuCommand("dd if=/dev/block/platform/msm_sdcc.1/by-name/recovery of="+backupDir.getAbsolutePath()+"/"+value); } + listFiles.clear(); + listFiles = list(backupDir.listFiles()); + mAdapter.notifyDataSetChanged(); */ } } ); AlertDialog dialog = builder.create(); @@ -274,6 +266,40 @@ public class BackupFragment extends Fragment implements OnClickListener, OnItemC } } + public void backup(final boolean boot, final String value) { + class LongOperation extends AsyncTask<String, Void, String> { + + ProgressDialog pd; + + @Override + protected void onPreExecute() { + pd = new ProgressDialog(mContext); + pd.setIndeterminate(true); + pd.setMessage("Backing up...Please wait"); + pd.setCancelable(false); + pd.show(); + + } + + @Override + protected String doInBackground(String... params) { + if(boot) { + CMDProcessor.runSuCommand("dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of="+backupDir.getAbsolutePath()+"/"+value); + }else { + CMDProcessor.runSuCommand("dd if=/dev/block/platform/msm_sdcc.1/by-name/recovery of="+backupDir.getAbsolutePath()+"/"+value); + } + return "executed"; + } + @Override + protected void onPostExecute(String result) { + listFiles = list(backupDir.listFiles()); + mAdapter = new BackupBaseAdapter(mContext, listFiles); + mList.setAdapter(mAdapter); + pd.dismiss(); + } + } + new LongOperation().execute(); + } } |
