From 51f657872f152a115fb055ad8860093a5cdbc12d Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期一, 17 四月 2023 16:44:52 +0800
Subject: [PATCH] 隐私权限相关

---
 amaplib/libs/arm64-v8a/libmsc.so                                             |    0 
 xldutils-kotlin/src/main/java/cn/sinata/xldutils/Util.kt                     |   15 -
 xldutils-kotlin/src/main/java/cn/sinata/xldutils/activity/WebViewActivity.kt |    4 
 app/src/main/java/com/fuban/user/dialog/UserRuleDialog.kt                    |   27 ++++
 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png                              |    0 
 app/src/main/res/mipmap-xhdpi/ic_launcher.png                                |    0 
 app/src/main/res/mipmap-xxhdpi/icon_logo.png                                 |    0 
 amaplib/libs/arm64-v8a/libAMapSDK_NAVI_v7_4_0.so                             |    0 
 app/src/main/java/com/fuban/user/ui/TransparentStatusBarActivity.kt          |  140 -----------------------
 app/src/main/res/mipmap-xxhdpi/ic_launcher.png                               |    0 
 amaplib/libs/arm64-v8a/libneonuijni.so                                       |    0 
 app/src/main/res/layout/drawer_mine.xml                                      |    1 
 xldutils-kotlin/src/main/AndroidManifest.xml                                 |    1 
 app/src/main/res/mipmap-hdpi/ic_launcher.png                                 |    0 
 app/src/main/java/com/fuban/user/ui/trip/MapTripFragment.kt                  |   36 +++--
 /dev/null                                                                    |    0 
 app/src/main/java/com/fuban/user/utils/Const.kt                              |    3 
 app/src/main/java/com/fuban/user/ui/SplashActivity.kt                        |    1 
 app/src/main/java/com/fuban/user/ui/MainActivity.kt                          |   67 +++++++---
 app/build.gradle                                                             |   10 
 app/src/main/java/com/fuban/user/utils/InnerJsInterface.java                 |   21 +++
 21 files changed, 126 insertions(+), 200 deletions(-)

diff --git a/amaplib/libs/arm64-v8a/libAMapSDK_NAVI_v7_4_0.so b/amaplib/libs/arm64-v8a/libAMapSDK_NAVI_v7_4_0.so
new file mode 100644
index 0000000..a2fce75
--- /dev/null
+++ b/amaplib/libs/arm64-v8a/libAMapSDK_NAVI_v7_4_0.so
Binary files differ
diff --git a/amaplib/libs/arm64-v8a/libmsc.so b/amaplib/libs/arm64-v8a/libmsc.so
new file mode 100644
index 0000000..7923820
--- /dev/null
+++ b/amaplib/libs/arm64-v8a/libmsc.so
Binary files differ
diff --git a/amaplib/libs/arm64-v8a/libneonuijni.so b/amaplib/libs/arm64-v8a/libneonuijni.so
new file mode 100644
index 0000000..f0e13b5
--- /dev/null
+++ b/amaplib/libs/arm64-v8a/libneonuijni.so
Binary files differ
diff --git a/app/build.gradle b/app/build.gradle
index b390762..96817b5 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -10,8 +10,8 @@
         applicationId "com.fuban.user"
         minSdkVersion 21
         targetSdkVersion 29
-        versionCode 1
-        versionName "1.0"
+        versionCode 4
+        versionName "3.0.1"
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
     }
 
@@ -30,9 +30,9 @@
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
             signingConfig signingConfigs.release
