| | |
| | | abiFilters.addAll(listOf("arm64-v8a", "armeabi-v7a"))//, "x86", "x86_64" |
| | | } |
| | | vectorDrawables.useSupportLibrary = true |
| | | |
| | | // 华为 |
| | | manifestPlaceholders["PUSH_HW_CLIENT_ID"] = "117680933" |
| | | manifestPlaceholders["PUSH_HW_CLIENT_SECRET"] = "1c18a9c784ff6e47242af5a60e3d22c658b0d76757ede5ba4e15ee329cab8d4a" |
| | | // 荣耀 |
| | | manifestPlaceholders["PUSH_RY_APP_ID"] = "104570357" |
| | | manifestPlaceholders["PUSH_RY_APP_SECRET"] = "67f554e43f744e89fed9d09ca21c0cfa584665ba56af0d6f46c11af2434e577d" |
| | | // VIVO |
| | | manifestPlaceholders["PUSH_VV_APP_ID"] = "106095676" |
| | | manifestPlaceholders["PUSH_VV_APP_KEY"] = "27f39e188ef0acce7fd7de80dc9edb55" |
| | | manifestPlaceholders["PUSH_VV_APP_SECRET"] = "23a58cd0-9a17-418c-bdcc-236fafe8692a" |
| | | // OPPO |
| | | buildConfigField("String", "PUSH_OP_APP_KEY", "\"3a308dc2996f44b78400f0e48500616d\"") |
| | | buildConfigField("String", "PUSH_OP_APP_SECRET", "\"dbc906a01ff944009482d2b4cc549563\"") |
| | | } |
| | | |
| | | signingConfigs { |
| | |
| | | testImplementation(libs.junit) |
| | | androidTestImplementation(libs.androidx.junit) |
| | | androidTestImplementation(libs.androidx.espresso.core) |
| | | implementation(libs.alicloud) |
| | | implementation(libs.alicloud.android.third.push) |
| | | implementation(libs.alicloud.android.third.push.huawei) |
| | | implementation(libs.shadowLayout) |
| | | |
| | | implementation(project(":common")) |
| | | implementation(libs.dialog.pickerview) |
| | | implementation(libs.huawei.agconnect.core) |
| | | implementation(libs.jsoup) |
| | | |
| | | implementation(libs.alicloud) |
| | | implementation(libs.alicloud.android.third.push) |
| | | implementation(libs.alicloud.android.third.push.huawei) |
| | | implementation(libs.alicloud.android.third.push.honor) |
| | | implementation(libs.alicloud.android.third.push.oppo) |
| | | implementation(libs.alicloud.android.third.push.vivo) |
| | | } |
| | | |
| | |
| | | #-renamesourcefileattribute SourceFile |
| | | # 华为通道 |
| | | -keep class com.huawei.** {*;} |
| | | -dontwarn com.huawei.** |
| | | -dontwarn com.huawei.** |
| | | |
| | | # 荣耀通道 |
| | | -ignorewarnings |
| | | -keepattributes *Annotation* |
| | | -keepattributes Exceptions |
| | | -keepattributes InnerClasses |
| | | -keepattributes Signature |
| | | -keepattributes SourceFile,LineNumberTable |
| | | -keep class com.hihonor.push.**{*;} |
| | | |
| | | # OPPO通道 |
| | | -keep public class * extends android.app.Service |
| | | |
| | | # VIVO通道 |
| | | -keep class com.vivo.** {*;} |
| | | -dontwarn com.vivo.** |
| | |
| | | </provider> |
| | | <meta-data |
| | | android:name="com.huawei.hms.client.appid" |
| | | android:value="appid=117680933" /> |
| | | android:value="appid=${PUSH_HW_CLIENT_ID}" /> |
| | | <!-- 荣耀推送通道 --> |
| | | <meta-data |
| | | android:name="com.hihonor.push.app_id" |
| | | android:value="${PUSH_RY_APP_ID}" /> |
| | | <!-- VIVO推送通道 --> |
| | | <meta-data |
| | | android:name="com.vivo.push.api_key" |
| | | android:value="${PUSH_VV_APP_KEY}" /> |
| | | <meta-data |
| | | android:name="com.vivo.push.app_id" |
| | | android:value="${PUSH_VV_APP_ID}" /> |
| | | <activity |
| | | android:name=".push.PopupPushActivity" |
| | | android:exported="true"> |
| | |
| | | import androidx.lifecycle.MutableLiveData |
| | | import com.alibaba.sdk.android.push.CloudPushService |
| | | import com.alibaba.sdk.android.push.CommonCallback |
| | | import com.alibaba.sdk.android.push.HonorRegister |
| | | import com.alibaba.sdk.android.push.huawei.HuaWeiRegister |
| | | import com.alibaba.sdk.android.push.noonesdk.PushInitConfig |
| | | import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory |
| | | import com.alibaba.sdk.android.push.register.OppoRegister |
| | | import com.alibaba.sdk.android.push.register.VivoRegister |
| | | import com.amap.api.location.AMapLocationClient |
| | | import com.amap.api.maps.MapsInitializer |
| | | import com.amap.api.navi.NaviSetting |
| | |
| | | pushService.register(this, object : CommonCallback { |
| | | override fun onSuccess(success: String) { |
| | | LogUtils.i("zmc-push", "初始化成功,设备ID: " + pushService.deviceId) |
| | | // 注册各厂商推送通道(会自动判断设备是否支持,不支持则跳过) |
| | | HuaWeiRegister.register(myApp) |
| | | HonorRegister.register(myApp) |
| | | OppoRegister.register( |
| | | myApp, |
| | | BuildConfig.PUSH_OP_APP_KEY, |
| | | BuildConfig.PUSH_OP_APP_SECRET |
| | | ) |
| | | VivoRegister.register(myApp) |
| | | } |
| | | |
| | | override fun onFailed(errorCode: String, errorMessage: String) { |
| | |
| | | if (currentShowActivity is BaseActivity<*, *>) { |
| | | ttsManager.setVideoText("您收到一条${if (taskModel.isAccidentTask()) "事故任务" else "任务指派"},请及时处理!") |
| | | VibrateUtils.vibratePattern() |
| | | if (taskModel.isAccidentTask()) { |
| | | return@collect |
| | | } |
| | | showNewTaskDialog(currentShowActivity, taskModel) |
| | | } |
| | | } |
| | |
| | | |
| | | /** 空数据提示视图,懒加载创建 */ |
| | | val emptyView by lazy { |
| | | BindUtils.getEmptyView(this, "暂无符合条件的车辆") |
| | | BindUtils.getEmptyView2(this, "暂无符合条件的车辆") |
| | | } |
| | | |
| | | /** 车辆列表适配器 */ |
| | |
| | | } |
| | | |
| | | binding.logOut.setOnClickListener { |
| | | CommonDialog.showCommonTipsDialog(this, "确认退出当前账号登录吗?", leftBlock = { |
| | | it.dismiss() |
| | | }, rightBlock = { |
| | | viewModel.loginOut(it) |
| | | }) |
| | | CommonDialog.showCommonTipsDialog( |
| | | this, "确认退出当前账号登录吗?", |
| | | cancelable = false, |
| | | cancelOnTouchOutside = false, |
| | | leftBlock = { |
| | | it.dismiss() |
| | | }, rightBlock = { |
| | | viewModel.loginOut(it) |
| | | }) |
| | | } |
| | | } |
| | | |
| | |
| | | val wrapped = DrawableCompat.wrap(it) |
| | | if (iconTint != null) { |
| | | DrawableCompat.setTintList(wrapped, iconTint) |
| | | } else { |
| | | // 默认使用 hint 文字颜色 |
| | | DrawableCompat.setTintList(wrapped, hintTextColors) |
| | | } |
| | | wrapped |
| | | } |
| | |
| | | val wrapped = DrawableCompat.wrap(it) |
| | | if (iconTint != null) { |
| | | DrawableCompat.setTintList(wrapped, iconTint) |
| | | } else { |
| | | DrawableCompat.setTintList(wrapped, hintTextColors) |
| | | } |
| | | wrapped |
| | | } |
| | |
| | | import com.xw.common.custom.SlideButtonView.Companion.DIRECTION_LEFT |
| | | import com.xw.common.custom.SlideButtonView.Companion.DIRECTION_RIGHT |
| | | import com.xw.common.utils.BindUtils.getResColor |
| | | import com.xw.common.utils.BindUtils.getUrl |
| | | import com.xw.common.viewAdapter.ImageDefault |
| | | import com.xw.common.viewAdapter.ViewAdapter |
| | | import com.xw.yunwei.R |
| | |
| | | super.setListener() |
| | | with(binding.slideView1) { |
| | | setOnSlideCompleteListener { |
| | | viewModel.carInfo.value?.also { it -> |
| | | val setStatus = if (it.operatingStatus == 1) 3 else 1 |
| | | viewModel.carInfo.value?.also { carModel -> |
| | | val setStatus = if (carModel.operatingStatus == 1) 3 else 1 |
| | | if (setStatus == 3) { |
| | | viewModel.getAllAcceptCarPoints(error = { |
| | | binding.slideView1.animateReset() |
| | |
| | | } else if (getSlideDirection() == DIRECTION_LEFT) { |
| | | resetSlideView(this, DIRECTION_RIGHT, "右滑发车") |
| | | } |
| | | viewModel.checkCould() |
| | | viewModel.queryInfo() |
| | | } |
| | | }) |
| | | } |
| | |
| | | } else if (getSlideDirection() == DIRECTION_LEFT) { |
| | | resetSlideView(this, DIRECTION_RIGHT, "右滑发车") |
| | | } |
| | | viewModel.checkCould() |
| | | viewModel.queryInfo() |
| | | } |
| | | } |
| | | } |
| | |
| | | ) |
| | | binding.batteryView.setLevel(it.currentElectricity ?: 0) |
| | | |
| | | ViewAdapter.loadImage(binding.icon, ImageDefault(it.getShowVehiclePicture(), R.mipmap.img_work_car1)) |
| | | ViewAdapter.loadImage( |
| | | binding.icon, |
| | | ImageDefault(it.getShowVehiclePicture(), R.mipmap.img_work_car1) |
| | | ) |
| | | } |
| | | } |
| | |
| | | import com.xw.yunwei.databinding.ActivityCarRepairBinding |
| | | import com.xw.yunwei.model.CarModel |
| | | import com.xw.yunwei.utils.PictureSelectorFactory |
| | | import java.util.Calendar |
| | | |
| | | /** |
| | | * 车辆维修 |
| | |
| | | class RepairCarActivity : BaseBusinessActivity<ActivityCarRepairBinding, RepairCarVM>() { |
| | | override fun getBindingVariable() = BR.viewModel |
| | | |
| | | val dialogTime: TimeDialog by lazy { TimeDialog(this) } |
| | | val dialogTime: TimeDialog by lazy { TimeDialog(this) } |
| | | |
| | | override fun init() { |
| | | super.init() |
| | |
| | | } |
| | | } |
| | | viewModel.carInfo.observe(this) { initBasicInfo(it) } |
| | | viewModel.repairRecord.observe(this){ |
| | | if(it.status == 2){ |
| | | viewModel.repairRecord.observe(this) { |
| | | if (it.status == 2) { |
| | | it.xpVehicleRepair?.startRepairPicture?.let { |
| | | val list = it.getUrls().map { FileSelectBean(url = it, type = "img") } |
| | | viewModel.adapters[0].setList(list) |
| | |
| | | super.setListener() |
| | | binding.layoutSend.startTimeContainer.setOnClickListener { |
| | | val showTime = getTime(viewModel.startTime.value) |
| | | val minTime = getTime("2020-01-01") |
| | | val minTime = Calendar.getInstance().apply { |
| | | add(Calendar.DAY_OF_MONTH, -7) |
| | | }.timeInMillis |
| | | dialogTime.show("选择日期", showTime, minTime) { |
| | | val selectTime = getTime(it) |
| | | if (!viewModel.endTime.value.isNullOrEmpty()) { |
| | |
| | | |
| | | // 拍照 |
| | | private fun takeAPhotograph() { |
| | | PictureSelectorFactory.takeAPhotograph(this,resultCallbackListener) |
| | | PictureSelectorFactory.takeAPhotograph(this, resultCallbackListener) |
| | | } |
| | | |
| | | private var resultCallbackListener = object : OnResultCallbackListener<LocalMedia> { |
| | |
| | | dataList.addAll(viewModel.adapters[viewModel.operateIndex].data) |
| | | for (item in selectList) { |
| | | val path: String = item.availablePath |
| | | var imgPath = if (PictureMimeType.isContent(path) && !item.isCut && !item.isCompressed) { |
| | | UriUtils.uri2File(Uri.parse(path)).absolutePath |
| | | } else { |
| | | path |
| | | } |
| | | var imgPath = |
| | | if (PictureMimeType.isContent(path) && !item.isCut && !item.isCompressed) { |
| | | UriUtils.uri2File(Uri.parse(path)).absolutePath |
| | | } else { |
| | | path |
| | | } |
| | | dataList.add(FileSelectBean(localPath = imgPath, type = "img")) |
| | | } |
| | | viewModel.adapters[viewModel.operateIndex].setList(dataList) |
| | |
| | | android:drawableStart="@drawable/svg_search" |
| | | android:drawablePadding="@dimen/dp_10" |
| | | android:hint="请输入车牌号" |
| | | app:iconHeight="@dimen/dp_15" |
| | | app:iconWidth="@dimen/dp_15" |
| | | app:clearIcon="@mipmap/ic_close_black2" |
| | | app:iconHeight="@dimen/dp_18" |
| | | android:maxLength="8" |
| | | app:iconWidth="@dimen/dp_18" |
| | | app:clearIcon="@mipmap/icon_close_gray" |
| | | android:imeOptions="actionSearch" |
| | | android:paddingHorizontal="@dimen/dp_10" |
| | | android:singleLine="true" |
| | |
| | | android:background="@null" |
| | | android:gravity="center_vertical" |
| | | android:hint="手机号" |
| | | app:iconHeight="@dimen/dp_15" |
| | | app:iconWidth="@dimen/dp_15" |
| | | app:iconHeight="@dimen/dp_18" |
| | | app:iconWidth="@dimen/dp_18" |
| | | app:iconMarginRight="@dimen/dp_10" |
| | | app:clearIcon="@mipmap/ic_close_black2" |
| | | app:clearIcon="@mipmap/icon_close_gray" |
| | | android:inputType="phone" |
| | | android:text="@={viewModel.phone}" |
| | | android:textColor="@color/gray_10" |
| | |
| | | android:background="@null" |
| | | android:gravity="center_vertical" |
| | | android:hint="手机号" |
| | | app:iconHeight="@dimen/dp_15" |
| | | app:iconWidth="@dimen/dp_15" |
| | | app:iconMarginRight="@dimen/dp_10" |
| | | app:clearIcon="@mipmap/ic_close_black2" |
| | | android:inputType="phone" |
| | | android:text="@={viewModel.phone}" |
| | | android:textColor="@color/gray_10" |
| | | android:textColorHint="@color/gray_6" |
| | | android:textSize="@dimen/sp_14" |
| | | app:iconHeight="@dimen/dp_18" |
| | | app:iconWidth="@dimen/dp_18" |
| | | app:iconMarginRight="@dimen/dp_10" |
| | | app:clearIcon="@mipmap/icon_close_gray" |
| | | app:layout_constraintTop_toBottomOf="@+id/tabLayout" /> |
| | | |
| | | <View |
| | |
| | | android:layout_marginTop="@dimen/dp_12" |
| | | android:onClick="@{viewModel.onClick}" |
| | | android:text="忘记密码" |
| | | android:visibility="gone" |
| | | android:textColor="@color/gray_6" |
| | | android:textSize="@dimen/sp_12" |
| | | android:visibility="gone" |
| | | app:layout_constraintEnd_toEndOf="@+id/psw" |
| | | app:layout_constraintTop_toBottomOf="@+id/psw" /> |
| | | |
| | |
| | | android:textSize="@dimen/sp_16" |
| | | android:textStyle="bold" |
| | | app:cornerRadius="@dimen/dp_4" |
| | | app:layout_constraintTop_toBottomOf="@+id/forgetPsw" /> |
| | | app:layout_constraintTop_toBottomOf="@+id/forgetPsw" |
| | | app:layout_goneMarginTop="@dimen/dp_56" /> |
| | | |
| | | <androidx.appcompat.widget.AppCompatImageView |
| | | android:id="@+id/protocolStatus" |
| | | selected="@{viewModel.protocolStatus}" |
| | | android:layout_width="@dimen/dp_20" |
| | | android:layout_height="@dimen/dp_20" |
| | | android:layout_marginStart="@dimen/sp_10" |
| | | android:onClick="@{viewModel.onClick}" |
| | | android:src="@drawable/selector_protocol_status" |
| | | app:layout_constraintStart_toStartOf="@+id/phone" |
| | |
| | | android:layout_width="0dp" |
| | | android:layout_height="wrap_content" |
| | | android:layout_marginStart="@dimen/dp_4" |
| | | android:layout_marginEnd="@dimen/dp_10" |
| | | android:layout_marginBottom="@dimen/dp_42" |
| | | android:justificationMode="inter_character" |
| | | android:textSize="@dimen/sp_14" |
| | | app:layout_constraintBottom_toBottomOf="parent" |
| | | app:layout_constraintLeft_toRightOf="@+id/protocolStatus" |
| | | app:layout_constraintRight_toRightOf="@+id/phone" |
| | | tools:text="我已阅读并同意《用户协议》《隐私协议》" /> |
| | | |
| | | |
| | | tools:text="我已阅读并同意《用户协议》《隐私协议》《隐私协议》" /> |
| | | </androidx.constraintlayout.widget.ConstraintLayout> |
| | | </layout> |
| | |
| | | android:drawablePadding="@dimen/dp_10" |
| | | android:hint="请输入车牌号" |
| | | android:maxLength="8" |
| | | app:iconHeight="@dimen/dp_15" |
| | | app:iconWidth="@dimen/dp_15" |
| | | app:clearIcon="@mipmap/ic_close_black2" |
| | | app:iconHeight="@dimen/dp_18" |
| | | app:iconWidth="@dimen/dp_18" |
| | | app:clearIcon="@mipmap/icon_close_gray" |
| | | android:imeOptions="actionSearch" |
| | | android:paddingHorizontal="@dimen/dp_10" |
| | | android:singleLine="true" |
| | |
| | | android:drawableStart="@drawable/svg_search" |
| | | android:drawablePadding="@dimen/dp_10" |
| | | android:hint="请输入站点名称" |
| | | app:iconHeight="@dimen/dp_15" |
| | | app:iconWidth="@dimen/dp_15" |
| | | app:clearIcon="@mipmap/ic_close_black2" |
| | | app:iconHeight="@dimen/dp_18" |
| | | app:iconWidth="@dimen/dp_18" |
| | | app:clearIcon="@mipmap/icon_close_gray" |
| | | android:imeOptions="actionSearch" |
| | | android:paddingHorizontal="@dimen/dp_10" |
| | | android:singleLine="true" |
| | |
| | | android:text="@{viewModel.clockTime}" |
| | | android:textColor="@color/gray_9" |
| | | android:textSize="@dimen/sp_12" |
| | | android:textStyle="bold" |
| | | tools:text="2026-09-21 09:00~17:00" /> |
| | | |
| | | </LinearLayout> |
| | |
| | | android:layout_width="0dp" |
| | | android:layout_height="match_parent" |
| | | android:layout_weight="1" |
| | | app:iconHeight="@dimen/dp_15" |
| | | app:iconWidth="@dimen/dp_15" |
| | | app:clearIcon="@mipmap/ic_close_black2" |
| | | app:iconHeight="@dimen/dp_18" |
| | | app:iconWidth="@dimen/dp_18" |
| | | app:clearIcon="@mipmap/icon_close_gray" |
| | | android:background="@drawable/shape_white_bg_4" |
| | | android:drawableStart="@mipmap/ic_search_task" |
| | | android:drawablePadding="@dimen/dp_6" |
| | | android:ellipsize="end" |
| | | android:gravity="center_vertical" |
| | | android:hint="请输入车牌号" |
| | | android:maxLength="8" |
| | | android:imeOptions="actionSearch" |
| | | android:orientation="horizontal" |
| | | android:paddingHorizontal="@dimen/dp_8" |
| | |
| | | <color name="color_00006be1">#00006be1</color> |
| | | <color name="color_e5f0fc">#e5f0fc</color> |
| | | <color name="color_0256ff">#0256ff</color> |
| | | <color name="color_ec5340">#ec5340</color> |
| | | </resources> |
| | |
| | | content: String, |
| | | leftText: String? = "取消", |
| | | rightText: String? = "确定", |
| | | cancelable: Boolean = true, |
| | | cancelOnTouchOutside: Boolean = true, |
| | | leftBlock: (MaterialDialog) -> Unit = { }, |
| | | rightBlock: (MaterialDialog) -> Unit = { } |
| | | ) { |
| | |
| | | R.layout.dialog_confirm, noVerticalPadding = true, dialogWrapContent = false |
| | | ) |
| | | |
| | | cancelable(true) |
| | | cancelable(cancelable) |
| | | cancelOnTouchOutside(cancelOnTouchOutside) |
| | | cornerRadius(15f) |
| | | |
| | | val tvContent = findViewById<AppCompatTextView>(R.id.content) |
| | |
| | | |
| | | private fun initDays(days: Int) { |
| | | dayDataList.clear() |
| | | val dayStart = if (minYear == showYear && minMouth == showMouth) minDay.toInt() else 1 |
| | | val dayEnd = if ("$maxYear" == showYear && "$maxMouth" == showMouth) maxDay else days |
| | | val dayStart = |
| | | if (minYear.toInt() == showYear.toInt() && minMouth.toInt() == showMouth.toInt()) minDay.toInt() else 1 |
| | | val dayEnd = if (maxYear == showYear.toInt() && maxMouth == showMouth.toInt()) maxDay else days |
| | | for (i in dayStart..dayEnd) { |
| | | // dayDataList.add("${if (i < 10) "0$i" else i}日") |
| | | dayDataList.add("${i}日") |
| | |
| | | import android.view.LayoutInflater |
| | | import android.view.View |
| | | import androidx.databinding.DataBindingUtil |
| | | import com.xw.common.BuildConfig |
| | | import androidx.databinding.ObservableField |
| | | import androidx.databinding.OnRebindCallback |
| | | import androidx.databinding.ViewDataBinding |
| | | import androidx.lifecycle.LiveData |
| | | import com.xw.common.BuildConfig |
| | | import com.xw.common.R |
| | | import com.xw.common.databinding.LayoutEmptyView2Binding |
| | | import com.xw.common.databinding.LayoutEmptyViewBinding |
| | | import com.xw.common.databinding.LayoutFootViewBinding |
| | | import org.json.JSONArray |
| | |
| | | @SuppressLint("DefaultLocale") |
| | | object BindUtils { |
| | | |
| | | fun getEmptyView2(context: Context, tips: String = "空空如也~"): View { |
| | | val itemBind = DataBindingUtil.inflate<LayoutEmptyView2Binding>( |
| | | LayoutInflater.from(context), R.layout.layout_empty_view2, null, false |
| | | ) |
| | | itemBind.tips.text = tips |
| | | return itemBind.root |
| | | } |
| | | |
| | | fun getEmptyView(context: Context, tips: String = "空空如也~"): View { |
| | | val itemBind = DataBindingUtil.inflate<LayoutEmptyViewBinding>( |
| | | LayoutInflater.from(context), R.layout.layout_empty_view, null, false |
| New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <layout xmlns:android="http://schemas.android.com/apk/res/android"> |
| | | |
| | | <data> |
| | | |
| | | </data> |
| | | |
| | | <FrameLayout |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent"> |
| | | |
| | | <androidx.appcompat.widget.AppCompatTextView |
| | | android:id="@+id/tips" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | android:layout_marginTop="@dimen/dp_80" |
| | | android:gravity="center" |
| | | android:text="暂无搜索结果" |
| | | android:textColor="@color/gray_7" |
| | | android:textSize="@dimen/sp_14" /> |
| | | </FrameLayout> |
| | | </layout> |
| | |
| | | # 腾讯bugly |
| | | crashreport = { module = "com.tencent.bugly:crashreport", version.ref = "crashreport" } |
| | | nativecrashreport = { module = "com.tencent.bugly:nativecrashreport", version.ref = "crashreport" } |
| | | alicloud = { module = "com.aliyun.ams:alicloud-android-push", version.ref = "alicloud" } |
| | | alicloud-android-third-push = { module = "com.aliyun.ams:alicloud-android-third-push", version.ref = "alicloud" } |
| | | alicloud-android-third-push-huawei = { module = "com.aliyun.ams:alicloud-android-third-push-huawei", version.ref = "alicloud" } |
| | | shadowLayout = { module = "com.github.lihangleo2:ShadowLayout", version.ref = "shadowLayout" } |
| | | huawei-agconnect-core = { module = "com.huawei.agconnect:agconnect-core", version.ref = "huawei" } |
| | | jsoup = { module = "org.jsoup:jsoup", version.ref = "jsoup" } |
| | | |
| | | # 阿里云推送及厂商 |
| | | alicloud = { module = "com.aliyun.ams:alicloud-android-push", version.ref = "alicloud" } |
| | | alicloud-android-third-push = { module = "com.aliyun.ams:alicloud-android-third-push", version.ref = "alicloud" } |
| | | alicloud-android-third-push-huawei = { module = "com.aliyun.ams:alicloud-android-third-push-huawei", version.ref = "alicloud" } |
| | | alicloud-android-third-push-honor = { module = "com.aliyun.ams:alicloud-android-third-push-honor", version.ref = "alicloud" } |
| | | alicloud-android-third-push-oppo = { module = "com.aliyun.ams:alicloud-android-third-push-oppo", version.ref = "alicloud" } |
| | | alicloud-android-third-push-vivo = { module = "com.aliyun.ams:alicloud-android-third-push-vivo", version.ref = "alicloud" } |
| | | |
| | | [plugins] |
| | | android-application = { id = "com.android.application", version.ref = "agp" } |
| | | android-library = { id = "com.android.library", version.ref = "agp" } |
| | |
| | | maven("https://maven.aliyun.com/nexus/content/repositories/releases/") |
| | | // 配置HMS Core SDK的Maven仓地址,集成华为通道需要。 |
| | | maven("https://developer.huawei.com/repo/") |
| | | |
| | | // 荣耀开发者 Maven 仓库,集成荣耀推送通道需要。 |
| | | maven("https://developer.hihonor.com/repo") |
| | | |
| | | } |
| | | } |