Commit Graph

69 Commits

Author SHA1 Message Date
Tsung-Mao Fang
05de9819e9 Disable setting items in App details page
Prior to this cl, we allow user to tap on those
setting items which belong to another user profile app.
However, we already observed some functional broken cases now.
Such as, device can't get the storage data/screen time/mobile data
battery, notification for those apps from another user profile.
Therefore, we decide to grey out those setting items,
and we don't allow user to tap on unsupported setting items.

Test: Download apk in different user profile, and see setting items
is disabled/enabled correctly. and run robo test.
Fix: 230303570

Change-Id: I1bb6b1d8b52f6a00088b2f0e4279b896d568f8a6
2022-05-09 22:04:45 +08:00
Peiyong Lin
e14c23fcf9 Remove GameSettings and ExtraAppInfo.
Bug: b/224595815
Test: manual
Change-Id: Ifc9a9e8c0b4b2170144639abb2f81f8916d5f164
2022-04-05 21:45:05 +00:00
Ricky Wai
1aa790501f Update restricted setting dialog, unlock toast, and menu strings
Bug: 224970895
Bug: 224992636
Bug: 224970884
Bug: 224988456

Test: Can see updated strings and toast in UI
Change-Id: I29e257fcc15310558ae8e56cbc51de3c874471ed
2022-03-23 14:39:17 +00:00
Jonathan Scott
269f97d960 Allow overriding of strings referenced in XML files.
Test: manual
Bug: 188414370
Change-Id: Ice45b1808530c14c4efff16795cac7b2cb81516e
2022-02-07 21:00:05 +00:00
Ricky Wai
d3fe360d26 Merge "Add restricted settings UI in Settings accessibility screeen" 2022-01-28 11:23:17 +00:00
Ricky Wai
c76a11f0c1 Add restricted settings UI in Settings accessibility screeen
If OP_ACCESS_RESTRICTED_SETTINGS is rejected, it means accessibility page
for that app is gray out and app info won't show "unlock restricted settings menu"

If OP_ACCESS_RESTRICTED_SETTINGS is ignored, it means accessibility page
for that app is gray out, but app info shows "unlock restricted settings menu"

If OP_ACCESS_RESTRICTED_SETTINGS is allowed(default), it means users can
access accessibility page for that app.

OP_ACCESS_RESTRICTED_SETTINGS will be changed to ignored if user visited
the restricted settings dialog.

OP_ACCESS_RESTRICTED_SETTINGS will be changed to allowed if user passes
the confirmation screen.

Bug: 202130031
Test: Tested the UI and it works correctly
Change-Id: I3dfb94cee440658b4726a1c3f7265f93cd19ed3e
2022-01-27 09:50:40 +00:00
Pyuli Naithani
d140857954 Add "All services" settings in the App Preference screen for GmsCore.
BUG: 188920241

Test: N/A

Change-Id: Icf475f4a6c7498cd9782524806b0335e9cb0f8fc
2022-01-26 21:36:25 +00:00
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
tom hsu
58244b1b74 [Panlingual] Implement entries of Panlingual in settings UI part.
- Path 1 : System -> Language & Input -> App Languages -> per app
 language
 - path 2 : System -> Apps -> App Info -> per app language
 Video: https://screencast.googleplex.com/cast/NjUyNTUzMDY0MTc5MzAyNHxjNTg2MzMwYS0yOA

Bug: 206854105
Test: local test pass
Test: atest pass

Change-Id: Ic06fa4f0c6ec68680eb828032b6e3f479b412dc4
2021-12-13 22:54:40 +08:00
Wesley.CW Wang
fb38259a0d Update batteryDiffEntry filter condiction
- Add condiction CONSUMER_TYPE_UID_BATTERY to avoid query system app data
 - Add default value for uid when entering AppInfo page

Bug: 191734051
Test: make SettingsRoboTests
Change-Id: I377e0d6aaa386dd5983eb71be1248f9859728cb9
2021-06-24 14:39:24 +08:00
Sunny Shao
9fa4bb8ffa Fix the toggle button flicker problem when display
- Root cause: the side effect of the parallel controller loading.
- Solution: disable the parallel approach and remove the entry point
  of parallel approach in DashboardFragment.

Fixes: 187838753
Test: Robo test for AppInfoDashboardFragment, ConfigureNotificationSettings,
      ConnectedDeviceDashboardFragment, DevelopmentSettingsDashboardFragment,
      NetworkDashboardFragment, DashboardFragment
