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 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:" + - "

" + - " 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