Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4c5fa201 authored by narinder Rana's avatar narinder Rana
Browse files

update for testing

parent 82b82377
Loading
Loading
Loading
Loading
Loading
+57 −23
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.content.pm.PackageInfo
import android.content.pm.PackageManager
import android.content.pm.Signature
import android.os.AsyncTask
import android.os.Environment
import android.os.Handler
import android.os.Looper
import android.util.Log
@@ -53,14 +54,20 @@ class IntegrityVerificationTask(
        private val fullData: FullData,
        private val integrityVerificationCallback: IntegrityVerificationCallback
) :

    AsyncTask<Context, Void, Context>() {
    private lateinit var systemJsonData: JSONObject
    private var verificationSuccessful: Boolean = false
    private var TAG = "IntegrityVerificationTask"



    override fun doInBackground(vararg context: Context): Context {
        try {
            verificationSuccessful = if (isSystemApplication(fullData.packageName)) {
                verifySystemSignature(context[0])
                //verifySystemSignature(context[0])
                verifySystemValues(context[0])

            } else if (isfDroidApplication(fullData.packageName)) {
                verifyFdroidSignature(context[0])
            } else {
@@ -88,9 +95,30 @@ class IntegrityVerificationTask(
        if (!fullData.getLastVersion()?.signature.isNullOrEmpty()) {
            return fullData.getLastVersion()?.signature ==
                getSystemSignature(context.packageManager)?.toCharsString()
        }
        else{

        }
        return false
    }
    private fun verifySystemValues(context: Context): Boolean {

        val pm: PackageManager = context.packageManager
        val fullPath: String = applicationInfo.getApkFile(
                context,
                fullData.basicData
        ).absolutePath
        val info = pm.getPackageArchiveInfo(fullPath, 0)
        if (info != null) {
            Log.e("TAG", ".................."+ info.packageName)
            Log.e("TAG", ".................."+ info.signatures)
        };

        return false;
//
//        return (fullData.basicData.id==systemJsonData.getString("project_id")
//                && fullData.basicData.name==systemJsonData.getString("app_name"))
    }

    private fun getFirstSignature(pkg: PackageInfo?): Signature? {
        return if (pkg?.signatures != null && pkg.signatures.isNotEmpty()) {
@@ -159,8 +187,14 @@ class IntegrityVerificationTask(
                }
            }
        try {

            return JSONObject(jsonResponse).has(packageName);
            if(JSONObject(jsonResponse).has(packageName)){
                 systemJsonData = JSONObject(jsonResponse).getJSONObject(packageName);
                return true
            }
            else{
                return false
            }
           // return JSONObject(jsonResponse).has(packageName);
        } catch (e: Exception) {
            if (e is JSONException) {
                Log.d(TAG, "$packageName is not a system application")