diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4f90acfff..9e04f9535 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -149,7 +149,6 @@
-
diff --git a/app/src/main/java/com/aurora/store/MainActivity.kt b/app/src/main/java/com/aurora/store/MainActivity.kt
index 0d98cebb7..cda687a61 100644
--- a/app/src/main/java/com/aurora/store/MainActivity.kt
+++ b/app/src/main/java/com/aurora/store/MainActivity.kt
@@ -41,7 +41,6 @@ import androidx.core.graphics.ColorUtils
import androidx.core.view.GravityCompat
import androidx.navigation.NavController
import androidx.navigation.NavDestination
-import androidx.navigation.findNavController
import androidx.navigation.fragment.NavHostFragment
import androidx.navigation.ui.setupWithNavController
import com.aurora.Constants
@@ -55,7 +54,6 @@ import com.aurora.store.util.CertUtil.isFDroidApp
import com.aurora.store.util.Log
import com.aurora.store.util.Preferences
import com.aurora.store.view.ui.commons.BaseActivity
-import com.aurora.store.view.ui.downloads.DownloadActivity
import com.aurora.store.view.ui.sheets.SelfUpdateSheet
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.google.android.material.bottomnavigation.BottomNavigationView
@@ -190,7 +188,7 @@ class MainActivity : BaseActivity() {
}
B.viewToolbar.imgActionSecondary.setOnClickListener {
- open(DownloadActivity::class.java)
+ navController.navigate(R.id.downloadFragment)
}
}
@@ -247,7 +245,8 @@ class MainActivity : BaseActivity() {
B.drawerLayout.close()
}
R.id.menu_download_manager -> {
- open(DownloadActivity::class.java)
+ navController.navigate(R.id.downloadFragment)
+ B.drawerLayout.close()
}
R.id.menu_spoof_manager -> {
navController.navigate(R.id.spoofFragment)
diff --git a/app/src/main/java/com/aurora/store/data/service/NotificationService.kt b/app/src/main/java/com/aurora/store/data/service/NotificationService.kt
index 27758b463..81db411ee 100644
--- a/app/src/main/java/com/aurora/store/data/service/NotificationService.kt
+++ b/app/src/main/java/com/aurora/store/data/service/NotificationService.kt
@@ -29,10 +29,12 @@ import android.util.ArrayMap
import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat
import androidx.core.content.ContextCompat
+import androidx.navigation.NavDeepLinkBuilder
import com.aurora.Constants
import com.aurora.extensions.getStyledAttributeColor
import com.aurora.extensions.isMAndAbove
import com.aurora.gplayapi.data.models.App
+import com.aurora.store.MainActivity
import com.aurora.store.R
import com.aurora.store.data.downloader.DownloadManager
import com.aurora.store.data.downloader.RequestGroupIdBuilder
@@ -45,7 +47,6 @@ import com.aurora.store.data.receiver.InstallReceiver
import com.aurora.store.util.CommonUtil
import com.aurora.store.util.Log
import com.aurora.store.view.ui.details.AppDetailsActivity
-import com.aurora.store.view.ui.downloads.DownloadActivity
import com.google.gson.Gson
import com.google.gson.GsonBuilder
import com.tonyodev.fetch2.*
@@ -326,11 +327,11 @@ class NotificationService : Service() {
}
private fun getContentIntentForDownloads(): PendingIntent {
- val intent = Intent(this, DownloadActivity::class.java)
- val flags = if (isMAndAbove())
- PendingIntent.FLAG_CANCEL_CURRENT or PendingIntent.FLAG_IMMUTABLE
- else PendingIntent.FLAG_CANCEL_CURRENT
- return PendingIntent.getActivity(this, 0, intent, flags)
+ return NavDeepLinkBuilder(this)
+ .setGraph(R.navigation.mobile_navigation)
+ .setDestination(R.id.downloadFragment)
+ .setComponentName(MainActivity::class.java)
+ .createPendingIntent()
}
private fun getInstallIntent(packageName: String): PendingIntent {
diff --git a/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsActivity.kt b/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsActivity.kt
index 76051692a..27b1e0488 100644
--- a/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsActivity.kt
+++ b/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsActivity.kt
@@ -57,7 +57,6 @@ import com.aurora.store.data.service.AppMetadataStatusListener
import com.aurora.store.data.service.UpdateService
import com.aurora.store.databinding.ActivityDetailsBinding
import com.aurora.store.util.*
-import com.aurora.store.view.ui.downloads.DownloadActivity
import com.aurora.store.view.ui.sheets.InstallErrorDialogSheet
import com.aurora.store.view.ui.sheets.ManualDownloadSheet
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
@@ -283,10 +282,6 @@ class AppDetailsActivity : BaseDetailsActivity() {
sheet.show(supportFragmentManager, ManualDownloadSheet.TAG)
return true
}
- R.id.menu_download_manager -> {
- open(DownloadActivity::class.java)
- return true
- }
R.id.action_playstore -> {
browse("${Constants.SHARE_URL}${app.packageName}")
return true
diff --git a/app/src/main/java/com/aurora/store/view/ui/downloads/DownloadActivity.kt b/app/src/main/java/com/aurora/store/view/ui/downloads/DownloadFragment.kt
similarity index 63%
rename from app/src/main/java/com/aurora/store/view/ui/downloads/DownloadActivity.kt
rename to app/src/main/java/com/aurora/store/view/ui/downloads/DownloadFragment.kt
index dc605d28f..b6ff92971 100644
--- a/app/src/main/java/com/aurora/store/view/ui/downloads/DownloadActivity.kt
+++ b/app/src/main/java/com/aurora/store/view/ui/downloads/DownloadFragment.kt
@@ -20,24 +20,34 @@
package com.aurora.store.view.ui.downloads
import android.os.Bundle
-import android.view.Menu
-import android.view.MenuItem
+import android.view.View
+import androidx.core.content.ContextCompat
+import androidx.navigation.fragment.findNavController
import com.aurora.Constants
import com.aurora.gplayapi.data.models.App
import com.aurora.store.R
import com.aurora.store.data.downloader.DownloadManager
import com.aurora.store.data.model.DownloadFile
-import com.aurora.store.databinding.ActivityDownloadBinding
+import com.aurora.store.databinding.FragmentDownloadBinding
import com.aurora.store.util.Preferences
import com.aurora.store.view.epoxy.views.DownloadViewModel_
import com.aurora.store.view.epoxy.views.app.NoAppViewModel_
-import com.aurora.store.view.ui.commons.BaseActivity
+import com.aurora.store.view.ui.commons.BaseFragment
import com.aurora.store.view.ui.sheets.DownloadMenuSheet
-import com.tonyodev.fetch2.*
+import com.tonyodev.fetch2.AbstractFetchListener
+import com.tonyodev.fetch2.BuildConfig
+import com.tonyodev.fetch2.Download
+import com.tonyodev.fetch2.Error
+import com.tonyodev.fetch2.Fetch
+import com.tonyodev.fetch2.FetchListener
+import com.tonyodev.fetch2.Status
-class DownloadActivity : BaseActivity() {
+class DownloadFragment : BaseFragment(R.layout.fragment_download) {
+
+ private var _binding: FragmentDownloadBinding? = null
+ private val binding: FragmentDownloadBinding
+ get() = _binding!!
- private lateinit var B: ActivityDownloadBinding
private lateinit var fetch: Fetch
private var fetchListener: FetchListener = object : AbstractFetchListener() {
@@ -86,30 +96,52 @@ class DownloadActivity : BaseActivity() {
}
}
- override fun onConnected() {
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
- }
+ _binding = FragmentDownloadBinding.bind(view)
- override fun onDisconnected() {
+ // Toolbar
+ binding.layoutToolbarAction.toolbar.apply {
+ elevation = 0f
+ title = getString(R.string.title_download_manager)
+ navigationIcon = ContextCompat.getDrawable(view.context, R.drawable.ic_arrow_back)
+ inflateMenu(R.menu.menu_download_main)
+ setNavigationOnClickListener { findNavController().navigateUp() }
+ setOnMenuItemClickListener {
+ when (it.itemId) {
+ R.id.action_pause_all -> {
+ fetch.pauseAll()
+ }
- }
+ R.id.action_resume_all -> {
+ fetch.resumeAll()
+ }
- override fun onReconnected() {
+ R.id.action_cancel_all -> {
+ fetch.cancelAll()
+ }
- }
+ R.id.action_clear_completed -> {
+ fetch.removeAllWithStatus(Status.COMPLETED)
+ Preferences.getPrefs(view.context).edit()
+ .remove(Preferences.PREFERENCE_UNIQUE_GROUP_IDS).apply()
+ }
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
+ R.id.action_force_clear_all -> {
+ fetch.deleteAll()
+ Preferences.getPrefs(view.context).edit()
+ .remove(Preferences.PREFERENCE_UNIQUE_GROUP_IDS).apply()
+ }
+ }
+ true
+ }
+ }
- B = ActivityDownloadBinding.inflate(layoutInflater)
- setContentView(B.root)
-
- attachToolbar()
-
- fetch = DownloadManager.with(this).fetch
+ fetch = DownloadManager.with(view.context).fetch
updateDownloadsList()
- B.swipeRefreshLayout.setOnRefreshListener {
+ binding.swipeRefreshLayout.setOnRefreshListener {
updateDownloadsList()
}
}
@@ -126,58 +158,10 @@ class DownloadActivity : BaseActivity() {
super.onPause()
}
- override fun onDestroy() {
- if (::fetch.isInitialized)
- fetch.removeListener(fetchListener)
- super.onDestroy()
- }
-
- override fun onCreateOptionsMenu(menu: Menu?): Boolean {
- menuInflater.inflate(R.menu.menu_download_main, menu)
- return true
- }
-
- override fun onOptionsItemSelected(item: MenuItem): Boolean {
- when (item.itemId) {
- android.R.id.home -> {
- onBackPressedDispatcher.onBackPressed()
- return true
- }
- R.id.action_pause_all -> {
- fetch.pauseAll()
- return true
- }
- R.id.action_resume_all -> {
- fetch.resumeAll()
- return true
- }
- R.id.action_cancel_all -> {
- fetch.cancelAll()
- return true
- }
- R.id.action_clear_completed -> {
- fetch.removeAllWithStatus(Status.COMPLETED)
- Preferences.getPrefs(this).edit().remove(Preferences.PREFERENCE_UNIQUE_GROUP_IDS).apply()
- return true
- }
- R.id.action_force_clear_all -> {
- fetch.deleteAll()
- Preferences.getPrefs(this).edit().remove(Preferences.PREFERENCE_UNIQUE_GROUP_IDS).apply()
- return true
- }
- }
- return super.onOptionsItemSelected(item)
- }
-
- private fun attachToolbar() {
- setSupportActionBar(B.layoutToolbarAction.toolbar)
- val actionBar = supportActionBar
- if (actionBar != null) {
- actionBar.setDisplayShowCustomEnabled(true)
- actionBar.setDisplayHomeAsUpEnabled(true)
- actionBar.elevation = 0f
- actionBar.setTitle(R.string.title_download_manager)
- }
+ override fun onDestroyView() {
+ if (::fetch.isInitialized) fetch.removeListener(fetchListener)
+ super.onDestroyView()
+ _binding = null
}
private fun updateDownloadsList() {
@@ -193,7 +177,7 @@ class DownloadActivity : BaseActivity() {
}
private fun updateController(downloads: List) {
- B.recycler.withModels {
+ binding.recycler.withModels {
if (downloads.isEmpty()) {
add(
NoAppViewModel_()
@@ -215,7 +199,7 @@ class DownloadActivity : BaseActivity() {
}
}
}
- B.swipeRefreshLayout.isRefreshing = false
+ binding.swipeRefreshLayout.isRefreshing = false
}
private fun openDetailsActivity(downloadFile: DownloadFile) {
@@ -228,9 +212,9 @@ class DownloadActivity : BaseActivity() {
private fun openDownloadMenuSheet(downloadFile: DownloadFile) {
with(downloadFile) {
- val fragment = supportFragmentManager.findFragmentByTag(DownloadMenuSheet.TAG)
+ val fragment = childFragmentManager.findFragmentByTag(DownloadMenuSheet.TAG)
if (fragment != null)
- supportFragmentManager.beginTransaction().remove(fragment)
+ childFragmentManager.beginTransaction().remove(fragment).commitAllowingStateLoss()
DownloadMenuSheet().apply {
arguments = Bundle().apply {
@@ -239,7 +223,7 @@ class DownloadActivity : BaseActivity() {
putString(DownloadMenuSheet.DOWNLOAD_URL, download.url)
}
}.show(
- supportFragmentManager,
+ childFragmentManager,
DownloadMenuSheet.TAG
)
}
diff --git a/app/src/main/java/com/aurora/store/view/ui/search/SearchResultsFragment.kt b/app/src/main/java/com/aurora/store/view/ui/search/SearchResultsFragment.kt
index ede070adf..b12ac129c 100644
--- a/app/src/main/java/com/aurora/store/view/ui/search/SearchResultsFragment.kt
+++ b/app/src/main/java/com/aurora/store/view/ui/search/SearchResultsFragment.kt
@@ -35,8 +35,6 @@ import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs
-import com.aurora.Constants
-import com.aurora.extensions.open
import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.SearchBundle
import com.aurora.store.R
@@ -50,7 +48,6 @@ import com.aurora.store.view.epoxy.views.app.AppListViewModel_
import com.aurora.store.view.epoxy.views.app.NoAppViewModel_
import com.aurora.store.view.epoxy.views.shimmer.AppListViewShimmerModel_
import com.aurora.store.view.ui.commons.BaseFragment
-import com.aurora.store.view.ui.downloads.DownloadActivity
import com.aurora.store.view.ui.sheets.FilterSheet
import com.aurora.store.viewmodel.search.SearchResultViewModel
import com.google.android.material.snackbar.Snackbar
@@ -98,7 +95,7 @@ class SearchResultsFragment : BaseFragment(R.layout.fragment_search_result),
findNavController().navigateUp()
}
imgActionSecondary.setOnClickListener {
- activity?.open(DownloadActivity::class.java)
+ findNavController().navigate(R.id.downloadFragment)
}
}
diff --git a/app/src/main/java/com/aurora/store/view/ui/search/SearchSuggestionFragment.kt b/app/src/main/java/com/aurora/store/view/ui/search/SearchSuggestionFragment.kt
index 868e7b565..d788b050f 100644
--- a/app/src/main/java/com/aurora/store/view/ui/search/SearchSuggestionFragment.kt
+++ b/app/src/main/java/com/aurora/store/view/ui/search/SearchSuggestionFragment.kt
@@ -19,7 +19,6 @@
package com.aurora.store.view.ui.search
-import android.content.Intent
import android.os.Bundle
import android.text.Editable
import android.text.TextWatcher
@@ -32,15 +31,12 @@ import androidx.lifecycle.ViewModelProvider
import androidx.navigation.fragment.findNavController
import com.aurora.Constants
import com.aurora.extensions.browse
-import com.aurora.extensions.getEmptyActivityBundle
-import com.aurora.extensions.open
import com.aurora.extensions.showKeyboard
import com.aurora.gplayapi.SearchSuggestEntry
import com.aurora.store.R
import com.aurora.store.databinding.FragmentSearchSuggestionBinding
import com.aurora.store.util.Preferences
import com.aurora.store.view.epoxy.views.SearchSuggestionViewModel_
-import com.aurora.store.view.ui.downloads.DownloadActivity
import com.aurora.store.viewmodel.search.SearchSuggestionViewModel
import com.google.android.material.textfield.TextInputEditText
@@ -69,7 +65,7 @@ class SearchSuggestionFragment : Fragment(R.layout.fragment_search_suggestion) {
findNavController().navigateUp()
}
imgActionSecondary.setOnClickListener {
- activity?.open(DownloadActivity::class.java)
+ findNavController().navigate(R.id.downloadFragment)
}
}
diff --git a/app/src/main/res/layout/activity_download.xml b/app/src/main/res/layout/fragment_download.xml
similarity index 95%
rename from app/src/main/res/layout/activity_download.xml
rename to app/src/main/res/layout/fragment_download.xml
index 3fda42dde..bd840ff36 100644
--- a/app/src/main/res/layout/activity_download.xml
+++ b/app/src/main/res/layout/fragment_download.xml
@@ -22,7 +22,8 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical">
+ android:orientation="vertical"
+ tools:context=".view.ui.downloads.DownloadFragment">
-
-
diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml
index 7ee0cbff3..b70490728 100644
--- a/app/src/main/res/navigation/mobile_navigation.xml
+++ b/app/src/main/res/navigation/mobile_navigation.xml
@@ -93,4 +93,9 @@
android:name="query"
app:argType="string" />
+
\ No newline at end of file
diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml
index d6261e318..7c67f6564 100644
--- a/app/src/main/res/values-hi/strings.xml
+++ b/app/src/main/res/values-hi/strings.xml
@@ -1,5 +1,5 @@
-
+
ईमेल
भीम - यूपीआई
अक्षम करें
@@ -190,7 +190,7 @@
इंस्टॉल करने का तरीका
खाते
ऐप छूट पर
- रोके गए
+ रोके गए %1$d / %2$d
डिवाइस पर नहीं काम करते ऐप
लाइसेंस
एपीके इंस्टॉल का मोड चुनें