������������������.apk分析 / PackageInstallerActivity.java


package com.huawei.updatesdk.support.pm;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import com.huawei.updatesdk.a.a.c.a.a.a;
import com.huawei.updatesdk.a.a.d.h.c;
import com.huawei.updatesdk.a.b.b.b;
import com.huawei.updatesdk.b.d.e;
import com.huawei.updatesdk.fileprovider.UpdateSdkFileProvider;
import java.io.File;

public class PackageInstallerActivity extends Activity {
    private Intent a(Context context, String str) {
        Uri uri;
        if (TextUtils.isEmpty(str) || str.contains("../") || str.contains("..") || str.contains("%00") || str.contains(".\\.\\") || str.contains("./")) {
            throw new IllegalArgumentException("getNomalInstallIntent: Not a standard path");
        }
        Intent intent = new Intent();
        intent.setAction("android.intent.action.INSTALL_PACKAGE");
        if (Build.VERSION.SDK_INT >= 24) {
            intent.addFlags(1);
            uri = UpdateSdkFileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + UpdateSdkFileProvider.AUTHORITIES_SUFFIX, new File(str));
        } else {
            uri = Uri.fromFile(new File(str));
        }
        intent.setData(uri);
        if (!(context instanceof Activity)) {
            intent.addFlags(268435456);
        }
        return intent;
    }

    /* access modifiers changed from: protected */
    public void onActivityResult(int i, int i2, Intent intent) {
        super.onActivityResult(i, i2, intent);
        if (1000 == i) {
            if (i2 == 0) {
                e.a(7, 0);
            } else {
                int i3 = -10004;
                if (intent != null) {
                    i3 = b.a(intent).a("android.intent.extra.INSTALL_RESULT", -10004);
                }
                if (!(i3 == 0 || i3 == 1)) {
                    e.a(4, i3);
                }
            }
        }
        finish();
    }

    /* access modifiers changed from: protected */
    public void onCreate(Bundle bundle) {
        requestWindowFeature(1);
        c.d().a(getWindow());
        super.onCreate(bundle);
        Intent intent = getIntent();
        if (intent == null) {
            finish();
            a.b("PackageInstallerActivity", "PackageInstallerActivity error intent");
            return;
        }
        b a = b.a(intent);
        String a2 = a.a("install_path");
        String a3 = a.a("install_packagename");
        if (TextUtils.isEmpty(a2)) {
            e.a(4, -3);
            finish();
            a.b("PackageInstallerActivity", "PackageInstallerActivity can not find filePath.");
            return;
        }
        try {
            Intent a4 = a(this, a2);
            a4.putExtra("android.intent.extra.NOT_UNKNOWN_SOURCE", true);
            a4.putExtra("android.intent.extra.RETURN_RESULT", true);
            a.c("PackageInstallerActivity", " onCreate filePath:" + a2 + ",packageName:" + a3 + ",taskId:" + getTaskId());
            startActivityForResult(a4, 1000);
        } catch (Exception unused) {
            a.b("PackageInstallerActivity", "can not start install action");
            e.a(4, -2);
            finish();
        }
    }

    /* access modifiers changed from: protected */
    public void onDestroy() {
        finishActivity(1000);
        super.onDestroy();
    }
}