智能工厂.apk(点击下载) / d.java


package cn.jpush.android.helper;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import cn.jpush.android.api.JPushInterface;
import cn.jpush.android.api.JPushMessage;
import cn.jpush.android.local.JPushConstants;
import cn.jpush.android.r.b;
import cn.jpush.android.u.f;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;

public class d {
    private static ConcurrentLinkedQueue<Long> a = new ConcurrentLinkedQueue<>();
    private static final Object c = new Object();
    private static d d;
    private ConcurrentHashMap<Long, a> b = new ConcurrentHashMap<>();

    private class a {
        public int a;
        public String b;

        public a(int i, String str) {
            this.a = i;
            this.b = str;
        }

        public String toString() {
            return "MobileBean{sequence=" + this.a + ", mobileNumber='" + this.b + '\'' + '}';
        }
    }

    private static int a(long j) {
        if (a.size() >= 3) {
            long longValue = j - a.element().longValue();
            if (longValue < 0) {
                a.clear();
                return 2;
            } else if (longValue <= 10000) {
                return 1;
            } else {
                while (a.size() >= 3) {
                    a.poll();
                }
            }
        }
        a.offer(Long.valueOf(j));
        return 0;
    }

    public static synchronized d a() {
        d dVar;
        synchronized (d.class) {
            if (d == null) {
                synchronized (c) {
                    if (d == null) {
                        d = new d();
                    }
                }
            }
            dVar = d;
        }
        return dVar;
    }

    public JPushMessage a(Context context, Intent intent) {
        Throwable th;
        JPushMessage jPushMessage = null;
        if (intent == null) {
            return null;
        }
        try {
            int intExtra = intent.getIntExtra("sequence", -1);
            int intExtra2 = intent.getIntExtra("code", -1);
            String stringExtra = intent.getStringExtra("mobile");
            JPushMessage jPushMessage2 = new JPushMessage();
            try {
                jPushMessage2.setSequence(intExtra);
                jPushMessage2.setErrorCode(intExtra2);
                jPushMessage2.setMobileNumber(stringExtra);
                return jPushMessage2;
            } catch (Throwable th2) {
                th = th2;
                jPushMessage = jPushMessage2;
                Logger.w("MobileNumberHelper", "parese mobile number response to JPushMessage failed, error:" + th);
                return jPushMessage;
            }
        } catch (Throwable th3) {
            th = th3;
            Logger.w("MobileNumberHelper", "parese mobile number response to JPushMessage failed, error:" + th);
            return jPushMessage;
        }
    }

    public void a(Context context, int i, int i2, String str) {
        try {
            Logger.d("MobileNumberHelper", "Action - onResult,sequence:" + i + ",code:" + i2 + ",mobileNumber:" + str);
            String messageReceiverClass = JPushConstants.getMessageReceiverClass(context);
            Intent intent = new Intent();
            if (!TextUtils.isEmpty(messageReceiverClass)) {
                intent = new Intent(context, Class.forName(messageReceiverClass));
                intent.setAction("mobile_result");
                intent.putExtra("sequence", i);
                intent.putExtra("code", i2);
                intent.putExtra("mobile", str);
            } else {
                Logger.d("MobileNumberHelper", "not found messageReceiver");
            }
            context.sendBroadcast(intent);
        } catch (Throwable th) {
            Logger.ww("MobileNumberHelper", "onResult error:" + th);
        }
    }

    public void a(Context context, int i, String str) {
        Logger.dd("MobileNumberHelper", "action - setMobileNubmer, sequence:" + i + ",mobileNumber:" + str);
        Bundle bundle = new Bundle();
        bundle.putInt("sequence", i);
        bundle.putString("mobile", str);
        JCoreHelper.runActionWithService(context, JPushConstants.SDK_TYPE, "set_mobile", bundle);
    }

    public void a(Context context, long j, int i) {
        if (this.b.size() != 0) {
            a remove = this.b.remove(Long.valueOf(j));
            Logger.d("MobileNumberHelper", "mobileBean:" + remove);
            if (remove != null) {
                if (i == 0) {
                    cn.jpush.android.cache.a.a(context, remove.b);
                } else if (i == 11) {
                    i = JPushInterface.ErrorCode.ERROR_CODE_INTERNEL_SERVER_ERROR;
                } else if (i == 10) {
                    i = JPushInterface.ErrorCode.ERROR_CODE_INVALID_MOBILENUMBER;
                }
                a(context, remove.a, i, remove.b);
                return;
            }
            Logger.d("MobileNumberHelper", "#unexcepted, do not find mobile number request cache");
        }
    }

    public void a(Context context, Bundle bundle) {
        String str;
        String str2;
        if (bundle == null) {
            Logger.ww("MobileNumberHelper", "[setMobileNum] bundle is bull");
            return;
        }
        int i = bundle.getInt("sequence", 0);
        String string = bundle.getString("mobile");
        String e = cn.jpush.android.cache.a.e(context);
        Logger.dd("MobileNumberHelper", "action:setMobileNum sequence:" + i + ",mobileNumber:" + string + ",lastMobileNumber:" + e);
        if (e != null && TextUtils.equals(string, e)) {
            Logger.dd("MobileNumberHelper", "already set this mobile number");
            a(context, i, JPushInterface.ErrorCode.SUCCESS, string);
        } else if (cn.jpush.android.cache.a.b(context) == 1) {
            a(context, i, JPushInterface.ErrorCode.PUSH_STOPED, string);
        } else {
            if (e != null) {
                cn.jpush.android.cache.a.a(context, (String) null);
            }
            int a2 = a(System.currentTimeMillis());
            if (a2 != 0) {
                if (a2 == 1) {
                    str2 = "MobileNumberHelper";
                    str = "set mobile number too soon,over 3 times in 10s";
                } else {
                    str2 = "MobileNumberHelper";
                    str = "set mobile number failed,time shaft error,please try again";
                }
                Logger.w(str2, str);
                a(context, i, a2 == 1 ? JPushInterface.ErrorCode.INVOKE_TOO_SOON : JPushInterface.ErrorCode.INCORRECT_TIME, string);
                return;
            }
            int c2 = f.c(string);
            if (c2 != 0) {
                Logger.dd("MobileNumberHelper", "Invalid mobile number: " + string + ", will not set mobile number this time.");
                a(context, i, c2, string);
                return;
            }
            byte[] a3 = b.a(string);
            long a4 = g.a();
            this.b.put(Long.valueOf(a4), new a(i, string));
            JCoreHelper.sendRequest(context, JPushConstants.SDK_TYPE, 26, 1, a4, 0, a3);
        }
    }
}