和通讯录 v4.2.0版本的 MD5 值为:f213fa766dccbfebde0dd8add5534518

以下内容为反编译后的 p.java 源代码,内容仅作参考


package com.cmcc.aoe.h.a;

import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.net.wifi.WifiManager;
import android.os.SystemClock;
import android.text.TextUtils;
import com.chinamobile.contacts.im.view.actionbar.IcloudActionBar;
import com.cmcc.aoe.ds.AoiPushSetting;
import com.cmcc.aoe.util.Log;
import com.leadtone.gegw.aoi.protocol.AbstractAoiMessage;
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;
import java.sql.Timestamp;

public final class p implements com.cmcc.aoe.ds.h {

    private Context f4199a;

    private a f4200b;
    private d c;
    private PendingIntent d;

    public p(Context context) {
        this.f4199a = null;
        this.f4199a = context;
        this.f4200b = new a(context);
    }

    @Override
    public final void a(com.cmcc.aoe.ds.d dVar) {
        String str;
        int a2 = dVar.a();
        if (a2 == com.cmcc.aoe.ds.f.f4149b) {
            if (dVar.b() != com.cmcc.aoe.ds.a.NETWORK_AVAILABLE) {
                Log.showTestInfo("StatusMachineChecker", "AoeState BusinessState:" + dVar.b());
            }
            com.cmcc.aoe.ds.a b2 = dVar.b();
            Log.showTestInfo("StatusMachineChecker", "process BusinessStatus>>>" + b2);
            switch (q.c[b2.ordinal()]) {
                case 1:
                    if (com.cmcc.aoe.util.i.a(this.f4199a)) {
                        com.cmcc.aoe.ds.n.f4159a.a(com.cmcc.aoe.ds.a.NETWORK_AVAILABLE);
                        return;
                    } else {
                        com.cmcc.aoe.ds.n.f4159a.a(com.cmcc.aoe.ds.a.NETWORK_NOT_AVAILABLE);
                        return;
                    }
                case 2:
                    if (TextUtils.isEmpty(AoiPushSetting.readLid(this.f4199a))) {
                        Context context = this.f4199a;
                        if (com.cmcc.aoe.util.e.a(context) != null) {
                            String str2 = com.cmcc.aoe.util.e.a(context) + System.currentTimeMillis();
                            str = "";
                            if (str2 != null) {
                                str = com.cmcc.aoe.util.k.a(str2);
                            }
                        } else {
                            if (((WifiManager) context.getSystemService("wifi")) != null) {
                                String str3 = com.cmcc.aoe.util.q.a(context) != null ? com.cmcc.aoe.util.q.a(context) + new Timestamp(System.currentTimeMillis()).toString() : null;
                                str = str3 != null ? com.cmcc.aoe.util.k.a(str3) : "";
                            } else {
                                str = null;
                            }
                        }
                        AoiPushSetting.updateLid(str, this.f4199a);
                    }
                    if (TextUtils.isEmpty(AoiPushSetting.readAOPVersion(this.f4199a))) {
                        AoiPushSetting.updateAOPVersion(AbstractAoiMessage.DEFAULT_VERSION, this.f4199a);
                    }
                    e();
                    com.cmcc.aoe.ds.j readAoiGwInfo = AoiPushSetting.readAoiGwInfo(this.f4199a);
                    if (readAoiGwInfo == null) {
                        Log.showTestInfo("StatusMachineChecker", "DNS info is null,reging dns");
                    } else {
                        Log.showTestInfo("StatusMachineChecker", "AOP Version is:AOP/2.0, AOE SDK version is:1.2.2");
                        if (AbstractAoiMessage.DEFAULT_VERSION.equals(AoiPushSetting.readAOPVersion(this.f4199a)) || readAoiGwInfo == null) {
                            String str4 = readAoiGwInfo.f4154a;
                            int i = readAoiGwInfo.f4155b;
                            if (!TextUtils.isEmpty(AoiPushSetting.readAoiGwPasskey(this.f4199a))) {
                                if (TextUtils.isEmpty(str4) ? false : str4.equals("aoiserver.8008109939.cn")) {
                                    com.cmcc.aoe.ds.n.f4159a.a(com.cmcc.aoe.ds.a.AOI_GW_REGING);
                                    return;
                                }
                            }
                            if ((TextUtils.isEmpty(str4) ? false : str4.equals("aoiserver.8008109939.cn")) && i != 0) {
                                com.cmcc.aoe.ds.n.f4159a.a(com.cmcc.aoe.ds.a.AOI_PASSKEY_GETTING);
                                return;
                            }
                        } else {
                            AoiPushSetting.updateAOPVersion(AbstractAoiMessage.DEFAULT_VERSION, this.f4199a);
                            Log.showTestInfo("StatusMachineChecker", "AOP Version is Change!");
                        }
                    }
                    com.cmcc.aoe.ds.n.f4159a.a(com.cmcc.aoe.ds.a.AOI_DNS_REGING);
                    return;
                case 3:
                    a(com.cmcc.aoe.b.d.DNS.e);
                    return;
                case 4:
                    a(com.cmcc.aoe.ds.a.AOI_PASSKEY_GETTING);
                    return;
                case 5:
                case 6:
                    b(com.cmcc.aoe.ds.a.AOI_DNS_REGING);
                    return;
                case 7:
                    a(com.cmcc.aoe.b.d.PASS.e);
                    return;
                case 8:
                    a(com.cmcc.aoe.ds.a.AOI_GW_REGING);
                    return;
                case 9:
                case 10:
                    b(com.cmcc.aoe.ds.a.AOI_PASSKEY_GETTING);
                    return;
                case 11:
                    a(com.cmcc.aoe.b.d.LONG.e);
                    return;
                case 12:
                    e();
                    c();
                    if (this.f4200b != null) {
                        this.f4200b.d();
                    }
                    if (this.c == null) {
                        this.c = new d(this.f4200b.a());
                    }
                    this.c.start();
                    return;
                case 13:
                    b(com.cmcc.aoe.ds.a.AOI_GW_REGING);
                    return;
                case 14:
                case 15:
                case 16:
                case 17:
                default:
                    return;
                case 18:
                    c();
                    d();
                    if (this.f4200b != null) {
                        this.f4200b.c();
                        return;
                    }
                    return;
            }
        }
        if (a2 == com.cmcc.aoe.ds.f.c) {
            Log.showTestInfo("StatusMachineChecker", "AoeState SocketState is:" + dVar.c());
            if (dVar.c() == com.cmcc.aoe.ds.c.AOE_SOCK_DISCONNECTED) {
                Log.showTestInfo("StatusMachineChecker", "AoeState AOE_SOCK_DISCONNECTED reason:" + dVar.d());
            }
            com.cmcc.aoe.ds.c c = dVar.c();
            com.cmcc.aoe.ds.a b3 = dVar.b();
            com.cmcc.aoe.ds.b d = dVar.d();
            switch (q.f4202b[c.ordinal()]) {
                case 1:
                case 2:
                default:
                    return;
                case 3:
                    switch (q.f4201a[d.ordinal()]) {
                        case 1:
                        case 2:
                        case 3:
                        case 4:
                        case 5:
                            if (b3 == com.cmcc.aoe.ds.a.AOI_GW_DATA_CONNECTION_OPEN || b3 == com.cmcc.aoe.ds.a.NETWORK_AVAILABLE) {
                                com.cmcc.aoe.ds.n.f4159a.a(com.cmcc.aoe.ds.a.AOI_GW_REG_TIMEOUT);
                                g.f.h.c();
                                return;
                            } else if (b3 == com.cmcc.aoe.ds.a.AOI_GW_REGING) {
                                com.cmcc.aoe.ds.n.f4159a.a(com.cmcc.aoe.ds.a.AOI_GW_REG_TIMEOUT);
                                return;
                            } else if (b3 == com.cmcc.aoe.ds.a.AOI_PASSKEY_GETTING) {
                                com.cmcc.aoe.ds.n.f4159a.a(com.cmcc.aoe.ds.a.AOI_PASSKEY_GET_TIMEOUT);
                                return;
                            } else {
                                if (b3 == com.cmcc.aoe.ds.a.AOI_DNS_REGING) {
                                    com.cmcc.aoe.ds.n.f4159a.a(com.cmcc.aoe.ds.a.AOI_DNS_REG_TIMEOUT);
                                    return;
                                }
                                return;
                            }
                        case 6:
                            com.cmcc.aoe.ds.n.f4159a.a(com.cmcc.aoe.ds.a.NETWORK_NOT_AVAILABLE);
                            return;
                        case 7:
                            com.cmcc.aoe.ds.n.f4159a.a(com.cmcc.aoe.ds.a.AOI_DNS_REGING);
                            return;
                        default:
                            return;
                    }
            }
        }
    }

