Commit Graph

710 Commits

Author SHA1 Message Date
Tsung-Mao Fang
07dd833a6a FRP bypass defense in the settings app
Over the last few years, there have been a number of
Factory Reset Protection bypass bugs in the SUW flow.
It's unlikely to defense all points from individual apps.

Therefore, we decide to block some critical pages when
user doesn't complete the SUW flow.

Test: Can't open the certain pages in the suw flow.
Fix: 200746457
Bug: 202975040
Fix: 213091525
Fix: 213090835
Fix: 201561699
Fix: 213090827
Fix: 213090875
Change-Id: Ia18f367109df5af7da0a5acad7702898a459d32e
2022-01-05 12:10:00 +08:00
Julia Reynolds
b106377155 Add ability to force rebuild list
So that you can change between filters that
have the same sort order.

Test: robotests, manually switch between notifications (off) to
notifications (all)
Fixes: 169943424

Change-Id: I62bbe90f30abada2ec342487a1fa420e451b3caf
2021-11-08 15:47:51 -05:00
Adam Bookatz
97302f6f77 Merge "UM.getUserHandle -> UM.getProcessUserId" 2021-10-08 02:22:28 +00:00
Adam Bookatz
30dafd4140 UM.getUserHandle -> UM.getProcessUserId
UM is being made @UserHandleAware, so using an explicit method avoids ambiguity.

Bug: 201679968

Test: (No-op) compiles and treehugger
Change-Id: If067af7ced5017a9689cafbf99ceec1d26c06b3b
2021-10-05 12:55:22 -07:00
TreeHugger Robot
dcd1683d1d Merge "Fix the summary format problem of the installed apps" into sc-v2-dev am: e65b3dae22 am: 9d3e4aba06
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15939313

Change-Id: I400f5f0bce4d533b60568c299776b714181c2a4a
2021-09-29 13:27:43 +00:00
Sunny Shao
256a65c467 Fix the summary format problem of the installed apps
- The summary of each installed apps in Opening links page is differnt
  with the summary of the Open by default in App info page.
- Let the format of the installed apps' summary is same as the Open
  by default.

Fixes: 193455965
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.applications.managedomainurls
Change-Id: Ifef4b27795300dc81c83ac1cc5063e8e22f54497
2021-09-29 19:21:17 +08:00
Yuri Lin
e9f13fbd5e Rename RadioButtonPreference -> SelectorWithWidgetPreference.
This change is to reduce ambiguity as we're adding the option to style the preference like a checkbox as well.

Bug: 190180868
Test: SelectorWithWidgetPreferenceTest, RunSettingsLibRoboTests
Change-Id: Ie414347bf67ed394ef495604890c5851fc42dbc7
2021-07-20 17:01:21 -04:00
Julia Reynolds
e41c89da2a Fix switch listener on app notif page
Test: RoboTests, manually change setting
Fixes: 193442605
Change-Id: Ie93469479e252811921a6451853b073dadb0d0a1
2021-07-14 10:31:30 -04:00
Ahaan Ugale
239b58e60a Autofill settings: Fix search
Ia012232ba2856e0757289982bc3045d948ff4aa8 replace the "Autofill service"
preference title with the earlier summary string. The change in title
causes search to not find the preference anymore. This change adds back
the title in xml, which makes search find it again. The Controller code
still overwrites the title with the application name.

Also fixes DefaultAutofillPreferenceControllerTest.

Bug: 192403526
Test: manual - clear Settings Services storage -> search "fill" -> click
 link
Test: make -j64 RunSettingsRoboTests \
 ROBOTEST_FILTER="com.android.settings.applications.defaultapps.DefaultAutofillPreferenceControllerTest"
Change-Id: I9714b3efd2a5a7d9ee7eef345415fa020ef0dc61
2021-07-01 01:58:29 -07:00
Arc Wang
e8de94a21d Fix 'No Apps' UI issues of ManageApplications
Fixes below UI issues

