diff options
author | Guillaume Jacquart <guillaume.jacquart@hoodbrains.com> | 2023-06-09 06:34:09 +0000 |
---|---|---|
committer | Guillaume Jacquart <guillaume.jacquart@hoodbrains.com> | 2023-06-09 06:34:09 +0000 |
commit | 74b9860784913c097ae59e58b0958da7744ebc2e (patch) | |
tree | 29f4f655f6ac71a0da40bc50d332db3c2c75f634 /app/src/main/java/foundation/e/advancedprivacy/common | |
parent | 045261f84c1ac5ba4c8ed0f3dabd4ea53a1155c9 (diff) | |
download | advanced-privacy-74b9860784913c097ae59e58b0958da7744ebc2e.tar.gz |
1227: use navigation graph component, avoid view (fragments) duplications
Diffstat (limited to 'app/src/main/java/foundation/e/advancedprivacy/common')
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() } } |