package fuzion24.device.vulnerability.test; import android.app.Application; import android.app.DownloadManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.Uri; import android.os.Environment; import com.evernote.android.job.JobManager; import java.io.File; import fuzion24.device.vulnerability.test.job.AndroidVTSJobCreator; /** * Handles the application lifecycle. */ public class AndroidVTSApplication extends Application { public String downloadFilename; // Download manager. public DownloadManager downloadManager; public BroadcastReceiver onComplete = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String apkDirectory = String.format("%s/%s", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath(), downloadFilename); Intent downloadIntent = new Intent(Intent.ACTION_VIEW); downloadIntent.setDataAndType(Uri.fromFile(new File(apkDirectory)), "application/vnd.android.package-archive"); downloadIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(downloadIntent); } }; @Override public void onCreate() { super.onCreate(); // Set the download callbacks. downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); registerReceiver(onComplete, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)); // Start the job to check for updates. JobManager.create(this).addJobCreator(new AndroidVTSJobCreator()); } @Override public void onTerminate() { super.onTerminate(); unregisterReceiver(onComplete); } }