    private void a(int i) {
        String str;
        int intValue;
        e();
        if (this.f4200b == null) {
            Log.showTestInfo("StatusMachineChecker", "Reg DNS is null");
            return;
        }
        Log.showTestInfo("StatusMachineChecker", "Reging type is " + com.cmcc.aoe.b.d.a(i));
        a aVar = this.f4200b;
        if (aVar.c == i) {
            Log.showTestInfo("AOEConnetionManager", "retry");
        } else {
            aVar.c();
        }
        aVar.c = i;
        if (aVar.f4178b == null) {
            aVar.f4178b = aVar.a(aVar.c);
        }
        int i2 = aVar.c;
        c cVar = new c(aVar, (byte) 0);
        switch (com.cmcc.aoe.b.d.a(i2)) {
            case DNS:
                switch (com.cmcc.aoe.util.b.f4215a[com.cmcc.aoe.b.a.f4094a - 1]) {
                    case 1:
                        str = "211.151.48.102";
                        break;
                    case 2:
                        str = "aoi.8008109939.cn";
                        break;
                    case 3:
                        str = "aoitest.8008109939.cn";
                        break;
                    case 4:
                        str = "192.168.6.187";
                        break;
                    case 5:
                        str = "aoidns.8008109939.cn";
                        break;
                    default:
                        str = "211.151.48.102";
                        break;
                }
                cVar.f4180a = str;
                switch (com.cmcc.aoe.util.b.f4215a[com.cmcc.aoe.b.a.f4094a - 1]) {
                    case 1:
                        intValue = com.cmcc.aoe.b.c.e.intValue();
                        break;
                    case 2:
                        intValue = com.cmcc.aoe.b.c.d.intValue();
                        break;
                    case 3:
                        intValue = com.cmcc.aoe.b.c.c.intValue();
                        break;
                    case 4:
                        intValue = com.cmcc.aoe.b.c.f.intValue();
                        break;
                    case 5:
                        intValue = com.cmcc.aoe.b.c.f4098b.intValue();
                        break;
                    default:
                        intValue = com.cmcc.aoe.b.c.e.intValue();
                        break;
                }
                cVar.f4181b = intValue;
                Log.showTestInfo("AOEConnetionManager", "DNS is:" + cVar.toString());
                break;
            case PASS:
                com.cmcc.aoe.ds.j readAoiGwInfo = AoiPushSetting.readAoiGwInfo(aVar.f4177a);
                cVar.f4180a = readAoiGwInfo.f4154a;
                cVar.f4181b = readAoiGwInfo.c;
                Log.showTestInfo("AOEConnetionManager", "SSL is:" + cVar.toString());
                break;
            case LONG:
                com.cmcc.aoe.ds.j readAoiGwInfo2 = AoiPushSetting.readAoiGwInfo(aVar.f4177a);
                cVar.f4180a = readAoiGwInfo2.f4154a;
                cVar.f4181b = readAoiGwInfo2.f4155b;
                Log.showTestInfo("AOEConnetionManager", "PUSHLONG is:" + cVar.toString());
                break;
        }
        aVar.f4178b.a(cVar.f4180a, cVar.f4181b);
    }

