/** * Odoo, Open Source Management Solution * Copyright (C) 2012-today Odoo SA (<http:www.odoo.com>) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http:www.gnu.org/licenses/> * * Created on 15/1/15 4:52 PM */ package com.odoo.addons.customers.utils; import android.content.Context; import android.content.Intent; import android.net.Uri; import com.odoo.core.orm.ODataRow; import com.odoo.core.utils.OStorageUtils; import java.io.File; import java.io.FileWriter; public class ShareUtil { public static final String TAG = ShareUtil.class.getSimpleName(); public static void shareContact(Context context, ODataRow row, Boolean view) { try { File vcfFile = new File(OStorageUtils.getDirectoryPath("file"), row.getString("name") + ".vcf"); FileWriter fw = new FileWriter(vcfFile); fw.write("BEGIN:VCARD\r\n"); fw.write("VERSION:3.0\r\n"); fw.write("N:" + row.getString("name") + ";\r\n"); fw.write("FN:" + row.getString("name") + "\r\n"); if (row.get("parent_id") instanceof Integer) { fw.write("ORG:" + row.getM2ORecord("parent_id").browse().getString("name") + "\r\n"); } if (!row.getString("phone").equals("false")) fw.write("TEL;TYPE=WORK,VOICE:" + row.getString("phone") + "\r\n"); if (!row.getString("mobile").equals("false")) fw.write("TEL;TYPE=HOME,VOICE:" + row.getString("mobile") + "\r\n"); String country = ""; if (row.get("country_id") instanceof Integer) { country = row.getM2ORecord("country_id").browse().getString("name"); } // if (!row.getString("street").equals("false") && !row.getString("street").equals("")) { // fw.write("ADR;TYPE=WORK:;;" + row.getString("street")); fw.write("ADR;TYPE=WORK:;;" + row.getString("street") + " " + row.getString("street2") + ";" + row.getString("city") + ";" + row.getString("zip") + ";" + country + "\r\n"); // } // if (!row.getString("street2").equals("false") && !row.getString("street2").equals("")) // fw.write("ADR;TYPE=WORK:;;" + " " + row.getString("street2")); // if (!row.getString("city").equals("false") && !row.getString("city").equals("")) // fw.write("ADR;TYPE=WORK:;;" + " " + row.getString("city")); // if (!row.getString("zip").equals("false") && !row.getString("zip").equals("")) // fw.write("ADR;TYPE=WORK:;;" + " " + row.getString("zip") + ";" + country); // if (!row.getString("email").equals("false") && !row.getString("email").equals("")) fw.write("EMAIL;TYPE=PREF,INTERNET:" + row.getString("email") + "\r\n"); fw.write("END:VCARD\r\n"); fw.close(); Intent i = new Intent(); if (view) { i.setAction(Intent.ACTION_SEND); i.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(vcfFile)); i.setType("text/x-vcard"); } else { i.setAction(Intent.ACTION_VIEW); i.setDataAndType(Uri.fromFile(vcfFile), "text/x-vcard"); } context.startActivity(i); } catch (Exception e) { e.printStackTrace(); } } }