DiscoveryActivity

package com.cmb.zh.session.find;


import java.util.ArrayList;
import java.util.List;


import org.json.JSONException;
import org.json.JSONObject;


import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.RelativeLayout;


import com.android.api.utils.android.SharePreferenceUtil;
import com.cmb.zh.base.BaseActivity;
import com.cmb.zh.base.navigation.NavBarLayout;
import com.cmb.zh.chatdetail.group.GroupListActivity;
import com.cmb.zh.chatdetail.publicaccount.PublicAccountListActivity;
import com.cmb.zh.session.find.views.CycleViewPager;
import com.cmb.zh.session.find.views.CycleViewPager.ImageCycleViewListener;
import com.cmb.zh.session.find.views.ViewFactory;
import com.cmb.zh.setting.spaceclean.ActSpaceClean;
import com.cmb.zh.stat.StatClicks;
import com.cmb.zh.stat.StatClicks.IAddStat;
import com.cmb.zh.webview.CommonWebViewActivity;
import com.feinno.teatalk.application.RCSAppContext;
import com.feinno.teatalk.config.Const;
import com.feinno.teatalk.config.Events;
import com.feinno.teatalk.database.dao.UserAccountDAO;
import com.feinno.teatalk.model.FindPagePicUrl;
import com.feinno.teatalk.settings.CommonSetting;
import com.feinno.teatalkavsdk.zhaohang.FindPageAuthorize;
import com.feinno.teatalkavsdk.zhaohang.FindPageAuthorize.FindPageAuthorizeResult;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.mb.zhaohusdk.R;
import com.mb.zhaohusdk.SDKApi;
import com.statistics.model.StatBean;


