Commit Graph

75 Commits

Author SHA1 Message Date
Tsung-Mao Fang
6b73e0fc97 Add keywords for a few settings
Test: Rebuilt apk, and see the results in settings search.
Fix: 157978733
Change-Id: Ib02adf8b3fd11b619246a2bd050801b9fa5ec7d3
2020-06-04 17:16:23 +08:00
Stanley Wang
4c5c80d421 Fix the search result "Free up space" doesn't work.
Can't find the target component if add the class name
and package name to the intent. So remove them.

Fixes: 152682394
Test: manual test the search result
Change-Id: I3b69486f6338b458c795860f7b3de9c119cb09de
2020-05-12 19:45:53 +08:00
Edgar Wang
9f196efcad Fix when search "storage", there are multiple results
root cause: if device doesn't have external storage,
StorageSettings will launch PrivateVolumeSettings and finish itself.
But we still index the preferences in StorageSettings.

Solution: Check if device doesn't support external storage,
add all of StorageSettings preference into nonIndexableKey list.

Bug: 152366015
Test: robotest & manual

Change-Id: Ib559db3455d46a343ad7eb73e54eb72d0e833308
2020-04-27 17:23:46 +08:00
Edgar Wang
71099e7a54 Remove duplicated index search data
Bug: 143055215
Test: manual & robotest
Change-Id: I82583efe37c44014b8949a40d7a695461a7382a9
2020-03-10 19:47:40 +08:00
Edgar Wang
77de405a5d Make TopLevelSettings un-searchable and direct result to relevant page.
Fixes: 149372187
Test: manual & robotest
Change-Id: I9daca03d1c11a262f8e3b55bb46aabbc035ece96
2020-02-14 17:58:38 +08:00
Edgar Wang
0934babbfc Make the fragment title can’t searchable
we shouldn't take users so deep into the settings IA because it's easy
to feel lost in settings after clicking on a result without additional
context.

Bug: 143055215
Test: robotest & manual
Change-Id: I337cb5ead31e1e4e7bf9be78132e90630f83ee43
2020-02-06 19:07:11 +08:00
Raff Tsai
966fa01423 Use SettingsLib Indexable
- Use SettingsLib Indexable
- Directly use resource id in getPreferenceScreenResId

Bug: 135053028
Test: roboletric
Change-Id: I05f493b55e8b6e2091301e9231ba5615215618e6
2019-09-25 18:24:56 +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
Shibin George
a2f013dacb Gracefully handle the case where private volume may be unmountable
If sdcard was removed while format(as phone storage) was
under progress, blkid can fail to identify the UUID of the
private volume. The PrivateStorageInfo.getTotalSize() API
assumes UUID to be always valid which could simply be not the case.
Avoid calling getTotalSize() on private volume when its state
is unmountable.

Bug: 130203877

Test: 1) Insert sdcard as "portable" storage.
      2) Format it as "phone" storage.
      3) Remove the sdcard while format is in progress.
      4) Insert sdcard again -> blkid may fail to id the sdcard.
         In such case, the fsUuid of the private-volume will be reported as "".
      5) Open "Storage Settings". Settings app crashes:

       FATAL EXCEPTION: main
       Process: com.android.settings, PID: 3700
       ...
       Caused by: java.lang.IllegalArgumentException: Invalid UUID string:
       at java.util.UUID.fromString(UUID.java:194)
       at android.os.storage.StorageManager.convert(StorageManager.java:2139)
       at android.app.usage.StorageStatsManager.getTotalBytes(StorageStatsManager.java:121)
       at com.android.settingslib.deviceinfo.PrivateStorageInfo.getTotalSize(PrivateStorageInfo.java:64)

         However, with this CL, "Storage Settings" can be opened
         and the private volume's state is correctly reflected as "Corrupted".
         User can choose to format the volume again.

Copyright (c) 2019 Qualcomm Innovation Center, Inc. All Rights Reserved.

Change-Id: I764603b5806f43f0c6d398f9d6803646774cd912
2019-04-10 10:07:44 -07:00
lindatseng
3debd0691d Tint icon colors of storage screen same as other screen
We were using hard-coded colors to tint the icons on storage screen
for some reasons.  Change it to the same way we tint other icons,
as there's no reason to keep it special, and also per partner's
request to keep it consistent with other screens.

Also update the ic_sim_sd icon from png to vectors.

Test: Manual/Visual verification
BUG: 113977374
Change-Id: Ia0210635e936b6798aaf9e48dd8815a197396065
2019-04-01 19:15:14 +00: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
Risan
2ebf61cd61 Merge "Allow StubVolume to be browseable in Settings" am: 8f516adef7 am: e613923d66
am: 1670c69b7c

Change-Id: Id567d995f6f25a46225a2080609048051cca2337
2018-11-13 12:13:14 -08:00
Risan
9deece9086 Allow StubVolume to be browseable in Settings
Test: Unit test + manual test: Mount and unmount stubvolume in ARC++,
check settings show the device correctly and could browse it using
DocumentsUI.
Bug: 110380403

