Commit Graph

128 Commits

Author SHA1 Message Date
Amin Shaikh
3f1de20c7e Fix themed settings icons.
- Added android prefix for homeAsUpIndicator attribute
- Override ic_arrow_down_24dp from androidx
- Remove ic_lock drawable overlay
- Update date and time icon
- Dedupe ic_menu_add and ic_add_24dp

Bug: 131346125
Test: mp settings;
Change-Id: I7223249f2adccc5569a37e8b68cae5499e7c7620
2019-05-03 17:02:46 +00:00
Raff Tsai
bf1fa0c2a6 Fix Settings crash
Doesn't unregister contentprovider so that when data changed,
the fragment is destroyed.

Fixes: 127726564
Test: Connect to wifi. Go to Settings -> connected devices ->
      connection preference -> printing -> hp print service -> press
      back. Repeat several times.

Change-Id: I79d1522ce9d91a6bf6b1f982b7687eab1f7896bb
2019-03-08 17:23:38 +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
Stanley Wang
5eb6e6dcc7 Modified the PrintJobSettingsFragment
Test: manual
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.print
Change-Id: Ide889b273be21421753cec99ce391adb756ab05c
2018-11-02 19:39:25 +08:00
TreeHugger Robot
c22c1be236 Merge "Redo the empty states in print settings" 2018-09-25 23:10:02 +00:00
Fan Zhang
754f737c2c Move AppPreference to settingslib, and change imports.
Bug: 116364655
Test: robotests
Change-Id: I313272737dc7c068c47abf8ea021de7d2bea0a25
2018-09-25 09:51:19 -07:00
Philip P. Moltmann
2f4f269264 Redo the empty states in print settings
In the end the UI does not change but the new states:

- Are similar to the "empty" states we use in the print spooler
- Use the system print icon
- Use a translucent background icon which works correctly with dark mode

Test: Looked at all changed Settings pages
Fixes: 115830412
Change-Id: I1f5b005674e7072e989355f01ebd3fdaf56c9355
2018-09-20 17:06:06 -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
9a1928ea36 Move profile selector dialog to Settings
Bug: 77600770
Test: robotest
Change-Id: I601dabfd925a1990b7bd9115ef579bff9039a7c0
2018-08-02 13:35:08 -07:00
Jason Chiu
104e04dab4 Delegate PrintServicesLoader to the framework's one
1. Remove the duplicated PrintServicesLoader in Settings
2. Make a androidx.loader in Settings and internally just delegate all calls to the real PrintServicesLoader
3. Get the result from the real loader

Test: manual
Fixes: 111581651
Change-Id: I2a9b3653f5c68f8383a468cd16ef5f7c3fd4bc3a
2018-07-20 14:25:00 +08:00
Fan Zhang
fe93bd9c1e Remove ListView from preference_list_fragment.
As part of it, Use RecyclerView in PrintServiceSettingsFragment, which
still depends on the old preference_list_frag layout.

Also remove some unused pngs

Test: manual

Change-Id: I3189bd0dee5b6a74209eb1e707eb40427c96e312
2018-07-17 15:47:33 -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
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
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
Antony Sargent
5a6c3fe645 Make icon size on Printing settings match the rest of settings
The icons on this page were being displayed at 48dp because we were
using a generic Preference element, instead of the custom settings
AppPreference which we use in lots of other places in settings for
displaying app entries in a list (and has a custom layout that ends up
with 32dp icons).

Fixes: 78654919
Test: manual (go to Settings -> Connected devices -> Connection
preferences -> Printing)

Change-Id: Icf21ab6b41fc00936cd58f3342a8c5502c6dd87f
2018-06-06 16:35:52 -07:00
Matthew Fritze
f87a1f3f41 Establish permanently unavailable settings
Distinguish between settings which are permanently unavailable on
the device, and temporarily unavailable. This enables us to restrict
which setting slices are exposed in onSliceGetDescendants.

The primary changes in this CL are renaming:
"DISABLED_UNSUPPORTED" -> "UNSUPPORTED_ON_DEVICE"
to be more clear the the setting will cannot be accessed on the device, and,
adding a new enum to encapsulate settings which are currently unavailable, but
could be enabled in the future.

Also remove UNAVAILABLE_UNKNOWN. Devs should never need this enum.

Bug: 78910582
Bug: 79245656
Test: robotests
Change-Id: I58821a6cfd6134b3b351657b6edf5f74ead00643
2018-05-09 08:36:59 -07:00
Aurimas Liutikas
e0069d332d Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
2018-04-20 12:52:29 -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
234854cb04 Remove more wrappers in favor of new Robolectric support
Bug: 76167422
Test: robotests
Change-Id: Ic71a181bee6f90f25f9fa2a748cf708887495394
2018-03-30 15:58:14 -07:00
Philip P. Moltmann
b85ab7e979 Recover print job ID from intent extras
If the fragment was started via ACTION_PRINT_SETTINGS the intent extra
does not get transformed into a fragment argument. Hence need to check
the intent extra.

