VegeFruits v7.1版本的 MD5 值为:2ff167dfba698c783e879938fe00b9ce

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


package com.amazon.android.framework.prompt;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import com.amazon.android.framework.context.ContextManager;
import com.amazon.android.framework.resource.Resource;
import com.amazon.android.framework.util.KiwiLogger;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Locale;

public final class e extends SimplePrompt implements com.amazon.android.framework.resource.b {
    private static final KiwiLogger a = new KiwiLogger("ShutdownPrompt");

    @Resource
    private ContextManager b;

    @Resource
    private com.amazon.android.n.a c;

    public e(PromptContent promptContent) {
        super(promptContent, b.EXTENDED);
        a.trace("new ShutdownPrompt called!");
    }

    private final Intent a(Context context) {
        String simOperator;
        String packageName = context.getPackageName();
        StringBuilder sb = new StringBuilder("https://www.amazon.com/appstore-error-help");
        PackageManager packageManager = context.getPackageManager();
        a(sb, "?k=", "1.1");
        a(sb, "&m=", this.content.getTitle());
        a(sb, "&ec=", String.valueOf(this.content.getErrorCode()));
        String str = (String) this.c.a("PACKAGE");
        if (str != null) {
            a(sb, "&t=", str);
            a(sb, "&tv=", str, packageManager);
        }
        String str2 = (String) this.c.a("COMMAND");
        if (str2 != null) {
            a(sb, "&c=", str2);
        }
        String str3 = (String) this.c.a("LICENSE_FAILURE_RAW_EXCEPTION");
        if (str3 != null) {
            a(sb, "&e=", str3);
        }
        String str4 = Build.PRODUCT;
        if (str4 != null) {
            a(sb, "&d=", str4);
        }
        String str5 = Build.MANUFACTURER;
        if (str5 != null) {
            a(sb, "&ma=", str5);
        }
        String str6 = Build.MODEL;
        if (str6 != null) {
            a(sb, "&mo=", str6);
        }
        String str7 = Build.ID;
        if (str7 != null) {
            a(sb, "&bn=", str7);
        }
        a(sb, "&sz=", String.valueOf(context.getResources().getConfiguration().screenLayout & 15));
        a(sb, "&s=", String.valueOf(Build.VERSION.SDK_INT));
        a(sb, "&p=", packageName);
        a(sb, "&pv=", packageName, packageManager);
        a(sb, "&l=", Locale.getDefault().getLanguage() + "_" + Locale.getDefault().getCountry());
        TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService("phone");
        if (telephonyManager == null) {
            a.trace("tm was null!");
            simOperator = null;
        } else {
            a.trace("tm was not null.");
            int simState = telephonyManager.getSimState();
            if (simState != 5) {
                a.trace("SIM not ready, returning null.  State was " + simState);
                simOperator = null;
            } else {
                simOperator = telephonyManager.getSimOperator();
            }
        }
        if (!TextUtils.isEmpty(simOperator)) {
            a(sb, "&mc=", simOperator);
        }
        String sb2 = sb.toString();
        a.trace("Starting browser for uri " + sb2);
        return new Intent("android.intent.action.VIEW", Uri.parse(sb2));
    }

    private static Intent a(Context context, String str) {
        return new Intent("android.intent.action.VIEW", Uri.parse("amzn://apps/android?p=" + context.getPackageName() + "&ref=" + str));
    }

    private void a(Context context, Intent intent) {
        if (b(context, intent)) {
            new g(context, this.b).execute(intent);
        } else {
            a.error("Could not start activity, nothing resolves for the given data.");
            b();
        }
    }

    private static void a(StringBuilder sb, String str, String str2) {
        try {
            String encode = URLEncoder.encode(str2, "UTF-8");
            sb.append(str);
            sb.append(encode);
        } catch (UnsupportedEncodingException e) {
            a.error("Failed to URL-encode argument", e);
        }
    }

    private static void a(StringBuilder sb, String str, String str2, PackageManager packageManager) {
        try {
            a(sb, str, String.valueOf(packageManager.getPackageInfo(str2, 0).versionCode));
        } catch (PackageManager.NameNotFoundException e) {
            a.error("Could not find information for package " + str2);
        }
    }

    public static void b() {
        a.trace("doShutdown()");
        a.test("Killing application");
        System.exit(0);
    }

    private static boolean b(Context context, Intent intent) {
        intent.addFlags(268435456);
        return intent.resolveActivity(context.getPackageManager()) != null;
    }

    @Override
    protected final boolean canHandleAction(a aVar) {
        if (aVar == a.DEFAULT) {
            return true;
        }
        Intent intent = null;
        Activity root = this.b.getRoot();
        if (aVar == a.DEEPLINK) {
            intent = a(root, "badcert");
        } else if (aVar == a.HELP) {
            intent = a(root);
        }
        if (intent != null) {
            return b(root, intent);
        }
        a.error("Unexpected action " + aVar + ", could not create intent.");
        return false;
    }

    @Override
    public final void doAction() {
        doAction(0);
    }

    @Override
    public final void doAction(int i) {
        a.trace("doAction(" + i + ")");
        a[] buttonActions = this.content.getButtonActions();
        a aVar = i < buttonActions.length ? buttonActions[i] : a.DEFAULT;
        if (aVar != a.HELP) {
            if (aVar != a.DEEPLINK) {
                if (aVar == a.DEFAULT) {
                    b();
                    return;
                }
                return;
            } else {
                a.trace("doAction() deeplink");
                a.trace("Attempting to deep link to appstore.");
                Activity root = this.b.getRoot();
                a(root, a(root, "badcert"));
                return;
            }
        }
        a.trace("doAction() help");
        a.trace("Store contains " + this.c.toString());
        if (!this.content.shouldShowFixup()) {
            a.trace("Should not show fixup");
            new p(this.b).execute(new Void[0]);
        } else {
            a.trace("Should show fixup");
            Activity root2 = this.b.getRoot();
            a(root2, a(root2));
            a.trace("Attempted to start browser.");
        }
    }

    @Override
    protected final long getExpirationDurationInSeconds() {
        return 31536000L;
    }

    @Override
    public final void onResourcesPopulatedImpl() {
        this.b.stopServices();
    }

    public final String toString() {
        return "ShutdownPrompt";
    }
}