Commit Graph

1012 Commits

Author SHA1 Message Date
Weng Su
7171e0a29b Show "Not available" summary when hotspot speed is unavailable
- Show "Not available" summary when hotspot bands (5 GHz and 6 GHz) are unavailable

- Update debug logs to track down issues

Bug: 285769583
Test: manual test
atest -c WifiHotspotSpeedSettingsTest
atest -c WifiHotspotSpeedViewModelTest

Change-Id: If1050c120b4b612d3a9adbe886c2f12db82b793e
2023-06-08 21:38:01 +08:00
Weng Su
f7d8f0481d Fixed unable to enable hotspot with Security None
- Due to the design adjustment, the default value of SoftApConfiguration is not Security None, so the update of Security None cannot be omitted.

Bug: 283762826
Test: Manual test
atest -c WifiTetherSettingsTest

Change-Id: I07d18b8f73ab8190152332c01814a4bd72cf28d6
2023-05-26 12:26:31 +08:00
Vincent Wang
818f77cd1f Test Fix SettingRobolectricTest Fail
Bug: b/275023433
Test: NA
Change-Id: If2dcb8f6c196327129ccc9375b190e394c994efa
2023-05-09 06:26:39 +00:00
Weng Su
8c50edd1e7 Fixed speed selection lost when changing password in Wi-Fi hotspot settings
- Use current SoftApConfiguration to build new SoftApConfiguration to keep unchanged properties

Bug: 279717060
Test: manual test
atest -c WifiTetherSettingsTest

Change-Id: I3ee7960b13b339445cc79c3d440f5c56c78c015f
2023-04-27 14:55:52 +08:00
Weng Su
bf0e8c1dc7 Restart Wi-Fi tethering automatically if configuration change
- When the Wi-Fi Hotspot is already started, if the user changes the configuration, the Wi-Fi Hotspot will be restarted automatically.

- When the Wi-Fi hotspot restarts, display a circle on the screen to indicate that it is processing.

Bug: 245258763
Test: manual test
atest -c WifiTetherSettingsTest \
         WifiHotspotSpeedSettingsTest
atest -c WifiHotspotRepositoryTest \
         WifiHotspotSecuritySettingsTest \
         WifiHotspotSecurityViewModelTest \
         WifiHotspotSpeedViewModelTest \
         WifiTetherViewModelTest

Change-Id: I6fdd5892916703095f28d0589ebc3b7dd59fcd61
2023-04-21 13:06:44 +08:00
Weng Su
d965ff3049 Fallback to "Extended Compatibility" if Speed feature is not ready
- Fallback to the "Extended Compatibility" design when the following conditions occur
  - 5 GHz band is not supported on the device
  - 5 GHz SAP available channels cannot be obtained from WifiManager
  - 6 GHz SAP available channels cannot be obtained from WifiManager

Bug: 272450463
Test: manual test
atest -c WifiTetherSettingsTest
atest -c WifiTetherViewModelTest \
         WifiHotspotRepositoryTest \
         WifiTetherSecurityPreferenceControllerTest.java \
         WifiTetherMaximizeCompatibilityPreferenceControllerTest

Change-Id: If7c8c41ebe86f5e7d8e4737ab7a82d38c9d633de
2023-04-18 20:49:25 +08:00
Treehugger Robot
be76ebdc5b Merge "Add Wi-Fi hotspot > Security Settings page" into udc-dev 2023-04-13 08:24:34 +00:00
Weng Su
9f80cd2f77 Add Wi-Fi hotspot > Security Settings page
- Restrict low security type when 6 GHz band is selected
  - Disable "WPA2/WPA3-Personal" security type
  - Disable "WPA2-Personal" security type
  - Disable "None" security type

- Automatically updated security type to WPA3 when 6 GHz band is selected
  - Regenerate password when security type is changed from None

Bug: 245258763
Test: manual test
atest -c WifiTetherSettingsTest
atest -c WifiTetherViewModelTest \
         WifiHotspotSecuritySettingsTest \
         WifiHotspotSecurityViewModelTest \
         WifiHotspotRepositoryTest