Change-Id: I96fc82e731225776ac7070ef035687f83da94245
2018-11-08 21:47:22 +00:00
Fan Zhang
130c477044 Remove DashboardSummary and all related classes.
- Condition is already supported in PersonalSettingsFragment
- Suggestion is already supported in PersonalSettingsFragment
- Static/dynamic tiles are supported in TopLevelSettings

Change-Id: I51882e3bd0919ad95109baefac683d98667c11e3
Fixes: 110405144
Test: robotests
2018-10-25 11:27:47 -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
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
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
41ab6b4bf8 Migrate all AlertDialogs to AndroidX version
This CL only changed AlertDialog imports.
So, reviewer can review it easily.

Change-Id: I097bc44394195b14287f4f920c570ac8653f356a
Fixes: 111413092
Test: This CL can't pass Robo test.
2018-07-20 11:32:13 +08: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
hjchangliao
e86eec0c07 Rename SubSettingLauncher.setTitle, add java doc
For make this method usage more clear,
setTitle(charSequence) rename as setTitleText,
add java doc: it is only for user generated string
setTitle(int) rename as setTitleRes.

Change-Id: I972cb6a8ff90873dfdc25c23f6dc3d68103c8e4e
Fixes: 78347436
Test: make RunSettingsRoboTests
2018-05-09 10:00:05 +08: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
Daniel Nishi
3c6627d894 Better public volumes handling on secondary users.
Public volumes are only mounted for a single user at a time, so only
show notifications and launch Intents for the relevant user.

Test: RunSettingsRobotest
Bug: 73642796
Change-Id: Ic386ec03598ab8968b75320be7844b6ac7f1387b
2018-03-28 15:31:17 -07:00
Matthew Fritze
5c5a921efb Add keywords for search terms
A large update for search keywords collected from logging
and individual feedback.

At the moment, we don't have a great way to test that a keyword
matches to a search result. It's a bit akin to testing that the
wifi title is Wifi.

Fixes: 36983488
Fixes: 36622889
Fixes: 76115241
Test: Manual audit of keywords surfacing the proper results.
Change-Id: Ia1031b7f6ec1edfcc28c07e6b55049b8dac7c685
2018-03-23 09:41:47 -07:00
Fan Zhang
1f6d24a991 Get rid of direct usage of Utils.onBuildStartFragmentIntent
Change-Id: I87eb97d6da4cd4f99be5bcdb1e3e245eb1c7bd1c
Fixes: 73250851
Test: robotests
2018-02-20 09:42:31 -08:00
Fan Zhang
b1d6c76b53 Migrate more settings to SubSettingLauncher
Bug: 73250851
Test: robotest
Change-Id: Ifc27b90d68bf4a907f169e19338e9b52ea5f9922
2018-02-18 21:10:03 -08:00
Fan Zhang
f11c885766 Pre-fixup for nav up button
- Remove SettingsDrawerActivity.EXTRA_SHOW_MENU and force up nav button
  to always show. The button doesn't do anything yet. It just finishes
  current activity.
- Remove dead code about suggestions

Change-Id: I61fa9fefbaa9bced841a05969544b1c824c564ce
Bug: 72337421
Test: rebuild
2018-02-07 10:27:18 -08:00
Akshay Joshi
787bca627f Update storage usage to be consistent in settings
Storage usage is calculated differently accross multiple settings pages.
Update the logic to be consistent throughout.

Bug: 70475659
Test: Manual
Change-Id: Id01f39ead76fac505daa20998b0b326b1947a6a4
2018-01-17 19:12:05 +00: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
Daniel Nishi
ab80b6ee9c Merge "Fix PrivateVolumeSettings be launched repeatedly" am: 31a7b2a4c7 am: 5973d32c77
am: f1dc9e65f1

Change-Id: Ib55d4b211b48f4a6e18034f60d91f43748aebe89
2017-10-15 04:30:40 +00:00
Daniel Nishi
5973d32c77 Merge "Fix PrivateVolumeSettings be launched repeatedly"
am: 31a7b2a4c7

Change-Id: I2ee1fe82349968182b21a716a36ac716c0425080
2017-10-15 03:47:13 +00:00
Li YanJia
b699603f68 Fix PrivateVolumeSettings be launched repeatedly
Symptom:
After manually pull out the removable sd card or usb storage in
StorageSettings screen, it automatically moves to
PrivateVolumeSettings screen. This time, launching
PrivateVolumeSettings Activity is triggered six times and end-user
has to press back key six times to exit PrivateVolumeSettings
screen.

Root cause:
When sd card is pulled out, StorageSettings got three state change
event (UNMOUNTED, BAD_REMOVAL and onDiskDestroyed) through
StorageEventListener that triggers launching PrivateVolumeSettings
screen. In addition StorageSettings register the listener two
times, then StorageSettings receives six event in total.
Therefore, PrivateVolumeSettings screen is launched six times.