Change-Id: If3b09c4fd6f33042e0ed38704f08e855ab8f5377
2021-06-16 11:41:10 +08: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 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
5c60d3905e Remove silky flag from App info 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: I6b159c348dd3266a8515d58b3c5f508375ac4301
2021-05-25 21:29:50 +08:00
Zhen Zhang
48bd52e091 Update settings for app hibernation
Created an preference in Apps & Notifcations page as the entry point for
apps that are hibernated. Also added a switch preference in AppInfo page
for users to exempt an app from hibernation.

Bug: 181172051
Test: HibernatedAppsPreferenceControllerTest;
HibernationSwitchPreferenceControllerTest;
AppInfoDashboardFragmentTest

Change-Id: I72a90ab391cd521150fc155a6d9c67c846b7360d
2021-03-15 21:34:46 -07:00
Trevor David Black
d0d796c90b Add Extra App Info into Settings App UI.
Bug: b/174956516
Test: Settings -> Apps -> APP -> Extra App Info
Change-Id: Id978fb3569579f54b8399156d52c2ddeceb9bb91
2021-03-03 19:52:15 +00:00
Dmitri Plotnikov
97b3325ece Begin transition from BatteryStatsHelper to BatteryUsageStats API.
For now, keep both BatteryStatsHelper and BatteryUsageStats in play.
The plan is to transition from the former to the latter, one usage
at a time.  When all is said and done, all references to
BatteryStatsHelper will be gone.

Bug: 173745486
Test: atest --host SettingsRoboTests

Change-Id: I37e1dfff0043b1845992f18d72067bb547bb69ff
2021-02-18 11:56:00 -08:00
Yanting Yang
a599dbcc84 Move the additional settings to the top of AppInfoDashboard
Based on the Android S design, move additional settings preference
above the Notifications preference and use SpacePreference to draw
the horizontal divider below AppButtonsPreference since the additional
settings preference is only visible by condition.

Also remove initialExpandedChildrenCount to expose all preferences.

Bug: 174964524
Test: robotest & visual with turning on/off silky home
Change-Id: Ife1d37820e44f8e12af4ed37ed66a29281366b50
2021-02-02 16:58:08 +08:00
Colin Cross
38fa185a27 Revert "Snap for 6793014 from 3777d883a3857b1a1589181c436d9018d7..."
Revert "Snap for 6793014 from 3157b4ee4325286f0c2ab0f26528460c8b..."

Revert "Snap for 6793014 from a43295d1825da62af038d345a7a861ed7a..."

Revert "Snap for 6793014 from 2076be4d27078d6ebc0a6b5e5ceb386109..."

Revert "Snap for 6793014 from d0e31526c62b2aeb35c293ac96feb180fc..."

Revert "Snap for 6793014 from 7a3a8c6351d5167a6ae0b33bc376efabd2..."

Revert "Snap for 6793014 from 41471cb21bb16b5c3bcc92f84293b79684..."

Revert "Snap for 6793014 from 42e5cca3cfb829690c9d8c6aca57a8e7d5..."

Revert "Snap for 6793014 from 4f81304963d19f4511b1e8e7d0aad87a67..."

Revert "Snap for 6793014 from 07602cdacf5bcc835db41f7eaa24af9964..."

Revert "Snap for 6793014 from 14cb57e107a3abce8b14937b1f92c28d18..."

Revert "Snap for 6793014 from ab1e4a81d09a540a5f927059e5bc03a606..."

Revert "Snap for 6793014 from 8c65adad0bcdfb3acc561063b4048dca24..."

Revert "Snap for 6793014 from b3061942700265e2bf04af9997775dcbbb..."

Revert "Snap for 6793014 from 551c5953fc62e339e4ee884ec2cd0ac3be..."

Revert "Snap for 6793014 from 4919273b2ac5c6347a18e17c5ec70d8da6..."

Revert "Snap for 6793014 from 988d4244914e0c749655e8cb6db18ba44f..."

Revert submission 12465146-release-request-6b259cbc-1f45-4b05-bc7e-c9b893b79d68-for-git_main-busytown-release-6793014