public class DiscoveryActivity extends BaseActivity {


private RelativeLayout mDiscoverGroupRel;// 羣組
private RelativeLayout mDiscoverPublicRel;// 訂閱號
private RelativeLayout mDiscoverFavoriteRel;// 收藏
private RelativeLayout mDiscoverCleanRel;// 清空
private CycleViewPager cycleViewPager;
private ImageView mImageFail;
private List<FindPagePicUrl> picInfos = null;
private String mUrl;
private byte[] mAuthorize;
private SharePreferenceUtil preferenceUtil;
private List<ImageView> views = new ArrayList<ImageView>();// 輪播圖image集合
private Context context;


@Override
protected int getLayoutId() {
return R.layout.act_session_discover;
}


@Override
protected void initTitle(NavBarLayout navBarLayout) {
navBarLayout.setTitle(R.string.find);
navBarLayout.setHomeAsUp(this);
}


@Override
protected void findViewById() {
cycleViewPager = (CycleViewPager) getSupportFragmentManager()
.findFragmentById(R.id.fragment_cycle_viewpager_content);
mImageFail = (ImageView) this.findViewById(R.id.image_failed);
mDiscoverGroupRel = (RelativeLayout) this
.findViewById(R.id.discover_grouplist_panel);
mDiscoverPublicRel = (RelativeLayout) this
.findViewById(R.id.discover_puliclist_panel);
mDiscoverFavoriteRel = (RelativeLayout) this
.findViewById(R.id.discover_favoritelist_panel);
mDiscoverCleanRel = (RelativeLayout) this
.findViewById(R.id.discover_cleanlist_panel);


// mDiscoverGroupRel.setOnClickListener(this);
final Bundle bundle = new Bundle();
bundle.putString("curpage", Events.FindPage.groupItemClick.categoryId());
bundle.putString("nextpage",
Events.GroupListPage.groupListClick.categoryId());
bundle.putString("eventid", Events.FindPage.groupItemClick.toString());
bundle.putInt("messagetype", StatClicks.TYPE_DEFAULT);
StatClicks.inst().PageOnClick(mDiscoverGroupRel, groupCilck,
new IAddStat() {
public void addStat() {
StatClicks.inst().saveStatDatas(bundle);
};
});
// mDiscoverPublicRel.setOnClickListener(this);
final Bundle bundleP = new Bundle();
bundleP.putString("curpage",
Events.FindPage.publicItemClick.categoryId());
bundleP.putString("nextpage",
Events.MyPublicListPage.publicListClick.categoryId());
bundleP.putString("eventid", Events.FindPage.publicItemClick.toString());
bundle.putInt("messagetype", StatClicks.TYPE_DEFAULT);
StatClicks.inst().PageOnClick(mDiscoverPublicRel, publicCilck,
new IAddStat() {


@Override
public void addStat() {
// TODO Auto-generated method stub
StatClicks.inst().saveStatDatas(bundleP);
}
});
final Bundle bundleC = new Bundle();
bundleC.putString("curpage",
Events.FindPage.collectionItem.categoryId());
bundleC.putString("nextpage",
Events.CollectionPage.searchClick.categoryId());
bundleC.putString("eventid", Events.FindPage.collectionItem.toString());
bundle.putInt("messagetype", StatClicks.TYPE_DEFAULT);
StatClicks.inst().PageOnClick(mDiscoverFavoriteRel, favoriteCilck,
new IAddStat() {


@Override
public void addStat() {
StatClicks.inst().saveStatDatas(bundleC);
}
});
mDiscoverCleanRel.setOnClickListener(SpaceCleanCilck);
};


@Override
protected void initData(Bundle savedInstanceState) {
context = this;
preferenceUtil = new SharePreferenceUtil(DiscoveryActivity.this,
Const.Find.BANNER_DATA);
String data = preferenceUtil.getStringValue(Const.Find.PIC_INFO, "");
if (data != null && !data.equals("")) {
Gson gson = new Gson();
try {
picInfos = gson.fromJson(data,
new TypeToken<List<FindPagePicUrl>>() {
}.getType());


if (picInfos != null && picInfos.size() > 0) {
mImageFail.setVisibility(View.GONE);
FindPagePicUrl picInfo;// 記錄臨時中間值
for (int i = 0; i < picInfos.size() - 1; i++) {
for (int j = i + 1; j < picInfos.size(); j++) {
if (picInfos.get(i).getC_index() > picInfos.get(j)
.getC_index()) { // 交換兩數的位置
picInfo = picInfos.get(i);
picInfos.set(i, picInfos.get(j));
picInfos.set(j, picInfo);
}
}
}
setData(picInfos);
}
} catch (Exception e) {
preferenceUtil.writeStringValue(Const.Find.PIC_INFO, "");

}
}


CommonSetting common = RCSAppContext.getInstance().getSettingManager()
.getCommonSetting();
mUrl = common.getScrollContentsUrl();
long userID = RCSAppContext.getInstance().mAccount.userId;
String channel = UserAccountDAO.getChannelID();
String loginKey = RCSAppContext.getInstance().getSettingManager()
.getCommonSetting().getLoginKey();
if (channel.equals("2")) {
channel = "1000";
loginKey = "MTAwMDozMzIwNzg0MzA6OERCMDk0NkYtMjVFMi00Q0Q0LTk0RTUtMTg0Q0Y4NjFCOTk1OnNpZ25hdHVyZT04ZTU3ZjAwMzYzNWQyMWIyZTM5ZDhkNjljMjU1NGI4YWU2NDg2YjNiMTdiN2QyMDRkNjFiMDE5MDM4ZjQzYjkzZjcyM2JkNmM3OThmMjNlMzJiNTliNDVjMDdjMzJiMmYxY2M5MzY3ZDY3NzhiMTQ5NjIzY2VkOTk4Yjg1OWNjNDI5OTVjOTkwMzk3OTVhNmY1Yzg3ZjRhZjk2NWZmZDg2MGU4Y2M3YjNkYTM1YjVlZDI2YjliNmQ3Y2Q0NzJhM2Y0YjFmYmFlNjgzZWIwMGIwMmZlMGJhZmI4MDkxMDNkOWM1ZTA4NGI0MjZhOTU1NWNjOGM1MDBhMGNkMDhlZDlj";
}
JSONObject jsonParam = new JSONObject();
try {
jsonParam.put("id", userID);
jsonParam.put("channelid", channel);
jsonParam.put("code", loginKey);
} catch (JSONException e) {
e.printStackTrace();
}


mAuthorize = jsonParam.toString().getBytes();
new Thread() {


@Override
public void run() {
// TODO Auto-generated method stub
super.run();
FindAuthorized(mUrl, mAuthorize);
}


}.start();
}


@Override
protected boolean registerReceiver() {
return false;
}


@Override
protected void setBroadcaseFilter(IntentFilter filter) {


}


private OnClickListener groupCilck = new OnClickListener() {


@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent(context, GroupListActivity.class));
}
};
private OnClickListener publicCilck = new OnClickListener() {


@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent(context, PublicAccountListActivity.class));
}
};
private OnClickListener favoriteCilck = new OnClickListener() {


@Override
public void onClick(View v) {
// TODO Auto-generated method stub
SDKApi.inst().intoFavoriteMessages(context);
}
};
private OnClickListener SpaceCleanCilck = new OnClickListener() {


@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent(context, ActSpaceClean.class));
}
};


