forked from github/jpush-phonegap-plugin
157 lines
4.4 KiB
Java
157 lines
4.4 KiB
Java
![]() |
package cn.jiguang.cordova.push;
|
||
|
|
||
|
import android.content.Context;
|
||
|
import android.text.TextUtils;
|
||
|
import android.util.Log;
|
||
|
|
||
|
import org.apache.cordova.CallbackContext;
|
||
|
import org.json.JSONArray;
|
||
|
import org.json.JSONException;
|
||
|
import org.json.JSONObject;
|
||
|
|
||
|
import java.util.Set;
|
||
|
|
||
|
import cn.jpush.android.api.JPushMessage;
|
||
|
import cn.jpush.android.service.JPushMessageReceiver;
|
||
|
|
||
|
|
||
|
public class JPushEventReceiver extends JPushMessageReceiver {
|
||
|
|
||
|
private static final String TAG = JPushEventReceiver.class.getSimpleName();
|
||
|
|
||
|
@Override
|
||
|
public void onTagOperatorResult(Context context, JPushMessage jPushMessage) {
|
||
|
super.onTagOperatorResult(context, jPushMessage);
|
||
|
|
||
|
JSONObject resultJson = new JSONObject();
|
||
|
|
||
|
int sequence = jPushMessage.getSequence();
|
||
|
try {
|
||
|
resultJson.put("sequence", sequence);
|
||
|
} catch (JSONException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
|
||
|
CallbackContext callback = JPushPlugin.eventCallbackMap.get(sequence);
|
||
|
|
||
|
if (callback == null) {
|
||
|
Log.i(TAG, "Unexpected error, callback is null!");
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (jPushMessage.getErrorCode() == 0) { // success
|
||
|
Set<String> tags = jPushMessage.getTags();
|
||
|
JSONArray tagsJsonArr = new JSONArray();
|
||
|
for (String tag : tags) {
|
||
|
tagsJsonArr.put(tag);
|
||
|
}
|
||
|
|
||
|
try {
|
||
|
if (tagsJsonArr.length() != 0) {
|
||
|
resultJson.put("tags", tagsJsonArr);
|
||
|
}
|
||
|
} catch (JSONException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
|
||
|
callback.success(resultJson);
|
||
|
|
||
|
} else {
|
||
|
try {
|
||
|
resultJson.put("errorCode", jPushMessage.getErrorCode());
|
||
|
} catch (JSONException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
|
||
|
callback.error(resultJson);
|
||
|
}
|
||
|
|
||
|
JPushPlugin.eventCallbackMap.remove(sequence);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void onCheckTagOperatorResult(Context context, JPushMessage jPushMessage) {
|
||
|
super.onCheckTagOperatorResult(context, jPushMessage);
|
||
|
|
||
|
JSONObject resultJson = new JSONObject();
|
||
|
|
||
|
int sequence = jPushMessage.getSequence();
|
||
|
try {
|
||
|
resultJson.put("sequence", sequence);
|
||
|
} catch (JSONException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
|
||
|
CallbackContext callback = JPushPlugin.eventCallbackMap.get(sequence);
|
||
|
|
||
|
if (callback == null) {
|
||
|
Log.i(TAG, "Unexpected error, callback is null!");
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (jPushMessage.getErrorCode() == 0) {
|
||
|
try {
|
||
|
resultJson.put("tag", jPushMessage.getCheckTag());
|
||
|
resultJson.put("checkResult", jPushMessage.getTagCheckStateResult());
|
||
|
} catch (JSONException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
|
||
|
} else {
|
||
|
try {
|
||
|
resultJson.put("errorCode", jPushMessage.getErrorCode());
|
||
|
} catch (JSONException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
|
||
|
callback.error(resultJson);
|
||
|
}
|
||
|
|
||
|
JPushPlugin.eventCallbackMap.remove(sequence);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) {
|
||
|
super.onAliasOperatorResult(context, jPushMessage);
|
||
|
|
||
|
JSONObject resultJson = new JSONObject();
|
||
|
|
||
|
int sequence = jPushMessage.getSequence();
|
||
|
try {
|
||
|
resultJson.put("sequence", sequence);
|
||
|
} catch (JSONException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
|
||
|
CallbackContext callback = JPushPlugin.eventCallbackMap.get(sequence);
|
||
|
|
||
|
if (callback == null) {
|
||
|
Log.i(TAG, "Unexpected error, callback is null!");
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (jPushMessage.getErrorCode() == 0) { // success
|
||
|
try {
|
||
|
if (!TextUtils.isEmpty(jPushMessage.getAlias())) {
|
||
|
resultJson.put("alias", jPushMessage.getAlias());
|
||
|
}
|
||
|
} catch (JSONException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
|
||
|
callback.success(resultJson);
|
||
|
|
||
|
} else {
|
||
|
try {
|
||
|
resultJson.put("errorCode", jPushMessage.getErrorCode());
|
||
|
} catch (JSONException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
|
||
|
callback.error(resultJson);
|
||
|
}
|
||
|
|
||
|
JPushPlugin.eventCallbackMap.remove(sequence);
|
||
|
}
|
||
|
}
|