Fixes: 74456525
Test: Opened print job settings from a print notification,
      atest com.android.settings.print.PrintJobSettingsActivityTest
Change-Id: I6c4605309c348456a862c4d7b48a11400b62fb70
2018-03-21 08:13:45 -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
906572b127 Change PreferenceController#getSummary return type.
Return CharSequence instead of String.

All user visible string should be modeled as CharSequence.

Bug: 73950519
Test: robotest
Change-Id: I30befef0c33f94351d4a2774e283bd1ed804aa8b
2018-02-27 22:30:12 -08:00
Vladislav Kuzkokov
5b1faf1bfc Add policy disclosure for printing.
Bug: 64140119
Test: make -j40 RunSettingsRoboTests
Change-Id: Ib453c492f1dc9e6f9bd4019104dfd3eafcd0a8b4
2018-02-21 17:19:50 +01:00
Fan Zhang
2edbaa7062 Change print setting from a dynamic tile to static pref
...because dynamic tile is a lot harder to index correctly.

- Removed metadata that makes PrintSettings a dynamic tile.
- Added PrintSettings into connected_device xml.
- Added a new PreferenceController - all summary updating logic is
  copied from PrintSettingsFragment

Change-Id: I41e7c9d23e97ecd5a043ac7c33f2d404260c92e7
Fixes: 73128944
Test: robotests
2018-02-12 15:19:43 -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
Fan Zhang
7d5c9ace64 Add test and fix null keys in search providers.
- Add keys to some screens.
- Remove dynamic saved network/turst agent from search provider.
- Remove dynamic print services from printsettings.

Bug: 69384409
Test: atest
Change-Id: I62dce27d52585badb2a8953a05084e35dbae2f7d
2017-11-16 12:57:45 -08:00
Philip P. Moltmann
c16600066a Print icons are now vector graphics.
Test: Looked at screens in setting that show this icon
Bug: 69175097
Change-Id: I06c4d37c7c3e641e83fa81d59b651c581e94a9f1
2017-11-13 14:13:17 -08:00
Fan Zhang
206b774f79 Add # of active print jobs back to print setting summary
Change-Id: Iefdde7d9e5f13a892bceff7c676c4c7b9aa8d206
Fix: 37640842
Test: make RunSettingsRoboTests
2017-05-26 16:45:14 -07:00
Doris Ling
c5f4120484 Update summary for Connected devices->Printing.
The summary text now shows the number of enabled print services. Update
the flag to only select enabled service from PrintManager.

Bug: 36234108
Test: make RunSettingsRoboTests
Change-Id: I81e1584182edd1f290faa941c7d3ee711a9d67b8
2017-04-03 13:42:26 -07:00
Fan Zhang
01ece62faa Update print setting summary to show number of services
-Also some minor cleanup in print setting fragment (create pref using
correct context)

Change-Id: Ic05027ee53fd318da6ccd38c9ed98ce10ca49ba8
Fix: 36234108
Test: make RunSettingsRoboTests
2017-03-22 18:27:19 -07:00
Fan Zhang
e05b352758 Misc search summary text updates.
- Remove static text from default app summaries.They will be filled
dynamically at runtime, so we don't need the static ones here.
- Remove summaryOn/summaryOff strings from a few fragments. Search
framework does not need them.

Change-Id: I165766073ba70aceead88c3df02d62f3700e4592
Fix: 36474747
Fix: 34573952
Test: run existing tests
2017-03-21 14:52:40 -07:00
Tamas Berghammer
265d3c2a0c Update package names to work with the proto3 compiler
Bug: b/28974522
Change-Id: I5f3adf4946ee4ba1e09e4f40afe83c151405972a
2016-11-08 14:06:17 +00:00
Philip P. Moltmann
578bc45793 Hide unused recylerview to not confuse talkback. am: 6a6db008a9 am: 2664c2331f
am: 5bc6a57729

Change-Id: I934af4a441b19f28a30ea06b74da8df0f270072e
2016-08-30 04:49:55 +00:00
Philip P. Moltmann
6a6db008a9 Hide unused recylerview to not confuse talkback.
Fixes: 31088913
Change-Id: I1394cec881d8a1944004a69bc787e5341f8c9ddc
2016-08-29 18:03:26 +00:00
Fan Zhang
6507613ebc Log visibility change for all fragments.
Bug: 30681771
Test: SettingsUnitTests

Refactor visibility logging from InstrumentedFragment into a mixin. And
apply mixin in remaining fragments.

