Fix layout problem which prevents the user from
scrolling to the last list item in the "all apps"
view when the spinner ("all apps", "installed apps"
,"disable apps") is present.
Bug: 199476116
Test: 1. Enter Settings -> All apps
2. Disable any app
3. Scroll to the end of the app list
The last item (e.g. YouTube) should not be visible
underneath the navigation bar.
Change-Id: I1c29fd979697316e48460e466c33f202dcf6a8f4
A best UX is to hide pinned header when scrolling up
and show pinned header when scrolling down. It needs
CoordinatorLayout and CoordinatorLayout.Behavior to
control the expected UX.
However, we have an outer CoordinatorLayout in
CollapsingToolbarBaseActivity, if we use CoordinatorLayout
here, the inner one will not pass scroll value to its
parent. We will have no overscroll effect problem and
tool bar no collapsed problem.
This workaround draw pinned header at last and
assign background color to cover content.
Bug: 187376670
Test: manual visual
Settings -> Notifications -> App Settings
Settings > Apps > all apps
Change-Id: I217fba917d11f63d954369c18e0361112ff981fe
Fixes below UI issues
- "No Apps" may not show in fragments of profile tab.
Fix it by using ConstraintLayout to specify alignments
of each view and removing extra padding.
-- "No Apps" may flicker by moving position.
The flicker is from unnecessary visibility changes.
This change integrates empty view visibility
control in LoadingViewController to simplify code
and avoid unnecessary visibility changes.
Bug: 189390795
Bug: 183398721
Test: atest com.android.settings.deviceinfo
make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
Manual visual, observe UI
Settings -> Storage -> Games
Settings -> Notifications -> App Settings
Settings > Apps > Special app access > Media management apps
Change-Id: I634209c6f8466e2adae703226902190bbdf470b9
This reverts commit 4a97095e36.
Reason for revert: <It has abnormal scroll behavior when there is no profile tab>
Bug: 191945032
Bug: 191944934
Change-Id: Id6c71fbec4f490034bc07f6d8c9efabcb877d110
Fixes below UI issues
- "No Apps" may not show in fragments of profile tab.
Fix it by using ConstraintLayout to specify alignments
of each view and removing extra padding.
-- "No Apps" may flicker by moving position.
The flicker is from unnecessary visibility changes.
This change integrates empty view visibility
control in LoadingViewController to simplify code
and avoid unnecessary visibility changes.
Bug: 189390795
Bug: 183398721
Test: atest com.android.settings.deviceinfo
make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
Manual visual, observe UI
Settings -> Storage -> Games
Settings -> Notifications -> App Settings
Settings > Apps > Special app access > Media management apps
Change-Id: I9a2500f2fd1dd073ab88f26187541964719523d0
- Turn on the collapsing toolbar by default.
- Remove the silky flag from All apps page.
- Ignore tests of ChooseLockGenericTest and trace it on b/179136903.
- Remove silky flag.
Fixes: 183670633
Bug: 179136903
Test: robotests & visual
Change-Id: Iee2a9e7ccaebd1624f995af4fd45446142e5f500
App info page has enabled the FastScroll for recycler view to provide a
vertical scroll bar.
In tabbed screen, the default scroller will be shown and then occurred
overlap problem with FastScroller.
Hide the default scroller to fix this double scroller problem.
Fixes: 150285712
Test: visual
Change-Id: I26390a0497d820e3a07e8df247a4bc03b5ff23d9
Since LinearLayout have only one view(FrameLayout),
LinearLayout is redundant.
It can improve a bit render time.
Test: Open App info screen
Fixes: 124702325
Change-Id: I368b20c5f9916b876586dab71eac43512664d15b
If a Recycle view inside in a NestedScrollView,
The times of calling recyclerView#onCreateViewHolder()
is requal to its data set.
When there are large set of apps need to be shown,
RecyclerView will need to take many time to call
onCreateViewHolder for each item.
So, it causes the screen is janky or freeze UI when page
is loading large data set.
For now, we get rid of NestedScrollView, just use RecycleView
and AppBarLayout to have same bahavior for spinner.
Fixes: 124384314
Fixes: 123036231
Fixes: 122964660
Fixes: 123088178
Test: 1. Select show system in App info screen. Observe whether there
is any janky.
2. Select show system in App info screen, and then change device
orientation. Observer whether there is any janky.
3. Go to Settings > Apps & notifications> Advanced > Special app access >
Select "battery optimization", and then Tap drop down and select "all
apps". Observe whether ther is any janky.
Change-Id: Icd65e91eec3b32476d80cc12e9c4baa71151306a
When there is no need to show filter component,
we don't need to set an extra padding top.
Test: robotest, visual
Change-Id: Ieaa65ed9785a06f0737aefaf102d0c857002bbdd
Fixes: 123037802
Using new layouts to make filter component appear
floating on top of the page.
The layouts contain the NestedScollView and AppBarLayout.
The NestedScrollView was given a layout_behavior which
defined the behavior of AppBarLayout.
Test: visual
Change-Id: Ia76104f80c6b60ac6c8f5937ebface8e9a7238b5
Fixes: 121148001
- Replace ListView with RecyclerView in layout
- Replace ApplicationAdapter's superclass to be RecyclerView.Adapter
- Change adapter interfaces (where necessary) to work with RecyclerView
- Replace fast scroll with Recycler's mechanism (all in xml)
- Removed section indexer (text bubble when fast scroll) because
recyclerview doesn't support it.
Bug: 64804294
Test: robotests
Change-Id: I55b221836ce6abdeddf4568c8a8a5632cbddbd3b
Use SettingsPreferenceFragment's method for pinned headers where
possible, and add a frame within the fragment for them to live in
otherwise so that this view doesn't end up on the activity.
Bug: 20886475
Change-Id: I985eb1497744ea50bfabed862e5088eb89df5b61
Also add loading screen to manage permissions as this can take a
long time to load in some circumstances. Build loading screens into
Utils and SettingsPreferenceFragment so that it can be easily used
other places in the future.
Change-Id: I7febd06695487e02ced793a9fd418051b5f0eab8
This adds a spinner to the apps screen which can be used to toggle
between the Settings app in the primary and managed profile so that the user
can edit settings belonging to both profiles.
Bug: 16369104
Change-Id: I09a94c07597e6509de025dfbbe0e454ae3d9b0aa
- updated the LinearColorBar colors, the gradient colors on top of it
and also the label colors too for being compatible with the rest of
the Settings App theming
Change-Id: If88be4ac7084d26299e8e738389279bec636ccd6
- well this CL is only for preventing a wrong rendering (the real CL would need to be one latter
and would need to fix the onDraw(Canvas) for LinearColorBar so that it takes care of the layout direction)
- force LTR layout direction on the LinearColorBar, hence preventing the two TextView to render their
text "in the middle".
- use BidiFormatter to wrap number strings
Change-Id: Ie164e5509c0364a81c85a3ac69f97a89f20a4130
Push scrollbar to screen edges on custom ListView and ScrollViews to
match Preferences framework behavior.
Bug: 7633165
Change-Id: Ideecd0e243c7de7bf977caef2b1585e707a00ca4
Turn everything around so that we can have multiple list views
with their own adapters. Switch to using a ViewPager for managing
the different lists. Smile!
Change-Id: I9c102abb06cf67f313a8696507aa4597b38c7ab9