Migrate AboutActivity to fragment

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2023-06-22 11:09:37 +05:30
parent 968d8f8452
commit e92b54d16d
6 changed files with 42 additions and 52 deletions

View File

@@ -161,7 +161,6 @@
<activity android:name=".view.ui.details.DevAppsActivity" /> <activity android:name=".view.ui.details.DevAppsActivity" />
<activity android:name=".view.ui.commons.BlacklistActivity" /> <activity android:name=".view.ui.commons.BlacklistActivity" />
<activity android:name=".view.ui.preferences.SettingsActivity" /> <activity android:name=".view.ui.preferences.SettingsActivity" />
<activity android:name=".view.ui.about.AboutActivity" />
<activity android:name=".view.ui.commons.ExpandedStreamBrowseActivity" /> <activity android:name=".view.ui.commons.ExpandedStreamBrowseActivity" />
<activity android:name=".view.ui.commons.EditorStreamBrowseActivity" /> <activity android:name=".view.ui.commons.EditorStreamBrowseActivity" />

View File

@@ -53,7 +53,6 @@ import com.aurora.store.databinding.ActivityMainBinding
import com.aurora.store.util.CertUtil.isFDroidApp import com.aurora.store.util.CertUtil.isFDroidApp
import com.aurora.store.util.Log import com.aurora.store.util.Log
import com.aurora.store.util.Preferences import com.aurora.store.util.Preferences
import com.aurora.store.view.ui.about.AboutActivity
import com.aurora.store.view.ui.account.AccountActivity import com.aurora.store.view.ui.account.AccountActivity
import com.aurora.store.view.ui.all.AppsGamesActivity import com.aurora.store.view.ui.all.AppsGamesActivity
import com.aurora.store.view.ui.commons.BaseActivity import com.aurora.store.view.ui.commons.BaseActivity
@@ -266,7 +265,8 @@ class MainActivity : BaseActivity() {
open(SettingsActivity::class.java) open(SettingsActivity::class.java)
} }
R.id.menu_about -> { R.id.menu_about -> {
open(AboutActivity::class.java) navController.navigate(R.id.aboutFragment)
B.drawerLayout.close()
} }
} }
false false

View File

@@ -20,65 +20,49 @@
package com.aurora.store.view.ui.about package com.aurora.store.view.ui.about
import android.os.Bundle import android.os.Bundle
import android.view.View
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.aurora.store.BuildConfig
import com.aurora.store.R
import com.aurora.store.data.model.Link
import com.aurora.store.databinding.ActivityAboutBinding
import com.aurora.extensions.browse import com.aurora.extensions.browse
import com.aurora.extensions.copyToClipBoard import com.aurora.extensions.copyToClipBoard
import com.aurora.extensions.load import com.aurora.extensions.load
import com.aurora.store.BuildConfig
import com.aurora.store.R
import com.aurora.store.data.model.Link
import com.aurora.store.databinding.FragmentAboutBinding
import com.aurora.store.view.epoxy.views.preference.LinkViewModel_ import com.aurora.store.view.epoxy.views.preference.LinkViewModel_
import com.aurora.store.view.ui.commons.BaseActivity
class AboutActivity : BaseActivity() { class AboutFragment : Fragment(R.layout.fragment_about) {
private lateinit var B: ActivityAboutBinding private var _binding: FragmentAboutBinding? = null
private val binding: FragmentAboutBinding
get() = _binding!!
override fun onConnected() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentAboutBinding.bind(view)
} // Toolbar
binding.layoutToolbarAction.txtTitle.text = getString(R.string.title_about)
binding.layoutToolbarAction.imgActionPrimary.setOnClickListener {
findNavController().navigateUp()
}
override fun onDisconnected() { // About Details
binding.imgIcon.load(R.drawable.ic_logo)
binding.line2.text = ("v${BuildConfig.VERSION_NAME}(${BuildConfig.VERSION_CODE})")
} binding.epoxyRecycler.layoutManager =
LinearLayoutManager(view.context, RecyclerView.VERTICAL, false)
override fun onReconnected() {
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
B = ActivityAboutBinding.inflate(layoutInflater)
setContentView(B.root)
attachToolbar()
attachAppDetails()
attachRecycler()
updateController() updateController()
} }
private fun attachToolbar() { override fun onDestroyView() {
B.layoutToolbarAction.txtTitle.text = getString(R.string.title_about) super.onDestroyView()
B.layoutToolbarAction.imgActionPrimary.setOnClickListener { _binding = null
finishAfterTransition()
}
}
private fun attachAppDetails() {
B.imgIcon.load(R.drawable.ic_logo)
B.line2.text = ("v${BuildConfig.VERSION_NAME}(${BuildConfig.VERSION_CODE})")
}
private fun attachRecycler() {
with(B.epoxyRecycler) {
layoutManager = LinearLayoutManager(
this@AboutActivity,
RecyclerView.VERTICAL,
false
)
}
} }
private fun updateController() { private fun updateController() {
@@ -99,7 +83,7 @@ class AboutActivity : BaseActivity() {
R.drawable.ic_fdroid R.drawable.ic_fdroid
) )
B.epoxyRecycler.withModels { binding.epoxyRecycler.withModels {
for (i in linkURLS.indices) { for (i in linkURLS.indices) {
val link = Link( val link = Link(
id = i, id = i,
@@ -120,9 +104,9 @@ class AboutActivity : BaseActivity() {
private fun processUrl(url: String) { private fun processUrl(url: String) {
when { when {
url.startsWith("http") -> browse(url) url.startsWith("http") -> context?.browse(url)
url.startsWith("upi") -> browse(url) url.startsWith("upi") -> context?.browse(url)
else -> copyToClipBoard(url) else -> context?.copyToClipBoard(url)
} }
} }
} }

View File

@@ -24,7 +24,8 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical"
tools:context=".view.ui.about.AboutFragment">
<include <include
android:id="@+id/layout_toolbar_action" android:id="@+id/layout_toolbar_action"

View File

@@ -23,7 +23,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:orientation="vertical"
android:weightSum="3"> android:weightSum="3"
tools:context=".view.ui.about.AboutFragment">
<include <include
android:id="@+id/layout_toolbar_action" android:id="@+id/layout_toolbar_action"

View File

@@ -40,4 +40,9 @@
android:name="com.aurora.store.view.ui.updates.UpdatesFragment" android:name="com.aurora.store.view.ui.updates.UpdatesFragment"
android:label="@string/title_updates" android:label="@string/title_updates"
tools:layout="@layout/fragment_updates" /> tools:layout="@layout/fragment_updates" />
<fragment
android:id="@+id/aboutFragment"
android:name="com.aurora.store.view.ui.about.AboutFragment"
android:label="@string/title_about"
tools:layout="@layout/fragment_about" />
</navigation> </navigation>