- "No Apps" may not show in fragments of profile tab.

  Fix it by using ConstraintLayout to specify alignments
  of each view and removing extra padding.

-- "No Apps" may flicker by moving position.

  The flicker is from unnecessary visibility changes.
  This change integrates empty view visibility
  control in LoadingViewController to simplify code
  and avoid unnecessary visibility changes.

Bug: 189390795
Bug: 183398721
Test: atest com.android.settings.deviceinfo
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
      Manual visual, observe UI
        Settings -> Storage -> Games
        Settings -> Notifications -> App Settings
	Settings > Apps > Special app access > Media management apps
Change-Id: I634209c6f8466e2adae703226902190bbdf470b9
2021-06-28 11:33:10 +08:00
Arc Wang
0358562a9b Revert "Fix 'No Apps' UI issues of ManageApplications"
This reverts commit 4a97095e36.

Reason for revert: <It has abnormal scroll behavior when there is no profile tab>

Bug: 191945032
Bug: 191944934
Change-Id: Id6c71fbec4f490034bc07f6d8c9efabcb877d110
2021-06-24 08:25:44 +00:00
Arc Wang
4a97095e36 Fix 'No Apps' UI issues of ManageApplications
Fixes below UI issues

- "No Apps" may not show in fragments of profile tab.

  Fix it by using ConstraintLayout to specify alignments
  of each view and removing extra padding.

-- "No Apps" may flicker by moving position.

  The flicker is from unnecessary visibility changes.
  This change integrates empty view visibility
  control in LoadingViewController to simplify code
  and avoid unnecessary visibility changes.

Bug: 189390795
Bug: 183398721
Test: atest com.android.settings.deviceinfo
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
      Manual visual, observe UI
        Settings -> Storage -> Games
        Settings -> Notifications -> App Settings
	Settings > Apps > Special app access > Media management apps
Change-Id: I9a2500f2fd1dd073ab88f26187541964719523d0
2021-06-22 11:04:24 +08:00
Wesley Wang
f2a884b8be Merge "Make App info page support new battery entry" into sc-dev 2021-06-15 04:41:16 +00:00
Suprabh Shukla
3f5bd0931e Changes to 'Alarms & reminders' permission setting
Not showing apps that are targeting SDK < 31, because the change is not
enabled for them.

Now alarm manager service manages killing the process whenever the
permission gets revoked, so we don't need to do it here.
This also lets us kill the app on "Reset app preferences" if needed.

Adding the preference under "Advanced" in the app info page so it
appears for apps that have requested this permission.

Test: atest SettingsUnitTests:AppStateAlarmsAndRemindersBridgeTest
make -j64 RunSettingsRoboTests \
ROBOTEST_FILTER="AlarmsAndRemindersDetailsTest|
AlarmsAndRemindersDetailPreferenceControllerTest"

Manually:
- There should be no observable difference in behavior when
toggling the setting. ActivityManager logs should still indicate that
the app is killed when the permission is revoked.
- "Alarms & Reminders" should appear under "Advanced" when looking at
the app info detail of an app that appears under "Alarms & reminders"
special app access page.

Bug: 179541791
Bug: 190070171
Change-Id: I2d437cec10ee10e4326fb25b2820de9ef9c31c67
2021-06-10 22:53:05 -07:00
Wesley.CW Wang
e1b1f67681 Make App info page support new battery entry
- Add new battery entry to app info battery preference, support both
 legacy and new args, controlled by P/H
 - Add a method to check is work profile app or not, use owner context to
 query correct context for feature provider
 - Add string for new args

Bug: 178197718
Test: make RunSettingsRoboTests
Change-Id: Ic93142a0c5e2851917cb3e224340a6e3e81fd801
2021-06-11 04:41:12 +08:00
kholoud mohamed
be0a96bd23 Fix failing tests
Fixed failing tests in InteractAcrossProfilesDetailsTest and removed
unused code in InteractAcrossProfilesSettingsTest.

