Commit Graph

218 Commits

Author SHA1 Message Date
Chiachang Wang
e428b25ea0 Merge "Populate ipsecSecret field in VpnProfile" am: 4c5334809d am: 4770d017dc am: cd33a0fa88
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2530499

Change-Id: I24723fadb4e89560ddb96da8149dc6dfa4e6ce6b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-13 10:25:09 +00:00
chiachangwang
02156d600d Populate ipsecSecret field in VpnProfile
This commit fixes IKEv2 RSA VPN could not be an always-on VPN
issue to populate ipsecSecret field from "IPsec user certificate".

Fields ipsecUserCert and ipsecSecret are required for a valid
VpnProfile. The ipsecSecret field in VpnProfile should be
populated from "IPsec user certificate" field. It's the matching
private key.

Bug: 263610164
Bug: 230727391
Test: Verify if IKEv2 RSA VPN can setup successfully and set as
      as always on VPN
Change-Id: I605b35fff9e399ee7b82d8441137984992ab2907
2023-04-13 07:47:53 +00:00
Bonian Chen
61c45064cd [Settings] Limit height of TextView when text too long
Adjust the layout through having ConstraintLayout for limiting the
height of TextView.

Bug: 205460459
Test: local

Change-Id: Ic15af4c9be393a6855d78a5d9af086b099c9b689
2023-01-10 07:36:21 +00:00
Treehugger Robot
9040efdccc Merge "Fix errorprone warnings that should be errors" am: 5744d7c560 am: 7094507528 am: 778ef161bb
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2255054

Change-Id: I1f3cbce7d5de6e63477bc2da2ad115ec53b06472
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-01 00:02:10 +00:00
Treehugger Robot
778ef161bb Merge "Fix errorprone warnings that should be errors" am: 5744d7c560 am: 7094507528
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2255054

Change-Id: I369fd8dc4e2cec46ffd4e61a32e7e55cb11b41a8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-31 23:24:11 +00:00
Treehugger Robot
7094507528 Merge "Fix errorprone warnings that should be errors" am: 5744d7c560
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2255054

Change-Id: I65ce6c4fdedd32ff6feb4b5e210b508aafc4e589
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-31 22:57:02 +00:00
Cole Faust
43ff89802c Fix errorprone warnings that should be errors
This commit is part of a large scale change to fix errorprone
errors that have been downgraded to warnings in the android
source tree, so that they can be promoted to errors again.
The full list of changes include the following, but not all
will be present in any one individual commit:

BadAnnotationImplementation
BadShiftAmount
BanJNDI
BoxedPrimitiveEquality
ComparableType
ComplexBooleanConstant
CollectionToArraySafeParameter
ConditionalExpressionNumericPromotion
DangerousLiteralNull
DoubleBraceInitialization
DurationFrom
DurationTemporalUnit
EmptyTopLevelDeclaration
EqualsNull
EqualsReference
FormatString
FromTemporalAccessor
GetClassOnAnnotation
GetClassOnClass
HashtableContains
IdentityBinaryExpression
IdentityHashMapBoxing
InstantTemporalUnit
InvalidTimeZoneID
InvalidZoneId
IsInstanceIncompatibleType
JUnitParameterMethodNotFound
LockOnBoxedPrimitive
MathRoundIntLong
MislabeledAndroidString
MisusedDayOfYear
MissingSuperCall
MisusedWeekYear
ModifyingCollectionWithItself
NoCanIgnoreReturnValueOnClasses
NonRuntimeAnnotation
NullableOnContainingClass
NullTernary
OverridesJavaxInjectableMethod
ParcelableCreator
PeriodFrom
PreconditionsInvalidPlaceholder
ProtoBuilderReturnValueIgnored
ProtoFieldNullComparison
RandomModInteger
RectIntersectReturnValueIgnored
ReturnValueIgnored
SelfAssignment
SelfComparison
SelfEquals
SizeGreaterThanOrEqualsZero
StringBuilderInitWithChar
TreeToString
TryFailThrowable
UnnecessaryCheckNotNull
UnusedCollectionModifiedInPlace
XorPower

