diff --git a/VisualNovel/app/src/main/AndroidManifest.xml b/VisualNovel/app/src/main/AndroidManifest.xml index 0b6ae22..b2243ae 100644 --- a/VisualNovel/app/src/main/AndroidManifest.xml +++ b/VisualNovel/app/src/main/AndroidManifest.xml @@ -2,6 +2,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + android:name=".ui.splash.SplashActivity" + android:exported="true" > + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/ChatActivity.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/ChatActivity.kt new file mode 100644 index 0000000..a07a03b --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/ChatActivity.kt @@ -0,0 +1,65 @@ +package com.remax.visualnovel.ui.Chat + + +import androidx.activity.viewModels +import androidx.lifecycle.Observer +import com.alibaba.android.arouter.facade.annotation.Route +import com.alibaba.android.arouter.launcher.ARouter +import com.remax.visualnovel.app.base.BaseBindingActivity +import com.remax.visualnovel.utils.Routers +import com.remax.visualnovel.utils.StatusBarUtils +import com.pengxr.modular.eventbus.generated.events.EventDefineOfUserEvents +import com.remax.visualnovel.databinding.ActivityActorChatBinding +import com.remax.visualnovel.event.model.OnLoginEvent +import com.remax.visualnovel.extension.launchWithRequest +import com.remax.visualnovel.ui.main.MainViewModel +import dagger.hilt.android.AndroidEntryPoint + + + +@AndroidEntryPoint +@Route(path = Routers.CHAT) +class ChatActivity : BaseBindingActivity() { + + private val mViewModel by viewModels() + + override fun initView() { + StatusBarUtils.setStatusBarAndNavBarIsLight(this, false) + StatusBarUtils.setTransparent(this) + + with(binding) { + + } + } + + override fun initData() { + + } + + private val loginObserver = Observer { + launchWithRequest({ + //TODO - business handling for login events + if (it?.isLogin() == true) { + + } else { + + } + }) + } + + override fun onDestroy() { + super.onDestroy() + EventDefineOfUserEvents.onLoginStatusChanged().removeObserver(loginObserver) + } + + + companion object { + fun start() { + ARouter.getInstance() + .build(Routers.CHAT) + .navigation() + } + } + + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/checkin/CheckInActivity.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/checkin/CheckInActivity.kt new file mode 100644 index 0000000..c2da8d4 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/checkin/CheckInActivity.kt @@ -0,0 +1,65 @@ +package com.remax.visualnovel.ui.checkin + + +import androidx.activity.viewModels +import androidx.lifecycle.Observer +import com.alibaba.android.arouter.facade.annotation.Route +import com.alibaba.android.arouter.launcher.ARouter +import com.remax.visualnovel.app.base.BaseBindingActivity +import com.remax.visualnovel.utils.Routers +import com.remax.visualnovel.utils.StatusBarUtils +import com.pengxr.modular.eventbus.generated.events.EventDefineOfUserEvents +import com.remax.visualnovel.databinding.ActivityCheckinBinding +import com.remax.visualnovel.event.model.OnLoginEvent +import com.remax.visualnovel.extension.launchWithRequest +import com.remax.visualnovel.ui.main.MainViewModel +import dagger.hilt.android.AndroidEntryPoint + + + +@AndroidEntryPoint +@Route(path = Routers.CHECK_IN) +class CheckInActivity : BaseBindingActivity() { + + private val mViewModel by viewModels() + + override fun initView() { + StatusBarUtils.setStatusBarAndNavBarIsLight(this, false) + StatusBarUtils.setTransparent(this) + + with(binding) { + + } + } + + override fun initData() { + + } + + private val loginObserver = Observer { + launchWithRequest({ + //TODO - business handling for login events + if (it?.isLogin() == true) { + + } else { + + } + }) + } + + override fun onDestroy() { + super.onDestroy() + EventDefineOfUserEvents.onLoginStatusChanged().removeObserver(loginObserver) + } + + + companion object { + fun start() { + ARouter.getInstance() + .build(Routers.CHECK_IN) + .navigation() + } + } + + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/discussion/DiscussionActivity.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/discussion/DiscussionActivity.kt new file mode 100644 index 0000000..eca4d17 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/discussion/DiscussionActivity.kt @@ -0,0 +1,66 @@ +package com.remax.visualnovel.ui.discussion + + +import androidx.activity.viewModels +import androidx.lifecycle.Observer +import com.alibaba.android.arouter.facade.annotation.Route +import com.alibaba.android.arouter.launcher.ARouter +import com.remax.visualnovel.app.base.BaseBindingActivity +import com.remax.visualnovel.utils.Routers +import com.remax.visualnovel.utils.StatusBarUtils +import com.pengxr.modular.eventbus.generated.events.EventDefineOfUserEvents +import com.remax.visualnovel.databinding.ActivityCheckinBinding +import com.remax.visualnovel.databinding.ActivityDiscussionBinding +import com.remax.visualnovel.event.model.OnLoginEvent +import com.remax.visualnovel.extension.launchWithRequest +import com.remax.visualnovel.ui.main.MainViewModel +import dagger.hilt.android.AndroidEntryPoint + + + +@AndroidEntryPoint +@Route(path = Routers.DISCUSSION) +class DiscussionActivity : BaseBindingActivity() { + + private val mViewModel by viewModels() + + override fun initView() { + StatusBarUtils.setStatusBarAndNavBarIsLight(this, false) + StatusBarUtils.setTransparent(this) + + with(binding) { + + } + } + + override fun initData() { + + } + + private val loginObserver = Observer { + launchWithRequest({ + //TODO - business handling for login events + if (it?.isLogin() == true) { + + } else { + + } + }) + } + + override fun onDestroy() { + super.onDestroy() + EventDefineOfUserEvents.onLoginStatusChanged().removeObserver(loginObserver) + } + + + companion object { + fun start() { + ARouter.getInstance() + .build(Routers.DISCUSSION) + .navigation() + } + } + + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/search/SearchActivity.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/search/SearchActivity.kt new file mode 100644 index 0000000..035b864 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/search/SearchActivity.kt @@ -0,0 +1,66 @@ +package com.remax.visualnovel.ui.search + + +import androidx.activity.viewModels +import androidx.lifecycle.Observer +import com.alibaba.android.arouter.facade.annotation.Route +import com.alibaba.android.arouter.launcher.ARouter +import com.remax.visualnovel.app.base.BaseBindingActivity +import com.remax.visualnovel.utils.Routers +import com.remax.visualnovel.utils.StatusBarUtils +import com.pengxr.modular.eventbus.generated.events.EventDefineOfUserEvents +import com.remax.visualnovel.databinding.ActivityCheckinBinding +import com.remax.visualnovel.databinding.ActivitySearchBinding +import com.remax.visualnovel.event.model.OnLoginEvent +import com.remax.visualnovel.extension.launchWithRequest +import com.remax.visualnovel.ui.main.MainViewModel +import dagger.hilt.android.AndroidEntryPoint + + + +@AndroidEntryPoint +@Route(path = Routers.SEARCH) +class SearchActivity : BaseBindingActivity() { + + private val mViewModel by viewModels() + + override fun initView() { + StatusBarUtils.setStatusBarAndNavBarIsLight(this, false) + StatusBarUtils.setTransparent(this) + + with(binding) { + + } + } + + override fun initData() { + + } + + private val loginObserver = Observer { + launchWithRequest({ + //TODO - business handling for login events + if (it?.isLogin() == true) { + + } else { + + } + }) + } + + override fun onDestroy() { + super.onDestroy() + EventDefineOfUserEvents.onLoginStatusChanged().removeObserver(loginObserver) + } + + + companion object { + fun start() { + ARouter.getInstance() + .build(Routers.SEARCH) + .navigation() + } + } + + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/splash/SplashActivity.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/splash/SplashActivity.kt new file mode 100644 index 0000000..6b242d4 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/splash/SplashActivity.kt @@ -0,0 +1,61 @@ +package com.remax.visualnovel.ui.splash + + +import android.os.CountDownTimer +import com.alibaba.android.arouter.facade.annotation.Route +import com.remax.visualnovel.app.base.BaseBindingActivity +import com.remax.visualnovel.utils.Routers +import com.remax.visualnovel.utils.StatusBarUtils +import com.remax.visualnovel.databinding.ActivitySplashBinding +import com.remax.visualnovel.ui.main.MainActivity +import com.remax.visualnovel.utils.TimeUtils +import dagger.hilt.android.AndroidEntryPoint + + + +@AndroidEntryPoint +@Route(path = Routers.SPLASH) +class SplashActivity : BaseBindingActivity() { + + private var mCountDownTimer: CountDownTimer? = null + + override fun initView() { + StatusBarUtils.setStatusBarAndNavBarIsLight(this, false) + StatusBarUtils.setTransparent(this) + + with(binding) { + + } + } + + override fun initData() { + startCountDown() + } + + private fun startCountDown() { + mCountDownTimer?.cancel() + mCountDownTimer = object : CountDownTimer(TimeUtils.ONE_SECOND * 1, 1000) { + override fun onTick(millisUntilFinished: Long) { + + } + override fun onFinish() { + gotoMain() + } + } + mCountDownTimer?.start() + } + + private fun gotoMain() { + MainActivity.start() + finish() + } + + + override fun onDestroy() { + super.onDestroy() + mCountDownTimer?.cancel() + } + + + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/utils/Routers.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/utils/Routers.kt index c3ed97c..77e0a08 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/utils/Routers.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/utils/Routers.kt @@ -13,15 +13,8 @@ class Routers { private const val ROUTER = "/router/" - /** - * 欢迎页 - */ - const val WELCOME = "${ROUTER}welcome" - const val TEST = "${ROUTER}test" - /** - * main activity - */ + const val SPLASH = "${ROUTER}splash" const val MAIN = "${ROUTER}main" const val ROUTE_FRAG_BOOKLIST = "${ROUTER}bookList" const val ROUTE_FRAG_MANGALIST = "${ROUTER}mangaList" @@ -30,6 +23,11 @@ class Routers { const val LOGIN = "${ROUTER}login" const val REGISTER = "${ROUTER}register" const val BROWSER = "${ROUTER}browser" + const val CHAT = "${ROUTER}chat" + const val DISCUSSION = "${ROUTER}discussion" + const val SEARCH = "${ROUTER}search" + const val CHECK_IN = "${ROUTER}checkin" + diff --git a/VisualNovel/app/src/main/res/layout/activity_actor_chat.xml b/VisualNovel/app/src/main/res/layout/activity_actor_chat.xml new file mode 100644 index 0000000..4b44c2d --- /dev/null +++ b/VisualNovel/app/src/main/res/layout/activity_actor_chat.xml @@ -0,0 +1,29 @@ + + + + + + \ No newline at end of file diff --git a/VisualNovel/app/src/main/res/layout/activity_checkin.xml b/VisualNovel/app/src/main/res/layout/activity_checkin.xml new file mode 100644 index 0000000..4968422 --- /dev/null +++ b/VisualNovel/app/src/main/res/layout/activity_checkin.xml @@ -0,0 +1,29 @@ + + + + + + \ No newline at end of file diff --git a/VisualNovel/app/src/main/res/layout/activity_discussion.xml b/VisualNovel/app/src/main/res/layout/activity_discussion.xml new file mode 100644 index 0000000..365fe02 --- /dev/null +++ b/VisualNovel/app/src/main/res/layout/activity_discussion.xml @@ -0,0 +1,29 @@ + + + + + + \ No newline at end of file diff --git a/VisualNovel/app/src/main/res/layout/activity_search.xml b/VisualNovel/app/src/main/res/layout/activity_search.xml new file mode 100644 index 0000000..96910ae --- /dev/null +++ b/VisualNovel/app/src/main/res/layout/activity_search.xml @@ -0,0 +1,29 @@ + + + + + + \ No newline at end of file diff --git a/VisualNovel/app/src/main/res/layout/activity_splash.xml b/VisualNovel/app/src/main/res/layout/activity_splash.xml new file mode 100644 index 0000000..57a973b --- /dev/null +++ b/VisualNovel/app/src/main/res/layout/activity_splash.xml @@ -0,0 +1,21 @@ + + + + + + + \ No newline at end of file diff --git a/VisualNovel/app/src/main/res/mipmap-xxhdpi/splash_bg.webp b/VisualNovel/app/src/main/res/mipmap-xxhdpi/splash_bg.webp new file mode 100644 index 0000000..b72aa72 Binary files /dev/null and b/VisualNovel/app/src/main/res/mipmap-xxhdpi/splash_bg.webp differ