Sliceable.isCopyableSlice() is not set to true for any controller, so this function is not used.
Usage is removed in Change: I81474aed994678c42d73cc59e169573880de1378
Bug: 227722942
Test: robotest & manual
Change-Id: I86e23aa8ad43f60b5017ff0a278e20e3f727706c
- Add an interface to get highlight menu key resource in Sliceable
- Force implementing the new interface in TogglePreferenceController and
CustomSliceable at syntax level
- Update the slice index db schema
Bug: 204695404
Test: manual, robotest build pass, unit
Change-Id: I0b5068bccd04f1590023de7f3385bc0a4c6fa47b
- add a standalone home activity for slice deep link.
- add EXTRA_IS_FROM_SLICE to control the slice deep link flow.
- Intent#parseUri fails if the intent data schema is set.
Add EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_DATA to relay the
data schema.
Bug: 201397123
Test: manual, robotest
1. Say 'Enable NFC'/'Enable Bluetooth'to Google assistant.
2. Click the the NFC/BT Slice.
Change-Id: Ia3216956328c32b2109cb2d70ad1105327661f26
- Android S+ to specify explicitly either FLAG_MUTABLE or FLAG_IMMUTABLE
when creating a PendingIntent.
- Suggest to use the FLAG_IMMUTABLE as default. Change it to
FLAG_MUTABLE while errors occur.
Fixes: 170162598
Fixes: 170162878
Fixes: 170163592
Fixes: 170164316
Fixes: 170164458
Fixes: 170164327
Fixes: 169794524
Fixes: 170165106
Test: build pass, manual test add an account and volume control panel
Change-Id: I5aec028f82bd74fc4530b95a7c144811055ae2c5
The screen title of Settings pages could be empty, e.g., Mobile network
detail page. It will cause NPE when Settings generates the slice
object, and then results in the Settings Search showing empty view for
slice search result. It’s a bad user experience, we need to add the null
check to avoid it.
Bug: 157986273
Test: robotests
Change-Id: I8bf6a081c6b3e97ccb173424ff4a310ae863ae2f
- Reload theme in slice provider when Dark theme mode changes for slices
- Reload theme in onCreate of Panel activity for its non-slice header
- Remove applyTheme from individual slices
Test: robotest
Fixes: 153700819
Change-Id: I40a7d2817c4b9100d7b2f2962a69c8a9ce6f7906
We would like to remove all sub-text from Settings Search. But slice
view does not support API to configure the sub-text visibility.
Therefore, the only way is to remove the sub-text from slices directly.
Since Settings slices are also invoked by other apps, we can not
directly remove the sub-text.
Finally, we decide to check the caller's uid. If it comes from Settings
Search, we will return the slice without the sub-text.
Bug: 143118037
Test: visual, robotests
Change-Id: Iac72f1683a2c930592634e0599058890d86f669d
-show icon at left side of Slice if the mapping preference contains icon
-align MediaOutputIndicatorSlice layout with other volume slice
Bug: 148821795
Test: make -j42 RunSettingsRoboTests
Change-Id: I5b0cf7f32f355503942cb62ccf36f77ceeb1b30d
slider position is smaller than min value causes the exception.
Fixed by limit the position within min and max value.
Fixes: 148270968
Test: manual
Change-Id: I3d162f6d2f1035b81b1b2eb915b488084e7ea36e
- Use FLAG_ACTIVITY_NEW_TASK to prevent activity stack contains
many activites
Fixes: 142231489
Test: 1. Press volume button and click in volume settings button
2. Press Media Volume to open SoundSettings
3. Repeat 1, Press Call Volume to open SoundSettings
4. Repeat 1, Press Alarm Volume to open SoundSettings
5. Press back, should see volume panel
Change-Id: I87cd75fbd43f77446191ad50ed7a002a2202337f
Fixes: 140990940
Test: 1. Switch to dark theme
2. adb shell am start -a android.settings.panel.action.VOLUME
3. check volume slider color is identical to color in "Done"
4. Switch to light theme
5. adb shell am start -a android.settings.panel.action.VOLUME
6. Check volume slider color is identical to color in "Done"
Change-Id: If783d5c5f8604a23cfaaa28cf42b916763f9c9e8
The issue happens when users are toggling slices. Sometimes the toggle
doesn't work as expected because the pending intent of the toggle action
seems to be canceled for some reasons.
Hence, we replace FLAG_CANCEL_CURRENT with FLAG_UPDATE_CURRENT to
prevent from getting PendingIntent.CancelExcpetion from SliceActionView
when toggling slices.
This change only applies on those auto converted Slices.
Bug: 140719905
Test: toggle slices in Settings Search and NGA
Change-Id: Iff724ce5f6a1e6a7d9ca85b8ce76539a72e72964
Merged-In: Iff724ce5f6a1e6a7d9ca85b8ce76539a72e72964
(cherry picked from commit ddf6cefcac)
The issue happens when users are toggling slices. Sometimes the toggle
doesn't work as expected because the pending intent of the toggle action
seems to be canceled for some reasons.
Hence, we replace FLAG_CANCEL_CURRENT with FLAG_UPDATE_CURRENT to
prevent from getting PendingIntent.CancelExcpetion from SliceActionView
when toggling slices.
This change only applies on those auto converted Slices.
Bug: 142107748
Test: toggle slices in Settings Search and NGA
Change-Id: Iff724ce5f6a1e6a7d9ca85b8ce76539a72e72964
And slightly refactored the SliceDataConverter to remove 1 reflection.
Bug: 126222433
Test: robotest
Change-Id: Ic5782bdd71f5c9cb77879a35de81dc61c01d1912
Return null when slider getMax() <= getMin(), instead of force
build it to make it crash
Fixes: 132657278
Test: RunSettingsRoboTests
Change-Id: I9f3c078ae07522aa8f1cebdee3f73df2d014d6bb
We did not set the min value on slider slices when converting them
from preference to slices, which makes the slices all have min 0.
However, there are some slider which should have min value greater
than 0, for example, call and alarm.
We should get the min value and apply it to slider slice to make it
consistent with what we have in settings pref.
Test: Manual verification
Test: make -j40 RunSettingRobotests
Test: atest VolumeSeekBarPreferenceControllerTest
Fixes: 130439216
Fixes: 130358208
Change-Id: Ib4399c36c7da3ac41a6d46a6c150f0ec1b9b0b0f
- Add boolean useDynamicSliceSummary() in Sliceable interface. This is
the switch equivalent to android:allowDynamicSummaryInSlice in xml. It
moves the setter closer to regular Sliceable APIs, thus less easily to
miss.
- Coverted all android:allowDynamicSummaryInSlice to use the java API.
- Except 2 prefs in my_device_info. They incorrectly set this to true
previously (controller is not sliceable, no point setting
dynamicSliceSummary to true. They just won't do anything)
Fixes: 128446156
Test: robolectric
Change-Id: Ic57acd590dec3e87dcf4592df137321d14b854d9
It's only a slice concept. Regular preference copyability is handled in
xml.
Bug: 112427717
Test: rebuild
Change-Id: Iaba7077c320cd03a5963797916a60e0dc80fdbbe
- Update conditional card layout
- move action button from right side to bottom.
- Get rid of the forking between small/big screens.
- Update a few icons
Fixes: 121189136
Fixes: 124315564
Fixes: 124316920
Test: visual
Change-Id: I205d9995a2d7ed06ad9d32f3cea74f2840a28aed
When a slice is depending on some setting and the setting is off,
it shows "depends on another setting".
Add an new attribute for Preference to customize the subtitle when
a slice is unavailable.
Bug: 118399193
Test: Robo test on com.android.settings.slices, com.android.settings.core
Change-Id: I84a8400295b36abb357e5baf98e9be3a8d6ea897
Presenter needs to disambigue multiple slice action PendingIntents, just
setting extra is not enough.
Bug: 117445451
Test: manual
Change-Id: I26e10bc064585e241def72e6b5194c117a9ebc16
- Replace new SliceAction with SliceAction.createDeeplink() or
SliceAction.create()
Test: make RunSettingsRoboTests
Change-Id: Ied34469d2220d8220a2dcc6c2fb4d32dd9cd9b8c
Fixes: 119879284
And move ic_a11y_generic from mipmap to drawable. IconCompat doesn't
support mipmap.
Bug: 118691898
Test: robotests
Change-Id: I6799f3d31d2c5654319e5a97bf8ca14992e785a7
For now, slice view shows screen title by default,
but it isn't approprate for some simple cases.
ie, device model, phone number, android version etc.
So, We create a new attribue which let BasePreferenceController
be more flxible. User can choose what they want to show
in summary text.
Fixes: 74900516
Test: make RunSettingsRoboTests
Change-Id: I2788c6edfaf8e656170a507607f22513841a3e0a
Having consistent import order will reduce chance of merge
conflict between internal and external master
Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
Currently, when a Settings Slice dosen't have an icon, we add an IconCompat
object with the resource 0x0 - which gives an empty icon. This is from the UX
direction that we should only have icons for Settings Slices when the
corresponding Settings have icons in the Settings UI.
However, this causes an issue with a recent change to SliceView, which crashes
the UI when a Slice is rendered without an icon. Previously, the icon code path
was only exercised when the Slice Shortcut view was being used, but after the
change, the icon path is always used and thus crashes when trying to fetch a
resource with id 0x0 from Settings or another provider.
About 2/3rds of Settings Slices do not have icons.
This change adds the Settings App icon as the back-up icon for any Slice which
would otherwise not have an icon.
The impact of missing this change is:
- Settings Slices cannot be shown in launcher spaces until a post-P update comes
from the support library.
- If Settings launches with the bug, Slices cannot patch the API which would require
all Slices to have a non empty icon (b/111438616)
Bug: 111082093
Test: Robotests, Settings Search UI testing, Slice browser testing
Change-Id: I6f326b6b41bf59011a211c6340dd639f68e754e1
- Make SettingsPreferenceFragment implement Indexable directly
- Add existing fragments that are SettingsPrefFragment but not Indexable
to grandfather list.
- Fix "font size" fragment so it shows up in search properly.
- Remove duplicates for "lock screen display", "Screen saver".
Bug: 70720645
Test: robotests
Change-Id: I44ce0cac0fdf5e882b315861bb4bebc45dbe01e6
Index is already handled by SettingsIntelligenec. No longer needed in
Settings.
Change-Id: Id43fb3100dc2759185744441cff8cb9cd2d2da20
Fixes: 69808376
Test: robotests
To unify all Settings slices into one row, we change
Settings Slider from user a header and a input range to
only using an Input Range.
Change-Id: I61715a45b29b6a52a47711811e5c6b2c83d50901
Fixes: 80430118
Test: robotests