package com.xiaomi.mipush.sdk; import android.content.Context; import android.content.SharedPreferences; import android.text.TextUtils; import com.xiaomi.mipush.sdk.b; import com.xiaomi.push.bp; import com.xiaomi.push.ez; import com.xiaomi.push.g; import com.xiaomi.push.hj; import com.xiaomi.push.ht; import com.xiaomi.push.hw; import com.xiaomi.push.hx; import com.xiaomi.push.hz; import com.xiaomi.push.i; import com.xiaomi.push.ii; import com.xiaomi.push.ij; import com.xiaomi.push.ik; import com.xiaomi.push.ip; import com.xiaomi.push.iq; import com.xiaomi.push.it; import com.xiaomi.push.iu; import com.xiaomi.push.l; import com.xiaomi.push.service.aj; import com.xiaomi.push.service.ba; import com.xiaomi.push.service.bo; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; import java.util.Map; public class MiPushClient4Hybrid { private static Map<String, b.a> dataMap = new HashMap(); private static MiPushCallback sCallback; private static Map<String, Long> sRegisterTimeMap = new HashMap(); public static class MiPushCallback { public void onCommandResult(String str, MiPushCommandMessage miPushCommandMessage) { } public void onReceiveRegisterResult(String str, MiPushCommandMessage miPushCommandMessage) { } public void onReceiveUnregisterResult(String str, MiPushCommandMessage miPushCommandMessage) { } } private static void addPullNotificationTime(Context context, String str) { SharedPreferences sharedPreferences = context.getSharedPreferences("mipush_extra", 0); sharedPreferences.edit().putLong("last_pull_notification_" + str, System.currentTimeMillis()).commit(); } private static short getDeviceStatus(MiPushMessage miPushMessage, boolean z) { String str = miPushMessage.getExtra() == null ? "" : miPushMessage.getExtra().get(Constants.EXTRA_KEY_HYBRID_DEVICE_STATUS); int i = 0; if (!TextUtils.isEmpty(str)) { i = Integer.valueOf(str).intValue(); } if (!z) { i = (i & -4) + g.a.NOT_ALLOWED.a(); } return (short) i; } public static boolean isRegistered(Context context, String str) { return b.m9086a(context).a(str) != null; } public static void onReceiveRegisterResult(Context context, ik ikVar) { b.a aVar; String b = ikVar.b(); if (ikVar.a() == 0 && (aVar = dataMap.get(b)) != null) { aVar.a(ikVar.f7336e, ikVar.f7337f); b.m9086a(context).a(b, aVar); } ArrayList arrayList = null; if (!TextUtils.isEmpty(ikVar.f7336e)) { arrayList = new ArrayList(); arrayList.add(ikVar.f7336e); } MiPushCommandMessage generateCommandMessage = PushMessageHelper.generateCommandMessage(ez.COMMAND_REGISTER.f6970a, arrayList, ikVar.f7326a, ikVar.f7335d, null); MiPushCallback miPushCallback = sCallback; if (miPushCallback != null) { miPushCallback.onReceiveRegisterResult(b, generateCommandMessage); } } public static void onReceiveUnregisterResult(Context context, iq iqVar) { MiPushCommandMessage generateCommandMessage = PushMessageHelper.generateCommandMessage(ez.COMMAND_UNREGISTER.f6970a, null, iqVar.f7402a, iqVar.f7410d, null); String a = iqVar.a(); MiPushCallback miPushCallback = sCallback; if (miPushCallback != null) { miPushCallback.onReceiveUnregisterResult(a, generateCommandMessage); } } public static void registerPush(Context context, String str, String str2, String str3) { if (b.m9086a(context).m9091a(str2, str3, str)) { ArrayList arrayList = new ArrayList(); b.a a = b.m9086a(context).a(str); if (a != null) { arrayList.add(a.c); MiPushCommandMessage generateCommandMessage = PushMessageHelper.generateCommandMessage(ez.COMMAND_REGISTER.f6970a, arrayList, 0, null, null); MiPushCallback miPushCallback = sCallback; if (miPushCallback != null) { miPushCallback.onReceiveRegisterResult(str, generateCommandMessage); } } if (shouldPullNotification(context, str)) { ii iiVar = new ii(); iiVar.b(str2); iiVar.c(ht.PullOfflineMessage.f7140a); iiVar.a(ba.a()); iiVar.a(false); ao.a(context).a(iiVar, hj.Notification, false, true, null, false, str, str2); com.xiaomi.channel.commonutils.logger.b.b("MiPushClient4Hybrid pull offline pass through message"); addPullNotificationTime(context, str); return; } return; } long currentTimeMillis = System.currentTimeMillis(); if (Math.abs(currentTimeMillis - (sRegisterTimeMap.get(str) != null ? sRegisterTimeMap.get(str).longValue() : 0)) < 5000) { com.xiaomi.channel.commonutils.logger.b.m9051a("MiPushClient4Hybrid Could not send register message within 5s repeatedly."); return; } sRegisterTimeMap.put(str, Long.valueOf(currentTimeMillis)); String a2 = bp.a(6); b.a aVar = new b.a(context); aVar.c(str2, str3, a2); dataMap.put(str, aVar); ij ijVar = new ij(); ijVar.a(ba.a()); ijVar.b(str2); ijVar.e(str3); ijVar.d(str); ijVar.f(a2); ijVar.c(g.m9381a(context, context.getPackageName())); ijVar.b(g.a(context, context.getPackageName())); ijVar.h("4_5_0"); ijVar.a(40050); ijVar.a(hx.Init); if (!l.m9614d()) { String g = i.g(context); if (!TextUtils.isEmpty(g)) { ijVar.i(bp.a(g)); } } int a3 = i.a(); if (a3 >= 0) { ijVar.c(a3); } ii iiVar2 = new ii(); iiVar2.c(ht.HybridRegister.f7140a); iiVar2.b(b.m9086a(context).m9087a()); iiVar2.d(context.getPackageName()); iiVar2.a(it.a(ijVar)); iiVar2.a(ba.a()); ao.a(context).a(iiVar2, hj.Notification, (hw) null); } public static void removeDuplicateCache(Context context, MiPushMessage miPushMessage) { String str = miPushMessage.getExtra() != null ? miPushMessage.getExtra().get("jobkey") : null; if (TextUtils.isEmpty(str)) { str = miPushMessage.getMessageId(); } am.a(context, str); } public static void reportMessageArrived(Context context, MiPushMessage miPushMessage, boolean z) { if (miPushMessage == null || miPushMessage.getExtra() == null) { com.xiaomi.channel.commonutils.logger.b.m9051a("do not ack message, message is null"); return; } try { hz hzVar = new hz(); hzVar.b(b.m9086a(context).m9087a()); hzVar.a(miPushMessage.getMessageId()); hzVar.a(Long.valueOf(miPushMessage.getExtra().get(Constants.EXTRA_KEY_HYBRID_MESSAGE_TS)).longValue()); hzVar.a(getDeviceStatus(miPushMessage, z)); if (!TextUtils.isEmpty(miPushMessage.getTopic())) { hzVar.c(miPushMessage.getTopic()); } ao.a(context).a((iu) hzVar, hj.AckMessage, false, bo.a(PushMessageHelper.generateMessage(miPushMessage))); com.xiaomi.channel.commonutils.logger.b.b("MiPushClient4Hybrid ack mina message, messageId is " + miPushMessage.getMessageId()); } catch (Throwable th) { com.xiaomi.channel.commonutils.logger.b.a(th); } finally { miPushMessage.getExtra().remove(Constants.EXTRA_KEY_HYBRID_MESSAGE_TS); miPushMessage.getExtra().remove(Constants.EXTRA_KEY_HYBRID_DEVICE_STATUS); } } public static void reportMessageClicked(Context context, MiPushMessage miPushMessage) { MiPushClient.reportMessageClicked(context, miPushMessage); } public static void setCallback(MiPushCallback miPushCallback) { sCallback = miPushCallback; } private static boolean shouldPullNotification(Context context, String str) { SharedPreferences sharedPreferences = context.getSharedPreferences("mipush_extra", 0); StringBuilder sb = new StringBuilder("last_pull_notification_"); sb.append(str); return Math.abs(System.currentTimeMillis() - sharedPreferences.getLong(sb.toString(), -1)) > Constants.ASSEMBLE_PUSH_NETWORK_INTERVAL; } public static void unregisterPush(Context context, String str) { sRegisterTimeMap.remove(str); b.a a = b.m9086a(context).a(str); if (a != null) { ip ipVar = new ip(); ipVar.a(ba.a()); ipVar.d(str); ipVar.b(a.f6710a); ipVar.c(a.c); ipVar.e(a.b); ii iiVar = new ii(); iiVar.c(ht.HybridUnregister.f7140a); iiVar.b(b.m9086a(context).m9087a()); iiVar.d(context.getPackageName()); iiVar.a(it.a(ipVar)); iiVar.a(ba.a()); ao.a(context).a(iiVar, hj.Notification, (hw) null); b.m9086a(context).b(str); } } public static void uploadClearMessageData(Context context, LinkedList<? extends Object> linkedList) { aj.a(context, linkedList); } }