Solution:
Skip launching PrivateVolumeSettings if it's already triggered.
And removed the duplicated listener registration.

Bug: 67612903

Change-Id: Iabef51677a393977b7be29fc54aa050434213500
2017-10-10 12:49:32 +09:00
Daniel Nishi
c1d42a510a Remove outdated storage search results.
The cache category is gone. Also, downloads no longer comes from that
screen.

Change-Id: Ia9a85b6496b0be3106e0ca8572b7c0aed38f336c
Fixes: 65266640
Test: Manual
2017-09-12 16:05:12 -07:00
Daniel Nishi
0808bdc5da Add "Free up space" to the Settings search.
Change-Id: I8e987595adbd3c32de4001527a2a20478686d3e7
Fixes: 62167072
Test: Manual
2017-06-08 16:13:16 -07:00
Daniel Nishi
0d03b88e91 Make Storage settings title be "Storage".
This more closely reflects the idea that the top level setting title
should match the actual screen title.

Change-Id: Ie7ab1756d799c182cad74041995768037bba710f
Fixes: 37923462
Test: Manual
2017-05-18 11:02:10 -07:00
Daniel Nishi
f4febcc7bb Fix the Storage settings title.
The wrong resource id was passed in for the title.

Change-Id: I5d4bc4d127903f58c0df671504a140fe883c2f17
Fixes: 35961000,36126458
Test: Manual
2017-03-10 13:15:25 -08:00
Jason Monk
6fca98f905 Switch references to colorError
Test: make
Change-Id: I0ed10d78763642cecc5ba8e8e15a097d51280946
2017-02-24 14:57:31 -05:00
Fan Zhang
c6ca314c0b Log source with visibility change
- Add a method in VisibilityLoggerMixin to log visible event using
  LogMaker, which allows logging additional FIELD_CONTEXT field.
- In Utils.startFragment, add current page's metricsCategory as an extra
  to next page.
- In next page's onResume(), extract the previous page's metricsCategory
  and send it to VisibilityLoggerMixin.visible()
- Update all caller with additional paramters

Change-Id: I8e1f2597fa465b7d3aa16fa1d21c052a3219694a
Fix: 35359289
Test: RunSettingsRoboTests
2017-02-15 17:17:19 -08:00
Fan Zhang
4f9e8d4a14 Update storage setting summary text format.
New format: 38% used - 19.80 GB free

Bug: 34975053
Test: make RunSettingRoboTests
Change-Id: I7c8f5f0fe825eade8167764622c940e8234be6a9
2017-02-09 17:08:34 -08:00
Daniel Nishi
1db848885d Go to the old storage settings when using non-internal storage.
There are a few things which, currently, can only be done on
the old storage view. We can continue to use the storage
dashboard fragment for the internal storage, but for SD cards
and USB drives it makes sense to show the old view.

Bug: 34623728
Test: Manual
Change-Id: Ibe640decea6486a75034184c8f9f95bf00411553
2017-01-26 15:03:00 -08:00
Daniel Nishi
769d16ed65 Update StorageSettings to use StorageDashbordFragment.
It previously was set to use the PrivateVolumeSettings. By
swapping it with the new view, we can retain the existing
behavior for external storage (PublicVolumeSettings).

This also restores the summary text to the main Settings
screen.

Bug: 34197071, 34195303
Test: Verified locally that StorageDashboardFragment is started
      instead of the PrivateVolumeSettings.

Change-Id: I5de0ea8de799d758272a1406856ae7de9b6fcc8e
2017-01-10 14:22:12 -08:00
Jeff Sharkey
b7fc7ade40 Refresh Storage UI atomically.
Test: builds
Bug: 29275971
Change-Id: I0f5131631ae12bc57e66545513ad60b7cbcd179b
2016-11-15 14:06:44 -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
Daniel Nishi
88110e21f6 Merge "Move private volume storage calculations into a shared lib." 2016-09-27 16:45:14 +00:00
Philip P. Moltmann
4b2406f3f3 Merge "USB restriction is similar to media restriction" 2016-09-21 18:14:22 +00:00
Fan Zhang
1e516287bd Add visibility metrics to dialogs.
Bug: 30681529
Test: adb logcat -b events | egrep "(sysui_|notification_)"
Change-Id: I199d2e1b2cb8588a562b46bb8128d8ece24952f0
2016-09-19 17:34:12 -07:00
Daniel Nishi
355390da93 Move private volume storage calculations into a shared lib.
Bug: 30895163
Test: m RunStorageManagerRoboTests
Change-Id: I3e464c8b721373ebc1527eb5411622c69bf587d1
2016-09-19 12:16:21 -07:00
Philip P. Moltmann
58e2b50292 USB restriction is similar to media restriction
Bug: 31472955
Change-Id: I3682ccd102565982c434d70fc0d907b1aa779689
2016-09-14 13:31:29 -07:00