Change-Id: I31b08795419baed10dc40b876aeec175f6f41e69
2023-04-12 18:19:49 +08:00
Quang Luong
d6d560ff6e Don't overwrite security params when editing saved config
WifiConfigController2 sets the security params of a saved config, which
may overwrite @hide fields like SecurityParams#mIsAddedByAutoUpgrade. To
prevent this, only set the security params for a new config, and use the
existing security params for existing configs.

Bug: 262312532
Test: atest WifiConfigController2Test
Change-Id: I9ef5eb8ce2b4208e1fad27bd68fc4f0fad7d1008
2023-04-04 00:55:13 +00:00
TreeHugger Robot
d82f2eae5c Merge "Revert "Disallow screenshot on Wi-Fi QR code settings"" into tm-qpr-dev am: 23c17977fb am: b3599ae3b6
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22317902

Change-Id: I3940fb8e1333d051d12ddb5001717d473bf89d39
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-30 17:18:01 +00:00
TreeHugger Robot
b3599ae3b6 Merge "Revert "Disallow screenshot on Wi-Fi QR code settings"" into tm-qpr-dev am: 23c17977fb
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22317902

Change-Id: Ieb852ea9a7963f0407f7a78e38df0050085ffbfc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-30 16:30:11 +00:00
TreeHugger Robot
23c17977fb Merge "Revert "Disallow screenshot on Wi-Fi QR code settings"" into tm-qpr-dev 2023-03-29 19:51:37 +00:00
Weng Su
cc53f44d49 Revert "Disallow screenshot on Wi-Fi QR code settings"
This reverts commit 950837b20f.

Reason for revert: The security issue is downgraded to NSI, remove the screenshot protection to rollback the original design.

Change-Id: Iecaf7e4e19dc3452a7d2aeaf32bf38619e760c76
2023-03-28 19:30:11 +00:00
Weng Su
17631aeff7 Added "Speed and Compatibility" Settings page
- Show each band option individually in single-band devices
  - Show "2.4 and 5GHz" combined option in dual-band devices

- Disable 5 GHz option if the device is in the restricted country

- Disable 6 GHz option if the device is in the restricted country
  - Hide 6 GHz option if the old device does not support 6 GHz band.

Bug: 245258763
Test: manual test
atest -c WifiHotspotSpeedSettingsTest
atest -c WifiHotspotSpeedViewModelTest \
         WifiHotspotRepositoryTest

Change-Id: I358d4ff8d62df72fd5080e55f40d588c238d01fb
2023-03-23 10:53:43 +08:00
Lifu Tang
caa1b51ef2 Revert "Remove duplicate strings."
Revert submission 19748582-settings_yesno

Reason for revert: Common strings in English could be translated into different strings in other languages.

Reverted changes: /q/submissionid:19748582-settings_yesno

Bug: 272603842
Test: build and open Settings app
Test: atest SettingsRoboTests
Change-Id: Iaad301c5513478fb95e40987ea3ccb4f923d71fa
2023-03-15 22:39:24 +00:00
Weng Su
bcca5ebf1a Add "Speed & compatibility" preference to Wi-Fi hotspot Settings
- Show 4 speed types in summary
  - 2.4 Ghz
  - 5 Ghz
  - 2.4 and 5 GHz
  - 6 GHz

Bug: 245258763
Test: manual test
atest -c WifiTetherViewModelTest
atest -c WifiHotspotRepositoryTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherSettingsTest

Change-Id: I6deb41cb355b0ceb1f1fd2d84408a83b90433e7d
2023-03-09 20:06:37 +08:00
Weng Su
d7bbd4505c Refer to the last Hotspot password when generating the password
- Query the last Hotspot password when security type is SECURITY_TYPE_OPEN and it will be used when the user changes to another security type

- If the last hotspot password is an empty string, then generate random password

Bug: 201789473
Test: manual test
atest -c WifiHotspotRepositoryTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherPasswordPreferenceControllerTest

Change-Id: Id3a846099238433e7b6c8b934fa26a74df0dcb61
2023-02-24 11:22:40 +08:00
Weng Su
a346f5b5e2 Initialize Anonymous identity field for TTLS and PEAP EAP methods
- The anonymized identity field will only be displayed for TTLS and PEAP EAP methods

- Initialize the default anonymous identity when it is displayed

Bug: 267517525
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiConfigController2Test