Test: atest com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesDetailsTest
Test: atest com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesSettingsTest
Fixes: 190186823
Change-Id: I52c498b9eb9c09401548e557770cd6434de49a2c
2021-06-09 14:11:56 +00:00
Wesley.CW Wang
cb40bd2947 Fix AppBatteryPreferenceControllerTest test fail
Bug: 190187197
Bug: 190239610
Test: make RunSettingsRoboTests
Change-Id: I113eb738003531c67acd72aa8f597e9c34ca2cc9
2021-06-07 14:59:13 +08:00
TreeHugger Robot
f8641a4d86 Merge "Fix broken test" into sc-dev 2021-06-03 09:55:08 +00:00
Tsung-Mao Fang
0b9ce16c13 Fix broken test
Fix: 190017630
Test: robo test
Change-Id: I46978a3f3d3d564cd9fcabad47edf6907d4e4966
2021-06-03 16:10:36 +08:00
TreeHugger Robot
7e0fb6878d Merge "Fix failing test in InteractAcrossProfilesSettingsTest" into sc-dev 2021-06-03 03:28:42 +00:00
kholoud mohamed
c9eeabb378 Fix failing test in InteractAcrossProfilesSettingsTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=InteractAcrossProfilesSettingsTest
Fixes: 188947450
Change-Id: Ie69332abd9d5072ba7be9067c0d4aef9b5f03503
2021-06-02 16:03:09 +01:00
Trevor David Black
c3fc64cbb0 Remove extra app info setting under specific condition
Bug: b/189585202
Test: Settings -> Apps -> App -> ExtraAppInfo
Change-Id: Ibdd86607bfdf2879ad3461b35c72964671827854
2021-06-02 08:34:36 +00:00
Wesley Wang
a967b88ee4 Merge "Add new battery entry into AppInfo page launch variable" into sc-dev 2021-05-26 06:59:13 +00:00
Wesley.CW Wang
92feb9e8fc Add new battery entry into AppInfo page launch variable
- Insert uid as launch variable
 - Add new launch type into AppInfo page

Bug: 178197718
Test: make RunSettingsRoboTests
Change-Id: I8c68bebd02491dbbc1516bbebc14254ed06940f6
2021-05-25 23:13:03 +08:00
Yanting Yang
ba8e5802d4 Remove silky flag from Apps for official release
Remove the silky condition and clean up redundant files.

Bug: 183670633
Test: robotests & visual with turning on/off silky home
Change-Id: If6df8a4191d5750edca22dd94b99c43ccebf2e04
2021-05-25 02:35:58 +08:00
TreeHugger Robot
10e732bd59 Merge "Fix talkback doesn't speak subtext info" into sc-dev 2021-05-21 08:08:44 +00:00
Tsung-Mao Fang
a51c9988c5 Fix talkback doesn't speak subtext info
In the original design, we only set title description for
view holder, this is wrong. It causes talkback can't
speak subtext info.

Currently, we set the title content description in the title
view directly, so talkback can say the title and subtext now
when talkback focus on an app view.

Test: Talkback speaks full information for an app entry
Fix: 177873163
Change-Id: I94996d596a85cc2813ed1b10cdd4ed2bee62f4a9
2021-05-20 13:45:38 +00:00
Peiyong Lin
83a71ca8fd Add Game settings support.
Add Game settings page under Apps so that users can access game related
features and toggle settings.

Bug: b/185822999
Test: make ROBOTEST_FILTER=GameSettingsPreferenceControllerTest RunSettingsRoboTests
Change-Id: I923ba70536b7f68b5330a508b8dabf27e33f4c55
2021-05-18 17:24:51 +00:00
TreeHugger Robot
bbb6562684 Merge "Fix inconsist color filling on collapsing toolbar" into sc-dev 2021-05-06 11:04:31 +00:00
Mill Chen
efbcc69cc4 Fix inconsist color filling on collapsing toolbar
Some pages are updating the background color for action bar after action
bar is created, which will break the animation of collapsing toolbar. It
also causes the different color filled in the status bar and collapsing
toolbar area separately. Removing the styleActionbar method from
EntityHeaderController can fix this issue.