Reason for revert: b/166531456
Reverted Changes:
I5ff7a6c0d:Snap for 6793014 from f2989f9c65556d5155dbd57f82f0...
I77bdff943:Snap for 6793014 from a43295d1825da62af038d345a7a8...
I2ac5c520a:Snap for 6793014 from c3f124cca05579acf0a6cb589ebd...
I023b9702f:Snap for 6793014 from 98756d6d3e2bb0ba28eb125caa7a...
Ibc7893d72:Snap for 6793014 from fd1ad6750ef332d3f50f218f4d5d...
Ic27847bee:Snap for 6793014 from 8c65adad0bcdfb3acc561063b404...
If20bc9352:Snap for 6793014 from 7a3a8c6351d5167a6ae0b33bc376...
I6542d17e8:Snap for 6793014 from 3777d883a3857b1a1589181c436d...
I66e6bb8a9:Snap for 6793014 from 8b8bf0a07b0521bbe8483fbbab12...
I3cd190b6b:Snap for 6793014 from 424180bdc4aa18249e678daebfd0...
If92db7402:Snap for 6793014 from ab1e4a81d09a540a5f927059e5bc...
Iaced03c87:Snap for 6793014 from d0e31526c62b2aeb35c293ac96fe...
I5d28c6b4b:Snap for 6793014 from 4f81304963d19f4511b1e8e7d0aa...
I30d07bea3:Snap for 6793014 from 7594ec6384c4da320726def34f47...
I473205f48:Snap for 6793014 from 551c5953fc62e339e4ee884ec2cd...
I0656b41af:Snap for 6793014 from 44725f06b7f7d6407b5ee82d989b...
I0f9796067:Snap for 6793014 from 4919273b2ac5c6347a18e17c5ec7...
I9a38cda8f:Snap for 6793014 from 2076be4d27078d6ebc0a6b5e5ceb...
I876a82f51:Snap for 6793014 from 11467102abddb6026aaa164c1361...
I749d7d023:Snap for 6793014 from 41471cb21bb16b5c3bcc92f84293...
I038daea41:Snap for 6793014 from 07602cdacf5bcc835db41f7eaa24...
I47aa3131c:Snap for 6793014 from 14cb57e107a3abce8b14937b1f92...
I32dba8a95:Snap for 6793014 from 3157b4ee4325286f0c2ab0f26528...
I2ebc9f9db:Snap for 6793014 from 988d4244914e0c749655e8cb6db1...
Iae7c3370f:Snap for 6793014 from 9ffb8852294e06e2d387dc1fb868...
I6467a7f1b:Snap for 6793014 from 42e5cca3cfb829690c9d8c6aca57...
I8c6375203:Snap for 6793014 from b3061942700265e2bf04af999777...
I843b2e1f3:Snap for 6793014 from 265280bf5cb4bc14e132c3a35ae5...
Ie254f7079:Snap for 6793014 from f22ad3164937a8f2e309965c102b...
I01e0974ed:Snap for 6793014 from bbbccc3c2b7fc7c5780f6c415c42...

Change-Id: Ie8b2b332f7ebaaee7cd39c6f94d280c047426bc9
2020-08-27 04:12:26 +00:00
Yi-Ling Chuang
4ff357addc Hide "Open by default" entirely for browser apps
Browsers are explicitly treated outside the web link infrastructure, so
we shouldn't offer "Open by default" section.

Fixes: 129162570
Test: robotests
Change-Id: Ie63d5fbfb32eaed4bba8a80158b6bb19bb45b380
2020-06-03 16:21:51 +08:00
Sunny Shao
6d60248053 Enable some settings pages to use paralleled-loading method
- Here these pages include AppInfoDashboardFragment, ConnectedDeviceDashboardFragment,
  DevelopmentSettingsDashboardFragment, NetworkDashboardFragment, ConfigureNotificationSettings.
- The TimeSpentInAppPreferenceController use the LiveDataController.

Fixes: 135299529
Bug: 137558156
Test: compilation
Change-Id: I455a16536c9966184f1b2bd81d1f1217f3e09f9d
2020-05-04 10:34:23 +08:00
kholoud mohamed
14a887fbf1 Add settings page to control cross profile appop
This does not have the final UX changes.
Strings are marked as non-translatable since they are not yet finalized.

Bug: 136249261
Bug: 140728653
Test: make RunSettingsRoboTests ROBOTEST_FILTER=InteractAcrossProfilesControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=InteractAcrossProfilesDetailsTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=InteractAcrossProfilesPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=InteractAcrossProfilesSettingsTest
Change-Id: Ia3ebebc9bb53dcb5097bda71df9cfa5c4442fc59
2020-02-06 12:14:34 +00:00
Stanley Wang
064b21e0b6 Revert "Fix app uninstalling/stopping possible in screen pinning mode"
This reverts commit 161c359508.

Reason for revert: This solution has a bug.

