Skip to content
This repository was archived by the owner on Oct 18, 2024. It is now read-only.

Commit cfc0aed

Browse files
committed
fix: manually resize editor content when ime state changes
1 parent 5f14d2a commit cfc0aed

File tree

11 files changed

+208
-151
lines changed

11 files changed

+208
-151
lines changed

app/src/main/AndroidManifest.xml

+1-2
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,7 @@
7070
<activity
7171
android:configChanges="orientation|screenSize"
7272
android:launchMode="singleTop"
73-
android:name=".activities.editor.EditorActivityKt"
74-
android:windowSoftInputMode="adjustResize" />
73+
android:name=".activities.editor.EditorActivityKt"/>
7574
<activity android:name=".activities.PreferencesActivity" />
7675
<activity android:name=".activities.AboutActivity" />
7776
<activity android:name=".activities.ContributorsActivity" />

app/src/main/java/com/itsaky/androidide/activities/AboutActivity.kt

+60-47
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ package com.itsaky.androidide.activities
1818

1919
import android.content.Context
2020
import android.content.Intent
21-
import android.graphics.Rect
2221
import android.os.Bundle
2322
import android.text.SpannableStringBuilder
2423
import android.text.style.ForegroundColorSpan
@@ -27,6 +26,7 @@ import androidx.annotation.ColorInt
2726
import androidx.annotation.DrawableRes
2827
import androidx.annotation.StringRes
2928
import androidx.core.content.ContextCompat
29+
import androidx.core.graphics.Insets
3030
import androidx.core.view.updatePaddingRelative
3131
import com.blankj.utilcode.util.ClipboardUtils
3232
import com.blankj.utilcode.util.SizeUtils
@@ -101,8 +101,7 @@ class AboutActivity : EdgeToEdgeIDEActivity() {
101101
}
102102
}
103103

