diff --git a/app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt index 3ebc48c..6d559db 100644 --- a/app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt @@ -151,8 +151,12 @@ class MainActivity : SimpleActivity(), FlingListener { override fun onResume() { super.onResume() updateStatusbarColor(Color.TRANSPARENT) - (all_apps_fragment as AllAppsFragment).setupViews() - (widgets_fragment as WidgetsFragment).setupViews() + + main_holder.onGlobalLayout { + val addTopPadding = main_holder.rootWindowInsets.displayCutout != null + (all_apps_fragment as AllAppsFragment).setupViews(addTopPadding) + (widgets_fragment as WidgetsFragment).setupViews(addTopPadding) + } ensureBackgroundThread { if (mCachedLaunchers.isEmpty()) { @@ -162,11 +166,6 @@ class MainActivity : SimpleActivity(), FlingListener { refetchLaunchers() } - - // most devices have the top corners rounded, but in case someone has notch disabled, they might be in right angle - main_holder.onGlobalLayout { - setupFragmentBackgrounds() - } } override fun onStart() { @@ -298,20 +297,6 @@ class MainActivity : SimpleActivity(), FlingListener { private fun hasFingerMoved(event: MotionEvent) = mLastTouchCoords.first != -1f && mLastTouchCoords.second != -1f && (mLastTouchCoords.first != event.x || mLastTouchCoords.second != event.y) - private fun setupFragmentBackgrounds() { - val removeRoundedCorners = shouldRemoveTopRoundedCorners(main_holder) - val backgroundId = if (removeRoundedCorners) { - R.drawable.fragment_background_flat_top - } else { - R.drawable.fragment_background_rounded_corners - } - - val backgroundDrawable = resources.getDrawable(backgroundId) - backgroundDrawable.applyColorFilter(getProperBackgroundColor()) - (all_apps_fragment as AllAppsFragment).setupBackground(backgroundDrawable, removeRoundedCorners) - (widgets_fragment as WidgetsFragment).setupBackground(backgroundDrawable, removeRoundedCorners) - } - private fun refetchLaunchers() { val launchers = getAllAppLaunchers() (all_apps_fragment as AllAppsFragment).gotLaunchers(launchers) diff --git a/app/src/main/kotlin/com/simplemobiletools/launcher/fragments/AllAppsFragment.kt b/app/src/main/kotlin/com/simplemobiletools/launcher/fragments/AllAppsFragment.kt index 7f0014b..722035d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/launcher/fragments/AllAppsFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/launcher/fragments/AllAppsFragment.kt @@ -2,7 +2,7 @@ package com.simplemobiletools.launcher.fragments import android.annotation.SuppressLint import android.content.Context -import android.graphics.drawable.Drawable +import android.graphics.drawable.ColorDrawable import android.util.AttributeSet import android.view.MotionEvent import android.view.Surface @@ -25,11 +25,11 @@ class AllAppsFragment(context: Context, attributeSet: AttributeSet) : MyFragment private var lastTouchCoords = Pair(0f, 0f) var touchDownY = -1 var ignoreTouches = false + var hasTopPadding = false @SuppressLint("ClickableViewAccessibility") override fun setupFragment(activity: MainActivity) { this.activity = activity - background.applyColorFilter(activity.getProperBackgroundColor()) all_apps_grid.setOnTouchListener { v, event -> if (event.actionMasked == MotionEvent.ACTION_UP || event.actionMasked == MotionEvent.ACTION_CANCEL) { @@ -104,7 +104,7 @@ class AllAppsFragment(context: Context, attributeSet: AttributeSet) : MyFragment } } - fun setupViews() { + fun setupViews(addTopPadding: Boolean = hasTopPadding) { if (activity == null) { return } @@ -137,12 +137,11 @@ class AllAppsFragment(context: Context, attributeSet: AttributeSet) : MyFragment all_apps_grid.setPadding(0, 0, resources.getDimension(R.dimen.medium_margin).toInt(), bottomListPadding) all_apps_fastscroller.setPadding(leftListPadding, 0, rightListPadding, 0) - } - fun setupBackground(backgroundDrawable: Drawable, removeRoundedCorners: Boolean) { - val topPadding = if (removeRoundedCorners) 0 else activity!!.statusBarHeight + hasTopPadding = addTopPadding + val topPadding = if (addTopPadding) activity!!.statusBarHeight else 0 setPadding(0, topPadding, 0, 0) - setBackgroundDrawable(backgroundDrawable) + background = ColorDrawable(context.getProperBackgroundColor()) } override fun onAppLauncherLongPressed(x: Float, y: Float, appLauncher: AppLauncher) { diff --git a/app/src/main/kotlin/com/simplemobiletools/launcher/fragments/WidgetsFragment.kt b/app/src/main/kotlin/com/simplemobiletools/launcher/fragments/WidgetsFragment.kt index 95e587e..52b6cb9 100644 --- a/app/src/main/kotlin/com/simplemobiletools/launcher/fragments/WidgetsFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/launcher/fragments/WidgetsFragment.kt @@ -6,7 +6,7 @@ import android.content.Context import android.content.Intent import android.content.pm.LauncherApps import android.content.pm.PackageManager -import android.graphics.drawable.Drawable +import android.graphics.drawable.ColorDrawable import android.os.Process import android.util.AttributeSet import android.view.MotionEvent @@ -28,11 +28,11 @@ class WidgetsFragment(context: Context, attributeSet: AttributeSet) : MyFragment private var lastTouchCoords = Pair(0f, 0f) var touchDownY = -1 var ignoreTouches = false + var hasTopPadding = false @SuppressLint("ClickableViewAccessibility") override fun setupFragment(activity: MainActivity) { this.activity = activity - background.applyColorFilter(activity.getProperBackgroundColor()) getAppWidgets() widgets_list.setOnTouchListener { v, event -> @@ -164,7 +164,7 @@ class WidgetsFragment(context: Context, attributeSet: AttributeSet) : MyFragment } } - fun setupViews() { + fun setupViews(addTopPadding: Boolean = hasTopPadding) { if (activity == null) { return } @@ -197,12 +197,11 @@ class WidgetsFragment(context: Context, attributeSet: AttributeSet) : MyFragment widgets_list.setPadding(0, 0, 0, bottomListPadding) widgets_fastscroller.setPadding(leftListPadding, 0, rightListPadding, 0) - } - fun setupBackground(backgroundDrawable: Drawable, removeRoundedCorners: Boolean) { - val topPadding = if (removeRoundedCorners) 0 else activity!!.statusBarHeight + hasTopPadding = addTopPadding + val topPadding = if (addTopPadding) activity!!.statusBarHeight else 0 setPadding(0, topPadding, 0, 0) - setBackgroundDrawable(backgroundDrawable) + background = ColorDrawable(context.getProperBackgroundColor()) } private fun getAppMetadataFromPackage(packageName: String): WidgetsListSection? { diff --git a/app/src/main/kotlin/com/simplemobiletools/launcher/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/launcher/helpers/Constants.kt index a23e562..a86f3b8 100644 --- a/app/src/main/kotlin/com/simplemobiletools/launcher/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/launcher/helpers/Constants.kt @@ -1,8 +1,5 @@ package com.simplemobiletools.launcher.helpers -import android.view.View -import com.simplemobiletools.commons.helpers.isSPlus - const val WIDGET_LIST_SECTION = 0 const val WIDGET_LIST_ITEMS_HOLDER = 1 @@ -25,8 +22,3 @@ const val ITEM_TYPE_SHORTCUT = 2 const val WIDGET_HOST_ID = 12345 const val MAX_ALLOWED_MOVE_PX = 10 const val MAX_CLICK_DURATION = 150 - -// remove rounded corners if the display isnt using them -fun shouldRemoveTopRoundedCorners(mainView: View): Boolean { - return isSPlus() && mainView.rootWindowInsets.displayCutout == null -} diff --git a/app/src/main/res/drawable/fragment_background_flat_top.xml b/app/src/main/res/drawable/fragment_background_flat_top.xml deleted file mode 100644 index e8f8bc9..0000000 --- a/app/src/main/res/drawable/fragment_background_flat_top.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/app/src/main/res/drawable/fragment_background_rounded_corners.xml b/app/src/main/res/drawable/fragment_background_rounded_corners.xml deleted file mode 100644 index df0c0aa..0000000 --- a/app/src/main/res/drawable/fragment_background_rounded_corners.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/app/src/main/res/layout/all_apps_fragment.xml b/app/src/main/res/layout/all_apps_fragment.xml index 512a283..b3b0f17 100644 --- a/app/src/main/res/layout/all_apps_fragment.xml +++ b/app/src/main/res/layout/all_apps_fragment.xml @@ -3,8 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/all_apps_holder" android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="@drawable/fragment_background_rounded_corners"> + android:layout_height="wrap_content"> + android:layout_height="wrap_content">