处理 SonarQube 问题
1. 移除冗余判断 2. 处理可空异常 3. 处理捕获 InteruptionException 的状态 4. 调整类是否一致的判断方式
This commit is contained in:
@ -15,6 +15,7 @@ import android.os.Bundle;
|
||||
import android.os.PowerManager;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.android.apksig.ApkVerifier;
|
||||
@ -226,6 +227,7 @@ public class PackageUtils {
|
||||
* String[1] 为接口风格的公钥字符串
|
||||
* 请自行根据需要取用
|
||||
*/
|
||||
@NonNull
|
||||
public static String[] getApkSignatureByPackageName(Context context, String packageName) {
|
||||
try {
|
||||
PackageInfo packageInfo = context.getApplicationContext().getPackageManager()
|
||||
@ -334,7 +336,7 @@ public class PackageUtils {
|
||||
* 解析签名
|
||||
*/
|
||||
private static String[] parseSignature(byte[] signature) {
|
||||
String[] ret = null;
|
||||
String[] ret;
|
||||
try {
|
||||
CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
|
||||
X509Certificate cert = (X509Certificate) certFactory.generateCertificate(
|
||||
@ -344,6 +346,7 @@ public class PackageUtils {
|
||||
ret[1] = "DSAPublicKey{" + ApkSigningBlockUtilsLite.toHex(cert.getPublicKey().getEncoded()) + "}";
|
||||
}
|
||||
} catch (CertificateException e) {
|
||||
ret = new String[]{null, null};
|
||||
e.printStackTrace();
|
||||
}
|
||||
return ret;
|
||||
@ -842,6 +845,9 @@ public class PackageUtils {
|
||||
process.waitFor();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
if (e instanceof InterruptedException) {
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
} finally {
|
||||
if (bufferedReader != null)
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user