package com.wuxiaolong.wochat.leancloud;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import com.wuxiaolong.wochat.util.AppConstant;
import com.wuxiaolong.wochat.ui.chat.ChatRoomActivity;
import com.wuxiaolong.wochat.ui.LoginActivity;
/**
* Created by wli on 15/9/8.
* 因为 notification 点击时,控制权不在 app,此时如果 app 被 kill 或者上下文改变后,
* 有可能对 notification 的响应会做相应的变化,所以此处将所有 notification 都发送至此类,
* 然后由此类做分发。
*/
public class NotificationBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.e("wxl", "NotificationBroadcastReceiver onReceive");
// if (ChatManager.getInstance().getImClient() == null) {
// gotoLoginActivity(context);
// } else {
// String conversationId = intent.getStringExtra(AppConstant.CONVERSATION_ID);
// Log.e("wxl", "NotificationBroadcastReceiver conversationId=" + conversationId);
// if (!TextUtils.isEmpty(conversationId)) {
//// if (AppConstant.SQUARE_CONVERSATION_ID.equals(conversationId)) {
// gotoChatRoomActivity(context, intent);
//// } else {
//// gotoSingleChatActivity(context, intent);
//// }
// }
// }
}
/**
* 如果 app 上下文已经缺失,则跳转到登陆页面,走重新登陆的流程
*
* @param context
*/
private void gotoLoginActivity(Context context) {
Intent startActivityIntent = new Intent(context, LoginActivity.class);
startActivityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(startActivityIntent);
}
/**
* 跳转至广场页面
*
* @param context
* @param intent
*/
private void gotoChatRoomActivity(Context context, Intent intent) {
Intent startActivityIntent = new Intent(context, ChatRoomActivity.class);
startActivityIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivityIntent.putExtra(AppConstant.CONVERSATION_ID, intent.getStringExtra(AppConstant.CONVERSATION_ID));
startActivityIntent.putExtra(AppConstant.ACTIVITY_TITLE, intent.getStringExtra(AppConstant.ACTIVITY_TITLE));
context.startActivity(startActivityIntent);
}
/**
* 跳转至单聊页面
*
* @param context
* @param intent
*/
private void gotoSingleChatActivity(Context context, Intent intent) {
// Intent startActivityIntent = new Intent(context, AVSingleChatActivity.class);
// startActivityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// startActivityIntent.putExtra(Constants.MEMBER_ID, intent.getStringExtra(Constants.MEMBER_ID));
// context.startActivity(startActivityIntent);
}
}