-            ndk {
-                abiFilters "armeabi-v7a" // 保留这种架构的CPU
-            }
+//            ndk {
+//                abiFilters "armeabi-v7a" // 保留这种架构的CPU
+//            }
             applicationVariants.all { variant ->
                 // 更新至Android Studio 3.3 gradle 4.10.1
                 variant.outputs.all {
diff --git a/app/src/main/java/com/fuban/user/dialog/UserRuleDialog.kt b/app/src/main/java/com/fuban/user/dialog/UserRuleDialog.kt
index ce6e344..76a81c7 100644
--- a/app/src/main/java/com/fuban/user/dialog/UserRuleDialog.kt
+++ b/app/src/main/java/com/fuban/user/dialog/UserRuleDialog.kt
@@ -7,11 +7,14 @@
 import android.view.View
 import android.view.ViewGroup
 import android.webkit.WebChromeClient
+import android.webkit.WebSettings
+import android.webkit.WebView
 import androidx.fragment.app.DialogFragment
 import cn.sinata.xldutils.utils.SPUtils
 import cn.sinata.xldutils.utils.screenWidth
 import com.fuban.user.R
 import com.fuban.user.utils.Const
+import com.fuban.user.utils.InnerJsInterface
 import kotlinx.android.synthetic.main.dialog_user_rule.*
 import org.jetbrains.anko.wrapContent
 
@@ -43,20 +46,37 @@
         super.onViewCreated(view, savedInstanceState)
         val settings = sc_content.settings
         settings.javaScriptEnabled = true
+        settings.cacheMode = WebSettings.LOAD_CACHE_ELSE_NETWORK
         settings.javaScriptCanOpenWindowsAutomatically = true
+        settings.builtInZoomControls = true
+        settings.useWideViewPort = false //将图片调整到适合webview的大小
+        settings.setSupportZoom(false) //支持缩放
+        settings.supportMultipleWindows() //多窗口
+        settings.loadWithOverviewMode = true // 页面支持缩放:
+        settings.useWideViewPort = true //设置此属性,可任意比例缩放
         settings.defaultTextEncodingName = "utf-8"
         settings.domStorageEnabled = true
+        settings.cacheMode = WebSettings.LOAD_CACHE_ELSE_NETWORK //关闭webview中缓存
+        settings.allowFileAccess = true //设置可以访问文件
+        settings.setNeedInitialFocus(true) //当webview调用requestFocus时为webview设置节点
+        settings.javaScriptCanOpenWindowsAutomatically = true //支持通过JS打开新窗口
+        settings.loadsImagesAutomatically = true //支持自动加载图片
+        sc_content.isScrollContainer = false
+        sc_content.isScrollbarFadingEnabled = false
+        sc_content.scrollBarStyle = View.SCROLLBARS_OUTSIDE_OVERLAY
         sc_content.webChromeClient = object : WebChromeClient() {}
-        sc_content.loadData(privacy,"text/html; charset=utf-8", "utf-8")
+        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>"
+        sc_content.loadDataWithBaseURL(null, sHead + privacy, "text/html", "utf-8", null)
         tv_cancel.setOnClickListener {
             dismiss()
         }
 
         rg_title.setOnCheckedChangeListener { _, i ->
             if (i == R.id.rb_privacy)
-                sc_content.loadData(privacy,"text/html; charset=utf-8", "utf-8")
+                sc_content.loadDataWithBaseURL(null, sHead + privacy, "text/html", "utf-8", null)
             else
-                sc_content.loadData(user,"text/html; charset=utf-8", "utf-8")
+                sc_content.loadDataWithBaseURL(null, sHead + user, "text/html", "utf-8", null)
         }
         tv_ok.setOnClickListener {
             SPUtils.instance().put(Const.User.IS_AGREE,true).apply()
@@ -70,6 +90,7 @@
     }
 
 
+
     interface OnDismiss{
         fun onDismiss()
     }
diff --git a/app/src/main/java/com/fuban/user/ui/MainActivity.kt b/app/src/main/java/com/fuban/user/ui/MainActivity.kt
index 6b13a10..81ad559 100644
--- a/app/src/main/java/com/fuban/user/ui/MainActivity.kt
+++ b/app/src/main/java/com/fuban/user/ui/MainActivity.kt
@@ -140,18 +140,28 @@
             startActivity<ServiceActivity>()
         }
         iv_scan.setOnClickListener {
-            if (checkLogin())
-                RxPermissions(this).request(Manifest.permission.CAMERA).subscribe {
-                    if (it)
-                        startActivity<ScanActivity>(
-                            "startLat" to startLat,
-                            "startLon" to startLon,
-                            "startName" to startName
-                        )
-                    else
-                        myToast("请在应用权限页面开启相机权限")
+            if (checkLogin()) {
+                if (!RxPermissions(this).isGranted(Manifest.permission.CAMERA) //没有权限且明确拒绝就不再申请权限
+                    && SPUtils.instance().getBoolean(Const.User.IS_REFUSE_PERMISSION_CAMERA)
+                ) {
+                    myToast("请在应用权限页面开启相机权限")
+                } else {
+                    RxPermissions(this).request(Manifest.permission.CAMERA).subscribe {
+                        if (it)
+                            startActivity<ScanActivity>(
+                                "startLat" to startLat,
+                                "startLon" to startLon,
+                                "startName" to startName
+                            )
+                        else{
+                            myToast("请在应用权限页面开启相机权限")
+                            SPUtils.instance().put(Const.User.IS_REFUSE_PERMISSION_CAMERA,true).apply()
+                        }
+                    }
                 }
+            }
         }
+
     }
 
 
@@ -177,16 +187,21 @@
         isOpen = intent.getBooleanExtra("isOpen", false)
         lat = intent.getDoubleExtra("lat", 0.0)
         lon = intent.getDoubleExtra("lon", 0.0)
-        if (!isOpen){
+        if (!isOpen) {
             initLocation {
                 initLocationS { b, fucS ->
                     cl_title.visible()
                     initTwoView(b, fucS, FBApplication.lat, FBApplication.lon)
                 }
             }
-        }else{
+        } else {
             cl_title.visible()
-            initTwoView(isOpen, func?: arrayListOf(), FBApplication.lat, FBApplication.lon)
+            initTwoView(
+                isOpen,
+                func ?: arrayListOf(),
+                if (lat != 0.0) lat else FBApplication.lat,
+                if (lon != 0.0) lon else FBApplication.lon
+            )
         }
     }
 
@@ -235,16 +250,24 @@
     }
 
     private fun initLocation(function: () -> Unit) {
-        val disposable =
-            RxPermissions(this@MainActivity).request(Manifest.permission.ACCESS_FINE_LOCATION)
-                .subscribe {
-                    if (it) {
-                        function()
-                    } else {
-
+        if (!RxPermissions(this).isGranted(Manifest.permission.ACCESS_FINE_LOCATION) //没有权限且明确拒绝就不再申请权限
+            && SPUtils.instance().getBoolean(Const.User.IS_REFUSE_PERMISSION_LOCATION)
+        ) {
+            initTwoView(false, arrayListOf(), 0.0, 0.0)
+        } else {
+            val disposable =
+                RxPermissions(this@MainActivity).request(Manifest.permission.ACCESS_FINE_LOCATION)
+                    .subscribe {
+                        if (it) {
+                            function()
+                        } else {
+                            SPUtils.instance().put(Const.User.IS_REFUSE_PERMISSION_LOCATION, true)
+                                .apply()
+                            initTwoView(false, arrayListOf(), 0.0, 0.0)
+                        }
                     }
-                }
-        onBindHelper(disposable)
+            onBindHelper(disposable)
+        }
     }
 
     private fun showAlert() {
diff --git a/app/src/main/java/com/fuban/user/ui/SplashActivity.kt b/app/src/main/java/com/fuban/user/ui/SplashActivity.kt
index 1fdcc4c..11b2945 100644
--- a/app/src/main/java/com/fuban/user/ui/SplashActivity.kt
+++ b/app/src/main/java/com/fuban/user/ui/SplashActivity.kt
@@ -81,7 +81,6 @@
 
     private fun initApplication() {
         app.initUm()
-
     }
 
     private fun requestLocation() {
diff --git a/app/src/main/java/com/fuban/user/ui/TransparentStatusBarActivity.kt b/app/src/main/java/com/fuban/user/ui/TransparentStatusBarActivity.kt
index d0d89ec..dd5443e 100644
--- a/app/src/main/java/com/fuban/user/ui/TransparentStatusBarActivity.kt
+++ b/app/src/main/java/com/fuban/user/ui/TransparentStatusBarActivity.kt
@@ -1,39 +1,19 @@
 package com.fuban.user.ui
 
-import android.graphics.Color
 import android.os.Bundle
 import android.os.Environment
-import android.util.Log
-import android.view.View
 import cn.sinata.xldutils.R
 import cn.sinata.xldutils.activity.TitleActivity
 import cn.sinata.xldutils.utils.SPUtils
-import cn.sinata.xldutils.utils.myToast
-import cn.sinata.xldutils.utils.optInt
-import cn.sinata.xldutils.utils.optString
-import cn.sinata.xldutils.view.TitleBar
 import com.github.zackratos.ultimatebar.UltimateBar
-import com.fuban.user.network.HttpManager
-import com.fuban.user.network.request
 import com.fuban.user.ui.login.BindPhoneActivity
 import com.fuban.user.ui.login.LoginActivity
 import com.fuban.user.utils.Const
-import com.umeng.umverify.UMResultCode
-import com.umeng.umverify.UMVerifyHelper
-import com.umeng.umverify.listener.UMTokenResultListener
-import com.umeng.umverify.model.UMTokenRet
-import com.umeng.umverify.view.UMAbstractPnsViewDelegate
-import com.umeng.umverify.view.UMAuthRegisterXmlConfig
-import com.umeng.umverify.view.UMAuthUIConfig
 import org.jetbrains.anko.backgroundColorResource
-import org.jetbrains.anko.find
 import org.jetbrains.anko.startActivity
 import java.io.File
 
-abstract class TransparentStatusBarActivity :
-    TitleActivity() {
-    private var mTokenResultListener: UMTokenResultListener? = null
-    private var mPhoneNumberAuthHelper: UMVerifyHelper? = null
+abstract class TransparentStatusBarActivity : TitleActivity() {
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
@@ -58,7 +38,7 @@
     fun checkLogin(isLogin:Boolean = true):Boolean{
         return if (SPUtils.instance().getInt(Const.User.USER_ID) == -1){
             if (isLogin)
-                gotoLogin()
+                startActivity<LoginActivity>()
             false
         } else true
     }
@@ -79,120 +59,4 @@
         } else path
     }
 
-    private fun sdkInit() {
-        mTokenResultListener = object : UMTokenResultListener {
-            override fun onTokenSuccess(s: String) {
-                dismissDialog()
-                var tokenRet: UMTokenRet? = null
-                try {
-                    tokenRet = UMTokenRet.fromJson(s)
-                    if (UMResultCode.CODE_START_AUTHPAGE_SUCCESS == tokenRet.code) {
-                        Log.e(Const.Tag, "唤起授权页成功:$s")
-                    }
-                    if (UMResultCode.CODE_GET_TOKEN_SUCCESS == tokenRet.code) {
-                        Log.e(Const.Tag, "获取token成功:$s")
-                        getResultWithToken(tokenRet.token)
-//                        mUIConfig.release()
-                    }
-                } catch (e: Exception) {
-                    e.printStackTrace()
-                }
-            }
-
-            override fun onTokenFailed(s: String) {
-                Log.e(Const.Tag, "获取token失败:$s")
-                dismissDialog()
-                var tokenRet: UMTokenRet? = null
-                mPhoneNumberAuthHelper?.quitLoginPage()
-                try {
-                    tokenRet = UMTokenRet.fromJson(s)
-                    if (UMResultCode.CODE_ERROR_USER_CANCEL == tokenRet?.getCode()) {
-                        myToast("取消登录")
-                    } else {
-                        startActivity<LoginActivity>()
-                    }
-                } catch (e: Exception) {
-                    e.printStackTrace()
-                }
-//                mUIConfig.release()
-            }
-        }
-        mPhoneNumberAuthHelper = UMVerifyHelper.getInstance(this, mTokenResultListener)
-        mPhoneNumberAuthHelper?.removeAuthRegisterXmlConfig()
-        mPhoneNumberAuthHelper?.removeAuthRegisterViewConfig()
-        mPhoneNumberAuthHelper?.setAuthSDKInfo(Const.LOGIN_KEY)
-        val builder = object : UMAuthRegisterXmlConfig.Builder(){}
-        builder.setLayout(com.fuban.user.R.layout.activity_one_key_login,object :UMAbstractPnsViewDelegate(){
-            override fun onViewCreated(v: View) {
-                v.find<TitleBar>(R.id.titleBar).apply {
-                    titleView.text = "登录"
-                    leftClick {
-                        myToast("取消登录")
-                        mPhoneNumberAuthHelper?.quitLoginPage()
-                    }
-                }
-            }
-        })
-        mPhoneNumberAuthHelper?.addAuthRegisterXmlConfig(builder.build())
-        mPhoneNumberAuthHelper?.setAuthUIConfig(
-            UMAuthUIConfig.Builder()
-                .setNavHidden(true)
-                .setLogoHidden(true)
-                .setPrivacyState(false)
-                .setLightColor(true)
-                .setStatusBarColor(Color.TRANSPARENT)
-                .setStatusBarUIFlag(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN)
-                .setWebNavTextSize(20)
-                .setNumberSize(20)
-                .setNumberColor(Color.BLACK)
-                .setAuthPageActIn("in_activity", "out_activity")
-                .setAuthPageActOut("in_activity", "out_activity")
-                .setVendorPrivacyPrefix("《")
-                .setVendorPrivacySuffix("》")
-                .setPageBackgroundPath("page_background_color")
-                .setLogoImgPath("mytel_app_launcher")
-                .setLogBtnBackgroundPath("bg_dark_4dp")
-                .create()
-        )
-    }
-
-    override fun gotoLogin(){
-        sdkInit()
-        oneKeyLogin()
-    }
-
-    private fun oneKeyLogin() {
-        mPhoneNumberAuthHelper =
-            UMVerifyHelper.getInstance(applicationContext, mTokenResultListener)
-//        mUIConfig.configAuthPage()
-        getLoginToken(5000)
-    }
-
-    fun getResultWithToken(token: String?) {
-        HttpManager.oneClickLogin(token?:"").request(this,false, {_,data->
-            data?.let {
-                SPUtils.instance().put(Const.User.APP_ID,it.optString("appid"))
-                    .put(Const.User.TOKEN,it.optString("token"))
-                    .put(Const.User.USER_ID,it.optInt("id"))
-                    .apply()
-                mPhoneNumberAuthHelper!!.quitLoginPage()
-                if (this is MainActivity){
-                    refreshInfo()
-                }
-            }
-        }){_,_->
-            mPhoneNumberAuthHelper!!.hideLoginLoading()
-            myToast("登录失败,请选择其他登录方式")
-        }
-    }
-
-
-    /**
-     * 拉起授权页
-     * @param timeout 超时时间
-     */
-    fun getLoginToken(timeout: Int) {
-        mPhoneNumberAuthHelper!!.getLoginToken(this, timeout)
-        showDialog("正在唤起授权页")
-    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/fuban/user/ui/login/onekey/OneKeyLoginUtil.java b/app/src/main/java/com/fuban/user/ui/login/onekey/OneKeyLoginUtil.java
deleted file mode 100644
index decf814..0000000
--- a/app/src/main/java/com/fuban/user/ui/login/onekey/OneKeyLoginUtil.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.fuban.user.ui.login.onekey;
-
-public class OneKeyLoginUtil {
-
-}
diff --git a/app/src/main/java/com/fuban/user/ui/trip/MapTripFragment.kt b/app/src/main/java/com/fuban/user/ui/trip/MapTripFragment.kt
index 5fde12f..f3813ce 100644
--- a/app/src/main/java/com/fuban/user/ui/trip/MapTripFragment.kt
+++ b/app/src/main/java/com/fuban/user/ui/trip/MapTripFragment.kt
@@ -19,10 +19,7 @@
 import cn.sinata.xldutils.gone
 import cn.sinata.xldutils.ioScheduler
 import cn.sinata.xldutils.rxutils.ResultException
-import cn.sinata.xldutils.utils.SpanBuilder
-import cn.sinata.xldutils.utils.myToast
-import cn.sinata.xldutils.utils.optInt
-import cn.sinata.xldutils.utils.toTime
+import cn.sinata.xldutils.utils.*
 import cn.sinata.xldutils.visible
 import com.amap.api.location.AMapLocationClient
 import com.amap.api.location.AMapLocationClientOption
@@ -112,8 +109,8 @@
         mMapView.onCreate(savedInstanceState)
         getNotice()
         getBottomAds()
+        initMap()
         getRxPermission {
-            initMap()
             initLocation()
         }
         initTab()
@@ -381,17 +378,23 @@
     }
 
     fun getRxPermission(function: () -> Unit) {
-        val disposable =
-            RxPermissions(activity!!).request(Manifest.permission.ACCESS_FINE_LOCATION)
-                .subscribe {
-                    if (it) {
-                        function()
-                    } else {
-                        function()
-                        myToast("没有定位权限")
+        if (!RxPermissions(requireActivity()).isGranted(Manifest.permission.ACCESS_FINE_LOCATION) //没有权限且明确拒绝就不再申请权限
+            && SPUtils.instance().getBoolean(Const.User.IS_REFUSE_PERMISSION_LOCATION)){
+            function()
+//            myToast("没有定位权限")
+        }else{
+            val disposable =
+                RxPermissions(activity!!).request(Manifest.permission.ACCESS_FINE_LOCATION)
+                    .subscribe {
+                        if (it) {
+                            function()
+                        } else {
+                            SPUtils.instance().put(Const.User.IS_REFUSE_PERMISSION_LOCATION,true).apply()
+                            function()
+                        }
                     }
-                }
-        onBindHelper(disposable)
+            onBindHelper(disposable)
+        }
     }
 
     private var locCount = 0L //定位次数
@@ -400,7 +403,7 @@
         val myLocationStyle = MyLocationStyle()
         myLocationStyle.strokeColor(resources.getColor(R.color.colorBrown))
         myLocationStyle.radiusFillColor(resources.getColor(R.color.colorTransBrown))
-        myLocationStyle.interval(3000)
+        myLocationStyle.interval(10000)
         myLocationStyle.anchor(0.5f, 0.5f)
         myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE_NO_CENTER)//
         myLocationStyle.myLocationIcon(BitmapDescriptorFactory.fromResource(R.mipmap.icon_coordinate))
@@ -419,6 +422,7 @@
             FBApplication.address = it.address
             FBApplication.cityCode = it.extras.getString("adcode") ?: ""
             if (locCount < 1) {
+                Log.e(Const.Tag, "首页:lat:" + mainActivity.lat + ",lon:" + mainActivity.lon)
                 if (mainActivity.lat != 0.0)
                     aMap.animateCamera(
                         CameraUpdateFactory.newLatLngZoom(
diff --git a/app/src/main/java/com/fuban/user/utils/Const.kt b/app/src/main/java/com/fuban/user/utils/Const.kt
index 51fe02d..5d04ed1 100644
--- a/app/src/main/java/com/fuban/user/utils/Const.kt
+++ b/app/src/main/java/com/fuban/user/utils/Const.kt
@@ -28,7 +28,8 @@
         const val USER_NAME = "userName"
         const val USER_PWD = "pwd"
         const val USER_SEX = "userSex"
-        const val IS_AGREE_PERMISSION = "isAgreePermission"
+        const val IS_REFUSE_PERMISSION_LOCATION = "isRefusePermissionLocation"
+        const val IS_REFUSE_PERMISSION_CAMERA = "isRefusePermissionCamera"
 
     }
 
diff --git a/app/src/main/java/com/fuban/user/utils/InnerJsInterface.java b/app/src/main/java/com/fuban/user/utils/InnerJsInterface.java
new file mode 100644
index 0000000..9e5fdb6
--- /dev/null
+++ b/app/src/main/java/com/fuban/user/utils/InnerJsInterface.java
@@ -0,0 +1,21 @@
+package com.fuban.user.utils;
+
+import android.util.Log;
+import android.webkit.JavascriptInterface;
+
+public class InnerJsInterface {
+    @JavascriptInterface
+    public void h5Toast(String data) {
+
+    }
+
+    @JavascriptInterface
+    @SuppressWarnings("unused")
+    public void processHTML(String html) {
+        // 在这里处理html源码
+        Log.i("Fuban", "processHTML: sdf" + html);
+        String 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>";
+        html = sHead + html;
+    }
+
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/drawer_mine.xml b/app/src/main/res/layout/drawer_mine.xml
index 7cbebfb..e702dce 100644
--- a/app/src/main/res/layout/drawer_mine.xml
+++ b/app/src/main/res/layout/drawer_mine.xml
@@ -118,7 +118,6 @@
                 android:layout_height="wrap_content"
                 android:drawableStart="@mipmap/icon_me_invoice"
                 android:layout_marginStart="11dp"
-                android:visibility="gone"
                 style="@style/style_form_text_mine"
                 android:text="开发票" />
 
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png
index 5b9038d..19cf6f8 100644
--- a/app/src/main/res/mipmap-hdpi/ic_launcher.png
+++ b/app/src/main/res/mipmap-hdpi/ic_launcher.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
index 6a97252..3eaf5fa 100644
--- a/app/src/main/res/mipmap-xhdpi/ic_launcher.png
+++ b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
index 60919d4..6ca2a96 100644
--- a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
+++ b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_logo.png b/app/src/main/res/mipmap-xxhdpi/icon_logo.png
index 821f0af..fcebe63 100644
--- a/app/src/main/res/mipmap-xxhdpi/icon_logo.png
+++ b/app/src/main/res/mipmap-xxhdpi/icon_logo.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
index c9f4ad5..75ecf15 100644
--- a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
+++ b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Binary files differ
diff --git a/umeng_sdk/libs/armeabi-v7a/libweibosdkcore.so b/umeng_sdk/libs/armeabi-v7a/libweibosdkcore.so
deleted file mode 100644
index 4f22781..0000000
--- a/umeng_sdk/libs/armeabi-v7a/libweibosdkcore.so
+++ /dev/null
Binary files differ
diff --git a/umeng_sdk/libs/armeabi/libweibosdkcore.so b/umeng_sdk/libs/armeabi/libweibosdkcore.so
deleted file mode 100644
index 94192f9..0000000
--- a/umeng_sdk/libs/armeabi/libweibosdkcore.so
+++ /dev/null
Binary files differ
diff --git a/umeng_sdk/libs/umeng-uverify-2.2.0.aar b/umeng_sdk/libs/umeng-uverify-2.2.0.aar
deleted file mode 100644
index fb96c7d..0000000
--- a/umeng_sdk/libs/umeng-uverify-2.2.0.aar
+++ /dev/null
Binary files differ
diff --git a/umeng_sdk/libs/weiboSDKCore.jar b/umeng_sdk/libs/weiboSDKCore.jar
deleted file mode 100644
index 349c144..0000000
--- a/umeng_sdk/libs/weiboSDKCore.jar
+++ /dev/null
Binary files differ
diff --git a/xldutils-kotlin/src/main/AndroidManifest.xml b/xldutils-kotlin/src/main/AndroidManifest.xml
index 1c3c4d7..154ec36 100644
--- a/xldutils-kotlin/src/main/AndroidManifest.xml
+++ b/xldutils-kotlin/src/main/AndroidManifest.xml
@@ -6,7 +6,6 @@
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
-    <uses-permission android:name="android.permission.CALL_PHONE" />
 
     <application>
         <activity
diff --git a/xldutils-kotlin/src/main/java/cn/sinata/xldutils/Util.kt b/xldutils-kotlin/src/main/java/cn/sinata/xldutils/Util.kt
index 80a5f9e..cf9dd18 100644
--- a/xldutils-kotlin/src/main/java/cn/sinata/xldutils/Util.kt
+++ b/xldutils-kotlin/src/main/java/cn/sinata/xldutils/Util.kt
@@ -40,17 +40,10 @@
 fun <T> Observable<T>.defaultScheduler(): Observable<T> = this.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
 
 fun Activity.callPhone(phone:String?){
-//    val isAllow = permission(Manifest.permission.CALL_PHONE,"拨号权限",15)
-    RxPermissions(this).request(Manifest.permission.CALL_PHONE).subscribe {
-        if (it) {
-            val p = phone ?: ""
-            val intent = Intent(Intent.ACTION_DIAL)
-            intent.data = Uri.parse("tel:" + p)
-            this.startActivity(intent)
-        } else {
-            toast("没有拨号权限")
-        }
-    }
+    val p = phone ?: ""
+    val intent = Intent(Intent.ACTION_DIAL)
+    intent.data = Uri.parse("tel:" + p)
+    this.startActivity(intent)
 }
 
 fun Fragment.callPhone(phone:String?){
diff --git a/xldutils-kotlin/src/main/java/cn/sinata/xldutils/activity/WebViewActivity.kt b/xldutils-kotlin/src/main/java/cn/sinata/xldutils/activity/WebViewActivity.kt
index c4b7a3a..11ee9f9 100644
--- a/xldutils-kotlin/src/main/java/cn/sinata/xldutils/activity/WebViewActivity.kt
+++ b/xldutils-kotlin/src/main/java/cn/sinata/xldutils/activity/WebViewActivity.kt
@@ -65,7 +65,9 @@
         val type = intent.getIntExtra("type", 1)
         val url = intent.getStringExtra("url")
         if (type == 1) {
-            webView.loadData(url, "text/html; charset=utf-8", "utf-8")
+            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)
         } else {
             webView.loadUrl(url)
         }

--
Gitblit v1.7.1