See https://errorprone.info/bugpatterns for more
information on the checks.

Bug: 253827323
Test: m RUN_ERROR_PRONE=true javac-check
Change-Id: I29f691a22617b1fc834680ff1cf4ab4244203f06
2022-10-23 12:41:39 -07:00
Treehugger Robot
772c437de4 Merge "Fix crash when input illegal proxy port number" am: e8160af796 am: 6372ae5e93 am: ab0dc7b129
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2255620

Change-Id: Ia9db49f176a65bb2d512cd7e0694284f03414a82
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-18 21:43:26 +00:00
Treehugger Robot
ab0dc7b129 Merge "Fix crash when input illegal proxy port number" am: e8160af796 am: 6372ae5e93
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2255620

Change-Id: Ida3089a2375e04b653058b380c2fd9f1f56a9fcd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-18 21:10:26 +00:00
Treehugger Robot
6372ae5e93 Merge "Fix crash when input illegal proxy port number" am: e8160af796
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2255620

Change-Id: Idc35fa976db5cfde013ec9c32191869e84c7801f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-18 20:42:36 +00:00
Shen Lin
a911e61ce7 Fix crash when input illegal proxy port number
Bug: 253951250
Test: manual and atest
Change-Id: I80d2f0e3ce2df86a081b29d8633e06cfc648baeb
2022-10-18 09:18:57 +08:00
Hugh Chen
f891f7ba86 RESTRICT AUTOMERGE Refactoring settings UI
Bug: 248174653
Test: build & boot pass
Change-Id: I124a65941349d3338145865cae2c8354678897fa
2022-10-11 04:30:09 +00:00
Robert Luo
36d320a8de Allow advanced VPN to manage connection status via its UI
Bug: 238641532
Test: atest -c VpnSettingsTest
Change-Id: Ia6f1d84bba38bab7f13f46dc8a4fdb4eb0505f8f
Merged-In: Ia6f1d84bba38bab7f13f46dc8a4fdb4eb0505f8f
2022-08-12 05:47:44 +08:00
Hugh Chen
1311019b9a RESTRICT AUTOMERGE Let advanced VPN profile visible immediately before the user consent to use VPN feature
- This CL will check whether advanced VPN apk is exist or not,
  and if so then show the preference of advanced VPN in the
  "Settings > Network & internet > VPN".

Bug: 239984274
Test: atest -c VpnSettingsTest
Change-Id: I8c11c7f2079d6ebec6c691b8bf2fb26dfc450663
2022-08-11 23:33:30 +08:00
Robert Luo
061a87fe1f Allow advanced VPN to manage connection status via its UI
Bug: 238641532
Test: atest -c VpnSettingsTest
Change-Id: Ia6f1d84bba38bab7f13f46dc8a4fdb4eb0505f8f
2022-07-29 18:31:13 +08:00
Hugh Chen
5cf2b7ff1f Refactor the condition order
Bug: 239984274
Test: atest -c VpnSettingsTest
Change-Id: Ic9e8c775b044fffd5dec5047fb53d75209418d85
2022-07-29 02:45:12 +00:00
Hugh Chen
f03cbcf83b Let advanced VPN profile visible immediately before the user consent to use VPN feature
- This CL will check whether advanced VPN apk is exist or not,
  and if so then show the preference of advanced VPN in the
  "Settings > Network & internet > VPN".

Bug: 239984274
Test: atest -c VpnSettingsTest
Change-Id: I8c11c7f2079d6ebec6c691b8bf2fb26dfc450663
2022-07-28 09:48:18 +00:00
Hugh Chen
f5166f46e8 RESTRICT AUTOMERGE Make VPN by Google One always appear in VPN settings
Bug: 233559781
Test: manually test
Change-Id: I175ab126ff92f773ab25a1fa64e4262b324fd353
2022-06-06 07:09:06 +00:00
Hugh Chen
858e6ff3d5 RESTRICT AUTOMERGE Implement advanced vpn ui in vpn settings
Bug: 220684478
Test: atest -c VpnSettingsTest

