翰林优商.apk(点击下载) / SjmDspAdAppHandler.java


package com.sjm.sjmdsp.adCore.assist.adApp;

import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.text.TextUtils;
import com.sjm.sjmdsp.adCore.assist.SjmDspActivityManager;
import com.sjm.sjmdsp.adCore.assist.SjmDspAdHandler;
import com.sjm.sjmdsp.adCore.assist.adApp.SjmDspAppDownloadHandle;
import com.sjm.sjmdsp.adCore.model.SjmDspAdItemData;
import java.io.File;
import java.util.List;

public class SjmDspAdAppHandler extends SjmDspAdHandler implements SjmDspAppDownloadHandle.DownloadHandleListener {
    private SjmDspAppDownloadHandle downloadHandle;

    @Override // com.sjm.sjmdsp.adCore.assist.SjmDspAdHandler
    public void clickAction() {
    }

    private SjmDspAppDownloadHandle getDownloadHandle() {
        if (this.downloadHandle == null) {
            this.downloadHandle = SjmDspAppDownloadHandleManager.getDownloadHandle(this.adItemData);
        }
        return this.downloadHandle;
    }

    public SjmDspAdAppHandler(SjmDspAdItemData sjmDspAdItemData) {
        super(sjmDspAdItemData);
        updateState();
    }

    public SjmDspAdAppHandler(SjmDspAdItemData sjmDspAdItemData, SjmDspAdHandler.HandlerCallbacks handlerCallbacks) {
        super(sjmDspAdItemData, handlerCallbacks);
        updateState();
    }

    @Override // com.sjm.sjmdsp.adCore.assist.SjmDspAdHandler
    public String getState() {
        if (this.state == null) {
            return "下载";
        }
        return this.state;
    }

    @Override // com.sjm.sjmdsp.adCore.assist.SjmDspAdHandler
    public void clickAction(Activity activity) {
        if (!TextUtils.isEmpty(this.adItemData.adAction.package_name) ? hasInstall(activity, this.adItemData.adAction.package_name) : false) {
            if (!TextUtils.isEmpty(this.adItemData.adAction.schema)) {
                wakeAppBySchema(activity, this.adItemData.adAction.schema);
            } else {
                wakeAppByPackageName(activity, this.adItemData.adAction.package_name);
            }
        } else if (!TextUtils.isEmpty(this.adItemData.adAction.app_store)) {
            wakeAppBySchema(activity, this.adItemData.adAction.app_store);
        } else if (!this.state.equals("下载中...")) {
            try {
                if (getDownloadHandle().hasDownload()) {
                    getDownloadHandle().install(null);
                }
                if (!getDownloadHandle().isDownloading()) {
                    getDownloadHandle().run(activity);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    private void updateState() {
        if (!TextUtils.isEmpty(this.adItemData.adAction.package_name)) {
            boolean hasInstall = hasInstall(null, this.adItemData.adAction.package_name);
            if (!TextUtils.isEmpty(this.adItemData.adAction.schema) && hasInstall) {
                setState("打开");
                return;
            }
        }
        if (!TextUtils.isEmpty(this.adItemData.adAction.apk_url) && getDownloadHandle().hasDownload()) {
            setState("安装");
        } else if (!TextUtils.isEmpty(this.adItemData.adAction.apk_url)) {
            setState("下载");
        }
    }

    public static void wakeAppBySchema(Activity activity, String str) {
        if (str == null) {
            try {
                if (str.equals("")) {
                    return;
                }
            } catch (Exception e) {
                e.printStackTrace();
                return;
            }
        }
        Intent intent = new Intent();
        intent.setData(Uri.parse(str));
        intent.setFlags(268435456);
        List<ResolveInfo> queryIntentActivities = activity.getPackageManager().queryIntentActivities(intent, 65536);
        if (queryIntentActivities != null && queryIntentActivities.size() > 0) {
            activity.startActivity(intent);
        }
    }

    private static void wakeAppByPackageName(Activity activity, String str) {
        if (str != null && str.length() > 0) {
            try {
                Intent launchIntentForPackage = activity.getPackageManager().getLaunchIntentForPackage(str);
                launchIntentForPackage.setFlags(268435456);
                List<ResolveInfo> queryIntentActivities = activity.getPackageManager().queryIntentActivities(launchIntentForPackage, 65536);
                if (queryIntentActivities != null && queryIntentActivities.size() > 0) {
                    activity.startActivity(launchIntentForPackage);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    public boolean hasInstall(Activity activity, String str) {
        if (activity == null) {
            try {
                activity = SjmDspActivityManager.getInstance().getCurrentActivity();
            } catch (PackageManager.NameNotFoundException unused) {
                return false;
            }
        }
        if (activity.getPackageManager().getApplicationInfo(str, 8192) != null) {
            return true;
        }
        return false;
    }

    @Override // com.sjm.sjmdsp.adCore.assist.adApp.SjmDspAppDownloadHandle.DownloadHandleListener
    public void onStart() {
        setState("下载中...");
    }

    @Override // com.sjm.sjmdsp.adCore.assist.adApp.SjmDspAppDownloadHandle.DownloadHandleListener
    public void onSuccess(File file) {
        setState("安装");
        SjmDspAppDownloadHandleManager.delDownloadHandle(this.adItemData);
    }

    @Override // com.sjm.sjmdsp.adCore.assist.adApp.SjmDspAppDownloadHandle.DownloadHandleListener
    public void onInstall() {
        setState("安装中...");
    }

    @Override // com.sjm.sjmdsp.adCore.assist.adApp.SjmDspAppDownloadHandle.DownloadHandleListener
    public void onFailure(String str) {
        setState("下载");
    }
}