Commit Graph

1146 Commits

Author SHA1 Message Date
Leif Hendrik Wilden
1546cca529 Migrate to use instrumentation classes from settingslib.
Test: Compiles. Manually tested.
Change-Id: Ie5515bb0fe3e621fc7723a9b04ba23e4bfa9c401
2018-01-18 11:13:24 -08:00
Doris Ling
a213bf0839 Separate suggestions and conditions.
This is the initial change for updating the suggestion cards:
- add a feature flag to swap between the new and current UI
- change suggestions to a standalone dashboard item. It becomes a
  horizontal scroll list that won't collapse/expand.
- the expand/collapse logic now only control the conditions list
- add draft for the new suggestion UI elements, but detail to fine-tune
to match the UI spec will come in following changes.

Bug: 70573674
Test: make RunSettingsRoboTests
Change-Id: I00c901e2598b26a34288fc73fd6031cc26a29ac6
2018-01-17 11:08:53 -08:00
Tony Mak
3e81ae7748 Rename trySetQuietModeEnabled to requestQuietModeEnabled as per ...
the feedback from API council

Fix: 71818127

Test: Build
Change-Id: Iab976fefcf00e0d5abada123b7c19344241b928a
2018-01-12 12:12:30 +00:00
TreeHugger Robot
bd261ff8b1 Merge "Remove support v1" 2018-01-08 18:29:18 +00:00
Salvador Martinez
616397d28c Remove support v1
Support v1 is no longer used and we want to keep the codebase clean.

Test: robotests still pass
Bug: 70620533
Change-Id: Ic8af0f34aab510a533bd7a7ec5c059834395baf5
2018-01-05 16:34:33 -08:00
Fan Zhang
361e55bb4c Use proper DashboardFragment APIs for SecuritySettingsV2
Next CL will add tests.

Bug: 32953042
Test: TODO
Change-Id: I0cb0e4eb216d3e9408675486f1cd73ba82d8ca36
2018-01-05 11:20:59 -08:00
TreeHugger Robot
820df35539 Merge "Change underlying preferenceControllers to an ArrayMap of Lists." 2018-01-04 02:45:27 +00:00
Ben Lin
9275177002 Change underlying preferenceControllers to an ArrayMap of Lists.
Previously, DashboardFragment stores preference controllers in an
ArrayMap of <Class, AbstractPreferenceController>. Thus when there are
multiple controllers of same class (ie. multiple
PreferenceCategoryControllers), they cannot be stored simultaneously.
This changes the value to a List so we can store multiple controllers of
the same Class without extraneous sub-classing.

Bug: 70949662
Test: All existing tests still pass.
Added
DashboardFragmentTest#testPreferenceControllerSetter_shouldAddAndNotReplace
and DashboardFragmentTest#updateState_doesNotSkipControllersOfSameClass.
Change-Id: I397e8c91977ea1180d48a3af75dd4058bf1175c0
2018-01-03 17:03:59 -08:00
TreeHugger Robot
0590137ab2 Merge "Remove Suggestion v1 code." 2018-01-03 19:31:34 +00:00
Fan Zhang
1e27d2b28e Remove Suggestion v1 code.
Change-Id: Ie6e9c8f2b1b5b609d44e287accb9fbbef9054d34
Fixes: 68719093
Test: robotests
2018-01-02 14:48:56 -08:00
Fan Zhang
f314494f32 Fork SecuritySettings page and hide behind a feature flag.
Bug: 32953042
Test: robotests
Change-Id: Ibbb4221eef87f09ccd024146517707680180a100
2018-01-02 13:42:53 -08:00
TreeHugger Robot
ce3633be80 Merge "Fix bug in SummaryLoader" 2017-12-27 23:06:22 +00:00
TreeHugger Robot
7c67b4ec0b Merge "Update the usage of quiet mode @hide API" 2017-12-21 01:20:28 +00:00
jackqdyulei
15765a97fe Fix bug in SummaryLoader
It should use msg.obj to detect whether to start listening, not
msg.arg1.