Change-Id: If89de16d02cb8b1f387b8f388f8fcf82ad39066b
2022-06-06 06:37:26 +00:00
TreeHugger Robot
81618d155e Merge "Add owner to the vpn folder" 2022-05-25 06:45:08 +00:00
Hugh Chen
50897cb960 Add owner to the vpn folder
Bug: 233559781
Test: manually test
Change-Id: Id4bb1ba5dc857d8c5835fabaac059c65ee0552b6
2022-05-25 03:33:45 +00:00
Hugh Chen
75b75d446c Make VPN by Google One always appear in VPN settings
Bug: 233559781
Test: manually test
Change-Id: I175ab126ff92f773ab25a1fa64e4262b324fd353
2022-05-24 10:09:19 +00:00
Hugh Chen
cf210dd00b Implement advanced vpn ui in vpn settings
Bug: 220684478
Test: atest -c VpnSettingsTest

Change-Id: If89de16d02cb8b1f387b8f388f8fcf82ad39066b
2022-04-25 07:59:13 +00:00
Bonian Chen
14e76c3233 [Settings] Move display of VPN version into summary text
Move the display of version text within VPN into summary part of the
display, and limit the height of summary area.

Bug: 205460459
Test: local
Change-Id: I666b9db356feeebf04e3be688897c2d9110a5275
(cherry picked from commit 144f295d7a)
2021-11-26 05:53:46 +00:00
Bonian Chen
144f295d7a [Settings] Move display of VPN version into summary text
Move the display of version text within VPN into summary part of the
display, and limit the height of summary area.

Bug: 205460459
Test: local
Change-Id: I666b9db356feeebf04e3be688897c2d9110a5275
2021-11-25 10:57:57 +08:00
Jeremy Goldman
c525183a40 Deprecation of legacy VPN types no longer depends on the Provider Model
Flag

Bug: 204522922
Test: atest -c SettingsUnitTests
Change-Id: If43978a7536e269e2b1130a260fcedb7af6bc363
2021-11-12 11:25:27 +08:00
Jeremy Goldman
ab1b2be739 Deprecation of legacy VPN types no longer depends on the Provider Model
Flag

Bug: 204522922
Test: atest -c SettingsUnitTests
Change-Id: If14354f4c1b5cb1ef74fc8b94b028006ac1a99b3
2021-11-12 11:13:15 +08:00
Jeremy Goldman
da602e196e Merge "Set summary if VPN is AlwaysOn Type" into sc-dev 2021-05-05 01:06:01 +00:00
Jeremy Goldman
cf8ac147b0 Set summary if VPN is AlwaysOn Type
Bug: 187124456
Test: atest -c SettingsUnitTests
Change-Id: I64158b90921c5766e26d5e438b1d005d5fe9cbaa
2021-05-04 16:32:54 +08:00
Jeremy Goldman
5be88d11de Remove the "+" button on the help menu if no secure vpns can be created
If the provider model is turned on, all new VPNs must have the secure
type. However, there is a system property which is necessary in order to
create secure VPNs. So if the FEATURE_IPSEC_TUNNELS is missing from the
device then we should not enable new 1st party VPNs.

Note, it has been confirmed with the VPN team that we don't expect any
devices released on S to actually be missing this property, but it's
still good to check just in case.

Bug: 176821216
Test: atest -c SettingsUnitTest
Change-Id: I712d342e1970243520612196ba57227b1ff05bbf
2021-04-19 16:47:46 +08:00
Jeremy Goldman
abc82d2606 If the proider model is enabled, the User cannot create insecure VPNs
Additionally, existing secure vpns cannot have their type changed to an
insecure type.
Existing insecure VPNs can be edited, but once the type is changed to a
secure type, it cannot be set to an insecure type again.

Note that devices without FEATURE_IPSEC_TUNNELS still have the ability
to make insecure VPNs at the moment. What to do about these devices will
be addressed in a future change.