Change-Id: I08bd322ff6d86c44298ebd1c4926c0a1363a16ce
2023-02-08 23:42:33 +08:00
Weng Su
f779e6c9d3 Add toggle for Wi-Fi hotspot
- Add Wi-Fi hotspot toggle with vertical divider

- Disable preference and toggle when Data Saver is enabled

Bug: 245569117
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=TetherSettingsTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherPreferenceControllerTest
atest -c TetheringManagerModelTest

Change-Id: Ic2baf7d3d0a7bf9527da38d24ecc511b7c91265a
2023-01-13 08:52:54 +08:00
Sorin Basca
a962b4b712 NEW Use Mockito 4.6.1 API
Addressing skipping merge issue

Bug: 236636175
Test: atest SettingsRoboTests
Change-Id: Ie7caae0ea9aa212f1ee06d6fe89fa0776979e4e6
Merged-In: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
2023-01-12 01:35:44 +00:00
Karen Lu
869fd2f33e Revert "Use Mockito 4.6.1 API"
Revert submission 20749672-cherrypick-robo-mockito-4.6.1-4rg619yrrf

Reason for revert: Breaking the build on tm-qpr-dev. Bug tracked here: b/264473028

Reverted changes: /q/submissionid:20749672-cherrypick-robo-mockito-4.6.1-4rg619yrrf

Change-Id: Ie9d9d944093752f44eff67627e4a35f4df47e6de
2023-01-05 05:15:10 +00:00
Weng Su
fbe02cd543 Fix the end-icon missing issue for Wi-Fi networks
- Because WifiEntryPreference needs to support policy transparency, the inherited class is changed from Preference to RestrictedPreference.

- The RestrictedPreference will hides the end icon as default, causing this issue to happen.

- Override the getSecondTargetResId() function with necessary resource id to avoid the end-icon being hidden.

- Remove the redundant setWidgetLayoutResource, because it will be initialized in the extended class.

Bug: 262456749
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiEntryPreferenceTest

Change-Id: Ie3d3a649d3137dc705d7887c8e74592437d9ce61
2022-12-30 05:06:54 +08:00
xinghailu
897fd74731 Cleanup some plurals in Settings
Change <one> to <1> in string res file, and update related java files.
Test: Update, existing test still pass.
bug: 199230342

Change-Id: Idd0ba3c6adc060da21574d98f8ed765fae00cef8
2022-12-22 16:05:13 +08:00
Sorin Basca
93c143ed0a Use Mockito 4.6.1 API
Bug: 236636175
Test: m RunSettingsRoboTests
Change-Id: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
Merged-In: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
2022-12-19 22:24:45 +00:00
TreeHugger Robot
2bd5b1c75f Merge "Check multiple security types for Wi-Fi NetworkRequest" into tm-qpr-dev am: 47d87cb48d
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20666966

Change-Id: I745c07401d1130ad320c476928f21d68c388f600
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-09 05:55:31 +00:00
Weng Su
c4d0597373 Check multiple security types for Wi-Fi NetworkRequest
- The WifiEntry already support multiple security types simultaneously from framework

- For backward compatibility, WifiEntry supports both getSecurity and getSecurityTypes methods

- However, the getSecurity method can only return one type of security, causing NetworkRequest to fail to match another type of security
  - WifiEntry:      getSecurity:WPA2   // getSecurityTypes:{WPA2, WPA3}
  - ReqeustNetwork: getSecurity:WPA3

- Need to use getSecurityTypes to check for matching WifiEntry

Bug: 205943818
Bug: 249713442
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=NetworkRequestDialogFragmentTest

Merged-In: I8848ccd1cb0589284a48ddaa77591f5bf3b41932
Change-Id: I8848ccd1cb0589284a48ddaa77591f5bf3b41932
(cherry picked from commit a88c064842)
2022-12-07 18:15:44 +00:00
Weng Su
a88c064842 Check multiple security types for Wi-Fi NetworkRequest
- The WifiEntry already support multiple security types simultaneously from framework

- For backward compatibility, WifiEntry supports both getSecurity and getSecurityTypes methods

- However, the getSecurity method can only return one type of security, causing NetworkRequest to fail to match another type of security
  - WifiEntry:      getSecurity:WPA2   // getSecurityTypes:{WPA2, WPA3}
  - ReqeustNetwork: getSecurity:WPA3

