@Override
  protected void onCreate(Bundle savedInstanceState) {
    // Aptoide.getThemePicker().setAptoideTheme(this);
    super.onCreate(savedInstanceState);
    this.context = this;
    apk = getIntent().getParcelableExtra("apk");

    ArrayList<String> permissionsList = getIntent().getStringArrayListExtra("permissions");

    try {

      List<String> list =
          Arrays.asList(
              getPackageManager()
                  .getPackageInfo(apk.getApkid(), PackageManager.GET_PERMISSIONS)
                  .requestedPermissions);
      ArrayList<String> installedPermissionsList = new ArrayList<>(list);

      //            Log.d("TAG", "Installed permissions: " + installedPermissionsList.size() + " " +
      // installedPermissionsList);
      //            Log.d("TAG", "apk permissions: " + permissionsList.size() + " " +
      // permissionsList);

      permissionsList.removeAll(installedPermissionsList);

      //            Log.d("TAG", "apk permissions 2: " + permissionsList.size() + " " +
      // permissionsList);

      ArrayList<ApkPermission> descriptionList = permissions(context, permissionsList);
      if (!permissionsList.isEmpty() && !descriptionList.isEmpty()) {
        permissionsDialog(apk, descriptionList);
      } else {
        DownloadUtils.installWithRoot(apk);
        finish();
      }

    } catch (PackageManager.NameNotFoundException e) {

      try {
        permissionsDialog(apk, permissions(context, permissionsList));
      } catch (NullPointerException ignore) {
        DownloadUtils.installWithRoot(apk);
        finish();
      }

    } catch (NullPointerException e) {
      DownloadUtils.installWithRoot(apk);
      finish();
    }
  }