Recall video with this Change: https://recall.googleplex.com/projects/a801b0cf-91a5-414e-973b-3c1c8fb5e7be/sessions/bc54e4f2-0205-4822-a51a-382e54f3a956

Test: atest -c SettingsUnitTests
Bug: 176821216
Change-Id: Icf87419650c934a783b01f4d2907b7f704d139b8
2021-04-16 13:11:31 +08:00
Janis Danisevskis
cb79648ab1 Fix nit from ag/13715126
Test: N/A
Bug: 171305607
Bug: 171305388
Change-Id: I3e674387522bbacdbe0df70746b521b059819007
2021-04-12 09:42:28 -07:00
Jeremy Goldman
88ee31e269 Maintain VPN type form the VpnProfile
the connectedLegacyVpn may already exist within the VpnProfiles. Because
the stub profile generated from the LegacyVpnInfo does not contain type
information, overriding whether the VPN is insecure using this
information will provide an incomplete picture.

Test: atest -c SettingsUnitTests
Bug: 184922172
Change-Id: Icf2e08826c444863eaebdaa47bfd217795d2bad6
2021-04-12 15:37:19 +08:00
Jeremy Goldman
d62b2c23cf Update string associated with Connected, Always On or Insecure VPNs
Previously these strings were separated with a comma, but the new design
is to separate them with a "/" and to not include always-on information
if the vpn is also insecure.

Comment thread on the strings doc: https://docs.google.com/document/d/1hjaYuGmvNzCKPOrmjixpmLLXBV8cbxgrZ3eN4KvC4E8/edit?resourcekey=0-zo7B2GVc9luQTut0o8THNA&hl=zh-TW&forcehl=1&disco=AAAAIF3eiQY
screenshot: https://screenshot.googleplex.com/BmBroUZtmUPJz9s
Test: atest -c SettingsUnitTests
Bug: 176821216

Change-Id: Ib9c273de61c9722b0beb6fba127e7481e6c64705
2021-04-07 17:04:13 +08:00
Pavel Grafov
69022ccc3a Merge "Prevent disconnecting admin-configured VPN" into rvc-qpr-dev-plus-aosp am: efab095931
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14051306

Change-Id: Iaa80f44026f969706701bfc6a4aa4317b1a8acf2
2021-04-01 14:24:46 +00:00
Pavel Grafov
efab095931 Merge "Prevent disconnecting admin-configured VPN" into rvc-qpr-dev-plus-aosp 2021-04-01 13:49:32 +00:00
Pavel Grafov
16d588c11a Prevent disconnecting admin-configured VPN
First, if the VPN is configured by an admin, the preference is
disabled and tapping on it will results in a policy disclouser
dialog.
In addition restriction checks in the dialog also check if the
VPN is admin-configured.

Bug: 179975048
Test: Manual, setting VPN in profile and primary user and via DPM API.
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.vpn2
Change-Id: Id59d2ac2782e83601bc3093d3a092faea36ff5d9
2021-03-31 15:20:11 +00:00
Bonian Chen
d6f54ed90b Revert "[Settings] Convert to getSystemService(Class<T>)"
Revert submission 1645152-getSystemService(Class<T>)

Reason for revert: Fix JUnit test failure
Reverted Changes:
I1b4812044:[Settings] Convert to getSystemService(Class<T>)
I278951c24:[Settings] Support getSystemService(Class<T>)

Change-Id: I864a40f82ba9cb4170900ac0c1d77f781b17341f
2021-03-31 09:37:03 +00:00
Bonian Chen
fecfb7f5e4 Merge "Revert "[Settings] Support getSystemService(Class<T>)"" into sc-dev 2021-03-30 05:31:52 +00:00
Bonian Chen
234b698fb2 Revert "[Settings] Support getSystemService(Class<T>)"
This reverts commit d5ccde31a8.

Reason for revert: failure on test cases

