nr.java 源代码
package com.ss.android.downloadlib.e;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.Signature;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Environment;
import android.os.Looper;
import android.os.StatFs;
import android.text.TextUtils;
import com.ss.android.download.api.config.h;
import com.ss.android.download.api.download.DownloadModel;
import com.ss.android.socialbase.downloader.constants.DownloadConstants;
import com.ss.android.socialbase.downloader.downloader.Downloader;
import com.ss.android.socialbase.downloader.logger.Logger;
import com.ss.android.socialbase.downloader.model.DownloadInfo;
import com.ss.android.socialbase.downloader.utils.DownloadUtils;
import java.io.File;
import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import org.json.JSONException;
import org.json.JSONObject;
public class nr {
private static Object[] zc = new Object[0];
private static Object[] i = new Object[73];
static final char[] g = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
private static String ql = null;
public static boolean g(String str) {
if (TextUtils.isEmpty(str)) {
return false;
}
return new File(str).exists();
}
public static boolean zc(String str) {
return !TextUtils.isEmpty(str) && new File(str).exists();
}
public static long g(JSONObject jSONObject, String str) {
return com.ss.android.download.api.i.zc.g(jSONObject, str);
}
public static JSONObject g(JSONObject jSONObject, JSONObject jSONObject2) {
return com.ss.android.download.api.i.zc.g(jSONObject, jSONObject2);
}
public static JSONObject g(JSONObject jSONObject) {
return com.ss.android.download.api.i.zc.g(jSONObject);
}
public static JSONObject g(JSONObject... jSONObjectArr) {
return com.ss.android.download.api.i.zc.g(jSONObjectArr);
}
public static boolean g(Context context, Intent intent) {
try {
List<ResolveInfo> queryIntentActivities = context.getPackageManager().queryIntentActivities(intent, 65536);
if (queryIntentActivities != null) {
if (!queryIntentActivities.isEmpty()) {
return true;
}
}
} catch (Exception unused) {
}
return false;
}
public static String g(long j) {
DecimalFormat decimalFormat = new DecimalFormat("0.00");
if (j >= DownloadConstants.GB) {
return (j / DownloadConstants.GB) + "G";
}
if (j >= 1048576) {
return (j / 1048576) + "M";
}
return decimalFormat.format(((float) j) / 1048576.0f) + "M";
}
public static PackageInfo g(com.ss.android.downloadad.api.g.zc zcVar) {
DownloadInfo downloadInfo;
if (zcVar == null || (downloadInfo = Downloader.getInstance(com.ss.android.downloadlib.addownload.il.getContext()).getDownloadInfo(zcVar.ur())) == null) {
return null;
}
try {
return com.ss.android.socialbase.appdownloader.i.g(com.ss.android.downloadlib.addownload.il.getContext(), downloadInfo, downloadInfo.getSavePath(), downloadInfo.getName());
} catch (Throwable unused) {
return null;
}
}
public static Drawable g(Context context, String str) {
PackageManager packageManager;
PackageInfo packageArchiveInfo;
if (context != null && !TextUtils.isEmpty(str) && (packageArchiveInfo = (packageManager = context.getPackageManager()).getPackageArchiveInfo(str, 0)) != null) {
ApplicationInfo applicationInfo = packageArchiveInfo.applicationInfo;
applicationInfo.sourceDir = str;
applicationInfo.publicSourceDir = str;
try {
return applicationInfo.loadIcon(packageManager);
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
public static int zc(Context context, String str) {
if (context == null || TextUtils.isEmpty(str)) {
return -1;
}
try {
PackageInfo packageInfo = context.getPackageManager().getPackageInfo(str, 0);
if (packageInfo != null) {
return packageInfo.versionCode;
}
return -1;
} catch (PackageManager.NameNotFoundException unused) {
return -1;
}
}
public static String i(Context context, String str) {
if (context == null || TextUtils.isEmpty(str)) {
return "";
}
try {
PackageInfo packageInfo = context.getPackageManager().getPackageInfo(str, 0);
return packageInfo != null ? packageInfo.versionName : "";
} catch (PackageManager.NameNotFoundException unused) {
return "";
}
}
public static Drawable ql(Context context, String str) {
if (context != null && !TextUtils.isEmpty(str)) {
try {
PackageManager packageManager = context.getPackageManager();
return packageManager.getApplicationInfo(str, 0).loadIcon(packageManager);
} catch (PackageManager.NameNotFoundException unused) {
}
}
return null;
}
public static boolean r(Context context, String str) {
if (context == null) {
context = com.ss.android.downloadlib.addownload.il.getContext();
}
if (context == null || TextUtils.isEmpty(str)) {
return false;
}
try {
return context.getPackageManager().getPackageInfo(str, 0) != null;
} catch (Exception unused) {
return false;
}
}
public static com.ss.android.downloadlib.addownload.zc.i g(String str, int i2, String str2) {
com.ss.android.downloadlib.addownload.zc.i iVar = new com.ss.android.downloadlib.addownload.zc.i();
if (TextUtils.isEmpty(str)) {
return iVar;
}
try {
PackageInfo packageInfo = com.ss.android.downloadlib.addownload.il.getContext().getPackageManager().getPackageInfo(str, 0);
if (packageInfo != null) {
iVar.zc(packageInfo.versionCode);
iVar.g(com.ss.android.downloadlib.addownload.zc.i.zc);
h e = com.ss.android.downloadlib.addownload.il.e();
if (e != null && e.g() && !g(packageInfo.versionCode, i2, packageInfo.versionName, str2)) {
iVar.g(com.ss.android.downloadlib.addownload.zc.i.i);
}
}
} catch (Exception e2) {
e2.printStackTrace();
}
return iVar;
}
private static boolean g(int i2, int i3, String str, String str2) {
if (i3 == 0 && TextUtils.isEmpty(str2)) {
return true;
}
return (i3 > 0 && i2 >= i3) || g(str, str2) >= 0;
}
public static boolean zc(com.ss.android.downloadad.api.g.zc zcVar) {
if (zcVar == null) {
return false;
}
return g(zcVar.r(), zcVar.us(), zcVar.q()).g();
}
public static boolean g(DownloadModel downloadModel) {
if (downloadModel == null) {
return false;
}
return g(downloadModel.getPackageName(), downloadModel.getVersionCode(), downloadModel.getVersionName()).g();
}
public static boolean zc(Context context, Intent intent) {
if (intent == null) {
return false;
}
if (context == null) {
context = com.ss.android.downloadlib.addownload.il.getContext();
}
List<ResolveInfo> queryIntentActivities = context.getPackageManager().queryIntentActivities(intent, 65536);
return queryIntentActivities != null && queryIntentActivities.size() > 0;
}
public static boolean g(Context context, String str, String str2) {
PackageInfo packageArchiveInfo;
PackageInfo packageInfo;
if (context == null || TextUtils.isEmpty(str) || TextUtils.isEmpty(str2)) {
return false;
}
try {
File file = new File(str);
if (!file.exists() || (packageArchiveInfo = context.getPackageManager().getPackageArchiveInfo(file.getAbsolutePath(), 0)) == null || !packageArchiveInfo.packageName.equals(str2)) {
return false;
}
int i2 = packageArchiveInfo.versionCode;
try {
packageInfo = context.getPackageManager().getPackageInfo(str2, 0);
} catch (PackageManager.NameNotFoundException unused) {
packageInfo = null;
}
if (packageInfo == null) {
return false;
}
return i2 == packageInfo.versionCode;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
public static boolean fy(Context context, String str) {
PackageInfo packageArchiveInfo;
PackageInfo packageInfo;
if (context == null || str == null || TextUtils.isEmpty(str)) {
return false;
}
try {
File file = new File(str);
if (!file.exists() || (packageArchiveInfo = context.getPackageManager().getPackageArchiveInfo(file.getAbsolutePath(), 0)) == null) {
return false;
}
String str2 = packageArchiveInfo.packageName;
int i2 = packageArchiveInfo.versionCode;
try {
packageInfo = context.getPackageManager().getPackageInfo(str2, 0);
} catch (PackageManager.NameNotFoundException unused) {
packageInfo = null;
}
if (packageInfo == null) {
return false;
}
return i2 <= packageInfo.versionCode;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
public static Intent e(Context context, String str) {
Intent launchIntentForPackage = context.getPackageManager().getLaunchIntentForPackage(str);
if (launchIntentForPackage == null) {
return null;
}
if (!launchIntentForPackage.hasCategory("android.intent.category.LAUNCHER")) {
launchIntentForPackage.addCategory("android.intent.category.LAUNCHER");
}
launchIntentForPackage.setPackage(null);
launchIntentForPackage.addFlags(2097152);
launchIntentForPackage.addFlags(268435456);
return launchIntentForPackage;
}
public static Signature[] t(Context context, String str) {
try {
PackageInfo packageInfo = context.getPackageManager().getPackageInfo(str, 64);
if (packageInfo != null) {
return packageInfo.signatures;
}
return null;
} catch (Throwable th) {
th.printStackTrace();
return null;
}
}
public static Signature[] gj(Context context, String str) {
try {
PackageInfo packageArchiveInfo = context.getPackageManager().getPackageArchiveInfo(str, 64);
if (packageArchiveInfo != null) {
return packageArchiveInfo.signatures;
}
return null;
} catch (Throwable th) {
th.printStackTrace();
return null;
}
}
public static boolean g(Signature[] signatureArr, Signature[] signatureArr2) {
if (signatureArr == signatureArr2) {
return true;
}
if (signatureArr == null || signatureArr2 == null || signatureArr.length != signatureArr2.length) {
return false;
}
for (int i2 = 0; i2 < signatureArr.length; i2++) {
if ((signatureArr[i2] == null && signatureArr2[i2] != null) || (signatureArr[i2] != null && !signatureArr[i2].equals(signatureArr2[i2]))) {
return false;
}
}
return true;
}
public static boolean i(String str) {
File file;
Context context = com.ss.android.downloadlib.addownload.il.getContext();
if (TextUtils.isEmpty(str) || !r(context, str)) {
return false;
}
int i2 = context.getApplicationInfo().targetSdkVersion;
if (com.ss.android.downloadlib.addownload.il.gj().optInt("get_ext_dir_mode") == 0 && Build.VERSION.SDK_INT >= 29 && ((i2 == 29 && !Environment.isExternalStorageLegacy()) || i2 > 29)) {
return true;
}
try {
if (Build.VERSION.SDK_INT >= 29 && context.getApplicationInfo().targetSdkVersion >= 29 && com.ss.android.downloadlib.addownload.il.gj().optInt("get_ext_dir_mode") == 1) {
file = zy(context, str);
} else {
file = new File(Environment.getExternalStorageDirectory().getPath(), "android/data/".concat(String.valueOf(str)));
}
if (!file.exists()) {
return false;
}
long g2 = e.g(file);
PackageInfo packageInfo = context.getPackageManager().getPackageInfo(str, 0);
if (packageInfo != null) {
if (packageInfo.lastUpdateTime < g2) {
return true;
}
}
return false;
} catch (Exception e) {
e.printStackTrace();
return true;
}
}
public static File zy(Context context, String str) {
File parentFile = context.getExternalFilesDir(null).getParentFile();
File file = new File((parentFile != null ? parentFile.getParent() : null) + File.separator + str);
StringBuilder sb = new StringBuilder("getExtDir: file.toString()-->");
sb.append(file.toString());
Logger.d("ToolUtils", sb.toString());
return file;
}
public static int g(Context context, float f) {
return (int) ((f * context.getResources().getDisplayMetrics().density) + 0.5f);
}
public static String g(String str, int i2) {
return i2 == 0 ? "" : (TextUtils.isEmpty(str) || str.length() <= i2) ? str : str.substring(0, i2);
}
public static int g(String str, String str2) {
try {
if (!TextUtils.isEmpty(str) && !TextUtils.isEmpty(str2)) {
if (str.equals(str2)) {
return 0;
}
String[] split = str.split("\\.");
String[] split2 = str2.split("\\.");
int min = Math.min(split.length, split2.length);
int i2 = 0;
int i3 = 0;
while (i2 < min) {
i3 = Integer.parseInt(split[i2]) - Integer.parseInt(split2[i2]);
if (i3 != 0) {
break;
}
i2++;
}
if (i3 != 0) {
return i3 > 0 ? 1 : -1;
}
for (int i4 = i2; i4 < split.length; i4++) {
if (Integer.parseInt(split[i4]) > 0) {
return 1;
}
}
while (i2 < split2.length) {
if (Integer.parseInt(split2[i2]) > 0) {
return -1;
}
i2++;
}
return 0;
}
} catch (Exception unused) {
}
return -2;
}
public static String g(String... strArr) {
return com.ss.android.download.api.i.zc.g(strArr);
}
public static <T> T g(T... tArr) {
if (tArr == null) {
throw new IllegalArgumentException("args is null");
}
for (T t : tArr) {
if (t != null) {
return t;
}
}
throw new IllegalArgumentException("args is null");
}
public static long zc(long j) {
try {
return g(Environment.getExternalStorageDirectory(), j);
} catch (Exception e) {
e.printStackTrace();
return j;
}
}
public static boolean g() {
try {
if (com.ss.android.downloadlib.addownload.il.getContext().getPackageManager().getPackageInfo(com.ss.android.downloadlib.addownload.il.getContext().getPackageName(), 0).applicationInfo.targetSdkVersion == 33) {
return Build.VERSION.SDK_INT == 33;
}
return false;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
return false;
}
}
public static long g(File file, long j) {
if (file == null) {
return j;
}
try {
return DownloadUtils.getAvailableSpaceBytes(file.getAbsolutePath());
} catch (Exception e) {
e.printStackTrace();
return j;
}
}
public static long g(File file) {
if (file == null) {
return -1L;
}
try {
StatFs statFs = new StatFs(file.getAbsolutePath());
if (Build.VERSION.SDK_INT >= 18) {
return statFs.getTotalBytes();
}
return -1L;
} catch (Throwable th) {
th.printStackTrace();
return -1L;
}
}
public static boolean zc() {
return Looper.myLooper() == Looper.getMainLooper();
}
public static void g(JSONObject jSONObject, String str, Object obj) {
if (jSONObject == null || TextUtils.isEmpty(str)) {
return;
}
try {
jSONObject.putOpt(str, obj);
} catch (JSONException e) {
e.printStackTrace();
}
}
public static void i() {
try {
if (com.ss.android.downloadlib.addownload.il.r().g(com.ss.android.downloadlib.addownload.il.getContext(), "android.permission.REORDER_TASKS")) {
ActivityManager activityManager = (ActivityManager) com.ss.android.downloadlib.addownload.il.getContext().getSystemService("activity");
for (ActivityManager.RunningTaskInfo runningTaskInfo : activityManager.getRunningTasks(20)) {
if (com.ss.android.downloadlib.addownload.il.getContext().getPackageName().equals(runningTaskInfo.topActivity.getPackageName())) {
activityManager.moveTaskToFront(runningTaskInfo.id, 1);
return;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static HashMap<String, String> zc(JSONObject jSONObject) {
HashMap<String, String> hashMap = new HashMap<>();
if (jSONObject != null) {
try {
Iterator<String> keys = jSONObject.keys();
while (keys.hasNext()) {
String next = keys.next();
hashMap.put(next, jSONObject.optString(next));
}
return hashMap;
} catch (Exception e) {
e.printStackTrace();
}
}
return hashMap;
}
}