Commit Graph

42 Commits

Author SHA1 Message Date
Yanting Yang
92fce8ede4 Create a new apps page for silky home
- Change recent apps to the list view.
- Remove Conversations, Notifications and Permission manager.
- Remove Wireless emergency alerts and Special app access.
- Show App info preference if there's no recent apps.
- Show general category with recent apps.
- Use this page as the new apps entry on homepage for silky home.
- Make old apps page unsearchable when silky home is enabled.
- Exported new apps page in AndroidManifest.

Bug: 168166015
Bug: 174964405
Test: robotest & visual
Change-Id: I50d35a9d4723612214fce45a9e129fc175bc6831
2021-01-15 16:16:24 +08:00
Yanting Yang
be4decead1 Move Notifications to the homepage group
- Add Notifications to the homepage group.
- Apply an existing notification icon for demo.
- Duplicate new apps xml for the silky home.
- Remove Notifications from the new apps xml.

Bug: 168166015
Test: robotest & visual with turning on/off silky home
Change-Id: I54323b8af3e5115bb11eb77bb15f2f4169707010
2020-11-09 23:08:06 +08:00
Raff Tsai
ac3e0d0988 Directly use BaseIndexableProvider
- Add function getXmlResourceId, Fragments don't need to write
xml resource id twice.
- Remove getPreferenceControllers from Indexable.java. Because it will
move to SettingsLib later for other apps which don't need this function

Bug: 135053028
Test: robolectric
Change-Id: I1e74519aecdea3dde64a5aea79f08d766dbc0003
2019-09-24 00:35:52 +08:00
Jason Chiu
cfa36dbaeb Fix double divider in Apps & notifications page
- The second divider is shown after we set a background to the pinned
  header.
- Fix it by simply hiding the pinned header instead of its inner views.

Fixes: 133231218
Test: robotest, visual
Change-Id: I53add6f01930299425ce96d23350f9f066e85145
2019-06-13 18:23:37 +08:00
tmfang
e9f11d6efc Improve launch time for app & notification screen
- We won't query recent apps in getAvailabilityStatus().
And then we do that in background thread.
So, we can launch app & notificatins screen as soon as possible.

- Create a RecentAppStatsMixin class which is responsible
for maintaining the recent apps data.

- Controllers and fragment update their UI after they got
onReloadDataCompleted callback from RecentAppStatsMixin.

Test: manual, robotest
Fixes: 128849426
Fixes: 126453868
Change-Id: I636d5878cb5d53496978fe613c625382d8d382bc
2019-04-08 16:40:33 +08:00
tmfang
aed8f361fc Remove shadow from "Apps and Notifications"
- Also create a util method to reuse it in different class.

Test: visual
Fixes: 128437380
Change-Id: I0e136feed3aead8c37e381095daebded55ef298d
2019-03-22 11:08:15 +08:00
tmfang
826879ed63 Create a preference controller for "App info"
We try to avoid managing too many preferences in a controller.
So, we create another controller to manage all apps info preference.

RecentAppsPreferenceController and AllAppsInfoPreferenceController
share same state of recent apps in order to improve the performance.

Test: visual, robo test
Fixes: 126134996
Change-Id: I1d8a175b213831415797437c64fd9d432864f9d3
2019-02-26 19:34:46 +08:00
tmfang
7de5314676 Add app entities widget for recently opened apps
If there is no recently opened app should be shown,
just show up an "All apps" preference.

If there are some recently opened apps, we show up
result with app entites controller.

- Clean up some useless ui. (category)
- User BasePreferenceController
- Modify test cases.

Test: robotest, visual
Change-Id: I411f61ed32eaaed97921941fd5026f1d65308d00
Fixes: 123538183
2019-02-21 16:23:18 +08: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
Fan Zhang
a2adcc57c8 Fix special access summary text
Use ApplicationState to count number of apps using unrestricted_data.

