summaryrefslogtreecommitdiff
path: root/app/src/main/java
diff options
context:
space:
mode:
authorTanuj <thetanuj@hotmail.com>2022-09-15 14:13:38 +0530
committerTanuj <thetanuj@hotmail.com>2022-09-15 14:13:38 +0530
commita0e3f1693afdec0724dec182c8c366dc349970ee (patch)
treec0e95a0168083a228b9983820d98ee62554f6773 /app/src/main/java
parentc85bff62776fe0ce054a5f976e9dc490858c4d9b (diff)
downloadSidePhOnelauncher-a0e3f1693afdec0724dec182c8c366dc349970ee.tar.gz
SidePhOnelauncher-a0e3f1693afdec0724dec182c8c366dc349970ee.tar.bz2
SidePhOnelauncher-a0e3f1693afdec0724dec182c8c366dc349970ee.zip
Using viewbinding
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/app/olauncher/MainActivity.kt30
-rw-r--r--app/src/main/java/app/olauncher/ui/AppDrawerAdapter.kt18
-rw-r--r--app/src/main/java/app/olauncher/ui/AppDrawerFragment.kt70
-rw-r--r--app/src/main/java/app/olauncher/ui/HomeFragment.kt162
-rw-r--r--app/src/main/java/app/olauncher/ui/SettingsFragment.kt225
5 files changed, 265 insertions, 240 deletions
diff --git a/app/src/main/java/app/olauncher/MainActivity.kt b/app/src/main/java/app/olauncher/MainActivity.kt
index 887ee1d..a868a51 100644
--- a/app/src/main/java/app/olauncher/MainActivity.kt
+++ b/app/src/main/java/app/olauncher/MainActivity.kt
@@ -18,8 +18,8 @@ import androidx.navigation.NavController
import androidx.navigation.Navigation
import app.olauncher.data.Constants
import app.olauncher.data.Prefs
+import app.olauncher.databinding.ActivityMainBinding
import app.olauncher.helper.*
-import kotlinx.android.synthetic.main.activity_main.*
import java.util.*
class MainActivity : AppCompatActivity() {
@@ -27,6 +27,7 @@ class MainActivity : AppCompatActivity() {
private lateinit var prefs: Prefs
private lateinit var navController: NavController
private lateinit var viewModel: MainViewModel
+ private lateinit var binding: ActivityMainBinding
override fun onBackPressed() {
if (navController.currentDestination?.id != R.id.mainFragment)
@@ -37,7 +38,8 @@ class MainActivity : AppCompatActivity() {
prefs = Prefs(this)
AppCompatDelegate.setDefaultNightMode(prefs.appTheme)
super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_main)
+ binding = ActivityMainBinding.inflate(layoutInflater)
+ setContentView(binding.root)
navController = Navigation.findNavController(this, R.id.nav_host_fragment)
viewModel = ViewModelProvider(this).get(MainViewModel::class.java)
@@ -81,18 +83,18 @@ class MainActivity : AppCompatActivity() {
}
private fun initClickListeners() {
- okay.setOnClickListener {
- messageLayout.visibility = View.GONE
+ binding.okay.setOnClickListener {
+ binding.messageLayout.visibility = View.GONE
viewModel.showMessageDialog("")
}
- closeOneLink.setOnClickListener {
- supportOlauncherLayout.visibility = View.GONE
+ binding.closeOneLink.setOnClickListener {
+ binding.supportOlauncherLayout.visibility = View.GONE
}
- copyOneLink.setOnClickListener {
+ binding.copyOneLink.setOnClickListener {
copyToClipboard(getAffiliateUrl())
- supportOlauncherLayout.visibility = View.GONE
+ binding.supportOlauncherLayout.visibility = View.GONE
}
- openOneLink.setOnClickListener {
+ binding.openOneLink.setOnClickListener {
openUrl(getAffiliateUrl())
}
}
@@ -105,7 +107,7 @@ class MainActivity : AppCompatActivity() {
showMessage(it)
}
viewModel.showSupportDialog.observe(this) {
- supportOlauncherLayout.isVisible = it
+ binding.supportOlauncherLayout.isVisible = it
}
}
@@ -118,8 +120,8 @@ class MainActivity : AppCompatActivity() {
}
private fun backToHomeScreen() {
- messageLayout.visibility = View.GONE
- supportOlauncherLayout.visibility = View.GONE
+ binding.messageLayout.visibility = View.GONE
+ binding.supportOlauncherLayout.visibility = View.GONE
// Whenever home button is pressed or user leaves the launcher,
// pop all the fragments except main
if (navController.currentDestination?.id != R.id.mainFragment)
@@ -148,8 +150,8 @@ class MainActivity : AppCompatActivity() {
private fun showMessage(message: String) {
if (message.isEmpty()) return
- messageTextView.text = message
- messageLayout.visibility = View.VISIBLE
+ binding.messageTextView.text = message
+ binding.messageLayout.visibility = View.VISIBLE
}
private fun getAffiliateUrl(): String {
diff --git a/app/src/main/java/app/olauncher/ui/AppDrawerAdapter.kt b/app/src/main/java/app/olauncher/ui/AppDrawerAdapter.kt
index 15d6ddb..23466f4 100644
--- a/app/src/main/java/app/olauncher/ui/AppDrawerAdapter.kt
+++ b/app/src/main/java/app/olauncher/ui/AppDrawerAdapter.kt
@@ -7,10 +7,9 @@ import android.widget.Filter
import android.widget.Filterable
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
-import app.olauncher.R
import app.olauncher.data.AppModel
import app.olauncher.data.Constants
-import kotlinx.android.synthetic.main.adapter_app_drawer.view.*
+import app.olauncher.databinding.AdapterAppDrawerBinding
import java.text.Normalizer
class AppDrawerAdapter(
@@ -18,7 +17,7 @@ class AppDrawerAdapter(
private val appLabelGravity: Int,
private val clickListener: (AppModel) -> Unit,
private val appInfoListener: (AppModel) -> Unit,
- private val appHideListener: (Int, AppModel) -> Unit
+ private val appHideListener: (Int, AppModel) -> Unit,
) : RecyclerView.Adapter<AppDrawerAdapter.ViewHolder>(), Filterable {
private var appFilter = createAppFilter()
@@ -26,10 +25,7 @@ class AppDrawerAdapter(
var appFilteredList: MutableList<AppModel> = mutableListOf()
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder =
- ViewHolder(
- LayoutInflater.from(parent.context)
- .inflate(R.layout.adapter_app_drawer, parent, false)
- )
+ ViewHolder(AdapterAppDrawerBinding.inflate(LayoutInflater.from(parent.context), parent, false))
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
if (appFilteredList.size == 0) return
@@ -93,17 +89,17 @@ class AppDrawerAdapter(
clickListener(appFilteredList[0])
}
- class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
- val appHideButton: TextView = itemView.appHide
+ class ViewHolder(private val binding: AdapterAppDrawerBinding) : RecyclerView.ViewHolder(binding.root) {
+ val appHideButton: TextView = binding.appHide
fun bind(
flag: Int,
appLabelGravity: Int,
appModel: AppModel,
listener: (AppModel) -> Unit,
- appInfoListener: (AppModel) -> Unit
+ appInfoListener: (AppModel) -> Unit,
) =
- with(itemView) {
+ with(binding) {
appHideLayout.visibility = View.GONE
appHideButton.text = (if (flag == Constants.FLAG_HIDDEN_APPS) "SHOW" else "HIDE")
appTitle.text = appModel.appLabel
diff --git a/app/src/main/java/app/olauncher/ui/AppDrawerFragment.kt b/app/src/main/java/app/olauncher/ui/AppDrawerFragment.kt
index b7b7fed..cf9516c 100644
--- a/app/src/main/java/app/olauncher/ui/AppDrawerFragment.kt
+++ b/app/src/main/java/app/olauncher/ui/AppDrawerFragment.kt
@@ -21,22 +21,22 @@ import app.olauncher.R
import app.olauncher.data.AppModel
import app.olauncher.data.Constants
import app.olauncher.data.Prefs
+import app.olauncher.databinding.FragmentAppDrawerBinding
import app.olauncher.helper.openAppInfo
import app.olauncher.helper.openUrl
import app.olauncher.helper.showToastShort
-import kotlinx.android.synthetic.main.fragment_app_drawer.*
class AppDrawerFragment : Fragment() {
private lateinit var prefs: Prefs
private lateinit var viewModel: MainViewModel
- override fun onCreateView(
- inflater: LayoutInflater,
- container: ViewGroup?,
- savedInstanceState: Bundle?,
- ): View? {
- return inflater.inflate(R.layout.fragment_app_drawer, container, false)
+ private var _binding: FragmentAppDrawerBinding? = null
+ private val binding get() = _binding!!
+
+ override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
+ _binding = FragmentAppDrawerBinding.inflate(inflater, container, false)
+ return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
@@ -49,10 +49,10 @@ class AppDrawerFragment : Fragment() {
val flag = arguments?.getInt("flag", Constants.FLAG_LAUNCH_APP) ?: Constants.FLAG_LAUNCH_APP
val rename = arguments?.getBoolean("rename", false) ?: false
if (rename) {
- appRename.setOnClickListener { renameListener(flag) }
+ binding.appRename.setOnClickListener { renameListener(flag) }
if (prefs.renameTipShown.not()) {
- appDrawerTip.text = getString(R.string.tip_start_typing_for_rename)
- appDrawerTip.visibility = View.VISIBLE
+ binding.appDrawerTip.text = getString(R.string.tip_start_typing_for_rename)
+ binding.appDrawerTip.visibility = View.VISIBLE
prefs.renameTipShown = true
}
}
@@ -65,17 +65,17 @@ class AppDrawerFragment : Fragment() {
appShowHideListener()
)
- val searchTextView = search.findViewById<TextView>(R.id.search_src_text)
+ val searchTextView = binding.search.findViewById<TextView>(R.id.search_src_text)
if (searchTextView != null) searchTextView.gravity = prefs.appLabelAlignment
initViewModel(flag, viewModel, appAdapter)
- recyclerView.layoutManager = LinearLayoutManager(requireContext())
- recyclerView.adapter = appAdapter
- recyclerView.addOnScrollListener(getRecyclerViewOnScrollListener())
+ binding.recyclerView.layoutManager = LinearLayoutManager(requireContext())
+ binding.recyclerView.adapter = appAdapter
+ binding.recyclerView.addOnScrollListener(getRecyclerViewOnScrollListener())
- if (flag == Constants.FLAG_HIDDEN_APPS) search.queryHint = "Hidden apps"
- search.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
+ if (flag == Constants.FLAG_HIDDEN_APPS) binding.search.queryHint = "Hidden apps"
+ binding.search.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String?): Boolean {
if (query?.startsWith("!") == true)
requireContext().openUrl(Constants.URL_DUCK_SEARCH + query.replace(" ", "%20"))
@@ -87,15 +87,15 @@ class AppDrawerFragment : Fragment() {
override fun onQueryTextChange(newText: String?): Boolean {
newText?.let {
appAdapter.filter.filter(it.trim())
- appRename.isVisible = rename && it.trim().isNotEmpty()
- appDrawerTip.visibility = View.GONE
+ binding.appRename.isVisible = rename && it.trim().isNotEmpty()
+ binding.appDrawerTip.visibility = View.GONE
}
return false
}
})
- appDrawerTip.setOnClickListener {
- appDrawerTip.isSelected = false
- appDrawerTip.isSelected = true
+ binding.appDrawerTip.setOnClickListener {
+ binding.appDrawerTip.isSelected = false
+ binding.appDrawerTip.isSelected = true
}
}
@@ -120,21 +120,18 @@ class AppDrawerFragment : Fragment() {
})
viewModel.firstOpen.observe(viewLifecycleOwner) {
- if (it) appDrawerTip.visibility = View.VISIBLE
- appDrawerTip.postDelayed({
- if (appDrawerTip != null)
- appDrawerTip.isSelected = true
- }, 1500)
+ if (it) binding.appDrawerTip.visibility = View.VISIBLE
+ binding.appDrawerTip.isSelected = true
}
}
override fun onStart() {
super.onStart()
- search.showKeyboard()
+ binding.search.showKeyboard()
}
override fun onStop() {
- search.hideKeyboard()
+ binding.search.hideKeyboard()
super.onStop()
}
@@ -153,7 +150,7 @@ class AppDrawerFragment : Fragment() {
private fun populateAppList(apps: List<AppModel>, appAdapter: AppDrawerAdapter) {
val animation = AnimationUtils.loadLayoutAnimation(requireContext(), R.anim.layout_anim_from_bottom)
- recyclerView.layoutAnimation = animation
+ binding.recyclerView.layoutAnimation = animation
appAdapter.setAppList(apps.toMutableList())
}
@@ -197,10 +194,10 @@ class AppDrawerFragment : Fragment() {
}
private fun renameListener(flag: Int) {
- val name = search.query.toString().trim()
+ val name = binding.search.query.toString().trim()
if (name.isEmpty()) {
showToastShort(requireContext(), "Type a new app name first")
- search.showKeyboard(true)
+ binding.search.showKeyboard(true)
return
}
@@ -228,21 +225,26 @@ class AppDrawerFragment : Fragment() {
RecyclerView.SCROLL_STATE_DRAGGING -> {
onTop = !recyclerView.canScrollVertically(-1)
- if (onTop) search.hideKeyboard()
+ if (onTop) binding.search.hideKeyboard()
if (onTop && !recyclerView.canScrollVertically(1))
findNavController().popBackStack()
}
RecyclerView.SCROLL_STATE_IDLE -> {
if (!recyclerView.canScrollVertically(1)) {
- search.hideKeyboard()
+ binding.search.hideKeyboard()
} else if (!recyclerView.canScrollVertically(-1)) {
if (onTop) findNavController().popBackStack()
- else search.showKeyboard()
+ else binding.search.showKeyboard()
}
}
}
}
}
}
+
+ override fun onDestroyView() {
+ super.onDestroyView()
+ _binding = null
+ }
} \ No newline at end of file
diff --git a/app/src/main/java/app/olauncher/ui/HomeFragment.kt b/app/src/main/java/app/olauncher/ui/HomeFragment.kt
index 6afe4d3..5855d6f 100644
--- a/app/src/main/java/app/olauncher/ui/HomeFragment.kt
+++ b/app/src/main/java/app/olauncher/ui/HomeFragment.kt
@@ -19,10 +19,10 @@ import app.olauncher.R
import app.olauncher.data.AppModel
import app.olauncher.data.Constants
import app.olauncher.data.Prefs
+import app.olauncher.databinding.FragmentHomeBinding
import app.olauncher.helper.*
import app.olauncher.listener.OnSwipeTouchListener
import app.olauncher.listener.ViewSwipeTouchListener
-import kotlinx.android.synthetic.main.fragment_home.*
class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener {
@@ -32,8 +32,12 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
private lateinit var deviceManager: DevicePolicyManager
private lateinit var vibrator: Vibrator
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
- return inflater.inflate(R.layout.fragment_home, container, false)
+ private var _binding: FragmentHomeBinding? = null
+ private val binding get() = _binding!!
+
+ override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
+ _binding = FragmentHomeBinding.inflate(inflater, container, false)
+ return binding.root
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
@@ -93,9 +97,9 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
private fun initObservers() {
if (prefs.firstSettingsOpen) {
- firstRunTips.visibility = View.VISIBLE
- setDefaultLauncher.visibility = View.GONE
- } else firstRunTips.visibility = View.GONE
+ binding.firstRunTips.visibility = View.VISIBLE
+ binding.setDefaultLauncher.visibility = View.GONE
+ } else binding.firstRunTips.visibility = View.GONE
viewModel.refreshHome.observe(viewLifecycleOwner) {
populateHomeScreen(it)
@@ -105,9 +109,9 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
prefs.homeBottomAlignment = false
setHomeAlignment()
}
- if (firstRunTips.visibility == View.VISIBLE) return@Observer
- if (it) setDefaultLauncher.visibility = View.GONE
- else setDefaultLauncher.visibility = View.VISIBLE
+ if (binding.firstRunTips.visibility == View.VISIBLE) return@Observer
+ if (it) binding.setDefaultLauncher.visibility = View.GONE
+ else binding.setDefaultLauncher.visibility = View.VISIBLE
})
viewModel.homeAppAlignment.observe(viewLifecycleOwner) {
setHomeAlignment(it)
@@ -119,51 +123,51 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
private fun initSwipeTouchListener() {
val context = requireContext()
- mainLayout.setOnTouchListener(getSwipeGestureListener(context))
- homeApp1.setOnTouchListener(getViewSwipeTouchListener(context, homeApp1))
- homeApp2.setOnTouchListener(getViewSwipeTouchListener(context, homeApp2))
- homeApp3.setOnTouchListener(getViewSwipeTouchListener(context, homeApp3))
- homeApp4.setOnTouchListener(getViewSwipeTouchListener(context, homeApp4))
- homeApp5.setOnTouchListener(getViewSwipeTouchListener(context, homeApp5))
- homeApp6.setOnTouchListener(getViewSwipeTouchListener(context, homeApp6))
- homeApp7.setOnTouchListener(getViewSwipeTouchListener(context, homeApp7))
- homeApp8.setOnTouchListener(getViewSwipeTouchListener(context, homeApp8))
+ binding.mainLayout.setOnTouchListener(getSwipeGestureListener(context))
+ binding.homeApp1.setOnTouchListener(getViewSwipeTouchListener(context, binding.homeApp1))
+ binding.homeApp2.setOnTouchListener(getViewSwipeTouchListener(context, binding.homeApp2))
+ binding.homeApp3.setOnTouchListener(getViewSwipeTouchListener(context, binding.homeApp3))
+ binding.homeApp4.setOnTouchListener(getViewSwipeTouchListener(context, binding.homeApp4))
+ binding.homeApp5.setOnTouchListener(getViewSwipeTouchListener(context, binding.homeApp5))
+ binding.homeApp6.setOnTouchListener(getViewSwipeTouchListener(context, binding.homeApp6))
+ binding.homeApp7.setOnTouchListener(getViewSwipeTouchListener(context, binding.homeApp7))
+ binding.homeApp8.setOnTouchListener(getViewSwipeTouchListener(context, binding.homeApp8))
}
private fun initClickListeners() {
- lock.setOnClickListener(this)
- clock.setOnClickListener(this)
- date.setOnClickListener(this)
- setDefaultLauncher.setOnClickListener(this)
+ binding.lock.setOnClickListener(this)
+ binding.clock.setOnClickListener(this)
+ binding.date.setOnClickListener(this)
+ binding.setDefaultLauncher.setOnClickListener(this)
}
private fun setHomeAlignment(horizontalGravity: Int = prefs.homeAlignment) {
val verticalGravity = if (prefs.homeBottomAlignment) Gravity.BOTTOM else Gravity.CENTER_VERTICAL
- homeAppsLayout.gravity = horizontalGravity or verticalGravity
- dateTimeLayout.gravity = horizontalGravity
- homeApp1.gravity = horizontalGravity
- homeApp2.gravity = horizontalGravity
- homeApp3.gravity = horizontalGravity
- homeApp4.gravity = horizontalGravity
- homeApp5.gravity = horizontalGravity
- homeApp6.gravity = horizontalGravity
- homeApp7.gravity = horizontalGravity
- homeApp8.gravity = horizontalGravity
+ binding.homeAppsLayout.gravity = horizontalGravity or verticalGravity
+ binding.dateTimeLayout.gravity = horizontalGravity
+ binding.homeApp1.gravity = horizontalGravity
+ binding.homeApp2.gravity = horizontalGravity
+ binding.homeApp3.gravity = horizontalGravity
+ binding.homeApp4.gravity = horizontalGravity
+ binding.homeApp5.gravity = horizontalGravity
+ binding.homeApp6.gravity = horizontalGravity
+ binding.homeApp7.gravity = horizontalGravity
+ binding.homeApp8.gravity = horizontalGravity
}
private fun populateDateTime() {
when (prefs.dateTimeVisibility) {
Constants.DateTime.DATE_ONLY -> {
- dateTimeLayout.visibility = View.VISIBLE
- clock.visibility = View.GONE
- date.visibility = View.VISIBLE
+ binding.dateTimeLayout.visibility = View.VISIBLE
+ binding.clock.visibility = View.GONE
+ binding.date.visibility = View.VISIBLE
}
Constants.DateTime.ON -> {
- dateTimeLayout.visibility = View.VISIBLE
- clock.visibility = View.VISIBLE
- date.visibility = View.VISIBLE
+ binding.dateTimeLayout.visibility = View.VISIBLE
+ binding.clock.visibility = View.VISIBLE
+ binding.date.visibility = View.VISIBLE
}
- else -> dateTimeLayout.visibility = View.GONE
+ else -> binding.dateTimeLayout.visibility = View.GONE
}
}
@@ -174,57 +178,57 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
val homeAppsNum = prefs.homeAppsNum
if (homeAppsNum == 0) return
- homeApp1.visibility = View.VISIBLE
- if (!setHomeAppText(homeApp1, prefs.appName1, prefs.appPackage1, prefs.appUser1)) {
+ binding.homeApp1.visibility = View.VISIBLE
+ if (!setHomeAppText(binding.homeApp1, prefs.appName1, prefs.appPackage1, prefs.appUser1)) {
prefs.appName1 = ""
prefs.appPackage1 = ""
}
if (homeAppsNum == 1) return
- homeApp2.visibility = View.VISIBLE
- if (!setHomeAppText(homeApp2, prefs.appName2, prefs.appPackage2, prefs.appUser2)) {
+ binding.homeApp2.visibility = View.VISIBLE
+ if (!setHomeAppText(binding.homeApp2, prefs.appName2, prefs.appPackage2, prefs.appUser2)) {
prefs.appName2 = ""
prefs.appPackage2 = ""
}
if (homeAppsNum == 2) return
- homeApp3.visibility = View.VISIBLE
- if (!setHomeAppText(homeApp3, prefs.appName3, prefs.appPackage3, prefs.appUser3)) {
+ binding.homeApp3.visibility = View.VISIBLE
+ if (!setHomeAppText(binding.homeApp3, prefs.appName3, prefs.appPackage3, prefs.appUser3)) {
prefs.appName3 = ""
prefs.appPackage3 = ""
}
if (homeAppsNum == 3) return
- homeApp4.visibility = View.VISIBLE
- if (!setHomeAppText(homeApp4, prefs.appName4, prefs.appPackage4, prefs.appUser4)) {
+ binding.homeApp4.visibility = View.VISIBLE
+ if (!setHomeAppText(binding.homeApp4, prefs.appName4, prefs.appPackage4, prefs.appUser4)) {
prefs.appName4 = ""
prefs.appPackage4 = ""
}
if (homeAppsNum == 4) return
- homeApp5.visibility = View.VISIBLE
- if (!setHomeAppText(homeApp5, prefs.appName5, prefs.appPackage5, prefs.appUser5)) {
+ binding.homeApp5.visibility = View.VISIBLE
+ if (!setHomeAppText(binding.homeApp5, prefs.appName5, prefs.appPackage5, prefs.appUser5)) {
prefs.appName5 = ""
prefs.appPackage5 = ""
}
if (homeAppsNum == 5) return
- homeApp6.visibility = View.VISIBLE
- if (!setHomeAppText(homeApp6, prefs.appName6, prefs.appPackage6, prefs.appUser6)) {
+ binding.homeApp6.visibility = View.VISIBLE
+ if (!setHomeAppText(binding.homeApp6, prefs.appName6, prefs.appPackage6, prefs.appUser6)) {
prefs.appName6 = ""
prefs.appPackage6 = ""
}
if (homeAppsNum == 6) return
- homeApp7.visibility = View.VISIBLE
- if (!setHomeAppText(homeApp7, prefs.appName7, prefs.appPackage7, prefs.appUser7)) {
+ binding.homeApp7.visibility = View.VISIBLE
+ if (!setHomeAppText(binding.homeApp7, prefs.appName7, prefs.appPackage7, prefs.appUser7)) {
prefs.appName7 = ""
prefs.appPackage7 = ""
}
if (homeAppsNum == 7) return
- homeApp8.visibility = View.VISIBLE
- if (!setHomeAppText(homeApp8, prefs.appName8, prefs.appPackage8, prefs.appUser8)) {
+ binding.homeApp8.visibility = View.VISIBLE
+ if (!setHomeAppText(binding.homeApp8, prefs.appName8, prefs.appPackage8, prefs.appUser8)) {
prefs.appName8 = ""
prefs.appPackage8 = ""
}
@@ -240,17 +244,17 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
}
private fun hideHomeApps() {
- homeApp1.visibility = View.GONE
- homeApp2.visibility = View.GONE
- homeApp3.visibility = View.GONE
- homeApp4.visibility = View.GONE
- homeApp5.visibility = View.GONE
- homeApp6.visibility = View.GONE
- homeApp7.visibility = View.GONE
- homeApp8.visibility = View.GONE
-
- // Added as a potential fix to clock freeze issue
- dateTimeLayout.visibility = View.GONE
+ binding.homeApp1.visibility = View.GONE
+ binding.homeApp2.visibility = View.GONE
+ binding.homeApp3.visibility = View.GONE
+ binding.homeApp4.visibility = View.GONE
+ binding.homeApp5.visibility = View.GONE
+ binding.homeApp6.visibility = View.GONE
+ binding.homeApp7.visibility = View.GONE
+ binding.homeApp8.visibility = View.GONE
+
+ // TODO: Set date time programmatically to fix the clock freeze issue
+ binding.dateTimeLayout.visibility = View.GONE
}
private fun homeAppClicked(location: Int) {
@@ -263,9 +267,13 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
)
}
- private fun launchApp(appName: String, packageName: String, activityClassName:String?, userString: String) {
+ private fun launchApp(appName: String, packageName: String, activityClassName: String?, userString: String) {
viewModel.selectedApp(
- AppModel(appName, null, packageName, activityClassName, getUserHandleFromString(requireContext(), userString)),
+ AppModel(appName,
+ null,
+ packageName,
+ activityClassName,
+ getUserHandleFromString(requireContext(), userString)),
Constants.FLAG_LAUNCH_APP
)
}
@@ -296,14 +304,20 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
private fun openSwipeRightApp() {
if (!prefs.swipeRightEnabled) return
if (prefs.appPackageSwipeRight.isNotEmpty())
- launchApp(prefs.appNameSwipeRight, prefs.appPackageSwipeRight, prefs.appActivityClassNameRight, android.os.Process.myUserHandle().toString())
+ launchApp(prefs.appNameSwipeRight,
+ prefs.appPackageSwipeRight,
+ prefs.appActivityClassNameRight,
+ android.os.Process.myUserHandle().toString())
else openDialerApp(requireContext())
}
private fun openSwipeLeftApp() {
if (!prefs.swipeLeftEnabled) return
if (prefs.appPackageSwipeLeft.isNotEmpty())
- launchApp(prefs.appNameSwipeLeft, prefs.appPackageSwipeLeft, prefs.appActivityClassNameSwipeLeft, android.os.Process.myUserHandle().toString())
+ launchApp(prefs.appNameSwipeLeft,
+ prefs.appPackageSwipeLeft,
+ prefs.appActivityClassNameSwipeLeft,
+ android.os.Process.myUserHandle().toString())
else openCameraApp(requireContext())
}
@@ -396,7 +410,7 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
requireActivity().runOnUiThread {
if (isAccessServiceEnabled(requireContext()))
- lock.performClick()
+ binding.lock.performClick()
else {
prefs.lockModeOn = false
showToastLong(requireContext(), "Please turn on accessibility service for Olauncher")
@@ -447,4 +461,10 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
}
}
}
+
+
+ override fun onDestroyView() {
+ super.onDestroyView()
+ _binding = null
+ }
} \ No newline at end of file
diff --git a/app/src/main/java/app/olauncher/ui/SettingsFragment.kt b/app/src/main/java/app/olauncher/ui/SettingsFragment.kt
index 09344bc..8e40436 100644
--- a/app/src/main/java/app/olauncher/ui/SettingsFragment.kt
+++ b/app/src/main/java/app/olauncher/ui/SettingsFragment.kt
@@ -19,9 +19,9 @@ import app.olauncher.MainViewModel
import app.olauncher.R
import app.olauncher.data.Constants
import app.olauncher.data.Prefs
+import app.olauncher.databinding.FragmentSettingsBinding
import app.olauncher.helper.*
import app.olauncher.listener.DeviceAdmin
-import kotlinx.android.synthetic.main.fragment_settings.*
class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListener {
@@ -30,12 +30,12 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
private lateinit var deviceManager: DevicePolicyManager
private lateinit var componentName: ComponentName
- override fun onCreateView(
- inflater: LayoutInflater,
- container: ViewGroup?,
- savedInstanceState: Bundle?,
- ): View? {
- return inflater.inflate(R.layout.fragment_settings, container, false)
+ private var _binding: FragmentSettingsBinding? = null
+ private val binding get() = _binding!!
+
+ override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
+ _binding = FragmentSettingsBinding.inflate(inflater, container, false)
+ return binding.root
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
@@ -50,7 +50,7 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
componentName = ComponentName(requireContext(), DeviceAdmin::class.java)
checkAdminPermission()
- homeAppsNum.text = prefs.homeAppsNum.toString()
+ binding.homeAppsNum.text = prefs.homeAppsNum.toString()
populateKeyboardText()
populateLockSettings()
populateWallpaperText()
@@ -66,12 +66,12 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
}
override fun onClick(view: View) {
- appsNumSelectLayout.visibility = View.GONE
- dateTimeSelectLayout.visibility = View.GONE
- appThemeSelectLayout.visibility = View.GONE
- swipeDownSelectLayout.visibility = View.GONE
+ binding.appsNumSelectLayout.visibility = View.GONE
+ binding.dateTimeSelectLayout.visibility = View.GONE
+ binding.appThemeSelectLayout.visibility = View.GONE
+ binding.swipeDownSelectLayout.visibility = View.GONE
if (view.id != R.id.alignmentBottom)
- alignmentSelectLayout.visibility = View.GONE
+ binding.alignmentSelectLayout.visibility = View.GONE
when (view.id) {
R.id.olauncherHiddenApps -> showHiddenApps()
@@ -80,20 +80,20 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
R.id.publicRoadmap -> requireContext().openUrl(Constants.URL_PUBLIC_ROADMAP)
R.id.toggleLock -> toggleLockMode()
R.id.autoShowKeyboard -> toggleKeyboardText()
- R.id.homeAppsNum -> appsNumSelectLayout.visibility = View.VISIBLE
+ R.id.homeAppsNum -> binding.appsNumSelectLayout.visibility = View.VISIBLE
R.id.dailyWallpaperUrl -> requireContext().openUrl(prefs.dailyWallpaperUrl)
R.id.dailyWallpaper -> toggleDailyWallpaperUpdate()
- R.id.alignment -> alignmentSelectLayout.visibility = View.VISIBLE
+ R.id.alignment -> binding.alignmentSelectLayout.visibility = View.VISIBLE
R.id.alignmentLeft -> viewModel.updateHomeAlignment(Gravity.START)
R.id.alignmentCenter -> viewModel.updateHomeAlignment(Gravity.CENTER)
R.id.alignmentRight -> viewModel.updateHomeAlignment(Gravity.END)
R.id.alignmentBottom -> updateHomeBottomAlignment()
R.id.statusBar -> toggleStatusBar()
- R.id.dateTime -> dateTimeSelectLayout.visibility = View.VISIBLE
+ R.id.dateTime -> binding.dateTimeSelectLayout.visibility = View.VISIBLE
R.id.dateTimeOn -> toggleDateTime(Constants.DateTime.ON)
R.id.dateTimeOff -> toggleDateTime(Constants.DateTime.OFF)
R.id.dateOnly -> toggleDateTime(Constants.DateTime.DATE_ONLY)
- R.id.appThemeText -> appThemeSelectLayout.visibility = View.VISIBLE
+ R.id.appThemeText -> binding.appThemeSelectLayout.visibility = View.VISIBLE
R.id.themeLight -> updateTheme(AppCompatDelegate.MODE_NIGHT_NO)
R.id.themeDark -> updateTheme(AppCompatDelegate.MODE_NIGHT_YES)
R.id.themeSystem -> updateTheme(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)
@@ -110,7 +110,7 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
R.id.swipeLeftApp -> showAppListIfEnabled(Constants.FLAG_SET_SWIPE_LEFT_APP)
R.id.swipeRightApp -> showAppListIfEnabled(Constants.FLAG_SET_SWIPE_RIGHT_APP)
- R.id.swipeDownAction -> swipeDownSelectLayout.visibility = View.VISIBLE
+ R.id.swipeDownAction -> binding.swipeDownSelectLayout.visibility = View.VISIBLE
R.id.notifications -> updateSwipeDownAction(Constants.SwipeDownAction.NOTIFICATIONS)
R.id.search -> updateSwipeDownAction(Constants.SwipeDownAction.SEARCH)
@@ -143,8 +143,8 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
}
R.id.dailyWallpaper -> removeWallpaper()
R.id.appThemeText -> {
- appThemeSelectLayout.visibility = View.VISIBLE
- themeSystem.visibility = View.VISIBLE
+ binding.appThemeSelectLayout.visibility = View.VISIBLE
+ binding.themeSystem.visibility = View.VISIBLE
}
R.id.swipeLeftApp -> toggleSwipeLeft()
R.id.swipeRightApp -> toggleSwipeRight()
@@ -157,62 +157,62 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
}
private fun initClickListeners() {
- olauncherHiddenApps.setOnClickListener(this)
- scrollLayout.setOnClickListener(this)
- appInfo.setOnClickListener(this)
- setLauncher.setOnClickListener(this)
- publicRoadmap.setOnClickListener(this)
- autoShowKeyboard.setOnClickListener(this)
- toggleLock.setOnClickListener(this)
- homeAppsNum.setOnClickListener(this)
- dailyWallpaperUrl.setOnClickListener(this)
- dailyWallpaper.setOnClickListener(this)
- alignment.setOnClickListener(this)
- alignmentLeft.setOnClickListener(this)
- alignmentCenter.setOnClickListener(this)
- alignmentRight.setOnClickListener(this)
- alignmentBottom.setOnClickListener(this)
- statusBar.setOnClickListener(this)
- dateTime.setOnClickListener(this)
- dateTimeOn.setOnClickListener(this)
- dateTimeOff.setOnClickListener(this)
- dateOnly.setOnClickListener(this)
- swipeLeftApp.setOnClickListener(this)
- swipeRightApp.setOnClickListener(this)
- swipeDownAction.setOnClickListener(this)
- search.setOnClickListener(this)
- notifications.setOnClickListener(this)
- appThemeText.setOnClickListener(this)
- themeLight.setOnClickListener(this)
- themeDark.setOnClickListener(this)
- themeSystem.setOnClickListener(this)
-
- about.setOnClickListener(this)
- share.setOnClickListener(this)
- rate.setOnClickListener(this)
- twitter.setOnClickListener(this)
- instagram.setOnClickListener(this)
- privacy.setOnClickListener(this)
- github.setOnClickListener(this)
- affiliate.setOnClickListener(this)
- moreApps.setOnClickListener(this)
-
- maxApps0.setOnClickListener(this)
- maxApps1.setOnClickListener(this)
- maxApps2.setOnClickListener(this)
- maxApps3.setOnClickListener(this)
- maxApps4.setOnClickListener(this)
- maxApps5.setOnClickListener(this)
- maxApps6.setOnClickListener(this)
- maxApps7.setOnClickListener(this)
- maxApps8.setOnClickListener(this)
-
- dailyWallpaper.setOnLongClickListener(this)
- alignment.setOnLongClickListener(this)
- appThemeText.setOnLongClickListener(this)
- swipeLeftApp.setOnLongClickListener(this)
- swipeRightApp.setOnLongClickListener(this)
- toggleLock.setOnLongClickListener(this)
+ binding.olauncherHiddenApps.setOnClickListener(this)
+ binding.scrollLayout.setOnClickListener(this)
+ binding.appInfo.setOnClickListener(this)
+ binding.setLauncher.setOnClickListener(this)
+ binding.publicRoadmap.setOnClickListener(this)
+ binding.autoShowKeyboard.setOnClickListener(this)
+ binding.toggleLock.setOnClickListener(this)
+ binding.homeAppsNum.setOnClickListener(this)
+ binding.dailyWallpaperUrl.setOnClickListener(this)
+ binding.dailyWallpaper.setOnClickListener(this)
+ binding.alignment.setOnClickListener(this)
+ binding.alignmentLeft.setOnClickListener(this)
+ binding.alignmentCenter.setOnClickListener(this)
+ binding.alignmentRight.setOnClickListener(this)
+ binding.alignmentBottom.setOnClickListener(this)
+ binding.statusBar.setOnClickListener(this)
+ binding.dateTime.setOnClickListener(this)
+ binding.dateTimeOn.setOnClickListener(this)
+ binding.dateTimeOff.setOnClickListener(this)
+ binding.dateOnly.setOnClickListener(this)
+ binding.swipeLeftApp.setOnClickListener(this)
+ binding.swipeRightApp.setOnClickListener(this)
+ binding.swipeDownAction.setOnClickListener(this)
+ binding.search.setOnClickListener(this)
+ binding.notifications.setOnClickListener(this)
+ binding.appThemeText.setOnClickListener(this)
+ binding.themeLight.setOnClickListener(this)
+ binding.themeDark.setOnClickListener(this)
+ binding.themeSystem.setOnClickListener(this)
+
+ binding.about.setOnClickListener(this)
+ binding.share.setOnClickListener(this)
+ binding.rate.setOnClickListener(this)
+ binding.twitter.setOnClickListener(this)
+ binding.instagram.setOnClickListener(this)
+ binding.privacy.setOnClickListener(this)
+ binding.github.setOnClickListener(this)
+ binding.affiliate.setOnClickListener(this)
+ binding.moreApps.setOnClickListener(this)
+
+ binding.maxApps0.setOnClickListener(this)
+ binding.maxApps1.setOnClickListener(this)
+ binding.maxApps2.setOnClickListener(this)
+ binding.maxApps3.setOnClickListener(this)
+ binding.maxApps4.setOnClickListener(this)
+ binding.maxApps5.setOnClickListener(this)
+ binding.maxApps6.setOnClickListener(this)
+ binding.maxApps7.setOnClickListener(this)
+ binding.maxApps8.setOnClickListener(this)
+
+ binding.dailyWallpaper.setOnLongClickListener(this)
+ binding.alignment.setOnLongClickListener(this)
+ binding.appThemeText.setOnLongClickListener(this)
+ binding.swipeLeftApp.setOnLongClickListener(this)
+ binding.swipeRightApp.setOnLongClickListener(this)
+ binding.toggleLock.setOnLongClickListener(this)
}
private fun initObservers() {
@@ -221,9 +221,9 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
}
viewModel.isOlauncherDefault.observe(viewLifecycleOwner) {
if (it) {
- setLauncher.text = getString(R.string.change_default_launcher)
+ binding.setLauncher.text = getString(R.string.change_default_launcher)
prefs.toShowHintCounter = prefs.toShowHintCounter + 1
- publicRoadmap.visibility = View.VISIBLE
+ binding.publicRoadmap.visibility = View.VISIBLE
}
}
viewModel.homeAppAlignment.observe(viewLifecycleOwner) {
@@ -237,10 +237,10 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
private fun toggleSwipeLeft() {
prefs.swipeLeftEnabled = !prefs.swipeLeftEnabled
if (prefs.swipeLeftEnabled) {
- swipeLeftApp.setTextColor(requireContext().getColorFromAttr(R.attr.primaryColor))
+ binding.swipeLeftApp.setTextColor(requireContext().getColorFromAttr(R.attr.primaryColor))
showToastShort(requireContext(), "Swipe left app enabled")
} else {
- swipeLeftApp.setTextColor(requireContext().getColorFromAttr(R.attr.primaryColorTrans50))
+ binding.swipeLeftApp.setTextColor(requireContext().getColorFromAttr(R.attr.primaryColorTrans50))
showToastShort(requireContext(), "Swipe left app disabled")
}
}
@@ -248,10 +248,10 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
private fun toggleSwipeRight() {
prefs.swipeRightEnabled = !prefs.swipeRightEnabled
if (prefs.swipeRightEnabled) {
- swipeRightApp.setTextColor(requireContext().getColorFromAttr(R.attr.primaryColor))
+ binding.swipeRightApp.setTextColor(requireContext().getColorFromAttr(R.attr.primaryColor))
showToastShort(requireContext(), "Swipe right app enabled")
} else {
- swipeRightApp.setTextColor(requireContext().getColorFromAttr(R.attr.primaryColorTrans50))
+ binding.swipeRightApp.setTextColor(requireContext().getColorFromAttr(R.attr.primaryColorTrans50))
showToastShort(requireContext(), "Swipe right app disabled")
}
}
@@ -264,10 +264,10 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
private fun populateStatusBar() {
if (prefs.showStatusBar) {
showStatusBar()
- statusBar.text = getString(R.string.on)
+ binding.statusBar.text = getString(R.string.on)
} else {
hideStatusBar()
- statusBar.text = getString(R.string.off)
+ binding.statusBar.text = getString(R.string.off)
}
}
@@ -278,7 +278,7 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
}
private fun populateDateTime() {
- dateTime.text = getString(when (prefs.dateTimeVisibility) {
+ binding.dateTime.text = getString(when (prefs.dateTimeVisibility) {
Constants.DateTime.DATE_ONLY -> R.string.date
Constants.DateTime.ON -> R.string.on
else -> R.string.off
@@ -381,8 +381,8 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
}
private fun updateHomeAppsNum(num: Int) {
- homeAppsNum.text = num.toString()
- appsNumSelectLayout.visibility = View.GONE
+ binding.homeAppsNum.text = num.toString()
+ binding.appsNumSelectLayout.visibility = View.GONE
prefs.homeAppsNum = num
viewModel.refreshHome(true)
}
@@ -427,20 +427,20 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
private fun populateAppThemeText(appTheme: Int = prefs.appTheme) {
when (appTheme) {
- AppCompatDelegate.MODE_NIGHT_YES -> appThemeText.text = getString(R.string.dark)
- AppCompatDelegate.MODE_NIGHT_NO -> appThemeText.text = getString(R.string.light)
- else -> appThemeText.text = getString(R.string.system_default)
+ AppCompatDelegate.MODE_NIGHT_YES -> binding.appThemeText.text = getString(R.string.dark)
+ AppCompatDelegate.MODE_NIGHT_NO -> binding.appThemeText.text = getString(R.string.light)
+ else -> binding.appThemeText.text = getString(R.string.system_default)
}
}
private fun populateKeyboardText() {
- if (prefs.autoShowKeyboard) autoShowKeyboard.text = getString(R.string.on)
- else autoShowKeyboard.text = getString(R.string.off)
+ if (prefs.autoShowKeyboard) binding.autoShowKeyboard.text = getString(R.string.on)
+ else binding.autoShowKeyboard.text = getString(R.string.off)
}
private fun populateWallpaperText() {
- if (prefs.dailyWallpaper) dailyWallpaper.text = getString(R.string.on)
- else dailyWallpaper.text = getString(R.string.off)
+ if (prefs.dailyWallpaper) binding.dailyWallpaper.text = getString(R.string.on)
+ else binding.dailyWallpaper.text = getString(R.string.off)
}
private fun updateHomeBottomAlignment() {
@@ -455,22 +455,22 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
private fun populateAlignment() {
when (prefs.homeAlignment) {
- Gravity.START -> alignment.text = getString(R.string.left)
- Gravity.CENTER -> alignment.text = getString(R.string.center)
- Gravity.END -> alignment.text = getString(R.string.right)
+ Gravity.START -> binding.alignment.text = getString(R.string.left)
+ Gravity.CENTER -> binding.alignment.text = getString(R.string.center)
+ Gravity.END -> binding.alignment.text = getString(R.string.right)
}
- alignmentBottom.text = if (prefs.homeBottomAlignment)
+ binding.alignmentBottom.text = if (prefs.homeBottomAlignment)
getString(R.string.bottom_on)
else getString(R.string.bottom_off)
}
private fun populateLockSettings() {
- if (prefs.lockModeOn) toggleLock.text = getString(R.string.on)
- else toggleLock.text = getString(R.string.off)
+ if (prefs.lockModeOn) binding.toggleLock.text = getString(R.string.on)
+ else binding.toggleLock.text = getString(R.string.off)
}
private fun populateSwipeDownAction() {
- swipeDownAction.text = when (prefs.swipeDownAction) {
+ binding.swipeDownAction.text = when (prefs.swipeDownAction) {
Constants.SwipeDownAction.NOTIFICATIONS -> getString(R.string.notifications)
else -> getString(R.string.search)
}
@@ -507,12 +507,12 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
}
private fun populateSwipeApps() {
- swipeLeftApp.text = prefs.appNameSwipeLeft
- swipeRightApp.text = prefs.appNameSwipeRight
+ binding.swipeLeftApp.text = prefs.appNameSwipeLeft
+ binding.swipeRightApp.text = prefs.appNameSwipeRight
if (!prefs.swipeLeftEnabled)
- swipeLeftApp.setTextColor(requireContext().getColorFromAttr(R.attr.primaryColorTrans50))
+ binding.swipeLeftApp.setTextColor(requireContext().getColorFromAttr(R.attr.primaryColorTrans50))
if (!prefs.swipeRightEnabled)
- swipeRightApp.setTextColor(requireContext().getColorFromAttr(R.attr.primaryColorTrans50))
+ binding.swipeRightApp.setTextColor(requireContext().getColorFromAttr(R.attr.primaryColorTrans50))
}
private fun showAppListIfEnabled(flag: Int) {
@@ -536,16 +536,21 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
when (prefs.toShowHintCounter) {
Constants.HINT_RATE_US -> {
viewModel.showMessageDialog(getString(R.string.rate_us_message))
- rate.setCompoundDrawablesWithIntrinsicBounds(0, android.R.drawable.arrow_down_float, 0, 0)
- scrollView.post {
- scrollView.fullScroll(View.FOCUS_DOWN)
+ binding.rate.setCompoundDrawablesWithIntrinsicBounds(0, android.R.drawable.arrow_down_float, 0, 0)
+ binding.scrollView.post {
+ binding.scrollView.fullScroll(View.FOCUS_DOWN)
}
}
}
if (viewModel.isOlauncherDefault.value != true) return
if (prefs.aboutClicked.not() && prefs.toShowHintCounter < Constants.HINT_RATE_US)
- about.setCompoundDrawablesWithIntrinsicBounds(0, android.R.drawable.arrow_down_float, 0, 0)
+ binding.about.setCompoundDrawablesWithIntrinsicBounds(0, android.R.drawable.arrow_down_float, 0, 0)
if (prefs.rateClicked.not() && prefs.toShowHintCounter > Constants.HINT_RATE_US && prefs.toShowHintCounter < Constants.HINT_RATE_US + 10)
- rate.setCompoundDrawablesWithIntrinsicBounds(0, android.R.drawable.arrow_down_float, 0, 0)
+ binding.rate.setCompoundDrawablesWithIntrinsicBounds(0, android.R.drawable.arrow_down_float, 0, 0)
+ }
+
+ override fun onDestroyView() {
+ super.onDestroyView()
+ _binding = null
}
} \ No newline at end of file