Bug: 70607303
Test: Build
Change-Id: I55c4d988f0ebb35f4be9039055eba7803c0b082f
2017-12-19 14:09:29 -08:00
jackqdyulei
5ef1f502f0 Turn on the new connected device page by default
Bug: 69926683
Test: RunSettingsRoboTests
Change-Id: Ice589b825226e92eace5f5fa6b58499a13e36ef8
2017-12-15 11:08:24 -08:00
Tony Mak
99a3a2f205 Update the usage of quiet mode @hide API
BUG:70212757

Test: Settings -> Work profile settings -> Toggle work mode
Test: Turn off work mode -> Settings -> Turn on work mode in the suggestion

Change-Id: Ic5c2c5b141fb8be365c07c70ad1d0291342d7106
2017-12-12 13:03:13 +00:00
TreeHugger Robot
256f6fb607 Merge "Update feature flag dashboard UI to display all features" 2017-12-08 05:50:54 +00:00
Fan Zhang
3ba0381567 Update feature flag dashboard UI to display all features
Bug: 36222960
Test: robotests
Change-Id: I1aea8f32df9bd8ae24708374b60d173953a7c266
2017-12-07 16:11:58 -08:00
Jaekyun Seok
47f6e54895 Move codes generating html file from xml files to SettingsLib (1/2)
LicenseHtmlGeneratorFromXml, LicenseHtmlLoader and indirecly AsyncLoader
shoud be commonly used by Settings and TvSettings.

So this CL will move them to SettingsLib.

Test: building succeeded and tested on sailfish.
  make ROBOTEST_FILTER=SettingsLicenseActivityTest RunSettingsRoboTests

Change-Id: I12e9169b1d3d313a6c5da0d575a6526327268381
2017-12-07 06:41:30 +09:00
Fan Zhang
5f3716d1de Catch a rare NPE due in SuggestionController
In monkey test, suggestion service can detach right before UI tries to query.

Change-Id: Ic2eeb81140f5b5d38688fbe92d20f68b9fa48c34
Fixes: 69979152
Test: monkey
2017-12-05 10:36:08 -08:00
Fan Zhang
cbc97bc7dd Hack to wait for both suggestion/category to load
- This is unfortunately necessary to avoid a jank when category
  load completes before suggestion load, in which case user has to
  manually scroll up to see the suggestions.
- We could technically just add scrollTo(0), but that causes the list
  scroll on its own within 0.5 second of settings start, and that's bad.

Change-Id: I8dc869a69a5bf11bbf7644b281cc1778dd1a90e8
Fixes: 69068691
Test: visual
Test: robotests
2017-12-04 15:06:56 -08:00
Doris Ling
bcb76351b3 Fix ConcurrentModificationException in SummaryLoader.
When the dashboard summary is being initialized, it will rebuild the UI
while the summary loader tries to to go through the tiles to update the
summary. Both is being done on a separate backgroud thread, and it will
run into concurrent modification issue if the thread is being swapped
while one is looping through the list.

Instead of letting clients access the list of tiles directly, add a
getter method in DashboardCategory to get a copy of the list of tiles
for all read-only operations.

Change-Id: I479669abd8d1d0a8ee9a4113d8ad2244da56f4d8
Fixes: 69677575
Test: make RunSettingsRoboTests
2017-11-28 16:43:07 -08:00
TreeHugger Robot
6a68f306d7 Merge "Implement querySiteMapPairs for indexableProvider." 2017-11-28 19:38:32 +00:00
Fan Zhang
518e648acf Implement querySiteMapPairs for indexableProvider.
Query sitemap will return a list of pairs [parent class name, child
class name]. It's up to consumer to figure out the display name later
so the provider doesn't have dependency on localizing any display names.

- Removed SiteMapManagerTest. We will perform the test in
  SettingsIntelligence instead.