- Need to use getSecurityTypes to check for matching WifiEntry

Bug: 205943818
Bug: 249713442
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=NetworkRequestDialogFragmentTest

Change-Id: I8848ccd1cb0589284a48ddaa77591f5bf3b41932
2022-12-07 20:09:28 +08:00
Weng Su
c5ec83f1bd Add minimum TLS version for Wi-Fi EAP network
- Remove "TLS v1.3" if device does not support it

Bug: 258372351
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiConfigController2Test

Change-Id: If7e41e8c404b4fbf92268afddd92bc6553e60576
2022-12-02 07:06:20 +08:00
Treehugger Robot
a7efff1ddb Merge "Only one channel is reserved for WifiP2pSettings" am: 4444a35bcf am: 71a123db03
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2309227

Change-Id: I5483d044093d711f6f521fc9cdd738dc9638c0fa
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-30 00:38:11 +00:00
Treehugger Robot
71a123db03 Merge "Only one channel is reserved for WifiP2pSettings" am: 4444a35bcf
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2309227

Change-Id: Ib9f5b095b2a69139ace91d319e9e649ac8948ed0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-30 00:09:36 +00:00
DingFei Song
42ee738f1b Only one channel is reserved for WifiP2pSettings
Every time we enter WifiP2pSettings, a channel will be created,
but we should keep only one channel if p2p connected.

Bug: 259364357

Change-Id: Ie3c1b1281d74332cd5df720fb13476097f3f5df9
Merged-In: I999b108bc3e3c22519398a55b503078c1069cef1
Signed-off-by: DingFei Song <v-dingfeisong@xiaomi.corp-partner.google.com>
2022-11-28 18:29:00 +00:00
Quang Luong
b6c2ed6759 Make P2P Settings channel static
P2P Settings creates a P2P channel but does not close the channel if
there is a P2P connection. This causes multiple channels to accumulate
if P2P Settings is repeatedly opened and closed. Making the channel
static will ensure that each time a new P2P Settings activity is
created, the existing open channel will be used.

Bug: 259364357
Test: build
Change-Id: I999b108bc3e3c22519398a55b503078c1069cef1
2022-11-23 17:57:58 +00:00
Treehugger Robot
dd5e46746c Merge "Make p2p start searching after turning off airplane mode." am: adb5c5025a am: 425521478a am: 1b70bcbdc4
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2267183

Change-Id: I23c0fa56c122e7406229fc80bbe49fcba7160861
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-16 19:59:31 +00:00
Treehugger Robot
1b70bcbdc4 Merge "Make p2p start searching after turning off airplane mode." am: adb5c5025a am: 425521478a
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2267183

Change-Id: I84c783493a82247653fdc60932a0383d0c74d61f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-16 09:40:56 +00:00
Treehugger Robot
425521478a Merge "Make p2p start searching after turning off airplane mode." am: adb5c5025a
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2267183

Change-Id: Idb18ef0319f4a36e49cc01f9d9fced1918d12096
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-16 09:08:59 +00:00
Yu
0aed038b0a Make p2p start searching after turning off airplane mode.
In the P2P page, p2p stops searching when airplane mode is turned on, and should start searching when airplane mode is turned off.

Bug: 255249207
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiP2pSettingsTest

Signed-off-by: Yu <zhangyu34@xiaomi.com>
Change-Id: I71d5eb6c3d8533417e8ae9ac09e7fac73983644e
2022-11-16 12:19:23 +08:00
TreeHugger Robot
8b23aa2c16 Merge "Disallow screenshot on Wi-Fi QR code settings" into tm-qpr-dev am: d2635580fb am: 34471a7160
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20309947

Change-Id: I27396019f31117f69f9088174ed52c6ce3526556
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-02 00:35:02 +00:00
TreeHugger Robot
34471a7160 Merge "Disallow screenshot on Wi-Fi QR code settings" into tm-qpr-dev am: d2635580fb
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20309947

Change-Id: Id9e378514d71beef1a4dcb9ab0c96053dabe254f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-02 00:03:28 +00:00
TreeHugger Robot
d2635580fb Merge "Disallow screenshot on Wi-Fi QR code settings" into tm-qpr-dev 2022-11-01 23:21:35 +00:00
TreeHugger Robot
bb17108f72 Merge "Remove "Hotspot" key from settings search if not needed" into tm-qpr-dev am: 58292e7058 am: 155beb0610
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20307409

