18034727885
2026-03-19 b008604e79528aecb04ae5d4ecc6245d8c6caf91
去掉不符合隐私正常要求的代码
12个文件已修改
242 ■■■■■ 已修改文件
app/build.gradle 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/AndroidManifest.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/base/gaode/AMapKit.kt 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/bean/websocket/HeartBean.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/ui/main/MainActivity.kt 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/ui/mine/MineActivity.kt 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/ui/mine/setting/SettingActivity.kt 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/utils/PackageUtil.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/utils/UtilKt.kt 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
easyfloat/src/main/java/com/lzf/easyfloat/permission/rom/MiuiUtils.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
easyfloat/src/main/java/com/lzf/easyfloat/permission/rom/QikuUtils.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xldUtils/src/main/java/cn/sinata/xldutils/utils/Utils.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/build.gradle
@@ -29,8 +29,8 @@
        applicationId "com.driver.goposttrip"
        minSdkVersion 23
        targetSdkVersion 35
        versionCode 31
        versionName "1.5.2"
        versionCode 33
        versionName "1.5.4"
        multiDexEnabled true
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
app/src/main/AndroidManifest.xml
@@ -5,6 +5,8 @@
    <queries>
        <package android:name="com.tencent.mm" />
        <package android:name="com.facebook.katana" />
        <package android:name="com.qihoo360.mobilesafe" />
        <package android:name="com.miui.securitycenter" />
    </queries>
    <uses-permission android:name="com.driver.igotrip.permission.JPUSH_MESSAGE" />
