/** * 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 2/1/15 3:18 PM */ package com.odoo.base.addons.ir; import android.content.Context; import android.net.Uri; import android.util.Log; import com.odoo.core.orm.OModel; import com.odoo.core.orm.OValues; import com.odoo.core.orm.fields.OColumn; import com.odoo.core.orm.fields.types.ODateTime; import com.odoo.core.orm.fields.types.OVarchar; import com.odoo.core.support.OUser; import com.odoo.core.utils.ODateUtils; import java.util.Calendar; import java.util.Date; public class IrModel extends OModel { public static final String TAG = IrModel.class.getSimpleName(); public static final String AUTHORITY = "com.odoo.crm.core.provider.content.sync.ir_model"; OColumn name = new OColumn("Model Description", OVarchar.class).setSize(100); OColumn model = new OColumn("Model", OVarchar.class).setSize(100); OColumn state = new OColumn("State", OVarchar.class).setSize(64); OColumn last_synced = new OColumn("Last Synced on ", ODateTime.class) .setLocalColumn(); public IrModel(Context context, OUser user) { super(context, "ir.model", user); } @Override public Uri uri() { return buildURI(AUTHORITY); } @Override public boolean checkForCreateDate() { return false; } @Override public boolean checkForWriteDate() { return false; } public void setLastSyncDateTimeToNow(OModel model) { Log.i(TAG, "Model Sync Update : " + model.getModelName()); OValues values = new OValues(); values.put("model", model.getModelName()); Date last_sync = ODateUtils.createDateObject(ODateUtils.getUTCDate(), ODateUtils.DEFAULT_FORMAT, true); Calendar cal = Calendar.getInstance(); cal.setTime(last_sync); /* Fixed for Postgres SQL It stores milliseconds so comparing date wrong. */ cal.set(Calendar.SECOND, cal.get(Calendar.SECOND) + 2); last_sync = cal.getTime(); values.put("last_synced", ODateUtils.getDate(last_sync, ODateUtils.DEFAULT_FORMAT)); insertOrUpdate("model = ?", new String[]{model.getModelName()}, values); } }