content: 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);
      }
  }
  