更改推送
This commit is contained in:
@@ -21,6 +21,14 @@ android {
|
|||||||
vectorDrawables {
|
vectorDrawables {
|
||||||
useSupportLibrary = true
|
useSupportLibrary = true
|
||||||
}
|
}
|
||||||
|
addManifestPlaceholders(
|
||||||
|
mapOf(
|
||||||
|
"JPUSH_PKGNAME " to applicationId!!,
|
||||||
|
"JPUSH_APPKEY" to "ad805ee9f2760376f4f47178",
|
||||||
|
"JPUSH_CHANNEL" to "developer-default",
|
||||||
|
)
|
||||||
|
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
@@ -50,6 +58,7 @@ android {
|
|||||||
excludes += "/META-INF/{AL2.0,LGPL2.1}"
|
excludes += "/META-INF/{AL2.0,LGPL2.1}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
@@ -101,5 +110,6 @@ dependencies {
|
|||||||
implementation("com.google.firebase:firebase-analytics")
|
implementation("com.google.firebase:firebase-analytics")
|
||||||
implementation("com.google.firebase:firebase-perf")
|
implementation("com.google.firebase:firebase-perf")
|
||||||
implementation("com.google.firebase:firebase-messaging-ktx")
|
implementation("com.google.firebase:firebase-messaging-ktx")
|
||||||
|
implementation ("cn.jiguang.sdk:jpush:5.4.0") // 必选,此处以JPush 5.4.0 版本为例,注意:5.0.0 版本
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -46,10 +46,12 @@
|
|||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.SEND" />
|
<action android:name="android.intent.action.SEND" />
|
||||||
<action android:name="android.intent.action.SEND_MULTIPLE" />
|
<action android:name="android.intent.action.SEND_MULTIPLE" />
|
||||||
|
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
<data android:mimeType="image/*" />
|
<data android:mimeType="image/*" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<service
|
<service
|
||||||
android:name=".MyFirebaseMessagingService"
|
android:name=".MyFirebaseMessagingService"
|
||||||
android:exported="false">
|
android:exported="false">
|
||||||
@@ -57,6 +59,27 @@
|
|||||||
<action android:name="com.google.firebase.MESSAGING_EVENT" />
|
<action android:name="com.google.firebase.MESSAGING_EVENT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</service>
|
</service>
|
||||||
|
<service
|
||||||
|
android:name=".JpushService"
|
||||||
|
android:enabled="true"
|
||||||
|
android:exported="false"
|
||||||
|
android:process=":pushcore">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="cn.jiguang.user.service.action" />
|
||||||
|
</intent-filter>
|
||||||
|
</service>
|
||||||
|
|
||||||
|
<receiver
|
||||||
|
android:name=".JpushReciver"
|
||||||
|
android:enabled="true"
|
||||||
|
android:exported="false">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="cn.jpush.android.intent.RECEIVER_MESSAGE" />
|
||||||
|
<category android:name="com.aiosman.riderpro" />
|
||||||
|
</intent-filter>
|
||||||
|
</receiver>
|
||||||
|
|
||||||
|
|
||||||
<provider
|
<provider
|
||||||
android:name="androidx.core.content.FileProvider"
|
android:name="androidx.core.content.FileProvider"
|
||||||
android:authorities="com.aiosman.riderpro.fileprovider"
|
android:authorities="com.aiosman.riderpro.fileprovider"
|
||||||
@@ -66,8 +89,13 @@
|
|||||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||||
android:resource="@xml/file_paths" />
|
android:resource="@xml/file_paths" />
|
||||||
</provider>
|
</provider>
|
||||||
|
<provider
|
||||||
|
android:name="cn.jpush.android.service.InitProvider"
|
||||||
|
android:authorities="${applicationId}.jiguang.InitProvider"
|
||||||
|
android:exported="false"
|
||||||
|
tools:node="remove"></provider>
|
||||||
|
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
||||||
41
app/src/main/java/com/aiosman/riderpro/JpushReciver.kt
Normal file
41
app/src/main/java/com/aiosman/riderpro/JpushReciver.kt
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
package com.aiosman.riderpro
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.content.Intent
|
||||||
|
import android.util.Log
|
||||||
|
import cn.jpush.android.api.NotificationMessage
|
||||||
|
import cn.jpush.android.service.JPushMessageReceiver
|
||||||
|
import com.google.gson.Gson
|
||||||
|
import com.google.gson.annotations.SerializedName
|
||||||
|
|
||||||
|
data class ActionExtra(
|
||||||
|
@SerializedName("action")
|
||||||
|
val action: String,
|
||||||
|
@SerializedName("postId")
|
||||||
|
val postId: String?,
|
||||||
|
)
|
||||||
|
|
||||||
|
class JpushReciver : JPushMessageReceiver() {
|
||||||
|
val gson = Gson()
|
||||||
|
override fun onInAppMessageClick(p0: Context?, p1: NotificationMessage?) {
|
||||||
|
super.onInAppMessageClick(p0, p1)
|
||||||
|
// 打开自定义的页面
|
||||||
|
Log.d("JpushReciver", "onInAppMessageClick")
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onNotifyMessageOpened(context: Context?, message: NotificationMessage) {
|
||||||
|
super.onNotifyMessageOpened(context, message)
|
||||||
|
// 打开自定义的页面
|
||||||
|
Log.d("JpushReciver", "onNotifyMessageOpened")
|
||||||
|
val actionExtra = message.notificationExtras?.let {
|
||||||
|
gson.fromJson(it, ActionExtra::class.java)
|
||||||
|
}
|
||||||
|
actionExtra?.postId?.let {
|
||||||
|
val intent = Intent(context, MainActivity::class.java).apply {
|
||||||
|
putExtra("POST_ID", it)
|
||||||
|
flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
|
||||||
|
}
|
||||||
|
context?.startActivity(intent)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
9
app/src/main/java/com/aiosman/riderpro/JpushService.kt
Normal file
9
app/src/main/java/com/aiosman/riderpro/JpushService.kt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
package com.aiosman.riderpro
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import cn.jpush.android.service.JCommonService
|
||||||
|
|
||||||
|
class JpushService : JCommonService() {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -21,18 +21,16 @@ import androidx.compose.runtime.compositionLocalOf
|
|||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.view.WindowCompat
|
import androidx.core.view.WindowCompat
|
||||||
import androidx.lifecycle.ProcessLifecycleOwner
|
import androidx.lifecycle.ProcessLifecycleOwner
|
||||||
import androidx.lifecycle.viewModelScope
|
|
||||||
import androidx.navigation.NavHostController
|
import androidx.navigation.NavHostController
|
||||||
|
import cn.jiguang.api.utils.JCollectionAuth
|
||||||
|
import cn.jpush.android.api.JPushInterface
|
||||||
import com.aiosman.riderpro.data.AccountService
|
import com.aiosman.riderpro.data.AccountService
|
||||||
import com.aiosman.riderpro.data.AccountServiceImpl
|
import com.aiosman.riderpro.data.AccountServiceImpl
|
||||||
import com.aiosman.riderpro.ui.Navigation
|
import com.aiosman.riderpro.ui.Navigation
|
||||||
import com.aiosman.riderpro.ui.NavigationRoute
|
import com.aiosman.riderpro.ui.NavigationRoute
|
||||||
import com.aiosman.riderpro.ui.post.NewPostViewModel
|
import com.aiosman.riderpro.ui.post.NewPostViewModel
|
||||||
import com.aiosman.riderpro.ui.post.PostViewModel
|
|
||||||
import com.google.android.libraries.places.api.Places
|
import com.google.android.libraries.places.api.Places
|
||||||
import com.google.firebase.analytics.FirebaseAnalytics
|
import com.google.firebase.analytics.FirebaseAnalytics
|
||||||
import com.google.firebase.analytics.ktx.analytics
|
|
||||||
import com.google.firebase.ktx.Firebase
|
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
@@ -81,21 +79,33 @@ class MainActivity : ComponentActivity() {
|
|||||||
Places.initialize(applicationContext, "AIzaSyDpgLDH1-SECw_pdjJq_msynq1XrxwgKVI")
|
Places.initialize(applicationContext, "AIzaSyDpgLDH1-SECw_pdjJq_msynq1XrxwgKVI")
|
||||||
}
|
}
|
||||||
// 初始化 Firebase Analytics
|
// 初始化 Firebase Analytics
|
||||||
analytics = Firebase.analytics
|
// analytics = Firebase.analytics
|
||||||
// 请求通知权限
|
// 请求通知权限
|
||||||
askNotificationPermission()
|
askNotificationPermission()
|
||||||
// 加载一些本地化的配置
|
// 加载一些本地化的配置
|
||||||
AppStore.init(this)
|
AppStore.init(this)
|
||||||
|
|
||||||
|
JPushInterface.setDebugMode(true);
|
||||||
|
|
||||||
|
// 调整点一:初始化代码前增加setAuth调用
|
||||||
|
JCollectionAuth.setAuth(this, true)
|
||||||
|
|
||||||
|
JPushInterface.init(this)
|
||||||
|
|
||||||
|
// JPushInterface.setAlias(this, 0, "myTest")
|
||||||
|
|
||||||
|
// Log.d("MainActivity", "pushId: $pushId")
|
||||||
enableEdgeToEdge()
|
enableEdgeToEdge()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
scope.launch {
|
scope.launch {
|
||||||
// 检查是否有登录态
|
// 检查是否有登录态
|
||||||
val isAccountValidate = getAccount()
|
val isAccountValidate = getAccount()
|
||||||
var startDestination = NavigationRoute.Login.route
|
var startDestination = NavigationRoute.Login.route
|
||||||
// 如果有登录态,且记住登录状态,且账号有效,则初始化 FCM,下一步进入首页
|
// 如果有登录态,且记住登录状态,且账号有效,则初始化 FCM,下一步进入首页
|
||||||
if (AppStore.token != null && AppStore.rememberMe && isAccountValidate) {
|
if (AppStore.token != null && AppStore.rememberMe && isAccountValidate) {
|
||||||
Messaging.InitFCM(scope)
|
Messaging.RegistDevice(scope,this@MainActivity)
|
||||||
startDestination = NavigationRoute.Index.route
|
startDestination = NavigationRoute.Index.route
|
||||||
}
|
}
|
||||||
setContent {
|
setContent {
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.aiosman.riderpro
|
package com.aiosman.riderpro
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
|
import cn.jpush.android.api.JPushInterface
|
||||||
import com.aiosman.riderpro.data.AccountService
|
import com.aiosman.riderpro.data.AccountService
|
||||||
import com.aiosman.riderpro.data.AccountServiceImpl
|
import com.aiosman.riderpro.data.AccountServiceImpl
|
||||||
import com.google.android.gms.tasks.OnCompleteListener
|
import com.google.android.gms.tasks.OnCompleteListener
|
||||||
@@ -9,7 +11,21 @@ import kotlinx.coroutines.CoroutineScope
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
object Messaging {
|
object Messaging {
|
||||||
fun InitFCM(scope: CoroutineScope) {
|
fun RegistDevice(scope: CoroutineScope, context: Context) {
|
||||||
|
|
||||||
|
registerJpush(scope, context)
|
||||||
|
// registerFCM(scope)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun registerJpush(scope: CoroutineScope, context: Context) {
|
||||||
|
val accountService: AccountService = AccountServiceImpl()
|
||||||
|
val regId = JPushInterface.getRegistrationID(context)
|
||||||
|
scope.launch {
|
||||||
|
accountService.registerMessageChannel(client = "jpush", identifier = regId)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun registerFCM(scope: CoroutineScope) {
|
||||||
val accountService: AccountService = AccountServiceImpl()
|
val accountService: AccountService = AccountServiceImpl()
|
||||||
FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
|
FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
|
||||||
if (!task.isSuccessful) {
|
if (!task.isSuccessful) {
|
||||||
@@ -27,4 +43,5 @@ object Messaging {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -273,6 +273,7 @@ class GridDragDropState internal constructor(
|
|||||||
get() = this.offset + this.size
|
get() = this.offset + this.size
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
operator fun IntOffset.plus(size: IntSize): IntOffset {
|
operator fun IntOffset.plus(size: IntSize): IntOffset {
|
||||||
return IntOffset(x + size.width, y + size.height)
|
return IntOffset(x + size.width, y + size.height)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,19 +4,13 @@ import android.widget.Toast
|
|||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Row
|
|
||||||
import androidx.compose.foundation.layout.Spacer
|
import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.height
|
import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
|
||||||
import androidx.compose.foundation.layout.width
|
import androidx.compose.foundation.layout.width
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
|
||||||
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
|
|
||||||
import androidx.compose.material3.Text
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
@@ -24,12 +18,10 @@ import androidx.compose.runtime.rememberCoroutineScope
|
|||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.scale
|
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
|
||||||
import com.aiosman.riderpro.AppState
|
import com.aiosman.riderpro.AppState
|
||||||
import com.aiosman.riderpro.AppStore
|
import com.aiosman.riderpro.AppStore
|
||||||
import com.aiosman.riderpro.ErrorCode
|
import com.aiosman.riderpro.ErrorCode
|
||||||
@@ -43,9 +35,7 @@ import com.aiosman.riderpro.getErrorMessageCode
|
|||||||
import com.aiosman.riderpro.ui.NavigationRoute
|
import com.aiosman.riderpro.ui.NavigationRoute
|
||||||
import com.aiosman.riderpro.ui.comment.NoticeScreenHeader
|
import com.aiosman.riderpro.ui.comment.NoticeScreenHeader
|
||||||
import com.aiosman.riderpro.ui.composables.ActionButton
|
import com.aiosman.riderpro.ui.composables.ActionButton
|
||||||
import com.aiosman.riderpro.ui.composables.Checkbox
|
|
||||||
import com.aiosman.riderpro.ui.composables.CheckboxWithLabel
|
import com.aiosman.riderpro.ui.composables.CheckboxWithLabel
|
||||||
import com.aiosman.riderpro.ui.composables.StatusBarMaskLayout
|
|
||||||
import com.aiosman.riderpro.ui.composables.StatusBarSpacer
|
import com.aiosman.riderpro.ui.composables.StatusBarSpacer
|
||||||
import com.aiosman.riderpro.ui.composables.TextInputField
|
import com.aiosman.riderpro.ui.composables.TextInputField
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
@@ -165,7 +155,7 @@ fun EmailSignupScreen() {
|
|||||||
try {
|
try {
|
||||||
val resp = accountService.getMyAccount()
|
val resp = accountService.getMyAccount()
|
||||||
AppState.UserId = resp.id
|
AppState.UserId = resp.id
|
||||||
Messaging.InitFCM(scope)
|
Messaging.RegistDevice(scope, context)
|
||||||
} catch (e: ServiceException) {
|
} catch (e: ServiceException) {
|
||||||
scope.launch(Dispatchers.Main) {
|
scope.launch(Dispatchers.Main) {
|
||||||
Toast.makeText(context, "Failed to get account", Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, "Failed to get account", Toast.LENGTH_SHORT).show()
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ fun SignupScreen() {
|
|||||||
try {
|
try {
|
||||||
val resp = accountService.getMyAccount()
|
val resp = accountService.getMyAccount()
|
||||||
AppState.UserId = resp.id
|
AppState.UserId = resp.id
|
||||||
Messaging.InitFCM(coroutineScope)
|
Messaging.RegistDevice(coroutineScope, context)
|
||||||
} catch (e: ServiceException) {
|
} catch (e: ServiceException) {
|
||||||
coroutineScope.launch(Dispatchers.Main) {
|
coroutineScope.launch(Dispatchers.Main) {
|
||||||
Toast.makeText(context, "Failed to get account", Toast.LENGTH_SHORT)
|
Toast.makeText(context, "Failed to get account", Toast.LENGTH_SHORT)
|
||||||
|
|||||||
@@ -14,13 +14,9 @@ import androidx.compose.foundation.layout.height
|
|||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.foundation.layout.width
|
import androidx.compose.foundation.layout.width
|
||||||
import androidx.compose.material3.Checkbox
|
|
||||||
import androidx.compose.material3.CheckboxDefaults
|
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.LocalMinimumInteractiveComponentEnforcement
|
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
@@ -34,7 +30,6 @@ import androidx.compose.ui.res.painterResource
|
|||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import androidx.credentials.CredentialManager
|
|
||||||
import com.aiosman.riderpro.AppStore
|
import com.aiosman.riderpro.AppStore
|
||||||
import com.aiosman.riderpro.LocalNavController
|
import com.aiosman.riderpro.LocalNavController
|
||||||
import com.aiosman.riderpro.Messaging
|
import com.aiosman.riderpro.Messaging
|
||||||
@@ -45,7 +40,6 @@ import com.aiosman.riderpro.data.ServiceException
|
|||||||
import com.aiosman.riderpro.ui.NavigationRoute
|
import com.aiosman.riderpro.ui.NavigationRoute
|
||||||
import com.aiosman.riderpro.ui.comment.NoticeScreenHeader
|
import com.aiosman.riderpro.ui.comment.NoticeScreenHeader
|
||||||
import com.aiosman.riderpro.ui.composables.ActionButton
|
import com.aiosman.riderpro.ui.composables.ActionButton
|
||||||
import com.aiosman.riderpro.ui.composables.StatusBarMaskLayout
|
|
||||||
import com.aiosman.riderpro.ui.composables.StatusBarSpacer
|
import com.aiosman.riderpro.ui.composables.StatusBarSpacer
|
||||||
import com.aiosman.riderpro.ui.composables.TextInputField
|
import com.aiosman.riderpro.ui.composables.TextInputField
|
||||||
import com.aiosman.riderpro.ui.modifiers.noRippleClickable
|
import com.aiosman.riderpro.ui.modifiers.noRippleClickable
|
||||||
@@ -86,7 +80,7 @@ fun UserAuthScreen() {
|
|||||||
this.rememberMe = rememberMe
|
this.rememberMe = rememberMe
|
||||||
saveData()
|
saveData()
|
||||||
}
|
}
|
||||||
Messaging.InitFCM(scope)
|
Messaging.RegistDevice(scope, context)
|
||||||
navController.navigate(NavigationRoute.Index.route) {
|
navController.navigate(NavigationRoute.Index.route) {
|
||||||
popUpTo(NavigationRoute.Login.route) { inclusive = true }
|
popUpTo(NavigationRoute.Login.route) { inclusive = true }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,3 +7,4 @@ plugins {
|
|||||||
id("com.google.firebase.firebase-perf") version "1.4.2" apply false
|
id("com.google.firebase.firebase-perf") version "1.4.2" apply false
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user