private Handler handler = new Handler();


// 鑑權
private void FindAuthorized(final String url, final byte[] data) {
FindPageAuthorize pageAuthorize = new FindPageAuthorize(
DiscoveryActivity.this);
picInfos = null;
pageAuthorize.request(url, data, new FindPageAuthorizeResult() {


@Override
public void onSuc(final List<FindPagePicUrl> data) {
picInfos = data;
handler.post(new Runnable() {
public void run() {
if (picInfos.size() > 0) {


mImageFail.setVisibility(View.GONE);
setData(picInfos);
} else {
mImageFail.setVisibility(View.VISIBLE);
}
}
});
}
});
}


// 賦值
private void setData(List<FindPagePicUrl> data) {
boolean isCycle = false;
isCycle = data.size() > 1;
// 設置循環,在調用setData方法前調用
cycleViewPager.setCycle(data.size() > 1);
cycleViewPager.setCycle(isCycle);
// 設置輪播
cycleViewPager.setWheel(data.size() > 1);
cycleViewPager.setWheel(isCycle);
views.clear();
// 將最後一個ImageView添加進來
if (isCycle)
views.add(ViewFactory.getImageView(this, data.get(data.size() - 1)
.getC_pic_url()));
for (int i = 0; i < data.size(); i++) {
views.add(ViewFactory
.getImageView(this, data.get(i).getC_pic_url()));
}
// 將第一個ImageView添加進來
if (isCycle)
views.add(ViewFactory
.getImageView(this, data.get(0).getC_pic_url()));
// 在加載數據前設置是否循環
cycleViewPager.setData(views, data, mAdCycleViewListener);


// 設置輪播時間,默認2000ms
cycleViewPager.setTime(2000);
// 設置圓點指示圖標組居中顯示,默認靠右
cycleViewPager.setIndicatorCenter();
}


private ImageCycleViewListener mAdCycleViewListener = new ImageCycleViewListener() {


@Override
public void onImageClick(FindPagePicUrl info, int postion,
View imageView) {
Intent intent = new Intent();
intent.putExtra(Const.BUNDLE_KEY.TITLE, info.getC_title());
intent.putExtra(Const.BUNDLE_KEY.URL, info.getC_link_url());
intent.setClass(DiscoveryActivity.this, CommonWebViewActivity.class);
startActivity(intent);
final Bundle bundle = new Bundle();
bundle.putString("curpage",
Events.FindPage.bannerClick.categoryId());
bundle.putString("nextpage",
Events.CommonWebviewPage.searchClick.categoryId());
bundle.putString("eventid", Events.FindPage.bannerClick.toString());
bundle.putInt("messagetype", StatClicks.TYPE_DEFAULT);
StatClicks.inst().saveStatDatas(bundle);
}


};


}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章