create a MyFragment parent class
This commit is contained in:
parent
f154b444cc
commit
5322ad8803
6 changed files with 38 additions and 22 deletions
|
@ -15,6 +15,7 @@ import com.simplemobiletools.commons.extensions.*
|
|||
import com.simplemobiletools.launcher.BuildConfig
|
||||
import com.simplemobiletools.launcher.R
|
||||
import com.simplemobiletools.launcher.fragments.AllAppsFragment
|
||||
import com.simplemobiletools.launcher.fragments.MyFragment
|
||||
import com.simplemobiletools.launcher.interfaces.FlingListener
|
||||
import kotlinx.android.synthetic.main.activity_main.*
|
||||
|
||||
|
@ -35,11 +36,14 @@ class MainActivity : SimpleActivity(), FlingListener {
|
|||
|
||||
mDetector = GestureDetectorCompat(this, MyGestureListener(this))
|
||||
window.setDecorFitsSystemWindows(false)
|
||||
(all_apps_fragment as AllAppsFragment).setupFragment(this)
|
||||
mScreenHeight = realScreenSize.y
|
||||
mCurrentFragmentY = mScreenHeight
|
||||
all_apps_fragment.y = mScreenHeight.toFloat()
|
||||
all_apps_fragment.beVisible()
|
||||
|
||||
arrayOf(all_apps_fragment as MyFragment, widgets_fragment as MyFragment).forEach { fragment ->
|
||||
fragment.setupFragment(this)
|
||||
fragment.y = mScreenHeight.toFloat()
|
||||
fragment.beVisible()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
|
@ -75,9 +79,9 @@ class MainActivity : SimpleActivity(), FlingListener {
|
|||
mTouchDownY = -1
|
||||
if (!mIgnoreUpEvent) {
|
||||
if (all_apps_fragment.y < mScreenHeight * 0.7) {
|
||||
showAllAppsFragment()
|
||||
showAllAppsFragment(all_apps_fragment as MyFragment)
|
||||
} else {
|
||||
hideAllAppsFragment()
|
||||
hideAllAppsFragment(all_apps_fragment as MyFragment)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -92,15 +96,15 @@ class MainActivity : SimpleActivity(), FlingListener {
|
|||
mIgnoreUpEvent = false
|
||||
}
|
||||
|
||||
private fun showAllAppsFragment() {
|
||||
ObjectAnimator.ofFloat(all_apps_fragment, "y", 0f).apply {
|
||||
private fun showAllAppsFragment(fragment: MyFragment) {
|
||||
ObjectAnimator.ofFloat(fragment, "y", 0f).apply {
|
||||
interpolator = DecelerateInterpolator()
|
||||
start()
|
||||
}
|
||||
}
|
||||
|
||||
private fun hideAllAppsFragment() {
|
||||
ObjectAnimator.ofFloat(all_apps_fragment, "y", mScreenHeight.toFloat()).apply {
|
||||
private fun hideAllAppsFragment(fragment: MyFragment) {
|
||||
ObjectAnimator.ofFloat(fragment, "y", mScreenHeight.toFloat()).apply {
|
||||
interpolator = DecelerateInterpolator()
|
||||
start()
|
||||
}
|
||||
|
@ -147,11 +151,11 @@ class MainActivity : SimpleActivity(), FlingListener {
|
|||
|
||||
override fun onFlingUp() {
|
||||
mIgnoreUpEvent = true
|
||||
showAllAppsFragment()
|
||||
showAllAppsFragment(all_apps_fragment as MyFragment)
|
||||
}
|
||||
|
||||
override fun onFlingDown() {
|
||||
mIgnoreUpEvent = true
|
||||
hideAllAppsFragment()
|
||||
hideAllAppsFragment(all_apps_fragment as MyFragment)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,6 @@ import android.util.AttributeSet
|
|||
import android.view.MotionEvent
|
||||
import android.view.Surface
|
||||
import android.view.WindowManager
|
||||
import android.widget.RelativeLayout
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
||||
import com.simplemobiletools.commons.helpers.isRPlus
|
||||
|
@ -23,12 +22,11 @@ import com.simplemobiletools.launcher.extensions.getColumnCount
|
|||
import com.simplemobiletools.launcher.models.AppLauncher
|
||||
import kotlinx.android.synthetic.main.all_apps_fragment.view.*
|
||||
|
||||
class AllAppsFragment(context: Context, attributeSet: AttributeSet) : RelativeLayout(context, attributeSet) {
|
||||
class AllAppsFragment(context: Context, attributeSet: AttributeSet) : MyFragment(context, attributeSet) {
|
||||
private var touchDownY = -1
|
||||
private var activity: MainActivity? = null
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
fun setupFragment(activity: MainActivity) {
|
||||
override fun setupFragment(activity: MainActivity) {
|
||||
this.activity = activity
|
||||
background.applyColorFilter(activity.getProperBackgroundColor())
|
||||
setPadding(0, activity.statusBarHeight, 0, 0)
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
package com.simplemobiletools.launcher.fragments
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import com.simplemobiletools.launcher.activities.MainActivity
|
||||
|
||||
abstract class MyFragment(context: Context, attributeSet: AttributeSet) : RelativeLayout(context, attributeSet) {
|
||||
protected var activity: MainActivity? = null
|
||||
|
||||
abstract fun setupFragment(activity: MainActivity)
|
||||
}
|
|
@ -3,7 +3,6 @@ package com.simplemobiletools.launcher.fragments
|
|||
import android.appwidget.AppWidgetManager
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import com.simplemobiletools.commons.extensions.applyColorFilter
|
||||
import com.simplemobiletools.commons.extensions.getProperBackgroundColor
|
||||
import com.simplemobiletools.commons.extensions.statusBarHeight
|
||||
|
@ -11,10 +10,8 @@ import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
|||
import com.simplemobiletools.launcher.activities.MainActivity
|
||||
import com.simplemobiletools.launcher.models.AppWidget
|
||||
|
||||
class WidgetsFragment(context: Context, attributeSet: AttributeSet) : RelativeLayout(context, attributeSet) {
|
||||
private var activity: MainActivity? = null
|
||||
|
||||
fun setupFragment(activity: MainActivity) {
|
||||
class WidgetsFragment(context: Context, attributeSet: AttributeSet) : MyFragment(context, attributeSet) {
|
||||
override fun setupFragment(activity: MainActivity) {
|
||||
this.activity = activity
|
||||
background.applyColorFilter(activity.getProperBackgroundColor())
|
||||
setPadding(0, activity.statusBarHeight, 0, 0)
|
||||
|
|
|
@ -9,6 +9,11 @@
|
|||
layout="@layout/all_apps_fragment"
|
||||
android:visibility="gone" />
|
||||
|
||||
<include
|
||||
android:id="@+id/widgets_fragment"
|
||||
layout="@layout/widgets_fragment"
|
||||
android:visibility="gone" />
|
||||
|
||||
<View
|
||||
android:id="@+id/popup_menu_anchor"
|
||||
android:layout_width="1dp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.simplemobiletools.launcher.fragments.AllAppsFragment xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<com.simplemobiletools.launcher.fragments.WidgetsFragment xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/widgets_holder"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -20,4 +20,4 @@
|
|||
app:layoutManager="com.simplemobiletools.commons.views.MyLinearLayoutManager" />
|
||||
|
||||
</com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller>
|
||||
</com.simplemobiletools.launcher.fragments.AllAppsFragment>
|
||||
</com.simplemobiletools.launcher.fragments.WidgetsFragment>
|
||||
|
|
Loading…
Reference in a new issue