Fix: 187019164
Test: robotests && visual verified
1) Settings -> Apps -> See all apps -> pick up either app -> Mobile data
& Wi-Fi
2) Scrolling the content and see if the toolbar has the different color
between status bar and toolbar

Change-Id: Ic0842b9e6c48662872694534a3696c4b8900481f
2021-05-06 14:46:30 +08:00
Arc Wang
e64f01ccfc Cleanup Storage Settings
There is AOSP built in file browser for image/video/audio
file category, this change cleanup APP based category
for image/video/audio.

Bug: 183078080
Test: atest com.android.settings.deviceinfo
      atest com.android.settings.deviceinfo.storage
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo.storage
Change-Id: I925fc9296b8c2df5bd793668f66a12beb7744469
2021-05-04 22:21:53 +08:00
Kholoud Mohamed
5fb1b61253 Merge "Enable ignored test" into sc-dev 2021-04-19 08:34:47 +00:00
kholoud mohamed
551f8b20e1 Enable ignored test
Test started failing after a change in PermissionChecker
that started using an unshadowed API in AppopsManager.
Reenabling the test after fixign that.

Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesDetailsTest
Fixes: 184238335
Change-Id: I3dc97366671cb1ff8b6a3482b02f6e2148bdda40
2021-04-15 15:51:53 +01:00
lucaslin
09bbb51d29 Replace the hidden API to public API or other alternatives
Some of connectivity related files are going to be a part of
mainline module, so the external callers cannot call its hidden
API.
Replace the hidden API to public API or other alternatives from
the callers side.

Bug: 182859030
Test: 1. Remove "framework-connectivity.impl"
      2. atest SettingsUnitTests:InternetUpdaterTest
      3. atest SettingsUnitTests:ProviderModelSliceHelperTest
      4. atest SettingsUnitTests:MobileNetworkUtilsTest
      5. make RunSettingsRoboTests \
         ROBOTEST_FILTER=AppDataUsagePreferenceControllerTest
      6. make RunSettingsRoboTests \
         ROBOTEST_FILTER=TetherPreferenceControllerTest
      7. make RunSettingsRoboTests \
         ROBOTEST_FILTER=WifiDetailPreferenceController2Test
      8. make RunSettingsRoboTests \
         ROBOTEST_FILTER=ContextualWifiSliceTest
Change-Id: Idd1ca57d8f2790070e9c401936c5af2a05bcfe9d
2021-04-14 11:36:54 +00:00
Suprabh Shukla
39086c24fd Merge "Changes to "Alarms and Reminders" permission" into sc-dev 2021-04-09 22:27:50 +00:00
Suprabh Shukla
202bd8581a Changes to "Alarms and Reminders" permission
Calling AlarmManager to know the state of the permission, which is now
the source of truth, as the logic deciding the state of the permission
may change.
Also killing the app when the permission changes to denied, this avoids
the app maintaining stale state about this permission.

Test: make -j RunSettingsRoboTests
atest SettingsUnitTests:AppStateAlarmsAndRemindersBridgeTest

Manually: Toggle the state of an app to "Not allowed" and check the logs
for activity manager kill messages.

Bug: 181152252
Bug: 183136253
Change-Id: I438782eaef4caae50fd76685c675a3e45ee28d9f
2021-04-07 16:06:09 -07:00
TreeHugger Robot
acacad4cdf Merge "Refine the summary of "Open by default" in "App info" page" into sc-dev 2021-04-07 09:26:24 +00:00
Kholoud Mohamed
0a848989f2 Merge "Ignore failing test" into sc-dev 2021-04-06 13:37:12 +00:00
kholoud mohamed
f89306dace Ignore failing test
Temporarily ignore the following failing presubmit test until the culprit
change is found
InteractAcrossProfilesDetailsTest#getPreferenceSummary_appOpNotAllowed_returnsNotAllowed