Change-Id: Ibbb59904336254a3e4bb9e8c7d0b36e5a6bc2622
2016-08-18 14:04:13 -07:00
Fan Zhang
10ad09b658 Clean up some unnecessary inheritance.
Bug: 30681529
Change-Id: I84fa1085cc18b167d506dec3b3054d9f74d3d3e7
2016-08-16 14:53:48 -07:00
Philip P. Moltmann
1ba9127696 Set Fragment title in onCreate.
To allow the accessibility to read the title early enough.

Fixes: 30677578
Change-Id: I2dbd8f0fa7697038cf69e0282ebcb590fbc64cc2
2016-08-08 18:12:36 +00:00
Philip P. Moltmann
23176395a5 Setup up print settings fragments in onCreateView instead of onCreate.
Otherwise some of the layout is not yet set up.

Fixes: 29764546
Change-Id: Ia0716dd0603d66e8bf68494e426756bd553f1afd
2016-06-27 21:07:07 +00:00
Philip P. Moltmann
7978909120 Do not set order for print services settings.
What happened before was that negative number turned out to be order
behind ORDER_LAST.

Change-Id: I714f623a2b1be06dde86ae7f36b39c64006203f2
2016-05-04 09:44:06 -07:00
Philip P. Moltmann
eb01628ba8 Update print jobs appropriately in the print settings.
- Always use a fresh print job as once the print job goes away it cannot
  be read. Before we were stuck with the last state which might not been
  the last state
- make loaders relative to fragment to avoid loader id duplications with
  other ids of the activity.

Fixes: 28315242
Change-Id: I57eeb64b44b5d77b2092c22b175407131f7baf97
2016-04-21 15:16:05 -07:00
Philip P. Moltmann
b05fbfa274 Use changed getStatus interface
Change-Id: I72a2aa74607e34a1afbef0982f634def3e30efd4
2016-03-24 16:53:44 -07:00
Philip P. Moltmann
3e4c0d8789 Correctly compose activity name of add-printer and print-settings
activity

Previously we were missing to specify the service's package name, hence
we did not have a complete component name.

Bug: 27567031
Change-Id: I88c515a0b8a9defd6329309574aaa8a8e053fddb
2016-03-09 12:42:33 -08:00
Philip P. Moltmann
7833d183e7 Deal with the case that no print services are installed.
Bug: 27530312
Change-Id: Idd709e66d72efcca4928b471f138f8be66e7ab00
2016-03-07 15:32:28 -08:00
Philip P. Moltmann
d9779db8c9 Make Print Settings use the new PrintManager.getPrintServices loader
This makes sure that all data always stays up to date.

printer_dropdown_item.xml:
- Reduce the amount of overriden properties

PrintServiceSettingsFragment:
- Instead receiving most data from PrintSettingsFragment have own loader
  and keep data up to date
- Also the updating of the print service state now has a dedicated
  PrintManager call instead of relying of the Settings-ContentObserver
  to transport this information. No more race-conditions, whohoo!

DynamicIndexableContentMonitor:
- To not rewrite too much code the update logic has to live here but the
  reading of the actual data is in PrintSettingsFragment.

Change-Id: I60715cda8952565d7f68cb24fb7da61a37085887
2016-03-07 09:32:55 -08:00
Philip P. Moltmann
24264eb250 Do not count print jobs if printing is not available.
Bug: 27339883
Change-Id: I0b0761917798581e831e8b2692fdc9c5fefb1155
2016-02-25 13:07:26 -08:00
Philip P. Moltmann
83fb795e8a Use same printer-list template as in the print spooler.
Bug: 26780325
Change-Id: Ic333027aa0d158ad51608565af624b0c1cb10cfa
2016-01-29 10:49:08 -08:00
Tony Mak
78d1ca1c2a Merge "Default apps setting for managed profile" 2016-01-27 17:17:44 +00:00
Chris Wren
9d1bfd1e8d port settings over to new metrics enum
Change-Id: I0b3efd2f4db773ccbc52bfe59ee8eb0dab9584fb
2016-01-27 10:58:58 -05:00
Tony Mak
32ccffc07c Default apps setting for managed profile
1. Print settings already support managed profile. Follow the UI of that.
ProfileSettingsPreferenceFragment is created to act as the base class
for per-profile setting.

2. Only show browser and dialer default setting in managed profile.

BUG=26707733

Change-Id: I20d00203e14db58ec03638f692dd83a1bd50c59c
2016-01-27 14:01:16 +00:00
Philip P. Moltmann
be37bdff48 Settings: Handle non-nullness of PrintJobId.unflattenFromString and printer.getName() correctly.
Change-Id: If22acfee7c6a7c21803fe79ff04f33181dd10167
2016-01-21 09:16:25 -08:00