app/src/main/java/com/driver/igotrip/base/gaode/AMapKit.kt
@@ -1,15 +1,17 @@
package com.driver.igotrip.base.gaode
//import com.google.android.libraries.places.api.Places
//import com.google.android.libraries.places.api.model.*
//import com.google.android.libraries.places.api.net.FetchPlaceRequest
//import com.google.android.libraries.places.api.net.FindAutocompletePredictionsRequest
//import com.google.android.libraries.places.api.net.FindCurrentPlaceRequest
import android.Manifest
import android.annotation.SuppressLint
import android.content.Context
import android.content.Intent
import android.content.pm.PackageInfo
import android.content.pm.PackageManager
import android.graphics.Bitmap
import android.graphics.Color
import android.location.LocationManager
import android.net.Uri
import android.os.Handler
import android.os.Looper
import android.text.TextUtils
@@ -19,24 +21,32 @@
import cn.sinata.xldutils.utils.SPUtils
import com.driver.igotrip.R
import com.driver.igotrip.base.Const
import com.driver.igotrip.base.MyApplication
import com.driver.igotrip.base.MyBaseActivity.TAG
import com.driver.igotrip.bean.GoogleBackBean
import com.driver.igotrip.bean.GoogleNearBean2
import com.driver.igotrip.bean.GoogleRouteBean
import com.google.android.gms.common.api.ApiException
import com.google.android.gms.maps.*
import com.google.android.gms.maps.model.*
//import com.google.android.libraries.places.api.Places
//import com.google.android.libraries.places.api.model.*
//import com.google.android.libraries.places.api.net.FetchPlaceRequest
//import com.google.android.libraries.places.api.net.FindAutocompletePredictionsRequest
//import com.google.android.libraries.places.api.net.FindCurrentPlaceRequest
import com.google.android.gms.maps.CameraUpdateFactory
import com.google.android.gms.maps.GoogleMap
import com.google.android.gms.maps.GoogleMapOptions
import com.google.android.gms.maps.SupportMapFragment
import com.google.android.gms.maps.model.BitmapDescriptor
import com.google.android.gms.maps.model.BitmapDescriptorFactory
import com.google.android.gms.maps.model.CameraPosition
import com.google.android.gms.maps.model.Circle
import com.google.android.gms.maps.model.CircleOptions
import com.google.android.gms.maps.model.LatLng
import com.google.android.gms.maps.model.LatLngBounds
import com.google.android.gms.maps.model.Marker
import com.google.android.gms.maps.model.MarkerOptions
import com.google.android.gms.maps.model.Polygon
import com.google.android.gms.maps.model.PolygonOptions
import com.google.android.gms.maps.model.Polyline
import com.google.android.gms.maps.model.PolylineOptions
import com.google.gson.Gson
import com.lljjcoder.style.citylist.Toast.ToastUtils
import okhttp3.*
import okhttp3.MediaType.Companion.toMediaTypeOrNull
import java.util.*
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.RequestBody
object AMapKit {
@@ -570,36 +580,9 @@
        endLat: Double,
        endLon: Double
    ) {
//        if (isAvilible(context, "com.google.android.apps.maps")) {
//            val gmmIntentUri: Uri = Uri.parse("google.navigation:q=$endLat,$endLon")
//            val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
//            mapIntent.setPackage("com.google.android.apps.maps")
//            context.startActivity(mapIntent)
//        } else {
//            ToastUtils.showShortToast(context, context.getString(R.string.您尚未安装谷歌地图))
//            val uri: Uri = Uri.parse("market://details?id=com.google.android.apps.maps")
//            var intent = Intent(Intent.ACTION_VIEW, uri)
//            context.startActivity(intent)
//        }
        val intent = Intent(context, NaviGoogleActivity::class.java)
        intent.putExtra("lat", endLat)
        intent.putExtra("lon", endLon)
        context.startActivity(intent)
    }
    /**检测应用是否安装 */
    private fun isAvilible(context: Context, packageName: String): Boolean {
        val packageManager = context.packageManager //获取packagemanager
        val pinfo: List<PackageInfo>? = packageManager.getInstalledPackages(0) //获取所有已安装程序的包信息
        val pName: MutableList<String> = ArrayList() //用于存储所有已安装程序的包名
        //从pinfo中将包名字逐一取出,压入pName list中
        if (pinfo != null) {
            for (i in pinfo.indices) {
                val pn: String = pinfo[i].packageName
                pName.add(pn)
            }
        }
        return pName.contains(packageName) //判断pName中是否有目标程序的包名,有TRUE,没有FALSE
    }
}
app/src/main/java/com/driver/igotrip/bean/websocket/HeartBean.java
@@ -1,12 +1,11 @@
package com.driver.igotrip.bean.websocket;
import com.driver.igotrip.BuildConfig;
import com.driver.igotrip.base.Const;
import com.driver.igotrip.base.MyApplication;
import com.driver.igotrip.netUtls.NetKitKt;
import com.driver.igotrip.utils.Cache.CacheKey;
import cn.sinata.xldutils.utils.SPUtils;
import cn.sinata.xldutils.utils.Utils;
public class HeartBean {
    private int code = 200;
@@ -60,7 +59,7 @@
            userId =  NetKitKt.getUserId();
            token = CacheKey.INSTANCE.getToken();
            device = "phoneDevice";
            version = Utils.getAppVersion(MyApplication.Companion.getAppContext());
            version = BuildConfig.VERSION_NAME;
        }
    }