- Added test for the new provider in instrumentation test (robolectric
  doesn't recognize the new constants in framework yet)

Bug: 67359411
Bug: 64938328
Test: atest
Change-Id: Ia973115320e6b7c8cf84d4756db1763ae7010aed
2017-11-27 15:50:19 -08:00
jackqdyulei
76ba0f72e4 Add feature flag for connected device
Add feature flag to toggle connected device between new and old
feature.

ConnectedDeviceDashboardFragment will contain new feature will
ConnectedDeviceDashboardFragment2 will hold old feature.

Bug: 69333961
Test: Build
Change-Id: I0ea932c69dea5242129aab994d5142b1f87fbea0
2017-11-20 15:29:28 -08:00
jeffreyhuang
cb823d5983 Delete DevelopmentSettings.java
- Remove the old DevelopmentSettings
 - Remove references to the feature flag

Fixes: 65522949
Test: make RunSettingsRoboTests -j40
Change-Id: Ie2eb3465127d79a027de6bb58a47bb15e3094f89
2017-11-17 13:52:33 -08:00
Jeffrey Huang
e50254dce0 Merge "Speed up dev options" 2017-11-15 18:01:07 +00:00
jeffreyhuang
bf234afbbb Speed up dev options
- Put memory updates on background thread
 - Prevent update state from being called twice

Bug: 69000975
Test: Manual
Change-Id: I186bc25f6b74a5098b1737891efee3a6855dc996
2017-11-14 17:05:25 -08:00
Fan Zhang
06b0d5b564 Send context object to FeatureFlagUtils.
Bug: 36222960
Test: robotests
Change-Id: I9ca2d8c679474e545988f518eaf32acf459abd2c
2017-11-14 09:24:31 -08:00
TreeHugger Robot
29b14a70d5 Merge changes I3ac6506a,I3fc80505
* changes:
  Add intent-filter to SearchResultTrampoline
  Create a feature flag for Search v2.
2017-11-10 02:31:35 +00:00
Fan Zhang
ff4da23a65 Create a feature flag for Search v2.
Also moved all other flags in a common file so we can track them more
easily.

Bug: 68825426
Bug: 64938328
Test: rerun robotests
Change-Id: I3fc805054cb960bedd965b1b907be759df50b95d
2017-11-09 14:57:08 -08:00
Christine Franks
a760cc12ff Merge "NightDisplayController -> ColorDisplayController" 2017-11-09 17:50:06 +00:00
Fan Zhang
f6073fb978 Guard against a NPE when disconnecting suggestion service.
Change-Id: Ib10502b9467365f6e348737655806ef2369a747b
Fixes: 68885411
Test: robotests
2017-11-06 10:30:05 -08:00
Christine Franks
4f03562716 NightDisplayController -> ColorDisplayController
Now that it controls both night display and color mode,
the NightDisplayController should reflect its expanded
purpose.

Bug: 68258004
Test: make RunSettingsRoboTests -j100
Change-Id: If0ad2539b44daf821fdba83b81de1199ad1ecc21
2017-11-03 12:03:20 -07:00
Fan Zhang
b916456984 Move security settings to security package
Bug: 32953042
Test: robotests
Change-Id: Ibd5a12bdd22825dde723e107050826cce9839926
2017-11-03 11:05:21 -07:00
Fan Zhang
f0b027f4ce Improve settings cold start latency.
- Move view initialization from onViewCreated to onCreateView. This
  doesn't really improve anything, it simply aligns the code more
  with view's lifecycle management.
- Move dashboard category init into background. The init contains logic
  invoking packageManager, which can be very expensive.
  - Remove any call to DashboardFeatureProvider from SummaryLoader, and
    delay the getCategory call until someone calls setListener().
  - call updateCategory() from background thread.

Test: rerun app launch test. Avg latency drops back to pre-suggestion-v2
      level.
Test: robotest
Fixes: 68761512

Change-Id: I5ec85af08e7b610786e439bda93b3651f5975593
2017-11-01 17:24:53 -07:00
TreeHugger Robot
910d452874 Merge "Do not start suggestion loader if host isn't attached." 2017-11-01 20:12:44 +00:00
Fan Zhang
6d7aa4e951 Do not start suggestion loader if host isn't attached.
Change-Id: I1ab1de8f0bea6c66d8415e06aedcc7cbc6baf89c
Fixes: 68759380
Test: robotests
2017-11-01 10:34:33 -07:00
TreeHugger Robot
baaea544a5 Merge "Convert EncryptionAndCredential into DashboardFragment" 2017-11-01 00:32:31 +00:00
Fan Zhang
9679dba668 Convert EncryptionAndCredential into DashboardFragment
The logic still lives in fragment for now. They will be moved into
PrefControllers in follow-up changes.

Bug: 32953042
Test: RoboTests
Change-Id: I2b03d26b5f4e6bbb37b42f9dc83a9464eb169868
2017-10-31 14:39:52 -07:00
Fan Zhang
a7f135596d Switch to use ThreadUtils.postOnMainThread
Change-Id: I344d25a1a667de9c0b23d6d528d905b4da3a4c40
Fixes: 63896139
Test: rerun tests
2017-10-31 13:27:41 -07:00
Fan Zhang
f9e985d018 Enable suggestion v2 experiment
Bug: 68662574
Test: robotests
Change-Id: Ib8aeef45ebe1260e9c8699e231db37840a0ce3db
2017-10-30 18:06:40 -07: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
TreeHugger Robot
b40d1db1ae Merge "Call SuggestionService.launch when click suggestion." 2017-10-27 01:24:31 +00:00
Fan Zhang
8052ac0b36 Call SuggestionService.launch when click suggestion.
Bug: 68267490
Test: robotests
Change-Id: I8614f256fc1a87395b5c9d41e3621164a2ded5e1
2017-10-26 15:23:49 -07:00
Doris Ling
ed4685fafb Update activity titles for fragments without preference screen.
1. Move getPreferenceScreenResId() from individual subclass to
InstrumentedPreferenceFragment.

2. Removed InstrumentedPreferenceFragment.getTitle() and let the
preference fragments that do not have preference screen set the activity
title directly instead.

3. Removed OptionsMenuFragment as all it does is call
setHasOptionMenu().
- changed subclasses of OptionsMenuFragment to extend from
InstrumentedPreferenceFragment directly.
- none of the exisitng subclasses actually implements the option menu
related methods to provide any option menu. So, the setHasOptionMenu()
call is not added to the subclasses.

4. Update Languages preference title.
- launch the fragment from the preference controller instead of from the
default handling, as we need the title res id at launch time to get it
work properly when retrieving the title from back stack.

Bug: 64564191
Test: blaze-bin/screenshots/android/i18nscreenshots/i18nscreenshots
Change-Id: Ibecdcab32cbaed8bf604ec5ebe0a926b4e489a7d
2017-10-26 12:01:06 -07:00
jeffreyhuang
142682c19c Hide dev options v1 under feature flag
- Cutover to DevelopmentSettingsDashboardFragment
 - Add dev_option_v1 feature flag

Bug: 34203528
Test: make RunSettingsRoboTests -j40
Change-Id: I2ff7b5c55f1f27cd24b4e276d3d81a73f67dcf88
2017-10-17 13:49:19 -07:00
Fan Zhang
069830012f Add advanced button to security & location page
Change-Id: I45977105d6ddabef8f2d9bdc7b46959af9cbbf0f
Fixes: 36657221
Test: visual
2017-10-16 17:39:27 -07:00
TreeHugger Robot
98311126dc Merge "Hero suggestion is announced as disabled by talkback" 2017-10-10 23:25:26 +00:00
Ajay Nadathur
8057f3b6aa Hero suggestion is announced as disabled by talkback
- Removed calls to disable view. No ripple effect seen even after
  the change

bug: 65851388
Test: Manually tested and verified
Change-Id: I876696a3e7351d586e6d045c8b2d07676f96ea9d
2017-10-10 21:37:57 +00:00