mikepenz/MaterialDrawer

Not offering options to the user to control data usage

amazuerar opened this issue · 0 comments

About this issue

Dear Developer!

My name is Alejandro Mazuera-Rozo, I am a PhD Student at Universidad de los Andes, and at Università della Svizzera italiana. I am part of a research on the usage of network libraries within Android apps. As result of this we identified some code locations that might have network related problems.

In this case, we address the code locations that are related to a potential issue concerning not offering to the users control over their usage of network resources. If your application performs network operations, you should provide user settings that allow users to control your app’s data habits, such as how often your app syncs data, whether to perform uploads/downloads only when on Wi-Fi, or whether to use data while roaming.

In order to address this issue we recommend:

  1. The declaration of an intent filter for the ACTION_MANAGE_NETWORK_USAGE action to indicate that your application defines an activity that offers options to control data usage. ACTION_MANAGE_NETWORK_USAGE shows settings for managing the network data usage of a specific application.

  2. See: https://developer.android.com/training/basics/network-ops/managing#implement-preference-activity

Potential Code Location not offering options to the user to control data usage

Within the Manifest one can notice the usage of android.permission.INTERNET but no ACTION_MANAGE_NETWORK_USAGE

<uses-permission android:name="android.permission.INTERNET" />

Details

  •  Used library version
  •  Used support library version
  •  Used gradle build tools version
  •  Used tooling / Android Studio version
  •  Other used libraries, potential conflicting libraries

Checklist