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
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
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
- Use SettingsLib Indexable
- Directly use resource id in getPreferenceScreenResId
Bug: 135053028
Test: roboletric
Change-Id: I05f493b55e8b6e2091301e9231ba5615215618e6
- 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
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
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
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
- 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
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
Having consistent import order will reduce chance of merge
conflict between internal and external master
Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
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.
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
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
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
- 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
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
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
The cache category is gone. Also, downloads no longer comes from that
screen.
Change-Id: Ia9a85b6496b0be3106e0ca8572b7c0aed38f336c
Fixes: 65266640
Test: Manual
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
- 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
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
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