Test: atest InteractAcrossProfilesDetailsTest
Bug: 184238335
Change-Id: Ia6aa957bc0928e3a82465f35eda99938d34f19c4
2021-04-06 14:36:05 +01:00
Sunny Shao
41db38c0af Refine the summary of "Open by default" in "App info" page
Fixes: 184597364
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.applications.appinfo
Change-Id: I9e453c719e5d06570ab1093ffe5510c3e9c7567b
2021-04-06 17:35:57 +08:00
Edward Cunningham
aacf7bd6f0 Merge "Improve installer attribution in App Info." into sc-dev 2021-04-02 16:44:03 +00:00
Edward Cunningham
faf44124ba Improve installer attribution in App Info.
When an app is installed by the Package Installer app on behalf of
another app (eg. a browser, file manager or app store that opens an APK
via an activity start), it is preferable to attribute the install to the
originating app rather than the 'Package Installer' itself.

Since Android R, package manager keeps track of the necessary install
source information which enables this more precise attribution. If an
originating package is recorded and was set by a system app, we use this
as the user-visible 'installer'.

Bug: 182365285
Test: make RunSettingsRoboTests
Change-Id: Ibb329d6fe8f0fa2ad51d3530a219b2d8b8d6c17b
2021-04-02 12:45:43 +01:00
Sunny Shao
81fa20a4f1 Implement new "Open by default" page
- Use the new MainSwitch and TopIntro widgets.
- Create VerifiedLinksPreference and LeftSideCheckBoxPreference.
- Create ProgressDialogFragment and SupportedLinksDialogFragment.
- Retrieve the links info from DomainVerificationManager.
- Allow user to change the supported links into selected links.
- Refactor the ClearDefaultsPreference.
- Move AppLaunchSettings into intentpicker directory.

Bug: 177923646
Bug: 182530528
Test: manual test
Change-Id: I935a2fdd0f62cdb8b8d3210fb2f800f682249cb7
2021-03-25 16:01:28 +08:00
TreeHugger Robot
2d932aa5fb Merge "Add Media Management Apps activity in Special App Access" into sc-dev 2021-03-19 01:00:40 +00:00
Yanting Yang
8f414f2e0f Merge "Fix NPE of AppVersionPreferenceController" into sc-dev 2021-03-18 04:48:54 +00:00
Dmitri Plotnikov
296dce404e Remove references to BatteryStatsHelper from AppBatteryPreferenceController
Bug: 173745486
Bug: 180630447
Test: make RunSettingsRoboTests
Test: male RunSettingsGoogleRoboTests
Change-Id: Ic836d9f5e791d1e3ddc2237ff108190e53dcac19
2021-03-17 23:40:45 +00:00
Dmitri Plotnikov
f941a684e1 Remove smearing of hidden BatterySipper power
Bug: 182598424
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.applications.appinfo.AppBatteryPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.BatteryUtilsTest

Change-Id: I78b8d7c4faafa83de198005617e99a7f54bcd174
2021-03-17 17:01:39 +00:00
Yanting Yang
e4b3b969db Fix NPE of AppVersionPreferenceController
Add null check for the package info before getting the version name.

Fixes: 168333280
Test: robotests & manual
Change-Id: If2e3d220c520d30e932478836ee2ea89f936d55c
2021-03-17 20:34:14 +08:00
Ivan Chiang
d01c81e483 Add Media Management Apps activity in Special App Access
Add a settings page to control the permission MANAGE_MEDIA in Special
App Access. Apps can launch it by ACTION_REQUEST_MANAGE_MEDIA.

Test: m -j RunSettingsRoboTests ROBOTEST_FILTER=MediaManagementAppsDetailsTest
Test: m -j RunSettingsRoboTests
Test: manual
Bug: 181112025
Change-Id: Id7587cf179b8c5adbfd6477ca9c2d4a20a9852bb
2021-03-17 14:36:20 +08:00
Edgar Wang
0c914077aa Merge "Change packagename of TwoTargetPreference" into sc-dev 2021-03-17 05:08:21 +00:00