Change-Id: I083ff50e3e516536c87afa71d786b22e83d9a498
Fixes: 69313992
Test: robotests
2018-08-22 17:48:03 -07:00
Fan Zhang
a79c377fbc Declare "searchable" attribute for preferences.
Now we can easily mark a preference nonIndexable in xml instead of
adding key into searchIndexProvider.

Bug: 112608186
Test: robotests
Change-Id: I0ff16d44bb7b6ad148d3d35f09ca0da0163f73f4
2018-08-16 09:06:39 -07:00
tmfang
99cc23d0da Settings Fragment Migration (Change imports)
This commit *only* changes imports and optimize imports.
We don't do anything else.

This patch can't compile pass and run test case.
We will update other patches to fix these problem.

Change list.

1. import android.app.Fragment; ->
   import androidx.fragment.app.Fragment;
2. import android.app.DialogFragment; ->
   import androidx.fragment.app.DialogFragment;
3. import android.app.ListFragment; ->
   import androidx.fragment.app.ListFragment;
4. import android.app.LoaderManager; ->
   import androidx.loader.app.LoaderManager;
5. import android.content.AsyncTaskLoader; ->
   import androidx.loader.content.AsyncTaskLoader;
6. import android.content.Loader; ->
   import androidx.loader.content.Loader;
7. import android.app.FragmentTransaction; ->
   import androidx.fragment.app.FragmentTransaction;
8. import android.app.FragmentManager; ->
   import androidx.fragment.app.FragmentManager;
9. import android.app.LoaderManager.LoaderCallbacks; ->
    import androidx.loader.app.LoaderManager.LoaderCallbacks;

Bug: 110259478
Test: Can't test it.
Change-Id: I0a3f98fff34a3494a839c3c42aeabcec3df2c8b3
2018-07-11 18:23:51 -07:00
Tony Mantler
0fcd6cbaa8 Autogenerate SearchIndexableResources subclass
Bug: 77148954
Test: RunSettingsLibRoboTests RunSettingsRoboTests RunSettingsGoogleRoboTests RunArcSettingsRoboTests
Change-Id: I842c42c55014c3310070ef22bd4f0d9a70dfd804
2018-04-03 10:26:55 -07:00
Fan Zhang
04f1423bfa Remove custom updateState() if it's just setting summary
Change-Id: I6311d67d6ba11961a6814b91dcd8e37a2e17df40
Fixes: 73950519
Test: rerun robotests
2018-02-28 15:22:09 -08:00
Fan Zhang
f7843adabd More renaming in DashboardFragment
getPreferenceControllers() -> createPreferenceControllers() for the same
reason as in ag/3647936

Bug: 73668763
Test: robotests
Change-Id: I97670a91a2a38d1c844d1b9d37f4222c5e6f45a0
2018-02-23 16:56:30 -08:00
Fan Zhang
aed8994f6f Rename Indexable::getAllPreferenceControllers.
To getPreferenceControllers. "all" is redundant. Then internally, the
old getPreferenceControllers() is renamed to
createPreferenceControllers() to emphasize the controllers are created
from code (versus the ones created from xml).

Bug: 73668763
Test: robotest
Change-Id: Ifec46aefdc2a418031c8e152028b30bdcd396fc7
2018-02-23 16:37:28 -08:00
Fan Zhang
e0b0e9f902 Refactor help menu stuff into a controller
This is a clean up to action bar menu item pattern, we will use the same
pattern to build search icon on all pages in a later change.

Bug: 68814716
Test: robotests
Change-Id: Iedd3ec263e8ccb63ed75ec7a95b28c00878b1de4
2017-11-29 15:51:04 -08:00
Doris Ling
8b14a1a7a6 Change to use the expand button in support lib.
- functionality for hiding portions of the preferences in the preference
screen is added to the support lib. So, changing the settings
implementation to use the feature from the support lib instead.
- remove ProgressiveDisclosureMixin and the related code

Fixes: 63985174
Test: make RunSettingsRoboTests
Change-Id: Ib1d39b2db93d78a56c7adf90abcae5226f9564c2
2017-10-27 13:16:38 -07:00
Doris Ling
6f60cddc9e Add a new feature flag for the expand button in support lib.
- check the feature flag to determine whether to use the existing
progressive disclosure mixin or use the expand button in the support
library.
- add corresponding preference xml files that add the new preference
group attribute to use with the expand button in the support lib.

