@@ -64,6 +64,15 @@ project.android.productFlavors {
|
||||
}
|
||||
}
|
||||
}
|
||||
// f系列-分体机
|
||||
phone {
|
||||
externalNativeBuild {
|
||||
ndk {
|
||||
// 设置支持的SO库架构
|
||||
abiFilters "arm64-v8a"
|
||||
}
|
||||
}
|
||||
}
|
||||
// f系列-分体机-高德
|
||||
f8Amap {
|
||||
externalNativeBuild {
|
||||
@@ -73,4 +82,13 @@ project.android.productFlavors {
|
||||
}
|
||||
}
|
||||
}
|
||||
// 比亚迪
|
||||
bydauto {
|
||||
externalNativeBuild {
|
||||
ndk {
|
||||
// 设置支持的SO库架构
|
||||
abiFilters "armeabi-v7a"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
// 基础服务:仅比亚迪渠道用sdk方式实现,其他都基于apk基础服务
|
||||
project.dependencies {
|
||||
if (Boolean.valueOf(RELEASE)) {
|
||||
bydautoImplementation rootProject.ext.dependencies.mogoaicloudservicesdk
|
||||
phoneImplementation rootProject.ext.dependencies.mogoaicloudservicesdk
|
||||
|
||||
f8xxImplementation rootProject.ext.dependencies.mogoaicloudserviceapk
|
||||
f80xImplementation rootProject.ext.dependencies.mogoaicloudserviceapk
|
||||
@@ -12,6 +14,8 @@ project.dependencies {
|
||||
fPadLenovoOchTaxiImplementation rootProject.ext.dependencies.mogoaicloudservicesdk
|
||||
fPadLenovoOchBusImplementation rootProject.ext.dependencies.mogoaicloudservicesdk
|
||||
} else {
|
||||
bydautoImplementation project(':foudations:mogo-aicloud-services-sdk')
|
||||
phoneImplementation project(':foudations:mogo-aicloud-services-sdk')
|
||||
|
||||
f8xxImplementation project(':foudations:mogo-aicloud-services-apk')
|
||||
f80xImplementation project(':foudations:mogo-aicloud-services-apk')
|
||||
|
||||
@@ -6,12 +6,15 @@ project.dependencies {
|
||||
f80xImplementation rootProject.ext.dependencies.mapcustom
|
||||
fochtaxiImplementation rootProject.ext.dependencies.mapcustom
|
||||
fochbusImplementation rootProject.ext.dependencies.mapcustom
|
||||
phoneImplementation rootProject.ext.dependencies.mapcustom
|
||||
|
||||
fPadLenovoImplementation rootProject.ext.dependencies.mapcustom
|
||||
fPadLenovoOchTaxiImplementation rootProject.ext.dependencies.mapcustom
|
||||
fPadLenovoOchBusImplementation rootProject.ext.dependencies.mapcustom
|
||||
|
||||
f8AmapImplementation rootProject.ext.dependencies.mapamap
|
||||
bydautoImplementation rootProject.ext.dependencies.mapamap
|
||||
|
||||
} else {
|
||||
f8xxImplementation project(':libraries:map-custom')
|
||||
f80xImplementation project(':libraries:map-custom')
|
||||
@@ -22,6 +25,10 @@ project.dependencies {
|
||||
fPadLenovoOchTaxiImplementation project(':libraries:map-custom')
|
||||
fPadLenovoOchBusImplementation project(':libraries:map-custom')
|
||||
|
||||
phoneImplementation project(':libraries:map-custom')
|
||||
|
||||
f8AmapImplementation project(':libraries:map-amap')
|
||||
bydautoImplementation project(':libraries:map-amap')
|
||||
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,9 @@
|
||||
|
||||
project.dependencies {
|
||||
if (Boolean.valueOf(RELEASE)) {
|
||||
bydautoImplementation rootProject.ext.dependencies.mogobaseservicesdk
|
||||
phoneImplementation rootProject.ext.dependencies.mogobaseservicesdk
|
||||
|
||||
f8xxImplementation rootProject.ext.dependencies.mogobaseserviceapk
|
||||
f80xImplementation rootProject.ext.dependencies.mogobaseserviceapk
|
||||
f8AmapImplementation rootProject.ext.dependencies.mogobaseserviceapk
|
||||
@@ -12,6 +15,9 @@ project.dependencies {
|
||||
fPadLenovoOchTaxiImplementation rootProject.ext.dependencies.mogobaseserviceapk
|
||||
fPadLenovoOchBusImplementation rootProject.ext.dependencies.mogobaseserviceapk
|
||||
} else {
|
||||
bydautoImplementation project(':foudations:mogo-base-services-sdk')
|
||||
phoneImplementation project(':foudations:mogo-base-services-sdk')
|
||||
|
||||
f8xxImplementation project(':foudations:mogo-base-services-apk')
|
||||
f80xImplementation project(':foudations:mogo-base-services-apk')
|
||||
f8AmapImplementation project(':foudations:mogo-base-services-apk')
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
project.dependencies {
|
||||
if (Boolean.valueOf(RELEASE)) {
|
||||
bydautoImplementation rootProject.ext.dependencies.mogomoduleguide
|
||||
phoneImplementation rootProject.ext.dependencies.mogomoduleguide
|
||||
f8xxImplementation rootProject.ext.dependencies.mogomoduleguide
|
||||
f80xImplementation rootProject.ext.dependencies.mogomoduleguide
|
||||
f8AmapImplementation rootProject.ext.dependencies.mogomoduleguide
|
||||
@@ -13,6 +15,8 @@ project.dependencies {
|
||||
fPadLenovoOchTaxiImplementation rootProject.ext.dependencies.mogomoduleguide
|
||||
fPadLenovoOchBusImplementation rootProject.ext.dependencies.mogomoduleguide
|
||||
} else {
|
||||
bydautoImplementation project(':modules:mogo-module-guide')
|
||||
phoneImplementation project(':modules:mogo-module-guide')
|
||||
|
||||
f8xxImplementation project(':modules:mogo-module-guide')
|
||||
f80xImplementation project(':modules:mogo-module-guide')
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
|
||||
project.dependencies {
|
||||
if (Boolean.valueOf(RELEASE)) {
|
||||
bydautoImplementation rootProject.ext.dependencies.moduleleftpanel
|
||||
phoneImplementation rootProject.ext.dependencies.moduleleftpanelnoop
|
||||
|
||||
f8xxImplementation rootProject.ext.dependencies.moduleleftpanelnoop
|
||||
f80xImplementation rootProject.ext.dependencies.moduleleftpanelnoop
|
||||
f8AmapImplementation rootProject.ext.dependencies.moduleleftpanelnoop
|
||||
@@ -14,6 +17,9 @@ project.dependencies {
|
||||
fPadLenovoOchBusImplementation rootProject.ext.dependencies.moduleleftpanelnoop
|
||||
|
||||
} else {
|
||||
bydautoImplementation project(':modules:mogo-module-left-panel')
|
||||
phoneImplementation project(':modules:mogo-module-left-panel-noop')
|
||||
|
||||
f8xxImplementation project(':modules:mogo-module-left-panel-noop')
|
||||
f80xImplementation project(':modules:mogo-module-left-panel-noop')
|
||||
f8AmapImplementation project(':modules:mogo-module-left-panel-noop')
|
||||
|
||||
9
app/functions/mediaui.gradle
Normal file
9
app/functions/mediaui.gradle
Normal file
@@ -0,0 +1,9 @@
|
||||
// 音乐播放模块
|
||||
|
||||
project.dependencies {
|
||||
if (Boolean.valueOf(RELEASE)) {
|
||||
launcherImplementation rootProject.ext.dependencies.modulemedia
|
||||
} else {
|
||||
launcherImplementation project(':modules:mogo-module-media')
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,9 @@
|
||||
// 网约车服务:仅小巴车、出租车渠道用
|
||||
project.dependencies {
|
||||
if (Boolean.valueOf(RELEASE)) {
|
||||
bydautoImplementation rootProject.ext.dependencies.mogoochnoop
|
||||
phoneImplementation rootProject.ext.dependencies.mogoochnoop
|
||||
|
||||
f8xxImplementation rootProject.ext.dependencies.mogoochnoop
|
||||
f80xImplementation rootProject.ext.dependencies.mogoochnoop
|
||||
f8AmapImplementation rootProject.ext.dependencies.mogoochnoop
|
||||
@@ -12,6 +15,9 @@ project.dependencies {
|
||||
fPadLenovoOchTaxiImplementation rootProject.ext.dependencies.mogoochtaxi
|
||||
fPadLenovoOchBusImplementation rootProject.ext.dependencies.mogoochbus
|
||||
} else {
|
||||
bydautoImplementation project(':OCH:mogo-och-noop')
|
||||
phoneImplementation project(':OCH:mogo-och-noop')
|
||||
|
||||
f8xxImplementation project(':OCH:mogo-och-noop')
|
||||
f80xImplementation project(':OCH:mogo-och-noop')
|
||||
f8AmapImplementation project(':OCH:mogo-och-noop')
|
||||
|
||||
@@ -3,10 +3,14 @@
|
||||
project.dependencies {
|
||||
if (Boolean.valueOf(RELEASE)) {
|
||||
launcherImplementation rootProject.ext.dependencies.modulemainlauncher
|
||||
independentImplementation rootProject.ext.dependencies.modulemainindependent
|
||||
|
||||
// 仅launcher需要引入该模块
|
||||
launcherImplementation rootProject.ext.dependencies.moduleapps
|
||||
} else {
|
||||
launcherImplementation project(':main-extensions:mogo-module-main-launcher')
|
||||
independentImplementation project(':main-extensions:mogo-module-main-independent')
|
||||
|
||||
// 仅launcher需要引入该模块
|
||||
launcherImplementation project(':modules:mogo-module-apps')
|
||||
}
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
project.dependencies {
|
||||
if (Boolean.valueOf(RELEASE)) {
|
||||
bydautoImplementation rootProject.ext.dependencies.skinsupportnoop
|
||||
phoneImplementation rootProject.ext.dependencies.skinsupportimpl
|
||||
|
||||
f8xxImplementation rootProject.ext.dependencies.skinsupportimpl
|
||||
f80xImplementation rootProject.ext.dependencies.skinsupportimpl
|
||||
f8AmapImplementation rootProject.ext.dependencies.skinsupportimpl
|
||||
@@ -11,6 +14,9 @@ project.dependencies {
|
||||
fPadLenovoOchTaxiImplementation rootProject.ext.dependencies.skinsupportimpl
|
||||
fPadLenovoOchBusImplementation rootProject.ext.dependencies.skinsupportimpl
|
||||
|
||||
|
||||
phoneImplementation rootProject.ext.dependencies.skinsupportlight
|
||||
|
||||
f8xxImplementation rootProject.ext.dependencies.skinsupportlight
|
||||
f80xImplementation rootProject.ext.dependencies.skinsupportlight
|
||||
f8AmapImplementation rootProject.ext.dependencies.skinsupportlight
|
||||
@@ -22,6 +28,10 @@ project.dependencies {
|
||||
fPadLenovoOchTaxiImplementation rootProject.ext.dependencies.skinsupportlight
|
||||
fPadLenovoOchBusImplementation rootProject.ext.dependencies.skinsupportlight
|
||||
} else {
|
||||
|
||||
bydautoImplementation project(':skin:mogo-skin-support-noop')
|
||||
phoneImplementation project(':skin:mogo-skin-support-impl')
|
||||
|
||||
f8xxImplementation project(':skin:mogo-skin-support-impl')
|
||||
f80xImplementation project(':skin:mogo-skin-support-impl')
|
||||
f8AmapImplementation project(':skin:mogo-skin-support-impl')
|
||||
@@ -33,6 +43,9 @@ project.dependencies {
|
||||
fPadLenovoOchTaxiImplementation project(':skin:mogo-skin-support-impl')
|
||||
fPadLenovoOchBusImplementation project(':skin:mogo-skin-support-impl')
|
||||
|
||||
|
||||
phoneImplementation project(':skin:mogo-skin-light')
|
||||
|
||||
f8xxImplementation project(':skin:mogo-skin-light')
|
||||
f80xImplementation project(':skin:mogo-skin-light')
|
||||
f8AmapImplementation project(':skin:mogo-skin-light')
|
||||
@@ -43,5 +56,6 @@ project.dependencies {
|
||||
fPadLenovoImplementation project(':skin:mogo-skin-light')
|
||||
fPadLenovoOchTaxiImplementation project(':skin:mogo-skin-light')
|
||||
fPadLenovoOchBusImplementation project(':skin:mogo-skin-light')
|
||||
|
||||
}
|
||||
}
|
||||
@@ -4,8 +4,10 @@ project.dependencies {
|
||||
if (Boolean.valueOf(RELEASE)) {
|
||||
implementation rootProject.ext.dependencies.modulepushbase
|
||||
launcherImplementation rootProject.ext.dependencies.modulepush
|
||||
independentImplementation rootProject.ext.dependencies.modulepushnoop
|
||||
} else {
|
||||
implementation project(":modules:mogo-module-push-base")
|
||||
launcherImplementation project(":modules:mogo-module-push")
|
||||
independentImplementation project(":modules:mogo-module-push-noop")
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,8 @@
|
||||
project.dependencies {
|
||||
if (Boolean.valueOf(RELEASE)) {
|
||||
bydautoImplementation rootProject.ext.dependencies.ttsdi
|
||||
phoneImplementation rootProject.ext.dependencies.ttszhi
|
||||
|
||||
f8xxImplementation rootProject.ext.dependencies.ttszhi
|
||||
f80xImplementation rootProject.ext.dependencies.ttszhi
|
||||
f8AmapImplementation rootProject.ext.dependencies.ttszhi
|
||||
@@ -11,6 +14,9 @@ project.dependencies {
|
||||
fPadLenovoOchTaxiImplementation rootProject.ext.dependencies.ttspad
|
||||
fPadLenovoOchBusImplementation rootProject.ext.dependencies.ttspad
|
||||
} else {
|
||||
bydautoImplementation project(':tts:tts-di')
|
||||
phoneImplementation project(':tts:tts-zhi')
|
||||
|
||||
f8xxImplementation project(':tts:tts-zhi')
|
||||
f80xImplementation project(':tts:tts-zhi')
|
||||
f8AmapImplementation project(':tts:tts-zhi')
|
||||
|
||||
37
app/productFlavors/bydauto.gradle
Normal file
37
app/productFlavors/bydauto.gradle
Normal file
@@ -0,0 +1,37 @@
|
||||
project.android.productFlavors {
|
||||
// 比亚迪
|
||||
bydauto {
|
||||
minSdkVersion rootProject.ext.android.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.android.targetSdkVersion
|
||||
// 应用包名
|
||||
applicationId rootProject.ext.android.bydautoIndependentApplicationId
|
||||
dimension "product"
|
||||
buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false'
|
||||
// 车机类型,主要用于区分自研车机还是别人家的车机,其他车机,比亚迪定为1
|
||||
buildConfigField 'int', 'CAR_MACHINE_TYPE', '1'
|
||||
buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'true'
|
||||
manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.bydautoIndependentApiValue, CHANNEL_VALUE: "bydauto"]
|
||||
// 是否使用高德sdk自定义导航
|
||||
buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'true'
|
||||
// 是否支持换肤
|
||||
buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'false'
|
||||
// 是否支持查询导航目的地车友
|
||||
buildConfigField 'boolean', 'IS_SUPPORTED_SEARCH_DESTINATION_ONLINE_CAR_LIST', 'false'
|
||||
// 是否支持桌面卡片刷新
|
||||
buildConfigField 'boolean', 'IS_SUPPORT_LAUNCHER_CARD_REFRESH_STRATEGY', 'false'
|
||||
// 是否基于地图
|
||||
buildConfigField 'boolean', 'IS_MAP_BASED', 'true'
|
||||
// 是否加载引导模块
|
||||
buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true'
|
||||
// 分享时是否隐藏 adas
|
||||
buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false'
|
||||
// 是否需要实时上报坐标
|
||||
buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'false'
|
||||
// 是否需要使用工控机的rtk定位
|
||||
buildConfigField 'boolean', 'IS_USE_ADAS_RTK_LOCATION_INFO', 'false'
|
||||
// 是否需要悬浮窗权限申请
|
||||
buildConfigField 'boolean', 'IS_NEED_REQUEST_FLOAT_PERMISSION', 'true'
|
||||
// GPS数据提供源: 0-Android系统,1-工控机,2-OBU
|
||||
buildConfigField 'int', 'GPS_PROVIDER', "1"
|
||||
}
|
||||
}
|
||||
35
app/productFlavors/phone.gradle
Normal file
35
app/productFlavors/phone.gradle
Normal file
@@ -0,0 +1,35 @@
|
||||
project.android.productFlavors {
|
||||
// f系列-分体机
|
||||
phone {
|
||||
// 应用包名
|
||||
applicationId rootProject.ext.android.fLauncherApplicationId
|
||||
dimension "product"
|
||||
buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false'
|
||||
// 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0
|
||||
buildConfigField 'int', 'CAR_MACHINE_TYPE', '1'
|
||||
buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'true'
|
||||
manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue, CHANNEL_VALUE: "phone"]
|
||||
// 是否使用高德sdk自定义导航
|
||||
buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false'
|
||||
// 是否支持换肤
|
||||
buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'true'
|
||||
// 是否支持查询导航目的地车友
|
||||
buildConfigField 'boolean', 'IS_SUPPORTED_SEARCH_DESTINATION_ONLINE_CAR_LIST', 'true'
|
||||
// 是否支持桌面卡片刷新
|
||||
buildConfigField 'boolean', 'IS_SUPPORT_LAUNCHER_CARD_REFRESH_STRATEGY', 'false'
|
||||
// 是否基于地图
|
||||
buildConfigField 'boolean', 'IS_MAP_BASED', 'true'
|
||||
// 是否加载引导模块
|
||||
buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true'
|
||||
// 分享时是否隐藏 adas
|
||||
buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false'
|
||||
// 是否需要实时上报坐标
|
||||
buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true'
|
||||
// 是否需要使用工控机的rtk定位
|
||||
buildConfigField 'boolean', 'IS_USE_ADAS_RTK_LOCATION_INFO', 'true'
|
||||
// 是否需要悬浮窗权限申请
|
||||
buildConfigField 'boolean', 'IS_NEED_REQUEST_FLOAT_PERMISSION', 'true'
|
||||
// GPS数据提供源: 0-Android系统,1-工控机,2-OBU
|
||||
buildConfigField 'int', 'GPS_PROVIDER', "1"
|
||||
}
|
||||
}
|
||||
@@ -2,12 +2,21 @@
|
||||
|
||||
afterEvaluate {
|
||||
|
||||
def independent = ["bydauto", "phone"]
|
||||
def launcher = ["f80x", "f8xx", "f8amap", "fochtaxi", "fochbus", "fPadLenovo", "fPadLenovoOchTaxi", "fPadLenovoOchBus"]
|
||||
|
||||
it.getTasks().iterator().forEachRemaining {
|
||||
def task = it
|
||||
def taskName = task.name
|
||||
if (taskName.startsWith("assemble")
|
||||
&& taskName.contains("Independent")
|
||||
&& (taskName.endsWith("Debug") || taskName.endsWith("Release"))) {
|
||||
independent.forEach {
|
||||
if (taskName.toLowerCase().contains(it)) {
|
||||
task.group = "assembleIndependent"
|
||||
}
|
||||
}
|
||||
} else if (taskName.startsWith("assemble")
|
||||
&& taskName.contains("Launcher")
|
||||
&& (taskName.endsWith("Debug") || taskName.endsWith("Release"))) {
|
||||
launcher.forEach {
|
||||
@@ -15,6 +24,14 @@ afterEvaluate {
|
||||
task.group = "assembleLauncher"
|
||||
}
|
||||
}
|
||||
} else if (taskName.startsWith("install")
|
||||
&& taskName.contains("Independent")
|
||||
&& (taskName.endsWith("Debug") || taskName.endsWith("Release"))) {
|
||||
independent.forEach {
|
||||
if (taskName.toLowerCase().contains(it)) {
|
||||
task.group = "installIndependent"
|
||||
}
|
||||
}
|
||||
} else if (taskName.startsWith("install")
|
||||
&& taskName.contains("Launcher")
|
||||
&& (taskName.endsWith("Debug") || taskName.endsWith("Release"))) {
|
||||
|
||||
5
app/src/e8xx/AndroidManifest.xml
Normal file
5
app/src/e8xx/AndroidManifest.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?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.mogo.launcher">
|
||||
</manifest>
|
||||
6
app/src/em4/AndroidManifest.xml
Normal file
6
app/src/em4/AndroidManifest.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:sharedUserId="android.uid.system"
|
||||
package="com.mogo.launcher">
|
||||
</manifest>
|
||||
28
app/src/launcher/AndroidManifest.xml
Normal file
28
app/src/launcher/AndroidManifest.xml
Normal file
@@ -0,0 +1,28 @@
|
||||
<?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.mogo.launcher">
|
||||
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
|
||||
<application
|
||||
android:name=".MogoApplication"
|
||||
android:allowBackup="true"
|
||||
android:icon="@drawable/ic_launcher"
|
||||
android:label="@string/app_shell_name"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme.App"
|
||||
tools:replace="android:label">
|
||||
<!-- <provider-->
|
||||
<!-- android:name="com.mogo.module.navi.cp.AddressContentProvider"-->
|
||||
<!-- android:authorities="com.zhidao.auto.personal.provider"-->
|
||||
<!-- android:enabled="true"-->
|
||||
<!-- android:exported="true" />-->
|
||||
<!-- <meta-data-->
|
||||
<!-- android:name="com.amap.api.v2.apikey"-->
|
||||
<!-- android:value="a36b9f7b086fa3951bb35338a5a06dd3"-->
|
||||
<!-- tools:replace="android:value" />-->
|
||||
<!-- 高德地图 -->
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
Reference in New Issue
Block a user