aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/foundation/e/advancedprivacy/common
diff options
context:
space:
mode:
authorGuillaume Jacquart <guillaume.jacquart@hoodbrains.com>2023-06-09 06:34:09 +0000
committerGuillaume Jacquart <guillaume.jacquart@hoodbrains.com>2023-06-09 06:34:09 +0000
commit74b9860784913c097ae59e58b0958da7744ebc2e (patch)
tree29f4f655f6ac71a0da40bc50d332db3c2c75f634 /app/src/main/java/foundation/e/advancedprivacy/common
parent045261f84c1ac5ba4c8ed0f3dabd4ea53a1155c9 (diff)
downloadadvanced-privacy-74b9860784913c097ae59e58b0958da7744ebc2e.tar.gz
1227: use navigation graph component, avoid view (fragments) duplications
Diffstat (limited to 'app/src/main/java/foundation/e/advancedprivacy/common')
-rw-r--r--app/src/main/java/foundation/e/advancedprivacy/common/NavToolbarFragment.kt37
-rw-r--r--app/src/main/java/foundation/e/advancedprivacy/common/ToolbarFragment.kt45
-rw-r--r--app/src/main/java/foundation/e/advancedprivacy/common/WarningDialog.kt6
3 files changed, 35 insertions, 53 deletions
diff --git a/app/src/main/java/foundation/e/advancedprivacy/common/NavToolbarFragment.kt b/app/src/main/java/foundation/e/advancedprivacy/common/NavToolbarFragment.kt
index 1417977..cdb6a4c 100644
--- a/app/src/main/java/foundation/e/advancedprivacy/common/NavToolbarFragment.kt
+++ b/app/src/main/java/foundation/e/advancedprivacy/common/NavToolbarFragment.kt
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2023 MURENA SAS
* Copyright (C) 2021 E FOUNDATION
*
* This program is free software: you can redistribute it and/or modify
@@ -17,17 +18,39 @@
package foundation.e.advancedprivacy.common
+import android.os.Bundle
+import android.view.View
import androidx.annotation.LayoutRes
+import androidx.fragment.app.Fragment
+import androidx.navigation.fragment.findNavController
import com.google.android.material.appbar.MaterialToolbar
+import foundation.e.advancedprivacy.R
-abstract class NavToolbarFragment(@LayoutRes contentLayoutId: Int) : ToolbarFragment(contentLayoutId) {
+abstract class NavToolbarFragment(@LayoutRes contentLayoutId: Int) : Fragment(contentLayoutId) {
- override fun setupToolbar(toolbar: MaterialToolbar) {
- super.setupToolbar(toolbar)
- toolbar.apply {
- setNavigationOnClickListener {
- requireActivity().onBackPressed()
- }
+ /**
+ * @return title to be used in toolbar
+ */
+ open fun getTitle(): CharSequence {
+ return findNavController().currentDestination?.label ?: ""
+ }
+
+ fun setTitle(title: CharSequence?) {
+ getToolbar()?.title = title
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ setupToolbar(view.findViewById(R.id.toolbar))
+ }
+
+ open fun setupToolbar(toolbar: MaterialToolbar) {
+ toolbar.title = getTitle()
+ toolbar.setNavigationOnClickListener {
+ requireActivity().onBackPressed()
}
}
+
+ fun getToolbar(): MaterialToolbar? = view?.findViewById(R.id.toolbar)
}
diff --git a/app/src/main/java/foundation/e/advancedprivacy/common/ToolbarFragment.kt b/app/src/main/java/foundation/e/advancedprivacy/common/ToolbarFragment.kt
deleted file mode 100644
index fb3ea14..0000000
--- a/app/src/main/java/foundation/e/advancedprivacy/common/ToolbarFragment.kt
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2021 E FOUNDATION
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
-
-package foundation.e.advancedprivacy.common
-
-import android.os.Bundle
-import android.view.View
-import androidx.annotation.LayoutRes
-import androidx.fragment.app.Fragment
-import com.google.android.material.appbar.MaterialToolbar
-import foundation.e.advancedprivacy.R
-
-abstract class ToolbarFragment(@LayoutRes contentLayoutId: Int) : Fragment(contentLayoutId) {
-
- /**
- * @return title to be used in toolbar
- */
- abstract fun getTitle(): String
-
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- super.onViewCreated(view, savedInstanceState)
-
- setupToolbar(view.findViewById(R.id.toolbar))
- }
-
- open fun setupToolbar(toolbar: MaterialToolbar) {
- toolbar.title = getTitle()
- }
-
- fun getToolbar(): MaterialToolbar? = view?.findViewById(R.id.toolbar)
-}
diff --git a/app/src/main/java/foundation/e/advancedprivacy/common/WarningDialog.kt b/app/src/main/java/foundation/e/advancedprivacy/common/WarningDialog.kt
index 98deeb1..3f3f66c 100644
--- a/app/src/main/java/foundation/e/advancedprivacy/common/WarningDialog.kt
+++ b/app/src/main/java/foundation/e/advancedprivacy/common/WarningDialog.kt
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2023 MURENA SAS
* Copyright (C) 2022 E FOUNDATION
*
* This program is free software: you can redistribute it and/or modify
@@ -120,7 +121,10 @@ class WarningDialog : Activity() {
if (feature == TRACKERS_CONTROL) {
builder.setNeutralButton(R.string.warningdialog_trackers_secondary_cta) { _, _ ->
- startActivity(MainActivity.createTrackersIntent(this))
+ MainActivity.deepLinkBuilder(this)
+ .setDestination(R.id.trackersFragment)
+ .createPendingIntent().send()
+
finish()
}
}