Adding Wifi setting to special_access settings

In the settings app, allow users to override app permission for
CHANGE_WIFI_STATE for every application that declared that permission.

Bug: 70562620
Test: compile, robotests

Manual test:
Flash build to device (walleye)
Download iPass from playstore
Open iPass and try connect to a wifi network; verify success
Open settings -> Apps & notifications -> Advanced -> Special app access
-> Wifi access
Select iPass from the list
Toggle the switch to off
Open iPass and try connect to a wifi network; verify failure

Change-Id: Ib2be4c83988a81ba7831d096c9b1980462e66903
This commit is contained in:
xshu
2018-01-31 17:40:37 -08:00
parent 87e71c96ea
commit 3f04897a19
11 changed files with 492 additions and 3 deletions

View File

@@ -9359,4 +9359,18 @@
<!-- Title for item to go to old battery settings page when clicking [CHAR LIMIT=100] -->
<string name="dev_android_o_battery_settings_title">See Android 8.0 battery settings</string>
<!-- Title for Wifi Access settings [CHAR LIMIT=35] -->
<string name="change_wifi_state_title">Toggle wifi on and off</string>
<!-- Keywords for Wifi Access settings [CHAR LIMIT=35] -->
<string name="keywords_change_wifi_state">toggle wifi on and off</string>
<!-- Apps > App Details > Advanced section string title. [CHAR LIMIT=35] -->
<string name="change_wifi_state_app_detail_title">Toggle wifi on and off</string>
<!-- Apps > App Details > Wifi access > Switch title. [CHAR LIMIT=NONE] -->
<string name="change_wifi_state_app_detail_switch">Allow toggle wifi</string>
<!-- Apps > App Details > Wifi access > Description. [CHAR LIMIT=NONE] -->
<string name="change_wifi_state_app_detail_summary">Allow this app to change wifi state including connecting to wifi and turing wifi on and off.</string>
</resources>

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2018 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:key="change_wifi_state"
android:title="@string/change_wifi_state_app_detail_title">
<SwitchPreference
android:key="app_ops_settings_switch"
android:title="@string/change_wifi_state_app_detail_switch"/>
<Preference
android:key="app_ops_settings_preference"
android:summary="@string/change_wifi_state_app_detail_summary"
android:selectable="false"/>
</PreferenceScreen>

View File

@@ -121,4 +121,14 @@
android:value="com.android.settings.Settings$DirectoryAccessSettingsActivity" />
</Preference>
<Preference
android:key="change_wifi_state"
android:title="@string/change_wifi_state_title"
android:fragment="com.android.settings.applications.manageapplications.ManageApplications"
settings:keywords="@string/keywords_change_wifi_state">
<extra
android:name="classname"
android:value="com.android.settings.Settings$ChangeWifiStateActivity" />
</Preference>
</PreferenceScreen>