package com.lemenzo.gallery.integration;

import android.content.Context;
import android.content.Intent;
import android.net.Uri;

/** Stable Gallery -> Vault contract. Vault owns encryption and source-removal confirmation. */
public final class VaultContract {
    public static final String PACKAGE = "com.lemenzo.vault";
    public static final String ACTION_IMPORT_MEDIA = "com.lemenzo.vault.action.IMPORT_MEDIA";
    public static final String EXTRA_MIME_TYPE = "com.lemenzo.vault.extra.MIME_TYPE";
    private VaultContract() {}

    public static Intent importIntent(Uri uri, String mimeType) {
        return new Intent(ACTION_IMPORT_MEDIA)
                .setPackage(PACKAGE)
                .setDataAndType(uri, mimeType == null ? "*/*" : mimeType)
                .putExtra(EXTRA_MIME_TYPE, mimeType)
                .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    }

    public static boolean isAvailable(Context context, Uri uri, String mimeType) {
        return context.getPackageManager().resolveActivity(importIntent(uri, mimeType), 0) != null;
    }
}
