/*
* Copyright (C) 2014 The AppCan Open Source Project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package org.zywx.wbpalmstar.widgetone.dataservice;
import android.os.Parcel;
import android.os.Parcelable;
import org.zywx.wbpalmstar.base.BDebug;
import java.util.ArrayList;
public class WWidgetData implements Parcelable,Cloneable {
// 表示我的空间按钮显示,单击按钮进入我的空间
public static final int F_SPACESTATUS_OPEN = 0x1;
// 表示我的空间功能关闭
public static final int F_SPACESTATUS_CLOSE = 0x2;
// 表示开我的空间内的更多按钮显示
public static final int F_MYSPACEMOREAPP_OPEN = 0x4;
// 表示开我的空间内的更多按钮不显示
public static final int F_MYSPACEMOREAPP_CLOSE = 0x8;
// 广告开启
public static final int F_WIDGETADSTATUS_OPEN = 1;
// 广告关闭
public static final int F_WIDGETADSTATUS_CLOSE = 0;
public static final String TAG_WIN_BG = "windowbackground";
public static final String TAG_WIN_BG_OPAQUE = "opaque";
public static final String TAG_WIN_BG_COLOR = "bgColor";
// 数据库中的主键id
public int m_id;
// 手机端WidgetOne系统的唯一标识
public String m_widgetOneId;
// 应用软件唯一的标识,对于不同的手机或者同一手机上的不同应用,该值唯一
public String m_widgetId;
// 应用程序标识
public String m_appId;
// Widget版本号(String类型)
public String m_ver;
// 渠道号
public String m_channelCode;
// 手机IMEI号码
public String m_imei;
// 上传参数校验码
public String m_md5Code;
// widget 名称
public String m_widgetName;
//
public String m_description;
//
public String m_email;
//
public String m_author;
//
public String m_license;
// widget 的Icon 路径
public String m_iconPath;
// widget 在sdcard的路径
public String m_widgetPath;
// widget首页 路径
public String m_indexUrl;
// 是否加密
public int m_obfuscation;
// log服务器ip
public String m_logServerIp;
// widget类型(0-主widget;1-我的空间;2-空间的widget;3-Plug-in)
public int m_wgtType;
// widget更新地址
public String m_updateurl;
// 主widget是否显示space:(0:表示我的空间功能关闭;1:表示我的空间按钮显示,单击按钮进入我的空间;2:表示开启我的空间二级菜单功能,可展开二级菜单)
public int m_spaceStatus;
//
public int m_orientation = 1;
// 是否显示广告(0,关闭;1,开启)
public int m_widgetAdStatus;
// 是否是webApp(0-不是; 1-是)
public int m_webapp = 0;
/**
* 被禁用的插件
* @deprecated
*/
public String[] disablePlugins;
public ArrayList<String> disablePluginsList = new ArrayList<String>();
/**
* 被禁用的窗口
* @deprecated
*/
public String[] disableRootWindows;
public ArrayList<String> disableRootWindowsList = new ArrayList<String>();
/**
* 被禁用的子窗口
* @deprecated
*/
public String[] disableSonWindows;
public ArrayList<String> disableSonWindowsList = new ArrayList<String>();
public ArrayList<String> noHardwareList = new ArrayList<String>();
public String m_appkey;
public int m_appdebug = 0;//是否开启debug模式,0:关闭,1:开启
public String m_opaque = "";
public String m_bgColor = "#00000000";
public int m_widgetOneLocation = 0; //0:SD卡; 1:沙箱; 默认SD卡
public static int m_remove_loading = 1;//1,引擎关闭loading页;0,web调接口关闭loading页
public static boolean sFullScreen = false;//是否全屏
public String mErrorPath;//页面加载错误时的错误页面路径
public static int sStatusBarColor=-1;
public static final Parcelable.Creator<WWidgetData> CREATOR = new Creator<WWidgetData>() {
public WWidgetData createFromParcel(Parcel source) {
WWidgetData widget = new WWidgetData();
widget.m_id = source.readInt();
widget.m_widgetOneId = source.readString();
widget.m_widgetId = source.readString();
widget.m_appId = source.readString();
widget.m_ver = source.readString();
widget.m_channelCode = source.readString();
widget.m_imei = source.readString();
widget.m_md5Code = source.readString();
widget.m_widgetName = source.readString();
widget.m_description = source.readString();
widget.m_email = source.readString();
widget.m_author = source.readString();
widget.m_license = source.readString();
widget.m_iconPath = source.readString();
widget.m_widgetPath = source.readString();
widget.m_indexUrl = source.readString();
widget.m_obfuscation = source.readInt();
widget.m_logServerIp = source.readString();
widget.m_wgtType = source.readInt();
widget.m_updateurl = source.readString();
widget.m_spaceStatus = source.readInt();
widget.m_orientation = source.readInt();
widget.m_widgetAdStatus = source.readInt();
widget.m_webapp = source.readInt();
widget.m_opaque = source.readString();
widget.m_bgColor = source.readString();
widget.m_appkey = source.readString();
widget.mErrorPath=source.readString();
widget.m_appdebug=source.readInt();
widget.m_widgetOneLocation = source.readInt();
if (widget.disablePluginsList != null) {
source.readStringList(widget.disablePluginsList);
}
if (widget.disableRootWindowsList != null) {
source.readStringList(widget.disableRootWindowsList);
}
if (widget.disableSonWindowsList != null) {
source.readStringList(widget.disableSonWindowsList);
}
if (widget.noHardwareList != null) {
source.readStringList(widget.noHardwareList);
}
return widget;
}
public WWidgetData[] newArray(int size) {
return new WWidgetData[size];
}
};
public int describeContents() {
return 0;
}
public String getWidgetPath() {
return m_widgetPath;
}
public boolean getOpaque() {
return Boolean.valueOf(m_opaque);
}
public int getSpaceStatus() {
if ((m_spaceStatus & F_SPACESTATUS_OPEN) == F_SPACESTATUS_OPEN) {
return F_SPACESTATUS_OPEN;
} else {
return F_SPACESTATUS_CLOSE;
}
}
public int getSpaceMoreAppStatus() {
if ((m_spaceStatus & F_MYSPACEMOREAPP_OPEN) == F_MYSPACEMOREAPP_OPEN) {
return F_MYSPACEMOREAPP_OPEN;
} else {
return F_MYSPACEMOREAPP_CLOSE;
}
}
public void writeToParcel(Parcel parcel, int flags) {
parcel.writeInt(m_id);
parcel.writeString(m_widgetOneId);
parcel.writeString(m_widgetId);
parcel.writeString(m_appId);
parcel.writeString(m_ver);
parcel.writeString(m_channelCode);
parcel.writeString(m_imei);
parcel.writeString(m_md5Code);
parcel.writeString(m_widgetName);
parcel.writeString(m_description);
parcel.writeString(m_email);
parcel.writeString(m_author);
parcel.writeString(m_license);
parcel.writeString(m_iconPath);
parcel.writeString(m_widgetPath);
parcel.writeString(m_indexUrl);
parcel.writeInt(m_obfuscation);
parcel.writeString(m_logServerIp);
parcel.writeInt(m_wgtType);
parcel.writeString(m_updateurl);
parcel.writeInt(m_spaceStatus);
parcel.writeInt(m_orientation);
parcel.writeInt(m_widgetAdStatus);
parcel.writeInt(m_webapp);
parcel.writeString(m_opaque);
parcel.writeString(m_bgColor);
parcel.writeString(m_appkey);
parcel.writeString(mErrorPath);
parcel.writeInt(m_appdebug);
parcel.writeInt(m_widgetOneLocation);
parcel.writeStringList(disablePluginsList);
parcel.writeStringList(disableRootWindowsList);
parcel.writeStringList(disableSonWindowsList);
parcel.writeStringList(noHardwareList);
}
@Override
public String toString() {
StringBuffer sb = new StringBuffer();
sb.append("widgetInfo: ");
sb.append("\n");
sb.append("m_id: " + m_id);
sb.append("\n");
sb.append("m_widgetOneId: " + m_widgetOneId);
sb.append("\n");
sb.append("m_widgetId: " + m_widgetId);
sb.append("\n");
sb.append("m_appId: " + m_appId);
sb.append("\n");
sb.append("m_ver: " + m_ver);
sb.append("\n");
sb.append("m_channelCode: " + m_channelCode);
sb.append("\n");
sb.append("m_imei: " + m_imei);
sb.append("\n");
sb.append("m_md5Code: " + m_md5Code);
sb.append("\n");
sb.append("m_widgetName: " + m_widgetName);
sb.append("\n");
sb.append("m_description: " + m_description);
sb.append("\n");
sb.append("m_email: " + m_email);
sb.append("\n");
sb.append("m_author: " + m_author);
sb.append("\n");
sb.append("m_license: " + m_license);
sb.append("\n");
sb.append("m_iconPath: " + m_iconPath);
sb.append("\n");
sb.append("m_widgetPath: " + m_widgetPath);
sb.append("\n");
sb.append("m_indexUrl: " + m_indexUrl);
sb.append("\n");
sb.append("m_obfuscation: " + m_obfuscation);
sb.append("\n");
sb.append("m_opaque: " + m_opaque);
sb.append("\n");
sb.append("m_bgColor: " + m_bgColor);
sb.append("\n");
sb.append("m_logServerIp: " + m_logServerIp);
sb.append("\n");
sb.append("m_wgtType: " + m_wgtType);
sb.append("\n");
sb.append("m_updateurl: " + m_updateurl);
sb.append("\n");
sb.append("m_spaceStatus: " + m_spaceStatus);
sb.append("\n");
sb.append("m_orientation: " + m_orientation);
sb.append("\n");
sb.append("m_widgetAdStatus: " + m_widgetAdStatus);
sb.append("\n");
sb.append("m_webapp: " + m_webapp);
sb.append("\n");
sb.append("m_appkey: " + m_appkey);
sb.append("\n");
sb.append("m_id: " + m_id);
sb.append("\n");
sb.append("m_id: " + m_id);
sb.append("\n");
sb.append("m_remove_loading:" + m_remove_loading);
sb.append("\n");
sb.append("mErrorPath:" + mErrorPath);
sb.append("\n");
sb.append("m_widgetOneLocation: " + m_widgetOneLocation);
sb.append("\n");
return sb.toString();
}
@Override
public WWidgetData clone() {
try {
return (WWidgetData) super.clone();
} catch (CloneNotSupportedException e) {
if (BDebug.DEBUG){
e.printStackTrace();
}
return null;
}
}
}