package com.aptoide.amethyst.dialogs;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.DialogFragment;
import android.support.v7.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import com.aptoide.amethyst.R;
import com.aptoide.dataprovider.webservices.models.v7.GetAppMeta.File.Malware.Reason;
import com.aptoide.dataprovider.webservices.models.v7.GetAppMeta.File.Malware.Reason.Scanned.AvInfo;
import java.util.Iterator;
/**
* Created by tdeus on 1/16/14.
*/
public class DialogBadge extends DialogFragment {
protected Reason reason;
protected String appName;
protected String status;
public static DialogBadge newInstance(Reason reason, String appName, String status) {
DialogBadge dialog = new DialogBadge();
dialog.reason = reason;
dialog.appName = appName;
dialog.status = status;
return dialog;
}
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final View v = LayoutInflater.from(getActivity()).inflate(R.layout.dialog_anti_malware, null);
// String appName = getArguments().getString("appName");
// String status = getArguments().getString("status");
// GetApkInfoJson.Malware.Reason reason = ((AppViewActivity) getActivity()).getReason();
AlertDialog builder = new AlertDialog.Builder(getActivity())
.setView(v)
.setTitle(status.equals("TRUSTED") ? getString(R.string.app_trusted, appName) : getString(R.string.app_warning, appName))
// .setTitle(status.equals("scanned") ? getString(R.string.app_trusted, appName) : getString(R.string.app_warning, appName))
// .setIcon(status.equals("scanned") ? getResources().getDrawable(R.drawable.ic_trusted) : getResources().getDrawable(R.drawable.ic_warning))
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).create();
if (reason != null) {
if (reason.scanned != null && reason.scanned.status != null && (reason.scanned.status.equals("passed") || reason.scanned.status.equals("warn"))) {
if (reason.scanned.avInfo != null) {
StringBuilder av = new StringBuilder();
Iterator<AvInfo> iterator = reason.scanned.avInfo.iterator();
while (iterator.hasNext()) {
AvInfo avInfo = iterator.next();
av.append(avInfo.name);
if (iterator.hasNext()) {
av.append(", ");
}
}
v.findViewById(R.id.reason_scanned_description).setVisibility(View.VISIBLE);
v.findViewById(R.id.reason_scanned).setVisibility(View.VISIBLE);
((TextView) v.findViewById(R.id.reason_scanned_description)).setText(getString(R.string.scanned_with_av));
((TextView) v.findViewById(R.id.reason_scanned)).setText(av.toString());
}
}
if (reason.thirdpartyValidated != null) {
v.findViewById(R.id.reason_thirdparty_validated_description).setVisibility(View.VISIBLE);
v.findViewById(R.id.reason_thirdparty_validated).setVisibility(View.VISIBLE);
((TextView) v.findViewById(R.id.reason_thirdparty_validated_description)).setText(getString(R.string.compared_with_another_marketplace));
((TextView) v.findViewById(R.id.reason_thirdparty_validated)).setText(reason.thirdpartyValidated.store);
}
if (reason.signatureValidated != null && reason.signatureValidated.status != null) {
v.findViewById(R.id.reason_signature_validation_description).setVisibility(View.VISIBLE);
((TextView) v.findViewById(R.id.reason_signature_validation_description)).setText(getString(R.string.application_signature_analysis));
switch (reason.signatureValidated.status) {
case "passed":
v.findViewById(R.id.reason_signature_validated).setVisibility(View.VISIBLE);
((TextView) v.findViewById(R.id.reason_signature_validated)).setText(getString(R.string.application_signature_matched));
break;
case "failed":
v.findViewById(R.id.reason_signature_not_validated).setVisibility(View.VISIBLE);
((TextView) v.findViewById(R.id.reason_signature_not_validated)).setText(getString(R.string.application_signature_not_matched));
break;
case "blacklisted":
v.findViewById(R.id.reason_signature_not_validated).setVisibility(View.VISIBLE);
((TextView) v.findViewById(R.id.reason_signature_not_validated)).setText(getString(R.string.application_signature_blacklisted));
break;
}
}
if (reason.manualQA != null && reason.manualQA.status != null && reason.manualQA.status.equals("passed")) {
v.findViewById(R.id.reason_manual_qa_description).setVisibility(View.VISIBLE);
v.findViewById(R.id.reason_manual_qa).setVisibility(View.VISIBLE);
((TextView) v.findViewById(R.id.reason_manual_qa_description)).setText(getString(R.string.scanned_manually_by_aptoide_team));
((TextView) v.findViewById(R.id.reason_manual_qa)).setText(getString(R.string.scanned_verified_by_tester));
}
}
return builder;
}
}