From 829308b415d3db4b93866b81b9d5bb95682e1c38 Mon Sep 17 00:00:00 2001 From: A117870935 Date: Thu, 25 May 2023 19:58:54 +0530 Subject: [PATCH] Interface to communicate from settings to privacy feature. --- .../android/ui/PrivacySettingsInterface.kt | 13 ++++++++++++ .../android/ui/activity/SettingsActivity.java | 21 +++++++++++++------ app/src/main/res/values/setup.xml | 3 ++- 3 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 app/src/main/java/com/nmc/android/ui/PrivacySettingsInterface.kt diff --git a/app/src/main/java/com/nmc/android/ui/PrivacySettingsInterface.kt b/app/src/main/java/com/nmc/android/ui/PrivacySettingsInterface.kt new file mode 100644 index 000000000000..860ffada08ab --- /dev/null +++ b/app/src/main/java/com/nmc/android/ui/PrivacySettingsInterface.kt @@ -0,0 +1,13 @@ +package com.nmc.android.ui + +import android.content.Context + +/** + * interface to open privacy settings activity from nmc/1921-settings branch + * for implementation look nmc/1878-privacy branch + * this class will have the declaration for it since it has the PrivacySettingsActivity.java in place + * since we don't have privacy settings functionality in this branch so to handle the redirection we have used interface + */ +interface PrivacySettingsInterface { + fun openPrivacySettingsActivity(context: Context) +} \ No newline at end of file diff --git a/app/src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java index a61e542e1bca..6d6114150490 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java +++ b/app/src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java @@ -55,12 +55,12 @@ import com.nextcloud.client.etm.EtmActivity; import com.nextcloud.client.logger.ui.LogsActivity; import com.nextcloud.client.network.ClientFactory; +import com.nmc.android.ui.PrivacySettingsInterface; import com.nextcloud.client.preferences.AppPreferences; import com.nextcloud.client.preferences.AppPreferencesImpl; import com.owncloud.android.BuildConfig; import com.owncloud.android.MainApp; import com.owncloud.android.R; -import com.nmc.android.ui.PrivacySettingsActivity; import com.owncloud.android.authentication.AuthenticatorActivity; import com.owncloud.android.datamodel.ArbitraryDataProvider; import com.owncloud.android.datamodel.ArbitraryDataProviderImpl; @@ -149,6 +149,16 @@ public class SettingsActivity extends PreferenceActivity @Inject ClientFactory clientFactory; @Inject ViewThemeUtils viewThemeUtils; + /** + * Things to note about both the branches. + * 1. nmc/1921-settings branch: + * --> interface won't be initialised + * --> calling of interface method will be done here + * 2. nmc/1878-privacy + * --> interface will be initialised + * --> calling of interface method won't be done here + */ + private PrivacySettingsInterface privacySettingsInterface; @SuppressWarnings("deprecation") @Override @@ -352,11 +362,10 @@ private void setupDataPrivacyCategory(int titleColor) { privacySettingPreference.setTitle(StringUtils.getColorSpan(getString(R.string.privacy_settings), titleColor)); privacySettingPreference.setOnPreferenceClickListener(preference -> { - //Compile time error will be shown here while running build from here - //look for nmc/1878-privacy for the PrivacySettingsActivity. - //this is workaround to avoid code conflict of settings and privacy - // TODO: 05/17/23 find a way to have the redirection in privacy branch. - PrivacySettingsActivity.openPrivacySettingsActivity(this, false); + //implementation and logic will be available in nmc/1878-privacy + if (privacySettingsInterface != null) { + privacySettingsInterface.openPrivacySettingsActivity(SettingsActivity.this); + } return true; }); } diff --git a/app/src/main/res/values/setup.xml b/app/src/main/res/values/setup.xml index ef8460abecb5..1071e74eb68e 100644 --- a/app/src/main/res/values/setup.xml +++ b/app/src/main/res/values/setup.xml @@ -75,7 +75,8 @@ https://github.com/nextcloud/android true https://www.gnu.org/licenses/gpl-2.0.html - https://www.telekom.de/impressum + + "https://play.google.com/store/apps/details?id=com.nextcloud.client" https://nextcloud.com/install