Change-Id: I925dab9b1a8d50de538a4fc652f722744fe3fadf
2019-08-06 03:44:02 +00:00
Stanley Wang
161c359508 Fix app uninstalling/stopping possible in screen pinning mode
Bug: 135604684
Test: maunal & robotest
Change-Id: I96eddb11ff32c6c46915682eb58857be7d24ed99
2019-07-17 10:58:52 +08:00
Fan Zhang
276edc8d86 Do not retrive app detail if the fragment is exiting.
The exit flag can be set by a variety of things, such as when package is
removed, or package is invalid (hidden mainline module). Loading such
packages changes the internal state of ApplicationsState class (an app
singleton), which leads to inconsistencies later.

Fixes: 130166465
Test: robotest
Change-Id: Ib09240cb694fa16692914a7aa9ce354869615c2d
2019-04-08 13:56:59 -07:00
Zoran Jovanovic
c6d79cd0da Don't allow RRO uninstall if overlay is enabled
System RROs can never be uninstalled. Also, enabled RRO, i.e.
RRO applied to their target packages, must not be uninstalled by
end-user because that may be dangerous to the configuration of
its target package. Disabled RROs, i.e. RRO not applied to their
target packages, are free to be uninstalled to reclaim space.

Bug: 124556507
Test: manual + `make RunSettingsRoboTests ROBOTEST_FILTER=AppButtonsPreferenceControllerTest`
Change-Id: Ib6bd2765c8cb88a5887de817a08a1541eaee0cab
2019-04-01 20:32:51 +00:00
Fan Zhang
d646ad7778 exit app info page if app is a hidden system module.
Fixes: 120546598
Test: robotest
Change-Id: I763ce9d65904e2b0c2a6144776c42881a1269c52
2019-03-27 12:39:10 -07:00
Fan Zhang
31b210017b Migrate all MetricsProto enums to SettingsEnums
Bug: 122855168
Test: rebuild
Change-Id: I962d9a71179f86b7cae9dc5e9a00e0aa1557dc76
2019-01-17 14:55:42 -08:00
Doris Ling
282a0d9222 Remove "v2" from the data usage version 2 code.
Change-Id: I8ede82029194d1a9a43d00a3de7ec1a8dd77d978
Fixes: 117420679
Test: make RunSettingsRoboTests
2018-12-04 18:24:37 +00:00
Doris Ling
c11666cc00 Remove data usage v1 code.
- remove all v1 code and the corresponding feature flag switch.

Bug: 117420679
Test: make RunSettingsRoboTests
Change-Id: Ib062c03c671b0f860698f5e5e153ab46d963175a
2018-12-03 11:12:50 -08:00
tmfang
5659fc6ac9 Fix crash on AppInfoDashboardFragment
When AppInfoDashboardFragment launch a new page,
it sets SUB_INFO_FRAGMENT(1) as request code.

This request code is same as REQUEST_REMOVE_DEVICE_ADMIN(1).
So, when AppInfoDashboardFragment got onActivityResult callback,
it will handle the event about REQUEST_REMOVE_DEVICE_ADMIN.

So, we change REQUEST_REMOVE_DEVICE_ADMIN to a unique value.

Test: manual test, robotest
Fixes: 118841475

Change-Id: Idabd62c5062ccfbf4b8acee82df7401fc9ce7484
2018-11-15 16:58:29 +08:00
Doris Ling
b758e2b473 Use the new loader to show app data usage summary.
- this is for getting the summary text for Apps & notifications ->
(select an app) -> Mobile data & Wi-Fi

Bug: 111751694
Test: make RunSettingsRoboTests
Change-Id: Ib4d8e7308ea8a782b9af3bbb99db2b1235e0aca2
2018-10-02 16:21:14 -07:00
Fan Zhang
d67668a1c3 Merge "Fix a crash when launching app detail for bad package name" am: ada1a39ffb am: 2e2e1e243d
am: 59cd5abb96

Change-Id: I746d5c959761306d463a934e7c01f4155934fd93
2018-09-11 18:53:09 -07:00
Fan Zhang
2e2e1e243d Merge "Fix a crash when launching app detail for bad package name"
am: ada1a39ffb

Change-Id: Ia96ca4a889e9005da4e685b8e04ae2d6b78eff85
2018-09-11 18:28:08 -07:00
Fan Zhang
13d2551156 Fix a crash when launching app detail for bad package name
Change-Id: I3bfb5f8e003b810c09d295bc89f4a59af186a121
Fixes: 78779901
Test: robotests
2018-09-11 15:12:16 -07:00
Fan Zhang
de117046ad DO NOT MERGE Import clean up.
Reordered all imports according to Android codestyle.

Test: rebuild
Change-Id: I750f01f70f2114d51838bf652833aebdc4065c98
2018-09-04 13:54:46 -07:00
Philip P. Moltmann
e3f721132a RestrictedLockUtils was split into ...Internal
This means that in some cases RestrictedLockUtils has to be used and in
some RestrictedLockUtilsInternal.

