lmw
2023-04-17 25fbcd2ba9ca1604b5ee4f125556c5305001b435
隐私权限相关
23个文件已修改
250 ■■■■ 已修改文件
app/build.gradle 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/libs/Msc.jar 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/AndroidManifest.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/fuban/driver/base/Const.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/fuban/driver/base/MyApplication.kt 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/fuban/driver/ui/DialogUtil.kt 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/fuban/driver/ui/adapter/CitySelectAdapter.kt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/fuban/driver/ui/adapter/SelectCityDetailAdapter.kt 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/fuban/driver/ui/main/MainActivity.kt 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/fuban/driver/ui/main/add_order/AddCityOrderActivity.kt 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/fuban/driver/ui/main/add_order/SelectClassActivity.kt 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/fuban/driver/ui/main/add_order/SelectStartPointActivity.kt 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/fuban/driver/ui/mine/setting/SettingActivity.kt 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/fuban/driver/ui/pub/StartActivity.kt 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/jniLibs/arm64-v8a/libmsc.so 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/jniLibs/armeabi-v7a/libmsc.so 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/item_mine_event.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-hdpi/ic_launcher.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xhdpi/ic_launcher.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xxhdpi/ic_launcher.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xxxhdpi/ic_launcher.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values/strings.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
xldUtils/src/main/java/cn/sinata/xldutils/utils/Utils.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/build.gradle
@@ -24,13 +24,13 @@
        applicationId "com.fuban.driver"
        minSdkVersion 21
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        versionCode 4
        versionName "3.0.1"
        multiDexEnabled true
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        ndk {
            // 设置支持的SO库架构,第三方给的so库哪几种架构,就配置这几种架构
            abiFilters 'armeabi'
            abiFilters 'armeabi-v7a','arm64-v8a'
        }
        applicationVariants.all { variant ->
            // 更新至Android Studio 3.3 gradle 4.10.1
app/libs/Msc.jar
Binary files differ
app/src/main/AndroidManifest.xml
@@ -16,7 +16,6 @@
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.VIBRATE" /> <!-- 通知权限 -->
    <uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" /> <!-- 拨打电话 -->
    <uses-permission android:name="android.permission.CALL_PHONE" /> <!-- Camera权限 -->
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- //获取统计数据 -->
@@ -36,10 +35,10 @@
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 用于申请调用A-GPS模块 -->
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <!-- 用于申请获取蓝牙信息进行室内定位 -->
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<!--    <uses-permission android:name="android.permission.BLUETOOTH" />-->
<!--    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />-->
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
@@ -47,7 +46,6 @@
    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
app/src/main/java/com/fuban/driver/base/Const.java
@@ -30,22 +30,17 @@
    public static String REQUEST_INSTALL_PACKAGES = "android.permission.REQUEST_INSTALL_PACKAGES";
    public static String[] PERMISSIONS_LIST = {Manifest.permission.READ_EXTERNAL_STORAGE,
    public static String[] PERMISSIONS_LIST = {
            Manifest.permission.READ_PHONE_STATE
            , Manifest.permission.WRITE_EXTERNAL_STORAGE
            , Manifest.permission.CAMERA
            , Manifest.permission.ACCESS_FINE_LOCATION
            , Manifest.permission.ACCESS_COARSE_LOCATION
            , Manifest.permission.ACCESS_BACKGROUND_LOCATION
            , Manifest.permission.CALL_PHONE
            , Manifest.permission.READ_LOGS
            , Manifest.permission.SET_DEBUG_APP
            , Manifest.permission.SYSTEM_ALERT_WINDOW
            , Manifest.permission.GET_ACCOUNTS
            , Manifest.permission.WRITE_APN_SETTINGS
    };
    public static class ShowIntent {
@@ -77,5 +72,7 @@
    public static String FIRST_LOGIN = "FIRST_LOGIN";
    public static String REFUSE_LOCATION = "REFUSE_LOCATION";
}
app/src/main/java/com/fuban/driver/base/MyApplication.kt
@@ -68,6 +68,17 @@
        handleSSLHandshake()
        //如果是主进程
        XUI.init(this)
        registerActivityLifecycleCallbacks(this)
//        CrashReport.initCrashReport(getApplicationContext(), "444bb776ed", false);
        LogUtils.OpenLog(true)
        initUpPoint()
        initSocket()
    }
    /**
     * 延迟初始化,在用户同意隐私协议后进行
     */
    fun initSdk(){
        UMConfigure.init(
            this,
            "640ae80cba6a5259c41ab641",
@@ -75,13 +86,8 @@
            UMConfigure.DEVICE_TYPE_PHONE,
            ""
        )
        registerActivityLifecycleCallbacks(this)
        PlatformConfig.setWeixin("wx19a713b4943f9568", "5d4ca951a855b1e2c86a844cd42fd133")
        PlatformConfig.setQQZone("1112151767", "5viZ7mQkNkYtUr7b") //qq互联
//        CrashReport.initCrashReport(getApplicationContext(), "444bb776ed", false);
        LogUtils.OpenLog(true)
        initUpPoint()
        initSocket()
        JPushInterface.setDebugMode(true)
        JPushInterface.init(this)
        setAlisa()
@@ -502,7 +508,7 @@
        showNum--
        Handler(Looper.getMainLooper()).postDelayed({
            if (showNum == 0) {
                getTTsManager().setVideoText("福伴出行司机已置于后台,可能会导致听单异常,里程计费差异,请勿切换。")
                getTTsManager().setVideoText("福伴司机已置于后台,可能会导致听单异常,里程计费差异,请勿切换。")
            }
        }, 600)
app/src/main/java/com/fuban/driver/ui/DialogUtil.kt
@@ -194,7 +194,7 @@
    fun<T> getOptionListDialog(context: Context, list: List<T>, listTwo: List<T>,  lisener:OnOptionsSelectListener){
        val pickerView: OptionsPickerView<T> = OptionsPickerBuilder(context, lisener)
            .setTitleText("选择地区")
            .setTitleText("")
            .setCancelColor(ContextCompat.getColor(context, R.color.black))
            .setDividerColor(ContextCompat.getColor(context, R.color.white))
            .setSubmitColor(ContextCompat.getColor(context, R.color.main_yellow))
app/src/main/java/com/fuban/driver/ui/adapter/CitySelectAdapter.kt
@@ -30,6 +30,7 @@
            .build()
            it.itemView.tv_city_name.text = item!!.name
            var adapter = SelectCityDetailAdapter()
            adapter.parentName = item?.name?:""
            it.itemView.recycler_view_point.layoutManager =chipsLayoutManager as RecyclerView.LayoutManager
            it.itemView.recycler_view_point.adapter = adapter
            adapter.data.addAll(item.sites)
app/src/main/java/com/fuban/driver/ui/adapter/SelectCityDetailAdapter.kt
@@ -11,6 +11,7 @@
import org.greenrobot.eventbus.EventBus
class SelectCityDetailAdapter: BaseRvAdapter<SitePointBean.DataBean.SitesBean>() {
    var parentName = ""
    override fun getLayoutResId(viewType: Int): Int {
        return R.layout.item_select_city_detail
    }
@@ -19,7 +20,7 @@
        holder?.let {
            it.itemView.tv_name.text = item!!.name
            it.itemView.tv_name.clickDelay {
                EventBus.getDefault().post(BaseEvent(BaseEvent.SELECT_POINT_SITE,item.name,item.id.toString()))
                EventBus.getDefault().post(BaseEvent(BaseEvent.SELECT_POINT_SITE,item.name,item.id.toString(),parentName))
            }
        }
    }
app/src/main/java/com/fuban/driver/ui/main/MainActivity.kt
@@ -1,5 +1,6 @@
package com.fuban.driver.ui.main
import android.Manifest
import android.content.ActivityNotFoundException
import android.content.Intent
import android.os.Handler
@@ -34,6 +35,7 @@
import com.fuban.driver.utils.download.DownloadUtil
import com.google.gson.Gson
import com.lljjcoder.style.citylist.Toast.ToastUtils
import com.tbruyelle.rxpermissions2.RxPermissions
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.app_title.*
import org.greenrobot.eventbus.EventBus
@@ -58,8 +60,18 @@
//        var intent =  Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
//    intent.setData(Uri.parse("package:" + packageName));
//    startActivity(intent);
        ActivityCompat.requestPermissions(this, Const.PERMISSIONS_LIST, 101);
        setTitleText("福伴出行司机")
        if (CacheKey.getKeyStr(Const.REFUSE_LOCATION).isNotEmpty()&&!RxPermissions(this).isGranted(Manifest.permission.ACCESS_FINE_LOCATION)){
            toast("没有定位权限,您将无法收到新订单推送")
        }else{
            val subscribe =
                RxPermissions(this).request(Manifest.permission.ACCESS_FINE_LOCATION).subscribe {
                    if (!it){
                        toast("没有定位权限,您将无法收到新订单推送")
                        CacheKey.putKeyStr(Const.REFUSE_LOCATION,"1")
                    }
                }
        }
        setTitleText("福伴司机")
        tv_Left.setDrawableLeft(R.mipmap.icon_nav_user)
        iv_right_title.setImageResource(R.mipmap.icon_nav_news)
        addFragment(mainFragment, R.id.rl_container)
@@ -73,9 +85,6 @@
        MyApplication.addOrderView(qeeOrderView)
    }
    var qeeOrderView = object : MyApplication.OrderStatueView {
        override fun orderInfo(data: OrderSimpleData?) {
@@ -125,13 +134,13 @@
            if (data.data.version != "" && data.data.version != Utils.getAppVersion(this)) {
                if (data.data.mandatory == 2) {
                    DialogUtil.getDelAndSureDialog(this, "有新版本是否更新?", {}, {
                        DownloadUtil(this).downloadAPK(data.data.url, "福伴出行司机端")
                        DownloadUtil(this).downloadAPK(data.data.url, "福伴司机端")
                    })
                } else if (data.data.mandatory == 1) {
                    DialogUtil.getDelAndSureDialog(this, "版本已过时,是否强制升级?", {
                        EventBus.getDefault().post(BaseEvent(BaseEvent.OUT_APP))
                    }, {
                        DownloadUtil(this).downloadAPK(data.data.url, "福伴出行司机端")
                        DownloadUtil(this).downloadAPK(data.data.url, "福伴司机端")
                        ToastUtils.showShortToast(this, "后台开始下载,请等待")
                    })
                }else{
@@ -320,4 +329,5 @@
            CacheKey.putKeyStr("location",Gson().toJson(p0))
        }
    }
}
app/src/main/java/com/fuban/driver/ui/main/add_order/AddCityOrderActivity.kt
@@ -19,10 +19,7 @@
import com.fuban.driver.ui.DialogUtil
import com.fuban.driver.ui.adapter.PopPeopleNUmAdapter
import com.fuban.driver.ui.adapter.SelectNumberAdapter
import com.fuban.driver.utils.Cache.CacheKey
import com.fuban.driver.utils.DateUtil
import com.fuban.driver.utils.PhoneCheckUtil
import com.fuban.driver.wxapi.WXPayEntryActivity
import kotlinx.android.synthetic.main.activity_add_city_order.*
import kotlinx.android.synthetic.main.pop_pay_city.view.*
@@ -46,10 +43,12 @@
        SelectNumberAdapter()
    }
    var startCityName: String = "" //开始站点名称 ->选择起点
    var startCityName: String = "" //开始城市
    var startSiteName: String = "" //开始站点名称 ->选择起点
    var startCityId: String = "" //开始站点id ->选择起点
    var endCityName: String = "" // 结束站点名称 ->选择终点
    var endCityName: String = "" // 结束城市
    var endSiteName: String = "" // 结束站点名称 ->选择终点
    var endCityId: String = "" //结束站点id ->选择终点
    var lineId = "" //线路id ->选择线路
@@ -155,7 +154,7 @@
                map["startLon"] = startLon
                map["totalSeat"] = totalSeat
                map["travelMode"] = travelMode
                map["travelTime"] = DateUtil.getTime(DateUtil.TYPE0, System.currentTimeMillis())
                map["travelTime"] = tv_select_class.text.toString()+":00"
                callNet(Api.orderCrossCity, map) {
                    var bean = gson.fromJson<AddOrderBean>(it, AddOrderBean::class.java)
                    money = bean.data.amount
@@ -187,7 +186,7 @@
        ll_select_city_end.clickDelay {
            selectCityLocation = 2
            if (startCityName.isEmpty()) {
            if (startSiteName.isEmpty()) {
                toast("请先选择起点")
                return@clickDelay
            }
@@ -204,7 +203,7 @@
                toast("请先选择线路")
                return@clickDelay
            }
            startActivity<SelectClassActivity>("lineId" to lineId, "startCityName" to startCityName, "endCityName" to endCityName)
            startActivity<SelectClassActivity>("lineId" to lineId, "startCityName" to startSiteName, "endCityName" to endSiteName)
        }
        ll_select_car_line.clickDelay {
@@ -222,8 +221,7 @@
            }
            currentSiteType = 1
            startActivity<SelectStartPointActivity>(
                    "startCityId" to startCityId,
                    "name" to startCityName
                    "startCityId" to startCityId, "name" to startCityName
            )
        }
@@ -419,15 +417,17 @@
        when (event!!.code) {
            BaseEvent.SELECT_POINT_SITE -> {
                if (selectCityLocation == 1) {
                    startCityName = event.msg
                    startSiteName = event.msg
                    startCityId = event.msgTwo
                    tv_start_point.text = startCityName
                    startCityName = event.msgthree
                    tv_start_point.text = startSiteName
                    clearByType(1)
                }
                if (selectCityLocation == 2) {
                    endCityName = event.msg
                    endSiteName = event.msg
                    endCityId = event.msgTwo
                    tv_end_point.text = endCityName
                    endCityName = event.msgthree
                    tv_end_point.text = endSiteName
                    clearByType(2)
                    callLine()
                }
@@ -531,7 +531,7 @@
            tv_down_point.text = ""
        }
        if (i < 2) {
            endCityName = ""
            endSiteName = ""
            endCityId = ""
            tv_end_point.text = ""
            endAddress = ""
app/src/main/java/com/fuban/driver/ui/main/add_order/SelectClassActivity.kt
app/src/main/java/com/fuban/driver/ui/main/add_order/SelectStartPointActivity.kt
@@ -71,7 +71,7 @@
        } else {
            setTitleText("选择终点")
        }
        tv_city_name.text = ""
        tv_city_name.text = name
        callDistrict()
        tv_sure.clickDelay {
@@ -142,7 +142,6 @@
                    override fun onPoiSearched(p0: PoiResult?, p1: Int) {
                        if (p0?.pois!!.size > 0) {
                            tv_city_name.text =  p0.pois[0].cityName
                            currentPosition = LatLng(
                                p0.pois[0].latLonPoint.latitude,
                                p0.pois[0].latLonPoint.longitude
@@ -254,9 +253,6 @@
            marker = AMapKit.addMarker(map!!, lat.latitude, lat.longitude, view, "12")
            currentPosition = marker?.position
            moveLisener()
            getAddress(this,currentPosition!!.latitude,currentPosition!!.longitude){
                tv_city_name.text = it
            }
        }
    }
app/src/main/java/com/fuban/driver/ui/mine/setting/SettingActivity.kt
@@ -108,13 +108,13 @@
            if (data.data.version != "" && data.data.version != Utils.getAppVersion(this)) {
                if (data.data.mandatory == 2) {
                    DialogUtil.getDelAndSureDialog(this, "有新版本是否更新?", {}, {
                        DownloadUtil(this).downloadAPK(data.data.url, "福伴出行司机端")
                        DownloadUtil(this).downloadAPK(data.data.url, "福伴司机端")
                    })
                } else if (data.data.mandatory == 1) {
                    DialogUtil.getDelAndSureDialog(this, "版本已过时,是否强制升级?", {
                        EventBus.getDefault().post(BaseEvent(BaseEvent.OUT_APP))
                    }, {
                        DownloadUtil(this).downloadAPK(data.data.url, "福伴出行司机端")
                        DownloadUtil(this).downloadAPK(data.data.url, "福伴司机端")
                        ToastUtils.showShortToast(this, "后台开始下载,请等待")
                    })
                }else{
app/src/main/java/com/fuban/driver/ui/pub/StartActivity.kt
@@ -2,12 +2,25 @@
import android.annotation.SuppressLint
import android.os.Bundle
import android.os.CountDownTimer
import android.view.View
import android.webkit.WebSettings
import android.webkit.WebView
import androidx.core.app.ActivityCompat
import cn.sinata.xldutils.utils.clickDelay
import cn.sinata.xldutils.utils.textColor
import com.fuban.driver.R
import com.fuban.driver.base.Const
import com.fuban.driver.base.MyBaseActivity
import com.fuban.driver.base.*
import com.fuban.driver.bean.AgreeBean
import com.fuban.driver.netUtls.Api
import com.fuban.driver.netUtls.callNet
import com.fuban.driver.netUtls.getMapByAny
import com.fuban.driver.netUtls.getToken
import com.fuban.driver.ui.DialogUtil
import com.fuban.driver.ui.main.MainActivity
import com.fuban.driver.utils.Cache.CacheKey
import kotlinx.android.synthetic.main.item_ys.view.*
import org.greenrobot.eventbus.EventBus
import org.jetbrains.anko.startActivity
class StartActivity : MyBaseActivity() {
@@ -23,16 +36,25 @@
    @SuppressLint("SourceLockedOrientationActivity")
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setRxpermiss()
        showYsDialog()
//        setRxpermiss()
    }
    private fun callLast() {
        MyApplication.getInstance()?.initSdk()
        object :CountDownTimer(2000,1000){
            override fun onTick(millisUntilFinished: Long) {
            }
            override fun onFinish() {
        if (getToken().isNullOrEmpty()){
            startActivity<LoginActivity>()
        }else{
            startActivity<MainActivity>()
        }
            }
        }.start()
    }
    @SuppressLint("CheckResult")
@@ -60,4 +82,94 @@
    }
    fun showYsDialog() {
        var isAgreen = CacheKey.getKeyStr("isAgreen")
        if (isAgreen.isEmpty()) {
            var dialog = DialogUtil.getDialog(this, R.layout.item_ys)
            var view = DialogUtil.getView(dialog)
            callys {
                setWebview(view.wv_content,it)
            }
            view.tv_none.setOnClickListener {
                dialog.dismiss()
            }
            view.tv_agreet.clickDelay {
                CacheKey.putKeyStr("isAgreen", "1")
                dialog.dismiss()
                callLast()
            }
            view.tv_yx.clickDelay {
                view.tv_yx.textColor(this, R.color.white)
                view.tv_yh.textColor(this, R.color.main_yellow_qia)
                view.tv_yx.setBackgroundResource(R.drawable.bg_login_top_left)
                view.tv_yh.setBackgroundResource(R.drawable.bg_logion_top_right)
                callys {
                    setWebview(view.wv_content,it)
                }
            }
            view.tv_yh.clickDelay {
                view.tv_yx.textColor(this, R.color.main_yellow_qia)
                view.tv_yh.textColor(this, R.color.white)
                view.tv_yx.setBackgroundResource(R.drawable.bg_logion_top_left)
                view.tv_yh.setBackgroundResource(R.drawable.bg_login_top_left_select)
                callyh {
                    setWebview(view.wv_content,it)
                }
            }
            dialog.setOnDismissListener {
                if (CacheKey.getKeyStr("isAgreen").isEmpty())
                    finish()
            }
        }else
            callLast()
    }
    fun callys(ok: (s: String) -> Unit) {
        var map = getMapByAny()
        map["type"] = 1
        callNet(Api.queryByType, map) {
            var data = gson.fromJson<AgreeBean>(it, AgreeBean::class.java)
            ok(data.data.content)
        }
    }
    fun callyh(ok: (s: String) -> Unit) {
        var map = getMapByAny()
        map["type"] = 2
        callNet(Api.queryByType, map) {
            var data = gson.fromJson<AgreeBean>(it, AgreeBean::class.java)
            ok(data.data.content)
        }
    }
    private fun setWebview(webView: WebView, url: String) {
        val settings = webView.settings
        settings.cacheMode = WebSettings.LOAD_CACHE_ELSE_NETWORK
        settings.defaultTextEncodingName = "utf-8" //设置编码格式
        settings.useWideViewPort = true //设置此属性,可任意比例缩放
        settings.loadWithOverviewMode = true // 页面支持缩放:
        settings.builtInZoomControls = true
        settings.useWideViewPort = false //将图片调整到适合webview的大小
        settings.setSupportZoom(false) //支持缩放
        settings.supportMultipleWindows() //多窗口
        settings.cacheMode = WebSettings.LOAD_CACHE_ELSE_NETWORK //关闭webview中缓存
        settings.allowFileAccess = true //设置可以访问文件
        settings.setNeedInitialFocus(true) //当webview调用requestFocus时为webview设置节点
        settings.javaScriptCanOpenWindowsAutomatically = true //支持通过JS打开新窗口
        settings.loadsImagesAutomatically = true //支持自动加载图片
        settings.javaScriptEnabled = true
        settings.domStorageEnabled = true
        webView.isScrollContainer = false
        webView.isScrollbarFadingEnabled = false
        webView.scrollBarStyle = View.SCROLLBARS_OUTSIDE_OVERLAY
        webView.addJavascriptInterface(InnerJsInterface(), "HTMLOUT")
        if (url!!.startsWith("http")) {
            webView.loadUrl(url)
        } else {
            val sHead =
                "<html><head><meta name=\"viewport\" content=\"width=device-width, " + "initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes\" />" + "<style>img{max-width:100% !important;height:auto !important;}</style>" + "<style>body{max-width:100% !important;}</style>" + "</head><body>"
            webView.loadDataWithBaseURL(null, sHead + url, "text/html", "utf-8", null)
        }
    }
}
app/src/main/jniLibs/arm64-v8a/libmsc.so
Binary files differ
app/src/main/jniLibs/armeabi-v7a/libmsc.so
Binary files differ
app/src/main/res/layout/item_mine_event.xml
@@ -1,18 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:paddingTop="9dp"
    android:layout_marginBottom="10dp"
    android:layout_marginStart="14dp"
    android:layout_marginEnd="14dp"
    android:layout_height="wrap_content">
    <RelativeLayout
        android:layout_marginTop="17dp"
        android:layout_marginTop="26dp"
        android:layout_width="match_parent"
        android:background="@drawable/bg_white_round_5"
        android:elevation="4dp"
        android:layout_marginBottom="10dp"
        android:layout_marginHorizontal="14dp"
        android:layout_height="78dp">
        <TextView
@@ -34,6 +32,8 @@
        android:layout_height="34dp"
        android:text="活动一"
        android:elevation="4dp"
        android:layout_marginStart="14dp"
        android:layout_marginTop="9dp"
        android:gravity="center"
        android:background="@drawable/bg_event_btn_one"
        android:textColor="#ffffffff"
app/src/main/res/mipmap-hdpi/ic_launcher.png

app/src/main/res/mipmap-xhdpi/ic_launcher.png

app/src/main/res/mipmap-xxhdpi/ic_launcher.png

app/src/main/res/mipmap-xxxhdpi/ic_launcher.png

app/src/main/res/values/strings.xml
@@ -1,3 +1,3 @@
<resources>
    <string name="app_name">福伴出行司机</string>
    <string name="app_name">福伴司机</string>
</resources>
xldUtils/src/main/java/cn/sinata/xldutils/utils/Utils.java
@@ -566,20 +566,9 @@
     * @param phone 电话号码
     */
    public static void callPhone(final Context context, final String phone){
        RxPermissions rxPermissions = new RxPermissions((Activity) context);
        rxPermissions.request(Manifest.permission.CALL_PHONE)
                .subscribe(new Consumer<Boolean>() {
                    @Override
                    public void accept(@NonNull Boolean aBoolean) throws Exception {
                        if (!aBoolean) {
                            Toast.create(context).show("没有拨号权限!");
                        } else {
                            Intent intent = new Intent(Intent.ACTION_DIAL);
                            intent.setData(Uri.parse("tel:"+phone));
                            context.startActivity(intent);
                        }
                    }
                });
    }
    /**