Change-Id: I08bf5d2cdbd4a1e038af7c54468d39590f72e7c7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-31 09:27:40 +00:00
Weng Su
950837b20f Disallow screenshot on Wi-Fi QR code settings
- Add FLAG_SECURE to WifiDppConfiguratorActivity to avoid screenshot security issue

Bug: 249980936
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiDppConfiguratorActivityTest

Change-Id: I5e62c2584122f79127ab505e8491565e163de296
2022-10-31 08:59:40 +00:00
TreeHugger Robot
155beb0610 Merge "Remove "Hotspot" key from settings search if not needed" into tm-qpr-dev am: 58292e7058
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20307409

Change-Id: I87b186f17e8126638d5d09d6e9970b590d12ff6e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-31 08:51:31 +00:00
Weng Su
105937d90f Remove "Hotspot" key from settings search if not needed
- Remove "Hotspot" search key from TetherSettings

- Disable page search from WifiTetherSettings

Bug: 243876722
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=TetherSettingsTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherSettingsTest

Change-Id: Ie04027600663321b35d8309c59084f630103e959
2022-10-28 14:34:11 +08:00
TreeHugger Robot
dda18d1d8c Merge "Add config for Wi-Fi Hotspot Settings hidden" into tm-qpr-dev am: 87d2f6d3cb
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20244146

Change-Id: I7b3275ffad2af79bb81c3761b691ab793a61168a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-24 03:26:46 +00:00
Weng Su
f9b5e046a8 Add config for Wi-Fi Hotspot Settings hidden
- Add config_show_wifi_hotspot_settings for Settings customization

- Hide Wi-Fi Hotspot preference in Hotspot & tethering Settings

- Don't launch Wi-Fi Hotspot Settings (e.g long press on Hotspot in QS-tile)

Bug: 213426762
Test: manual test
atest -c com.android.settings.wifi.WifiUtilsTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherSettingsTest

Merged-In: I11f88d0d15d6d5c2766b64b5847ac31ed0f34c25
Change-Id: I11f88d0d15d6d5c2766b64b5847ac31ed0f34c25
(cherry picked from commit 160b5078ed)
2022-10-20 09:50:22 +00:00
Weng Su
160b5078ed Add config for Wi-Fi Hotspot Settings hidden
- Add config_show_wifi_hotspot_settings for Settings customization

- Hide Wi-Fi Hotspot preference in Hotspot & tethering Settings

- Don't launch Wi-Fi Hotspot Settings (e.g long press on Hotspot in QS-tile)

Bug: 213426762
Test: manual test
atest -c com.android.settings.wifi.WifiUtilsTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherSettingsTest

Change-Id: I11f88d0d15d6d5c2766b64b5847ac31ed0f34c25
2022-10-19 20:13:21 +08:00
TreeHugger Robot
981458c8ac Merge "Refine the check restriction function in WifiEntryPreference" 2022-10-14 07:44:21 +00:00
Wei Wang
fcd3c608bf Ignore all failing tests in Settings for now in order to unblock ATP V2
migration

Test: m RunSettingsRoboTests passed on desktop
Change-Id: I2450aaa083aabdf224e070f588441bb01206972b
Bug: 252671269
2022-10-13 17:29:36 +08:00
Weng Su
10ef69316f Refine the check restriction function in WifiEntryPreference
- Move checkRestrictionAndSetDisabled function from WifiEntryPreference to necessary child-classes to avoid impacting other child-classes such as SavedAccessPointsPreference.

- Avoid adding ShadowRestrictedPreference to the unnecessary test class.

Bug: 233871529
Test: manual test
make RunSettingsRoboTests

Change-Id: Ia2145401558b293b5f4eaa0860f83b7d3bbab548
2022-10-13 03:52:08 +08:00
Wei Wang
878ce96163 Fix tests broken by below CL:
platform/packages/apps/Settings/+/0fe65b582abde16c1b46cb314a8358752cef1658

Change-Id: Ie6b6b7ffca15476a05e363fc68d2fa4ba0693895
Test: m RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.wifi.p2p.WifiP2pSettingsTest.*"
Bug: 252671269
2022-10-12 05:54:34 +00:00