Before this change,
- eSIM will be erased twice, one with result callback and one without
result callback.
- During reset, ResetNetworkConfirm could interrupted by subscription
invalid event, which happens during reset.
After this change,
- eSIM will be erased only once, result callback is registered
separately.
- Explicit exit the page when reset finish, and ignore the subscription
invalid event after reset started.
Bug: 328293508
Flag: EXEMPT bug fix
Test: manual - dry run the reset
Test: ResetNetworkConfirmTest
Change-Id: I51395a556b1c8775192d5897a87f13046c042578
Allow devices to specify their own flags by overriding this class.
Additionally, fix a missing PackageManager lookup in getIntent().
Bug: 348647186
Test: launch Settings on Pixel and on AOSP
Change-Id: I2489a64804f068a957f9be3f87847d6911b24447
Also make it public. This should allow it to be detected appropriately
by the GMSCore permission registry machinery.
Bug; 346611867
Test: builds
Change-Id: I15aa99541f33124ab6aea284889351d86753fa56
The new option will only appear if (1) the flag is enabled and (2)
DeviceDiagnostics.apk is landed on the device (which it is by default on
AOSP).
Bug: 309886423
Test: Build AOSP Pixel and launch Settings
Change-Id: If01d231664a301ff289d4da61445bf65a7506fdb
This takses care to add an entry point in Settings->System->Reset
options->Delete private space when private space feature is supported on
the device. Entry point appears both when private space exists and also
when private is not created.
On selecting asks for user authentication and on successful
authentication using device lock shows a dialog asking for
confirmation and calls for deletion private space.
Based on this entrypoint it would not be possible to guess if private
space exists on the device.
Recording link : b/329041740#comment3
Bug: 329041740
Test: atest ResetOptionsDeletePrivateSpaceControllerTest and verified
this doesn't give away existence of private space
Change-Id: I9a5b908e7a3f9edaf609cf7e6a87f9842d689ce6
- It can improve performance because we use less injected item
- Also use RestrictedPreference instead just checking restrictions,
so we follow policy transparency.
Note: Renamed DevelopmentSettingsDashboardActivity to
DevelopmentSettingsActivity,
because DevelopmentSettingsDashboardActivity could in disabled state
even after Settings upgrades, use a new name to prevent this issue.
Bug: 311604902
Test: manual - turn on / off Developer Options
Test: unit test
Change-Id: I17be117ae59e59410687e6d08fd5edd034d0508f
Extract getSystemUpdateIntent, and add unit test.
Bug: 311110616
Test: manual - on "Software updates" page
Test: unit test
Change-Id: Ic7c06490d1d324705f547b2394794605e85485a4
Into Kotlin Coroutine for true async.
Bug: 300851543
Test: manual - on system page
Test: unit test
Change-Id: Ibec5c9d0934d71ed1a5808cadf3b3542eb3d5fa0
A security vulnerability was discovered by Android security. b/292548775 Within a short period of time after the device reboot, the user could enter the settings page and factory reset the device. Android Enterprise suggests to add DISALLOW_FACTORY_RESET user restriction to the device.
However, DISALLOW_FACTORY_RESET will be enabled on all Android users, including both the admin user and the demo user. The existing behavior in Android settings is that once the user restriction is set, factory reset button will be greyed out, which makes the factory reset functionality in demo user go away.
In demo user, the factory reset command will be forwarded to the current active device owner. So in this change, we separate the button for admin user and the button for demo user.
In demo user, the button is still visible when the restriction is set.
And in admin user, the button will be greyed out as expected.
Once this change is in, then Pixel Retail Demo could set the user restriction properly and rely on its internal logic to do factory reset. If other applications are trying to do the factory reset, it will be denied by OS.
BUG: 292548775
Change-Id: I9d2d47bb29bc2c1e05058b246908768cd2f95990
Code refactor to hide some UI entries, since there's a BluetoothWiFiPreferenceController
covers some of the work for device without SIM.
Bug: 259611847
Test: local & auto
Change-Id: Ia221663e180c8dabed2a25a927643c992ef8ac89
Use Build.VERSION.RELEASE_OR_PREVIEW_DISPLAY which will show a user
friendly version name for preview releases, and the release version
for final releases.
Bug: 221950960
Test: manual
Change-Id: I3a7e6a3c996d52614b89888afd35da8cff458b43
Over the last few years, there have been a number of
Factory Reset Protection bypass bugs in the SUW flow.
It's unlikely to defense all points from individual apps.
Therefore, we decide to block some critical pages when
user doesn't complete the SUW flow.
Test: Can't open the certain pages in the suw flow.
Fix: 200746457
Bug: 202975040
Fix: 213091525
Fix: 213090835
Fix: 201561699
Fix: 213090827
Fix: 213090875
Change-Id: Ia18f367109df5af7da0a5acad7702898a459d32e
Revert submission 15552651-cherrypick-automatic-system-update-n9jr24y6ba
Reason for revert: Legal team decided to have this entry in GMS, so we can move this setting item back.
Reverted Changes:
Iaea3e11d9:Move Automatic System Updates from Developer Optio...
I077607a6a:Move Automatic System Updates from Developer Optio...
Change-Id: If000388f2dd0f9e3e06a29dcbdd362181d1bfd47
Bug: 196297425
- Move the preference to the system xml file.
- DisableAutomaticUpdatesPreferenceController should not
inherit from the developer preference controller now since it's not used
in developer page anymore. Instead, just use toggle preference
controller for changing the state.
- Rewrite the test cases based on new controller.
Test: The ui works well and search can navigate to correct path.
Fix: 196001125
Change-Id: Iaea3e11d9cdbfa073ebd41bc3c84356d564c7e71
After applying a collapsing toolbar in the Settings app, the factory
reset screen is not displayed correctly. This is because
1) the factory reset page should not essentially have a toolbar since it
has different UI layout form other pages.
2) this page was launched previously as a SubSettings so it applied a
wrong theme.
This change is mainly updating the inheritence structure and specifying
the right theme for the factory reset page in order to have a correct
layout.
Bug: 179457252
Test: robotests and visual verified
Change-Id: I91aec65a120d5a288507d89ace7c9298acdca42b
This is an upstreaming change of http://ag/8541963 and
http://ag/10296201 to hide some items from settings search.
This CL also adds javadoc to some settings classes to fix pre-upload
warnings.
Bug: 153704887
Test: Manual. In ARC build, "bluetooth" and "accessibility" no longer shows related settings.
Change-Id: Ic3e9217944251adbea1bdd67baf66d3a9e89583a
The public platform version no longer can be a codename, it is
always the most recently released platform. A new build property
and API provides either the offical version or the current codename
as appropriate. This will avoid breaking apps that look at the
platform version while development is under a codename.
Bug: 143175463
Test: manual
Exempt-From-Owner-Approval: Previously approved, no new changes.
Change-Id: Ifb6f6236aab2c40fd51abb9c6587eafcc8983857
we shouldn't take users so deep into the settings IA because it's easy
to feel lost in settings after clicking on a result without additional
context.
Bug: 143055215
Test: robotest & manual
Change-Id: I337cb5ead31e1e4e7bf9be78132e90630f83ee43
- Update summary when user does not have permission to reset network or factory reset
Fixes: 126295214
Test: rototest & manual
Change-Id: I710f0abcd3df1560eb3e7bc53a7427d7a6a5aad7
Reason for revert: This causes a boot issue on Taimen (b/144480969). It wasn't caught by TreeHugger due to Taimen tests being disabled due to a different lab outage (b/144350336).
Change-Id: I490dc6c933c08c3c83b962786df11bd2da66b28a
The public platform version no longer can be a codename, it is
always the most recently released platform. A new build property
and API provides either the offical version or the current codename
as appropriate. This will avoid breaking apps that look at the
platform version while development is under a codename.
Bug: 143175463
Test: manual
Change-Id: I711ca20c4c8ce389697e940696051a336f5fd808
- Use SettingsLib Indexable
- Directly use resource id in getPreferenceScreenResId
Bug: 135053028
Test: roboletric
Change-Id: I05f493b55e8b6e2091301e9231ba5615215618e6
- Add function getXmlResourceId, Fragments don't need to write
xml resource id twice.
- Remove getPreferenceControllers from Indexable.java. Because it will
move to SettingsLib later for other apps which don't need this function
Bug: 135053028
Test: robolectric
Change-Id: I1e74519aecdea3dde64a5aea79f08d766dbc0003
Add flag to allow KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING
intent. This is needed
as the receiver service is modified to use
latest target version SDK which introduces Background
broadcast limitations.
Bug: 78634470
Test: On Device, verified that the intents are
received by the service
Change-Id: I140c1988b241885a737413bd5f0b9c3cc63c4ea8
Having consistent import order will reduce chance of merge
conflict between internal and external master
Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
When possible, remove or simplify getNonIndexable() logic in fragments,
and use searchable="false" in xml to suppress index.
Change-Id: I5bdf5bc7d5494a64cdd9e230a51321a4b210af69
Fixes: 112608186
Test: robotest and manual search
Now we can easily mark a preference nonIndexable in xml instead of
adding key into searchIndexProvider.
Bug: 112608186
Test: robotests
Change-Id: I0ff16d44bb7b6ad148d3d35f09ca0da0163f73f4
This patch focused on fixing compile errors and some runtime errors.
Test: We can't test it now. But we will have an integration test later.
Bug: 110259478
Change-Id: I16c471ddcd0fa1460c665b7f74d86fcace5ee67b
Distinguish between settings which are permanently unavailable on
the device, and temporarily unavailable. This enables us to restrict
which setting slices are exposed in onSliceGetDescendants.
The primary changes in this CL are renaming:
"DISABLED_UNSUPPORTED" -> "UNSUPPORTED_ON_DEVICE"
to be more clear the the setting will cannot be accessed on the device, and,
adding a new enum to encapsulate settings which are currently unavailable, but
could be enabled in the future.
Also remove UNAVAILABLE_UNKNOWN. Devs should never need this enum.
Bug: 78910582
Bug: 79245656
Test: robotests
Change-Id: I58821a6cfd6134b3b351657b6edf5f74ead00643