mirror of
				https://github.com/SimpleMobileTools/Simple-Launcher.git
				synced 2025-06-05 21:59:15 +02:00 
			
		
		
		
	create a MyFragment parent class
This commit is contained in:
		| @@ -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> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user