diff --git a/app/src/main/java/com/itsaky/androidide/activities/AboutActivity.kt b/app/src/main/java/com/itsaky/androidide/activities/AboutActivity.kt
index 4ae72de149..9eb8ddbccc 100755
--- a/app/src/main/java/com/itsaky/androidide/activities/AboutActivity.kt
+++ b/app/src/main/java/com/itsaky/androidide/activities/AboutActivity.kt
@@ -78,7 +78,7 @@ class AboutActivity : EdgeToEdgeIDEActivity() {
supportActionBar!!.setDisplayHomeAsUpEnabled(true)
supportActionBar!!.setTitle(R.string.about)
toolbar.setNavigationOnClickListener { onBackPressedDispatcher.onBackPressed() }
- feedbackButtonManager = FeedbackButtonManager(this@AboutActivity, fabFeedback)
+ feedbackButtonManager = FeedbackButtonManager(this@AboutActivity, fabFeedback.root)
feedbackButtonManager?.setupDraggableFab()
aboutHeader.apply {
diff --git a/app/src/main/java/com/itsaky/androidide/activities/MainActivity.kt b/app/src/main/java/com/itsaky/androidide/activities/MainActivity.kt
index e537afdb72..de2731000f 100755
--- a/app/src/main/java/com/itsaky/androidide/activities/MainActivity.kt
+++ b/app/src/main/java/com/itsaky/androidide/activities/MainActivity.kt
@@ -136,7 +136,7 @@ class MainActivity : EdgeToEdgeIDEActivity() {
feedbackButtonManager =
FeedbackButtonManager(
activity = this,
- feedbackFab = binding.fabFeedback,
+ feedbackFab = binding.fabFeedback.root,
)
feedbackButtonManager?.setupDraggableFab()
diff --git a/app/src/main/java/com/itsaky/androidide/activities/OnboardingActivity.kt b/app/src/main/java/com/itsaky/androidide/activities/OnboardingActivity.kt
index 1a45872dd0..385feadbcc 100644
--- a/app/src/main/java/com/itsaky/androidide/activities/OnboardingActivity.kt
+++ b/app/src/main/java/com/itsaky/androidide/activities/OnboardingActivity.kt
@@ -19,7 +19,6 @@ package com.itsaky.androidide.activities
import android.content.Intent
import android.os.Bundle
-import android.util.TypedValue
import android.view.View
import android.view.ViewTreeObserver
import android.view.animation.Animation
@@ -171,24 +170,21 @@ class OnboardingActivity : AppIntro2() {
val appIntroContainer: ConstraintLayout? = findViewById(R.id.background)
if (appIntroContainer != null) {
- feedbackButton = FloatingActionButton(this@OnboardingActivity).apply {
- id = R.id.fab_feedback
- setImageResource(R.drawable.baseline_feedback_64)
- contentDescription = getString(string.send_feedback)
- val layoutParams = ConstraintLayout.LayoutParams(
+ // Reuse the shared feedback FAB definition (size, icon, elevation) so this
+ // matches every other screen (ADFA-2686); only positioning is set here.
+ feedbackButton = (layoutInflater.inflate(
+ R.layout.feedback_fab, appIntroContainer, false
+ ) as FloatingActionButton).apply {
+ layoutParams = ConstraintLayout.LayoutParams(
ConstraintLayout.LayoutParams.WRAP_CONTENT,
ConstraintLayout.LayoutParams.WRAP_CONTENT
- )
-
- layoutParams.startToStart = ConstraintLayout.LayoutParams.PARENT_ID
- layoutParams.bottomToBottom = ConstraintLayout.LayoutParams.PARENT_ID
- val marginInPx = TypedValue.applyDimension(
- TypedValue.COMPLEX_UNIT_DIP,
- 16f,
- resources.displayMetrics
- ).toInt()
- layoutParams.setMargins(marginInPx, marginInPx, marginInPx, marginInPx)
- this.layoutParams = layoutParams
+ ).apply {
+ startToStart = ConstraintLayout.LayoutParams.PARENT_ID
+ bottomToBottom = ConstraintLayout.LayoutParams.PARENT_ID
+ val marginInPx =
+ resources.getDimensionPixelSize(R.dimen.feedback_fab_margin)
+ setMargins(marginInPx, marginInPx, marginInPx, marginInPx)
+ }
}
appIntroContainer.addView(feedbackButton)
diff --git a/app/src/main/java/com/itsaky/androidide/activities/PluginManagerActivity.kt b/app/src/main/java/com/itsaky/androidide/activities/PluginManagerActivity.kt
index 53799d007f..b01483e4c1 100644
--- a/app/src/main/java/com/itsaky/androidide/activities/PluginManagerActivity.kt
+++ b/app/src/main/java/com/itsaky/androidide/activities/PluginManagerActivity.kt
@@ -187,7 +187,7 @@ class PluginManagerActivity : EdgeToEdgeIDEActivity() {
feedbackButtonManager =
FeedbackButtonManager(
activity = this,
- feedbackFab = binding.fabFeedback,
+ feedbackFab = binding.fabFeedback.root,
)
feedbackButtonManager?.setupDraggableFab()
}
diff --git a/app/src/main/java/com/itsaky/androidide/activities/PreferencesActivity.kt b/app/src/main/java/com/itsaky/androidide/activities/PreferencesActivity.kt
index a26a12518e..c5d1fd31ed 100755
--- a/app/src/main/java/com/itsaky/androidide/activities/PreferencesActivity.kt
+++ b/app/src/main/java/com/itsaky/androidide/activities/PreferencesActivity.kt
@@ -65,7 +65,7 @@ class PreferencesActivity : EdgeToEdgeIDEActivity() {
feedbackButtonManager = FeedbackButtonManager(
activity = this,
- feedbackFab = binding.fabFeedback,
+ feedbackFab = binding.fabFeedback.root,
)
feedbackButtonManager?.setupDraggableFab()
diff --git a/app/src/main/java/com/itsaky/androidide/activities/editor/BaseEditorActivity.kt b/app/src/main/java/com/itsaky/androidide/activities/editor/BaseEditorActivity.kt
index 0c573adb4d..20a440ae91 100644
--- a/app/src/main/java/com/itsaky/androidide/activities/editor/BaseEditorActivity.kt
+++ b/app/src/main/java/com/itsaky/androidide/activities/editor/BaseEditorActivity.kt
@@ -733,7 +733,7 @@ abstract class BaseEditorActivity :
feedbackButtonManager =
FeedbackButtonManager(
activity = this,
- feedbackFab = binding.fabFeedback,
+ feedbackFab = binding.fabFeedback.root,
getLogContent = ::getLogContent,
)
feedbackButtonManager?.setupDraggableFab()
diff --git a/app/src/main/res/layout-land/activity_about.xml b/app/src/main/res/layout-land/activity_about.xml
index ea074ff595..4ec21aaa12 100755
--- a/app/src/main/res/layout-land/activity_about.xml
+++ b/app/src/main/res/layout-land/activity_about.xml
@@ -118,4 +118,12 @@
+
+
diff --git a/app/src/main/res/layout-sw600dp/activity_about.xml b/app/src/main/res/layout-sw600dp/activity_about.xml
index ea074ff595..4ec21aaa12 100755
--- a/app/src/main/res/layout-sw600dp/activity_about.xml
+++ b/app/src/main/res/layout-sw600dp/activity_about.xml
@@ -118,4 +118,12 @@
+
+
diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml
index 52efb578aa..516183136f 100755
--- a/app/src/main/res/layout/activity_about.xml
+++ b/app/src/main/res/layout/activity_about.xml
@@ -96,15 +96,12 @@
-
+ android:layout_margin="@dimen/feedback_fab_margin"
+ android:layout_gravity="bottom|start" />
diff --git a/app/src/main/res/layout/activity_editor.xml b/app/src/main/res/layout/activity_editor.xml
index 5986761123..9c9e12900f 100755
--- a/app/src/main/res/layout/activity_editor.xml
+++ b/app/src/main/res/layout/activity_editor.xml
@@ -68,15 +68,12 @@
-
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 5ba7fdf8ca..069a7183cf 100755
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -83,15 +83,12 @@
android:visibility="gone" />
-
diff --git a/app/src/main/res/layout/activity_plugin_manager.xml b/app/src/main/res/layout/activity_plugin_manager.xml
index 6503a069a0..919d60c6fd 100644
--- a/app/src/main/res/layout/activity_plugin_manager.xml
+++ b/app/src/main/res/layout/activity_plugin_manager.xml
@@ -78,15 +78,12 @@
android:contentDescription="@string/cd_add"
app:srcCompat="@drawable/ic_add" />
-
+ android:layout_margin="@dimen/feedback_fab_margin"
+ android:layout_gravity="bottom|start" />
diff --git a/app/src/main/res/layout/activity_preferences.xml b/app/src/main/res/layout/activity_preferences.xml
index 66dc7e257d..f36f1eb036 100755
--- a/app/src/main/res/layout/activity_preferences.xml
+++ b/app/src/main/res/layout/activity_preferences.xml
@@ -49,15 +49,12 @@
-
+ android:layout_margin="@dimen/feedback_fab_margin" />
diff --git a/app/src/main/res/layout/feedback_fab.xml b/app/src/main/res/layout/feedback_fab.xml
new file mode 100644
index 0000000000..2cb4a06238
--- /dev/null
+++ b/app/src/main/res/layout/feedback_fab.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/resources/src/main/res/values/dimens.xml b/resources/src/main/res/values/dimens.xml
index 98584cd383..8ee5f2a988 100755
--- a/resources/src/main/res/values/dimens.xml
+++ b/resources/src/main/res/values/dimens.xml
@@ -9,4 +9,10 @@
24dp
24dp
16dp
+
+
+ 32dp
+ 26dp
+ 16dp