104-
override fun onInsetsUpdated(insets: Rect) {
105-
super.onInsetsUpdated(insets)
104+
override fun onApplySystemBarInsets(insets: Insets) {
106105
binding.toolbar.apply {
107106
setPaddingRelative(
108107
paddingStart + insets.left,
@@ -126,53 +125,65 @@ class AboutActivity : EdgeToEdgeIDEActivity() {
126125

127126
private fun createSocialItems(): List<IconTitleDescriptionItem> {
128127
return mutableListOf<IconTitleDescriptionItem>().apply {
129-
add(createSimpleIconTextItem(
130-
this@AboutActivity,
131-
ACTION_WEBSITE,
132-
R.drawable.ic_website,
133-
R.string.about_option_website,
134-
BuildInfo.PROJECT_SITE
135-
))
136-
add(createSimpleIconTextItem(
137-
this@AboutActivity,
138-
ACTION_EMAIL,
139-
R.drawable.ic_email,
140-
R.string.about_option_email,
141-
BaseApplication.EMAIL
142-
))
143-
add(createSimpleIconTextItem(
144-
this@AboutActivity,
145-
ACTION_TG_GROUP,
146-
R.drawable.ic_telegram,
147-
R.string.discussions_on_telegram,
148-
BaseApplication.TELEGRAM_GROUP_URL
149-
))
150-
add(createSimpleIconTextItem(
151-
this@AboutActivity,
152-
ACTION_TG_CHANNEL,
153-
R.drawable.ic_telegram,
154-
R.string.official_tg_channel,
155-
BaseApplication.TELEGRAM_CHANNEL_URL
156-
))
128+
add(
129+
createSimpleIconTextItem(
130+
this@AboutActivity,
131+
ACTION_WEBSITE,
132+
R.drawable.ic_website,
133+
R.string.about_option_website,
134+
BuildInfo.PROJECT_SITE
135+
)
136+
)
137+
add(
138+
createSimpleIconTextItem(
139+
this@AboutActivity,
140+
ACTION_EMAIL,
141+
R.drawable.ic_email,
142+
R.string.about_option_email,
143+
BaseApplication.EMAIL
144+
)
145+
)
146+
add(
147+
createSimpleIconTextItem(
148+
this@AboutActivity,
149+
ACTION_TG_GROUP,
150+
R.drawable.ic_telegram,
151+
R.string.discussions_on_telegram,
152+
BaseApplication.TELEGRAM_GROUP_URL
153+
)
154+
)
155+
add(
156+
createSimpleIconTextItem(
157+
this@AboutActivity,
158+
ACTION_TG_CHANNEL,
159+
R.drawable.ic_telegram,
160+
R.string.official_tg_channel,
161+
BaseApplication.TELEGRAM_CHANNEL_URL
162+
)
163+
)
157164
}
158165
}
159166

160167
private fun createMiscItems(): List<IconTitleDescriptionItem> {
161168
return mutableListOf<IconTitleDescriptionItem>().apply {
162-
add(SimpleIconTitleDescriptionItem.create(
163-
this@AboutActivity,
164-
ACTION_CONTRIBUTE,
165-
R.drawable.ic_code,
166-
R.string.title_contribute,
167-
R.string.summary_contribute
168-
))
169-
add(SimpleIconTitleDescriptionItem.create(
170-
this@AboutActivity,
171-
ACTION_CONTRIBUTORS,
172-
R.drawable.ic_heart_outline,
173-
R.string.title_contributors,
174-
R.string.summary_contributors
175-
))
169+
add(
170+
SimpleIconTitleDescriptionItem.create(
171+
this@AboutActivity,
172+
ACTION_CONTRIBUTE,
173+
R.drawable.ic_code,
174+
R.string.title_contribute,
175+
R.string.summary_contribute
176+
)
177+
)
178+
add(
179+
SimpleIconTitleDescriptionItem.create(
180+
this@AboutActivity,
181+
ACTION_CONTRIBUTORS,
182+
R.drawable.ic_heart_outline,
183+
R.string.title_contributors,
184+
R.string.summary_contributors
185+
)
186+
)
176187
}
177188
}
178189

@@ -244,7 +255,8 @@ class AboutActivity : EdgeToEdgeIDEActivity() {
244255
appendForegroundSpan(
245256
builder,
246257
BuildInfoUtils.getBuildType(this).lowercase(),
247-
color)
258+
color
259+
)
248260

249261
builder.append(")")
250262
}
@@ -254,7 +266,8 @@ class AboutActivity : EdgeToEdgeIDEActivity() {
254266
text: CharSequence,
255267
color: Int
256268
) {
257-
builder.append(text,
269+
builder.append(
270+
text,
258271
ForegroundColorSpan(color),
259272
SpannableStringBuilder.SPAN_EXCLUSIVE_EXCLUSIVE
260273
)

app/src/main/java/com/itsaky/androidide/activities/ContributorsActivity.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717

1818
package com.itsaky.androidide.activities
1919

20-
import android.graphics.Rect
2120
import android.os.Bundle
2221
import android.view.View
2322
import androidx.activity.viewModels
23+
import androidx.core.graphics.Insets
2424
import androidx.core.view.isVisible
2525
import com.itsaky.androidide.R
2626
import com.itsaky.androidide.adapters.ContributorsGridAdapter
@@ -92,8 +92,8 @@ class ContributorsActivity : EdgeToEdgeIDEActivity() {
9292
}
9393
}
9494

95-
override fun onInsetsUpdated(insets: Rect) {
96-
super.onInsetsUpdated(insets)
95+
override fun onApplySystemBarInsets(insets: Insets) {
96+
super.onApplySystemBarInsets(insets)
9797
binding.toolbar.apply {
9898
setPaddingRelative(
9999
paddingStart + insets.left,

app/src/main/java/com/itsaky/androidide/activities/MainActivity.kt

+10-5
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@
1818
package com.itsaky.androidide.activities
1919

2020
import android.content.Intent
21-
import android.graphics.Rect
2221
import android.os.Bundle
2322
import android.text.TextUtils
2423
import android.view.View
2524
import androidx.activity.OnBackPressedCallback
2625
import androidx.activity.viewModels
26+
import androidx.core.graphics.Insets
2727
import androidx.core.view.isVisible
2828
import androidx.transition.TransitionManager
2929
import androidx.transition.doOnEnd
@@ -98,9 +98,13 @@ class MainActivity : EdgeToEdgeIDEActivity() {
9898
onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
9999
}
100100

101-
override fun onInsetsUpdated(insets: Rect) {
102-
super.onInsetsUpdated(insets)
103-
binding.fragmentContainersParent.setPadding(insets.left, 0, insets.right, insets.bottom)
101+
override fun onApplySystemBarInsets(insets: Insets) {
102+
binding.fragmentContainersParent.setPadding(
103+
insets.left,
104+
0,
105+
insets.right,
106+
insets.bottom
107+
)
104108
}
105109

106110
private fun onScreenChanged(screen: Int?) {
@@ -109,7 +113,8 @@ class MainActivity : EdgeToEdgeIDEActivity() {
109113
// template list -> template details
110114
// ------- OR -------
111115
// template details -> template list
112-
val setAxisToX = (previous == SCREEN_TEMPLATE_LIST || previous == SCREEN_TEMPLATE_DETAILS) && (screen == SCREEN_TEMPLATE_LIST || screen == SCREEN_TEMPLATE_DETAILS)
116+
val setAxisToX =
117+
(previous == SCREEN_TEMPLATE_LIST || previous == SCREEN_TEMPLATE_DETAILS) && (screen == SCREEN_TEMPLATE_LIST || screen == SCREEN_TEMPLATE_DETAILS)
113118

114119
val axis = if (setAxisToX) {
115120
MaterialSharedAxis.X

app/src/main/java/com/itsaky/androidide/activities/PreferencesActivity.kt

+4-5
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
*/
1717
package com.itsaky.androidide.activities
1818

19-
import android.graphics.Rect
2019
import android.os.Bundle
2120
import android.view.View
21+
import androidx.core.graphics.Insets
2222
import androidx.fragment.app.Fragment
2323
import com.itsaky.androidide.R
2424
import com.itsaky.androidide.app.EdgeToEdgeIDEActivity
@@ -64,9 +64,7 @@ class PreferencesActivity : EdgeToEdgeIDEActivity() {
6464
loadFragment(rootFragment)
6565
}
6666

67-
override fun onInsetsUpdated(insets: Rect) {
68-
super.onInsetsUpdated(insets)
69-
67+
override fun onApplySystemBarInsets(insets: Insets) {
7068
val toolbar: View = binding.toolbar
7169
toolbar.setPadding(
7270
toolbar.paddingLeft + insets.left,
@@ -86,7 +84,8 @@ class PreferencesActivity : EdgeToEdgeIDEActivity() {
8684

8785
override fun bindLayout(): View {
8886
_binding = ActivityPreferencesBinding.inflate(
89-
layoutInflater)
87+
layoutInflater
88+
)
9089
return binding.root
9190
}
9291

0 commit comments

Comments
 (0)