From 3d9392ed0d8979eb8f0b52dd2e5d5c29b6cf7f05 Mon Sep 17 00:00:00 2001 From: YOUNG HO CHA Date: Sun, 28 Dec 2025 18:18:05 +0900 Subject: [PATCH 1/2] Clean up databinding usage on LINE Sdk --- .../openchat/ui/OpenChatInfoFragment.kt | 7 +- .../openchat/ui/ProfileInfoFragment.kt | 6 +- .../res/layout/open_chat_info_fragment.xml | 394 +++++++++--------- .../main/res/layout/profile_info_fragment.xml | 15 +- 4 files changed, 201 insertions(+), 221 deletions(-) diff --git a/line-sdk/src/main/java/com/linecorp/linesdk/openchat/ui/OpenChatInfoFragment.kt b/line-sdk/src/main/java/com/linecorp/linesdk/openchat/ui/OpenChatInfoFragment.kt index 4025141..47bef0e 100644 --- a/line-sdk/src/main/java/com/linecorp/linesdk/openchat/ui/OpenChatInfoFragment.kt +++ b/line-sdk/src/main/java/com/linecorp/linesdk/openchat/ui/OpenChatInfoFragment.kt @@ -30,8 +30,6 @@ class OpenChatInfoFragment : Fragment() { savedInstanceState: Bundle? ): View? { binding = OpenChatInfoFragmentBinding.inflate(inflater, container, false) - binding.lifecycleOwner = this - return binding.root } @@ -44,7 +42,6 @@ class OpenChatInfoFragment : Fragment() { private fun setupViewModel() { viewModel = ViewModelProvider(requireActivity()).get(OpenChatInfoViewModel::class.java) - binding.viewModel = viewModel viewModel.chatroomName.observe(this, Observer { name -> binding.nameMaxTextView.text = @@ -61,6 +58,10 @@ class OpenChatInfoFragment : Fragment() { binding.categoryLabelTextView.text = resources.getString(resourceId) } }) + + viewModel.isSearchIncluded.observe(this, Observer { isSearchIncluded -> + binding.searchIncludedCheckBox.isChecked = isSearchIncluded + }) } private fun setupViews() { diff --git a/line-sdk/src/main/java/com/linecorp/linesdk/openchat/ui/ProfileInfoFragment.kt b/line-sdk/src/main/java/com/linecorp/linesdk/openchat/ui/ProfileInfoFragment.kt index fae3c77..37913d5 100644 --- a/line-sdk/src/main/java/com/linecorp/linesdk/openchat/ui/ProfileInfoFragment.kt +++ b/line-sdk/src/main/java/com/linecorp/linesdk/openchat/ui/ProfileInfoFragment.kt @@ -30,8 +30,6 @@ class ProfileInfoFragment : Fragment() { savedInstanceState: Bundle? ): View? { binding = ProfileInfoFragmentBinding.inflate(inflater, container, false) - binding.lifecycleOwner = this - return binding.root } @@ -39,7 +37,9 @@ class ProfileInfoFragment : Fragment() { super.onActivityCreated(savedInstanceState) viewModel = ViewModelProvider(requireActivity()).get(OpenChatInfoViewModel::class.java) - binding.viewModel = viewModel + viewModel.profileName.observe(this, + Observer { name -> binding.displayNameEditText.setText(name)} + ) setupViews() } diff --git a/line-sdk/src/main/res/layout/open_chat_info_fragment.xml b/line-sdk/src/main/res/layout/open_chat_info_fragment.xml index d921f77..47bf66b 100644 --- a/line-sdk/src/main/res/layout/open_chat_info_fragment.xml +++ b/line-sdk/src/main/res/layout/open_chat_info_fragment.xml @@ -1,234 +1,222 @@ - + tools:context=".openchat.ui.OpenChatInfoFragment" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="@color/openchat_background"> - - - - - - - - + + + + + + + + - - - - - - - - - - - - - + android:drawablePadding="18dp" + android:gravity="center_vertical" + android:hint="@string/openchat_create_room_description_placeholder" + android:includeFontPadding="true" + android:maxLength="@integer/max_chatroom_description_length" + android:paddingTop="12dp" + android:paddingBottom="12dp" + android:inputType="text" + android:textColor="@color/target_item_text" + android:textColorHint="@color/text_hint" + android:textSize="15sp" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toBottomOf="@+id/name_divider" + android:importantForAutofill="no" /> + + + + + + + + + + + + + + + - + - - + app:layout_constraintTop_toTopOf="parent" /> - - + app:layout_constraintEnd_toStartOf="@+id/searchIncludedCheckBox" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/search_title" /> - - - - - - - - + android:button="@drawable/list_checkbox_img" + android:clickable="true" + android:focusable="true" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" /> - - + + \ No newline at end of file diff --git a/line-sdk/src/main/res/layout/profile_info_fragment.xml b/line-sdk/src/main/res/layout/profile_info_fragment.xml index 3a37612..12d4263 100644 --- a/line-sdk/src/main/res/layout/profile_info_fragment.xml +++ b/line-sdk/src/main/res/layout/profile_info_fragment.xml @@ -1,15 +1,8 @@ - - - - - - @@ -50,5 +42,4 @@ app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@+id/displayNameEditText" /> - - + From 525d10b2206e6f8b12aa434199c2507bc7f6b0d2 Mon Sep 17 00:00:00 2001 From: YOUNG HO CHA Date: Sun, 28 Dec 2025 18:18:25 +0900 Subject: [PATCH 2/2] Disable Databinding and KAPT on LINE SDK --- line-sdk/build.gradle | 5 ----- 1 file changed, 5 deletions(-) diff --git a/line-sdk/build.gradle b/line-sdk/build.gradle index 1c4f386..d3967a2 100644 --- a/line-sdk/build.gradle +++ b/line-sdk/build.gradle @@ -1,7 +1,6 @@ apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-parcelize' -apply plugin: 'kotlin-kapt' apply plugin: 'maven-publish' apply plugin: 'signing' @@ -21,10 +20,6 @@ android { buildConfigField 'String', 'VERSION_NAME', "\"${defaultConfig.versionName}\"" } - dataBinding { - enabled = true - } - viewBinding { enabled = true }