Commit Graph

13 Commits

Author SHA1 Message Date
Behnam Heydarshahi
806297f85c Extend settings panel under navigation bar
The panel used to sit above the navigation bar. Now it extends down all
the way to the edge of the screen.

Bug: b/250484565
Test: make ROBOTEST_FILTER=SettingsPanelActivityTest RunSettingsRoboTests -j40
Test: Manual. When volume panel is opened, verify that it extends all
the way to the bottom of the window, instead of sitting on navigation
bar. Panel can be opened with:
adb shell am start -a android.settings.panel.action.VOLUME
Substitute VOLUME with NFC and WIFI for the other settings panels.

Change-Id: Ibae5d3602231e2309b5ff847c630a1f8c82ea355
2023-03-10 18:30:08 +00:00
Alex Stetson
aff80d1e14 Use shared model for non-system overlay toggle
Allows settings applications on other platforms to re-use values by
migrating to Settings.secure and moving HideNonSystemOverlayMixin to
SettingsLib.

Bug: 184967544
Test: atest SettingsUnitTests
Change-Id: If9aaeca29ebb8b481d75622934503e368d7435d3
2021-05-06 08:28:19 -07:00
timhypeng
d41cb031c9 Remove intent filter of Output panel
-remove com.android.settings.panel.action.MEDIA_OUTPUT
-remove com.android.settings.panel.action.MEDIA_OUTPUT_GROUP

Bug: 170558292
Test: build pass
Change-Id: Ifb4f0a492e9ed7a5848035577cbc044d010bf5dc
2020-12-23 02:24:41 +00:00
Jason Chiu
6a8d2c5e55 Fix the endless panel loading
Re-launching volume panel continuously will trigger an endless panel
loading, show a transparent unfinished UI, and then block the user's
screen.

Root cause:
When the activity receives a new intent from user's clicking, it will
call PanelFragment#createPanelContent to update the current fragment.
The method triggers an animation and then loads the panel content. If
multiple invocations run concurrently before the animation or the
loading finish, the loader's countdown latch will be increased
abnormally and lead to the endless loading.

Solution:
1. Since the invocations are in UI thread, simply add a flag to avoid
reentrance when the panel is animating or loading.
2. Filter out the same panel's creation request when the panel is still
visible.
3. Do not force a panel's recreation when it's under construction.

Bug: 143889510
Bug: 160491854
Test: robotest, manual
Change-Id: I821faedeb62354929f3af9804cbbe44ee5bb8a53
2020-09-03 07:10:21 +00:00
Tim Peng
e54e0296ca Incorrect panel layout after rotation
-Handle onConfigurationChanged and force to update layout
-Add test case

Bug: 144751509
Test: make -j42 RunSettingsRoboTests
Change-Id: Ic170d4f6f045299c0520e899e06b5b4e9f009643
2020-04-15 03:16:30 +00:00
Raff Tsai
dfba9a0f6d Change Panels creation interface to take a bundle
Fixes: 124399577
Test: robolectric
adb shell am start -a android.settings.panel.action.WIFI
adb shell am start -a android.settings.panel.action.VOLUME

Change-Id: I9e13357444e4ebeee50fb8cc68fbc974ce5fffb6
2019-10-18 13:21:18 +08:00
Sunny Shao
647e49e7cf Add Tapjacking Protection for SettingsHomepageActivity
Add/remove the SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS flag into/from
SettingsHomepageActivity and SettingsPanelActivity with lifecycle.

Bug: 138442483
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.homepage
      make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.panel
      manual test
Change-Id: I72f9a947f57f74a8c09127d6c39173594c248ddc
2019-08-01 23:36:12 +08:00
lindatseng
f19f7981df Fix robotests in settings/panel
Remove @Ignore for tests in settings/panel after testing.
Also update VolumePanelTest according to the recent changes to
remote volume slice.

Test: atest PanelFragmentTest
Test: atest SettingsPanelActivityTest
Test: VolumePanelTest
Fixes: 130896218
Change-Id: Iaa99e65d959cafd382d7209664f2fdbf660c29e0
2019-04-23 15:03:34 -07:00
Fan Zhang
ef2e91913b Add @Ignore for all failing tests.
Bug: 130896210
Bug: 130896218
Bug: 130896701
Bug: 130897882
Bug: 130897305
Bug: 130897640
Bug: 130896049
Test: robo
Change-Id: I77143d504501b358c2103aa736cd2aad13ed4c5c
2019-04-19 13:23:29 -07:00
lindatseng
79957c3217 Update panel logging to include all hide page cases
The old logging only include see_more, done, and clicked_out when hiding
the panel page.  We were missing many cases that user might use back
button, app switch button to close the page.

Update the hide page keys to change the clicked_out to others to
include all the other cases which hide the page.

Test: Manual verification
Test: atest PanelFragmentTest SettingsPanelActivityTest
Fixes: 130169553
Change-Id: Icede9a8dcb84565cba183963c9fb554507631c98
2019-04-12 11:33:41 -07:00
hughchen
e13e09d1b4 Update output switcher behavior and UI design
- Remove media stream stuff, use active device info as header.
- Show the sub title of media device.
- Add new requirement, when user click disconnected bluetooth device,
  will auto connceted it.
- When bluetooth state is off, do not showing content of slice.

Bug: 127201385
Test: make -j42 RunSettingsRoboTests
Change-Id: Ie1880ba3ef9910a42caf0cca2b6502e54787f5a0
2019-03-11 11:44:27 +08:00
Matthew Fritze
b197110f71 Add logging for SettingsPanels
The 3 main categories are:
- Panel Opened
- Panel Closed
- Panel Slice interaction

There are 3 close events:
- See more button
- Done button
- Clicking outside the panel

Slice interactions will log the Uri of the Slice and the ActionType,
such as Toggle, Slider, Content (intent).

Change-Id: Iecad948f39f50dd12ae1bcb23a5d523e0df8bb98
Fixes: 117804231
Test: robotests
2019-02-13 16:06:24 -08:00
hughchen
2177813531 Add entry point to launch media output slice
Add media output panel type to launch media output slice.

Bug: 121083246
Test: make -j RunSettingsRoboTests
Change-Id: Ibf706146430e309fef6cbf0e1e86c2d5b78b50d5
2019-01-28 12:02:08 +08:00