package com.sogou.fastomiai; import java.util.HashMap; import java.util.Map; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; import android.widget.TextView; import android.widget.Toast; import com.android.volley.Response; import com.android.volley.VolleyError; import com.sogou.fastomiai.controller.SessionManager; import com.sogou.fastomiai.model.InviteItemInfo; import com.sogou.fastomiai.model.NoticeViewInfo; import com.sogou.fastomiai.util.Constants; import com.sogou.fastomiai.util.NetworkRequest; import com.sogou.fastomiai.util.NetworkUtil; public class NotificationInfoActivity extends FragmentActivity { public static final String EXTRA_NOTICE_ID = "NOTICE_ID"; public static final String EXTRA_INVITE_ID = "INVITE_ID"; private static final int NUM_PAGES = 1; private ViewPager mPager; private PagerAdapter mPagerAdapter; // private TextView mTitle = null; private ImageButton mBtnBack = null; boolean[] mPlaces = {false, false, false, false, false}; private int mNoticeID = -1; private int mInviteID = -1; private InviteItemInfo mInviteInfo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_notification_info); boolean isInvite = false; Intent intent = getIntent(); if (intent != null) { mInviteID = intent.getIntExtra(EXTRA_INVITE_ID, -1); mNoticeID = intent.getIntExtra(EXTRA_NOTICE_ID, -1); } // mTitle = (TextView) findViewById(R.id.text_notification_title); // mTitle.setText(getString(R.string.notification_title) + // "(1/" + NUM_PAGES + ")"); mBtnBack = (ImageButton) findViewById(R.id.btn_notification_back); mBtnBack.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getApplicationContext(), NotificationListActivity.class); startActivity(intent); } }); mPager = (ViewPager) findViewById(R.id.pager); mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager()); mPager.setAdapter(mPagerAdapter); mPager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int arg0) { } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { if (arg0 == ViewPager.SCROLL_STATE_IDLE) { // mTitle.setText(getString(R.string.notification_title) + // "(" + (mPager.getCurrentItem() + 1) + "/" + NUM_PAGES + ")"); } } }); // 获取约会详情 getInviteDetail(); // 通知已读上报 reportNoticeReaded(); } private void getInviteDetail() { SessionManager sm = SessionManager.getInstance(this); String token = sm.getToken(); // 获取约会详情 if (mInviteID != -1) { Map<String, String> params = new HashMap<String, String>(); params.put(Constants.TOKEN, token); params.put(Constants.ID, String.valueOf(mInviteID)); String url = NetworkUtil.getUrl(Constants.INVITE_ITEM_URL, params); NetworkRequest.get(url, InviteItemInfo.class, new Response.Listener<InviteItemInfo>() { @Override public void onResponse(InviteItemInfo inviteItem) { if (inviteItem != null && inviteItem.isSuccess()) { String s = inviteItem.data.pos; for (int i = 0; i < s.length(); i++ ) { mPlaces[i] = s.charAt(i) == '1' ? true : false; } mInviteInfo = inviteItem; } else { Toast.makeText(getApplicationContext(), "获取约会信息出错", Toast.LENGTH_SHORT).show(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(getApplicationContext(), "获取约会信息出错", Toast.LENGTH_SHORT).show(); } }, false); } } private void reportNoticeReaded() { SessionManager sm = SessionManager.getInstance(this); String token = sm.getToken(); Map<String, String> params = new HashMap<String, String>(); params.put(Constants.TOKEN, token); params.put(Constants.ID, String.valueOf(mNoticeID)); String url = NetworkUtil.getUrl(Constants.NOTICE_VIEW_URL, params); NetworkRequest.get(url, NoticeViewInfo.class, new Response.Listener<NoticeViewInfo>() { @Override public void onResponse(NoticeViewInfo authInfo) { } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { } }, false); } public InviteItemInfo getInviteInfo() { return mInviteInfo; } private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter { public ScreenSlidePagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return NotificationInfoFragment.create(getApplicationContext(), position, mPlaces, mInviteID); } @Override public int getCount() { return NUM_PAGES; } } }