Note that there are some explanatory texts on larger screens.

plurals
  1. POWait For AsyncTask to finish before executing script
    primarykey
    data
    text
    <pre><code>package com.cydeon.plasmamodz; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.Reader; import java.net.URL; import java.net.URLConnection; import java.util.List; import com.cydeon.plasmamodz.R; import android.app.ActionBar; import android.app.Activity; import android.app.DownloadManager; import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.net.Uri; import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; //Class for Boot Animation Blue Kindle public class Boots extends Activity { public static String TAG = "Boots"; Process process; private class DownloadFile extends AsyncTask&lt;String, Integer, String&gt;{ @Override protected String doInBackground(String... sURL) { try{ URL url = new URL(sURL[0]); URLConnection connection = url.openConnection(); connection.connect(); //Shows 0-100% progress bar int fileLength = connection.getContentLength(); //Download the file InputStream input = new BufferedInputStream(url.openStream()); OutputStream output = new FileOutputStream("/sdcard/TWRP-Blaze-2.4.3.0-1.zip"); byte data[] = new byte[1024]; long total = 0; int count; while ((count = input.read(data)) != -1) { total += count; //Publish the Progress publishProgress((int) (total * 100/fileLength)); output.write(data, 0, count); } output.flush(); output.close(); input.close(); } catch (Exception e) { } return null; } @Override protected void onPreExecute() { super.onPreExecute(); mProgressDialog.show(); } @Override protected void onProgressUpdate(Integer... progress){ super.onProgressUpdate(progress); mProgressDialog.setProgress(progress[0]); } @Override protected void onPostExecute(String result) { // TODO Auto-generated method stub super.onPostExecute(result); mProgressDialog.dismiss(); Context context = getApplicationContext(); CharSequence text = "Installing. Please Wait"; int duration = Toast.LENGTH_SHORT; Toast toast = Toast.makeText(context, text, duration); toast.show(); try { Runtime rt = Runtime.getRuntime(); Process proc = rt.exec("su"); proc = rt.exec("sh /sdcard/boots.sh"); InputStream is = proc.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String line; while ((line = br.readLine()) != null){ System.out.println(line); } }catch (Throwable t){ t.printStackTrace(); } } } ProgressDialog mProgressDialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.boots); ActionBar actionBar = getActionBar(); actionBar.hide(); ImageView img = (ImageView) findViewById(R.id.iv2); img.setImageResource(R.drawable.boot1); Button install = (Button) findViewById(R.id.bAInstall); Button rtrn = (Button) findViewById(R.id.bAReturn); mProgressDialog = new ProgressDialog(Boots.this); mProgressDialog.setMessage("Downloading..." ); mProgressDialog.setIndeterminate(false); mProgressDialog.setMax(100); mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); install.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { DownloadFile downloadFile = new DownloadFile(); downloadFile.execute("https://dl.dropbox.com/s/t16a0cq0qcon2ux/TWRP-Blaze-2.4.3.0-1.zip"); } } ); rtrn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { finish(); } }); } } </code></pre> <p>Sorry if I didn't search good enough. I have my code with me so I'll post it. Also, as you can probably see, I have no idea how to include a script in my app and then run it. I tried making a new folder and putting the script in it, but it doesn't work. Help on that would too be appreciated...</p> <p>Edit: I got the first part to work. Now I cannot execute the script. su is executed, but my script is not. I also need to know where to put my script in my app, and then run that script. I'm not sure where the script will be when you install the app. And I don't know where to put the script. So help would be appreciated. Below(I guess above now.lol) is the updated code:</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload