18034727885
2026-03-17 5429334ea290e395ee8aae4123af30f1f3356820
处理16k问题
升级AGP到8.6.0
升级targetSdkVersion到35
15个文件已删除
10 文件已重命名
6个文件已添加
65个文件已修改
990 ■■■■■ 已修改文件
.idea/deploymentTargetSelector.xml 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/gradle.xml 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
amaplib/.gitignore 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
amaplib/build.gradle 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
amaplib/libs/AMap3DMap_7.4.0_AMapNavi_7.4.0_AMapSearch_7.3.0_AMapLocation_5.0.0_20200609.jar 补丁 | 查看 | 原始文档 | blame | 历史
amaplib/libs/AMap_Channel_Location_V1.4.0_20160708.jar 补丁 | 查看 | 原始文档 | blame | 历史
amaplib/libs/Msc.jar 补丁 | 查看 | 原始文档 | blame | 历史
amaplib/libs/Sunflower.jar 补丁 | 查看 | 原始文档 | blame | 历史
amaplib/libs/armeabi-v7a/libAMapSDK_NAVI_v7_4_0.so 补丁 | 查看 | 原始文档 | blame | 历史
amaplib/libs/armeabi-v7a/libmsc.so 补丁 | 查看 | 原始文档 | blame | 历史
amaplib/libs/armeabi-v7a/libneonuijni.so 补丁 | 查看 | 原始文档 | blame | 历史
amaplib/proguard-rules.pro 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
amaplib/src/main/AndroidManifest.xml 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
amaplib/src/main/java/cn/sinata/amaplib/util/IFlyTTS.java 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
amaplib/src/main/res/values/strings.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/build.gradle 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/libs/AMap3DMap_11.1.063_AMapNavi_11.1.063_AMapSearch_9.7.4_AMapLocation_11.1.060_20260206.aar 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/AndroidManifest.xml 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/amaplib/BaseMapActivity.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/amaplib/GPSNaviActivity.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/amaplib/overlay/AMapServicesUtil.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/amaplib/overlay/DrivingRouteOverlay.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/amaplib/overlay/RouteOverlay.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/amaplib/util/ICallBack.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/amaplib/util/SystemTTS.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/amaplib/util/TTS.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/amaplib/util/TTSController.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/IGoApplication.kt 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/AlertDialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/BannerDialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/CharterReserveTimeDialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/ChooseBirthDialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/ChooseBirthEnglishDialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/ChooseCardDialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/ChooseReserveTimeDialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/H5Dialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/ImageCodeDialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/PassengerCountDialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/PayDialog.kt 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/RegionDialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/SeatDialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/SetRedPackageDialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/ShareDialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/SingleWheelDialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/SpecialSuggestDialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/TipDialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/dialog/UserRuleDialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/network/entity/OrderData.kt 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/H5Activity.kt 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/HomeActivity.kt 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/MainActivity.kt 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/charter/CharterTypeActivity.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/charter/ChooseUsageActivity.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/crosscity/ChooseLineActivity.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/crosscity/adapter/ShiftAdapter.kt 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/login/LoginActivity.kt 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/logistics/LogisticsFragment.kt 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/mine/CouponFragment.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/mine/InvokeHisActivity.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/mine/InvokeListActivity.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/mine/MsgFragment.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/mine/RechargeRecordActivity.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/mine/ScoreActivity.kt 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/mine/ServiceRecordActivity.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/mine/TripOrderFragment.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/mine/WalletActivity.kt 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/mine/adapter/LogisticsAdapter.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/mine/adapter/ServiceRecordAdapter.kt 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/mine/adapter/WithdrawRecordAdapter.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/trip/ChooseOrderTypeActivity.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/trip/MapTripFragment.kt 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/ui/trip/ScanActivity.kt 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/igo/user/utils/google/AMapKit.kt 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_basic_navi.xml 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/layout_tab_bottom.xml 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/layout_tab_left.xml 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/layout_tab_right.xml 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/layout_tab_top.xml 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xxhdpi/icon_logo.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values-v27/styles.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values/attrs.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
build.gradle 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
download/build.gradle 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
download/src/main/AndroidManifest.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gradle/wrapper/gradle-wrapper.properties 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rxnetty/build.gradle 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rxnetty/src/main/AndroidManifest.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rxnetty/src/main/java/cn/sinata/rxnetty/CoreService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
settings.gradle 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
umeng_sdk/build.gradle 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
umeng_sdk/libs/armeabi-v7a/libsecurityenv.so 补丁 | 查看 | 原始文档 | blame | 历史
umeng_sdk/libs/armeabi/libsecurityenv.so 补丁 | 查看 | 原始文档 | blame | 历史
umeng_sdk/src/main/AndroidManifest.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xldutils-kotlin/build.gradle 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xldutils-kotlin/src/main/AndroidManifest.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xldutils-kotlin/src/main/java/cn/sinata/xldutils/activity/DatePickDialog.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/deploymentTargetSelector.xml
@@ -4,10 +4,10 @@
    <selectionStates>
      <SelectionState runConfigName="app">
        <option name="selectionMode" value="DROPDOWN" />
        <DropdownSelection timestamp="2025-12-05T12:34:26.131682400Z">
        <DropdownSelection timestamp="2026-03-17T03:28:01.122324700Z">
          <Target type="DEFAULT_BOOT">
            <handle>
              <DeviceId pluginId="PhysicalDevice" identifier="serial=3429484629000TJ" />
              <DeviceId pluginId="PhysicalDevice" identifier="serial=144131557M014688" />
            </handle>
          </Target>
        </DropdownSelection>
.idea/gradle.xml
@@ -10,7 +10,6 @@
        <option name="modules">
          <set>
            <option value="$PROJECT_DIR$" />
            <option value="$PROJECT_DIR$/amaplib" />
            <option value="$PROJECT_DIR$/app" />
            <option value="$PROJECT_DIR$/download" />
            <option value="$PROJECT_DIR$/rxnetty" />
