class SigningConfigImpl implements SigningConfig, Serializable {

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        SigningConfigImpl that = (SigningConfigImpl) o;
        return v1SigningEnabled == that.v1SigningEnabled &&
                v2SigningEnabled == that.v2SigningEnabled &&
                signingReady == that.signingReady &&
                Objects.equals(name, that.name) &&
                Objects.equals(storeFile, that.storeFile) &&
                Objects.equals(storePassword, that.storePassword) &&
                Objects.equals(keyAlias, that.keyAlias) &&
                Objects.equals(keyPassword, that.keyPassword) &&
                Objects.equals(storeType, that.storeType);
    }

    private  SigningConfigImpl(
            @NonNull  String name,
            @Nullable File storeFile,
            @Nullable String storePassword,
            @Nullable String keyAlias,
            @Nullable String keyPassword,
            @Nullable String storeType,
            boolean v1SigningEnabled,
            boolean v2SigningEnabled,
            boolean signingReady);

}