Bug: 63985174
Test: make RunSettingsRoboTests
Change-Id: Ida6eb6182a8066ad1413b7f6142512345fd914d0
2017-09-15 11:56:31 -07:00
Doris Ling
c0eac3803d Merge "Add divider line below "see all apps" preference" into oc-dr1-dev am: 0e9711ab92
am: f8bb8a9792

Change-Id: I91b902ed5db6662e7e9fc2187049311b00b50cc6
2017-07-26 02:12:14 +00:00
Doris Ling
6f44ea54ae Add divider line below "see all apps" preference
- and increase the tile limit by 1 to accomodate the divider.

Change-Id: I94cbf47fd987a6ff4c4fabcc3124fae1f0438876
Fix: 63906012
Test: make RunSettingsRoboTests
(cherry picked from commit 6cd558e595)
2017-07-20 17:21:11 -07:00
Doris Ling
cf01a0d0a9 Move Apps & Notifications -> Notifications out from Advanced.
Increase the tile limit from 2 to 3, since there is now a divider
above Notifications which also counts towards the item limit.

Change-Id: Id492fc7d8539a6ae62e6f1a7929aaa98b5287126
Fix: 63674733
Test: Visual
2017-07-14 11:14:09 -07:00
Tony Mantler
1d583e125f Make PreferenceController a mixin
Bug: 62912136
Test: Existing tests in BaseSearchIndexProviderTest
Change-Id: Ieda359806c09a019840b2005446c7ec8b61fdb00
2017-06-26 10:58:36 -07:00
Doris Ling
c72355f60b Move Apps & notifications -> App permissions into Advanced.
- decrease the tile limit for the Apps and notification dashboard to
show 1 less item initiallly.

Change-Id: I334661ced410f9c077f01d7d27a8c3555afdccb9
Fix: 62486427
Test: visual
2017-06-16 16:31:59 -07:00
Fan Zhang
179645eecd Add help url placeholders for new pages
Bug: 38412798
Test: visual
Change-Id: I4ede523cb13790ea05309279f80a778b2086f850
2017-06-05 14:50:01 -07:00
Matthew Fritze
61c80c2ab6 Merge "Remove Special App Access duplicate from Setting search" into oc-dev am: d6aa9f3454
am: c6192251b2

Change-Id: Ia442b29148675a291aca2b317c398bf285b3a2eb
2017-05-16 22:53:37 +00:00
Matthew Fritze
76d9b53048 Remove Special App Access duplicate from Setting search
Bug: 33701673
Test: make RunSettingsRoboTests
Change-Id: I7f6a466c0551828c319c2da541fbeb0e428c62f8
2017-05-11 18:37:47 -07:00
Fan Zhang
db6380973a Merge "Fix crash when there is no emergencybroadcast app on device" into oc-dev am: 4f5b13f97a
am: 779548122b

Change-Id: Ie1f2b075461dc0546cb1cfe2149cbda6254a33af
2017-05-06 02:48:38 +00:00
Fan Zhang
0335cd1e9b Fix crash when there is no emergencybroadcast app on device
Some devices do not have emergencybroadcast app installed, so we should
not show the preference item for it. Add the preference controller into
AppAndNotificationFragment properly hides it.

Change-Id: Ic39ba24da9bd8f3200a5e44232a5489e35c48c0a
Fix: 37945069
Test: make RunSettingsRoboTests
2017-05-05 17:42:25 -07:00
fanzhang172
ae2f2b5268 Add recent apps in app & notification
- Introduce a RecentAppsPreferenceControler, which queries
  UsageStatsManager and displays a list of recently used apps.

- Add a control flag for this feature, intially set to false.

- Make ManageApplications a static pref item instead of dynamic one.
  This makes the RecentAppController easier to control "See all"
  preference, which is backed by ManageApplications.