This causes a lot of trivial code changes.

I also updated the ordering of the imports in all affected files.

Bug: 110953302
Test: Built
      make -j RunSettingsRoboTests
Change-Id: I9bdf8b89134f853bae4f38c81af436715c73e924
2018-08-30 08:11:39 -07:00
Aurimas Liutikas
03fcde338b Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
Merged-In: I941dea40562170649bf056e675cc32e5163c0e39
(cherry picked from commit a290b873d0)
(cherry picked from commit b1af85d155)
2018-08-28 16:35:52 -07:00
Fan Zhang
23f8d59d02 Sort imports
Having consistent import order will reduce chance of merge
conflict between internal and external master

Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
2018-08-28 22:13:15 +00:00
Fan Zhang
07e55d97ca DO NOT MERGE: Cherry-pick a bunch fixes to AOSP
Task affinity updates

- Remove task affinity for AppDrawOver Settings
- Remove task affinity for ConfigNotificationSettings

The task affinity is messing with the back stack for this activity when
launched externally

Fixes: 80281932
Fixes: 80290571
Test: manual

Disable uninstall update option for secondary users.

Fixes: 110249550
Test: manual

Suppress some gesture search when there is no hardware

Fixes: 110250839
Test: robotests

Check wifi password length by byte, not char.

Change-Id: Ic25ef766886507211c3de8764c1cffef2b27a025
Fixes: 79209073
Test: robotest
2018-08-28 12:17:03 -07:00
Aurimas Liutikas
b1af85d155 Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
Merged-In: I941dea40562170649bf056e675cc32e5163c0e39
(cherry picked from commit a290b873d0)
2018-08-28 11:48:56 -07:00
tmfang
27c84de325 Settings Fragment Migration (Build pass app)
This patch focused on fixing compile errors and some runtime errors.

Test: We can't test it now. But we will have an integration test later.
Bug: 110259478
Change-Id: I16c471ddcd0fa1460c665b7f74d86fcace5ee67b
2018-07-11 18:24:51 -07:00
Fan Zhang
4560ab7a35 Add a few pages to search index.
- Data saver
- A few special permission access pages
   - Picture-in-picture
   - Premium sms
   - do not disturb access
- And a unrelated cleanup: move EmptyTextFragment from
  notification/ to widget/

Bug: 70720645
Test: robotests
Change-Id: I6a87f712bf81f9fd32fa9a3826fba851ca748409
2018-07-10 17:02:09 -07:00
Fan Zhang
eee80ff489 Disable uninstall update option for secondary users.
Change-Id: Ib3146d37be82dae36392d71b43aa5331762d4684
Fixes: 110249550
Test: manual
2018-06-18 16:29:00 -07:00
Fan Zhang
877fcd8013 Suppress some gesture search when there is no hardware
Change-Id: I780fe337da25d144b6966a098e95de52b1513e39
Fixes: 110250839
Test: robotests
2018-06-18 13:58:31 -07:00
Doris Ling
f176175f24 Move clear instant app dialog logic out of AppInfoDashboardFragment.
- refactor AppInfoDashboardFragment and move the clear instant app dialog
handling into instant app button controller.
- move the dialog fragment to be a stand-alone class instead of inner
class.

Change-Id: I51c045938f3fd1db73b4b9f7e0311a51df599a29
Fixes: 110102457
Test: make RunSettingsRoboTests
2018-06-14 16:20:23 -07:00
Doris Ling
2511d108ed Consolidate the 2 app button prefernece controllers.
- move the fuelgauge app button controller and the button dialog
fragment into app info package and change app detail fragment to use
that controller instead.
- remove the original appinfo/AppActionButtonPreferenceController

Change-Id: I94ca072a8dfe6051853eb23efa1f96ac3e13d79d
Fixes: 80312809
Test: make RunSettingsRoboTests
2018-06-12 13:43:25 -07:00
Fan Zhang
cac18e12ac Move app setting link from Entity header to pref controller
Change-Id: I13a27486a9c9b4c4fb358715d678473e63c1b624
Merged-In: I13a27486a9c9b4c4fb358715d678473e63c1b624
Fixes: 79688822
Test: robotest
2018-05-16 19:56:33 +00:00
Fan Zhang
e2346643c7 Move app setting link from Entity header to pref controller
Change-Id: I13a27486a9c9b4c4fb358715d678473e63c1b624
Fixes: 79688822
Test: robotest
2018-05-16 10:51:31 -07:00