Change-Id: I0a179a6ebb5ef1dec566ce6e8facd5f3b82d7c8a
2021-03-30 00:51:15 +00:00
Jeremy Goldman
025301da1f Merge "Connect VPN warning help icon with the network & internet page." into sc-dev 2021-03-24 05:18:46 +00:00
Bonian Chen
8debbfa8a4 Merge "[Settings] Support getSystemService(Class<T>)" into sc-dev 2021-03-24 04:13:35 +00:00
Jeremy Goldman
76de845f3d Connect VPN warning help icon with the network & internet page.
New VpnInfoPreference created to control the presence or absence
of the warning icon based on the vpn type.

The VpnPreferenceController type casts the preference based on
whether the provider model is enabled. It also detects legacy vpns
by using the LegacyVpnProfileStore, and comparing VPN profile
usernames with the active VPN config's user.

Screenshot: https://screenshot.googleplex.com/AfGrH8wRusTvbf4
Test: atest -c SettingsUnitTests
Bug: Bug: 176821216
Change-Id: I1aa93be5b90b404d9d9cb9bf47ea76fdc9aad401
Merged-In: I1aa93be5b90b404d9d9cb9bf47ea76fdc9aad401
(cherry picked from commit 7a68eb3b5e)
2021-03-24 01:07:28 +00:00
Jeremy Goldman
bd9a65cca6 Merge "Gear Preference on VPN page includes subtitle if the vpn is an insecure type" into sc-dev 2021-03-24 01:01:07 +00:00
Bonian Chen
d5ccde31a8 [Settings] Support getSystemService(Class<T>)
Add getSystemService(Class<T>) to align the capability with framework
part.

This is a back port from aosp/1639943, aosp/1645152 and aosp/1648047

Bug: 179640862
Test: local
Change-Id: I035db55a71f94000ca35f8d71f03c19208423c73
2021-03-24 00:59:46 +08:00
Jeremy Goldman
ab8eeca966 Gear Preference on VPN page includes subtitle if the vpn is an insecure
type

Test: atest SettingsUnitTests
Screenshot: https://screenshot.googleplex.com/BWfUf6hcHNnbLvH
Bug: 176821216
Change-Id: I2bee3ba100bfe636221264492a2ce98b6a664cd5
Merged-In: I2bee3ba100bfe636221264492a2ce98b6a664cd5
(cherry picked from commit 3922249709)
2021-03-23 08:38:12 +00:00
Jeremy Goldman
222dd91102 Legacy VPN Configuration Dialog includes error message if VPN is an
insecure type.

Screenshot: https://screenshot.googleplex.com/53pAJuhTDLJW4Em
Bug: 176821216
Test: atest SettingsUnitTests

Change-Id: I528d46654a39df04b647d6d0137aaf80e7adb05c
Merged-In: I528d46654a39df04b647d6d0137aaf80e7adb05c
(cherry picked from commit 5d92ad5232)
2021-03-23 08:37:11 +00:00
Bonian Chen
db6c47756d [Settings] Convert to getSystemService(Class<T>)
Change to getSystemService(Class<T>) to align the capability with framework
part.

Bug: 179640862
Test: local
Change-Id: I1b4812044fc4876bec6645570049a60f9470dbbd
2021-03-22 06:20:19 +00:00
Jeremy Goldman
19c5d0a749 Merge "Add goldmanj to the Settings' vpn2 directory Owners file" 2021-03-19 06:15:40 +00:00
Chiachang Wang
eb16ebd14a Replace the hidden ProxyInfo methods usage
The hidden ProxyInfo methods usage should be replaced because
ProxyInfo is moving to connectivity mainline module. Setting
will not be able to access it. Replace the usage with
corresponding APIs.

Bug: 172183305
Test: make RunSettingsRoboTests ROBOTEST_FILTER=\
      com.android.settings.wifi.WifiConfigControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=\
      com.android.settings.wifi.WifiConfigController2Test
Test: manually update proxy from setting and check the result
Change-Id: I59192d0d5d38c833eb83cc930e358a738ebe3d13
2021-03-17 12:47:22 +00:00