From 555cdf56eb03454727990eef708f4167e0935b1e Mon Sep 17 00:00:00 2001
From: zafodB
Date: Fri, 27 Aug 2021 10:54:14 +0200
Subject: [PATCH] Remove PrivacyFragment.java and references to it
---
.../hostage/ui/activity/MainActivity.java | 5 +-
.../hostage/ui/fragment/PrivacyFragment.java | 208 ------------------
.../res/drawable-hdpi/ic_menu_privacy.png | Bin 15909 -> 0 bytes
.../res/drawable-hdpi/ic_menu_privacy_old.png | Bin 537 -> 0 bytes
4 files changed, 1 insertion(+), 212 deletions(-)
delete mode 100644 src/main/java/dk/aau/netsec/hostage/ui/fragment/PrivacyFragment.java
delete mode 100644 src/main/res/drawable-hdpi/ic_menu_privacy.png
delete mode 100644 src/main/res/drawable-hdpi/ic_menu_privacy_old.png
diff --git a/src/main/java/dk/aau/netsec/hostage/ui/activity/MainActivity.java b/src/main/java/dk/aau/netsec/hostage/ui/activity/MainActivity.java
index 60ab73be..b8bf85d5 100644
--- a/src/main/java/dk/aau/netsec/hostage/ui/activity/MainActivity.java
+++ b/src/main/java/dk/aau/netsec/hostage/ui/activity/MainActivity.java
@@ -52,7 +52,6 @@
import dk.aau.netsec.hostage.ui.adapter.DrawerListAdapter;
import dk.aau.netsec.hostage.ui.fragment.AboutFragment;
import dk.aau.netsec.hostage.ui.fragment.HomeFragment;
-import dk.aau.netsec.hostage.ui.fragment.PrivacyFragment;
import dk.aau.netsec.hostage.ui.fragment.ProfileManagerFragment;
import dk.aau.netsec.hostage.ui.fragment.RecordOverviewFragment;
import dk.aau.netsec.hostage.ui.fragment.ServicesFragment;
@@ -419,7 +418,6 @@ private void loadDrawer() {
mDrawerItems.add(new DrawerListItem(R.string.drawer_profile_manager, R.drawable.ic_menu_allfriends));
mDrawerItems.add(new DrawerListItem(R.string.drawer_settings, R.drawable.ic_menu_preferences));
mDrawerItems.add(new DrawerListItem(R.string.drawer_app_info, R.drawable.ic_menu_info_details));
- mDrawerItems.add(new DrawerListItem(R.string.privacy_policy, R.drawable.ic_menu_privacy));
DrawerListAdapter listAdapter = new DrawerListAdapter(this, mDrawerItems);
@@ -817,8 +815,7 @@ public enum MainMenuItem {
SERVICES(4, ServicesFragment.class),
PROFILE_MANAGER(5, ProfileManagerFragment.class),
SETTINGS(6, SettingsFragment.class),
- APPLICATION_INFO(7, AboutFragment.class),
- PRIVACY(8, PrivacyFragment.class);
+ APPLICATION_INFO(7, AboutFragment.class);
private int value;
diff --git a/src/main/java/dk/aau/netsec/hostage/ui/fragment/PrivacyFragment.java b/src/main/java/dk/aau/netsec/hostage/ui/fragment/PrivacyFragment.java
deleted file mode 100644
index 45647079..00000000
--- a/src/main/java/dk/aau/netsec/hostage/ui/fragment/PrivacyFragment.java
+++ /dev/null
@@ -1,208 +0,0 @@
-package dk.aau.netsec.hostage.ui.fragment;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.text.method.LinkMovementMethod;
-import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.core.text.HtmlCompat;
-import androidx.fragment.app.Fragment;
-
-import dk.aau.netsec.hostage.R;
-
-/**
- * Shows Privacy information
- * Added as a part for fix in Android 11
- *
- * @author Shreyas Srinivasa
- * Created on 01-03-2021
- */
-public class PrivacyFragment extends Fragment {
-
- private static final String PRIVACY_POLICY_URL = "https://aau-network-security.github.io/HosTaGe/Privacy_policy.html";
-
- @Override
- public void onCreate(@Nullable Bundle savedInstanceState) {
- setHasOptionsMenu(true);
- super.onCreate(savedInstanceState);
- }
-
- public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- super.onCreateView(inflater, container, savedInstanceState);
-
- final Activity activity = getActivity();
- if (activity != null) {
- activity.setTitle(getResources().getString(R.string.privacy_policy));
- }
-
- View rootView = inflater.inflate(R.layout.fragment_privacy, container, false);
-
- String policyText =
- "\n" +
- " \n" +
- " \n" +
- " \n" +
- " \n" +
- " \n" +
- " \n" +
- " Last updated: July 20, 2021
\n" +
- " Privacy Policy \n" +
- " Aalborg University, Denmark built the HosTaGe app as" +
- " an Open Source app. This SERVICE is provided by" +
- " Aalborg University, Denmark at no cost and is intended for use as" +
- " is." +
- "
" +
- " This page is used to inform visitors regarding our" +
- " policies with the collection, use, and disclosure of Personal" +
- " Information if anyone decided to use our Service." +
- "
" +
- " If you choose to use our Service, then you agree to" +
- " the collection and use of information in relation to this" +
- " policy. The Personal Information that we collect is" +
- " used for providing and improving the Service. We will not use or share your information with" +
- " anyone except as described in this Privacy Policy." +
- "
" +
- " The users can consent for the following:" +
- "
" +
- " - The right to be forgotten – to get your data deleted. The right to have incorrect data corrected.
" +
- " - The right to know what data a controller have on you.
" +
- " - The right to have your data shared with another organization, if requested be the subject.
" +
- " - The right to not be profiled, the right to object.
" +
- "
" +
- "
" +
- " The terms used in this Privacy Policy have the same meanings" +
- " as in our Terms and Conditions, which is accessible at" +
- " HosTaGe unless otherwise defined in this Privacy Policy." +
- " The Privacy Policy of Aalborg University can be accessed at https://www.en.aau.dk/privacy-policy-cookies#370625 " +
- "
Information Collection and Use
" +
- " For a better experience, while using our Service, we" +
- " may require you to provide us with certain personally" +
- " identifiable information. The information that" +
- " we request will be retained by us and used as described in this privacy policy." +
- "
" +
- " On app startup, we ask for user consent for accessing the location permission. " +
- " This information is required to access the network related information, necessary for the app main functionality." +
- "
" +
- "
" +
- " The app does use third party services that may collect" +
- " information used to identify you." +
- "
" +
- " Link to privacy policy of third party service providers used" +
- " by the app" +
- "
" +
- "
Log Data
" +
- " We want to inform you that whenever you" +
- " use our Service, in a case of an error in the app" +
- " we collect data and information (through third party" +
- " products) on your phone called Log Data. This Log Data may" +
- " include information such as your device Internet Protocol" +
- " (“IP”) address, device name, operating system version, the" +
- " configuration of the app when utilizing our Service," +
- " the time and date of your use of the Service, and other" +
- " statistics. The logs will be purged periodically every 3 months." +
- "
Cookies
" +
- " Cookies are files with a small amount of data that are" +
- " commonly used as anonymous unique identifiers. These are sent" +
- " to your browser from the websites that you visit and are" +
- " stored on your device's internal memory." +
- "
" +
- " This Service does not use these “cookies” explicitly. However," +
- " the app may use third party code and libraries that use" +
- " “cookies” to collect information and improve their services." +
- " You have the option to either accept or refuse these cookies" +
- " and know when a cookie is being sent to your device. If you" +
- " choose to refuse our cookies, you may not be able to use some" +
- " portions of this Service." +
- "
Service Providers
" +
- " We may employ third-party companies and" +
- " individuals due to the following reasons:" +
- "
- To facilitate our Service;(Google Services for hosting the app information)
- To provide the Service on our behalf;
- To perform Service-related services; or
- To assist us in analyzing how our Service is used.
" +
- " We want to inform users of this Service" +
- " that these third parties have access to your Personal" +
- " Information. The reason is to perform the tasks assigned to" +
- " them on our behalf. However, they are obligated not to" +
- " disclose or use the information for any other purpose." +
- "
Security
" +
- " We value your trust in providing us your" +
- " Personal Information, thus we are striving to use commercially" +
- " acceptable means of protecting it. But remember that no method" +
- " of transmission over the internet, or method of electronic" +
- " storage is 100% secure and reliable, and we cannot" +
- " guarantee its absolute security." +
- "
Links to Other Sites
" +
- " This Service may contain links to other sites. If you click on" +
- " a third-party link, you will be directed to that site. Note" +
- " that these external sites are not operated by us." +
- " Therefore, we strongly advise you to review the" +
- " Privacy Policy of these websites. We have" +
- " no control over and assume no responsibility for the content," +
- " privacy policies, or practices of any third-party sites or" +
- " services." +
- "
Children’s Privacy
" +
- " These Services do not address anyone under the age of 13." +
- " We do not knowingly collect personally" +
- " identifiable information from children under 13 years of age. In the case" +
- " we discover that a child under 13 has provided" +
- " us with personal information, we immediately" +
- " delete this from our servers. If you are a parent or guardian" +
- " and you are aware that your child has provided us with" +
- " personal information, please contact us so that" +
- " we will be able to do necessary actions." +
- "
Changes to This Privacy Policy
" +
- " We may update our Privacy Policy from" +
- " time to time. Thus, you are advised to review this page" +
- " periodically for any changes. We will" +
- " notify you of any changes by posting the new Privacy Policy on" +
- " this page." +
- "
" +
- " This Privacy Policy is also available at "
- + PRIVACY_POLICY_URL + ""+
- "
This policy is effective as of 2021-03-08
Contact Us
" +
- " If you have any questions or suggestions about our" +
- " Privacy Policy, do not hesitate to contact us at hostage@es.aau.dk." +
- "Data subjects have the right to submit a complaint about how their personal data is processed" +
- "to the Danish Data Protection Agency at dt@datatilsynet.dk or by post to Datatilsynet/the " +
- "Danish Data Protection Agency, Borgergade 28, 5., 1300 Copenhagen K." +
- "Please contact our Data Protection Officer if you have any question about the processing of " +
- "your personal data at dpo@aau.dk" +
- "However, before contacting the Danish Data Protection Agency, we recommend that you " +
- "contact Aalborg University’s data protection officer who may be able to solve the matter." +
- "\n" +
- " \n" +
- " \n";
-
- TextView policy = rootView.findViewById(R.id.policyText);
- policy.setText(HtmlCompat.fromHtml(policyText, 0));
- policy.setMovementMethod(LinkMovementMethod.getInstance());
-
- return rootView;
- }
-
- @Override
- public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
- inflater.inflate(R.menu.privacy_policy_menu, menu);
- }
-
- @Override
- public boolean onOptionsItemSelected(@NonNull MenuItem item) {
- if (item.getItemId() == R.id.privacy_link_open){
-
- Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(PRIVACY_POLICY_URL));
- startActivity(browserIntent);
-
- return true;
- }
-
- return false;
- }
-}
diff --git a/src/main/res/drawable-hdpi/ic_menu_privacy.png b/src/main/res/drawable-hdpi/ic_menu_privacy.png
deleted file mode 100644
index 7eae80c1bb8cfbabaa042abba4baec6a87da3de7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 15909
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
biw}PQ^f}=2{KYBf00000NkvXXu0mjf_tfiy