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("下载"); } }