package com.dsht.kerneltweaker; import java.util.Iterator; import java.util.List; import com.dsht.kerneltweaker.database.DataItem; import com.dsht.kerneltweaker.database.DatabaseHandler; import com.dsht.kerneltweaker.database.VddDatabaseHandler; import com.dsht.kernetweaker.cmdprocessor.CMDProcessor; import android.app.ProgressDialog; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.AsyncTask; public class Startup extends BroadcastReceiver { @Override public void onReceive(Context context, Intent bootintent) { // TODO Auto-generated method stub DatabaseHandler db = new DatabaseHandler(context); VddDatabaseHandler vddDb = new VddDatabaseHandler(context); applyValuesAsync(context, db, vddDb, false); } public static void applyValuesAsync(final Context mContext, final DatabaseHandler db, final VddDatabaseHandler vddDb, final boolean debug) { class LongOperation extends AsyncTask<String, Void, String> { ProgressDialog pd; @Override protected void onPreExecute() { if(debug) { pd = new ProgressDialog(mContext); pd.setIndeterminate(true); pd.setMessage("Applying values...Please wait"); pd.setCancelable(false); pd.show(); } } @Override protected String doInBackground(String... params) { List<DataItem> items = db.getAllItems(); List<DataItem> vddItems = vddDb.getAllItems(); if(items.size() != 0) { for(DataItem item : items) { if(item.getFileName().contains("TCP Congestion control")) { String cmd = item.getName().replaceAll("'", ""); CMDProcessor.runSuCommand(cmd); Helpers.debugger(mContext, "---TCP---"); Helpers.debugger(mContext,item.getName().replaceAll("'", "") ); }else { String value = item.getValue(); String fPath = item.getName().replaceAll("'", ""); String cmd = "echo \""+value+"\" > "+fPath; CMDProcessor.runSuCommand(cmd); Helpers.debugger(mContext, item.getFileName()); Helpers.debugger(mContext, "echo \""+value+"\" > "+fPath); Helpers.checkApply(mContext, item.getFileName(), value , fPath); } } } if(vddItems.size() != 0 ) { Helpers.debugger(mContext, "---VDD---"); for(DataItem item : vddItems) { String path = item.getName().replaceAll("'", ""); String value = item.getValue().replaceAll("'", ""); CMDProcessor.runSuCommand("echo \""+value+"\" > "+path); Helpers.debugger(mContext, "echo \""+value+"\" > "+path); Helpers.checkApply(mContext, item.getFileName(), value , path); } } return "executed"; } @Override protected void onPostExecute(String result) { if(debug) { pd.dismiss(); } } } new LongOperation().execute(); } }