- Also adjust app_items.xml layout to make app item UI consistent with
  preference item.

Change-Id: I0b9e1784faed32b3055ebf96ef98b6a5e422de50
Fix: 33265548
Test: robotests
2017-05-03 14:09:43 -07:00
Doris Ling
ffda9c23c4 Add summary text to App permissions settings.
Check the granted permissions for the installed app and compose the
summary text to use the first 3 permissions granted from the list:
Location, Microphone, Camera, Sms, Contacts, and Phone.

Change-Id: I61d21f279af2fe86132de22b94e1a49da0225fcd
Fix: 36376411
Test: make RunSettingsRoboTests
2017-05-01 17:36:20 -07:00
Doris Ling
6f3364bf78 Add summary to special app access.
Get the count of apps that has unrestricted data access and add that to
the summary for Apps & notifications -> Special app access.

Bug: 36376411
Test: make RunSettingsRoboTests
Change-Id: Id80a030e1e066f1391f94114f478091a2a87fcd8
2017-04-26 11:18:44 -07:00
Matthew Fritze
13e5af06b8 Revert "Add summary to special app access."
This reverts commit 0e1b53fa6f.

Change-Id: Ica5a9f7f40be3a4c2ae0e999d9832717dc44f3b5
2017-04-18 17:35:07 +00:00
Doris Ling
0e1b53fa6f Add summary to special app access.
Get the count of apps that has unrestricted data access and add that to
the summary for Apps & notifications -> Special app access.

Bug: 36376411
Test: make RunSettingsRoboTests
Change-Id: Ic72cd165da9a91e18e1982d2696830f3f5a0987c
2017-04-17 10:29:31 -07:00
Doris Ling
fe3b134b62 Add Advanced button to Apps & notifications page.
- set the progressive mixin to show 3 items initially.

Change-Id: I874982e9b230d5b6afe4f2ced8e8c8c4dd84ba79
Fix: 36177949
Test: visual
2017-03-14 13:23:29 -07:00
Doris Ling
f2cf2aea37 Remove code that check for dashboard feature.
- remove DashboardFeatureProvider.isEnabled() and all relating code
and tests.

Bug: 35764802
Test: make RunSettingsRoboTests
Change-Id: If7796677abc8904b7436525836d50cdef38e37a4
2017-03-07 11:15:03 -08:00
Fan Zhang
7e6df837ee Remove getCategoryKey() from DashboardFragment children.
Use the centralized registry to look up category key instead.

Bug: 32936784
Test: make RunSettingsRoboTests -j40
Change-Id: I0b8c72d70f93e4b5c58871ac90de41f69ad15653
2017-01-24 14:51:15 -08:00
Fan Zhang
35692cf439 Full screen default app fragment
Fix: 34280137
Test: make RunSettingsRoboTests
Change-Id: Ib44e39589781d68c7952a2c16a44682791a422f1
2017-01-23 16:08:42 -08:00
Fan Zhang
d916dae218 Progressive disclosure on selected UIs: app, display
Bug: 32255863
Test: RunSettingsRoboTests
Change-Id: I1651433ba30a2b5f880095e07b5e2ed9c4e308b9
2017-01-07 11:21:06 -08:00
Fan Zhang
8f057ca3d4 Use MetricsEvent to log page views for new IA pages.
Bug: 33812754
Test: RunSettingsRoboTests
Change-Id: Ib49daa1078df44f50ecfa351c061d36849708fd7
2016-12-21 12:12:32 -08:00
Fan Zhang
6e88635e97 Add search provider for dashboard fragments in new IA.
Bug: 33252252
Test: make RunSettingsRoboTests
Change-Id: I8ea3a144f2bee3d979b909aba29a3360e25fd04b
2016-12-05 15:27:18 -08:00
Fan Zhang
f37be6a859 Add empty page for App & Notifications
Bug: 31799948
Test: manual
Change-Id: Iaab1a5988af30504d4e34ff4f63ae69e86b70f27
2016-10-20 15:20:11 -07:00