app/src/main/java/com/driver/igotrip/ui/main/MainActivity.kt
@@ -20,9 +20,11 @@
import cn.sinata.xldutils.utils.Utils
import cn.sinata.xldutils.utils.clickDelay
import cn.sinata.xldutils.utils.doubleOne
import cn.sinata.xldutils.utils.getVersionName
import cn.sinata.xldutils.utils.gone
import cn.sinata.xldutils.utils.setDrawableLeft
import cn.sinata.xldutils.utils.textColor
import com.driver.igotrip.BuildConfig
import com.driver.igotrip.R
import com.driver.igotrip.base.BaseEvent
import com.driver.igotrip.base.Const
@@ -341,7 +343,7 @@
//        map["id"] = CacheKey.getUserId()
        callNet(Api.queryNewData, map) {
            var data = gson.fromJson<VersionBean>(it, VersionBean::class.java)
            if (data.data.version != "" && data.data.version != Utils.getAppVersion(this)) {
            if (data.data.version != "" && data.data.version != getVersionName()) {
                if (data.data.mandatory == 2) {
                    DialogUtil.getDelAndSureDialog(
                        this,
app/src/main/java/com/driver/igotrip/ui/mine/MineActivity.kt
@@ -63,25 +63,25 @@
    //Facebook秘钥散列获取
    private fun facebookHashKey() {
        try {
            val info: PackageInfo =
                packageManager.getPackageInfo("com.driver.igotrip", PackageManager.GET_SIGNATURES)
            for (signature in info.signatures ?: arrayOf()) {
                val md: MessageDigest = MessageDigest.getInstance("SHA")
                md.update(signature.toByteArray())
                Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT))
            }
        } catch (e: PackageManager.NameNotFoundException) {
        } catch (e: NoSuchAlgorithmException) {
        }
    }
//    private fun facebookHashKey() {
//        try {
//            val info: PackageInfo =
//                packageManager.getPackageInfo("com.driver.igotrip", PackageManager.GET_SIGNATURES)
//            for (signature in info.signatures ?: arrayOf()) {
//                val md: MessageDigest = MessageDigest.getInstance("SHA")
//                md.update(signature.toByteArray())
//                Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT))
//            }
//        } catch (e: PackageManager.NameNotFoundException) {
//        } catch (e: NoSuchAlgorithmException) {
//        }
//    }
    override fun initView() {
        showHeader(false)
        showTitle(false)
        callMine()
        facebookHashKey()
//        facebookHashKey()
    }
    private fun callMine() {
app/src/main/java/com/driver/igotrip/ui/mine/setting/SettingActivity.kt
@@ -4,6 +4,7 @@
import android.widget.TextView
import cn.sinata.xldutils.utils.Utils
import cn.sinata.xldutils.utils.clickDelay
import cn.sinata.xldutils.utils.getVersionName
import com.driver.emanagercar.ui.base.BaseWebActivity
import com.driver.igotrip.R
import com.driver.igotrip.base.BaseEvent
@@ -44,7 +45,7 @@
    override fun initView() {
        setTitleText(getString(R.string.设置))
        tv_version_code.text = Utils.getAppVersion(this)
        tv_version_code.text = getVersionName()
        tv_cache.text = GlideCacheUtil.getInstance().getCacheSize(MyApplication.getInstance())
    }
@@ -135,7 +136,7 @@
//        map["id"] = CacheKey.getUserId()
        callNet(Api.queryNewData, map) {
            var data = gson.fromJson<VersionBean>(it, VersionBean::class.java)
            if (data.data.version != "" && data.data.version != Utils.getAppVersion(this)) {
            if (data.data.version != "" && data.data.version != getVersionName()) {
                if (data.data.mandatory == 2) {
                    DialogUtil.getDelAndSureDialog(this, getString(R.string.新版本更新),data.data.content, {}, {
                        browse(data.data.url)
app/src/main/java/com/driver/igotrip/utils/PackageUtil.java
@@ -1,14 +1,9 @@
package com.driver.igotrip.utils;
import android.app.Activity;
import android.app.ActivityManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
@@ -16,11 +11,12 @@
import android.text.TextUtils;
import android.view.View;
import com.driver.igotrip.BuildConfig;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.lang.reflect.Method;
import java.util.List;
import java.util.Properties;
public final class PackageUtil {
@@ -50,59 +46,22 @@
    }
    public static int getVersionCode(Context mContext) {
        int versionCode = -1;
        try {
            versionCode = mContext.getPackageManager().getPackageInfo(getPackageName(mContext), 0).versionCode;
            return versionCode;
        } catch (NameNotFoundException e) {
            e.printStackTrace();
            return -1;
        }
        return BuildConfig.VERSION_CODE;
    }
    public static boolean hasIntent(Context context, Intent intent) {
        PackageManager manager = context.getPackageManager();
        List<ResolveInfo> infos = manager.queryIntentActivities(intent, 0);
        return null != infos && !infos.isEmpty();
        return context.getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY)!=null;
    }
    public static String getVersionName(Context mContext) {
        String versionName = "";
        try {
            versionName = mContext.getPackageManager().getPackageInfo(getPackageName(mContext), 0).versionName;
            return versionName;
        } catch (NameNotFoundException e) {
            e.printStackTrace();
            return null;
        }
        return BuildConfig.VERSION_NAME;
    }
    public static String getPackageName(Context mContext) {
        if (mContext != null) {
            return mContext.getPackageName();
        }
        return "com.bdfint.logistics_driver";
    }
    /**
     * get currnet activity's name
     *
     * @param context
     * @return
     */
    public static String getActivityName(Context context) {
        if (context == null) {
            return "";
        }
        ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        if (checkPermissions(context, "android.permission.GET_TASKS")) {
            ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
            String activityName = cn.getShortClassName();
            activityName = activityName.substring(activityName.lastIndexOf(".") + 1, activityName.length());
            return activityName;
        } else {
            return "";
        }
        return BuildConfig.APPLICATION_ID;
    }
    /**
@@ -118,31 +77,6 @@
    }
    private static String channelId;
    /**
     * @param
     * @return String
     * @description 获取APPLICATION metadata的数据
     * @date 2014-12-2
     * @Exception
     */
    public static String getApplicationMetaData(Context context, String key) {
        String data = null;
        String defaultkey = "zlgx";
        if (context == null) {
            return defaultkey;
        }
        try {
            ApplicationInfo appInfo = context.getPackageManager().getApplicationInfo(getPackageName(context), PackageManager.GET_META_DATA);
            if (null == appInfo || null == appInfo.metaData || null == appInfo.metaData.get(key))
                return defaultkey;
            data = appInfo.metaData.get(key).toString();
        } catch (NameNotFoundException e) {
            e.printStackTrace();
            data = defaultkey;
        }
        return data;
    }
    /**
     * 判断是否安装目标应用
app/src/main/java/com/driver/igotrip/utils/UtilKt.kt
@@ -25,6 +25,7 @@
import cn.sinata.xldutils.utils.ViewClickDelay.SPACE_TIME
import cn.sinata.xldutils.utils.ViewClickDelay.hash
import cn.sinata.xldutils.utils.ViewClickDelay.lastClickTime
import com.driver.igotrip.BuildConfig
import org.jetbrains.anko.internals.AnkoInternals
import java.util.*
import java.util.regex.Pattern
@@ -187,16 +188,8 @@
    context.startActivity(intent!!)
}
fun Activity.getVersionName(): String? {
    return try {
        val manager = this.packageManager
        val info = manager.getPackageInfo(this.packageName, 0)
        info.versionName
    } catch (e: Exception) {
        e.printStackTrace()
        "--"
    }
fun Activity.getVersionName(): String {
    return BuildConfig.VERSION_NAME
}
object ViewClickDelay {
easyfloat/src/main/java/com/lzf/easyfloat/permission/rom/MiuiUtils.java
@@ -92,7 +92,7 @@
        if (intent == null) {
            return false;
        }
        return context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY).size() > 0;
        return context.getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY)!=null;
    }
    /**
easyfloat/src/main/java/com/lzf/easyfloat/permission/rom/QikuUtils.java
@@ -73,6 +73,6 @@
        if (intent == null) {
            return false;
        }
        return context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY).size() > 0;
        return context.getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) != null;
    }
}
xldUtils/src/main/java/cn/sinata/xldutils/utils/Utils.java
@@ -330,38 +330,6 @@
    }
    /**
     * 获取版本号
     * @return 当前应用的版本号
     */
    public static String getAppVersion(Context context) {
        try {
            PackageManager manager = context.getPackageManager();
            PackageInfo info = manager.getPackageInfo(context.getPackageName(), 0);
            String version = info.versionName;
            return version;
        } catch (Exception e) {
            e.printStackTrace();
            return "未获取到版本号";
        }
    }
    /**
     * 获取版本
     * @return 当前应用的版本
     */
    public static int getAppVersionCode(Context context) {
        try {
            PackageManager manager = context.getPackageManager();
            PackageInfo info = manager.getPackageInfo(context.getPackageName(), 0);
            int code = info.versionCode;
            return code;
        } catch (Exception e) {
            e.printStackTrace();
            return -1;
        }
    }
    /**
     * 获取ip地址
     * @param context
     * @return