diff --git a/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt b/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt index f342f237..45398958 100644 --- a/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt +++ b/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt @@ -11,20 +11,25 @@ import android.view.MenuInflater import android.view.ViewGroup import androidx.fragment.app.viewModels import androidx.localbroadcastmanager.content.LocalBroadcastManager +import androidx.preference.PreferenceManager import androidx.recyclerview.widget.LinearLayoutManager import com.crowdin.platform.util.inflateWithCrowdin import com.google.android.flexbox.FlexboxLayoutManager import com.google.android.flexbox.JustifyContent +import com.vanced.manager.BuildConfig.VERSION_CODE import com.vanced.manager.R import com.vanced.manager.adapter.ExpandableAppListAdapter import com.vanced.manager.adapter.LinkAdapter import com.vanced.manager.adapter.SponsorAdapter import com.vanced.manager.core.ui.base.BindingFragment +import com.vanced.manager.core.ui.ext.showDialog import com.vanced.manager.databinding.FragmentHomeBinding +import com.vanced.manager.ui.dialogs.AppInfoDialog import com.vanced.manager.ui.dialogs.DialogContainer.installAlertBuilder import com.vanced.manager.ui.viewmodels.HomeViewModel import com.vanced.manager.ui.viewmodels.HomeViewModelFactory import com.vanced.manager.utils.isFetching +import com.vanced.manager.utils.manager class HomeFragment : BindingFragment() { @@ -56,6 +61,20 @@ class HomeFragment : BindingFragment() { homeRefresh.setOnRefreshListener { viewModel.fetchData() } isFetching.observe(viewLifecycleOwner) { homeRefresh.isRefreshing = it } + val prefs = PreferenceManager.getDefaultSharedPreferences(context) + if (prefs.contains("LastVersionCode")) { + if (prefs.getInt("LastVersionCode", -1) < VERSION_CODE) { + showDialog( + AppInfoDialog.newInstance( + appName = getString(R.string.app_name), + appIcon = R.mipmap.ic_launcher, + changelog = manager.value?.string("changelog") + ) + ) + prefs.edit().putInt("LastVersionCode", VERSION_CODE).apply() + } + } else prefs.edit().putInt("LastVersionCode", VERSION_CODE).apply() + recyclerAppList.apply { layoutManager = LinearLayoutManager(requireActivity()) adapter = ExpandableAppListAdapter(requireActivity(), viewModel /*, tooltip*/) diff --git a/app/src/main/java/com/vanced/manager/ui/fragments/LogFragment.kt b/app/src/main/java/com/vanced/manager/ui/fragments/LogFragment.kt index 94a1affa..e679884c 100644 --- a/app/src/main/java/com/vanced/manager/ui/fragments/LogFragment.kt +++ b/app/src/main/java/com/vanced/manager/ui/fragments/LogFragment.kt @@ -38,14 +38,15 @@ class LogFragment : BindingFragment() { val hour = calendar.get(Calendar.HOUR_OF_DAY) val minute = calendar.get(Calendar.MINUTE) val second = calendar.get(Calendar.SECOND) + val savePath = requireActivity().getExternalFilesDir("logs")?.path + "/$year$month${day}_$hour$minute$second.log" val log = - File(requireActivity().getExternalFilesDir("logs")?.path + "/$year$month${day}_$hour$minute$second.log") + File(savePath) FileWriter(log).apply { append(logs) flush() close() } - Toast.makeText(requireActivity(), R.string.logs_saved, Toast.LENGTH_SHORT).show() + Toast.makeText(requireActivity(), getString(R.string.logs_saved, savePath), Toast.LENGTH_SHORT).show() } catch (e: IOException) { Toast.makeText(requireActivity(), R.string.logs_not_saved, Toast.LENGTH_SHORT) .show() diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e7130d40..698b1927 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -73,7 +73,7 @@ Could not save logs - Successfully saved logs + Successfully saved logs to %1$s Details