导航菜单

页面标题

页面副标题

Clean Center v0.5.5 - AppStoreUtils.java 源代码

正在查看: Clean Center v0.5.5 应用的 AppStoreUtils.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.lambda.common.utils.subutil.util;

import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.util.Log;
import com.google.firebase.remoteconfig.RemoteConfigConstants;
import com.lambda.common.utils.utilcode.util.AppUtils;
import com.lambda.common.utils.utilcode.util.RomUtils;
import java.util.Iterator;
import java.util.List;

public final class AppStoreUtils {
    private static final String GOOGLE_PLAY_APP_STORE_PACKAGE_NAME = "com.android.vending";
    private static final String TAG = "AppStoreUtils";

    public static Intent getAppStoreIntent() {
        return getAppStoreIntent(com.lambda.common.utils.utilcode.util.Utils.getApp().getPackageName(), false);
    }

    public static Intent getAppStoreIntent(boolean z) {
        return getAppStoreIntent(com.lambda.common.utils.utilcode.util.Utils.getApp().getPackageName(), z);
    }

    public static Intent getAppStoreIntent(String str) {
        return getAppStoreIntent(str, false);
    }

    public static Intent getAppStoreIntent(String str, boolean z) {
        Intent leecoAppStoreIntent;
        Intent samsungAppStoreIntent;
        if (RomUtils.isSamsung() && (samsungAppStoreIntent = getSamsungAppStoreIntent(str)) != null) {
            return samsungAppStoreIntent;
        }
        if (RomUtils.isLeeco() && (leecoAppStoreIntent = getLeecoAppStoreIntent(str)) != null) {
            return leecoAppStoreIntent;
        }
        Uri parse = Uri.parse("market://details?id=" + str);
        Intent intent = new Intent();
        intent.setData(parse);
        intent.addFlags(268435456);
        List<ResolveInfo> queryIntentActivities = com.lambda.common.utils.utilcode.util.Utils.getApp().getPackageManager().queryIntentActivities(intent, 65536);
        Intent intent2 = null;
        if (queryIntentActivities == null || queryIntentActivities.size() == 0) {
            Log.e(TAG, "No app store!");
            return null;
        }
        Iterator<ResolveInfo> it = queryIntentActivities.iterator();
        while (it.hasNext()) {
            String str2 = it.next().activityInfo.packageName;
            if (!"com.android.vending".equals(str2)) {
                if (AppUtils.isAppSystem(str2)) {
                    intent.setPackage(str2);
                    return intent;
                }
            } else {
                intent.setPackage("com.android.vending");
                intent2 = intent;
            }
        }
        if (z && intent2 != null) {
            return intent2;
        }
        intent.setPackage(queryIntentActivities.get(0).activityInfo.packageName);
        return intent;
    }

    private static Intent getSamsungAppStoreIntent(String str) {
        Intent intent = new Intent();
        intent.setClassName("com.sec.android.app.samsungapps", "com.sec.android.app.samsungapps.Main");
        intent.setData(Uri.parse("http://www.samsungapps.com/appquery/appDetail.as?appId=" + str));
        intent.addFlags(268435456);
        if (getAvailableIntentSize(intent) > 0) {
            return intent;
        }
        return null;
    }

    private static Intent getLeecoAppStoreIntent(String str) {
        Intent intent = new Intent();
        intent.setClassName("com.letv.app.appstore", "com.letv.app.appstore.appmodule.details.DetailsActivity");
        intent.setAction("com.letv.app.appstore.appdetailactivity");
        intent.putExtra(RemoteConfigConstants.RequestFieldKey.PACKAGE_NAME, str);
        intent.addFlags(268435456);
        if (getAvailableIntentSize(intent) > 0) {
            return intent;
        }
        return null;
    }

    private static int getAvailableIntentSize(Intent intent) {
        return com.lambda.common.utils.utilcode.util.Utils.getApp().getPackageManager().queryIntentActivities(intent, 65536).size();
    }
}