diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b264b02c..d1bbdd94 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -120,7 +120,7 @@ @@ -133,7 +133,7 @@ R.string.personalize R.id.themeSettingsFragment -> R.string.general_settings_title R.id.aboutActivity -> R.string.action_about + R.id.backup_restore_settings -> R.string.backup_restore_title else -> R.id.action_settings } return getString(idRes) diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/backup/BackupActivity.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/backup/BackupFragment.kt similarity index 57% rename from app/src/main/java/code/name/monkey/retromusic/activities/backup/BackupActivity.kt rename to app/src/main/java/code/name/monkey/retromusic/fragments/backup/BackupFragment.kt index 39f13f78..72235172 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/backup/BackupActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/backup/BackupFragment.kt @@ -1,36 +1,31 @@ -package code.name.monkey.retromusic.activities.backup +package code.name.monkey.retromusic.fragments.backup import android.os.Bundle -import android.widget.Toast -import androidx.activity.viewModels +import android.view.View import androidx.core.view.isVisible +import androidx.fragment.app.Fragment +import androidx.fragment.app.viewModels import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import code.name.monkey.retromusic.R -import code.name.monkey.retromusic.activities.base.AbsThemeActivity import code.name.monkey.retromusic.adapter.backup.BackupAdapter -import code.name.monkey.retromusic.databinding.ActivityBackupBinding +import code.name.monkey.retromusic.databinding.FragmentBackupBinding import code.name.monkey.retromusic.helper.BackupHelper -import com.google.android.material.shape.MaterialShapeDrawable -import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext import java.io.File -class BackupActivity : AbsThemeActivity(), BackupAdapter.BackupClickedListener { +class BackupFragment : Fragment(R.layout.fragment_backup), BackupAdapter.BackupClickedListener { private val backupViewModel by viewModels() private var backupAdapter: BackupAdapter? = null - lateinit var binding: ActivityBackupBinding - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - binding = ActivityBackupBinding.inflate(layoutInflater) - setContentView(binding.root) - binding.appBarLayout.statusBarForeground = - MaterialShapeDrawable.createWithElevationOverlay(this) - binding.toolbar.setNavigationIcon(R.drawable.ic_keyboard_backspace_black) + private var _binding: FragmentBackupBinding? = null + private val binding get() = _binding!! + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + _binding = FragmentBackupBinding.bind(view) initAdapter() setupRecyclerview() backupViewModel.backupsLiveData.observe(this) { @@ -46,21 +41,14 @@ class BackupActivity : AbsThemeActivity(), BackupAdapter.BackupClickedListener { private fun setupButtons() { binding.createBackup.setOnClickListener { lifecycleScope.launch { - BackupHelper.createBackup(this@BackupActivity) + BackupHelper.createBackup(requireContext()) backupViewModel.loadBackups() - withContext(Dispatchers.Main) { - Toast.makeText( - this@BackupActivity, - "Backup Completed Successfully", - Toast.LENGTH_SHORT - ).show() - } } } } private fun initAdapter() { - backupAdapter = BackupAdapter(this@BackupActivity, ArrayList(), this) + backupAdapter = BackupAdapter(requireContext(), ArrayList(), this) backupAdapter?.registerAdapterDataObserver(object : RecyclerView.AdapterDataObserver() { override fun onChanged() { super.onChanged() @@ -86,7 +74,7 @@ class BackupActivity : AbsThemeActivity(), BackupAdapter.BackupClickedListener { override fun onBackupClicked(file: File) { lifecycleScope.launch { - backupViewModel.restoreBackup(this@BackupActivity, file) + backupViewModel.restoreBackup(requireActivity(), file) } } } \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/backup/BackupViewModel.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/backup/BackupViewModel.kt similarity index 95% rename from app/src/main/java/code/name/monkey/retromusic/activities/backup/BackupViewModel.kt rename to app/src/main/java/code/name/monkey/retromusic/fragments/backup/BackupViewModel.kt index 00cdffef..09f18df6 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/backup/BackupViewModel.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/backup/BackupViewModel.kt @@ -1,4 +1,4 @@ -package code.name.monkey.retromusic.activities.backup +package code.name.monkey.retromusic.fragments.backup import android.app.Activity import android.content.Intent diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/backup/RestoreActivity.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/backup/RestoreActivity.kt similarity index 85% rename from app/src/main/java/code/name/monkey/retromusic/activities/backup/RestoreActivity.kt rename to app/src/main/java/code/name/monkey/retromusic/fragments/backup/RestoreActivity.kt index 6caabf7f..f54e697c 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/backup/RestoreActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/backup/RestoreActivity.kt @@ -1,4 +1,4 @@ -package code.name.monkey.retromusic.activities.backup +package code.name.monkey.retromusic.fragments.backup import android.os.Bundle import androidx.appcompat.app.AppCompatActivity diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/MainSettingsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/MainSettingsFragment.kt index c8ecf904..c507a259 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/MainSettingsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/MainSettingsFragment.kt @@ -45,7 +45,7 @@ class MainSettingsFragment : Fragment(), View.OnClickListener { R.id.otherSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_otherSettingsFragment) R.id.aboutSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_aboutActivity) R.id.nowPlayingSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_nowPlayingSettingsFragment) - R.id.backup_restore_settings -> NavigationUtil.gotoBackup(requireActivity()) + R.id.backup_restore_settings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_backupFragment) } } diff --git a/app/src/main/java/code/name/monkey/retromusic/util/NavigationUtil.kt b/app/src/main/java/code/name/monkey/retromusic/util/NavigationUtil.kt index b0a14077..ffba5bdd 100755 --- a/app/src/main/java/code/name/monkey/retromusic/util/NavigationUtil.kt +++ b/app/src/main/java/code/name/monkey/retromusic/util/NavigationUtil.kt @@ -23,7 +23,6 @@ import androidx.core.app.ActivityCompat import androidx.navigation.findNavController import code.name.monkey.retromusic.R import code.name.monkey.retromusic.activities.* -import code.name.monkey.retromusic.activities.backup.BackupActivity import code.name.monkey.retromusic.activities.bugreport.BugReportActivity import code.name.monkey.retromusic.helper.MusicPlayerRemote.audioSessionId import com.google.android.material.bottomsheet.BottomSheetBehavior @@ -78,10 +77,6 @@ object NavigationUtil { ActivityCompat.startActivity(activity, Intent(activity, WhatsNewActivity::class.java), null) } - fun gotoBackup(activity: Activity) { - ActivityCompat.startActivity(activity, Intent(activity, BackupActivity::class.java), null) - } - fun openEqualizer(activity: Activity) { stockEqualizer(activity) } diff --git a/app/src/main/res/layout/activity_backup.xml b/app/src/main/res/layout/activity_backup.xml deleted file mode 100644 index 1bd0ae06..00000000 --- a/app/src/main/res/layout/activity_backup.xml +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_restore.xml b/app/src/main/res/layout/activity_restore.xml index 273ec108..79eda336 100644 --- a/app/src/main/res/layout/activity_restore.xml +++ b/app/src/main/res/layout/activity_restore.xml @@ -3,6 +3,6 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".activities.backup.RestoreActivity"> + tools:context=".fragments.backup.RestoreActivity"> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_backup.xml b/app/src/main/res/layout/fragment_backup.xml new file mode 100644 index 00000000..33ded993 --- /dev/null +++ b/app/src/main/res/layout/fragment_backup.xml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/navigation/settings_graph.xml b/app/src/main/res/navigation/settings_graph.xml index 725feda1..70dffca0 100644 --- a/app/src/main/res/navigation/settings_graph.xml +++ b/app/src/main/res/navigation/settings_graph.xml @@ -74,6 +74,15 @@ app:launchSingleTop="true" app:popEnterAnim="@anim/retro_fragment_close_enter" app:popExitAnim="@anim/retro_fragment_close_exit" /> + + + + \ No newline at end of file