Skip to content

Commit

Permalink
Merge pull request #509 from yt-tkhs/deeplink
Browse files Browse the repository at this point in the history
Support Deep Link
  • Loading branch information
satsukies committed Jan 18, 2019
2 parents 3a8c32d + 4acd13a commit 156f474
Show file tree
Hide file tree
Showing 9 changed files with 46 additions and 7 deletions.
2 changes: 1 addition & 1 deletion buildSrc/src/main/java/dependencies/Dep.kt
Expand Up @@ -57,7 +57,7 @@ object Dep {
}

object Navigation {
val version = "1.0.0-alpha08"
val version = "1.0.0-alpha09"
val runtime = "android.arch.navigation:navigation-runtime:$version"
val runtimeKtx = "android.arch.navigation:navigation-runtime-ktx:$version"
val fragment = "android.arch.navigation:navigation-fragment:$version"
Expand Down
Expand Up @@ -56,7 +56,7 @@ class BottomSheetDaySessionsFragment : DaggerFragment() {

private val groupAdapter = GroupAdapter<ViewHolder<*>>()
private val args: BottomSheetDaySessionsFragmentArgs by lazy {
BottomSheetDaySessionsFragmentArgs.fromBundle(arguments)
BottomSheetDaySessionsFragmentArgs.fromBundle(arguments ?: Bundle())
}

override fun onCreateView(
Expand Down
Expand Up @@ -37,6 +37,7 @@ import io.github.droidkaigi.confsched2019.session.ui.item.SpeakerItem
import io.github.droidkaigi.confsched2019.session.ui.store.SessionContentsStore
import io.github.droidkaigi.confsched2019.session.ui.widget.DaggerFragment
import io.github.droidkaigi.confsched2019.system.actioncreator.ActivityActionCreator
import io.github.droidkaigi.confsched2019.user.store.UserStore
import io.github.droidkaigi.confsched2019.util.ProgressTimeLatch
import javax.inject.Inject

Expand All @@ -45,6 +46,7 @@ class SessionDetailFragment : DaggerFragment() {

@Inject lateinit var sessionContentsActionCreator: SessionContentsActionCreator
@Inject lateinit var sessionContentsStore: SessionContentsStore
@Inject lateinit var userStore: UserStore
@Inject lateinit var speakerItemFactory: SpeakerItem.Factory
@Inject lateinit var activityActionCreator: ActivityActionCreator
@Inject lateinit var navController: NavController
Expand Down Expand Up @@ -72,7 +74,7 @@ class SessionDetailFragment : DaggerFragment() {
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)

sessionDetailFragmentArgs = SessionDetailFragmentArgs.fromBundle(arguments)
sessionDetailFragmentArgs = SessionDetailFragmentArgs.fromBundle(arguments ?: Bundle())

binding.sessionSpeakers.adapter = groupAdapter

Expand All @@ -98,6 +100,12 @@ class SessionDetailFragment : DaggerFragment() {
return@setOnMenuItemClickListener true
}

userStore.registered.changed(viewLifecycleOwner) { registered ->
if (registered && sessionContentsStore.isInitialized) {
sessionContentsActionCreator.refresh()
}
}

sessionContentsStore.speechSession(sessionDetailFragmentArgs.session)
.changed(viewLifecycleOwner) { session ->
applySpeechSessionLayout(session)
Expand Down
Expand Up @@ -64,7 +64,7 @@ class SessionPageFragment : DaggerFragment() {
}

private val args: SessionPageFragmentArgs by lazy {
SessionPageFragmentArgs.fromBundle(arguments)
SessionPageFragmentArgs.fromBundle(arguments ?: Bundle())
}

private val bottomSheetBehavior: BottomSheetBehavior<*>
Expand Down
Expand Up @@ -44,7 +44,7 @@ class SpeakerFragment : DaggerFragment() {
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)

speakerFragmentArgs = SpeakerFragmentArgs.fromBundle(arguments)
speakerFragmentArgs = SpeakerFragmentArgs.fromBundle(arguments ?: Bundle())

val speakerId = speakerFragmentArgs.speaker
binding.lang = defaultLang()
Expand Down
Expand Up @@ -34,7 +34,7 @@ class SessionSurveyFragment : DaggerFragment() {

override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
sessionSurveyFragmentArgs = SessionSurveyFragmentArgs.fromBundle(arguments)
sessionSurveyFragmentArgs = SessionSurveyFragmentArgs.fromBundle(arguments ?: Bundle())
}
}

Expand Down
24 changes: 24 additions & 0 deletions frontend/android/src/main/AndroidManifest.xml
Expand Up @@ -31,6 +31,30 @@

<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>

<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>

<data
android:host="droidkaigi.jp"
android:pathPrefix="/2019/timetable/"
android:scheme="https"
/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>

<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>

<data
android:host="droidkaigi.jp"
android:pathPrefix="/2019/en/timetable/"
android:scheme="https"
/>
</intent-filter>
</activity>
<activity
android:name="com.google.android.gms.oss.licenses.OssLicensesMenuActivity"
Expand Down
Expand Up @@ -100,7 +100,10 @@ class MainActivity : DaggerAppCompatActivity() {
val appBarConfiguration = AppBarConfiguration(
topLevelDestinationIds,
binding.drawerLayout
)
) {
onBackPressed()
true
}
setupActionBarWithNavController(navController, appBarConfiguration)
binding.navView.setupWithNavController(navController)
binding.toolbar.setupWithNavController(navController, appBarConfiguration)
Expand Down
Expand Up @@ -55,6 +55,10 @@
android:id="@+id/action_session_detail_to_session_survey"
app:destination="@id/session_survey"
/>
<deepLink app:uri="droidkaigi.jp/2019/timetable/{session}/"/>
<deepLink app:uri="droidkaigi.jp/2019/timetable/{session}"/>
<deepLink app:uri="droidkaigi.jp/2019/en/timetable/{session}/"/>
<deepLink app:uri="droidkaigi.jp/2019/en/timetable/{session}"/>
</fragment>
<fragment
android:id="@+id/search"
Expand Down

0 comments on commit 156f474

Please sign in to comment.