    private void a(com.cmcc.aoe.ds.a aVar) {
        e();
        if (this.f4200b != null) {
            this.f4200b.c();
        }
        com.cmcc.aoe.ds.n.f4159a.a(aVar);
    }

    private void b(com.cmcc.aoe.ds.a aVar) {
        a aVar2 = this.f4200b;
        int andIncrement = aVar2.f4178b == null ? 0 : aVar2.d.getAndIncrement();
        Log.showTestInfo("StatusMachineChecker", "state is " + aVar + ",maxRetry is 3,count:" + andIncrement);
        if (andIncrement >= 3) {
            if (this.f4200b != null) {
                this.f4200b.c();
            }
            d();
            return;
        }
        if (this.f4200b != null) {
            this.f4200b.b();
        }
        try {
            Thread.sleep((andIncrement + 1) * BaseImageDownloader.DEFAULT_HTTP_CONNECT_TIMEOUT);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        if (com.cmcc.aoe.util.i.a(this.f4199a)) {
            com.cmcc.aoe.ds.n.f4159a.a(aVar);
        } else {
            com.cmcc.aoe.ds.n.f4159a.a(com.cmcc.aoe.ds.a.NETWORK_NOT_AVAILABLE);
        }
    }

    public final e a() {
        try {
            if (this.f4200b != null) {
                return this.f4200b.a();
            }
            return null;
        } catch (Exception e) {
            return null;
        }
    }

    private void c() {
        if (this.c != null) {
            this.c.f4182a = false;
            this.c = null;
        }
    }

    private void d() {
        Log.showTestInfo("StatusMachineChecker", "IPPush reg fail,set sleep time delay");
        e();
        Intent intent = new Intent("com.leadtone.aoe.nocard.sleep");
        intent.putExtra("com.leadtone.aoe.nocard.sleep", com.cmcc.aoe.util.o.c(this.f4199a));
        this.d = PendingIntent.getBroadcast(this.f4199a.getApplicationContext(), IcloudActionBar.ID_DISPLAY_AS_UP_BTN_ACTION, intent, 268435456);
        AlarmManager alarmManager = (AlarmManager) this.f4199a.getSystemService("alarm");
        alarmManager.cancel(this.d);
        alarmManager.set(2, SystemClock.elapsedRealtime() + 600000, this.d);
    }

    private void e() {
        ((AlarmManager) this.f4199a.getSystemService("alarm")).cancel(this.d);
    }

    public final void b() {
        e();
        c();
        if (this.f4200b != null) {
            this.f4200b.c();
            this.f4200b = null;
        }
    }
}