amaplib/.gitignore
File was deleted
amaplib/build.gradle
File was deleted
amaplib/libs/AMap3DMap_7.4.0_AMapNavi_7.4.0_AMapSearch_7.3.0_AMapLocation_5.0.0_20200609.jar
Binary files differ
amaplib/libs/AMap_Channel_Location_V1.4.0_20160708.jar
Binary files differ
amaplib/libs/Msc.jar
Binary files differ
amaplib/libs/Sunflower.jar
Binary files differ
amaplib/libs/armeabi-v7a/libAMapSDK_NAVI_v7_4_0.so
Binary files differ
amaplib/libs/armeabi-v7a/libmsc.so
Binary files differ
amaplib/libs/armeabi-v7a/libneonuijni.so
Binary files differ
amaplib/proguard-rules.pro
File was deleted
amaplib/src/main/AndroidManifest.xml
File was deleted
amaplib/src/main/java/cn/sinata/amaplib/util/IFlyTTS.java
File was deleted
amaplib/src/main/res/values/strings.xml
File was deleted
app/build.gradle
@@ -4,18 +4,9 @@
apply plugin: 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
android {
    compileSdkVersion 34
    compileSdkVersion 35
    buildToolsVersion "33.0.3"
    defaultConfig {
        applicationId "com.gopost.user"
        minSdkVersion 23
        targetSdkVersion 34
        versionCode 3
        versionName "1.3"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    namespace "com.igo.user"
    //签名
    signingConfigs {
        release {
@@ -26,14 +17,21 @@
        }
    }
    defaultConfig {
        applicationId "com.gopost.user"
        minSdkVersion 23
        targetSdkVersion 35
        versionCode 3
        versionName "1.3"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            zipAlignEnabled true
            signingConfig signingConfigs.release
//            ndk {
//                abiFilters "armeabi-v7a" // 保留这种架构的CPU
//            }
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            applicationVariants.all { variant ->
                // 更新至Android Studio 3.3 gradle 4.10.1
                variant.outputs.all {
@@ -41,14 +39,11 @@
                }
            }
        }
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            zipAlignEnabled true
            signingConfig signingConfigs.release
//            ndk {
//                abiFilters "armeabi-v7a" // 保留这种架构的CPU
//            }
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
@@ -56,26 +51,39 @@
        // Flag to enable support for the new language APIs
        coreLibraryDesugaringEnabled true
        // Sets Java compatibility to Java 8
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
    buildFeatures {
        viewBinding true
    kotlinOptions {
        jvmTarget = "17"  // 与上面保持一致
    }
    //netty 必须屏蔽这几个文件
    packagingOptions {
        jniLibs {
            useLegacyPackaging true
        }
        exclude 'META-INF/NOTICE' // will not include NOTICE file
        exclude 'META-INF/LICENSE' // will not include LICENSE file
        //netty files
        exclude 'META-INF/INDEX.LIST' // will not include this file
        exclude 'META-INF/io.netty.versions.properties' // will not include this file
    }
    buildFeatures {
        viewBinding true
        buildConfig = true  // 显式启用 BuildConfig
    }
}
repositories {
    flatDir {
        dirs 'libs'
    }
}
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    api "androidx.appcompat:appcompat:$support_version"
    implementation 'androidx.core:core-ktx:1.3.0'
@@ -89,7 +97,6 @@
  //  androidTestImplementation 'androidx.test.ext:junit:1.1.1'
   // androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation project(path: ':xldutils-kotlin')
    implementation project(path: ':amaplib')
    implementation 'com.google.android.material:material:1.3.0-alpha01'
    implementation project(path: ':rxnetty')
    implementation project(path: ':umeng_sdk')
app/libs/AMap3DMap_11.1.063_AMapNavi_11.1.063_AMapSearch_9.7.4_AMapLocation_11.1.060_20260206.aar
Binary files differ
app/src/main/AndroidManifest.xml
@@ -1,9 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.igo.user">
    xmlns:tools="http://schemas.android.com/tools">
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <!--用于进行网络定位-->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <!--用于访问GPS定位-->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <!--用于获取运营商信息,用于支持提供运营商信息相关的接口-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!--用于访问wifi网络信息,wifi信息会用于进行网络定位-->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!--用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <!--用于访问网络,网络定位需要上网-->
    <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" />
    <!--用于申请调用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.BLUETOOTH_ADMIN" />
    <queries>
        <package android:name="com.tencent.mm" />
@@ -187,6 +207,14 @@
            android:name="com.facebook.FacebookContentProvider"
            android:authorities="com.facebook.app.FacebookContentProvider661650775599977"
            android:exported="true" />
        <meta-data
            android:name="com.amap.api.v2.apikey"
            android:value="d0fe364eaca0bfb6ad74ade643d3a34c" />
        <activity
            android:name="amaplib.GPSNaviActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:theme="@android:style/Theme.Light.NoTitleBar" />
        <service android:name="com.amap.api.location.APSService" />
    </application>
</manifest>
app/src/main/java/amaplib/BaseMapActivity.java
File was renamed from amaplib/src/main/java/cn/sinata/amaplib/BaseMapActivity.java
@@ -1,4 +1,4 @@
package cn.sinata.amaplib;
package amaplib;
import android.app.Activity;
import android.os.Bundle;
@@ -11,12 +11,12 @@
import com.amap.api.navi.AMapNaviListener;
import com.amap.api.navi.AMapNaviView;
import com.amap.api.navi.AMapNaviViewListener;
import com.amap.api.navi.NaviSetting;
import com.amap.api.navi.model.AMapCalcRouteResult;
import com.amap.api.navi.model.AMapLaneInfo;
import com.amap.api.navi.model.AMapModelCross;
import com.amap.api.navi.model.AMapNaviCameraInfo;
import com.amap.api.navi.model.AMapNaviCross;
import com.amap.api.navi.model.AMapNaviInfo;
import com.amap.api.navi.model.AMapNaviLocation;
import com.amap.api.navi.model.AMapNaviRouteNotifyData;
import com.amap.api.navi.model.AMapNaviTrafficFacilityInfo;
@@ -25,12 +25,11 @@
import com.amap.api.navi.model.AimLessModeStat;
import com.amap.api.navi.model.NaviInfo;
import com.amap.api.navi.model.NaviLatLng;
import com.autonavi.tbt.TrafficFacilityInfo;
import java.util.ArrayList;
import java.util.List;
import cn.sinata.amaplib.util.TTSController;
import amaplib.util.TTSController;
public class BaseMapActivity extends Activity implements AMapNaviListener, AMapNaviViewListener {
@@ -38,8 +37,8 @@
    protected AMapNaviView mAMapNaviView;
    protected AMapNavi mAMapNavi;
    protected TTSController mTtsManager;
    protected NaviLatLng mEndLatlng = new NaviLatLng(40.084894,116.603039);
    protected NaviLatLng mStartLatlng = new NaviLatLng(39.825934,116.342972);
    protected NaviLatLng mEndLatlng = new NaviLatLng(40.084894, 116.603039);
    protected NaviLatLng mStartLatlng = new NaviLatLng(39.825934, 116.342972);
    protected final List<NaviLatLng> sList = new ArrayList<>();
    protected final List<NaviLatLng> eList = new ArrayList<>();
    protected List<NaviLatLng> mWayPointList;
@@ -53,30 +52,44 @@
        mTtsManager.init();
        //
        mAMapNavi = AMapNavi.getInstance(getApplicationContext());
        mAMapNavi.addAMapNaviListener(this);
        try {
            NaviSetting.updatePrivacyShow(this, true, true);
            NaviSetting.updatePrivacyAgree(this, true);
            mAMapNavi = AMapNavi.getInstance(getApplicationContext());
            if (mAMapNavi == null) {
                finish();
                return;
            }
            mAMapNavi.addAMapNaviListener(this);
//        mAMapNavi.addAMapNaviListener(mTtsManager);
        LatLng mStart = getIntent().getParcelableExtra("start");
        LatLng mEnd = getIntent().getParcelableExtra("end");
        mStartLatlng = new NaviLatLng(mStart.latitude, mStart.longitude);
        mEndLatlng = new NaviLatLng(mEnd.latitude, mEnd.longitude);
        //设置模拟导航的行车速度
        mAMapNavi.setEmulatorNaviSpeed(75);
        sList.add(mStartLatlng);
        eList.add(mEndLatlng);
            LatLng mStart = getIntent().getParcelableExtra("start");
            LatLng mEnd = getIntent().getParcelableExtra("end");
            mStartLatlng = new NaviLatLng(mStart.latitude, mStart.longitude);
            mEndLatlng = new NaviLatLng(mEnd.latitude, mEnd.longitude);
            //设置模拟导航的行车速度
            mAMapNavi.setEmulatorNaviSpeed(75);
            sList.add(mStartLatlng);
            eList.add(mEndLatlng);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    @Override
    protected void onResume() {
        super.onResume();
        mAMapNaviView.onResume();
        if (mAMapNavi != null) {
            mAMapNaviView.onResume();
        }
    }
    @Override
    protected void onPause() {
        super.onPause();
        mAMapNaviView.onPause();
        if (mAMapNavi != null) {
            mAMapNaviView.onPause();
        }
//        仅仅是停止你当前在说的这句话,一会到新的路口还是会再说的
        mTtsManager.stopSpeaking();
@@ -88,10 +101,12 @@
    @Override
    protected void onDestroy() {
        super.onDestroy();
        mAMapNaviView.onDestroy();
        //since 1.6.0 不再在naviview destroy的时候自动执行AMapNavi.stopNavi();请自行执行
        mAMapNavi.stopNavi();
        mAMapNavi.destroy();
        if (mAMapNavi != null) {
            mAMapNaviView.onDestroy();
            //since 1.6.0 不再在naviview destroy的时候自动执行AMapNavi.stopNavi();请自行执行
            mAMapNavi.stopNavi();
            mAMapNavi.destroy();
        }
        mTtsManager.destroy();
    }
@@ -202,12 +217,6 @@
        //全览按钮点击回调
    }
    @Deprecated
    @Override
    public void onNaviInfoUpdated(AMapNaviInfo naviInfo) {
        //过时
    }
    @Override
    public void updateCameraInfo(AMapNaviCameraInfo[] aMapCameraInfos) {
@@ -226,11 +235,6 @@
    @Override
    public void onNaviInfoUpdate(NaviInfo naviinfo) {
        //导航过程中的信息更新,请看NaviInfo的具体说明
    }
    @Override
    public void OnUpdateTrafficFacility(TrafficFacilityInfo trafficFacilityInfo) {
        //已过时
    }
    @Override
@@ -335,6 +339,11 @@
    }
    @Override
    public void onGpsSignalWeak(boolean b) {
    }
    @Override
    public void onLockMap(boolean isLock) {
app/src/main/java/amaplib/GPSNaviActivity.java
File was renamed from amaplib/src/main/java/cn/sinata/amaplib/GPSNaviActivity.java
@@ -1,9 +1,10 @@
package cn.sinata.amaplib;
package amaplib;
import android.os.Bundle;
import com.amap.api.navi.AMapNaviViewOptions;
import com.amap.api.navi.enums.NaviType;
import com.igo.user.R;
public class GPSNaviActivity extends BaseMapActivity {
app/src/main/java/amaplib/overlay/AMapServicesUtil.java
File was renamed from amaplib/src/main/java/cn/sinata/amaplib/overlay/AMapServicesUtil.java
@@ -1,4 +1,4 @@
package cn.sinata.amaplib.overlay;
package amaplib.overlay;
/**
 * 
app/src/main/java/amaplib/overlay/DrivingRouteOverlay.java
File was renamed from amaplib/src/main/java/cn/sinata/amaplib/overlay/DrivingRouteOverlay.java
@@ -1,4 +1,4 @@
package cn.sinata.amaplib.overlay;
package amaplib.overlay;
import android.content.Context;
app/src/main/java/amaplib/overlay/RouteOverlay.java
File was renamed from amaplib/src/main/java/cn/sinata/amaplib/overlay/RouteOverlay.java
@@ -1,4 +1,4 @@
package cn.sinata.amaplib.overlay;
package amaplib.overlay;
import android.content.Context;
import android.graphics.Bitmap;
app/src/main/java/amaplib/util/ICallBack.java
File was renamed from amaplib/src/main/java/cn/sinata/amaplib/util/ICallBack.java
@@ -1,4 +1,4 @@
package cn.sinata.amaplib.util;
package amaplib.util;
/**
 * 创建时间:2017-9-20 下午3:37:55
app/src/main/java/amaplib/util/SystemTTS.java
File was renamed from amaplib/src/main/java/cn/sinata/amaplib/util/SystemTTS.java
@@ -1,4 +1,4 @@
package cn.sinata.amaplib.util;
package amaplib.util;
import android.annotation.SuppressLint;
import android.content.Context;
app/src/main/java/amaplib/util/TTS.java
File was renamed from amaplib/src/main/java/cn/sinata/amaplib/util/TTS.java
@@ -1,4 +1,4 @@
package cn.sinata.amaplib.util;
package amaplib.util;
/**  
 * 创建时间:2017-9-20 下午3:37:55  
app/src/main/java/amaplib/util/TTSController.java
File was renamed from amaplib/src/main/java/cn/sinata/amaplib/util/TTSController.java
@@ -1,4 +1,4 @@
package cn.sinata.amaplib.util;
package amaplib.util;
import android.content.Context;
import android.os.Handler;
@@ -10,7 +10,6 @@
import com.amap.api.navi.model.AMapModelCross;
import com.amap.api.navi.model.AMapNaviCameraInfo;
import com.amap.api.navi.model.AMapNaviCross;
import com.amap.api.navi.model.AMapNaviInfo;
import com.amap.api.navi.model.AMapNaviLocation;
import com.amap.api.navi.model.AMapNaviRouteNotifyData;
import com.amap.api.navi.model.AMapNaviTrafficFacilityInfo;
@@ -18,7 +17,6 @@
import com.amap.api.navi.model.AimLessModeCongestionInfo;
import com.amap.api.navi.model.AimLessModeStat;
import com.amap.api.navi.model.NaviInfo;
import com.autonavi.tbt.TrafficFacilityInfo;
import java.util.LinkedList;
@@ -52,7 +50,6 @@
    private Context mContext;
    private TTS tts = null;
    private SystemTTS systemTTS;
    private IFlyTTS iflyTTS = null;
    private LinkedList<String> wordList = new LinkedList<String>();
    private final int TTS_PLAY = 1;
    private final int CHECK_TTS_PLAY = 2;
@@ -78,26 +75,19 @@
    public void setTTSType(TTSType type) {
        if (type == TTSType.SYSTEMTTS) {
            tts = systemTTS;
        } else {
            tts = iflyTTS;
            tts = systemTTS;tts.setCallback(this);
        }
        tts.setCallback(this);
    }
    private TTSController(Context context) {
        mContext = context.getApplicationContext();
        systemTTS = SystemTTS.getInstance(mContext);
        iflyTTS = IFlyTTS.getInstance(mContext);
        tts = iflyTTS;
        tts = systemTTS;
    }
    public void init() {
        if (systemTTS != null) {
            systemTTS.init();
        }
        if (iflyTTS != null) {
            iflyTTS.init();
        }
        tts.setCallback(this);
    }
@@ -113,18 +103,12 @@
        if (systemTTS != null) {
            systemTTS.stopSpeak();
        }
        if (iflyTTS != null) {
            iflyTTS.stopSpeak();
        }
        wordList.clear();
    }
    public void destroy() {
        if (systemTTS != null) {
            systemTTS.destroy();
        }
        if (iflyTTS != null) {
            iflyTTS.destroy();
        }
        ttsManager = null;
    }
@@ -195,11 +179,6 @@
    @Override
    public void onNaviInfoUpdate(NaviInfo naviinfo) {
    }
    @Override
    public void onNaviInfoUpdated(AMapNaviInfo aMapNaviInfo) {
    }
@@ -286,16 +265,15 @@
    }
    @Override
    public void onGpsSignalWeak(boolean b) {
    }
    @Override
    public void onGetNavigationText(String playText) {
        if (wordList != null)
            wordList.addLast(playText);
        handler.obtainMessage(CHECK_TTS_PLAY).sendToTarget();
    }
    @Override
    @Deprecated
    public void OnUpdateTrafficFacility(TrafficFacilityInfo arg0) {
    }
    @Override
app/src/main/java/com/igo/user/IGoApplication.kt
@@ -11,7 +11,6 @@
import cn.sinata.xldutils.application.BaseApplication
import cn.sinata.xldutils.utils.SPUtils
import cn.sinata.xldutils.utils.myToast
import com.amap.api.col.sln3.it
import com.google.android.gms.maps.MapsInitializer
import com.google.android.libraries.places.api.Places
import com.google.gson.Gson
app/src/main/java/com/igo/user/dialog/AlertDialog.kt
@@ -22,7 +22,7 @@
    }
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME,R.style.FadeDialog)
        setStyle(STYLE_NO_FRAME,cn.sinata.xldutils.R.style.FadeDialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
app/src/main/java/com/igo/user/dialog/BannerDialog.kt
@@ -33,7 +33,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME,R.style.FadeDialog)
        setStyle(STYLE_NO_FRAME,cn.sinata.xldutils.R.style.FadeDialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
app/src/main/java/com/igo/user/dialog/CharterReserveTimeDialog.kt
@@ -32,7 +32,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME, R.style.Dialog)
        setStyle(STYLE_NO_FRAME, cn.sinata.xldutils.R.style.Dialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
app/src/main/java/com/igo/user/dialog/ChooseBirthDialog.kt
@@ -31,7 +31,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME, R.style.Dialog)
        setStyle(STYLE_NO_FRAME, cn.sinata.xldutils.R.style.Dialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
app/src/main/java/com/igo/user/dialog/ChooseBirthEnglishDialog.kt
@@ -35,7 +35,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME, R.style.Dialog)
        setStyle(STYLE_NO_FRAME, cn.sinata.xldutils.R.style.Dialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
app/src/main/java/com/igo/user/dialog/ChooseCardDialog.kt
@@ -35,7 +35,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME, R.style.Dialog)
        setStyle(STYLE_NO_FRAME, cn.sinata.xldutils.R.style.Dialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
app/src/main/java/com/igo/user/dialog/ChooseReserveTimeDialog.kt
@@ -46,7 +46,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME, R.style.Dialog)
        setStyle(STYLE_NO_FRAME, cn.sinata.xldutils.R.style.Dialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
app/src/main/java/com/igo/user/dialog/H5Dialog.kt
@@ -21,7 +21,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME, R.style.FadeDialog)
        setStyle(STYLE_NO_FRAME, cn.sinata.xldutils.R.style.FadeDialog)
    }
    private val tv_ok by lazy { find<TextView>(R.id.tv_ok) }
    private val tv_title by lazy { find<TextView>(R.id.tv_title) }
app/src/main/java/com/igo/user/dialog/ImageCodeDialog.kt
@@ -41,7 +41,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME, R.style.FadeDialog)
        setStyle(STYLE_NO_FRAME, cn.sinata.xldutils.R.style.FadeDialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
app/src/main/java/com/igo/user/dialog/PassengerCountDialog.kt
@@ -32,7 +32,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME, R.style.Dialog)
        setStyle(STYLE_NO_FRAME, cn.sinata.xldutils.R.style.Dialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
app/src/main/java/com/igo/user/dialog/PayDialog.kt
@@ -34,7 +34,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME,R.style.Dialog)
        setStyle(STYLE_NO_FRAME,cn.sinata.xldutils.R.style.Dialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)
@@ -115,7 +115,7 @@
            val s = getString(R.string.红包余额和可用红包抵扣).format(redBalance,redMoney)
            cb_red.text = SpanBuilder(s).bold(0,s.indexOf(redBalance)).bold(s.indexOf(redBalance)+redBalance.length,s.length)
                .size(s.indexOf(redBalance),s.indexOf(redBalance)+redBalance.length,12)
                .color(requireContext(),s.indexOf(redTotals),s.indexOf(redTotals)+redTotals.length,R.color.color_text_price).build()
                .color(requireContext(),s.indexOf(redTotals),s.indexOf(redTotals)+redTotals.length,cn.sinata.xldutils.R.color.color_text_price).build()
        }
        if (type == Const.OrderType.TYPE_CROSS_CITY||isCancel||isFrozen) //跨城支付有线下支付
            rb_offline.gone()
app/src/main/java/com/igo/user/dialog/RegionDialog.kt
@@ -33,7 +33,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME, R.style.Dialog)
        setStyle(STYLE_NO_FRAME, cn.sinata.xldutils.R.style.Dialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
app/src/main/java/com/igo/user/dialog/SeatDialog.kt
@@ -54,7 +54,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME, R.style.Dialog)
        setStyle(STYLE_NO_FRAME, cn.sinata.xldutils.R.style.Dialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
app/src/main/java/com/igo/user/dialog/SetRedPackageDialog.kt
@@ -22,7 +22,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME,R.style.Dialog)
        setStyle(STYLE_NO_FRAME,cn.sinata.xldutils.R.style.Dialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)
app/src/main/java/com/igo/user/dialog/ShareDialog.kt
@@ -31,7 +31,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME,R.style.Dialog)
        setStyle(STYLE_NO_FRAME,cn.sinata.xldutils.R.style.Dialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)
app/src/main/java/com/igo/user/dialog/SingleWheelDialog.kt
@@ -36,7 +36,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME, R.style.Dialog)
        setStyle(STYLE_NO_FRAME, cn.sinata.xldutils.R.style.Dialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
app/src/main/java/com/igo/user/dialog/SpecialSuggestDialog.kt
@@ -19,7 +19,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME,R.style.FadeDialog)
        setStyle(STYLE_NO_FRAME,cn.sinata.xldutils.R.style.FadeDialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
app/src/main/java/com/igo/user/dialog/TipDialog.kt
@@ -21,7 +21,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME,R.style.FadeDialog)
        setStyle(STYLE_NO_FRAME,cn.sinata.xldutils.R.style.FadeDialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {
app/src/main/java/com/igo/user/dialog/UserRuleDialog.kt
@@ -26,7 +26,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME, R.style.FadeDialog)
        setStyle(STYLE_NO_FRAME, cn.sinata.xldutils.R.style.FadeDialog)
    }
    private val privacy by lazy {
app/src/main/java/com/igo/user/network/entity/OrderData.kt
@@ -140,12 +140,12 @@
    fun getStateColor() = when(state){
        7-> R.color.colorRed
        10-> R.color.textColor66
        10-> cn.sinata.xldutils.R.color.textColor66
        else->R.color.colorPrimary
    }
    fun getCharterStateColor() = when(state){
        3-> R.color.textColor66
        3-> cn.sinata.xldutils.R.color.textColor66
        else->R.color.colorPrimary
    }
}
app/src/main/java/com/igo/user/ui/H5Activity.kt
@@ -14,9 +14,9 @@
class H5Activity :WebViewActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        titleBar.setTitleColor(R.color.textColor)
        titleBar.backgroundColorResource = R.color.white
        titleBar.leftView.setCompoundDrawablesWithIntrinsicBounds(R.mipmap.back,0,0,0)
        titleBar.setTitleColor(cn.sinata.xldutils.R.color.textColor)
        titleBar.backgroundColorResource = cn.sinata.xldutils.R.color.white
        titleBar.leftView.setCompoundDrawablesWithIntrinsicBounds(cn.sinata.xldutils.R.mipmap.back,0,0,0)
        UltimateBar.with(this)
            .statusDark(true)
            .create().immersionBar() //沉浸状态栏
app/src/main/java/com/igo/user/ui/HomeActivity.kt
@@ -17,7 +17,6 @@
import cn.sinata.xldutils.utils.optInt
import cn.sinata.xldutils.utils.optString
import cn.sinata.xldutils.utils.showAllowingStateLoss
import com.amap.api.col.sln3.it
import com.bumptech.glide.Glide
import com.facebook.drawee.view.SimpleDraweeView
import com.flyco.tablayout.SlidingTabLayout
app/src/main/java/com/igo/user/ui/MainActivity.kt
@@ -30,7 +30,6 @@
import cn.sinata.xldutils.utils.optString
import cn.sinata.xldutils.utils.showAllowingStateLoss
import cn.sinata.xldutils.visible
import com.amap.api.col.sln3.it
import com.facebook.drawee.view.SimpleDraweeView
import com.flyco.tablayout.SlidingTabLayout
import com.flyco.tablayout.listener.OnTabSelectListener
@@ -282,7 +281,7 @@
                this,
                t.indexOf(i.toString()),
                t.indexOf(i.toString()) + i.toString().length,
                R.color.black
                cn.sinata.xldutils.R.color.black
            ).build()
        tv_tip.text = stringBuilder
@@ -359,10 +358,10 @@
            if (this == 0) {
                iv_scan.visible()
                tabview1.textColor = getColor(R.color.colorPrimary)
                tabview2.textColor = getColor(R.color.textColor99)
                tabview2.textColor = getColor(cn.sinata.xldutils.R.color.textColor99)
            } else {
                iv_scan.gone()
                tabview1.textColor = getColor(R.color.textColor99)
                tabview1.textColor = getColor(cn.sinata.xldutils.R.color.textColor99)
                tabview2.textColor = getColor(R.color.colorPrimary)
            }
            if (this == 1) tv_tip.gone()
@@ -430,7 +429,7 @@
            taxiFragment.changeType(Const.OrderType.TYPE_SPECIAL)
            tabview1.textColor = getColor(R.color.colorPrimary)
            tabview2.textColor = getColor(R.color.textColor99)
            tabview2.textColor = getColor(cn.sinata.xldutils.R.color.textColor99)
        }
        tabview2.setOnClickListener {
@@ -441,7 +440,7 @@
            logisticsFragment.changeType(Const.OrderType.TYPE_SAME_CITY)
            tabview2.textColor = getColor(R.color.colorPrimary)
            tabview1.textColor = getColor(R.color.textColor99)
            tabview1.textColor = getColor(cn.sinata.xldutils.R.color.textColor99)
        }
        if (func.isEmpty())
            return
app/src/main/java/com/igo/user/ui/charter/CharterTypeActivity.kt
@@ -18,7 +18,7 @@
    private val datas = arrayListOf<CarPrice>()
    private val adapter = CarTypeAdapter(datas)
    override fun setContentView() = R.layout.base_recyclerview_layout
    override fun setContentView() = cn.sinata.xldutils.R.layout.base_recyclerview_layout
    override fun initClick() {
        adapter.setOnItemClickListener { _, position ->
app/src/main/java/com/igo/user/ui/charter/ChooseUsageActivity.kt
@@ -9,7 +9,7 @@
import org.jetbrains.anko.find
class ChooseUsageActivity:TransparentStatusBarActivity() {
    override fun setContentView() = R.layout.base_recyclerview_layout
    override fun setContentView() = cn.sinata.xldutils.R.layout.base_recyclerview_layout
    private val datas by lazy {
        intent.getStringArrayListExtra("data")?: arrayListOf()
    }
app/src/main/java/com/igo/user/ui/crosscity/ChooseLineActivity.kt
@@ -15,7 +15,7 @@
import org.jetbrains.anko.startActivity
class ChooseLineActivity :TransparentStatusBarActivity(){
    override fun setContentView() = R.layout.base_recyclerview_layout
    override fun setContentView() = cn.sinata.xldutils.R.layout.base_recyclerview_layout
    private val lvLine by lazy {
        find<SwipeRefreshRecyclerLayout>(R.id.swipeRefreshLayout)
app/src/main/java/com/igo/user/ui/crosscity/adapter/ShiftAdapter.kt
@@ -14,14 +14,14 @@
    override fun onBind(holder: ViewHolder, position: Int, data: Shift) {
        val timeStr = String.format("发车时间\n约%s",
            if (data.startTime.startsWith("0")) data.startTime.substring(1) else data.startTime)
        holder.setText(R.id.tv_time,SpanBuilder(timeStr).size(0,6,12).color(context,0,6,R.color.black).build())
        holder.setText(R.id.tv_time,SpanBuilder(timeStr).size(0,6,12).color(context,0,6,cn.sinata.xldutils.R.color.black).build())
        holder.bind<SimpleDraweeView>(R.id.iv_avatar).setImageURI(data.headImgUrl)
        holder.setText(R.id.tv_name,String.format("%s %s",data.name,data.carLicensePlate))
        holder.setText(R.id.tv_count,"可乘人数${data.number}")
        holder.setText(R.id.tv_car_info,String.format("%s·%s",data.brand,data.carColor))
        holder.setText(R.id.tv_score,String.format("%.1f",data.evaluate))
        holder.setText(R.id.tv_price,SpanBuilder(String.format("预估金额¥%.2f/人",data.price))
            .size(0,4,11).color(context,0,4,R.color.textColor).build())
            .size(0,4,11).color(context,0,4,cn.sinata.xldutils.R.color.textColor).build())
        val head = holder.bind<View>(R.id.bg)
        holder.bind<View>(R.id.tv_empty).visibility = if (data.carId == 0) {
            head.invisible()
app/src/main/java/com/igo/user/ui/login/LoginActivity.kt
@@ -23,7 +23,6 @@
import cn.sinata.xldutils.utils.optString
import cn.sinata.xldutils.utils.showAllowingStateLoss
import cn.sinata.xldutils.visible
import com.amap.api.col.sln3.it
import com.facebook.AccessToken
import com.facebook.CallbackManager
import com.facebook.FacebookCallback
app/src/main/java/com/igo/user/ui/logistics/LogisticsFragment.kt
@@ -29,7 +29,6 @@
import cn.sinata.xldutils.utils.showAllowingStateLoss
import cn.sinata.xldutils.utils.toTime
import cn.sinata.xldutils.visible
import com.amap.api.col.sln3.it
import com.facebook.drawee.view.SimpleDraweeView
import com.google.android.gms.maps.CameraUpdateFactory
import com.google.android.gms.maps.GoogleMap
@@ -617,7 +616,7 @@
                    )
                    tv_receiver.text = SpanBuilder(receiver).color(
                        requireActivity(), receiver.length - receiveAddress.length - receiveRegion.length,
                        receiver.length, R.color.textColor99
                        receiver.length, cn.sinata.xldutils.R.color.textColor99
                    ).size(
                        receiver.length - receiveAddress.length - receiveRegion.length,
                        receiver.length, 12
app/src/main/java/com/igo/user/ui/mine/CouponFragment.kt
@@ -41,7 +41,7 @@
        })
    }
    private var page = 1
    override fun contentViewId() = R.layout.base_recyclerview_layout
    override fun contentViewId() = cn.sinata.xldutils.R.layout.base_recyclerview_layout
    override fun onFirstVisibleToUser() {
        swipeRefreshLayout.setLayoutManager(LinearLayoutManager(activity))
app/src/main/java/com/igo/user/ui/mine/InvokeHisActivity.kt
@@ -11,7 +11,7 @@
import org.jetbrains.anko.find
class InvokeHisActivity :TransparentStatusBarActivity(),SwipeRefreshRecyclerLayout.OnRefreshListener{
    override fun setContentView() = R.layout.base_recyclerview_layout
    override fun setContentView() = cn.sinata.xldutils.R.layout.base_recyclerview_layout
    private val datas = arrayListOf<InvokeHis>()
    private val adapter = InvokeHisAdapter(datas)
app/src/main/java/com/igo/user/ui/mine/InvokeListActivity.kt
@@ -13,7 +13,7 @@
import org.jetbrains.anko.find
class InvokeListActivity : TransparentStatusBarActivity(),SwipeRefreshRecyclerLayout.OnRefreshListener {
    override fun setContentView() = R.layout.base_recyclerview_layout
    override fun setContentView() = cn.sinata.xldutils.R.layout.base_recyclerview_layout
    private val swipeRefreshLayout by lazy { find<SwipeRefreshRecyclerLayout>(R.id.swipeRefreshLayout) }
    private val list = arrayListOf<EmailBean>()
    private val adapter = EmailAdapter(list)
app/src/main/java/com/igo/user/ui/mine/MsgFragment.kt
@@ -15,7 +15,7 @@
import org.jetbrains.anko.support.v4.startActivity
class MsgFragment:BaseFragment(){
    override fun contentViewId() = R.layout.base_recyclerview_layout
    override fun contentViewId() = cn.sinata.xldutils.R.layout.base_recyclerview_layout
    private val type by lazy {
        requireArguments().getInt("type", TYPE_MSG)
app/src/main/java/com/igo/user/ui/mine/RechargeRecordActivity.kt
@@ -42,7 +42,7 @@
        UltimateBar.with(this)
        .create().immersionBar() //沉浸状态栏
        titleBar.titleView.text = getString(R.string.充值记录)
        titleBar.titleView.textColorResource = R.color.white
        titleBar.titleView.textColorResource = cn.sinata.xldutils.R.color.white
        titleBar.leftView.setCompoundDrawablesWithIntrinsicBounds(R.mipmap.back_white,0,0,0)
        lv_list.setOnRefreshListener(object : SwipeRefreshRecyclerLayout.OnRefreshListener{
            override fun onRefresh() {
app/src/main/java/com/igo/user/ui/mine/ScoreActivity.kt
@@ -19,7 +19,7 @@
import org.jetbrains.anko.startActivityForResult
class ScoreActivity : TransparentStatusBarActivity() ,SwipeRefreshRecyclerLayout.OnRefreshListener{
    override fun setContentView() = R.layout.base_recyclerview_layout
    override fun setContentView() = cn.sinata.xldutils.R.layout.base_recyclerview_layout
    private val mSwipeRefreshLayout by lazy {
        find<SwipeRefreshRecyclerLayout>(R.id.swipeRefreshLayout)
@@ -45,7 +45,7 @@
        titleBar.addRightButton(getString(R.string.兑换记录换行),onClickListener = View.OnClickListener {
            startActivity<RecordActivity>("type" to RecordActivity.TYPE_SCORE)
        })
        mSwipeRefreshLayout.backgroundColorResource = R.color.white
        mSwipeRefreshLayout.backgroundColorResource = cn.sinata.xldutils.R.color.white
        mSwipeRefreshLayout.setPadding(dip(14),0,dip(14),0)
        mSwipeRefreshLayout.setLayoutManager(GridLayoutManager(this,2))
        mSwipeRefreshLayout.setAdapter(adapter)
app/src/main/java/com/igo/user/ui/mine/ServiceRecordActivity.kt
@@ -11,7 +11,7 @@
import org.jetbrains.anko.find
class ServiceRecordActivity:TransparentStatusBarActivity() {
    override fun setContentView() = R.layout.base_recyclerview_layout
    override fun setContentView() = cn.sinata.xldutils.R.layout.base_recyclerview_layout
    private val swipeRefreshLayout by lazy {
        find<SwipeRefreshRecyclerLayout>(R.id.swipeRefreshLayout)
app/src/main/java/com/igo/user/ui/mine/TripOrderFragment.kt
@@ -30,7 +30,7 @@
import org.jetbrains.anko.support.v4.startActivityForResult
class TripOrderFragment :BaseFragment(), PayListener {
    override fun contentViewId() = R.layout.base_recyclerview_layout
    override fun contentViewId() = cn.sinata.xldutils.R.layout.base_recyclerview_layout
    private val type by lazy {
        arguments?.getInt("type", TYPE_TAXI)?: TYPE_TAXI
    }
app/src/main/java/com/igo/user/ui/mine/WalletActivity.kt
@@ -35,12 +35,12 @@
        UltimateBar.with(this)
            .create().immersionBar() //沉浸状态栏
        titleBar.titleView.text = getString(R.string.钱包)
        titleBar.titleView.textColorResource = R.color.white
        titleBar.titleView.textColorResource = cn.sinata.xldutils.R.color.white
        titleBar.leftView.setCompoundDrawablesWithIntrinsicBounds(R.mipmap.back_white,0,0,0)
        titleBar.addRightButton(getString(R.string.提现),onClickListener = View.OnClickListener {
            startActivityForResult<WithdrawActivity>(1,"balance" to balance)
        })
        titleBar.getRightButton(0)?.textColorResource = R.color.white
        titleBar.getRightButton(0)?.textColorResource = cn.sinata.xldutils.R.color.white
        tv_money.text = balance.showMoney(this)
        tv_recharge_record.setOnClickListener {
            startActivity<RechargeRecordActivity>("rechargeTotal" to rechargeTotal)
app/src/main/java/com/igo/user/ui/mine/adapter/LogisticsAdapter.kt
@@ -24,7 +24,7 @@
        holder.setText(R.id.tv_goods_typ,if (data.remark.isNullOrEmpty()) "——" else data.remark)
        holder.setText(R.id.tv_trip_time,data.time)
        holder.setText(R.id.tv_state,context.getString(data.getLogisticsState()))
        holder.bind<TextView>(R.id.tv_state).textColorResource = if (data.state == 10) R.color.textColor66 else R.color.colorPrimary
        holder.bind<TextView>(R.id.tv_state).textColorResource = if (data.state == 10) cn.sinata.xldutils.R.color.textColor66 else R.color.colorPrimary
        cancel.onClick {
            callback.onCancel(position)
        }
app/src/main/java/com/igo/user/ui/mine/adapter/ServiceRecordAdapter.kt
@@ -11,11 +11,11 @@
        holder.setText(R.id.tv_time,data.insertTime)
        val me = context.getString(R.string.我提的问)
        holder.setText(R.id.tv_question,SpanBuilder(me+data.content)
            .color(context,0,me.length,R.color.textColor).bold(0,me.length).build())
            .color(context,0,me.length,cn.sinata.xldutils.R.color.textColor).bold(0,me.length).build())
        holder.setText(R.id.tv_answer,if (data.answer.isEmpty())"" else {
            val service = context.getString(R.string.客服完整)
            SpanBuilder(String.format("${service}:%s",data.answer))
                .color(context,0,service.length,R.color.textColor).bold(0,service.length).build()
                .color(context,0,service.length,cn.sinata.xldutils.R.color.textColor).bold(0,service.length).build()
        }
        )
    }
app/src/main/java/com/igo/user/ui/mine/adapter/WithdrawRecordAdapter.kt
@@ -15,6 +15,6 @@
        holder.setText(R.id.tv_money,context.getString(R.string.提现金额)+":"+data.money.showMoney(context))
        holder.setText(R.id.tv_remark,context.getString(R.string.withdraw_remark)+":"+data.remark)
        holder.setText(R.id.tv_state,context.getString(data.getWithdrawState()))
        holder.bind<TextView>(R.id.tv_state).textColorResource = if (data.state == 3) R.color.textColor99 else R.color.colorOrange
        holder.bind<TextView>(R.id.tv_state).textColorResource = if (data.state == 3) cn.sinata.xldutils.R.color.textColor99 else R.color.colorOrange
    }
}
app/src/main/java/com/igo/user/ui/trip/ChooseOrderTypeActivity.kt
@@ -14,7 +14,7 @@
import org.jetbrains.anko.startActivityForResult
class ChooseOrderTypeActivity:TransparentStatusBarActivity() {
    override fun setContentView() = R.layout.base_recyclerview_layout
    override fun setContentView() = cn.sinata.xldutils.R.layout.base_recyclerview_layout
    private val driver by lazy {
        intent.getParcelableExtra<DriverInfo>("driver")!!
app/src/main/java/com/igo/user/ui/trip/MapTripFragment.kt
@@ -654,7 +654,7 @@
                        requireContext(),
                        t.indexOf(i.toString()),
                        t.indexOf(i.toString()) + i.toString().length,
                        R.color.black
                        cn.sinata.xldutils.R.color.black
                    ).build()
                mainActivity.updateTipText(stringBuilder)
                if (i == 0 && !noCarShowing) {
@@ -927,7 +927,7 @@
            vertical_1_special.visibility = tv_time_special.visibility
            vertical_1.visibility = tv_time.visibility
            mainActivity.updateTitleVisibility(false, true)
            iv_back.imageResource = R.mipmap.back
            iv_back.imageResource = cn.sinata.xldutils.R.mipmap.back
            setMarker(LatLng(startLat, startLon))
            when (type) { //根据订单类型渲染
                Const.OrderType.TYPE_SPECIAL -> {
app/src/main/java/com/igo/user/ui/trip/ScanActivity.kt
@@ -33,7 +33,7 @@
            .create().immersionBar() //沉浸状态栏
        val titleBar = find<TitleBar>(R.id.titleBar)
        titleBar.titleView.text = getString(R.string.扫一扫)
        titleBar.titleView.textColorResource = R.color.white
        titleBar.titleView.textColorResource = cn.sinata.xldutils.R.color.white
        titleBar.leftView.setCompoundDrawablesWithIntrinsicBounds(R.mipmap.back_white,0,0,0)
        titleBar.addRightButton(getString(R.string.photo),onClickListener = View.OnClickListener {
            RxPermissions(this).request(
@@ -48,7 +48,7 @@
                }
            }
        })
        titleBar.getRightButton(0)?.textColorResource = R.color.white
        titleBar.getRightButton(0)?.textColorResource = cn.sinata.xldutils.R.color.white
        initQRCode()
    }
app/src/main/java/com/igo/user/utils/google/AMapKit.kt
@@ -92,17 +92,6 @@
    }
    fun drawLine(context: Context, aMap: GoogleMap, start: LatLng, end: LatLng): Polyline? {
        val latLngs: MutableList<LatLng> = ArrayList()
        latLngs.add(start)
        latLngs.add(end)
        return aMap.addPolyline(
            PolylineOptions().addAll(latLngs).width(10f).color(
                ContextCompat.getColor(context, R.color.quantum_yellow900)
            )
        )
    }
    /***
     * 监听地图的移动
     */
@@ -112,18 +101,6 @@
        aMap.setOnCameraIdleListener {
            finishPosition(aMap.cameraPosition.target)
        }
    }
    fun drawLineAndMove(context: Context, aMap: GoogleMap, start: LatLng, end: LatLng, padd: Int) {
        drawLine(context, aMap, start, end)
        moveCamera(aMap, start, end, padd)
    }
    fun drawLine(context: Context, aMap: GoogleMap, latLngs: List<LatLng?>?): Polyline? {
        val options = PolylineOptions().addAll(latLngs!!).width(20f)
            .color(ContextCompat.getColor(context, R.color.quantum_googgreen))
        return aMap.addPolyline(options)
    }
    fun drawLine(context: Context, aMap: GoogleMap, latLngs: List<LatLng?>?,color:Int): Polyline? {
app/src/main/res/layout/activity_basic_navi.xml
app/src/main/res/layout/layout_tab_bottom.xml
New file
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipChildren="false"
    android:clipToPadding="false">
    <LinearLayout
        android:id="@+id/ll_tap"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="center"
        android:orientation="vertical">
        <TextView
            android:id="@+id/tv_tab_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:singleLine="true"/>
        <ImageView
            android:id="@+id/iv_tab_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </LinearLayout>
    <com.flyco.tablayout.widget.MsgView
        android:id="@+id/rtv_msg_tip"
        xmlns:mv="http://schemas.android.com/apk/res-auto"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/ll_tap"
        android:gravity="center"
        android:textColor="#ffffff"
        android:textSize="11.5sp"
        android:visibility="gone"
        mv:mv_backgroundColor="#FD481F"
        mv:mv_isRadiusHalfHeight="true"
        mv:mv_strokeColor="#ffffff"
        mv:mv_strokeWidth="1dp"/>
</RelativeLayout>
app/src/main/res/layout/layout_tab_left.xml
New file
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipChildren="false"
    android:clipToPadding="false">
    <LinearLayout
        android:id="@+id/ll_tap"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="center"
        android:orientation="horizontal">
        <ImageView
            android:id="@+id/iv_tab_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <TextView
            android:id="@+id/tv_tab_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:singleLine="true"/>
    </LinearLayout>
    <com.flyco.tablayout.widget.MsgView
        android:layout_toRightOf="@+id/ll_tap"
        android:id="@+id/rtv_msg_tip"
        xmlns:mv="http://schemas.android.com/apk/res-auto"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textColor="#ffffff"
        android:textSize="11.5sp"
        android:visibility="gone"
        mv:mv_backgroundColor="#FD481F"
        mv:mv_isRadiusHalfHeight="true"
        mv:mv_strokeColor="#ffffff"
        mv:mv_strokeWidth="1dp"/>
</RelativeLayout>
app/src/main/res/layout/layout_tab_right.xml
New file
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipChildren="false"
    android:clipToPadding="false">
    <LinearLayout
        android:id="@+id/ll_tap"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="center"
        android:orientation="horizontal">
        <TextView
            android:id="@+id/tv_tab_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:singleLine="true"/>
        <ImageView
            android:id="@+id/iv_tab_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </LinearLayout>
    <com.flyco.tablayout.widget.MsgView
        android:id="@+id/rtv_msg_tip"
        xmlns:mv="http://schemas.android.com/apk/res-auto"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/ll_tap"
        android:gravity="center"
        android:textColor="#ffffff"
        android:textSize="11.5sp"
        android:visibility="gone"
        mv:mv_backgroundColor="#FD481F"
        mv:mv_isRadiusHalfHeight="true"
        mv:mv_strokeColor="#ffffff"
        mv:mv_strokeWidth="1dp"/>
</RelativeLayout>
app/src/main/res/layout/layout_tab_top.xml
New file
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipChildren="false"
    android:clipToPadding="false">
    <LinearLayout
        android:id="@+id/ll_tap"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="center"
        android:orientation="vertical">
        <ImageView
            android:id="@+id/iv_tab_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <TextView
            android:id="@+id/tv_tab_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:singleLine="true"/>
    </LinearLayout>
    <com.flyco.tablayout.widget.MsgView
        android:id="@+id/rtv_msg_tip"
        xmlns:mv="http://schemas.android.com/apk/res-auto"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/ll_tap"
        android:gravity="center"
        android:textColor="#ffffff"
        android:textSize="11.5sp"
        android:visibility="gone"
        mv:mv_backgroundColor="#FD481F"
        mv:mv_isRadiusHalfHeight="true"
        mv:mv_strokeColor="#ffffff"
        mv:mv_strokeWidth="1dp"/>
</RelativeLayout>
app/src/main/res/mipmap-xxhdpi/icon_logo.png

app/src/main/res/values-v27/styles.xml
New file
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <!-- 确保内容不被系统栏遮挡(API 30+ 的行为) -->
        <item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
    </style>
</resources>
app/src/main/res/values/attrs.xml
@@ -86,4 +86,10 @@
            <enum name="right" value="2" />
        </attr>
    </declare-styleable>
    <declare-styleable name="CommonTabLayout"><attr name="tl_indicator_color"/><attr name="tl_indicator_height"/><attr name="tl_indicator_width"/><attr name="tl_indicator_margin_left"/><attr name="tl_indicator_margin_top"/><attr name="tl_indicator_margin_right"/><attr name="tl_indicator_margin_bottom"/><attr name="tl_indicator_corner_radius"/><attr name="tl_indicator_gravity"/><attr name="tl_indicator_style"/><attr name="tl_indicator_anim_enable"/><attr name="tl_indicator_anim_duration"/><attr name="tl_indicator_bounce_enable"/><attr name="tl_underline_color"/><attr name="tl_underline_height"/><attr name="tl_underline_gravity"/><attr name="tl_divider_color"/><attr name="tl_divider_width"/><attr name="tl_divider_padding"/><attr name="tl_tab_padding"/><attr name="tl_tab_space_equal"/><attr name="tl_tab_width"/><attr name="tl_textsize"/><attr name="tl_textSelectColor"/><attr name="tl_textUnselectColor"/><attr name="tl_textBold"/><attr name="tl_textAllCaps"/><attr format="dimension" name="tl_iconWidth"/><attr format="dimension" name="tl_iconHeight"/><attr format="boolean" name="tl_iconVisible"/><attr format="enum" name="tl_iconGravity">
        <enum name="LEFT" value="3"/>
        <enum name="TOP" value="48"/>
        <enum name="RIGHT" value="5"/>
        <enum name="BOTTOM" value="80"/>
    </attr><attr format="dimension" name="tl_iconMargin"/></declare-styleable>
</resources>
build.gradle
@@ -7,24 +7,28 @@
    ext.retrofit_version = '2.3.0'
    repositories {
        google()
       maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://repo1.maven.org/maven2/' }
        gradlePluginPortal()
//        jcenter()
        // 阿里云镜像(推荐)
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
        //jitpack
        maven { url "https://jitpack.io" }
        // 腾讯云镜像
        maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/' }
        google()
        jcenter()
        mavenCentral()
        maven { url 'https://jitpack.io' }
//        maven { url "https://bintray.com/wechat-sdk-team/maven" }
        maven {
            url = uri("https://storage.googleapis.com/r8-releases/raw")
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.1'
        classpath 'com.android.tools.build:gradle:8.6.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlin_version}"
        classpath 'com.android.tools:r8:8.0.46'
        classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
@@ -32,14 +36,25 @@
allprojects {
    repositories {
        google()
        maven { url 'https://repo1.maven.org/maven2/' }
        gradlePluginPortal()
        // 阿里云镜像(推荐)
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        gradlePluginPortal()
//        jcenter()
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
        //jitpack
        maven { url "https://jitpack.io" }
        // 腾讯云镜像
        maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/' }
        google()
        jcenter()
        mavenCentral()
        maven { url 'https://jitpack.io' }
//        maven { url "https://bintray.com/wechat-sdk-team/maven" }
        maven { url 'https://dl.bintray.com/umsdk/release' }
        flatDir {
            dirs 'libs'
        }
    }
    configurations.all {
download/build.gradle
@@ -2,16 +2,11 @@
android {
    compileSdkVersion 28
    buildToolsVersion "29.0.3"
    namespace "com.sinata.download"
    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
@@ -20,7 +15,10 @@
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    buildFeatures {
        buildConfig = true  // 显式启用 BuildConfig
        androidResources = true
    }
}
dependencies {
download/src/main/AndroidManifest.xml
@@ -1,5 +1,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sinata.download">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.VIBRATE" />
gradle/wrapper/gradle-wrapper.properties
@@ -3,6 +3,6 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-7.5.1-all.zip
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.7-all.zip
#distributionUrl=file:///C:/gradle/gradle-7.5.1
rxnetty/build.gradle
@@ -1,13 +1,12 @@
apply plugin: 'com.android.library'
android {
    compileSdkVersion 34
    buildToolsVersion "29.0.3"
    compileSdkVersion 35
    namespace "cn.sinata.rxnetty"
    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 34
        versionCode 1
        versionName "1.0"
        minSdkVersion 23
        targetSdkVersion 35
    }
@@ -17,7 +16,10 @@
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    buildFeatures {
        buildConfig = true  // 显式启用 BuildConfig
        androidResources = true
    }
}
dependencies {
rxnetty/src/main/AndroidManifest.xml
@@ -1,5 +1,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="cn.sinata.rxnetty" >
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.INTERNET"/>
    <!--允许读取网络状态-->
@@ -11,10 +10,10 @@
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <!-- 声明前台服务权限 -->
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING" />
    <application>
        <receiver android:name=".netStatus.NetStateReceiver"/><service android:name="cn.sinata.rxnetty.CoreService"
        android:foregroundServiceType="dataSync"
        android:foregroundServiceType="remoteMessaging"
        android:exported="false"
        android:permission="android.permission.FOREGROUND_SERVICE"/>
        <service android:name="cn.sinata.rxnetty.NJobService"
rxnetty/src/main/java/cn/sinata/rxnetty/CoreService.java
@@ -145,7 +145,7 @@
        NetStateReceiver.registerObserver(mNetChangeObserver);
        if (Config.isStartForeground) {
            if (Build.VERSION.SDK_INT >= 34) {
                startForeground(Config.NOTIFICATION_ID,getNotification(), ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC);
                startForeground(Config.NOTIFICATION_ID,getNotification(), ServiceInfo.FOREGROUND_SERVICE_TYPE_REMOTE_MESSAGING);
            } else {
                startForeground(Config.NOTIFICATION_ID,getNotification());
            }
settings.gradle
@@ -1,2 +1,2 @@
rootProject.name='GOPOSTUser'
include ':app', ':xldutils-kotlin', ':amaplib', ':rxnetty', ':umeng_sdk', ':download'
include ':app', ':xldutils-kotlin', ':rxnetty', ':umeng_sdk', ':download'
umeng_sdk/build.gradle
@@ -2,13 +2,11 @@
android {
    compileSdkVersion 29
    buildToolsVersion "29.0.3"
    namespace "com.umeng.sdk"
    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
@@ -21,16 +19,19 @@
            jniLibs.srcDirs = ['libs']
        }
    }
    buildFeatures {
        buildConfig = true  // 显式启用 BuildConfig
        androidResources = true
    }
}
dependencies {
    api fileTree(dir: 'libs', include: ['*.aar','*.jar'])
    api 'androidx.appcompat:appcompat:1.1.0'
    // 友盟基础组件库(所有友盟业务SDK都依赖基础组件库
    api  'com.umeng.umsdk:common:+'// 必选
    api  'com.umeng.umsdk:asms:+'// 必选
    api 'com.umeng.umsdk:share-core:7.3.3'//分享核心库,必选
    api 'com.umeng.umsdk:share-wx:7.3.3' //微信完整版
    api 'com.tencent.mm.opensdk:wechat-sdk-android:6.8.24' //微信官方依赖库
    api  'com.umeng.umsdk:common:9.8.9'// 必选
    api  'com.umeng.umsdk:asms:1.8.7.2'// 必选
    api 'com.umeng.umsdk:share-core:7.3.7'//分享核心库,必选
    api 'com.umeng.umsdk:share-wx:7.3.7' //微信完整版
    api 'com.tencent.mm.opensdk:wechat-sdk-android:6.8.34' //微信官方依赖库
}
umeng_sdk/libs/armeabi-v7a/libsecurityenv.so
Binary files differ
umeng_sdk/libs/armeabi/libsecurityenv.so
Binary files differ
umeng_sdk/src/main/AndroidManifest.xml
@@ -1,5 +1,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.umeng.sdk">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
xldutils-kotlin/build.gradle
@@ -3,25 +3,33 @@
android {
    compileSdkVersion 33
    buildToolsVersion "33.0.3"
    namespace "cn.sinata.xldutils"
    defaultConfig {
        minSdkVersion 23
        targetSdkVersion 31
        versionCode 1
        versionName "1.0.0"
    }
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
        minSdkVersion 21
        targetSdkVersion 29
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
    buildFeatures {
        buildConfig = true  // 显式启用 BuildConfig
        androidResources = true
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
    kotlinOptions {
        jvmTarget = "17"  // 与上面保持一致
    }
}
@@ -47,8 +55,8 @@
    api 'com.yqritc:recyclerview-flexibledivider:1.4.0'
    api 'androidx.constraintlayout:constraintlayout:1.1.3'
    //fresco
    api 'com.facebook.fresco:fresco:1.13.0'
    api 'com.facebook.fresco:animated-gif:1.13.0'
    api 'com.facebook.fresco:fresco:3.6.0'
    api 'com.facebook.fresco:animated-gif:3.6.0'
    api 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.5@aar'
    api 'com.google.code.gson:gson:2.8.5'
xldutils-kotlin/src/main/AndroidManifest.xml
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="cn.sinata.xldutils">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET" />
@@ -11,13 +10,13 @@
    <application>
        <activity
            android:name="cn.sinata.xldutils.activity.CropImageActivity"
            android:screenOrientation="portrait"  android:exported="false"/>
            android:exported="false"/>
        <activity
            android:name="cn.sinata.xldutils.activity.SelectPhotoDialog"
            android:theme="@style/Dialog"  android:exported="false"/>
        <activity
            android:name="cn.sinata.xldutils.activity.ImagePagerActivity"
            android:screenOrientation="portrait"  android:exported="false"/>
            android:exported="false"/>
        <activity android:name=".activity.WebViewActivity"  android:exported="false"/>
        <activity
            android:name=".activity.SelectPhotoActivity"
xldutils-kotlin/src/main/java/cn/sinata/xldutils/activity/DatePickDialog.kt
@@ -34,7 +34,7 @@
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(DialogFragment.STYLE_NO_FRAME, R.style.Dialog)
        setStyle(DialogFragment.STYLE_NO_FRAME, cn.sinata.xldutils.R.style.Dialog)
    }
    override fun onActivityCreated(savedInstanceState: Bundle?) {