/* Copyright 2012-2013, Polyvi Inc. (http://polyvi.github.io/openxface) This program is distributed under the terms of the GNU General Public License. This file is part of xFace. xFace is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. xFace 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 General Public License for more details. You should have received a copy of the GNU General Public License along with xFace. If not, see <http://www.gnu.org/licenses/>. */ package com.polyvi.xface.ams; import android.os.AsyncTask; import com.polyvi.xface.util.XLog; public abstract class XAbstractPreIntaller extends AsyncTask<Void, Void, Boolean> implements XIPreInstallTask { private static final String CLASS_NAME = XAbstractPreIntaller.class .getSimpleName(); private XIPreInstallListener mPreInsallListener; public XAbstractPreIntaller(XIPreInstallListener listener) { mPreInsallListener = listener; } @Override public void run() { execute(); } @Override protected Boolean doInBackground(Void... params) { if (params.length > 0 ) { XLog.e(CLASS_NAME, "system start params error."); return false; } return install(); } /** * 抽象方法 app安装的具体实现 * * @param observer * @return */ abstract protected boolean install(); @Override protected void onPostExecute(Boolean success) { super.onPostExecute(success); if (success) { mPreInsallListener.onSuccess(); } else { mPreInsallListener.onFailure(); } } }