CloudInfoFragment.java 源代码
package activity.cloud.fragment;
import activity.cloud.api.ApiFactory;
import activity.cloud.bean.CurrentItem;
import activity.cloud.bean.PieData;
import activity.cloud.bean.ServiceRequ;
import activity.cloud.bean.ServiceResp;
import activity.cloud.fragment.CloudInfoFragment;
import activity.cloud.re.HttpThrowable;
import activity.cloud.re.MyCallBack;
import activity.cloud.timeaxis.NewCloudPlaybackActivity;
import activity.cloud.timeaxis.NewCloudPlaybackDualActivity;
import activity.cloud.timeaxis.NewCloudPlaybackSpliceActivity;
import activity.cloud.utils.DateUtils;
import activity.cloud.view.MyChart;
import android.animation.ValueAnimator;
import android.content.Intent;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewCompat;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import base.HiFragment;
import bean.MyCamera;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import com.hichip.callback.PlayOSSFileCallback;
import com.hichip.campro.R;
import com.hichip.content.HiChipDefines;
import com.hichip.sdk.HiPlayOSSSDK;
import com.meizu.cloud.pushsdk.constants.PushConstants;
import common.Constant;
import common.HiDataValue;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.Iterator;
import java.util.Locale;
import java.util.Objects;
import org.greenrobot.eventbus.EventBus;
import utils.HiTools;
import utils.MyToast;
import utils.SharePreUtils;
import utils.SystemUtils;
import utils.TimeUtil;
public class CloudInfoFragment extends HiFragment implements PlayOSSFileCallback {
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
private static final int ECS_CALL_BACK = 1114;
private static final int OSS_CALL_BACK = 1115;
public static boolean isRefresh = false;
private int copyStartPosition;
private String endTime;
private View layoutView;
LinearLayout llCloudInfo;
LinearLayout llDaysInfo;
LinearLayout llUseSpace;
LinearLayout ll_content;
private MyCamera mCamera;
private String mParam1;
private String mParam2;
MyChart pieChart;
ProgressBar process;
RelativeLayout rlTimesInfo;
private long serviceTime;
private String startTime;
TextView tvDesc;
TextView tvGoFee;
TextView tvInfoNo;
TextView tvLastSpace;
TextView tvLastSpacePre;
TextView tvLaveDays;
TextView tvLaveTime;
TextView tvOrderList;
TextView tvSearchTime;
TextView tvTime;
TextView tvTotalSpace;
TextView tvUseSpace;
TextView tvUseSpacePer;
TextView tv_nothing;
Unbinder unbinder;
private String uuid;
int videoSaveDays = 0;
float useSpace = 0.0f;
private boolean mFirst = true;
byte[] cloudSizeInfo = new byte[64];
private SimpleDateFormat format = new SimpleDateFormat(TimeUtil.FORMAT_DATE_TIME_FULL, Locale.getDefault());
private DecimalFormat numberFormat = new DecimalFormat("#0.00");
private boolean noDBFile = false;
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message message) {
int i = message.what;
if (i == 1110) {
CloudInfoFragment.this.initData();
return;
}
if (i == CloudInfoFragment.ECS_CALL_BACK) {
if (message.arg1 == 0) {
return;
}
CloudInfoFragment.this.showEcsError(message.arg1, message.arg2);
return;
}
if (i == CloudInfoFragment.OSS_CALL_BACK) {
if (message.arg1 == 0) {
if (CloudInfoFragment.this.mFirst) {
CloudInfoFragment.this.mCamera.mPlayOSS.GetOSSdoesObjectExt(CloudInfoFragment.this.uuid + "/space.db", 1);
CloudInfoFragment.this.mFirst = false;
return;
}
return;
}
CloudInfoFragment.this.showOssError(message.arg1, message.arg2);
return;
}
switch (i) {
case 24832:
CloudInfoFragment.this.ShowError(1, message.what + "");
return;
case HiChipDefines.HI_P2P_GET_SNAP_AUTO_PARAM:
if (message.what == 24833) {
CloudInfoFragment cloudInfoFragment = CloudInfoFragment.this;
cloudInfoFragment.ShowError(0, cloudInfoFragment.getString(R.string.no_record_file));
return;
}
CloudInfoFragment.this.ShowError(1, message.what + "");
return;
case HiChipDefines.HI_P2P_SET_SNAP_AUTO_PARAM:
case HiChipDefines.HI_P2P_GET_SNAP_AUTO_SCHEDULE:
case HiChipDefines.HI_P2P_SET_SNAP_AUTO_SCHEDULE:
CloudInfoFragment.this.dismissJuHuaDialog();
CloudInfoFragment.this.tv_nothing.setVisibility(0);
Toast.makeText(CloudInfoFragment.this.getContext(), HiTools.getErrorMsg(CloudInfoFragment.this.getContext(), CloudInfoFragment.toHex(message.what, 6), 0, 0), 1).show();
return;
default:
switch (i) {
case 25088:
break;
case 25089:
break;
case 25090:
case 25091:
case 25092:
break;
default:
switch (i) {
case 25344:
break;
case 25345:
break;
case 25346:
case 25347:
case 25348:
break;
default:
switch (i) {
case 25600:
break;
case 25601:
break;
case 25602:
case 25603:
case 25604:
break;
default:
switch (i) {
case 25856:
break;
case 25857:
break;
case 25858:
case 25859:
case 25860:
break;
default:
switch (i) {
case 26112:
break;
case 26113:
break;
case 26114:
case 26115:
case 26116:
break;
default:
switch (i) {
case 28928:
break;
case HiChipDefines.HI_P2P_GET_FTP_PARAM:
break;
case HiChipDefines.HI_P2P_SET_FTP_PARAM:
CloudInfoFragment.this.noDBFile = false;
CloudInfoFragment.this.mCamera.mPlayOSS.StartOSSDownCustomFile(CloudInfoFragment.this.uuid + "/space.db", 64, 1);
return;
case HiChipDefines.HI_P2P_GET_EMAIL_PARAM:
CloudInfoFragment.this.noDBFile = true;
CloudInfoFragment.this.initData();
return;
default:
return;
}
}
}
}
}
}
}
}
};
@Override
public void CallBackOSSDownLoad(int i, int i2, int i3, String str) {
}
@Override
public void CallBackOSSDownLoadExt(int i, long j, long j2, String str) {
}
@Override
public void callbackOSSOCloudReq(String str, int i, int i2, int i3, int i4, String str2) {
}
@Override
public void callbackplayDuallocalExt(int i, int i2, int i3, int i4, long j, long j2, int i5, int i6, String str) {
}
@Override
public void callbackplaylocal(int i, int i2, int i3, long j, int i4, int i5) {
}
@Override
public void callbackplaylocalExt(int i, int i2, int i3, long j, long j2, int i4, int i5, String str) {
}
public static CloudInfoFragment newInstance(String str, String str2) {
CloudInfoFragment cloudInfoFragment = new CloudInfoFragment();
Bundle bundle = new Bundle();
bundle.putString(ARG_PARAM1, str);
bundle.putString(ARG_PARAM2, str2);
cloudInfoFragment.setArguments(bundle);
return cloudInfoFragment;
}
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
if (getArguments() != null) {
this.mParam1 = getArguments().getString(ARG_PARAM1);
this.mParam2 = getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(LayoutInflater layoutInflater, ViewGroup viewGroup, Bundle bundle) {
View inflate = layoutInflater.inflate(R.layout.fragment_cloud_info, viewGroup, false);
this.layoutView = inflate;
this.unbinder = ButterKnife.bind(this, inflate);
initView();
return this.layoutView;
}
private void initView() {
if (!TextUtils.isEmpty(this.mParam1)) {
this.uuid = this.mParam1;
}
if (!TextUtils.isEmpty(this.uuid)) {
Iterator<MyCamera> it = HiDataValue.CameraList.iterator();
while (true) {
if (!it.hasNext()) {
break;
}
MyCamera next = it.next();
if (this.uuid.equals(next.getUid())) {
this.mCamera = next;
break;
}
}
}
if (this.mCamera.mPlayOSS == null) {
this.mCamera.mPlayOSS = new HiPlayOSSSDK();
boolean z = SharePreUtils.getBoolean(HiDataValue.CACHE, getActivity(), Constant.DEV_IsVivoMedia, false);
if (SystemUtils.isVIVOMobile(getActivity()) && Build.VERSION.SDK_INT > 29 && !z) {
this.mCamera.mPlayOSS.SetDecodeViVoVideoType(0);
} else {
this.mCamera.mPlayOSS.SetDecodeViVoVideoType(1);
}
this.mCamera.mPlayOSS.registerPlayOSSStateListener(this);
} else {
this.mCamera.mPlayOSS.registerPlayOSSStateListener(this);
}
showJuHuaDialog();
if (this.mCamera.mPlayOSS.GetOSSisInfo()) {
this.mCamera.mPlayOSS.GetOSSdoesObjectExt(this.uuid + "/space.db", 1);
return;
}
this.mCamera.mPlayOSS.SetContext(getContext(), this.mCamera.getUid());
this.mCamera.mPlayOSS.GetOSSInfoOCloud(this.mCamera.getUsername(), this.mCamera.getPassword(), this.mCamera.getEcsIp(), this.mCamera.getEcsPort(), 1, 0);
}
public void initData() {
TextView textView = this.tvInfoNo;
if (textView == null) {
return;
}
textView.setVisibility(4);
ApiFactory.getApi().GetService(new ServiceRequ(this.uuid, DateUtils.getDate())).enqueue(new AnonymousClass1());
}
public class AnonymousClass1 extends MyCallBack<ServiceResp> {
AnonymousClass1() {
}
@Override
public void onSuccess(ServiceResp serviceResp) {
Date date;
if (CloudInfoFragment.this.tvDesc == null) {
return;
}
CloudInfoFragment.isRefresh = false;
CloudInfoFragment.this.videoSaveDays = serviceResp.getVideoSaveDays();
CloudInfoFragment.this.startTime = serviceResp.getStartDate();
CloudInfoFragment.this.endTime = serviceResp.getEndDate();
Date date2 = null;
try {
date = CloudInfoFragment.this.format.parse(serviceResp.getEndDate());
try {
date2 = CloudInfoFragment.this.format.parse(serviceResp.getDate());
} catch (ParseException e) {
e = e;
e.printStackTrace();
CloudInfoFragment.this.dismissJuHuaDialog();
CloudInfoFragment.this.tvDesc.setTextColor(ViewCompat.MEASURED_STATE_MASK);
CloudInfoFragment.this.tvDesc.setText(serviceResp.getServiceDesc());
if (date != null) {
return;
} else {
return;
}
}
} catch (ParseException e2) {
e = e2;
date = null;
}
if (date != null || date2 == null) {
return;
}
if (!CloudInfoFragment.this.mCamera.getIs_UseCloud()) {
CloudInfoFragment.this.mCamera.setmIs_UseCloud(true);
}
CloudInfoFragment.this.serviceTime = date2.getTime() + 28800000;
if (date.getTime() > date2.getTime() + 28800000) {
CloudInfoFragment.this.mCamera.setCloudEndTime(serviceResp.getEndDate());
CloudInfoFragment.this.tvDesc.setTextColor(ViewCompat.MEASURED_STATE_MASK);
CloudInfoFragment.this.tvDesc.setText(serviceResp.getServiceDesc());
if (!CloudInfoFragment.this.noDBFile) {
CloudInfoFragment.this.initPieChart();
return;
} else {
CloudInfoFragment.this.useSpace = 0.0f;
CloudInfoFragment.this.initPieChart();
return;
}
}
CloudInfoFragment.this.tvDesc.setTextColor(Color.parseColor("#d38487"));
CloudInfoFragment.this.tvDesc.setText(CloudInfoFragment.this.getString(R.string.package_timeout_title) + serviceResp.getServiceDesc());
CloudInfoFragment cloudInfoFragment = CloudInfoFragment.this;
cloudInfoFragment.useSpace = (float) cloudInfoFragment.videoSaveDays;
CloudInfoFragment.this.initPieChart();
}
@Override
public void onError(Throwable th, String str) {
if (CloudInfoFragment.this.mCamera.getIs_UseCloud()) {
CloudInfoFragment.this.mCamera.setmIs_UseCloud(false);
}
CloudInfoFragment.isRefresh = false;
if (th instanceof HttpThrowable) {
CloudInfoFragment.this.dismissJuHuaDialog();
if (CloudInfoFragment.this.tvInfoNo == null || CloudInfoFragment.this.tvOrderList == null || CloudInfoFragment.this.llDaysInfo == null || CloudInfoFragment.this.llUseSpace == null || CloudInfoFragment.this.tvGoFee == null || CloudInfoFragment.this.ll_content == null) {
return;
}
CloudInfoFragment.this.tvInfoNo.setVisibility(0);
CloudInfoFragment.this.tvOrderList.setVisibility(8);
CloudInfoFragment.this.llDaysInfo.setVisibility(8);
CloudInfoFragment.this.llUseSpace.setVisibility(8);
CloudInfoFragment.this.tvGoFee.setText(CloudInfoFragment.this.getString(R.string.buy_package_now));
CloudInfoFragment.this.ll_content.setVisibility(0);
EventBus.getDefault().post(new CurrentItem(1, false));
return;
}
if (CloudInfoFragment.this.tvDesc != null) {
CloudInfoFragment.this.tvDesc.postDelayed(new Runnable() {
@Override
public final void run() {
CloudInfoFragment.AnonymousClass1.this.lambda$onError$0$CloudInfoFragment$1();
}
}, 1000L);
}
}
public void lambda$onError$0$CloudInfoFragment$1() {
CloudInfoFragment.this.dismissJuHuaDialog();
Toast.makeText(CloudInfoFragment.this.getContext(), CloudInfoFragment.this.getString(R.string.netword_abnormal), 1).show();
FragmentActivity activity2 = CloudInfoFragment.this.getActivity();
Objects.requireNonNull(activity2);
activity2.finish();
}
}
@Override
public void onDestroyView() {
super.onDestroyView();
this.unbinder.unbind();
Handler handler = this.mHandler;
if (handler != null) {
handler.removeCallbacksAndMessages(null);
}
MyCamera myCamera = this.mCamera;
if (myCamera == null || myCamera.mPlayOSS == null) {
return;
}
this.mCamera.mPlayOSS.unregisterPlayOSSStateListener(this);
}
public void initPieChart() {
int i;
double d;
this.llDaysInfo.setVisibility(0);
this.llUseSpace.setVisibility(0);
if (this.videoSaveDays <= 0) {
return;
}
dismissJuHuaDialog();
this.tv_nothing.setVisibility(8);
this.ll_content.setVisibility(0);
this.tvTime.setText(getString(R.string.package_start_time) + this.startTime + "—" + this.endTime);
String format = this.format.format(new Date(this.serviceTime));
this.tvSearchTime.setText(getString(R.string.package_check_time) + format);
int i2 = -1;
try {
i = DateUtils.daysBetween(this.startTime, this.endTime);
} catch (ParseException e) {
e = e;
i = 0;
}
try {
i2 = DateUtils.daysBetween(format, this.endTime);
} catch (ParseException e2) {
e = e2;
e.printStackTrace();
int i3 = i * 1000;
this.process.setMax(i3);
if (i2 <= 0) {
}
ArrayList arrayList = new ArrayList();
arrayList.add(new PieData(this.useSpace, R.color.use_color));
arrayList.add(new PieData(this.videoSaveDays - this.useSpace, R.color.color_state_onling));
this.pieChart.setmStartAngle(270.0f);
this.pieChart.setData(arrayList);
int i4 = this.videoSaveDays;
d = i4 - this.useSpace;
if (d < 0.0d) {
}
String str = this.numberFormat.format((this.useSpace / this.videoSaveDays) * 100.0f) + "%";
float f = 1.0f - (this.useSpace / this.videoSaveDays);
String str2 = this.numberFormat.format(f * 100.0f) + "%";
if (this.useSpace < 0.01f) {
}
}
int i32 = i * 1000;
this.process.setMax(i32);
if (i2 <= 0) {
this.process.setProgressDrawable(getResources().getDrawable(R.drawable.progressbar_horizontal_list));
this.llUseSpace.setVisibility(0);
int i5 = i - i2;
if (new BigDecimal(Double.valueOf(i5).toString()).divide(new BigDecimal(Double.valueOf(i).toString()), 2, RoundingMode.HALF_UP).floatValue() < 0.02f) {
this.process.setProgress(0);
} else {
setProcess(this.process, i5 * 1000);
}
this.tvLaveDays.setText(i2 + getString(R.string.day));
this.tvOrderList.setVisibility(0);
} else {
this.llUseSpace.setVisibility(8);
this.tvLaveDays.setText(PushConstants.PUSH_TYPE_NOTIFY + getString(R.string.day));
this.process.setProgressDrawable(getResources().getDrawable(R.drawable.progressbar_horizontal_list_red));
setProcess(this.process, i32);
}
ArrayList arrayList2 = new ArrayList();
arrayList2.add(new PieData(this.useSpace, R.color.use_color));
arrayList2.add(new PieData(this.videoSaveDays - this.useSpace, R.color.color_state_onling));
this.pieChart.setmStartAngle(270.0f);
this.pieChart.setData(arrayList2);
int i42 = this.videoSaveDays;
d = i42 - this.useSpace;
if (d < 0.0d) {
this.useSpace = i42 * 0.01f;
d = i42 * 0.99f;
}
String str3 = this.numberFormat.format((this.useSpace / this.videoSaveDays) * 100.0f) + "%";
float f2 = 1.0f - (this.useSpace / this.videoSaveDays);
String str22 = this.numberFormat.format(f2 * 100.0f) + "%";
if (this.useSpace < 0.01f) {
this.tvUseSpace.setText(this.numberFormat.format(this.useSpace) + " GB");
this.tvUseSpacePer.setText(str3);
this.tvLastSpace.setText(this.numberFormat.format(d) + " GB");
this.tvLastSpacePre.setText(str22);
this.tvTotalSpace.setText(getString(R.string.total_size) + " " + this.videoSaveDays + " GB");
return;
}
this.tvUseSpace.setText(this.numberFormat.format(this.useSpace * 1024.0f) + " MB");
this.tvUseSpacePer.setText(str3);
this.tvLastSpace.setText(this.numberFormat.format(((this.videoSaveDays * 1024) - (this.useSpace * 1024.0f)) / 1024.0f) + " GB");
this.tvLastSpacePre.setText(str22);
this.tvTotalSpace.setText(getString(R.string.total_size) + " " + this.videoSaveDays + " GB");
}
public void onClick(View view) {
int id = view.getId();
if (id == R.id.tv_go_fee) {
EventBus.getDefault().post(new CurrentItem(1, false));
return;
}
if (id != R.id.tv_order_list || this.mCamera == null || getContext() == null) {
return;
}
Intent intent = new Intent();
if (!this.mCamera.getdevDual()) {
if (!this.mCamera.getdevSplice()) {
intent.setClass(getContext(), NewCloudPlaybackActivity.class);
} else {
intent.setClass(getContext(), NewCloudPlaybackSpliceActivity.class);
}
} else {
intent.setClass(getContext(), NewCloudPlaybackDualActivity.class);
}
intent.putExtra(HiDataValue.EXTRAS_KEY_UID, this.mCamera.getUid());
getContext().startActivity(intent);
}
@Override
public void setUserVisibleHint(boolean z) {
super.setUserVisibleHint(z);
if (z) {
if (isRefresh) {
showJuHuaDialog();
MyCamera myCamera = this.mCamera;
if (myCamera != null && myCamera.mPlayOSS != null) {
this.useSpace = 0.0f;
this.cloudSizeInfo = null;
this.cloudSizeInfo = new byte[64];
this.mCamera.mPlayOSS.GetOSSdoesObjectExt(this.uuid + "/space.db", 1);
return;
}
TextView textView = this.tvDesc;
if (textView != null) {
textView.postDelayed(new Runnable() {
@Override
public final void run() {
CloudInfoFragment.this.lambda$setUserVisibleHint$0$CloudInfoFragment();
}
}, 2000L);
return;
}
return;
}
LinearLayout linearLayout = this.ll_content;
if (linearLayout != null) {
linearLayout.setVisibility(0);
return;
}
return;
}
LinearLayout linearLayout2 = this.ll_content;
if (linearLayout2 != null) {
linearLayout2.setVisibility(4);
}
}
public void lambda$setUserVisibleHint$0$CloudInfoFragment() {
dismissJuHuaDialog();
this.tv_nothing.setVisibility(0);
}
private void setProcess(final ProgressBar progressBar, int i) {
ValueAnimator duration = ValueAnimator.ofInt(0, i).setDuration(1000L);
duration.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public final void onAnimationUpdate(ValueAnimator valueAnimator) {
progressBar.setProgress(((Integer) valueAnimator.getAnimatedValue()).intValue());
}
});
duration.start();
}
@Override
public void callbackOSSReq(String str, int i, int i2, int i3, String str2) {
Message obtain = Message.obtain();
if (i == 1) {
obtain.what = ECS_CALL_BACK;
} else if (i == 2) {
obtain.what = OSS_CALL_BACK;
} else {
obtain.what = i;
}
obtain.obj = str;
obtain.arg1 = i2;
obtain.arg2 = i3;
this.mHandler.sendMessage(obtain);
}
@Override
public void callbackOSSData(int i, byte[] bArr, int i2, int i3, int i4, int i5, int i6, int i7, String str) {
if (i != 5) {
return;
}
if (i7 == 1) {
System.arraycopy(bArr, 0, this.cloudSizeInfo, this.copyStartPosition, i2);
this.copyStartPosition += i2;
return;
}
if (i7 == 2) {
this.copyStartPosition = 0;
Log.e("==cloud", Arrays.toString(this.cloudSizeInfo));
float floatValue = new BigDecimal(((((float) longFrom8Bytes(this.cloudSizeInfo, 0, true)) / 1024.0f) / 1024.0f) / 1024.0f).setScale(4, 1).floatValue();
this.useSpace = floatValue;
if (floatValue < 0.0f) {
this.useSpace = 0.0f;
}
Message obtain = Message.obtain();
obtain.what = 1110;
this.mHandler.sendMessage(obtain);
Log.e("==cloud", "" + longFrom8Bytes(this.cloudSizeInfo, 0, true) + "::" + this.useSpace);
}
}
public static long longFrom8Bytes(byte[] bArr, int i, boolean z) {
long j = 0;
for (int i2 = 0; i2 < 8; i2++) {
int i3 = (z ? i2 : 7 - i2) << 3;
j |= (255 << i3) & (bArr[i + i2] << i3);
}
return j;
}
public void showEcsError(int i, int i2) {
dismissJuHuaDialog();
MyToast.showToast(getContext(), HiTools.getErrorMsg(getContext(), "ECS", i, i2));
this.tv_nothing.setVisibility(0);
}
public void showOssError(int i, int i2) {
dismissJuHuaDialog();
String errorMsg = HiTools.getErrorMsg(getContext(), "OSS", i, i2);
if (i2 != -8 && i2 != -7 && i2 != -9) {
MyToast.showToast(getContext(), errorMsg);
this.tv_nothing.setVisibility(0);
} else {
initData();
}
}
public void ShowError(int i, String str) {
dismissJuHuaDialog();
if (i == 1) {
try {
str = HiTools.getErrorMsg(getContext(), toHex(Integer.parseInt(str), 6), 0, 0);
} catch (Exception unused) {
str = "-10001";
}
}
MyToast.showToast(getContext(), str);
this.tv_nothing.setVisibility(0);
}
public static String toHex(int i, int i2) {
return splicingZero(Integer.toHexString(i), i2);
}
public static String splicingZero(String str, int i) {
int length = str.length();
StringBuilder sb = new StringBuilder(str);
for (int i2 = 0; i2 < i - length; i2++) {
sb.insert(0, PushConstants.PUSH_TYPE_NOTIFY);
}
return sb.toString();
}
}